aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2007-01-17 09:00:10 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2007-01-17 09:00:10 +0000
commit4a20cd20aa99cc992ddc62efda5190e466a35bd8 (patch)
treefcefa7ccc85fedf1bec8c67b34993661631adbf1
parent671896794c4abc682d83ef12e234fcc6d6674393 (diff)
parent71e0493ec34652c8b7c6f27d04b1242555098cc5 (diff)
downloadopenembedded-4a20cd20aa99cc992ddc62efda5190e466a35bd8.tar.gz
merge of '56368bd13ebb2eecceebd2e051d54931d8f23fb5'
and '8eaeb06cbe6a816971913efe68047e23396bf447'
-rw-r--r--packages/e17/e-wm_0.16.999.037.bb (renamed from packages/e17/e-wm_0.16.999.036.bb)0
-rw-r--r--packages/e17/entrance/Sessions/Enlightenment3
-rw-r--r--packages/e17/entrance_0.9.0.007.bb4
-rw-r--r--packages/efl/ecore-fb_0.9.9.037.bb (renamed from packages/efl/ecore-fb_0.9.9.036.bb)0
-rw-r--r--packages/efl/ecore-native_0.9.9.037.bb (renamed from packages/efl/ecore-native_0.9.9.036.bb)0
-rw-r--r--packages/efl/ecore-x11_0.9.9.037.bb (renamed from packages/efl/ecore-x11_0.9.9.036.bb)0
-rw-r--r--packages/efl/ecore.inc2
-rw-r--r--packages/efl/ecore/fix-tslib-configure.patch24
-rw-r--r--packages/efl/edb-native/.mtn2git_empty (renamed from packages/h2200-bootloader/.mtn2git_empty)0
-rw-r--r--packages/efl/edb-native/no-gtk-forkbomb.patch12
-rw-r--r--packages/efl/edb-native_1.0.5.007.bb2
-rw-r--r--packages/efl/edb_1.0.5.007.bb1
-rw-r--r--packages/efl/edje-native_0.5.0.037.bb (renamed from packages/efl/edje-native_0.5.0.036.bb)0
-rw-r--r--packages/efl/edje-utils_0.5.0.037.bb (renamed from packages/efl/edje-utils_0.5.0.036.bb)0
-rw-r--r--packages/efl/edje_0.5.0.037.bb (renamed from packages/efl/edje_0.5.0.036.bb)0
-rw-r--r--packages/efl/eet-native_0.9.10.037.bb (renamed from packages/efl/eet-native_0.9.10.036.bb)0
-rw-r--r--packages/efl/eet_0.9.10.037.bb (renamed from packages/efl/eet_0.9.10.036.bb)0
-rw-r--r--packages/efl/embryo-native_0.9.1.037.bb (renamed from packages/efl/embryo-native_0.9.1.036.bb)0
-rw-r--r--packages/efl/embryo-utils_0.9.1.037.bb (renamed from packages/efl/embryo-utils_0.9.1.036.bb)0
-rw-r--r--packages/efl/embryo_0.9.1.037.bb (renamed from packages/efl/embryo_0.9.1.036.bb)0
-rw-r--r--packages/efl/evas-fb_0.9.9.037.bb (renamed from packages/efl/evas-fb_0.9.9.036.bb)0
-rw-r--r--packages/efl/evas-native_0.9.9.037.bb (renamed from packages/efl/evas-native_0.9.9.036.bb)0
-rw-r--r--packages/efl/evas-x11_0.9.9.037.bb (renamed from packages/efl/evas-x11_0.9.9.036.bb)0
-rw-r--r--packages/efl/evas/fix-configure.patch19
-rw-r--r--packages/h2200-bootloader/h2200-bootloader.bb10
-rw-r--r--packages/hvsc/.mtn2git_empty0
-rw-r--r--packages/hvsc/hvsc_5.8.bb16
-rw-r--r--packages/ixp425-eth/files/.mtn2git_empty0
-rw-r--r--packages/ixp425-eth/files/2.6.13.patch41
-rw-r--r--packages/ixp425-eth/files/2.6.14.patch28
-rw-r--r--packages/ixp425-eth/files/ethhdr.patch25
-rw-r--r--packages/ixp425-eth/files/intdriven.patch98
-rw-r--r--packages/ixp425-eth/files/makefile.patch18
-rw-r--r--packages/ixp425-eth/files/mm4.patch19
-rw-r--r--packages/ixp425-eth/files/pollcontroller.patch50
-rw-r--r--packages/ixp425-eth/ixp425-eth_1.1.bb45
-rw-r--r--packages/ixp4xx/.mtn2git_empty0
-rw-r--r--packages/ixp4xx/ixp4xx-csr/.mtn2git_empty0
-rw-r--r--packages/ixp4xx/ixp4xx-csr/badpaths.patch18
-rw-r--r--packages/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch10
-rw-r--r--packages/ixp4xx/ixp4xx-csr_1.4.bb51
-rw-r--r--packages/libxml/libxml2-native_2.6.9.bb16
-rw-r--r--packages/linux-uml/.mtn2git_empty0
-rw-r--r--packages/linux-uml/files/.mtn2git_empty0
-rw-r--r--packages/linux-uml/files/fix-arg-max.patch16
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/.mtn2git_empty0
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-215
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch127
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch11
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/10-flock.patch33
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch21
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/12-hostfs.patch109
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch11
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/aio_abi.h92
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/defconfig430
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/disable-aio-check.patch20
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/fix-includes.patch26
-rw-r--r--packages/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch110
-rw-r--r--packages/linux-uml/linux-uml-2.6.11-rc2-mm1/.mtn2git_empty0
-rw-r--r--packages/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch26
-rw-r--r--packages/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig548
-rw-r--r--packages/linux-uml/linux-uml_2.4.26.bb43
-rw-r--r--packages/linux-uml/linux-uml_2.6.11-rc2-mm1.bb58
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/.mtn2git_empty0
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/1764-1.patch16
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/apm_arrowkey.patch32
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluecard_cs.patch11
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluetooth-2.4.18-mh15.patch32759
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bt950_cs.patch1174
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/buffered-fbmem.patch19
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/compile.patch14
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-default-brightness.patch16
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-fbcon-logo.patch281
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle1158
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle2551158
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa1379
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/deviceinfo.patch26
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/disable-pcmcia-probe.patch17
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/dumb-hack-for-wlan-ng.patch16
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch61
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/fix_tosa_apm.patch72
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/idecs.patch77
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/initsh.patch14
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keyboard-ctrl+alt.patch79
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keymap-more-sane.patch23
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/logo.patch2598
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/mkdep.patch16
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/module_licence.patch96
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch75444
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch346
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/smallfonts.diff2453
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/swap-performance.patch19
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa-power-key-off.patch144
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_map.patch889
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_ts.patch207
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/unb0rk-apm.patch102
-rw-r--r--packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/usb-storage.patch3433
-rw-r--r--packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.bb2
-rw-r--r--packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc118
-rw-r--r--packages/linux/poodle-kernel-2.4-embedix.bb4
-rw-r--r--packages/linux/poodle-kernels-2.4-embedix.bb1
-rw-r--r--packages/linux/poodle255-kernel-2.4-embedix.bb4
102 files changed, 57 insertions, 126429 deletions
diff --git a/packages/e17/e-wm_0.16.999.036.bb b/packages/e17/e-wm_0.16.999.037.bb
index bbc4a3ba97..bbc4a3ba97 100644
--- a/packages/e17/e-wm_0.16.999.036.bb
+++ b/packages/e17/e-wm_0.16.999.037.bb
diff --git a/packages/e17/entrance/Sessions/Enlightenment b/packages/e17/entrance/Sessions/Enlightenment
index 4d33bbb2e9..61498c2c6c 100644
--- a/packages/e17/entrance/Sessions/Enlightenment
+++ b/packages/e17/entrance/Sessions/Enlightenment
@@ -1,4 +1,3 @@
#!/bin/sh
-enlightenment
-
+enlightenment_start
diff --git a/packages/e17/entrance_0.9.0.007.bb b/packages/e17/entrance_0.9.0.007.bb
index eb999a1a08..5cacf9a4bf 100644
--- a/packages/e17/entrance_0.9.0.007.bb
+++ b/packages/e17/entrance_0.9.0.007.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "Entrance is the Enlightenment login manager"
LICENSE = "MIT"
# can also use pam and crypt
-DEPENDS = "edb edb-native evas-x11 ecore-x11 edje esmart-x11 bash keylaunch detect-stylus xserver-common"
+DEPENDS = "evas-x11 ecore-x11 edje esmart-x11 bash keylaunch detect-stylus xserver-common"
RDEPENDS += "bash keylaunch detect-stylus xserver-common glibc-gconv-iso8859-1 entrance-themes"
HOMEPAGE = "http://www.enlightenment.org"
-PR = "r13"
+PR = "r14"
inherit e update-rc.d
diff --git a/packages/efl/ecore-fb_0.9.9.036.bb b/packages/efl/ecore-fb_0.9.9.037.bb
index 96996721ed..96996721ed 100644
--- a/packages/efl/ecore-fb_0.9.9.036.bb
+++ b/packages/efl/ecore-fb_0.9.9.037.bb
diff --git a/packages/efl/ecore-native_0.9.9.036.bb b/packages/efl/ecore-native_0.9.9.037.bb
index 299470841c..299470841c 100644
--- a/packages/efl/ecore-native_0.9.9.036.bb
+++ b/packages/efl/ecore-native_0.9.9.037.bb
diff --git a/packages/efl/ecore-x11_0.9.9.036.bb b/packages/efl/ecore-x11_0.9.9.037.bb
index b9a55660e7..b9a55660e7 100644
--- a/packages/efl/ecore-x11_0.9.9.036.bb
+++ b/packages/efl/ecore-x11_0.9.9.037.bb
diff --git a/packages/efl/ecore.inc b/packages/efl/ecore.inc
index cea3114dc7..51f637306b 100644
--- a/packages/efl/ecore.inc
+++ b/packages/efl/ecore.inc
@@ -3,7 +3,7 @@ foundation libraries. It makes makes doing selections, drag and drop, event loop
timeouts and idle handlers fast, optimized, and convenient."
LEAD_SONAME = "libecore.so"
LICENSE = "MIT"
-# can also have openssl, dbus
+# can also have openssl, dbus, iconv
DEPENDS += "virtual/evas curl eet"
PROVIDES += "virtual/ecore"
diff --git a/packages/efl/ecore/fix-tslib-configure.patch b/packages/efl/ecore/fix-tslib-configure.patch
index 5a23f904dc..2c82b2741e 100644
--- a/packages/efl/ecore/fix-tslib-configure.patch
+++ b/packages/efl/ecore/fix-tslib-configure.patch
@@ -1,12 +1,12 @@
-diff -Nur ecore-0.9.9.015~/configure.in ecore-0.9.9.015/configure.in
---- ecore-0.9.9.015~/configure.in 2005-09-27 17:22:38.000000000 -0700
-+++ ecore-0.9.9.015/configure.in 2005-09-27 17:23:40.000000000 -0700
-@@ -103,7 +102,7 @@
- tslib_libs=""
- AC_CHECK_HEADER(tslib.h,
- [
-- tslib_libs="-ltslib"
-+ tslib_libs="-lts"
- AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_X Module])
- ],[
- AC_MSG_RESULT("No tslib header found. No tslib support being built")
+diff -Nur ecore-0.9.9.037~/configure.in ecore-0.9.9.037/configure.in
+--- ecore-0.9.9.037~/configure.in 2007-01-14 20:21:42.000000000 -0800
++++ ecore-0.9.9.037/configure.in 2007-01-14 20:22:18.000000000 -0800
+@@ -578,7 +578,7 @@
+ if test "x$want_ecore_fb" = "xyes"; then
+ AC_CHECK_HEADER(tslib.h,
+ [
+- tslib_libs="-ltslib"
++ tslib_libs="-lts"
+ AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
+ ]
+ )
diff --git a/packages/h2200-bootloader/.mtn2git_empty b/packages/efl/edb-native/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/h2200-bootloader/.mtn2git_empty
+++ b/packages/efl/edb-native/.mtn2git_empty
diff --git a/packages/efl/edb-native/no-gtk-forkbomb.patch b/packages/efl/edb-native/no-gtk-forkbomb.patch
new file mode 100644
index 0000000000..8fe226846e
--- /dev/null
+++ b/packages/efl/edb-native/no-gtk-forkbomb.patch
@@ -0,0 +1,12 @@
+diff -Nur edb-1.0.5.007~/configure.in edb-1.0.5.007/configure.in
+--- edb-1.0.5.007~/configure.in 2007-01-15 01:01:31.000000000 -0800
++++ edb-1.0.5.007/configure.in 2007-01-15 01:01:40.000000000 -0800
+@@ -404,7 +404,7 @@
+ ncurses_ok=no
+ gtk_ok=no
+
+-GTK_CONFIG=`which gtk-config`
++GTK_CONFIG=
+ if test -x "$GTK_CONFIG"; then
+ AC_CHECK_LIB(gtk, gtk_init, gtk_ok=yes, gtk_ok=no, `$GTK_CONFIG --libs`)
+ fi
diff --git a/packages/efl/edb-native_1.0.5.007.bb b/packages/efl/edb-native_1.0.5.007.bb
index d83a3b77c6..b6a7757998 100644
--- a/packages/efl/edb-native_1.0.5.007.bb
+++ b/packages/efl/edb-native_1.0.5.007.bb
@@ -2,6 +2,8 @@ include edb_${PV}.bb
inherit native
DEPENDS = "zlib-native"
+SRC_URI += "file://no-gtk-forkbomb.patch;patch=1"
+
EXTRA_OECONF += "--disable-gtk --disable-ncurses"
do_stage_append () {
diff --git a/packages/efl/edb_1.0.5.007.bb b/packages/efl/edb_1.0.5.007.bb
index a152530b47..9632fc4acc 100644
--- a/packages/efl/edb_1.0.5.007.bb
+++ b/packages/efl/edb_1.0.5.007.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "EDB is a database convenience library wrapped around the \
Berkeley DB 2.7.7 by Sleepycat Software."
DEPENDS = "zlib ncurses"
+# can depend on gtk and tcl/tk
LICENSE = "BSD"
PR = "r4"
diff --git a/packages/efl/edje-native_0.5.0.036.bb b/packages/efl/edje-native_0.5.0.037.bb
index 5eb077922a..5eb077922a 100644
--- a/packages/efl/edje-native_0.5.0.036.bb
+++ b/packages/efl/edje-native_0.5.0.037.bb
diff --git a/packages/efl/edje-utils_0.5.0.036.bb b/packages/efl/edje-utils_0.5.0.037.bb
index f8eb917e4d..f8eb917e4d 100644
--- a/packages/efl/edje-utils_0.5.0.036.bb
+++ b/packages/efl/edje-utils_0.5.0.037.bb
diff --git a/packages/efl/edje_0.5.0.036.bb b/packages/efl/edje_0.5.0.037.bb
index d51dd119e4..d51dd119e4 100644
--- a/packages/efl/edje_0.5.0.036.bb
+++ b/packages/efl/edje_0.5.0.037.bb
diff --git a/packages/efl/eet-native_0.9.10.036.bb b/packages/efl/eet-native_0.9.10.037.bb
index ebf4ec4647..ebf4ec4647 100644
--- a/packages/efl/eet-native_0.9.10.036.bb
+++ b/packages/efl/eet-native_0.9.10.037.bb
diff --git a/packages/efl/eet_0.9.10.036.bb b/packages/efl/eet_0.9.10.037.bb
index 6e6032e098..6e6032e098 100644
--- a/packages/efl/eet_0.9.10.036.bb
+++ b/packages/efl/eet_0.9.10.037.bb
diff --git a/packages/efl/embryo-native_0.9.1.036.bb b/packages/efl/embryo-native_0.9.1.037.bb
index a33adb7bd2..a33adb7bd2 100644
--- a/packages/efl/embryo-native_0.9.1.036.bb
+++ b/packages/efl/embryo-native_0.9.1.037.bb
diff --git a/packages/efl/embryo-utils_0.9.1.036.bb b/packages/efl/embryo-utils_0.9.1.037.bb
index d507c53cce..d507c53cce 100644
--- a/packages/efl/embryo-utils_0.9.1.036.bb
+++ b/packages/efl/embryo-utils_0.9.1.037.bb
diff --git a/packages/efl/embryo_0.9.1.036.bb b/packages/efl/embryo_0.9.1.037.bb
index 0009c0a149..0009c0a149 100644
--- a/packages/efl/embryo_0.9.1.036.bb
+++ b/packages/efl/embryo_0.9.1.037.bb
diff --git a/packages/efl/evas-fb_0.9.9.036.bb b/packages/efl/evas-fb_0.9.9.037.bb
index 3f7847874c..3f7847874c 100644
--- a/packages/efl/evas-fb_0.9.9.036.bb
+++ b/packages/efl/evas-fb_0.9.9.037.bb
diff --git a/packages/efl/evas-native_0.9.9.036.bb b/packages/efl/evas-native_0.9.9.037.bb
index cbcbe304e9..cbcbe304e9 100644
--- a/packages/efl/evas-native_0.9.9.036.bb
+++ b/packages/efl/evas-native_0.9.9.037.bb
diff --git a/packages/efl/evas-x11_0.9.9.036.bb b/packages/efl/evas-x11_0.9.9.037.bb
index 03c78ea5e7..03c78ea5e7 100644
--- a/packages/efl/evas-x11_0.9.9.036.bb
+++ b/packages/efl/evas-x11_0.9.9.037.bb
diff --git a/packages/efl/evas/fix-configure.patch b/packages/efl/evas/fix-configure.patch
index 61e2446c24..abf9b94bdf 100644
--- a/packages/efl/evas/fix-configure.patch
+++ b/packages/efl/evas/fix-configure.patch
@@ -1,17 +1,18 @@
---- evas-0.9.9.023/configure.in~ 2006-01-11 21:34:57.000000000 -0800
-+++ evas-0.9.9.023/configure.in 2006-02-03 12:15:45.000000000 -0800
-@@ -152,9 +152,7 @@
+diff -Nur evas-0.9.9.037~/configure.in evas-0.9.9.037/configure.in
+--- evas-0.9.9.037~/configure.in 2007-01-14 20:09:57.000000000 -0800
++++ evas-0.9.9.037/configure.in 2007-01-14 20:11:09.000000000 -0800
+@@ -161,9 +161,7 @@
+ AC_CHECK_HEADER(X11/X.h,
[
- AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_X11, true)
AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, 1, [Software X11 Rendering Backend])
- x_dir=${x_dir:-/usr/X11R6}
- x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
- x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
+ x_libs="-lX11 -lXext"
- ENGINE_SOFTWARE_X11_PRG="evas_software_x11_test evas_software_x11_perf_test evas_software_x11_perf_load"
],
[
-@@ -423,10 +421,10 @@
+ AC_MSG_RESULT(disabling software X11 engine)
+@@ -407,10 +405,10 @@
AC_DEFINE(BUILD_ENGINE_GL_X11, 1, [OpenGL X11 Rendering Backend])
AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, true)
AC_DEFINE(BUILD_ENGINE_GL_COMMON, 1, [Generic OpenGL Rendering Support])
@@ -23,8 +24,8 @@
+ gl_cflags=""
gl_libs="-lGL -lGLU -lpthread"
gl_dir=""
- ENGINE_GL_X11_PRG="evas_gl_x11_test"
-@@ -489,7 +487,7 @@
+ ], [
+@@ -471,7 +469,7 @@
AC_DEFINE(BUILD_ENGINE_CAIRO_X11, 1, [Cairo X11 Rendering Backend])
AM_CONDITIONAL(BUILD_ENGINE_CAIRO_COMMON, true)
AC_DEFINE(BUILD_ENGINE_CAIRO_COMMON, 1, [Generic Cairo Rendering Support])
@@ -32,4 +33,4 @@
+ x_dir="";
x_cflags="-I"$x_dir"/include"
x_libs="-L"$x_dir"/lib -lX11 -lXext"
- ENGINE_CAIRO_X11_PRG="evas_cairo_x11_test"
+ ], [
diff --git a/packages/h2200-bootloader/h2200-bootloader.bb b/packages/h2200-bootloader/h2200-bootloader.bb
deleted file mode 100644
index 03defa2aba..0000000000
--- a/packages/h2200-bootloader/h2200-bootloader.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "Bootloader firmware extractor for the h2200 iPAQ"
-ALLOW_EMPTY = "1"
-MAINTAINER = "Koen Kooi <koen@handhelds.org>"
-PR="r2"
-
-pkg_postinst() {
-#!/bin/sh
-mkdir -p /lib/firmware
-dd if=/dev/mtdblock0 of=/lib/firmware/h2200_bootloader.bin 2>/dev/null
-}
diff --git a/packages/hvsc/.mtn2git_empty b/packages/hvsc/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/hvsc/.mtn2git_empty
+++ /dev/null
diff --git a/packages/hvsc/hvsc_5.8.bb b/packages/hvsc/hvsc_5.8.bb
deleted file mode 100644
index 027eb13c7f..0000000000
--- a/packages/hvsc/hvsc_5.8.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "The High Voltage SID Collection (HVSC) \
-Commodore 64 music for the masses"
-LICENSE = "PD"
-SECTION = "multimedia"
-MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
-
-SRC_URI = "http://gallium.prg.dtu.dk/HVSC/random/HVSC_${PV}-all-of-them.zip"
-S = "${WORKDIR}"
-
-do_install() {
- install -d ${D}${datadir}/hvsc
- unzip -d ${D}${datadir}/hvsc C64Music.zip
-}
-
-PACKAGE_ARCH = "all"
-FILES = "${datadir}/hvsc"
diff --git a/packages/ixp425-eth/files/.mtn2git_empty b/packages/ixp425-eth/files/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/ixp425-eth/files/.mtn2git_empty
+++ /dev/null
diff --git a/packages/ixp425-eth/files/2.6.13.patch b/packages/ixp425-eth/files/2.6.13.patch
deleted file mode 100644
index 7e8bea1b5d..0000000000
--- a/packages/ixp425-eth/files/2.6.13.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-# Patches for compilation with 2.6.13.2
-#
---- dir/ixp425_eth.c 2005-09-23 18:34:54.753729121 -0700
-+++ dir/ixp425_eth.c 2005-09-23 18:37:48.908688002 -0700
-@@ -659,7 +659,9 @@
- skb->pkt_type = PACKET_HOST; /* Default type */
- skb->ip_summed = 0;
- skb->priority = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
- skb->security = 0;
-+#endif
-
- /* Some packets may get incorrectly process by netfilter firewall software
- * if CONFIG_NETFILTER is enabled and filtering is in use. The solution is to
-@@ -2358,8 +2362,14 @@
- }
-
- /* set port MAC addr and update the dev struct if successfull */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
- int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-+#else
-+static int set_mac_address(struct net_device *dev, void *saddrIn)
-+{
-+ struct sockaddr *saddr = saddrIn;
-+#endif
- int res;
- priv_data_t *priv = dev->priv;
- IxEthAccMacAddr npeMacAddr;
-@@ -2476,7 +2486,11 @@
- ndev->poll_controller = ixp425eth_poll_controller;
- #endif
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
- ndev->set_mac_address = dev_set_mac_address;
-+#else
-+ ndev->set_mac_address = set_mac_address;
-+#endif
-
- memcpy(ndev->dev_addr, &default_mac_addr[priv->port_id].macAddress,
- IX_IEEE803_MAC_ADDRESS_SIZE);
diff --git a/packages/ixp425-eth/files/2.6.14.patch b/packages/ixp425-eth/files/2.6.14.patch
deleted file mode 100644
index e93edb6e9b..0000000000
--- a/packages/ixp425-eth/files/2.6.14.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-# change in field semantic in 2.6.14
---- dir/ixp425_eth.c 2005-09-24 17:50:57.828607113 -0700
-+++ dir/ixp425_eth.c 2005-09-24 17:54:19.593303365 -0700
-@@ -668,7 +668,11 @@
- * reset the following fields in the skbuff before re-using it on the Rx-path
- */
- #ifdef CONFIG_NETFILTER
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
- skb->nfmark = skb->nfcache = 0;
-+#else
-+ skb->nfmark = 0;
-+#endif
- nf_conntrack_put(skb->nfct);
- skb->nfct = NULL;
- #ifdef CONFIG_NETFILTER_DEBUG
-@@ -1300,8 +1300,12 @@
- skb->len -= header_len;
-
- /* fill the pkt arrival time (set at the irq callback entry) */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
- skb->stamp.tv_sec = irq_stamp.tv_sec;
- skb->stamp.tv_usec = irq_stamp.tv_usec;
-+#else
-+ skb_set_timestamp(skb, &irq_stamp);
-+#endif
-
- /* fill the input device field */
- skb->dev = dev;
diff --git a/packages/ixp425-eth/files/ethhdr.patch b/packages/ixp425-eth/files/ethhdr.patch
deleted file mode 100644
index 79c9fef34f..0000000000
--- a/packages/ixp425-eth/files/ethhdr.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ixp425-eth-1.1-r0/ixp425_eth.c~ethhdr
-+++ ixp425-eth-1.1-r0/ixp425_eth.c
-@@ -1307,7 +1307,7 @@
- * and its constants are taken from the eth_type_trans()
- * function.
- */
-- struct ethhdr *eth = skb->mac.ethernet;
-+ struct ethhdr *eth = eth_hdr(skb);
- unsigned short hproto = ntohs(eth->h_proto);
-
- if (hproto >= 1536)
-@@ -1349,7 +1349,7 @@
- * mode is set This costs
- * a lookup inside the packet payload.
- */
-- struct ethhdr *eth = skb->mac.ethernet;
-+ struct ethhdr *eth = eth_hdr(skb);
- unsigned char *hdest = eth->h_dest;
-
- if (memcmp(hdest, dev->dev_addr, ETH_ALEN)!=0)
diff --git a/packages/ixp425-eth/files/intdriven.patch b/packages/ixp425-eth/files/intdriven.patch
deleted file mode 100644
index 88b2444b5e..0000000000
--- a/packages/ixp425-eth/files/intdriven.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- ixp425-eth-1.1-r4/ixp425_eth.c 2005-06-16 00:47:55.360598896 -0700
-+++ ixp425-eth-1.1-r4/ixp425_eth.c 2005-06-16 18:42:09.840377651 -0700
-@@ -1028,6 +1030,7 @@
- */
-
- /* PMU Timer reload : this should be done at each interrupt */
-+#if 0 /* UNUSED - used for polling */
- static void dev_pmu_timer_restart(void)
- {
- __asm__(" mcr p14,0,%0,c1,c1,0\n" /* write current counter */
-@@ -1039,6 +1042,7 @@
- " mcr p14,0,r1,c4,c1,0\n" /* enable interrupts */
- : : : "r1");
- }
-+#endif
-
- /* Internal ISR : run a few thousand times per second and calls
- * the queue manager dispatcher entry point.
-@@ -1086,6 +1088,7 @@
- /* Internal ISR : run a few thousand times per second and calls
- * the ethernet entry point.
- */
-+#if 0 /* UNUSED - used for polling */
- static irqreturn_t dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs)
- {
- int qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen;
-@@ -1127,8 +1130,10 @@
- ixEthTxFrameDoneQMCallback(0,0);
- return IRQ_HANDLED;
- }
-+#endif
-
- /* initialize the PMU timer */
-+#if 0 /* UNUSED - used for polling */
- static int dev_pmu_timer_init(void)
- {
- UINT32 controlRegisterMask =
-@@ -1164,6 +1169,7 @@
-
- return 0;
- }
-+#endif
-
- /* stops the timer when the module terminates */
- static void dev_pmu_timer_disable(void)
-@@ -1636,6 +1636,7 @@
- return 0;
- }
-
-+#if 0 /* UNUSED - used for polling */
- /* The QMgr dispatch entry point can be called from the
- * IXP425_INT_LVL_QM1 irq (which will trigger
- * an interrupt for every packet) or a timer (which will
-@@ -1686,7 +1687,7 @@
- */
- if (request_irq(IXP425_INT_LVL_QM1,
- dev_qmgr_os_isr,
-- SA_SHIRQ,
-+ SA_SHIRQ | SA_SAMPLE_RANDOM,
- DRV_NAME,
- (void *)IRQ_ANY_PARAMETER))
- {
-@@ -1710,6 +1711,7 @@
- }
- return 0;
- }
-+#endif
-
- /* Enable the MAC port.
- * Called on do_dev_open, dev_tx_timeout and mtu size changes
-@@ -2234,7 +2236,7 @@
- */
- if (request_irq(IXP425_INT_LVL_QM1,
- dev_qmgr_os_isr,
-- SA_SHIRQ,
-+ SA_SHIRQ | SA_SAMPLE_RANDOM,
- DRV_NAME,
- (void *)IRQ_ANY_PARAMETER))
- {
-@@ -2669,6 +2671,10 @@
-
- TRACE;
-
-+#if 0 /* DISABLE polling */
-+ /* Enable Interrupt driven driver
-+ * see http://www.nslu2-linux.org/wiki/OpenSlug/StabilizeEthernetDriver
-+ */
- if (no_csr_init == 0) /* module parameter */
- {
- /* The QMgr dispatch entry point is called from the IXP425_INT_LVL_QM1 irq
-@@ -2681,6 +2687,7 @@
- return res;
- }
- }
-+#endif
-
- TRACE;
-
diff --git a/packages/ixp425-eth/files/makefile.patch b/packages/ixp425-eth/files/makefile.patch
deleted file mode 100644
index 2e47972995..0000000000
--- a/packages/ixp425-eth/files/makefile.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- /dev/null
-+++ ixp425-eth-1.1-r0/Makefile
-@@ -0,0 +1,10 @@
-+ifneq ($(KERNELRELEASE),)
-+obj-m := ixp425_eth.o
-+
-+else
-+KDIR := /lib/modules/$(shell uname -r)/build
-+PWD := $(shell pwd)
-+
-+default modules:
-+ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
-+endif
diff --git a/packages/ixp425-eth/files/mm4.patch b/packages/ixp425-eth/files/mm4.patch
deleted file mode 100644
index c40aaca998..0000000000
--- a/packages/ixp425-eth/files/mm4.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-# This corrects the type of dev_set_mac_address. The definition (prototype)
-# was *added* to include/linux/netdevice.h in the 2.6.11 mm patches, so the
-# change should not harm older builds
---- ixp425-eth-1.1-r1/ixp425_eth.c.pre-mm4 2005-03-19 14:02:32.883601440 -0800
-+++ ixp425-eth-1.1-r1/ixp425_eth.c 2005-03-19 14:03:25.849549392 -0800
-@@ -2347,12 +2347,11 @@
- }
-
- /* set port MAC addr and update the dev struct if successfull */
--int dev_set_mac_address(struct net_device *dev, void *addr)
-+int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
- int res;
- priv_data_t *priv = dev->priv;
- IxEthAccMacAddr npeMacAddr;
-- struct sockaddr *saddr = (struct sockaddr *)addr;
-
- /* Set MAC addr in h/w */
- memcpy(&npeMacAddr.macAddress,
diff --git a/packages/ixp425-eth/files/pollcontroller.patch b/packages/ixp425-eth/files/pollcontroller.patch
deleted file mode 100644
index f95db28977..0000000000
--- a/packages/ixp425-eth/files/pollcontroller.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-# Add a poll controller to the interface - required for netconsole
---- ixp425-eth-1.1-r1/ixp425_eth.c.pre-pollcontroller 2005-03-19 14:02:32.883601440 -0800
-+++ ixp425-eth-1.1-r1/ixp425_eth.c 2005-03-19 14:03:25.849549392 -0800
-@@ -273,6 +273,11 @@
- extern void
- ixEthTxFrameDoneQMCallback(IxQMgrQId? qId, IxQMgrCallbackId? callbackId);
-
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/* poll controller (needed for netconsole et al) */
-+static void ixp425eth_poll_controller(struct net_device *dev);
-+#endif
-+
- /* Private device data */
- typedef struct {
- unsigned int msdu_size;
-@@ -2462,6 +2467,10 @@
- ndev->set_multicast_list = dev_set_multicast_list;
- ndev->flags |= IFF_MULTICAST;
-
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+ ndev->poll_controller = ixp425eth_poll_controller;
-+#endif
-+
- ndev->set_mac_address = dev_set_mac_address;
-
- memcpy(ndev->dev_addr, &default_mac_addr[priv->port_id].macAddress,
-@@ -2491,6 +2500,23 @@
- return res;
- }
-
-+
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/*
-+ * Polling receive - used by netconsole and other diagnostic tools
-+ * to allow network i/o with interrupts disabled.
-+ * (stolen from 8139too.c by siddy)
-+ */
-+static void ixp425eth_poll_controller(struct net_device *dev)
-+{
-+ disable_irq(dev->irq);
-+ dev_qmgr_os_isr(dev->irq, dev, NULL);
-+ enable_irq(dev->irq);
-+}
-+#endif
-+
-+
-+
- static int __devinit npe_eth_init_device(struct device *dev)
- {
- int res = -ENOMEM;
diff --git a/packages/ixp425-eth/ixp425-eth_1.1.bb b/packages/ixp425-eth/ixp425-eth_1.1.bb
deleted file mode 100644
index cbf7e106ce..0000000000
--- a/packages/ixp425-eth/ixp425-eth_1.1.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DEPENDS = "ixp4xx-csr patcher-native"
-LICENSE = "GPL"
-MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
-SRC_URI = "http://www.intel.com/design/network/swsup/ixp400LinuxEthernetDriverPatch-1_1.zip \
- http://nslu.sourceforge.net/downloads/ixp425_eth.c.patch \
- file://makefile.patch;patch=1 \
- file://ethhdr.patch;patch=1 \
- file://intdriven.patch;patch=1 \
- file://pollcontroller.patch;patch=1 \
- file://mm4.patch;patch=1"
-SRC_URI += "file://2.6.13.patch;patch=1"
-SRC_URI += "file://2.6.14.patch;patch=1"
-PR = "r10"
-
-S = "${WORKDIR}"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-
-inherit module
-
-# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
-# required. Notice that this has to be done for each separately built
-# module as well!
-KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
-KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
-
-do_pre_patch () {
- patcher -p 0 -i ixp425_eth_1_1_update_nf_bridge.patch
- patcher -f -p 0 -i ixp425_eth.c.patch
-}
-
-addtask pre_patch before do_patch
-
-do_compile () {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake 'KDIR=${STAGING_KERNEL_DIR}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'EXTRA_CFLAGS=-I${STAGING_INCDIR}/linux/ixp4xx-csr -I${STAGING_KERNEL_DIR}/include -DCPU=33 -DXSCALE=33'
-}
-
-do_install () {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
- install -m 0644 ixp425_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
-}
diff --git a/packages/ixp4xx/.mtn2git_empty b/packages/ixp4xx/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/ixp4xx/.mtn2git_empty
+++ /dev/null
diff --git a/packages/ixp4xx/ixp4xx-csr/.mtn2git_empty b/packages/ixp4xx/ixp4xx-csr/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/ixp4xx/ixp4xx-csr/.mtn2git_empty
+++ /dev/null
diff --git a/packages/ixp4xx/ixp4xx-csr/badpaths.patch b/packages/ixp4xx/ixp4xx-csr/badpaths.patch
deleted file mode 100644
index c5981aa3b7..0000000000
--- a/packages/ixp4xx/ixp4xx-csr/badpaths.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- ixp400_xscale_sw/src/linux/vx.c~ugh 2003-12-12 14:58:34.000000000 -0500
-+++ ixp400_xscale_sw/src/linux/vx.c 2004-11-14 17:50:07.610969440 -0500
-@@ -31,8 +31,8 @@
- *
- * -- End Intel Copyright Notice --
- */
--#include <asm-arm/system.h>
--#include <asm-arm/semaphore.h>
-+#include <asm/system.h>
-+#include <asm/semaphore.h>
- #include <linux/kernel.h>
- #include <linux/time.h>
- #include <linux/sched.h>
diff --git a/packages/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch b/packages/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch
deleted file mode 100644
index 0c040ec2df..0000000000
--- a/packages/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ixp400_xscale_sw/Makefile~ 2004-11-18 21:26:43.000000000 +1030
-+++ ixp400_xscale_sw/Makefile 2004-11-18 21:31:20.000000000 +1030
-@@ -1015,6 +1015,7 @@
- cp Makefile.kmod26 $(OBJ_DIR)/Makefile
- make -C $(OBJ_DIR)
- $(LD) $(LDFLAGS) $^ -o $@
-+ sleep 2
- make -C $(OBJ_DIR)
-
-
diff --git a/packages/ixp4xx/ixp4xx-csr_1.4.bb b/packages/ixp4xx/ixp4xx-csr_1.4.bb
deleted file mode 100644
index 91856a855a..0000000000
--- a/packages/ixp4xx/ixp4xx-csr_1.4.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/download_ixp400.htm"
-LICENSE = "${PN}"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/swsup/ixp400AccessLibrary-1_4.htm"
-SRC_URI = "http://www.intel.com/design/network/swsup/ixp400AccessLibrary-1_4.zip \
- http://www.wnk.at/ixp400_accesslib_kernel26/data/patch_accesslib_kernel26_20040811.diff;patch=1 \
- file://badpaths.patch;patch=1 \
- file://build-timing-annoyance.patch;patch=1"
-S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r4"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-
-inherit module
-
-# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
-# required. Notice that this has to be done for each separately built
-# module as well!
-KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
-KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
-
-#LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-CFLAGS = "-fno-common -D__KERNEL__ -DMODULE -D__linux -DCPU=33 -DXSCALE=33 \
- -D__LINUX_ARM_ARCH__=5 \
- -I${S}/src/linux -I${S}/src/include \
- ${BUILD_OPTIMIZATION} \
- -I${STAGING_KERNEL_DIR}/include"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'IX_TARGET=linuxbe' \
- 'LINUX_SRC=${STAGING_KERNEL_DIR}' \
- 'ARCH=${ARCH}'"
-#EXTRA_OEMAKE = "'LINUX_SRC=${STAGING_KERNEL_DIR}' 'IX_TARGET=${IX_TARGET}' \
-# 'ARCH=${TARGET_ARCH}' 'CROSS_COMPILE=${TARGET_PREFIX}'"
-
-do_compile () {
- oe_runmake ixp400.ko
-}
-
-do_stage () {
- install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
- install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
- cp -rf --dereference src/linux/* ${STAGING_INCDIR}/linux/ixp4xx-csr/
-}
-
-do_install () {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400
- install -m 0644 lib/linuxbe/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400/
-}
diff --git a/packages/libxml/libxml2-native_2.6.9.bb b/packages/libxml/libxml2-native_2.6.9.bb
new file mode 100644
index 0000000000..df3ab07460
--- /dev/null
+++ b/packages/libxml/libxml2-native_2.6.9.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "GNOME XML library"
+
+SRC_URI = "ftp://xmlsoft.org/libxml2/old/libxml2-${PV}.tar.gz"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libxml2-${PV}"
+S = "${WORKDIR}/libxml2-${PV}"
+
+inherit autotools native pkgconfig
+
+EXTRA_OECONF = "--without-python --without-debug --without-legacy --without-schemas --without-catalog --without-docbook --without-c14n"
+
+headers = "DOCBparser.h HTMLparser.h HTMLtree.h SAX.h SAX2.h c14n.h catalog.h chvalid.h debugXML.h dict.h encoding.h entities.h globals.h hash.h list.h nanoftp.h nanohttp.h parser.h parserInternals.h pattern.h relaxng.h schemasInternals.h threads.h tree.h uri.h valid.h xinclude.h xlink.h xmlIO.h xmlautomata.h xmlerror.h xmlexports.h xmlmemory.h xmlreader.h xmlregexp.h xmlschemas.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlversion.h xmlwriter.h xpath.h xpathInternals.h xpointer.h"
+
+do_stage () {
+ oe_runmake install
+}
diff --git a/packages/linux-uml/.mtn2git_empty b/packages/linux-uml/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/linux-uml/.mtn2git_empty
+++ /dev/null
diff --git a/packages/linux-uml/files/.mtn2git_empty b/packages/linux-uml/files/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/linux-uml/files/.mtn2git_empty
+++ /dev/null
diff --git a/packages/linux-uml/files/fix-arg-max.patch b/packages/linux-uml/files/fix-arg-max.patch
deleted file mode 100644
index 8f72938813..0000000000
--- a/packages/linux-uml/files/fix-arg-max.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.24/arch/um/kernel/user_util.c~fix-arg-max 2004-05-12 18:13:03.000000000 +0200
-+++ linux-2.4.24/arch/um/kernel/user_util.c 2004-05-12 18:14:24.000000000 +0200
-@@ -31,7 +31,7 @@
- #include "helper.h"
- #include "uml-config.h"
-
--#define COMMAND_LINE_SIZE _POSIX_ARG_MAX
-+#define COMMAND_LINE_SIZE 4096
-
- /* Changed in linux_main and setup_arch, which run before SMP is started */
- char saved_command_line[COMMAND_LINE_SIZE] = { 0 };
diff --git a/packages/linux-uml/linux-uml-2.4.26/.mtn2git_empty b/packages/linux-uml/linux-uml-2.4.26/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/.mtn2git_empty
+++ /dev/null
diff --git a/packages/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-2 b/packages/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-2
deleted file mode 100644
index 94003d0aa0..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-2
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: linux-2.4.24-2/arch/um/config.in
---- linux-2.4.24-2/arch/um/config.in 7 Apr 2004 20:44:02 -0000 1.56
-+++ linux-2.4.24-2/arch/um/config.in 17 May 2004 18:35:49 -0000
-@@ -8,6 +8,11 @@
-
- define_bool CONFIG_UID16 y
-
-+# define_bool CONFIG_X86_CMPXCHG y
-+# define_bool CONFIG_X86_XADD y
-+# define_bool CONFIG_X86_BSWAP y
-+# define_bool CONFIG_X86_POPAD_OK y
-+
- define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
-
- mainmenu_option next_comment
diff --git a/packages/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch b/packages/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch
deleted file mode 100644
index 87b4476790..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-Index: linux-2.4.24-2/arch/um/config.in
---- linux-2.4.24-2/arch/um/config.in 7 Apr 2004 20:44:02 -0000 1.56
-+++ linux-2.4.24-2/arch/um/config.in 17 May 2004 18:35:49 -0000
-@@ -16,6 +21,16 @@
- endmenu
-
- mainmenu_option next_comment
-+comment 'Loadable module support'
-+bool 'Enable loadable module support' CONFIG_MODULES
-+if [ "$CONFIG_MODULES" = "y" ]; then
-+# MODVERSIONS does not yet work in this architecture
-+# bool ' Set version information on all module symbols' CONFIG_MODVERSIONS
-+ bool ' Kernel module loader' CONFIG_KMOD
-+fi
-+endmenu
-+
-+mainmenu_option next_comment
- comment 'General Setup'
-
- bool 'Separate kernel address space support' CONFIG_MODE_SKAS
-@@ -59,28 +74,17 @@
- bool 'Real-time Clock' CONFIG_UML_REAL_TIME_CLOCK
- endmenu
-
--mainmenu_option next_comment
--comment 'Loadable module support'
--bool 'Enable loadable module support' CONFIG_MODULES
--if [ "$CONFIG_MODULES" = "y" ]; then
--# MODVERSIONS does not yet work in this architecture
--# bool ' Set version information on all module symbols' CONFIG_MODVERSIONS
-- bool ' Kernel module loader' CONFIG_KMOD
-+if [ "$CONFIG_NET" = "y" ]; then
-+ source net/Config.in
- fi
--endmenu
-
- source arch/um/config_char.in
-
- source arch/um/config_block.in
-
--define_bool CONFIG_NETDEVICES $CONFIG_NET
--
--if [ "$CONFIG_NET" = "y" ]; then
-- source arch/um/config_net.in
-- source net/Config.in
--fi
-+source drivers/mtd/Config.in
-
--source fs/Config.in
-+source drivers/md/Config.in
-
- mainmenu_option next_comment
- comment 'SCSI support'
-@@ -92,11 +96,19 @@
- fi
- endmenu
-
--source drivers/md/Config.in
-+if [ "$CONFIG_NET" = "y" ]; then
-+ mainmenu_option next_comment
-+ comment 'Network Devices'
-
--source drivers/mtd/Config.in
-+ bool 'Network device support' CONFIG_NETDEVICES
-+ if [ "$CONFIG_NETDEVICES" = "y" ]; then
-+ source arch/um/config_net.in
-+ fi
-+ endmenu
-+fi
-+
-+source fs/Config.in
-
--source lib/Config.in
-
- mainmenu_option next_comment
- comment 'Kernel hacking'
-@@ -110,3 +122,6 @@
- dep_bool 'Enable gprof support' CONFIG_GPROF $CONFIG_DEBUGSYM
- dep_bool 'Enable gcov support' CONFIG_GCOV $CONFIG_DEBUGSYM
- endmenu
-+
-+source crypto/Config.in
-+source lib/Config.in
-Index: linux-2.4.24-2/arch/um/config_net.in
---- linux-2.4.24-2/arch/um/config_net.in 7 Apr 2004 20:42:33 -0000 1.4
-+++ linux-2.4.24-2/arch/um/config_net.in 17 May 2004 18:35:49 -0000
-@@ -1,6 +1,3 @@
--mainmenu_option next_comment
--comment 'Network Devices'
--
- # UML virtual driver
- bool 'Virtual network device' CONFIG_UML_NET
-
-@@ -44,5 +45,3 @@
- dep_bool ' CSLIP compressed headers' CONFIG_SLIP_COMPRESSED $CONFIG_SLIP
- dep_bool ' Keepalive and linefill' CONFIG_SLIP_SMART $CONFIG_SLIP
- dep_bool ' Six bit SLIP encapsulation' CONFIG_SLIP_MODE_SLIP6 $CONFIG_SLIP
--
--endmenu
-Index: linux-2.4.24-2/arch/um/drivers/Makefile
---- linux-2.4.24-2/arch/um/drivers/Makefile 16 Feb 2004 00:09:07 -0000 1.50
-+++ linux-2.4.24-2/arch/um/drivers/Makefile 17 May 2004 18:35:49 -0000
-@@ -27,6 +27,7 @@
-
- obj-y =
- obj-$(CONFIG_SSL) += ssl.o
-+obj-$(CONFIG_STDIO_CONSOLE) += stdio_console.o
- obj-$(CONFIG_UML_NET_SLIP) += slip.o
- obj-$(CONFIG_UML_NET_SLIRP) += slirp.o
- obj-$(CONFIG_UML_NET_DAEMON) += daemon.o
-@@ -49,7 +54,7 @@
-
- CFLAGS_pcap_user.o = -I/usr/include/pcap
-
--obj-y += stdio_console.o $(CHAN_OBJS)
-+obj-y += $(CHAN_OBJS)
-
- USER_SINGLE_OBJS = $(foreach f,$(patsubst %.o,%,$(obj-y) $(obj-m)),$($(f)-objs))
-
-@@ -62,6 +71,7 @@
- $(CC) $(CFLAGS_$@) $(USER_CFLAGS) -c -o $@ $<
-
- clean:
-+ rm -f $(OBJS) $(export-objs)
-
- modules:
-
diff --git a/packages/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch b/packages/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch
deleted file mode 100644
index 280f0941c4..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: linux-2.4.24-2/arch/um/kernel/umid.c
---- linux-2.4.24-2/arch/um/kernel/umid.c 16 Feb 2004 00:10:11 -0000 1.21
-+++ linux-2.4.24-2/arch/um/kernel/umid.c 17 May 2004 18:35:49 -0000
-@@ -151,6 +151,7 @@
-
- sprintf(dir, "%s%s", uml_dir, umid);
- actually_do_remove(dir);
-+ rmdir(uml_dir);
- }
-
- char *get_umid(int only_if_set)
diff --git a/packages/linux-uml/linux-uml-2.4.26/10-flock.patch b/packages/linux-uml/linux-uml-2.4.26/10-flock.patch
deleted file mode 100644
index c64b34d8be..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/10-flock.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Index: linux-2.4.24-2/arch/um/os-Linux/file.c
---- linux-2.4.24-2/arch/um/os-Linux/file.c 7 Apr 2004 20:44:49 -0000 1.29
-+++ linux-2.4.24-2/arch/um/os-Linux/file.c 17 May 2004 18:35:49 -0000
-@@ -688,6 +688,7 @@
-
- int os_lock_file(int fd, int excl)
- {
-+#if USE_FCNTL_LOCK
- int type = excl ? F_WRLCK : F_RDLCK;
- struct flock lock = ((struct flock) { .l_type = type,
- .l_whence = SEEK_SET,
-@@ -710,6 +711,21 @@
- err = save;
- out:
- return(err);
-+#else
-+ int type = excl ? LOCK_EX : LOCK_SH;
-+ int err, save;
-+
-+ err = flock(fd, type | LOCK_NB);
-+ if(!err)
-+ goto out;
-+
-+ save = -errno;
-+
-+ printk("file already locked\n");
-+ err = save;
-+ out:
-+ return(err);
-+#endif
- }
-
- int os_ftruncate(int fd, __u64 size)
diff --git a/packages/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch b/packages/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch
deleted file mode 100644
index d339746c6a..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: linux-2.4.24-2/arch/um/os-Linux/process.c
---- linux-2.4.24-2/arch/um/os-Linux/process.c 19 Jan 2004 21:02:20 -0000 1.8
-+++ linux-2.4.24-2/arch/um/os-Linux/process.c 17 May 2004 18:35:49 -0000
-@@ -7,6 +7,7 @@
- #include <stdio.h>
- #include <errno.h>
- #include <signal.h>
-+#include <linux/unistd.h>
- #include <sys/mman.h>
- #include <sys/wait.h>
- #include "os.h"
-@@ -92,7 +93,8 @@
-
- void os_usr1_process(int pid)
- {
-- kill(pid, SIGUSR1);
-+ if (syscall(__NR_tkill, pid, SIGUSR1) < 0)
-+ kill(pid, SIGUSR1);
- }
-
- int os_getpid(void)
diff --git a/packages/linux-uml/linux-uml-2.4.26/12-hostfs.patch b/packages/linux-uml/linux-uml-2.4.26/12-hostfs.patch
deleted file mode 100644
index 124f975650..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/12-hostfs.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-diff -ru linux-2.4.26-1.orig/arch/um/fs/hostfs/externfs.c linux-2.4.26-1.hno/arch/um/fs/hostfs/externfs.c
---- linux-2.4.26-1.orig/arch/um/fs/hostfs/externfs.c Mon May 17 23:36:17 2004
-+++ linux-2.4.26-1.hno/arch/um/fs/hostfs/externfs.c Tue May 18 00:10:42 2004
-@@ -1133,7 +1133,7 @@
- if((mount_arg != NULL) && (*mount_arg != '\0'))
- root = mount_arg;
-
-- return(uml_strdup(mount_arg));
-+ return(uml_strdup(root));
- }
-
- struct super_block *hostfs_read_super(struct super_block *sb, void *data,
-diff -ru linux-2.4.26-1.orig/arch/um/fs/hostfs/host_file.c linux-2.4.26-1.hno/arch/um/fs/hostfs/host_file.c
---- linux-2.4.26-1.orig/arch/um/fs/hostfs/host_file.c Mon May 17 23:36:17 2004
-+++ linux-2.4.26-1.hno/arch/um/fs/hostfs/host_file.c Tue May 18 11:40:47 2004
-@@ -72,28 +72,21 @@
- {
- char tmp[HOSTFS_BUFSIZE], *file;
- int mode = 0, err;
-+ struct openflags flags = OPENFLAGS();
-
-- if(r && !w)
-- mode = O_RDONLY;
-- else if(!r && w)
-- mode = O_WRONLY;
-- else if(r && w)
-- mode = O_RDWR;
-- else {
-- printk("Impossible mode in host_open_file - r = %d, w = %d",
-- r, w);
-- return(-EINVAL);
-- }
--
-+ if (r)
-+ flags = of_read(flags);
-+ if (w)
-+ flags = of_write(flags);
- if(append)
-- mode |= O_APPEND;
-+ flags = of_append(flags);
-
- err = -ENOMEM;
- file = get_path(path, tmp, sizeof(tmp));
- if(file == NULL)
- goto out;
-
-- err = open_filehandle(file, of_create(of_rdwr(OPENFLAGS())), mode, fh);
-+ err = open_filehandle(file, flags, 0, fh);
- out:
- free_path(file, tmp);
- return(err);
-diff -ru linux-2.4.26-1.orig/arch/um/fs/hostfs/host_fs.c linux-2.4.26-1.hno/arch/um/fs/hostfs/host_fs.c
---- linux-2.4.26-1.orig/arch/um/fs/hostfs/host_fs.c Mon May 17 23:36:17 2004
-+++ linux-2.4.26-1.hno/arch/um/fs/hostfs/host_fs.c Tue May 18 11:38:51 2004
-@@ -111,10 +111,14 @@
- {
- const char *path[] = { jail_dir, mount, file, NULL };
- int uid;
-+ int gid;
-+ int rc;
-
-+ /* These should be mount flags from an internal "superblock" */
- *uid_out = 0;
-+ *gid_out = 0;
- return(host_stat_file(path, dev_out, inode_out, mode_out, nlink_out,
-- &uid, gid_out, size_out, atime_out, mtime_out,
-+ &uid, &gid, size_out, atime_out, mtime_out,
- ctime_out, blksize_out, blocks_out));
- }
-
-@@ -138,6 +142,12 @@
- goto out;
-
- err = host_open_file(path, 1, 1, fh);
-+ if (err == -EISDIR) {
-+ kfree(fh);
-+ return NULL;
-+ }
-+ if (err == -EPERM)
-+ err = host_open_file(path, 1, 0, fh);
- if(err)
- goto out_free;
-
-@@ -175,10 +185,9 @@
- len - ignore_end);
-
- out:
-- if(err < 0)
-- (*completion)(buf, err, arg);
-- else err = 0;
--
-+ (*completion)(buf, err, arg);
-+ if (err > 0)
-+ err = 0;
- return(err);
- }
-
-@@ -191,8 +200,9 @@
-
- err = write_file(fh, offset + start, buf + start, len);
-
-- if(err < 0)
-- (*completion)((char *) buf, err, arg);
-+ (*completion)((char *) buf, err, arg);
-+ if (err > 0)
-+ err = 0;
- return(err);
- }
-
diff --git a/packages/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch b/packages/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch
deleted file mode 100644
index 914c5468f0..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-2.4.26-umlhipac/arch/um/fs/hostfs/externfs.c.orig Tue May 18 00:10:42 2004
-+++ linux-2.4.26-umlhipac/arch/um/fs/hostfs/externfs.c Thu May 20 21:12:54 2004
-@@ -961,7 +961,7 @@
- if(name == NULL)
- return(-ENOMEM);
-
-- err = (*ops->access_file)(name, r, w, x, current->fsuid, current->fsgid,
-+ err = (*ops->access_file)(name, current->fsuid, current->fsgid, r, w, x,
- mount);
- kfree(name);
-
diff --git a/packages/linux-uml/linux-uml-2.4.26/aio_abi.h b/packages/linux-uml/linux-uml-2.4.26/aio_abi.h
deleted file mode 100644
index e7fc6b234e..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/aio_abi.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* linux/aio_abi.h
- *
- * Copyright 2000,2001,2002 Red Hat.
- *
- * Written by Benjamin LaHaise <bcrl@redhat.com>
- *
- * Distribute under the terms of the GPLv2 (see ../../COPYING) or under
- * the following terms.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. Red Hat makes no representations about
- * the suitability of this software for any purpose.
- *
- * IN NO EVENT SHALL RED HAT BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
- * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF RED HAT HAS BEEN ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RED HAT DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
- * RED HAT HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
- * ENHANCEMENTS, OR MODIFICATIONS.
- */
-#ifndef __LINUX__AIO_ABI_H
-#define __LINUX__AIO_ABI_H
-
-#include <asm/byteorder.h>
-
-typedef unsigned long aio_context_t;
-
-enum {
- IOCB_CMD_PREAD = 0,
- IOCB_CMD_PWRITE = 1,
- IOCB_CMD_FSYNC = 2,
- IOCB_CMD_FDSYNC = 3,
- /* These two are experimental.
- * IOCB_CMD_PREADX = 4,
- * IOCB_CMD_POLL = 5,
- */
- IOCB_CMD_NOOP = 6,
-};
-
-/* read() from /dev/aio returns these structures. */
-struct io_event {
- __u64 data; /* the data field from the iocb */
- __u64 obj; /* what iocb this event came from */
- __s64 res; /* result code for this event */
- __s64 res2; /* secondary result */
-};
-
-#if defined(__LITTLE_ENDIAN)
-#define PADDED(x,y) x, y
-#elif defined(__BIG_ENDIAN)
-#define PADDED(x,y) y, x
-#else
-#error edit for your odd byteorder.
-#endif
-
-/*
- * we always use a 64bit off_t when communicating
- * with userland. its up to libraries to do the
- * proper padding and aio_error abstraction
- */
-
-struct iocb {
- /* these are internal to the kernel/libc. */
- __u64 aio_data; /* data to be returned in event's data */
- __u32 PADDED(aio_key, aio_reserved1);
- /* the kernel sets aio_key to the req # */
-
- /* common fields */
- __u16 aio_lio_opcode; /* see IOCB_CMD_ above */
- __s16 aio_reqprio;
- __u32 aio_fildes;
-
- __u64 aio_buf;
- __u64 aio_nbytes;
- __s64 aio_offset;
-
- /* extra parameters */
- __u64 aio_reserved2; /* TODO: use this for a (struct sigevent *) */
- __u64 aio_reserved3;
-}; /* 64 bytes */
-
-#undef IFBIG
-#undef IFLITTLE
-
-#endif /* __LINUX__AIO_ABI_H */
-
diff --git a/packages/linux-uml/linux-uml-2.4.26/defconfig b/packages/linux-uml/linux-uml-2.4.26/defconfig
deleted file mode 100644
index b4030b532c..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/defconfig
+++ /dev/null
@@ -1,430 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_USERMODE=y
-# CONFIG_ISA is not set
-# CONFIG_SBUS is not set
-# CONFIG_PCI is not set
-CONFIG_UID16=y
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-
-#
-# General Setup
-#
-CONFIG_MODE_SKAS=y
-CONFIG_MODE_TT=y
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_SYSCTL=y
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_MISC=y
-CONFIG_HOSTFS=y
-CONFIG_HUMFS=y
-CONFIG_EXTERNFS=y
-CONFIG_HPPFS=y
-CONFIG_MCONSOLE=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_HOST_2G_2G is not set
-# CONFIG_UML_SMP is not set
-# CONFIG_SMP is not set
-CONFIG_NEST_LEVEL=0
-CONFIG_KERNEL_HALF_GIGS=1
-# CONFIG_HIGHMEM is not set
-CONFIG_PROC_MM=y
-CONFIG_KERNEL_STACK_ORDER=2
-CONFIG_UML_REAL_TIME_CLOCK=y
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_KMOD is not set
-
-#
-# Character Devices
-#
-CONFIG_STDIO_CONSOLE=y
-CONFIG_SSL=y
-CONFIG_FD_CHAN=y
-CONFIG_NULL_CHAN=y
-CONFIG_PORT_CHAN=y
-CONFIG_PTY_CHAN=y
-CONFIG_TTY_CHAN=y
-CONFIG_XTERM_CHAN=y
-CONFIG_CON_ZERO_CHAN="fd:0,fd:1"
-CONFIG_CON_CHAN="xterm"
-CONFIG_SSL_CHAN="pty"
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-# CONFIG_WATCHDOG is not set
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-# CONFIG_SOFT_WATCHDOG is not set
-# CONFIG_UML_WATCHDOG is not set
-CONFIG_UML_SOUND=y
-CONFIG_SOUND=y
-CONFIG_HOSTAUDIO=y
-# CONFIG_TTY_LOG is not set
-
-#
-# Block Devices
-#
-CONFIG_BLK_DEV_UBD=y
-# CONFIG_BLK_DEV_UBD_SYNC is not set
-# CONFIG_COW is not set
-CONFIG_COW_COMMON=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_MMAPPER is not set
-CONFIG_NETDEVICES=y
-
-#
-# Network Devices
-#
-CONFIG_UML_NET=y
-CONFIG_UML_NET_ETHERTAP=y
-CONFIG_UML_NET_TUNTAP=y
-CONFIG_UML_NET_SLIP=y
-CONFIG_UML_NET_SLIRP=y
-CONFIG_UML_NET_DAEMON=y
-CONFIG_UML_NET_MCAST=y
-# CONFIG_UML_NET_PCAP is not set
-CONFIG_DUMMY=y
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=y
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-# CONFIG_PPP_ASYNC is not set
-# CONFIG_PPP_SYNC_TTY is not set
-# CONFIG_PPP_DEFLATE is not set
-# CONFIG_PPP_BSDCOMP is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPP_MPPE is not set
-CONFIG_SLIP=y
-# CONFIG_SLIP_COMPRESSED is not set
-# CONFIG_SLIP_SMART is not set
-# CONFIG_SLIP_MODE_SLIP6 is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-# CONFIG_NETLINK_DEV is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_FILTER is not set
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-CONFIG_IPV6_SCTP__=y
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-
-#
-#
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-
-#
-# Appletalk devices
-#
-# CONFIG_DEV_APPLETALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# File systems
-#
-CONFIG_QUOTA=y
-# CONFIG_QFMT_V2 is not set
-CONFIG_AUTOFS_FS=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_UMSDOS_FS=y
-CONFIG_VFAT_FS=y
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS_FS=y
-CONFIG_JFFS_FS_VERBOSE=0
-CONFIG_JFFS_PROC_FS=y
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-# CONFIG_CRAMFS is not set
-# CONFIG_TMPFS is not set
-CONFIG_RAMFS=y
-CONFIG_ISO9660_FS=y
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_MINIX_FS=y
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-CONFIG_DEVFS_FS=y
-CONFIG_DEVFS_MOUNT=y
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-# CONFIG_NFS_FS is not set
-# CONFIG_NFS_V3 is not set
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-# CONFIG_NFSD_TCP is not set
-# CONFIG_SUNRPC is not set
-# CONFIG_LOCKD is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_SMB_NLS is not set
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# SCSI support
-#
-CONFIG_SCSI=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-# CONFIG_BLK_DEV_SD is not set
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_DEBUG_QUEUES is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-CONFIG_SCSI_DEBUG=y
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_PARTITIONS is not set
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_GEN_PROBE is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PCMCIA is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-CONFIG_MTD_BLKMTD=y
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Library routines
-#
-# CONFIG_CRC32 is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-
-#
-# Kernel hacking
-#
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUGSYM=y
-CONFIG_PT_PROXY=y
-# CONFIG_GCOV is not set
diff --git a/packages/linux-uml/linux-uml-2.4.26/disable-aio-check.patch b/packages/linux-uml/linux-uml-2.4.26/disable-aio-check.patch
deleted file mode 100644
index c71fba1316..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/disable-aio-check.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.26/arch/um/os-Linux/Makefile~disable-aio-check 2004-05-21 10:47:13.000000000 +0200
-+++ linux-2.4.26/arch/um/os-Linux/Makefile 2004-05-21 10:52:28.000000000 +0200
-@@ -7,10 +7,8 @@
-
- obj-y = aio.o file.o process.o time.o tty.o
-
--HAVE_AIO_ABI = $(shell [ -e /usr/include/linux/aio_abi.h ] && \
-- echo -DHAVE_AIO_ABI)
--HAVE_AIO_LIBC = $(shell objdump -T /lib/libc-*.so | grep io_submit && \
-- echo -DHAVE_AIO_LIBC)
-+HAVE_AIO_ABI = $(shell echo -UHAVE_AIO_ABI)
-+HAVE_AIO_LIBC = $(shell echo -UHAVE_AIO_LIBC)
- CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC)
-
- include $(TOPDIR)/Rules.make
diff --git a/packages/linux-uml/linux-uml-2.4.26/fix-includes.patch b/packages/linux-uml/linux-uml-2.4.26/fix-includes.patch
deleted file mode 100644
index a6a0260320..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/fix-includes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.21/arch/um/Makefile~remove-bogus-includes 2004-02-01 15:44:08.000000000 +0100
-+++ linux-2.4.21/arch/um/Makefile 2004-02-01 15:51:52.000000000 +0100
-@@ -107,7 +107,7 @@
- linux: setup $(ARCH_DIR)/main.o vmlinux $(LD_SCRIPT-y)
- mv vmlinux vmlinux.o
- $(CC) -Wl,-T,$(LD_SCRIPT-y) $(LINK-y) $(LINK_WRAPS) \
-- -o linux $(ARCH_DIR)/main.o vmlinux.o -L/usr/lib -lutil
-+ -o linux $(ARCH_DIR)/main.o vmlinux.o -L$(STAGING_LIBDIR) -lutil
-
- USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
- USER_CFLAGS := $(patsubst -Derrno=kernel_errno,,$(USER_CFLAGS))
---- linux-2.4.21/arch/um/kernel/tt/Makefile~remove-bogus-includes 2004-02-01 15:44:08.000000000 +0100
-+++ linux-2.4.21/arch/um/kernel/tt/Makefile 2004-02-01 15:51:39.000000000 +0100
-@@ -34,6 +34,6 @@
- $(CC) $(UNMAP_CFLAGS) -c -o $@ $<
-
- unmap_fin.o : unmap.o
-- ld -r -o $@ $< -lc -L/usr/lib
-+ ld -r -o $@ $< -lc -L$(STAGING_LIBDIR)
-
- clean :
diff --git a/packages/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch b/packages/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch
deleted file mode 100644
index 3c77dae728..0000000000
--- a/packages/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.26/arch/um/fs/hostfs/externfs.c~unbreak-hostfs 2004-05-18 22:01:16.000000000 +0200
-+++ linux-2.4.26/arch/um/fs/hostfs/externfs.c 2004-05-18 22:43:11.000000000 +0200
-@@ -1133,7 +1133,7 @@
- if((mount_arg != NULL) && (*mount_arg != '\0'))
- root = mount_arg;
-
-- return(uml_strdup(mount_arg));
-+ return(uml_strdup(root));
- }
-
- struct super_block *hostfs_read_super(struct super_block *sb, void *data,
---- linux-2.4.26/arch/um/fs/hostfs/host_file.c~unbreak-hostfs 2004-05-18 22:01:16.000000000 +0200
-+++ linux-2.4.26/arch/um/fs/hostfs/host_file.c 2004-05-18 22:45:17.000000000 +0200
-@@ -72,28 +72,21 @@
- {
- char tmp[HOSTFS_BUFSIZE], *file;
- int mode = 0, err;
-+ struct openflags flags = OPENFLAGS();
-
-- if(r && !w)
-- mode = O_RDONLY;
-- else if(!r && w)
-- mode = O_WRONLY;
-- else if(r && w)
-- mode = O_RDWR;
-- else {
-- printk("Impossible mode in host_open_file - r = %d, w = %d",
-- r, w);
-- return(-EINVAL);
-- }
--
-+ if (r)
-+ flags = of_read(flags);
-+ if (w)
-+ flags = of_write(flags);
- if(append)
-- mode |= O_APPEND;
-+ flags = of_append(flags);
-
- err = -ENOMEM;
- file = get_path(path, tmp, sizeof(tmp));
- if(file == NULL)
- goto out;
-
-- err = open_filehandle(file, of_create(of_rdwr(OPENFLAGS())), mode, fh);
-+ err = open_filehandle(file, flags, 0, fh);
- out:
- free_path(file, tmp);
- return(err);
---- linux-2.4.26/arch/um/fs/hostfs/host_fs.c~unbreak-hostfs 2004-05-18 22:01:16.000000000 +0200
-+++ linux-2.4.26/arch/um/fs/hostfs/host_fs.c 2004-05-18 22:50:11.000000000 +0200
-@@ -111,10 +111,13 @@
- {
- const char *path[] = { jail_dir, mount, file, NULL };
- int uid;
-+ int gid;
-+ int rc;
-
- *uid_out = 0;
-+ *gid_out = 0;
- return(host_stat_file(path, dev_out, inode_out, mode_out, nlink_out,
-- &uid, gid_out, size_out, atime_out, mtime_out,
-+ &uid, &gid, size_out, atime_out, mtime_out,
- ctime_out, blksize_out, blocks_out));
- }
-
-@@ -138,6 +141,12 @@
- goto out;
-
- err = host_open_file(path, 1, 1, fh);
-+ if (err == -EISDIR) {
-+ kfree(fh);
-+ return NULL;
-+ }
-+ if (err == -EPERM)
-+ err = host_open_file(path, 1, 0, fh);
- if(err)
- goto out_free;
-
-@@ -175,10 +184,9 @@
- len - ignore_end);
-
- out:
-- if(err < 0)
-- (*completion)(buf, err, arg);
-- else err = 0;
--
-+ (*completion)(buf, err, arg);
-+ if (err > 0)
-+ err = 0;
- return(err);
- }
-
-@@ -191,8 +199,9 @@
-
- err = write_file(fh, offset + start, buf + start, len);
-
-- if(err < 0)
-- (*completion)((char *) buf, err, arg);
-+ (*completion)((char *) buf, err, arg);
-+ if (err > 0)
-+ err = 0;
- return(err);
- }
-
diff --git a/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/.mtn2git_empty b/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/.mtn2git_empty
+++ /dev/null
diff --git a/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch b/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch
deleted file mode 100644
index 7c1df3021f..0000000000
--- a/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.10/arch/um/kernel/process.c~compile-fix 2005-01-28 19:57:29.207418000 +0100
-+++ linux-2.6.10/arch/um/kernel/process.c 2005-01-28 20:05:37.811027882 +0100
-@@ -28,6 +28,7 @@
- #include "sysdep/sigcontext.h"
- #include "irq_user.h"
- #include "ptrace_user.h"
-+#include <linux/ptrace.h>
- #include "time_user.h"
- #include "init.h"
- #include "os.h"
---- linux-2.6.10/arch/um/kernel/user_util.c~compile-fix 2005-01-28 20:10:41.565297000 +0100
-+++ linux-2.6.10/arch/um/kernel/user_util.c 2005-01-28 20:10:49.373290402 +0100
-@@ -31,7 +31,7 @@
- #include "helper.h"
- #include "uml-config.h"
-
--#define COMMAND_LINE_SIZE _POSIX_ARG_MAX
-+#define COMMAND_LINE_SIZE 4096
-
- /* Changed in linux_main and setup_arch, which run before SMP is started */
- char command_line[COMMAND_LINE_SIZE] = { 0 };
diff --git a/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig b/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig
deleted file mode 100644
index 84f80512ce..0000000000
--- a/packages/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig
+++ /dev/null
@@ -1,548 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.11-rc1-mm1
-# Fri Jan 28 19:25:15 2005
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_USERMODE=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-
-#
-# UML-specific options
-#
-# CONFIG_MODE_TT is not set
-# CONFIG_STATIC_LINK is not set
-CONFIG_MODE_SKAS=y
-# CONFIG_64_BIT is not set
-CONFIG_TOP_ADDR=0xc0000000
-# CONFIG_3_LEVEL_PGTABLES is not set
-CONFIG_ARCH_HAS_SC_SIGNALS=y
-CONFIG_LD_SCRIPT_DYN=y
-CONFIG_NET=y
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input I/O drivers
-#
-# CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_CT82C710 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_INOTIFY=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# Graphics support
-#
-CONFIG_FB=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-
-#
-# Logo configuration
-#
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-CONFIG_X11_FB=y
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_MISC=y
-CONFIG_HOSTFS=y
-CONFIG_MCONSOLE=y
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_HOST_2G_2G is not set
-CONFIG_NEST_LEVEL=0
-CONFIG_KERNEL_HALF_GIGS=1
-CONFIG_KERNEL_STACK_ORDER=2
-CONFIG_UML_REAL_TIME_CLOCK=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_HOTPLUG is not set
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-# CONFIG_EMBEDDED is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_LTT is not set
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-
-#
-# Loadable module support
-#
-# CONFIG_MODULES is not set
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-# CONFIG_FW_LOADER is not set
-
-#
-# Character Devices
-#
-CONFIG_STDERR_CONSOLE=y
-CONFIG_STDIO_CONSOLE=y
-CONFIG_SSL=y
-CONFIG_NULL_CHAN=y
-CONFIG_PORT_CHAN=y
-CONFIG_PTY_CHAN=y
-CONFIG_TTY_CHAN=y
-CONFIG_XTERM_CHAN=y
-# CONFIG_NOCONFIG_CHAN is not set
-CONFIG_CON_ZERO_CHAN="fd:0,fd:1"
-CONFIG_CON_CHAN="xterm"
-CONFIG_SSL_CHAN="pty"
-CONFIG_UML_SOUND=y
-CONFIG_SOUND=y
-CONFIG_HOSTAUDIO=y
-
-#
-# Block devices
-#
-CONFIG_BLK_DEV_UBD=y
-# CONFIG_BLK_DEV_UBD_SYNC is not set
-CONFIG_BLK_DEV_COW_COMMON=y
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_NBD=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_LBD is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_NETDEVICES=y
-
-#
-# UML Network Devices
-#
-CONFIG_UML_NET=y
-CONFIG_UML_NET_ETHERTAP=y
-CONFIG_UML_NET_TUNTAP=y
-CONFIG_UML_NET_SLIP=y
-CONFIG_UML_NET_DAEMON=y
-CONFIG_UML_NET_MCAST=y
-CONFIG_UML_NET_SLIRP=y
-
-#
-# Networking support
-#
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-# CONFIG_NETLINK_DEV is not set
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_IP_TCPDIAG=y
-# CONFIG_IP_TCPDIAG_IPV6 is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETFILTER is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_KGDBOE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-CONFIG_DUMMY=y
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=y
-
-#
-# Ethernet (10 or 100Mbit)
-#
-# CONFIG_NET_ETHERNET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-# CONFIG_PPP_ASYNC is not set
-# CONFIG_PPP_SYNC_TTY is not set
-# CONFIG_PPP_DEFLATE is not set
-# CONFIG_PPP_BSDCOMP is not set
-# CONFIG_PPPOE is not set
-CONFIG_SLIP=y
-# CONFIG_SLIP_COMPRESSED is not set
-# CONFIG_SLIP_SMART is not set
-# CONFIG_SLIP_MODE_SLIP6 is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_REISER4_FS is not set
-CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-# CONFIG_JFS_FS is not set
-
-#
-# XFS support
-#
-# CONFIG_XFS_FS is not set
-CONFIG_MINIX_FS=y
-# CONFIG_ROMFS_FS is not set
-CONFIG_QUOTA=y
-# CONFIG_QFMT_V1 is not set
-# CONFIG_QFMT_V2 is not set
-CONFIG_QUOTACTL=y
-CONFIG_DNOTIFY=y
-CONFIG_AUTOFS_FS=y
-CONFIG_AUTOFS4_FS=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_SYSFS=y
-CONFIG_DEVFS_FS=y
-CONFIG_DEVFS_MOUNT=y
-# CONFIG_DEVFS_DEBUG is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_RELAYFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-# CONFIG_NFS_FS is not set
-# CONFIG_NFSD is not set
-# CONFIG_EXPORTFS is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_DEBUG_KERNEL is not set
diff --git a/packages/linux-uml/linux-uml_2.4.26.bb b/packages/linux-uml/linux-uml_2.4.26.bb
deleted file mode 100644
index efcb228396..0000000000
--- a/packages/linux-uml/linux-uml_2.4.26.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "User Mode Linux Kernel"
-LICENSE = "GPL"
-UMLR = "2"
-PR = "1"
-
-SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${PV}.tar.bz2 \
- ${SOURCEFORGE_MIRROR}/user-mode-linux/uml-patch-${PV}-${UMLR}.bz2;patch=1 \
- file://defconfig \
- file://aio_abi.h"
-S = "${WORKDIR}/linux-${PV}"
-
-inherit kernel
-
-COMPATIBLE_HOST = 'i.86.*-linux'
-
-export OS = "Linux"
-ARCH = "um"
-SUBARCH = "${TARGET_ARCH}"
-KERNEL_IMAGETYPE = "linux"
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig .config
- oe_runmake oldconfig
- install -d arch/um/include/linux/
- #install -m 0644 ${WORKDIR}/aio_abi.h arch/um/include/linux/
-}
-
-do_compile() {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake dep
- oe_runmake HAVE_AIO_ABI= HAVE_AIO_LIBC= STAGING_LIBDIR=${STAGING_LIBDIR} ${KERNEL_IMAGETYPE}
- oe_runmake modules
-}
-
-do_install() {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
- install -d ${D}/boot
- install -m 0755 linux ${D}/boot/linux-${PV}
- install -m 0644 System.map ${D}/boot/System.map-${PV}
- install -m 0644 .config ${D}/boot/config-${PV}
-}
diff --git a/packages/linux-uml/linux-uml_2.6.11-rc2-mm1.bb b/packages/linux-uml/linux-uml_2.6.11-rc2-mm1.bb
deleted file mode 100644
index b7ef49c0f4..0000000000
--- a/packages/linux-uml/linux-uml_2.6.11-rc2-mm1.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "User Mode Linux Kernel"
-SECTION = "kernel"
-MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
-LICENSE = "GPL"
-KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
-RCV = "${@bb.data.getVar('PV',d,True).split('-')[1]}"
-MMV = "${@bb.data.getVar('PV',d,True).split('-')[2]}"
-LV = "2.6.10"
-PR = "r3"
-
-SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-${LV}.tar.bz2 \
- http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-${KV}-${RCV}.bz2;patch=1 \
- http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/${KV}-${RCV}/${KV}-${RCV}-${MMV}/${KV}-${RCV}-${MMV}.gz;patch=1 \
- file://defconfig"
-#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-core-on-panic;patch=1 \
-#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-pretend-to-be-i586;patch=1 \
-#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-general-protection-fault;patch=1 \
-#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-x11-fb;patch=1 \
-
-S = "${WORKDIR}/linux-${LV}"
-
-inherit kernel
-
-COMPATIBLE_HOST = 'i.86.*-linux'
-
-export OS = "Linux"
-ARCH = "um"
-SUBARCH = "${TARGET_ARCH}"
-KERNEL_IMAGETYPE = "linux"
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' 'LD=${KERNEL_LD}' \
- 'SUBARCH=${SUBARCH}'"
-EXTRA_CFLAGS += "-I${includedir}"
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig .config
- oe_runmake oldconfig
-}
-
-do_compile() {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- install -d arch/um/include/linux/
- install -m 0644 include/linux/inet.h arch/um/include/linux/
- kernel_do_compile
-}
-
-do_stage_prepend() {
- install -d arch/um/boot/
- ln -sf ${S}/linux arch/um/boot/linux
-}
-
-do_install() {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- #oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
- install -d ${D}/boot
- install -m 0755 linux ${D}/boot/linux-${PV}
- install -m 0644 System.map ${D}/boot/System.map-${PV}
- install -m 0644 .config ${D}/boot/config-${PV}
-}
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/.mtn2git_empty b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/.mtn2git_empty
+++ /dev/null
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/1764-1.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/1764-1.patch
deleted file mode 100644
index 0b660f3521..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/1764-1.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-__arch_strncpy_from_user needs to be exported if you build the framebuffer console driver as a module.
-
-Cheers,
-
-Ian.
-
---- linux-2.6-bkpxa.orig/arch/arm/kernel/armksyms.c 2004-02-27 10:35:29.000000000 +0000
-+++ linux-2.6-bkpxa/arch/arm/kernel/armksyms.c 2004-02-27 14:55:02.000000000 +0000
-@@ -187,6 +187,7 @@
- EXPORT_SYMBOL(__arch_copy_to_user);
- EXPORT_SYMBOL(__arch_clear_user);
- EXPORT_SYMBOL(__arch_strnlen_user);
-+EXPORT_SYMBOL(__arch_strncpy_from_user);
-
- /* consistent area handling */
- EXPORT_SYMBOL(consistent_alloc);
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/apm_arrowkey.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/apm_arrowkey.patch
deleted file mode 100644
index f45fb72de3..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/apm_arrowkey.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- linux/arch/arm/mach-pxa/sharpsl_apm.c-original 2005-09-07 02:38:21.000000000 -0600
-+++ linux/arch/arm/mach-pxa/sharpsl_apm.c 2005-09-08 01:11:56.000000000 -0600
-@@ -89,6 +89,12 @@
- #include <linux/ioctl.h>
- #include <asm/sharp_apm.h>
- #include <asm/sharp_char.h>
-+#if defined(CONFIG_ARCH_PXA_POODLE)
-+#include <asm-arm/arch-pxa/keyboard_poodle.h> /* blc */
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#include <asm-arm/arch-pxa/keyboard_tosa.h>
-+#define NR_KEYCODES (KEYCODE(KB_ROWS-1,KB_COLS-1)+1)
-+#endif
- #include <linux/delay.h>
- #include <asm/arch/ads7846_ts.h>
- #include <linux/apm_bios.h>
-@@ -155,6 +156,7 @@
- /// ioctl
- #if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- static u32 apm_event_mask = (APM_EVT_POWER_BUTTON);
-+extern kbd_keyinfo sharppda_kbdstate[(NR_KEYCODES+1)];
- #else
- static u32 apm_event_mask = (APM_EVT_POWER_BUTTON | APM_EVT_BATTERY_STATUS);
- #endif
-@@ -472,7 +474,7 @@
- if (irq == IRQ_GPIO_ON_KEY) { /* suspend */
-
- DPRINTK("irq=%d count=%d sharpsl_suspend_request%d\n",irq, count, sharpsl_suspend_request);
-- if ( GPLR(GPIO_ON_KEY) & GPIO_bit(GPIO_ON_KEY) ) {
-+ if ( GPLR(GPIO_ON_KEY) & GPIO_bit(GPIO_ON_KEY) || (!sharppda_kbdstate[1].in) ) { /* second half, if something other than cancel is pushed blc */
- /* release */
- count = 0;
- } else {
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluecard_cs.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluecard_cs.patch
deleted file mode 100644
index eacada33f5..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluecard_cs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-orig/drivers/bluetooth/bluecard_cs.c 2004-02-16 10:51:46.000000000 +0300
-+++ linux/drivers/bluetooth/bluecard_cs.c 2004-02-17 03:45:31.000000000 +0300
-@@ -102,7 +102,7 @@
-
-
- /* Default baud rate: 57600, 115200, 230400 or 460800 */
--#define DEFAULT_BAUD_RATE 230400
-+#define DEFAULT_BAUD_RATE 460800
-
-
- /* Hardware states */
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluetooth-2.4.18-mh15.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluetooth-2.4.18-mh15.patch
deleted file mode 100644
index d6575dd604..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bluetooth-2.4.18-mh15.patch
+++ /dev/null
@@ -1,32759 +0,0 @@
-diff -urN linux-2.4.18/arch/alpha/config.in linux-2.4.18-mh15/arch/alpha/config.in
---- linux-2.4.18/arch/alpha/config.in 2001-11-21 00:49:31.000000000 +0100
-+++ linux-2.4.18-mh15/arch/alpha/config.in 2004-08-01 16:26:22.000000000 +0200
-@@ -371,9 +371,7 @@
- source drivers/usb/Config.in
- source drivers/input/Config.in
-
--if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-- source net/bluetooth/Config.in
--fi
-+source net/bluetooth/Config.in
-
- mainmenu_option next_comment
- comment 'Kernel hacking'
-diff -urN linux-2.4.18/arch/arm/config.in linux-2.4.18-mh15/arch/arm/config.in
---- linux-2.4.18/arch/arm/config.in 2001-11-09 22:58:02.000000000 +0100
-+++ linux-2.4.18-mh15/arch/arm/config.in 2004-08-01 16:26:22.000000000 +0200
-@@ -584,9 +584,7 @@
-
- source drivers/usb/Config.in
-
--if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-- source net/bluetooth/Config.in
--fi
-+source net/bluetooth/Config.in
-
- mainmenu_option next_comment
- comment 'Kernel hacking'
-diff -urN linux-2.4.18/arch/i386/config.in linux-2.4.18-mh15/arch/i386/config.in
---- linux-2.4.18/arch/i386/config.in 2002-02-25 20:37:52.000000000 +0100
-+++ linux-2.4.18-mh15/arch/i386/config.in 2004-08-01 16:26:22.000000000 +0200
-@@ -407,9 +407,7 @@
-
- source drivers/usb/Config.in
-
--if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-- source net/bluetooth/Config.in
--fi
-+source net/bluetooth/Config.in
-
- mainmenu_option next_comment
- comment 'Kernel hacking'
-diff -urN linux-2.4.18/arch/ppc/config.in linux-2.4.18-mh15/arch/ppc/config.in
---- linux-2.4.18/arch/ppc/config.in 2002-02-25 20:37:55.000000000 +0100
-+++ linux-2.4.18-mh15/arch/ppc/config.in 2004-08-01 16:26:22.000000000 +0200
-@@ -389,9 +389,7 @@
-
- source drivers/usb/Config.in
-
--if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-- source net/bluetooth/Config.in
--fi
-+source net/bluetooth/Config.in
-
- mainmenu_option next_comment
- comment 'Kernel hacking'
-diff -urN linux-2.4.18/arch/sparc/config.in linux-2.4.18-mh15/arch/sparc/config.in
---- linux-2.4.18/arch/sparc/config.in 2001-06-12 04:15:27.000000000 +0200
-+++ linux-2.4.18-mh15/arch/sparc/config.in 2004-08-01 16:26:22.000000000 +0200
-@@ -251,9 +251,7 @@
-
- source fs/Config.in
-
--if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-- source net/bluetooth/Config.in
--fi
-+source net/bluetooth/Config.in
-
- mainmenu_option next_comment
- comment 'Watchdog'
-diff -urN linux-2.4.18/arch/sparc64/config.in linux-2.4.18-mh15/arch/sparc64/config.in
---- linux-2.4.18/arch/sparc64/config.in 2001-12-21 18:41:53.000000000 +0100
-+++ linux-2.4.18-mh15/arch/sparc64/config.in 2004-08-01 16:26:22.000000000 +0200
-@@ -283,9 +283,7 @@
-
- source drivers/usb/Config.in
-
--if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-- source net/bluetooth/Config.in
--fi
-+source net/bluetooth/Config.in
-
- mainmenu_option next_comment
- comment 'Watchdog'
-diff -urN linux-2.4.18/arch/sparc64/kernel/ioctl32.c linux-2.4.18-mh15/arch/sparc64/kernel/ioctl32.c
---- linux-2.4.18/arch/sparc64/kernel/ioctl32.c 2002-02-25 20:37:56.000000000 +0100
-+++ linux-2.4.18-mh15/arch/sparc64/kernel/ioctl32.c 2004-08-01 16:26:23.000000000 +0200
-@@ -92,6 +92,7 @@
-
- #include <net/bluetooth/bluetooth.h>
- #include <net/bluetooth/hci.h>
-+#include <net/bluetooth/rfcomm.h>
-
- #include <linux/usb.h>
- #include <linux/usbdevice_fs.h>
-@@ -3822,6 +3823,15 @@
- return err;
- }
-
-+/* Bluetooth ioctls */
-+#define HCIUARTSETPROTO _IOW('U', 200, int)
-+#define HCIUARTGETPROTO _IOR('U', 201, int)
-+
-+#define BNEPCONNADD _IOW('B', 200, int)
-+#define BNEPCONNDEL _IOW('B', 201, int)
-+#define BNEPGETCONNLIST _IOR('B', 210, int)
-+#define BNEPGETCONNINFO _IOR('B', 211, int)
-+
- struct mtd_oob_buf32 {
- u32 start;
- u32 length;
-@@ -3878,6 +3888,16 @@
- return ((0 == ret) ? 0 : -EFAULT);
- }
-
-+#define CMTPCONNADD _IOW('C', 200, int)
-+#define CMTPCONNDEL _IOW('C', 201, int)
-+#define CMTPGETCONNLIST _IOR('C', 210, int)
-+#define CMTPGETCONNINFO _IOR('C', 211, int)
-+
-+#define HIDPCONNADD _IOW('H', 200, int)
-+#define HIDPCONNDEL _IOW('H', 201, int)
-+#define HIDPGETCONNLIST _IOR('H', 210, int)
-+#define HIDPGETCONNINFO _IOR('H', 211, int)
-+
- struct ioctl_trans {
- unsigned int cmd;
- unsigned int handler;
-@@ -4540,6 +4560,25 @@
- COMPATIBLE_IOCTL(HCISETSCAN)
- COMPATIBLE_IOCTL(HCISETAUTH)
- COMPATIBLE_IOCTL(HCIINQUIRY)
-+COMPATIBLE_IOCTL(HCIUARTSETPROTO)
-+COMPATIBLE_IOCTL(HCIUARTGETPROTO)
-+COMPATIBLE_IOCTL(RFCOMMCREATEDEV)
-+COMPATIBLE_IOCTL(RFCOMMRELEASEDEV)
-+COMPATIBLE_IOCTL(RFCOMMGETDEVLIST)
-+COMPATIBLE_IOCTL(RFCOMMGETDEVINFO)
-+COMPATIBLE_IOCTL(RFCOMMSTEALDLC)
-+COMPATIBLE_IOCTL(BNEPCONNADD)
-+COMPATIBLE_IOCTL(BNEPCONNDEL)
-+COMPATIBLE_IOCTL(BNEPGETCONNLIST)
-+COMPATIBLE_IOCTL(BNEPGETCONNINFO)
-+COMPATIBLE_IOCTL(CMTPCONNADD)
-+COMPATIBLE_IOCTL(CMTPCONNDEL)
-+COMPATIBLE_IOCTL(CMTPGETCONNLIST)
-+COMPATIBLE_IOCTL(CMTPGETCONNINFO)
-+COMPATIBLE_IOCTL(HIDPCONNADD)
-+COMPATIBLE_IOCTL(HIDPCONNDEL)
-+COMPATIBLE_IOCTL(HIDPGETCONNLIST)
-+COMPATIBLE_IOCTL(HIDPGETCONNINFO)
- /* Misc. */
- COMPATIBLE_IOCTL(0x41545900) /* ATYIO_CLKR */
- COMPATIBLE_IOCTL(0x41545901) /* ATYIO_CLKW */
-diff -urN linux-2.4.18/CREDITS linux-2.4.18-mh15/CREDITS
---- linux-2.4.18/CREDITS 2002-02-25 20:37:50.000000000 +0100
-+++ linux-2.4.18-mh15/CREDITS 2004-08-01 16:26:23.000000000 +0200
-@@ -1317,6 +1317,16 @@
- S: Provo, Utah 84606-5607
- S: USA
-
-+N: Marcel Holtmann
-+E: marcel@holtmann.org
-+W: http://www.holtmann.org
-+D: Maintainer of the Linux Bluetooth Subsystem
-+D: Author and maintainer of the various Bluetooth HCI drivers
-+D: Author and maintainer of the CAPI message transport protocol driver
-+D: Author and maintainer of the Bluetooth HID protocol driver
-+D: Various other Bluetooth related patches, cleanups and fixes
-+S: Germany
-+
- N: Rob W. W. Hooft
- E: hooft@EMBL-Heidelberg.DE
- D: Shared libs for graphics-tools and for the f2c compiler
-@@ -2546,6 +2556,7 @@
- N: Aristeu Sergio Rozanski Filho
- E: aris@conectiva.com.br
- D: Support for EtherExpress 10 ISA (i82595) in eepro driver
-+D: User level driver support for input
- S: Conectiva S.A.
- S: R. Tocantins, 89 - Cristo Rei
- S: 80050-430 - Curitiba - Paraná
-diff -urN linux-2.4.18/Documentation/Configure.help linux-2.4.18-mh15/Documentation/Configure.help
---- linux-2.4.18/Documentation/Configure.help 2002-02-25 20:37:51.000000000 +0100
-+++ linux-2.4.18-mh15/Documentation/Configure.help 2004-08-01 16:26:23.000000000 +0200
-@@ -2824,14 +2824,6 @@
-
- If unsure, say N.
-
--HCI EMU (virtual device) driver
--CONFIG_BLUEZ_HCIEMU
-- Bluetooth Virtual HCI device driver.
-- This driver is required if you want to use HCI Emulation software.
--
-- Say Y here to compile support for Virtual HCI devices into the
-- kernel or say M to compile it as module (hci_usb.o).
--
- # Choice: alphatype
- Alpha system type
- CONFIG_ALPHA_GENERIC
-@@ -11037,6 +11029,12 @@
-
- If unsure, say N.
-
-+Hotplug firmware loading support (EXPERIMENTAL)
-+CONFIG_FW_LOADER
-+ This option is provided for the case where no in-kernel-tree modules require
-+ hotplug firmware loading support, but a module built outside the kernel tree
-+ does.
-+
- Use PCI shared memory for NIC registers
- CONFIG_TULIP_MMIO
- Use PCI shared memory for the NIC registers, rather than going through
-@@ -12896,6 +12894,15 @@
- accessible under char device 13:64+ - /dev/input/eventX in a generic
- way. This is the future ...
-
-+CONFIG_INPUT_UINPUT
-+ Say Y here if you want to support user level drivers for input
-+ subsystem accessible under char device 10:223 - /dev/input/uinput.
-+
-+ This driver is also available as a module ( = code which can be
-+ inserted in and removed from the running kernel whenever you want).
-+ The module will be called uinput.o. If you want to compile it as a
-+ module, say M here and read <file:Documentation/modules.txt>.
-+
- USB Scanner support
- CONFIG_USB_SCANNER
- Say Y here if you want to connect a USB scanner to your computer's
-@@ -19870,19 +19877,22 @@
- Bluetooth can be found at <http://www.bluetooth.com/>.
-
- Linux Bluetooth subsystem consist of several layers:
-- HCI Core (device and connection manager, scheduler)
-- HCI Device drivers (interface to the hardware)
-- L2CAP Module (L2CAP protocol)
-+ BlueZ Core (HCI device and connection manager, scheduler)
-+ HCI Device drivers (Interface to the hardware)
-+ SCO Module (SCO audio links)
-+ L2CAP Module (Logical Link Control and Adaptation Protocol)
-+ RFCOMM Module (RFCOMM Protocol)
-+ BNEP Module (Bluetooth Network Encapsulation Protocol)
-+ CMTP Module (CAPI Message Transport Protocol)
-+ HIDP Module (Human Interface Device Protocol)
-
-- Say Y here to enable Linux Bluetooth support and to build HCI Core
-- layer.
-+ Say Y here to compile Bluetooth support into the kernel or say M to
-+ compile it as module (bluez.o).
-
- To use Linux Bluetooth subsystem, you will need several user-space
- utilities like hciconfig and hcid. These utilities and updates to
- Bluetooth kernel modules are provided in the BlueZ package.
-- For more information, see <http://bluez.sourceforge.net/>.
--
-- If you want to compile HCI Core as module (hci.o) say M here.
-+ For more information, see <http://www.bluez.org/>.
-
- L2CAP protocol support
- CONFIG_BLUEZ_L2CAP
-@@ -19893,15 +19903,96 @@
- Say Y here to compile L2CAP support into the kernel or say M to
- compile it as module (l2cap.o).
-
-+SCO links support
-+CONFIG_BLUEZ_SCO
-+ SCO link provides voice transport over Bluetooth. SCO support is
-+ required for voice applications like Headset and Audio.
-+
-+ Say Y here to compile SCO support into the kernel or say M to
-+ compile it as module (sco.o).
-+
-+RFCOMM protocol support
-+CONFIG_BLUEZ_RFCOMM
-+ RFCOMM provides connection oriented stream transport. RFCOMM
-+ support is required for Dialup Networking, OBEX and other Bluetooth
-+ applications.
-+
-+ Say Y here to compile RFCOMM support into the kernel or say M to
-+ compile it as module (rfcomm.o).
-+
-+RFCOMM TTY emulation support
-+CONFIG_BLUEZ_RFCOMM_TTY
-+ This option enables TTY emulation support for RFCOMM channels.
-+
-+BNEP protocol support
-+CONFIG_BLUEZ_BNEP
-+ BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
-+ emulation layer on top of Bluetooth. BNEP is required for
-+ Bluetooth PAN (Personal Area Network).
-+
-+ Say Y here to compile BNEP support into the kernel or say M to
-+ compile it as module (bnep.o).
-+
-+BNEP multicast filter support
-+CONFIG_BLUEZ_BNEP_MC_FILTER
-+ This option enables the multicast filter support for BNEP.
-+
-+BNEP protocol filter support
-+CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+ This option enables the protocol filter support for BNEP.
-+
-+CMTP protocol support
-+CONFIG_BLUEZ_CMTP
-+ CMTP (CAPI Message Transport Protocol) is a transport layer
-+ for CAPI messages. CMTP is required for the Bluetooth Common
-+ ISDN Access Profile.
-+
-+ Say Y here to compile CMTP support into the kernel or say M to
-+ compile it as module (cmtp.o).
-+
-+HIDP protocol support
-+CONFIG_BLUEZ_HIDP
-+ HIDP (Human Interface Device Protocol) is a transport layer
-+ for HID reports. HIDP is required for the Bluetooth Human
-+ Interface Device Profile.
-+
-+ Say Y here to compile HIDP support into the kernel or say M to
-+ compile it as module (hidp.o).
-+
- HCI UART driver
- CONFIG_BLUEZ_HCIUART
- Bluetooth HCI UART driver.
- This driver is required if you want to use Bluetooth devices with
-- serial port interface.
-+ serial port interface. You will also need this driver if you have
-+ UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
-+ adapter and BrainBoxes Bluetooth PC Card.
-
- Say Y here to compile support for Bluetooth UART devices into the
- kernel or say M to compile it as module (hci_uart.o).
-
-+HCI UART (H4) protocol support
-+CONFIG_BLUEZ_HCIUART_H4
-+ UART (H4) is serial protocol for communication between Bluetooth
-+ device and host. This protocol is required for most Bluetooth devices
-+ with UART interface, including PCMCIA and CF cards.
-+
-+ Say Y here to compile support for HCI UART (H4) protocol.
-+
-+HCI BCSP protocol support
-+CONFIG_BLUEZ_HCIUART_BCSP
-+ BCSP (BlueCore Serial Protocol) is serial protocol for communication
-+ between Bluetooth device and host. This protocol is required for non
-+ USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
-+ CF cards.
-+
-+ Say Y here to compile support for HCI BCSP protocol.
-+
-+HCI BCSP transmit CRC with every BCSP packet
-+CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
-+ If you say Y here, a 16-bit CRC checksum will be transmitted along with
-+ every BCSP (BlueCore Serial Protocol) packet sent to the Bluetooth chip.
-+ This increases reliability, but slightly reduces efficiency.
-+
- HCI USB driver
- CONFIG_BLUEZ_HCIUSB
- Bluetooth HCI USB driver.
-@@ -19911,7 +20002,16 @@
- Say Y here to compile support for Bluetooth USB devices into the
- kernel or say M to compile it as module (hci_usb.o).
-
--HCI VHCI virtual HCI device driver
-+HCI USB SCO (voice) support
-+CONFIG_BLUEZ_HCIUSB_SCO
-+ This option enables the SCO support in the HCI USB driver. You need this
-+ to transmit voice data with your Bluetooth USB device. And your device
-+ must also support sending SCO data over the HCI layer, because some of
-+ them sends the SCO data to an internal PCM adapter.
-+
-+ Say Y here to compile support for HCI SCO data.
-+
-+HCI VHCI Virtual HCI device driver
- CONFIG_BLUEZ_HCIVHCI
- Bluetooth Virtual HCI device driver.
- This driver is required if you want to use HCI Emulation software.
-@@ -19919,6 +20019,63 @@
- Say Y here to compile support for virtual HCI devices into the
- kernel or say M to compile it as module (hci_vhci.o).
-
-+HCI BFUSB device driver
-+CONFIG_BLUEZ_HCIBFUSB
-+ Bluetooth HCI BlueFRITZ! USB driver.
-+ This driver provides support for Bluetooth USB devices with AVM
-+ interface:
-+ AVM BlueFRITZ! USB
-+
-+ Say Y here to compile support for HCI BFUSB devices into the
-+ kernel or say M to compile it as module (bfusb.o).
-+
-+HCI DTL1 (PC Card) device driver
-+CONFIG_BLUEZ_HCIDTL1
-+ Bluetooth HCI DTL1 (PC Card) driver.
-+ This driver provides support for Bluetooth PCMCIA devices with
-+ Nokia DTL1 interface:
-+ Nokia Bluetooth Card
-+ Socket Bluetooth CF Card
-+
-+ Say Y here to compile support for HCI DTL1 devices into the
-+ kernel or say M to compile it as module (dtl1_cs.o).
-+
-+HCI BT3C (PC Card) device driver
-+CONFIG_BLUEZ_HCIBT3C
-+ Bluetooth HCI BT3C (PC Card) driver.
-+ This driver provides support for Bluetooth PCMCIA devices with
-+ 3Com BT3C interface:
-+ 3Com Bluetooth Card (3CRWB6096)
-+ HP Bluetooth Card
-+
-+ Say Y here to compile support for HCI BT3C devices into the
-+ kernel or say M to compile it as module (bt3c_cs.o).
-+
-+HCI BlueCard (PC Card) device driver
-+CONFIG_BLUEZ_HCIBLUECARD
-+ Bluetooth HCI BlueCard (PC Card) driver.
-+ This driver provides support for Bluetooth PCMCIA devices with
-+ Anycom BlueCard interface:
-+ Anycom Bluetooth PC Card
-+ Anycom Bluetooth CF Card
-+
-+ Say Y here to compile support for HCI BlueCard devices into the
-+ kernel or say M to compile it as module (bluecard_cs.o).
-+
-+HCI UART (PC Card) device driver
-+CONFIG_BLUEZ_HCIBTUART
-+ Bluetooth HCI UART (PC Card) driver.
-+ This driver provides support for Bluetooth PCMCIA devices with
-+ an UART interface:
-+ Xircom CreditCard Bluetooth Adapter
-+ Xircom RealPort2 Bluetooth Adapter
-+ Sphinx PICO Card
-+ H-Soft blue+Card
-+ Cyber-blue Compact Flash Card
-+
-+ Say Y here to compile support for HCI UART devices into the
-+ kernel or say M to compile it as module (btuart_cs.o).
-+
- # The following options are for Linux when running on the Hitachi
- # SuperH family of RISC microprocessors.
-
-diff -urN linux-2.4.18/Documentation/devices.txt linux-2.4.18-mh15/Documentation/devices.txt
---- linux-2.4.18/Documentation/devices.txt 2001-11-07 23:46:01.000000000 +0100
-+++ linux-2.4.18-mh15/Documentation/devices.txt 2004-08-01 16:26:23.000000000 +0200
-@@ -419,6 +419,7 @@
- 220 = /dev/mptctl Message passing technology (MPT) control
- 221 = /dev/mvista/hssdsi Montavista PICMG hot swap system driver
- 222 = /dev/mvista/hasi Montavista PICMG high availability
-+ 223 = /dev/input/uinput User level driver support for input
- 240-255 Reserved for local use
-
- 11 char Raw keyboard device
-diff -urN linux-2.4.18/Documentation/firmware_class/firmware_sample_driver.c linux-2.4.18-mh15/Documentation/firmware_class/firmware_sample_driver.c
---- linux-2.4.18/Documentation/firmware_class/firmware_sample_driver.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/Documentation/firmware_class/firmware_sample_driver.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,121 @@
-+/*
-+ * firmware_sample_driver.c -
-+ *
-+ * Copyright (c) 2003 Manuel Estrada Sainz <ranty@debian.org>
-+ *
-+ * Sample code on how to use request_firmware() from drivers.
-+ *
-+ * Note that register_firmware() is currently useless.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/string.h>
-+
-+#include "linux/firmware.h"
-+
-+#define WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE
-+#ifdef WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE
-+char __init inkernel_firmware[] = "let's say that this is firmware\n";
-+#endif
-+
-+static char ghost_device[] = "ghost0";
-+
-+static void sample_firmware_load(char *firmware, int size)
-+{
-+ u8 buf[size+1];
-+ memcpy(buf, firmware, size);
-+ buf[size] = '\0';
-+ printk("firmware_sample_driver: firmware: %s\n", buf);
-+}
-+
-+static void sample_probe_default(void)
-+{
-+ /* uses the default method to get the firmware */
-+ const struct firmware *fw_entry;
-+ printk("firmware_sample_driver: a ghost device got inserted :)\n");
-+
-+ if(request_firmware(&fw_entry, "sample_driver_fw", ghost_device)!=0)
-+ {
-+ printk(KERN_ERR
-+ "firmware_sample_driver: Firmware not available\n");
-+ return;
-+ }
-+
-+ sample_firmware_load(fw_entry->data, fw_entry->size);
-+
-+ release_firmware(fw_entry);
-+
-+ /* finish setting up the device */
-+}
-+static void sample_probe_specific(void)
-+{
-+ /* Uses some specific hotplug support to get the firmware from
-+ * userspace directly into the hardware, or via some sysfs file */
-+
-+ /* NOTE: This currently doesn't work */
-+
-+ printk("firmware_sample_driver: a ghost device got inserted :)\n");
-+
-+ if(request_firmware(NULL, "sample_driver_fw", ghost_device)!=0)
-+ {
-+ printk(KERN_ERR
-+ "firmware_sample_driver: Firmware load failed\n");
-+ return;
-+ }
-+
-+ /* request_firmware blocks until userspace finished, so at
-+ * this point the firmware should be already in the device */
-+
-+ /* finish setting up the device */
-+}
-+static void sample_probe_async_cont(const struct firmware *fw, void *context)
-+{
-+ if(!fw){
-+ printk(KERN_ERR
-+ "firmware_sample_driver: firmware load failed\n");
-+ return;
-+ }
-+
-+ printk("firmware_sample_driver: device pointer \"%s\"\n",
-+ (char *)context);
-+ sample_firmware_load(fw->data, fw->size);
-+}
-+static void sample_probe_async(void)
-+{
-+ /* Let's say that I can't sleep */
-+ int error;
-+ error = request_firmware_nowait (THIS_MODULE,
-+ "sample_driver_fw", ghost_device,
-+ "my device pointer",
-+ sample_probe_async_cont);
-+ if(error){
-+ printk(KERN_ERR
-+ "firmware_sample_driver:"
-+ " request_firmware_nowait failed\n");
-+ }
-+}
-+
-+static int sample_init(void)
-+{
-+#ifdef WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE
-+ register_firmware("sample_driver_fw", inkernel_firmware,
-+ sizeof(inkernel_firmware));
-+#endif
-+ /* since there is no real hardware insertion I just call the
-+ * sample probe functions here */
-+ sample_probe_specific();
-+ sample_probe_default();
-+ sample_probe_async();
-+ return 0;
-+}
-+static void __exit sample_exit(void)
-+{
-+}
-+
-+module_init (sample_init);
-+module_exit (sample_exit);
-+
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/Documentation/firmware_class/hotplug-script linux-2.4.18-mh15/Documentation/firmware_class/hotplug-script
---- linux-2.4.18/Documentation/firmware_class/hotplug-script 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/Documentation/firmware_class/hotplug-script 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,16 @@
-+#!/bin/sh
-+
-+# Simple hotplug script sample:
-+#
-+# Both $DEVPATH and $FIRMWARE are already provided in the environment.
-+
-+HOTPLUG_FW_DIR=/usr/lib/hotplug/firmware/
-+
-+echo 1 > /sysfs/$DEVPATH/loading
-+cat $HOTPLUG_FW_DIR/$FIRMWARE > /sysfs/$DEVPATH/data
-+echo 0 > /sysfs/$DEVPATH/loading
-+
-+# To cancel the load in case of error:
-+#
-+# echo -1 > /sysfs/$DEVPATH/loading
-+#
-diff -urN linux-2.4.18/Documentation/firmware_class/README linux-2.4.18-mh15/Documentation/firmware_class/README
---- linux-2.4.18/Documentation/firmware_class/README 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/Documentation/firmware_class/README 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,58 @@
-+
-+ request_firmware() hotplug interface:
-+ ------------------------------------
-+ Copyright (C) 2003 Manuel Estrada Sainz <ranty@debian.org>
-+
-+ Why:
-+ ---
-+
-+ Today, the most extended way to use firmware in the Linux kernel is linking
-+ it statically in a header file. Which has political and technical issues:
-+
-+ 1) Some firmware is not legal to redistribute.
-+ 2) The firmware occupies memory permanently, even though it often is just
-+ used once.
-+ 3) Some people, like the Debian crowd, don't consider some firmware free
-+ enough and remove entire drivers (e.g.: keyspan).
-+
-+ about in-kernel persistence:
-+ ---------------------------
-+ Under some circumstances, as explained below, it would be interesting to keep
-+ firmware images in non-swappable kernel memory or even in the kernel image
-+ (probably within initramfs).
-+
-+ Note that this functionality has not been implemented.
-+
-+ - Why OPTIONAL in-kernel persistence may be a good idea sometimes:
-+
-+ - If the device that needs the firmware is needed to access the
-+ filesystem. When upon some error the device has to be reset and the
-+ firmware reloaded, it won't be possible to get it from userspace.
-+ e.g.:
-+ - A diskless client with a network card that needs firmware.
-+ - The filesystem is stored in a disk behind an scsi device
-+ that needs firmware.
-+ - Replacing buggy DSDT/SSDT ACPI tables on boot.
-+ Note: this would require the persistent objects to be included
-+ within the kernel image, probably within initramfs.
-+
-+ And the same device can be needed to access the filesystem or not depending
-+ on the setup, so I think that the choice on what firmware to make
-+ persistent should be left to userspace.
-+
-+ - Why register_firmware()+__init can be useful:
-+ - For boot devices needing firmware.
-+ - To make the transition easier:
-+ The firmware can be declared __init and register_firmware()
-+ called on module_init. Then the firmware is warranted to be
-+ there even if "firmware hotplug userspace" is not there yet or
-+ it doesn't yet provide the needed firmware.
-+ Once the firmware is widely available in userspace, it can be
-+ removed from the kernel. Or made optional (CONFIG_.*_FIRMWARE).
-+
-+ In either case, if firmware hotplug support is there, it can move the
-+ firmware out of kernel memory into the real filesystem for later
-+ usage.
-+
-+ Note: If persistence is implemented on top of initramfs,
-+ register_firmware() may not be appropriate.
-diff -urN linux-2.4.18/drivers/bluetooth/bfusb.c linux-2.4.18-mh15/drivers/bluetooth/bfusb.c
---- linux-2.4.18/drivers/bluetooth/bfusb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/bfusb.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,782 @@
-+/*
-+ *
-+ * AVM BlueFRITZ! USB driver
-+ *
-+ * Copyright (C) 2003 Marcel Holtmann <marcel@holtmann.org>
-+ *
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/types.h>
-+#include <linux/sched.h>
-+#include <linux/errno.h>
-+#include <linux/skbuff.h>
-+
-+#include <linux/firmware.h>
-+#include <linux/usb.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+#ifndef CONFIG_BLUEZ_HCIBFUSB_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+#define VERSION "1.1"
-+
-+static struct usb_device_id bfusb_table[] = {
-+ /* AVM BlueFRITZ! USB */
-+ { USB_DEVICE(0x057c, 0x2200) },
-+
-+ { } /* Terminating entry */
-+};
-+
-+MODULE_DEVICE_TABLE(usb, bfusb_table);
-+
-+
-+#define BFUSB_MAX_BLOCK_SIZE 256
-+
-+#define BFUSB_BLOCK_TIMEOUT (HZ * 3)
-+
-+#define BFUSB_TX_PROCESS 1
-+#define BFUSB_TX_WAKEUP 2
-+
-+#define BFUSB_MAX_BULK_TX 1
-+#define BFUSB_MAX_BULK_RX 1
-+
-+struct bfusb {
-+ struct hci_dev hdev;
-+
-+ unsigned long state;
-+
-+ struct usb_device *udev;
-+
-+ unsigned int bulk_in_ep;
-+ unsigned int bulk_out_ep;
-+ unsigned int bulk_pkt_size;
-+
-+ rwlock_t lock;
-+
-+ struct sk_buff_head transmit_q;
-+
-+ struct sk_buff *reassembly;
-+
-+ atomic_t pending_tx;
-+ struct sk_buff_head pending_q;
-+ struct sk_buff_head completed_q;
-+};
-+
-+struct bfusb_scb {
-+ struct urb *urb;
-+};
-+
-+static void bfusb_tx_complete(struct urb *urb);
-+static void bfusb_rx_complete(struct urb *urb);
-+
-+static struct urb *bfusb_get_completed(struct bfusb *bfusb)
-+{
-+ struct sk_buff *skb;
-+ struct urb *urb = NULL;
-+
-+ BT_DBG("bfusb %p", bfusb);
-+
-+ skb = skb_dequeue(&bfusb->completed_q);
-+ if (skb) {
-+ urb = ((struct bfusb_scb *) skb->cb)->urb;
-+ kfree_skb(skb);
-+ }
-+
-+ return urb;
-+}
-+
-+static inline void bfusb_unlink_urbs(struct bfusb *bfusb)
-+{
-+ struct sk_buff *skb;
-+ struct urb *urb;
-+
-+ BT_DBG("bfusb %p", bfusb);
-+
-+ while ((skb = skb_dequeue(&bfusb->pending_q))) {
-+ urb = ((struct bfusb_scb *) skb->cb)->urb;
-+ usb_unlink_urb(urb);
-+ skb_queue_tail(&bfusb->completed_q, skb);
-+ }
-+
-+ while ((urb = bfusb_get_completed(bfusb)))
-+ usb_free_urb(urb);
-+}
-+
-+
-+static int bfusb_send_bulk(struct bfusb *bfusb, struct sk_buff *skb)
-+{
-+ struct bfusb_scb *scb = (void *) skb->cb;
-+ struct urb *urb = bfusb_get_completed(bfusb);
-+ int err, pipe;
-+
-+ BT_DBG("bfusb %p skb %p len %d", bfusb, skb, skb->len);
-+
-+ if (!urb && !(urb = usb_alloc_urb(0)))
-+ return -ENOMEM;
-+
-+ pipe = usb_sndbulkpipe(bfusb->udev, bfusb->bulk_out_ep);
-+
-+ FILL_BULK_URB(urb, bfusb->udev, pipe, skb->data, skb->len,
-+ bfusb_tx_complete, skb);
-+
-+ urb->transfer_flags = USB_QUEUE_BULK;
-+
-+ scb->urb = urb;
-+
-+ skb_queue_tail(&bfusb->pending_q, skb);
-+
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s bulk tx submit failed urb %p err %d",
-+ bfusb->hdev.name, urb, err);
-+ skb_unlink(skb);
-+ usb_free_urb(urb);
-+ } else
-+ atomic_inc(&bfusb->pending_tx);
-+
-+ return err;
-+}
-+
-+static void bfusb_tx_wakeup(struct bfusb *bfusb)
-+{
-+ struct sk_buff *skb;
-+
-+ BT_DBG("bfusb %p", bfusb);
-+
-+ if (test_and_set_bit(BFUSB_TX_PROCESS, &bfusb->state)) {
-+ set_bit(BFUSB_TX_WAKEUP, &bfusb->state);
-+ return;
-+ }
-+
-+ do {
-+ clear_bit(BFUSB_TX_WAKEUP, &bfusb->state);
-+
-+ while ((atomic_read(&bfusb->pending_tx) < BFUSB_MAX_BULK_TX) &&
-+ (skb = skb_dequeue(&bfusb->transmit_q))) {
-+ if (bfusb_send_bulk(bfusb, skb) < 0) {
-+ skb_queue_head(&bfusb->transmit_q, skb);
-+ break;
-+ }
-+ }
-+
-+ } while (test_bit(BFUSB_TX_WAKEUP, &bfusb->state));
-+
-+ clear_bit(BFUSB_TX_PROCESS, &bfusb->state);
-+}
-+
-+static void bfusb_tx_complete(struct urb *urb)
-+{
-+ struct sk_buff *skb = (struct sk_buff *) urb->context;
-+ struct bfusb *bfusb = (struct bfusb *) skb->dev;
-+
-+ BT_DBG("bfusb %p urb %p skb %p len %d", bfusb, urb, skb, skb->len);
-+
-+ atomic_dec(&bfusb->pending_tx);
-+
-+ if (!test_bit(HCI_RUNNING, &bfusb->hdev.flags))
-+ return;
-+
-+ if (!urb->status)
-+ bfusb->hdev.stat.byte_tx += skb->len;
-+ else
-+ bfusb->hdev.stat.err_tx++;
-+
-+ read_lock(&bfusb->lock);
-+
-+ skb_unlink(skb);
-+ skb_queue_tail(&bfusb->completed_q, skb);
-+
-+ bfusb_tx_wakeup(bfusb);
-+
-+ read_unlock(&bfusb->lock);
-+}
-+
-+
-+static int bfusb_rx_submit(struct bfusb *bfusb, struct urb *urb)
-+{
-+ struct bfusb_scb *scb;
-+ struct sk_buff *skb;
-+ int err, pipe, size = HCI_MAX_FRAME_SIZE + 32;
-+
-+ BT_DBG("bfusb %p urb %p", bfusb, urb);
-+
-+ if (!urb && !(urb = usb_alloc_urb(0)))
-+ return -ENOMEM;
-+
-+ if (!(skb = bluez_skb_alloc(size, GFP_ATOMIC))) {
-+ usb_free_urb(urb);
-+ return -ENOMEM;
-+ }
-+
-+ skb->dev = (void *) bfusb;
-+
-+ scb = (struct bfusb_scb *) skb->cb;
-+ scb->urb = urb;
-+
-+ pipe = usb_rcvbulkpipe(bfusb->udev, bfusb->bulk_in_ep);
-+
-+ FILL_BULK_URB(urb, bfusb->udev, pipe, skb->data, size,
-+ bfusb_rx_complete, skb);
-+
-+ urb->transfer_flags = USB_QUEUE_BULK;
-+
-+ skb_queue_tail(&bfusb->pending_q, skb);
-+
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s bulk rx submit failed urb %p err %d",
-+ bfusb->hdev.name, urb, err);
-+ skb_unlink(skb);
-+ kfree_skb(skb);
-+ usb_free_urb(urb);
-+ }
-+
-+ return err;
-+}
-+
-+static inline int bfusb_recv_block(struct bfusb *bfusb, int hdr, unsigned char *data, int len)
-+{
-+ BT_DBG("bfusb %p hdr 0x%02x data %p len %d", bfusb, hdr, data, len);
-+
-+ if (hdr & 0x10) {
-+ BT_ERR("%s error in block", bfusb->hdev.name);
-+ if (bfusb->reassembly)
-+ kfree_skb(bfusb->reassembly);
-+ bfusb->reassembly = NULL;
-+ return -EIO;
-+ }
-+
-+ if (hdr & 0x04) {
-+ struct sk_buff *skb;
-+ unsigned char pkt_type;
-+ int pkt_len = 0;
-+
-+ if (bfusb->reassembly) {
-+ BT_ERR("%s unexpected start block", bfusb->hdev.name);
-+ kfree_skb(bfusb->reassembly);
-+ bfusb->reassembly = NULL;
-+ }
-+
-+ if (len < 1) {
-+ BT_ERR("%s no packet type found", bfusb->hdev.name);
-+ return -EPROTO;
-+ }
-+
-+ pkt_type = *data++; len--;
-+
-+ switch (pkt_type) {
-+ case HCI_EVENT_PKT:
-+ if (len >= HCI_EVENT_HDR_SIZE) {
-+ hci_event_hdr *hdr = (hci_event_hdr *) data;
-+ pkt_len = HCI_EVENT_HDR_SIZE + hdr->plen;
-+ } else {
-+ BT_ERR("%s event block is too short", bfusb->hdev.name);
-+ return -EILSEQ;
-+ }
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ if (len >= HCI_ACL_HDR_SIZE) {
-+ hci_acl_hdr *hdr = (hci_acl_hdr *) data;
-+ pkt_len = HCI_ACL_HDR_SIZE + __le16_to_cpu(hdr->dlen);
-+ } else {
-+ BT_ERR("%s data block is too short", bfusb->hdev.name);
-+ return -EILSEQ;
-+ }
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ if (len >= HCI_SCO_HDR_SIZE) {
-+ hci_sco_hdr *hdr = (hci_sco_hdr *) data;
-+ pkt_len = HCI_SCO_HDR_SIZE + hdr->dlen;
-+ } else {
-+ BT_ERR("%s audio block is too short", bfusb->hdev.name);
-+ return -EILSEQ;
-+ }
-+ break;
-+ }
-+
-+ skb = bluez_skb_alloc(pkt_len, GFP_ATOMIC);
-+ if (!skb) {
-+ BT_ERR("%s no memory for the packet", bfusb->hdev.name);
-+ return -ENOMEM;
-+ }
-+
-+ skb->dev = (void *) &bfusb->hdev;
-+ skb->pkt_type = pkt_type;
-+
-+ bfusb->reassembly = skb;
-+ } else {
-+ if (!bfusb->reassembly) {
-+ BT_ERR("%s unexpected continuation block", bfusb->hdev.name);
-+ return -EIO;
-+ }
-+ }
-+
-+ if (len > 0)
-+ memcpy(skb_put(bfusb->reassembly, len), data, len);
-+
-+ if (hdr & 0x08) {
-+ hci_recv_frame(bfusb->reassembly);
-+ bfusb->reassembly = NULL;
-+ }
-+
-+ return 0;
-+}
-+
-+static void bfusb_rx_complete(struct urb *urb)
-+{
-+ struct sk_buff *skb = (struct sk_buff *) urb->context;
-+ struct bfusb *bfusb = (struct bfusb *) skb->dev;
-+ unsigned char *buf = urb->transfer_buffer;
-+ int count = urb->actual_length;
-+ int err, hdr, len;
-+
-+ BT_DBG("bfusb %p urb %p skb %p len %d", bfusb, urb, skb, skb->len);
-+
-+ read_lock(&bfusb->lock);
-+
-+ if (!test_bit(HCI_RUNNING, &bfusb->hdev.flags))
-+ goto unlock;
-+
-+ if (urb->status || !count)
-+ goto resubmit;
-+
-+ bfusb->hdev.stat.byte_rx += count;
-+
-+ skb_put(skb, count);
-+
-+ while (count) {
-+ hdr = buf[0] | (buf[1] << 8);
-+
-+ if (hdr & 0x4000) {
-+ len = 0;
-+ count -= 2;
-+ buf += 2;
-+ } else {
-+ len = (buf[2] == 0) ? 256 : buf[2];
-+ count -= 3;
-+ buf += 3;
-+ }
-+
-+ if (count < len) {
-+ BT_ERR("%s block extends over URB buffer ranges",
-+ bfusb->hdev.name);
-+ }
-+
-+ if ((hdr & 0xe1) == 0xc1)
-+ bfusb_recv_block(bfusb, hdr, buf, len);
-+
-+ count -= len;
-+ buf += len;
-+ }
-+
-+ skb_unlink(skb);
-+ kfree_skb(skb);
-+
-+ bfusb_rx_submit(bfusb, urb);
-+
-+ read_unlock(&bfusb->lock);
-+
-+ return;
-+
-+resubmit:
-+ urb->dev = bfusb->udev;
-+
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s bulk resubmit failed urb %p err %d",
-+ bfusb->hdev.name, urb, err);
-+ }
-+
-+unlock:
-+ read_unlock(&bfusb->lock);
-+}
-+
-+
-+static int bfusb_open(struct hci_dev *hdev)
-+{
-+ struct bfusb *bfusb = (struct bfusb *) hdev->driver_data;
-+ unsigned long flags;
-+ int i, err;
-+
-+ BT_DBG("hdev %p bfusb %p", hdev, bfusb);
-+
-+ if (test_and_set_bit(HCI_RUNNING, &hdev->flags))
-+ return 0;
-+
-+ MOD_INC_USE_COUNT;
-+
-+ write_lock_irqsave(&bfusb->lock, flags);
-+
-+ err = bfusb_rx_submit(bfusb, NULL);
-+ if (!err) {
-+ for (i = 1; i < BFUSB_MAX_BULK_RX; i++)
-+ bfusb_rx_submit(bfusb, NULL);
-+ } else {
-+ clear_bit(HCI_RUNNING, &hdev->flags);
-+ MOD_DEC_USE_COUNT;
-+ }
-+
-+ write_unlock_irqrestore(&bfusb->lock, flags);
-+
-+ return err;
-+}
-+
-+static int bfusb_flush(struct hci_dev *hdev)
-+{
-+ struct bfusb *bfusb = (struct bfusb *) hdev->driver_data;
-+
-+ BT_DBG("hdev %p bfusb %p", hdev, bfusb);
-+
-+ skb_queue_purge(&bfusb->transmit_q);
-+
-+ return 0;
-+}
-+
-+static int bfusb_close(struct hci_dev *hdev)
-+{
-+ struct bfusb *bfusb = (struct bfusb *) hdev->driver_data;
-+ unsigned long flags;
-+
-+ BT_DBG("hdev %p bfusb %p", hdev, bfusb);
-+
-+ if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
-+ return 0;
-+
-+ write_lock_irqsave(&bfusb->lock, flags);
-+
-+ bfusb_unlink_urbs(bfusb);
-+ bfusb_flush(hdev);
-+
-+ write_unlock_irqrestore(&bfusb->lock, flags);
-+
-+ MOD_DEC_USE_COUNT;
-+
-+ return 0;
-+}
-+
-+static int bfusb_send_frame(struct sk_buff *skb)
-+{
-+ struct hci_dev *hdev = (struct hci_dev *) skb->dev;
-+ struct bfusb *bfusb;
-+ struct sk_buff *nskb;
-+ unsigned char buf[3];
-+ int sent = 0, size, count;
-+
-+ BT_DBG("hdev %p skb %p type %d len %d", hdev, skb, skb->pkt_type, skb->len);
-+
-+ if (!hdev) {
-+ BT_ERR("Frame for unknown HCI device (hdev=NULL)");
-+ return -ENODEV;
-+ }
-+
-+ if (!test_bit(HCI_RUNNING, &hdev->flags))
-+ return -EBUSY;
-+
-+ bfusb = (struct bfusb *) hdev->driver_data;
-+
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ break;
-+ };
-+
-+ /* Prepend skb with frame type */
-+ memcpy(skb_push(skb, 1), &(skb->pkt_type), 1);
-+
-+ count = skb->len;
-+
-+ /* Max HCI frame size seems to be 1511 + 1 */
-+ if (!(nskb = bluez_skb_alloc(count + 32, GFP_ATOMIC))) {
-+ BT_ERR("Can't allocate memory for new packet");
-+ return -ENOMEM;
-+ }
-+
-+ nskb->dev = (void *) bfusb;
-+
-+ while (count) {
-+ size = min_t(uint, count, BFUSB_MAX_BLOCK_SIZE);
-+
-+ buf[0] = 0xc1 | ((sent == 0) ? 0x04 : 0) | ((count == size) ? 0x08 : 0);
-+ buf[1] = 0x00;
-+ buf[2] = (size == BFUSB_MAX_BLOCK_SIZE) ? 0 : size;
-+
-+ memcpy(skb_put(nskb, 3), buf, 3);
-+ memcpy(skb_put(nskb, size), skb->data + sent, size);
-+
-+ sent += size;
-+ count -= size;
-+ }
-+
-+ /* Don't send frame with multiple size of bulk max packet */
-+ if ((nskb->len % bfusb->bulk_pkt_size) == 0) {
-+ buf[0] = 0xdd;
-+ buf[1] = 0x00;
-+ memcpy(skb_put(nskb, 2), buf, 2);
-+ }
-+
-+ read_lock(&bfusb->lock);
-+
-+ skb_queue_tail(&bfusb->transmit_q, nskb);
-+ bfusb_tx_wakeup(bfusb);
-+
-+ read_unlock(&bfusb->lock);
-+
-+ kfree_skb(skb);
-+
-+ return 0;
-+}
-+
-+static void bfusb_destruct(struct hci_dev *hdev)
-+{
-+ struct bfusb *bfusb = (struct bfusb *) hdev->driver_data;
-+
-+ BT_DBG("hdev %p bfusb %p", hdev, bfusb);
-+
-+ kfree(bfusb);
-+}
-+
-+static int bfusb_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned long arg)
-+{
-+ return -ENOIOCTLCMD;
-+}
-+
-+
-+static int bfusb_load_firmware(struct bfusb *bfusb, unsigned char *firmware, int count)
-+{
-+ unsigned char *buf;
-+ int err, pipe, len, size, sent = 0;
-+
-+ BT_DBG("bfusb %p udev %p firmware %p count %d", bfusb, bfusb->udev, firmware, count);
-+
-+ BT_INFO("BlueFRITZ! USB loading firmware");
-+
-+ if (usb_set_configuration(bfusb->udev, 1) < 0) {
-+ BT_ERR("Can't change to loading configuration");
-+ return -EBUSY;
-+ }
-+
-+ buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_ATOMIC);
-+ if (!buf) {
-+ BT_ERR("Can't allocate memory chunk for firmware");
-+ return -ENOMEM;
-+ }
-+
-+ pipe = usb_sndbulkpipe(bfusb->udev, bfusb->bulk_out_ep);
-+
-+ while (count) {
-+ size = min_t(uint, count, BFUSB_MAX_BLOCK_SIZE + 3);
-+
-+ memcpy(buf, firmware + sent, size);
-+
-+ err = usb_bulk_msg(bfusb->udev, pipe, buf, size,
-+ &len, BFUSB_BLOCK_TIMEOUT);
-+
-+ if (err || (len != size)) {
-+ BT_ERR("Error in firmware loading");
-+ goto error;
-+ }
-+
-+ sent += size;
-+ count -= size;
-+ }
-+
-+ if ((err = usb_bulk_msg(bfusb->udev, pipe, NULL, 0,
-+ &len, BFUSB_BLOCK_TIMEOUT)) < 0) {
-+ BT_ERR("Error in null packet request");
-+ goto error;
-+ }
-+
-+ if ((err = usb_set_configuration(bfusb->udev, 2)) < 0) {
-+ BT_ERR("Can't change to running configuration");
-+ goto error;
-+ }
-+
-+ BT_INFO("BlueFRITZ! USB device ready");
-+
-+ kfree(buf);
-+ return 0;
-+
-+error:
-+ kfree(buf);
-+
-+ pipe = usb_sndctrlpipe(bfusb->udev, 0);
-+
-+ usb_control_msg(bfusb->udev, pipe, USB_REQ_SET_CONFIGURATION,
-+ 0, 0, 0, NULL, 0, BFUSB_BLOCK_TIMEOUT);
-+
-+ return err;
-+}
-+
-+static void *bfusb_probe(struct usb_device *udev, unsigned int ifnum, const struct usb_device_id *id)
-+{
-+ const struct firmware *firmware;
-+ char device[16];
-+ struct usb_interface *iface;
-+ struct usb_interface_descriptor *iface_desc;
-+ struct usb_endpoint_descriptor *bulk_out_ep;
-+ struct usb_endpoint_descriptor *bulk_in_ep;
-+ struct hci_dev *hdev;
-+ struct bfusb *bfusb;
-+
-+ BT_DBG("udev %p ifnum %d id %p", udev, ifnum, id);
-+
-+ /* Check number of endpoints */
-+ iface = &udev->actconfig->interface[0];
-+ iface_desc = &iface->altsetting[0];
-+
-+ if (iface_desc->bNumEndpoints < 2)
-+ return NULL;
-+
-+ bulk_out_ep = &iface_desc->endpoint[0];
-+ bulk_in_ep = &iface_desc->endpoint[1];
-+
-+ if (!bulk_out_ep || !bulk_in_ep) {
-+ BT_ERR("Bulk endpoints not found");
-+ goto done;
-+ }
-+
-+ /* Initialize control structure and load firmware */
-+ if (!(bfusb = kmalloc(sizeof(struct bfusb), GFP_KERNEL))) {
-+ BT_ERR("Can't allocate memory for control structure");
-+ goto done;
-+ }
-+
-+ memset(bfusb, 0, sizeof(struct bfusb));
-+
-+ bfusb->udev = udev;
-+ bfusb->bulk_in_ep = bulk_in_ep->bEndpointAddress;
-+ bfusb->bulk_out_ep = bulk_out_ep->bEndpointAddress;
-+ bfusb->bulk_pkt_size = bulk_out_ep->wMaxPacketSize;
-+
-+ bfusb->lock = RW_LOCK_UNLOCKED;
-+
-+ bfusb->reassembly = NULL;
-+
-+ skb_queue_head_init(&bfusb->transmit_q);
-+ skb_queue_head_init(&bfusb->pending_q);
-+ skb_queue_head_init(&bfusb->completed_q);
-+
-+ snprintf(device, sizeof(device), "bfusb%3.3d%3.3d", udev->bus->busnum, udev->devnum);
-+
-+ if (request_firmware(&firmware, "bfubase.frm", device) < 0) {
-+ BT_ERR("Firmware request failed");
-+ goto error;
-+ }
-+
-+ if (bfusb_load_firmware(bfusb, firmware->data, firmware->size) < 0) {
-+ BT_ERR("Firmware loading failed");
-+ goto release;
-+ }
-+
-+ release_firmware(firmware);
-+
-+ /* Initialize and register HCI device */
-+ hdev = &bfusb->hdev;
-+
-+ hdev->type = HCI_USB;
-+ hdev->driver_data = bfusb;
-+
-+ hdev->open = bfusb_open;
-+ hdev->close = bfusb_close;
-+ hdev->flush = bfusb_flush;
-+ hdev->send = bfusb_send_frame;
-+ hdev->destruct = bfusb_destruct;
-+ hdev->ioctl = bfusb_ioctl;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ BT_ERR("Can't register HCI device");
-+ goto error;
-+ }
-+
-+ return bfusb;
-+
-+release:
-+ release_firmware(firmware);
-+
-+error:
-+ kfree(bfusb);
-+
-+done:
-+ return NULL;
-+}
-+
-+static void bfusb_disconnect(struct usb_device *udev, void *ptr)
-+{
-+ struct bfusb *bfusb = (struct bfusb *) ptr;
-+ struct hci_dev *hdev = &bfusb->hdev;
-+
-+ BT_DBG("udev %p ptr %p", udev, ptr);
-+
-+ if (!hdev)
-+ return;
-+
-+ bfusb_close(hdev);
-+
-+ if (hci_unregister_dev(hdev) < 0)
-+ BT_ERR("Can't unregister HCI device %s", hdev->name);
-+}
-+
-+static struct usb_driver bfusb_driver = {
-+ name: "bfusb",
-+ probe: bfusb_probe,
-+ disconnect: bfusb_disconnect,
-+ id_table: bfusb_table,
-+};
-+
-+static int __init bfusb_init(void)
-+{
-+ int err;
-+
-+ BT_INFO("BlueFRITZ! USB driver ver %s", VERSION);
-+ BT_INFO("Copyright (C) 2003 Marcel Holtmann <marcel@holtmann.org>");
-+
-+ if ((err = usb_register(&bfusb_driver)) < 0)
-+ BT_ERR("Failed to register BlueFRITZ! USB driver");
-+
-+ return err;
-+}
-+
-+static void __exit bfusb_cleanup(void)
-+{
-+ usb_deregister(&bfusb_driver);
-+}
-+
-+module_init(bfusb_init);
-+module_exit(bfusb_cleanup);
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("BlueFRITZ! USB driver ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/drivers/bluetooth/bluecard_cs.c linux-2.4.18-mh15/drivers/bluetooth/bluecard_cs.c
---- linux-2.4.18/drivers/bluetooth/bluecard_cs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/bluecard_cs.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,1116 @@
-+/*
-+ *
-+ * Bluetooth driver for the Anycom BlueCard (LSE039/LSE041)
-+ *
-+ * Copyright (C) 2001-2002 Marcel Holtmann <marcel@holtmann.org>
-+ *
-+ *
-+ * 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;
-+ *
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ *
-+ * The initial developer of the original code is David A. Hinds
-+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
-+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/types.h>
-+#include <linux/sched.h>
-+#include <linux/timer.h>
-+#include <linux/errno.h>
-+#include <linux/ptrace.h>
-+#include <linux/ioport.h>
-+#include <linux/spinlock.h>
-+#include <linux/skbuff.h>
-+#include <asm/io.h>
-+
-+#include <pcmcia/version.h>
-+#include <pcmcia/cs_types.h>
-+#include <pcmcia/cs.h>
-+#include <pcmcia/cistpl.h>
-+#include <pcmcia/ciscode.h>
-+#include <pcmcia/ds.h>
-+#include <pcmcia/cisreg.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+
-+
-+/* ======================== Module parameters ======================== */
-+
-+
-+/* Bit map of interrupts to choose from */
-+static u_int irq_mask = 0x86bc;
-+static int irq_list[4] = { -1 };
-+
-+MODULE_PARM(irq_mask, "i");
-+MODULE_PARM(irq_list, "1-4i");
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("BlueZ driver for the Anycom BlueCard (LSE039/LSE041)");
-+MODULE_LICENSE("GPL");
-+
-+
-+
-+/* ======================== Local structures ======================== */
-+
-+
-+typedef struct bluecard_info_t {
-+ dev_link_t link;
-+ dev_node_t node;
-+
-+ struct hci_dev hdev;
-+
-+ spinlock_t lock; /* For serializing operations */
-+ struct timer_list timer; /* For LED control */
-+
-+ struct sk_buff_head txq;
-+ unsigned long tx_state;
-+
-+ unsigned long rx_state;
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+
-+ unsigned char ctrl_reg;
-+ unsigned long hw_state; /* Status of the hardware and LED control */
-+} bluecard_info_t;
-+
-+
-+void bluecard_config(dev_link_t *link);
-+void bluecard_release(u_long arg);
-+int bluecard_event(event_t event, int priority, event_callback_args_t *args);
-+
-+static dev_info_t dev_info = "bluecard_cs";
-+
-+dev_link_t *bluecard_attach(void);
-+void bluecard_detach(dev_link_t *);
-+
-+static dev_link_t *dev_list = NULL;
-+
-+
-+/* Default baud rate: 57600, 115200, 230400 or 460800 */
-+#define DEFAULT_BAUD_RATE 230400
-+
-+
-+/* Hardware states */
-+#define CARD_READY 1
-+#define CARD_HAS_PCCARD_ID 4
-+#define CARD_HAS_POWER_LED 5
-+#define CARD_HAS_ACTIVITY_LED 6
-+
-+/* Transmit states */
-+#define XMIT_SENDING 1
-+#define XMIT_WAKEUP 2
-+#define XMIT_BUFFER_NUMBER 5 /* unset = buffer one, set = buffer two */
-+#define XMIT_BUF_ONE_READY 6
-+#define XMIT_BUF_TWO_READY 7
-+#define XMIT_SENDING_READY 8
-+
-+/* Receiver states */
-+#define RECV_WAIT_PACKET_TYPE 0
-+#define RECV_WAIT_EVENT_HEADER 1
-+#define RECV_WAIT_ACL_HEADER 2
-+#define RECV_WAIT_SCO_HEADER 3
-+#define RECV_WAIT_DATA 4
-+
-+/* Special packet types */
-+#define PKT_BAUD_RATE_57600 0x80
-+#define PKT_BAUD_RATE_115200 0x81
-+#define PKT_BAUD_RATE_230400 0x82
-+#define PKT_BAUD_RATE_460800 0x83
-+
-+
-+/* These are the register offsets */
-+#define REG_COMMAND 0x20
-+#define REG_INTERRUPT 0x21
-+#define REG_CONTROL 0x22
-+#define REG_RX_CONTROL 0x24
-+#define REG_CARD_RESET 0x30
-+#define REG_LED_CTRL 0x30
-+
-+/* REG_COMMAND */
-+#define REG_COMMAND_TX_BUF_ONE 0x01
-+#define REG_COMMAND_TX_BUF_TWO 0x02
-+#define REG_COMMAND_RX_BUF_ONE 0x04
-+#define REG_COMMAND_RX_BUF_TWO 0x08
-+#define REG_COMMAND_RX_WIN_ONE 0x00
-+#define REG_COMMAND_RX_WIN_TWO 0x10
-+
-+/* REG_CONTROL */
-+#define REG_CONTROL_BAUD_RATE_57600 0x00
-+#define REG_CONTROL_BAUD_RATE_115200 0x01
-+#define REG_CONTROL_BAUD_RATE_230400 0x02
-+#define REG_CONTROL_BAUD_RATE_460800 0x03
-+#define REG_CONTROL_RTS 0x04
-+#define REG_CONTROL_BT_ON 0x08
-+#define REG_CONTROL_BT_RESET 0x10
-+#define REG_CONTROL_BT_RES_PU 0x20
-+#define REG_CONTROL_INTERRUPT 0x40
-+#define REG_CONTROL_CARD_RESET 0x80
-+
-+/* REG_RX_CONTROL */
-+#define RTS_LEVEL_SHIFT_BITS 0x02
-+
-+
-+
-+/* ======================== LED handling routines ======================== */
-+
-+
-+void bluecard_activity_led_timeout(u_long arg)
-+{
-+ bluecard_info_t *info = (bluecard_info_t *)arg;
-+ unsigned int iobase = info->link.io.BasePort1;
-+
-+ if (test_bit(CARD_HAS_ACTIVITY_LED, &(info->hw_state))) {
-+ /* Disable activity LED */
-+ outb(0x08 | 0x20, iobase + 0x30);
-+ } else {
-+ /* Disable power LED */
-+ outb(0x00, iobase + 0x30);
-+ }
-+}
-+
-+
-+static void bluecard_enable_activity_led(bluecard_info_t *info)
-+{
-+ unsigned int iobase = info->link.io.BasePort1;
-+
-+ if (test_bit(CARD_HAS_ACTIVITY_LED, &(info->hw_state))) {
-+ /* Enable activity LED */
-+ outb(0x10 | 0x40, iobase + 0x30);
-+
-+ /* Stop the LED after HZ/4 */
-+ mod_timer(&(info->timer), jiffies + HZ / 4);
-+ } else {
-+ /* Enable power LED */
-+ outb(0x08 | 0x20, iobase + 0x30);
-+
-+ /* Stop the LED after HZ/2 */
-+ mod_timer(&(info->timer), jiffies + HZ / 2);
-+ }
-+}
-+
-+
-+
-+/* ======================== Interrupt handling ======================== */
-+
-+
-+static int bluecard_write(unsigned int iobase, unsigned int offset, __u8 *buf, int len)
-+{
-+ int i, actual;
-+
-+ actual = (len > 15) ? 15 : len;
-+
-+ outb_p(actual, iobase + offset);
-+
-+ for (i = 0; i < actual; i++)
-+ outb_p(buf[i], iobase + offset + i + 1);
-+
-+ return actual;
-+}
-+
-+
-+static void bluecard_write_wakeup(bluecard_info_t *info)
-+{
-+ if (!info) {
-+ printk(KERN_WARNING "bluecard_cs: Call of write_wakeup for unknown device.\n");
-+ return;
-+ }
-+
-+ if (!test_bit(XMIT_SENDING_READY, &(info->tx_state)))
-+ return;
-+
-+ if (test_and_set_bit(XMIT_SENDING, &(info->tx_state))) {
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+ return;
-+ }
-+
-+ do {
-+ register unsigned int iobase = info->link.io.BasePort1;
-+ register unsigned int offset;
-+ register unsigned char command;
-+ register unsigned long ready_bit;
-+ register struct sk_buff *skb;
-+ register int len;
-+
-+ clear_bit(XMIT_WAKEUP, &(info->tx_state));
-+
-+ if (!(info->link.state & DEV_PRESENT))
-+ return;
-+
-+ if (test_bit(XMIT_BUFFER_NUMBER, &(info->tx_state))) {
-+ if (!test_bit(XMIT_BUF_TWO_READY, &(info->tx_state)))
-+ break;
-+ offset = 0x10;
-+ command = REG_COMMAND_TX_BUF_TWO;
-+ ready_bit = XMIT_BUF_TWO_READY;
-+ } else {
-+ if (!test_bit(XMIT_BUF_ONE_READY, &(info->tx_state)))
-+ break;
-+ offset = 0x00;
-+ command = REG_COMMAND_TX_BUF_ONE;
-+ ready_bit = XMIT_BUF_ONE_READY;
-+ }
-+
-+ if (!(skb = skb_dequeue(&(info->txq))))
-+ break;
-+
-+ if (skb->pkt_type & 0x80) {
-+ /* Disable RTS */
-+ info->ctrl_reg |= REG_CONTROL_RTS;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+ }
-+
-+ /* Activate LED */
-+ bluecard_enable_activity_led(info);
-+
-+ /* Send frame */
-+ len = bluecard_write(iobase, offset, skb->data, skb->len);
-+
-+ /* Tell the FPGA to send the data */
-+ outb_p(command, iobase + REG_COMMAND);
-+
-+ /* Mark the buffer as dirty */
-+ clear_bit(ready_bit, &(info->tx_state));
-+
-+ if (skb->pkt_type & 0x80) {
-+
-+ wait_queue_head_t wait;
-+ unsigned char baud_reg;
-+
-+ switch (skb->pkt_type) {
-+ case PKT_BAUD_RATE_460800:
-+ baud_reg = REG_CONTROL_BAUD_RATE_460800;
-+ break;
-+ case PKT_BAUD_RATE_230400:
-+ baud_reg = REG_CONTROL_BAUD_RATE_230400;
-+ break;
-+ case PKT_BAUD_RATE_115200:
-+ baud_reg = REG_CONTROL_BAUD_RATE_115200;
-+ break;
-+ case PKT_BAUD_RATE_57600:
-+ /* Fall through... */
-+ default:
-+ baud_reg = REG_CONTROL_BAUD_RATE_57600;
-+ break;
-+ }
-+
-+ /* Wait until the command reaches the baseband */
-+ init_waitqueue_head(&wait);
-+ interruptible_sleep_on_timeout(&wait, HZ / 10);
-+
-+ /* Set baud on baseband */
-+ info->ctrl_reg &= ~0x03;
-+ info->ctrl_reg |= baud_reg;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ /* Enable RTS */
-+ info->ctrl_reg &= ~REG_CONTROL_RTS;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ /* Wait before the next HCI packet can be send */
-+ interruptible_sleep_on_timeout(&wait, HZ);
-+
-+ }
-+
-+ if (len == skb->len) {
-+ kfree_skb(skb);
-+ } else {
-+ skb_pull(skb, len);
-+ skb_queue_head(&(info->txq), skb);
-+ }
-+
-+ info->hdev.stat.byte_tx += len;
-+
-+ /* Change buffer */
-+ change_bit(XMIT_BUFFER_NUMBER, &(info->tx_state));
-+
-+ } while (test_bit(XMIT_WAKEUP, &(info->tx_state)));
-+
-+ clear_bit(XMIT_SENDING, &(info->tx_state));
-+}
-+
-+
-+static int bluecard_read(unsigned int iobase, unsigned int offset, __u8 *buf, int size)
-+{
-+ int i, n, len;
-+
-+ outb(REG_COMMAND_RX_WIN_ONE, iobase + REG_COMMAND);
-+
-+ len = inb(iobase + offset);
-+ n = 0;
-+ i = 1;
-+
-+ while (n < len) {
-+
-+ if (i == 16) {
-+ outb(REG_COMMAND_RX_WIN_TWO, iobase + REG_COMMAND);
-+ i = 0;
-+ }
-+
-+ buf[n] = inb(iobase + offset + i);
-+
-+ n++;
-+ i++;
-+
-+ }
-+
-+ return len;
-+}
-+
-+
-+static void bluecard_receive(bluecard_info_t *info, unsigned int offset)
-+{
-+ unsigned int iobase;
-+ unsigned char buf[31];
-+ int i, len;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "bluecard_cs: Call of receive for unknown device.\n");
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ if (test_bit(XMIT_SENDING_READY, &(info->tx_state)))
-+ bluecard_enable_activity_led(info);
-+
-+ len = bluecard_read(iobase, offset, buf, sizeof(buf));
-+
-+ for (i = 0; i < len; i++) {
-+
-+ /* Allocate packet */
-+ if (info->rx_skb == NULL) {
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ if (!(info->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_WARNING "bluecard_cs: Can't allocate mem for new packet.\n");
-+ return;
-+ }
-+ }
-+
-+ if (info->rx_state == RECV_WAIT_PACKET_TYPE) {
-+
-+ info->rx_skb->dev = (void *)&(info->hdev);
-+ info->rx_skb->pkt_type = buf[i];
-+
-+ switch (info->rx_skb->pkt_type) {
-+
-+ case 0x00:
-+ /* init packet */
-+ if (offset != 0x00) {
-+ set_bit(XMIT_BUF_ONE_READY, &(info->tx_state));
-+ set_bit(XMIT_BUF_TWO_READY, &(info->tx_state));
-+ set_bit(XMIT_SENDING_READY, &(info->tx_state));
-+ bluecard_write_wakeup(info);
-+ }
-+
-+ kfree_skb(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ case HCI_EVENT_PKT:
-+ info->rx_state = RECV_WAIT_EVENT_HEADER;
-+ info->rx_count = HCI_EVENT_HDR_SIZE;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ info->rx_state = RECV_WAIT_ACL_HEADER;
-+ info->rx_count = HCI_ACL_HDR_SIZE;
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ info->rx_state = RECV_WAIT_SCO_HEADER;
-+ info->rx_count = HCI_SCO_HDR_SIZE;
-+ break;
-+
-+ default:
-+ /* unknown packet */
-+ printk(KERN_WARNING "bluecard_cs: Unknown HCI packet with type 0x%02x received.\n", info->rx_skb->pkt_type);
-+ info->hdev.stat.err_rx++;
-+
-+ kfree_skb(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ } else {
-+
-+ *skb_put(info->rx_skb, 1) = buf[i];
-+ info->rx_count--;
-+
-+ if (info->rx_count == 0) {
-+
-+ int dlen;
-+ hci_event_hdr *eh;
-+ hci_acl_hdr *ah;
-+ hci_sco_hdr *sh;
-+
-+ switch (info->rx_state) {
-+
-+ case RECV_WAIT_EVENT_HEADER:
-+ eh = (hci_event_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = eh->plen;
-+ break;
-+
-+ case RECV_WAIT_ACL_HEADER:
-+ ah = (hci_acl_hdr *)(info->rx_skb->data);
-+ dlen = __le16_to_cpu(ah->dlen);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = dlen;
-+ break;
-+
-+ case RECV_WAIT_SCO_HEADER:
-+ sh = (hci_sco_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = sh->dlen;
-+ break;
-+
-+ case RECV_WAIT_DATA:
-+ hci_recv_frame(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ }
-+
-+ }
-+
-+
-+ }
-+
-+ info->hdev.stat.byte_rx += len;
-+}
-+
-+
-+void bluecard_interrupt(int irq, void *dev_inst, struct pt_regs *regs)
-+{
-+ bluecard_info_t *info = dev_inst;
-+ unsigned int iobase;
-+ unsigned char reg;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "bluecard_cs: Call of irq %d for unknown device.\n", irq);
-+ return;
-+ }
-+
-+ if (!test_bit(CARD_READY, &(info->hw_state)))
-+ return;
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ spin_lock(&(info->lock));
-+
-+ /* Disable interrupt */
-+ info->ctrl_reg &= ~REG_CONTROL_INTERRUPT;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ reg = inb(iobase + REG_INTERRUPT);
-+
-+ if ((reg != 0x00) && (reg != 0xff)) {
-+
-+ if (reg & 0x04) {
-+ bluecard_receive(info, 0x00);
-+ outb(0x04, iobase + REG_INTERRUPT);
-+ outb(REG_COMMAND_RX_BUF_ONE, iobase + REG_COMMAND);
-+ }
-+
-+ if (reg & 0x08) {
-+ bluecard_receive(info, 0x10);
-+ outb(0x08, iobase + REG_INTERRUPT);
-+ outb(REG_COMMAND_RX_BUF_TWO, iobase + REG_COMMAND);
-+ }
-+
-+ if (reg & 0x01) {
-+ set_bit(XMIT_BUF_ONE_READY, &(info->tx_state));
-+ outb(0x01, iobase + REG_INTERRUPT);
-+ bluecard_write_wakeup(info);
-+ }
-+
-+ if (reg & 0x02) {
-+ set_bit(XMIT_BUF_TWO_READY, &(info->tx_state));
-+ outb(0x02, iobase + REG_INTERRUPT);
-+ bluecard_write_wakeup(info);
-+ }
-+
-+ }
-+
-+ /* Enable interrupt */
-+ info->ctrl_reg |= REG_CONTROL_INTERRUPT;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ spin_unlock(&(info->lock));
-+}
-+
-+
-+
-+/* ======================== Device specific HCI commands ======================== */
-+
-+
-+static int bluecard_hci_set_baud_rate(struct hci_dev *hdev, int baud)
-+{
-+ bluecard_info_t *info = (bluecard_info_t *)(hdev->driver_data);
-+ struct sk_buff *skb;
-+
-+ /* Ericsson baud rate command */
-+ unsigned char cmd[] = { HCI_COMMAND_PKT, 0x09, 0xfc, 0x01, 0x03 };
-+
-+ if (!(skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_WARNING "bluecard_cs: Can't allocate mem for new packet.\n");
-+ return -1;
-+ }
-+
-+ switch (baud) {
-+ case 460800:
-+ cmd[4] = 0x00;
-+ skb->pkt_type = PKT_BAUD_RATE_460800;
-+ break;
-+ case 230400:
-+ cmd[4] = 0x01;
-+ skb->pkt_type = PKT_BAUD_RATE_230400;
-+ break;
-+ case 115200:
-+ cmd[4] = 0x02;
-+ skb->pkt_type = PKT_BAUD_RATE_115200;
-+ break;
-+ case 57600:
-+ /* Fall through... */
-+ default:
-+ cmd[4] = 0x03;
-+ skb->pkt_type = PKT_BAUD_RATE_57600;
-+ break;
-+ }
-+
-+ memcpy(skb_put(skb, sizeof(cmd)), cmd, sizeof(cmd));
-+
-+ skb_queue_tail(&(info->txq), skb);
-+
-+ bluecard_write_wakeup(info);
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== HCI interface ======================== */
-+
-+
-+static int bluecard_hci_flush(struct hci_dev *hdev)
-+{
-+ bluecard_info_t *info = (bluecard_info_t *)(hdev->driver_data);
-+
-+ /* Drop TX queue */
-+ skb_queue_purge(&(info->txq));
-+
-+ return 0;
-+}
-+
-+
-+static int bluecard_hci_open(struct hci_dev *hdev)
-+{
-+ bluecard_info_t *info = (bluecard_info_t *)(hdev->driver_data);
-+ unsigned int iobase = info->link.io.BasePort1;
-+
-+ bluecard_hci_set_baud_rate(hdev, DEFAULT_BAUD_RATE);
-+
-+ if (test_and_set_bit(HCI_RUNNING, &(hdev->flags)))
-+ return 0;
-+
-+ /* Enable LED */
-+ outb(0x08 | 0x20, iobase + 0x30);
-+
-+ return 0;
-+}
-+
-+
-+static int bluecard_hci_close(struct hci_dev *hdev)
-+{
-+ bluecard_info_t *info = (bluecard_info_t *)(hdev->driver_data);
-+ unsigned int iobase = info->link.io.BasePort1;
-+
-+ if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
-+ return 0;
-+
-+ bluecard_hci_flush(hdev);
-+
-+ /* Disable LED */
-+ outb(0x00, iobase + 0x30);
-+
-+ return 0;
-+}
-+
-+
-+static int bluecard_hci_send_frame(struct sk_buff *skb)
-+{
-+ bluecard_info_t *info;
-+ struct hci_dev *hdev = (struct hci_dev *)(skb->dev);
-+
-+ if (!hdev) {
-+ printk(KERN_WARNING "bluecard_cs: Frame for unknown HCI device (hdev=NULL).");
-+ return -ENODEV;
-+ }
-+
-+ info = (bluecard_info_t *)(hdev->driver_data);
-+
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ break;
-+ };
-+
-+ /* Prepend skb with frame type */
-+ memcpy(skb_push(skb, 1), &(skb->pkt_type), 1);
-+ skb_queue_tail(&(info->txq), skb);
-+
-+ bluecard_write_wakeup(info);
-+
-+ return 0;
-+}
-+
-+
-+static void bluecard_hci_destruct(struct hci_dev *hdev)
-+{
-+}
-+
-+
-+static int bluecard_hci_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned long arg)
-+{
-+ return -ENOIOCTLCMD;
-+}
-+
-+
-+
-+/* ======================== Card services HCI interaction ======================== */
-+
-+
-+int bluecard_open(bluecard_info_t *info)
-+{
-+ unsigned int iobase = info->link.io.BasePort1;
-+ struct hci_dev *hdev;
-+ unsigned char id;
-+
-+ spin_lock_init(&(info->lock));
-+
-+ init_timer(&(info->timer));
-+ info->timer.function = &bluecard_activity_led_timeout;
-+ info->timer.data = (u_long)info;
-+
-+ skb_queue_head_init(&(info->txq));
-+
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ info->rx_skb = NULL;
-+
-+ id = inb(iobase + 0x30);
-+
-+ if ((id & 0x0f) == 0x02)
-+ set_bit(CARD_HAS_PCCARD_ID, &(info->hw_state));
-+
-+ if (id & 0x10)
-+ set_bit(CARD_HAS_POWER_LED, &(info->hw_state));
-+
-+ if (id & 0x20)
-+ set_bit(CARD_HAS_ACTIVITY_LED, &(info->hw_state));
-+
-+ /* Reset card */
-+ info->ctrl_reg = REG_CONTROL_BT_RESET | REG_CONTROL_CARD_RESET;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ /* Turn FPGA off */
-+ outb(0x80, iobase + 0x30);
-+
-+ /* Wait some time */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule_timeout(HZ / 100);
-+
-+ /* Turn FPGA on */
-+ outb(0x00, iobase + 0x30);
-+
-+ /* Activate card */
-+ info->ctrl_reg = REG_CONTROL_BT_ON | REG_CONTROL_BT_RES_PU;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ /* Enable interrupt */
-+ outb(0xff, iobase + REG_INTERRUPT);
-+ info->ctrl_reg |= REG_CONTROL_INTERRUPT;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ /* Start the RX buffers */
-+ outb(REG_COMMAND_RX_BUF_ONE, iobase + REG_COMMAND);
-+ outb(REG_COMMAND_RX_BUF_TWO, iobase + REG_COMMAND);
-+
-+ /* Signal that the hardware is ready */
-+ set_bit(CARD_READY, &(info->hw_state));
-+
-+ /* Drop TX queue */
-+ skb_queue_purge(&(info->txq));
-+
-+ /* Control the point at which RTS is enabled */
-+ outb((0x0f << RTS_LEVEL_SHIFT_BITS) | 1, iobase + REG_RX_CONTROL);
-+
-+ /* Timeout before it is safe to send the first HCI packet */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule_timeout((HZ * 5) / 4); // or set it to 3/2
-+
-+
-+ /* Initialize and register HCI device */
-+
-+ hdev = &(info->hdev);
-+
-+ hdev->type = HCI_PCCARD;
-+ hdev->driver_data = info;
-+
-+ hdev->open = bluecard_hci_open;
-+ hdev->close = bluecard_hci_close;
-+ hdev->flush = bluecard_hci_flush;
-+ hdev->send = bluecard_hci_send_frame;
-+ hdev->destruct = bluecard_hci_destruct;
-+ hdev->ioctl = bluecard_hci_ioctl;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ printk(KERN_WARNING "bluecard_cs: Can't register HCI device %s.\n", hdev->name);
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+int bluecard_close(bluecard_info_t *info)
-+{
-+ unsigned int iobase = info->link.io.BasePort1;
-+ struct hci_dev *hdev = &(info->hdev);
-+
-+ if (info->link.state & DEV_CONFIG_PENDING)
-+ return -ENODEV;
-+
-+ bluecard_hci_close(hdev);
-+
-+ clear_bit(CARD_READY, &(info->hw_state));
-+
-+ /* Reset card */
-+ info->ctrl_reg = REG_CONTROL_BT_RESET | REG_CONTROL_CARD_RESET;
-+ outb(info->ctrl_reg, iobase + REG_CONTROL);
-+
-+ /* Turn FPGA off */
-+ outb(0x80, iobase + 0x30);
-+
-+ if (hci_unregister_dev(hdev) < 0)
-+ printk(KERN_WARNING "bluecard_cs: Can't unregister HCI device %s.\n", hdev->name);
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Card services ======================== */
-+
-+
-+static void cs_error(client_handle_t handle, int func, int ret)
-+{
-+ error_info_t err = { func, ret };
-+
-+ CardServices(ReportError, handle, &err);
-+}
-+
-+
-+dev_link_t *bluecard_attach(void)
-+{
-+ bluecard_info_t *info;
-+ client_reg_t client_reg;
-+ dev_link_t *link;
-+ int i, ret;
-+
-+ /* Create new info device */
-+ info = kmalloc(sizeof(*info), GFP_KERNEL);
-+ if (!info)
-+ return NULL;
-+ memset(info, 0, sizeof(*info));
-+
-+ link = &info->link;
-+ link->priv = info;
-+
-+ link->release.function = &bluecard_release;
-+ link->release.data = (u_long)link;
-+ link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-+ link->io.NumPorts1 = 8;
-+ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
-+ link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID;
-+
-+ if (irq_list[0] == -1)
-+ link->irq.IRQInfo2 = irq_mask;
-+ else
-+ for (i = 0; i < 4; i++)
-+ link->irq.IRQInfo2 |= 1 << irq_list[i];
-+
-+ link->irq.Handler = bluecard_interrupt;
-+ link->irq.Instance = info;
-+
-+ link->conf.Attributes = CONF_ENABLE_IRQ;
-+ link->conf.Vcc = 50;
-+ link->conf.IntType = INT_MEMORY_AND_IO;
-+
-+ /* Register with Card Services */
-+ link->next = dev_list;
-+ dev_list = link;
-+ client_reg.dev_info = &dev_info;
-+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
-+ client_reg.EventMask =
-+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
-+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
-+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
-+ client_reg.event_handler = &bluecard_event;
-+ client_reg.Version = 0x0210;
-+ client_reg.event_callback_args.client_data = link;
-+
-+ ret = CardServices(RegisterClient, &link->handle, &client_reg);
-+ if (ret != CS_SUCCESS) {
-+ cs_error(link->handle, RegisterClient, ret);
-+ bluecard_detach(link);
-+ return NULL;
-+ }
-+
-+ return link;
-+}
-+
-+
-+void bluecard_detach(dev_link_t *link)
-+{
-+ bluecard_info_t *info = link->priv;
-+ dev_link_t **linkp;
-+ int ret;
-+
-+ /* Locate device structure */
-+ for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-+ if (*linkp == link)
-+ break;
-+
-+ if (*linkp == NULL)
-+ return;
-+
-+ del_timer(&link->release);
-+ if (link->state & DEV_CONFIG)
-+ bluecard_release((u_long)link);
-+
-+ if (link->handle) {
-+ ret = CardServices(DeregisterClient, link->handle);
-+ if (ret != CS_SUCCESS)
-+ cs_error(link->handle, DeregisterClient, ret);
-+ }
-+
-+ /* Unlink device structure, free bits */
-+ *linkp = link->next;
-+
-+ kfree(info);
-+}
-+
-+
-+static int get_tuple(int fn, client_handle_t handle, tuple_t *tuple, cisparse_t *parse)
-+{
-+ int i;
-+
-+ i = CardServices(fn, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return CS_NO_MORE_ITEMS;
-+
-+ i = CardServices(GetTupleData, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return i;
-+
-+ return CardServices(ParseTuple, handle, tuple, parse);
-+}
-+
-+
-+#define first_tuple(a, b, c) get_tuple(GetFirstTuple, a, b, c)
-+#define next_tuple(a, b, c) get_tuple(GetNextTuple, a, b, c)
-+
-+void bluecard_config(dev_link_t *link)
-+{
-+ client_handle_t handle = link->handle;
-+ bluecard_info_t *info = link->priv;
-+ tuple_t tuple;
-+ u_short buf[256];
-+ cisparse_t parse;
-+ config_info_t config;
-+ int i, n, last_ret, last_fn;
-+
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+
-+ /* Get configuration register information */
-+ tuple.DesiredTuple = CISTPL_CONFIG;
-+ last_ret = first_tuple(handle, &tuple, &parse);
-+ if (last_ret != CS_SUCCESS) {
-+ last_fn = ParseTuple;
-+ goto cs_failed;
-+ }
-+ link->conf.ConfigBase = parse.config.base;
-+ link->conf.Present = parse.config.rmask[0];
-+
-+ /* Configure card */
-+ link->state |= DEV_CONFIG;
-+ i = CardServices(GetConfigurationInfo, handle, &config);
-+ link->conf.Vcc = config.Vcc;
-+
-+ link->conf.ConfigIndex = 0x20;
-+ link->io.NumPorts1 = 64;
-+ link->io.IOAddrLines = 6;
-+
-+ for (n = 0; n < 0x400; n += 0x40) {
-+ link->io.BasePort1 = n ^ 0x300;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ break;
-+ }
-+
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIO, i);
-+ goto failed;
-+ }
-+
-+ i = CardServices(RequestIRQ, link->handle, &link->irq);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIRQ, i);
-+ link->irq.AssignedIRQ = 0;
-+ }
-+
-+ i = CardServices(RequestConfiguration, link->handle, &link->conf);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestConfiguration, i);
-+ goto failed;
-+ }
-+
-+ MOD_INC_USE_COUNT;
-+
-+ if (bluecard_open(info) != 0)
-+ goto failed;
-+
-+ strcpy(info->node.dev_name, info->hdev.name);
-+ link->dev = &info->node;
-+ link->state &= ~DEV_CONFIG_PENDING;
-+
-+ return;
-+
-+cs_failed:
-+ cs_error(link->handle, last_fn, last_ret);
-+
-+failed:
-+ bluecard_release((u_long)link);
-+}
-+
-+
-+void bluecard_release(u_long arg)
-+{
-+ dev_link_t *link = (dev_link_t *)arg;
-+ bluecard_info_t *info = link->priv;
-+
-+ if (link->state & DEV_PRESENT)
-+ bluecard_close(info);
-+
-+ MOD_DEC_USE_COUNT;
-+
-+ link->dev = NULL;
-+
-+ CardServices(ReleaseConfiguration, link->handle);
-+ CardServices(ReleaseIO, link->handle, &link->io);
-+ CardServices(ReleaseIRQ, link->handle, &link->irq);
-+
-+ link->state &= ~DEV_CONFIG;
-+}
-+
-+
-+int bluecard_event(event_t event, int priority, event_callback_args_t *args)
-+{
-+ dev_link_t *link = args->client_data;
-+ bluecard_info_t *info = link->priv;
-+
-+ switch (event) {
-+ case CS_EVENT_CARD_REMOVAL:
-+ link->state &= ~DEV_PRESENT;
-+ if (link->state & DEV_CONFIG) {
-+ bluecard_close(info);
-+ mod_timer(&link->release, jiffies + HZ / 20);
-+ }
-+ break;
-+ case CS_EVENT_CARD_INSERTION:
-+ link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-+ bluecard_config(link);
-+ break;
-+ case CS_EVENT_PM_SUSPEND:
-+ link->state |= DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_RESET_PHYSICAL:
-+ if (link->state & DEV_CONFIG)
-+ CardServices(ReleaseConfiguration, link->handle);
-+ break;
-+ case CS_EVENT_PM_RESUME:
-+ link->state &= ~DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_CARD_RESET:
-+ if (DEV_OK(link))
-+ CardServices(RequestConfiguration, link->handle, &link->conf);
-+ break;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Module initialization ======================== */
-+
-+
-+int __init init_bluecard_cs(void)
-+{
-+ servinfo_t serv;
-+ int err;
-+
-+ CardServices(GetCardServicesInfo, &serv);
-+ if (serv.Revision != CS_RELEASE_CODE) {
-+ printk(KERN_NOTICE "bluecard_cs: Card Services release does not match!\n");
-+ return -1;
-+ }
-+
-+ err = register_pccard_driver(&dev_info, &bluecard_attach, &bluecard_detach);
-+
-+ return err;
-+}
-+
-+
-+void __exit exit_bluecard_cs(void)
-+{
-+ unregister_pccard_driver(&dev_info);
-+
-+ while (dev_list != NULL)
-+ bluecard_detach(dev_list);
-+}
-+
-+
-+module_init(init_bluecard_cs);
-+module_exit(exit_bluecard_cs);
-+
-+EXPORT_NO_SYMBOLS;
-diff -urN linux-2.4.18/drivers/bluetooth/bt3c_cs.c linux-2.4.18-mh15/drivers/bluetooth/bt3c_cs.c
---- linux-2.4.18/drivers/bluetooth/bt3c_cs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/bt3c_cs.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,986 @@
-+/*
-+ *
-+ * Driver for the 3Com Bluetooth PCMCIA card
-+ *
-+ * Copyright (C) 2001-2002 Marcel Holtmann <marcel@holtmann.org>
-+ * Jose Orlando Pereira <jop@di.uminho.pt>
-+ *
-+ *
-+ * 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;
-+ *
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ *
-+ * The initial developer of the original code is David A. Hinds
-+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
-+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/kernel.h>
-+#include <linux/kmod.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/types.h>
-+#include <linux/sched.h>
-+#include <linux/delay.h>
-+#include <linux/timer.h>
-+#include <linux/errno.h>
-+#include <linux/unistd.h>
-+#include <linux/ptrace.h>
-+#include <linux/ioport.h>
-+#include <linux/spinlock.h>
-+
-+#include <linux/skbuff.h>
-+#include <linux/string.h>
-+#include <linux/serial.h>
-+#include <linux/serial_reg.h>
-+#include <asm/system.h>
-+#include <asm/bitops.h>
-+#include <asm/io.h>
-+
-+#include <linux/firmware.h>
-+
-+#include <pcmcia/version.h>
-+#include <pcmcia/cs_types.h>
-+#include <pcmcia/cs.h>
-+#include <pcmcia/cistpl.h>
-+#include <pcmcia/ciscode.h>
-+#include <pcmcia/ds.h>
-+#include <pcmcia/cisreg.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+
-+
-+/* ======================== Module parameters ======================== */
-+
-+
-+/* Bit map of interrupts to choose from */
-+static u_int irq_mask = 0xffff;
-+static int irq_list[4] = { -1 };
-+
-+MODULE_PARM(irq_mask, "i");
-+MODULE_PARM(irq_list, "1-4i");
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>, Jose Orlando Pereira <jop@di.uminho.pt>");
-+MODULE_DESCRIPTION("BlueZ driver for the 3Com Bluetooth PCMCIA card");
-+MODULE_LICENSE("GPL");
-+
-+
-+
-+/* ======================== Local structures ======================== */
-+
-+
-+typedef struct bt3c_info_t {
-+ dev_link_t link;
-+ dev_node_t node;
-+
-+ struct hci_dev hdev;
-+
-+ spinlock_t lock; /* For serializing operations */
-+
-+ struct sk_buff_head txq;
-+ unsigned long tx_state;
-+
-+ unsigned long rx_state;
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+} bt3c_info_t;
-+
-+
-+void bt3c_config(dev_link_t *link);
-+void bt3c_release(u_long arg);
-+int bt3c_event(event_t event, int priority, event_callback_args_t *args);
-+
-+static dev_info_t dev_info = "bt3c_cs";
-+
-+dev_link_t *bt3c_attach(void);
-+void bt3c_detach(dev_link_t *);
-+
-+static dev_link_t *dev_list = NULL;
-+
-+
-+/* Transmit states */
-+#define XMIT_SENDING 1
-+#define XMIT_WAKEUP 2
-+#define XMIT_WAITING 8
-+
-+/* Receiver states */
-+#define RECV_WAIT_PACKET_TYPE 0
-+#define RECV_WAIT_EVENT_HEADER 1
-+#define RECV_WAIT_ACL_HEADER 2
-+#define RECV_WAIT_SCO_HEADER 3
-+#define RECV_WAIT_DATA 4
-+
-+
-+
-+/* ======================== Special I/O functions ======================== */
-+
-+
-+#define DATA_L 0
-+#define DATA_H 1
-+#define ADDR_L 2
-+#define ADDR_H 3
-+#define CONTROL 4
-+
-+
-+inline void bt3c_address(unsigned int iobase, unsigned short addr)
-+{
-+ outb(addr & 0xff, iobase + ADDR_L);
-+ outb((addr >> 8) & 0xff, iobase + ADDR_H);
-+}
-+
-+
-+inline void bt3c_put(unsigned int iobase, unsigned short value)
-+{
-+ outb(value & 0xff, iobase + DATA_L);
-+ outb((value >> 8) & 0xff, iobase + DATA_H);
-+}
-+
-+
-+inline void bt3c_io_write(unsigned int iobase, unsigned short addr, unsigned short value)
-+{
-+ bt3c_address(iobase, addr);
-+ bt3c_put(iobase, value);
-+}
-+
-+
-+inline unsigned short bt3c_get(unsigned int iobase)
-+{
-+ unsigned short value = inb(iobase + DATA_L);
-+
-+ value |= inb(iobase + DATA_H) << 8;
-+
-+ return value;
-+}
-+
-+
-+inline unsigned short bt3c_read(unsigned int iobase, unsigned short addr)
-+{
-+ bt3c_address(iobase, addr);
-+
-+ return bt3c_get(iobase);
-+}
-+
-+
-+
-+/* ======================== Interrupt handling ======================== */
-+
-+
-+static int bt3c_write(unsigned int iobase, int fifo_size, __u8 *buf, int len)
-+{
-+ int actual = 0;
-+
-+ bt3c_address(iobase, 0x7080);
-+
-+ /* Fill FIFO with current frame */
-+ while (actual < len) {
-+ /* Transmit next byte */
-+ bt3c_put(iobase, buf[actual]);
-+ actual++;
-+ }
-+
-+ bt3c_io_write(iobase, 0x7005, actual);
-+
-+ return actual;
-+}
-+
-+
-+static void bt3c_write_wakeup(bt3c_info_t *info, int from)
-+{
-+ unsigned long flags;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "bt3c_cs: Call of write_wakeup for unknown device.\n");
-+ return;
-+ }
-+
-+ if (test_and_set_bit(XMIT_SENDING, &(info->tx_state)))
-+ return;
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ do {
-+ register unsigned int iobase = info->link.io.BasePort1;
-+ register struct sk_buff *skb;
-+ register int len;
-+
-+ if (!(info->link.state & DEV_PRESENT))
-+ break;
-+
-+
-+ if (!(skb = skb_dequeue(&(info->txq)))) {
-+ clear_bit(XMIT_SENDING, &(info->tx_state));
-+ break;
-+ }
-+
-+ /* Send frame */
-+ len = bt3c_write(iobase, 256, skb->data, skb->len);
-+
-+ if (len != skb->len) {
-+ printk(KERN_WARNING "bt3c_cs: very strange\n");
-+ }
-+
-+ kfree_skb(skb);
-+
-+ info->hdev.stat.byte_tx += len;
-+
-+ } while (0);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+}
-+
-+
-+static void bt3c_receive(bt3c_info_t *info)
-+{
-+ unsigned int iobase;
-+ int size = 0, avail;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "bt3c_cs: Call of receive for unknown device.\n");
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ avail = bt3c_read(iobase, 0x7006);
-+ //printk("bt3c_cs: receiving %d bytes\n", avail);
-+
-+ bt3c_address(iobase, 0x7480);
-+ while (size < avail) {
-+ size++;
-+ info->hdev.stat.byte_rx++;
-+
-+ /* Allocate packet */
-+ if (info->rx_skb == NULL) {
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ if (!(info->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_WARNING "bt3c_cs: Can't allocate mem for new packet.\n");
-+ return;
-+ }
-+ }
-+
-+
-+ if (info->rx_state == RECV_WAIT_PACKET_TYPE) {
-+
-+ info->rx_skb->dev = (void *)&(info->hdev);
-+ info->rx_skb->pkt_type = inb(iobase + DATA_L);
-+ inb(iobase + DATA_H);
-+ //printk("bt3c: PACKET_TYPE=%02x\n", info->rx_skb->pkt_type);
-+
-+ switch (info->rx_skb->pkt_type) {
-+
-+ case HCI_EVENT_PKT:
-+ info->rx_state = RECV_WAIT_EVENT_HEADER;
-+ info->rx_count = HCI_EVENT_HDR_SIZE;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ info->rx_state = RECV_WAIT_ACL_HEADER;
-+ info->rx_count = HCI_ACL_HDR_SIZE;
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ info->rx_state = RECV_WAIT_SCO_HEADER;
-+ info->rx_count = HCI_SCO_HDR_SIZE;
-+ break;
-+
-+ default:
-+ /* Unknown packet */
-+ printk(KERN_WARNING "bt3c_cs: Unknown HCI packet with type 0x%02x received.\n", info->rx_skb->pkt_type);
-+ info->hdev.stat.err_rx++;
-+ clear_bit(HCI_RUNNING, &(info->hdev.flags));
-+
-+ kfree_skb(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ } else {
-+
-+ __u8 x = inb(iobase + DATA_L);
-+
-+ *skb_put(info->rx_skb, 1) = x;
-+ inb(iobase + DATA_H);
-+ info->rx_count--;
-+
-+ if (info->rx_count == 0) {
-+
-+ int dlen;
-+ hci_event_hdr *eh;
-+ hci_acl_hdr *ah;
-+ hci_sco_hdr *sh;
-+
-+ switch (info->rx_state) {
-+
-+ case RECV_WAIT_EVENT_HEADER:
-+ eh = (hci_event_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = eh->plen;
-+ break;
-+
-+ case RECV_WAIT_ACL_HEADER:
-+ ah = (hci_acl_hdr *)(info->rx_skb->data);
-+ dlen = __le16_to_cpu(ah->dlen);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = dlen;
-+ break;
-+
-+ case RECV_WAIT_SCO_HEADER:
-+ sh = (hci_sco_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = sh->dlen;
-+ break;
-+
-+ case RECV_WAIT_DATA:
-+ hci_recv_frame(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ }
-+
-+ }
-+
-+ }
-+
-+ bt3c_io_write(iobase, 0x7006, 0x0000);
-+}
-+
-+
-+void bt3c_interrupt(int irq, void *dev_inst, struct pt_regs *regs)
-+{
-+ bt3c_info_t *info = dev_inst;
-+ unsigned int iobase;
-+ int iir;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "bt3c_cs: Call of irq %d for unknown device.\n", irq);
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ spin_lock(&(info->lock));
-+
-+ iir = inb(iobase + CONTROL);
-+ if (iir & 0x80) {
-+ int stat = bt3c_read(iobase, 0x7001);
-+
-+ if ((stat & 0xff) == 0x7f) {
-+ printk(KERN_WARNING "bt3c_cs: STRANGE stat=%04x\n", stat);
-+ } else if ((stat & 0xff) != 0xff) {
-+ if (stat & 0x0020) {
-+ int stat = bt3c_read(iobase, 0x7002) & 0x10;
-+ printk(KERN_WARNING "bt3c_cs: antena %s\n", stat ? "OUT" : "IN");
-+ }
-+ if (stat & 0x0001)
-+ bt3c_receive(info);
-+ if (stat & 0x0002) {
-+ //printk("bt3c_cs: ACK %04x\n", stat);
-+ clear_bit(XMIT_SENDING, &(info->tx_state));
-+ bt3c_write_wakeup(info, 1);
-+ }
-+
-+ bt3c_io_write(iobase, 0x7001, 0x0000);
-+
-+ outb(iir, iobase + CONTROL);
-+ }
-+ }
-+
-+ spin_unlock(&(info->lock));
-+}
-+
-+
-+
-+
-+/* ======================== HCI interface ======================== */
-+
-+
-+static int bt3c_hci_flush(struct hci_dev *hdev)
-+{
-+ bt3c_info_t *info = (bt3c_info_t *)(hdev->driver_data);
-+
-+ /* Drop TX queue */
-+ skb_queue_purge(&(info->txq));
-+
-+ return 0;
-+}
-+
-+
-+static int bt3c_hci_open(struct hci_dev *hdev)
-+{
-+ set_bit(HCI_RUNNING, &(hdev->flags));
-+
-+ return 0;
-+}
-+
-+
-+static int bt3c_hci_close(struct hci_dev *hdev)
-+{
-+ if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
-+ return 0;
-+
-+ bt3c_hci_flush(hdev);
-+
-+ return 0;
-+}
-+
-+
-+static int bt3c_hci_send_frame(struct sk_buff *skb)
-+{
-+ bt3c_info_t *info;
-+ struct hci_dev *hdev = (struct hci_dev *)(skb->dev);
-+
-+ if (!hdev) {
-+ printk(KERN_WARNING "bt3c_cs: Frame for unknown HCI device (hdev=NULL).");
-+ return -ENODEV;
-+ }
-+
-+ info = (bt3c_info_t *) (hdev->driver_data);
-+
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ break;
-+ };
-+
-+ /* Prepend skb with frame type */
-+ memcpy(skb_push(skb, 1), &(skb->pkt_type), 1);
-+ skb_queue_tail(&(info->txq), skb);
-+
-+ bt3c_write_wakeup(info, 0);
-+
-+ return 0;
-+}
-+
-+
-+static void bt3c_hci_destruct(struct hci_dev *hdev)
-+{
-+}
-+
-+
-+static int bt3c_hci_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned long arg)
-+{
-+ return -ENOIOCTLCMD;
-+}
-+
-+
-+
-+/* ======================== Card services HCI interaction ======================== */
-+
-+
-+static int bt3c_load_firmware(bt3c_info_t *info, unsigned char *firmware, int count)
-+{
-+ char *ptr = (char *) firmware;
-+ char b[9];
-+ unsigned int iobase, size, addr, fcs, tmp;
-+ int i, err = 0;
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ /* Reset */
-+
-+ bt3c_io_write(iobase, 0x8040, 0x0404);
-+ bt3c_io_write(iobase, 0x8040, 0x0400);
-+
-+ udelay(1);
-+
-+ bt3c_io_write(iobase, 0x8040, 0x0404);
-+
-+ udelay(17);
-+
-+ /* Load */
-+
-+ while (count) {
-+ if (ptr[0] != 'S') {
-+ printk(KERN_WARNING "bt3c_cs: Bad address in firmware.\n");
-+ err = -EFAULT;
-+ goto error;
-+ }
-+
-+ memset(b, 0, sizeof(b));
-+ memcpy(b, ptr + 2, 2);
-+ size = simple_strtol(b, NULL, 16);
-+
-+ memset(b, 0, sizeof(b));
-+ memcpy(b, ptr + 4, 8);
-+ addr = simple_strtol(b, NULL, 16);
-+
-+ memset(b, 0, sizeof(b));
-+ memcpy(b, ptr + (size * 2) + 2, 2);
-+ fcs = simple_strtol(b, NULL, 16);
-+
-+ memset(b, 0, sizeof(b));
-+ for (tmp = 0, i = 0; i < size; i++) {
-+ memcpy(b, ptr + (i * 2) + 2, 2);
-+ tmp += simple_strtol(b, NULL, 16);
-+ }
-+
-+ if (((tmp + fcs) & 0xff) != 0xff) {
-+ printk(KERN_WARNING "bt3c_cs: Checksum error in firmware.\n");
-+ err = -EILSEQ;
-+ goto error;
-+ }
-+
-+ if (ptr[1] == '3') {
-+ bt3c_address(iobase, addr);
-+
-+ memset(b, 0, sizeof(b));
-+ for (i = 0; i < (size - 4) / 2; i++) {
-+ memcpy(b, ptr + (i * 4) + 12, 4);
-+ tmp = simple_strtol(b, NULL, 16);
-+ bt3c_put(iobase, tmp);
-+ }
-+ }
-+
-+ ptr += (size * 2) + 6;
-+ count -= (size * 2) + 6;
-+ }
-+
-+ udelay(17);
-+
-+ /* Boot */
-+
-+ bt3c_address(iobase, 0x3000);
-+ outb(inb(iobase + CONTROL) | 0x40, iobase + CONTROL);
-+
-+error:
-+ udelay(17);
-+
-+ /* Clear */
-+
-+ bt3c_io_write(iobase, 0x7006, 0x0000);
-+ bt3c_io_write(iobase, 0x7005, 0x0000);
-+ bt3c_io_write(iobase, 0x7001, 0x0000);
-+
-+ return err;
-+}
-+
-+
-+int bt3c_open(bt3c_info_t *info)
-+{
-+ const struct firmware *firmware;
-+ char device[16];
-+ struct hci_dev *hdev;
-+ int err;
-+
-+ spin_lock_init(&(info->lock));
-+
-+ skb_queue_head_init(&(info->txq));
-+
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ info->rx_skb = NULL;
-+
-+ /* Load firmware */
-+
-+ snprintf(device, sizeof(device), "bt3c%4.4x", info->link.io.BasePort1);
-+
-+ err = request_firmware(&firmware, "BT3CPCC.bin", device);
-+ if (err < 0) {
-+ printk(KERN_WARNING "bt3c_cs: Firmware request failed.\n");
-+ return err;
-+ }
-+
-+ err = bt3c_load_firmware(info, firmware->data, firmware->size);
-+
-+ release_firmware(firmware);
-+
-+ if (err < 0) {
-+ printk(KERN_WARNING "bt3c_cs: Firmware loading failed.\n");
-+ return err;
-+ }
-+
-+ /* Timeout before it is safe to send the first HCI packet */
-+
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule_timeout(HZ);
-+
-+
-+ /* Initialize and register HCI device */
-+
-+ hdev = &(info->hdev);
-+
-+ hdev->type = HCI_PCCARD;
-+ hdev->driver_data = info;
-+
-+ hdev->open = bt3c_hci_open;
-+ hdev->close = bt3c_hci_close;
-+ hdev->flush = bt3c_hci_flush;
-+ hdev->send = bt3c_hci_send_frame;
-+ hdev->destruct = bt3c_hci_destruct;
-+ hdev->ioctl = bt3c_hci_ioctl;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ printk(KERN_WARNING "bt3c_cs: Can't register HCI device %s.\n", hdev->name);
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+int bt3c_close(bt3c_info_t *info)
-+{
-+ struct hci_dev *hdev = &(info->hdev);
-+
-+ if (info->link.state & DEV_CONFIG_PENDING)
-+ return -ENODEV;
-+
-+ bt3c_hci_close(hdev);
-+
-+ if (hci_unregister_dev(hdev) < 0)
-+ printk(KERN_WARNING "bt3c_cs: Can't unregister HCI device %s.\n", hdev->name);
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Card services ======================== */
-+
-+
-+static void cs_error(client_handle_t handle, int func, int ret)
-+{
-+ error_info_t err = { func, ret };
-+
-+ CardServices(ReportError, handle, &err);
-+}
-+
-+
-+dev_link_t *bt3c_attach(void)
-+{
-+ bt3c_info_t *info;
-+ client_reg_t client_reg;
-+ dev_link_t *link;
-+ int i, ret;
-+
-+ /* Create new info device */
-+ info = kmalloc(sizeof(*info), GFP_KERNEL);
-+ if (!info)
-+ return NULL;
-+ memset(info, 0, sizeof(*info));
-+
-+ link = &info->link;
-+ link->priv = info;
-+
-+ link->release.function = &bt3c_release;
-+ link->release.data = (u_long)link;
-+ link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-+ link->io.NumPorts1 = 8;
-+ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
-+ link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID;
-+
-+ if (irq_list[0] == -1)
-+ link->irq.IRQInfo2 = irq_mask;
-+ else
-+ for (i = 0; i < 4; i++)
-+ link->irq.IRQInfo2 |= 1 << irq_list[i];
-+
-+ link->irq.Handler = bt3c_interrupt;
-+ link->irq.Instance = info;
-+
-+ link->conf.Attributes = CONF_ENABLE_IRQ;
-+ link->conf.Vcc = 50;
-+ link->conf.IntType = INT_MEMORY_AND_IO;
-+
-+ /* Register with Card Services */
-+ link->next = dev_list;
-+ dev_list = link;
-+ client_reg.dev_info = &dev_info;
-+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
-+ client_reg.EventMask =
-+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
-+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
-+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
-+ client_reg.event_handler = &bt3c_event;
-+ client_reg.Version = 0x0210;
-+ client_reg.event_callback_args.client_data = link;
-+
-+ ret = CardServices(RegisterClient, &link->handle, &client_reg);
-+ if (ret != CS_SUCCESS) {
-+ cs_error(link->handle, RegisterClient, ret);
-+ bt3c_detach(link);
-+ return NULL;
-+ }
-+
-+ return link;
-+}
-+
-+
-+void bt3c_detach(dev_link_t *link)
-+{
-+ bt3c_info_t *info = link->priv;
-+ dev_link_t **linkp;
-+ int ret;
-+
-+ /* Locate device structure */
-+ for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-+ if (*linkp == link)
-+ break;
-+
-+ if (*linkp == NULL)
-+ return;
-+
-+ del_timer(&link->release);
-+
-+ if (link->state & DEV_CONFIG)
-+ bt3c_release((u_long)link);
-+
-+ if (link->handle) {
-+ ret = CardServices(DeregisterClient, link->handle);
-+ if (ret != CS_SUCCESS)
-+ cs_error(link->handle, DeregisterClient, ret);
-+ }
-+
-+ /* Unlink device structure, free bits */
-+ *linkp = link->next;
-+
-+ kfree(info);
-+}
-+
-+
-+static int get_tuple(int fn, client_handle_t handle, tuple_t *tuple, cisparse_t *parse)
-+{
-+ int i;
-+
-+ i = CardServices(fn, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return CS_NO_MORE_ITEMS;
-+
-+ i = CardServices(GetTupleData, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return i;
-+
-+ return CardServices(ParseTuple, handle, tuple, parse);
-+}
-+
-+
-+#define first_tuple(a, b, c) get_tuple(GetFirstTuple, a, b, c)
-+#define next_tuple(a, b, c) get_tuple(GetNextTuple, a, b, c)
-+
-+void bt3c_config(dev_link_t *link)
-+{
-+ static ioaddr_t base[5] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x0 };
-+ client_handle_t handle = link->handle;
-+ bt3c_info_t *info = link->priv;
-+ tuple_t tuple;
-+ u_short buf[256];
-+ cisparse_t parse;
-+ cistpl_cftable_entry_t *cf = &parse.cftable_entry;
-+ config_info_t config;
-+ int i, j, try, last_ret, last_fn;
-+
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+
-+ /* Get configuration register information */
-+ tuple.DesiredTuple = CISTPL_CONFIG;
-+ last_ret = first_tuple(handle, &tuple, &parse);
-+ if (last_ret != CS_SUCCESS) {
-+ last_fn = ParseTuple;
-+ goto cs_failed;
-+ }
-+ link->conf.ConfigBase = parse.config.base;
-+ link->conf.Present = parse.config.rmask[0];
-+
-+ /* Configure card */
-+ link->state |= DEV_CONFIG;
-+ i = CardServices(GetConfigurationInfo, handle, &config);
-+ link->conf.Vcc = config.Vcc;
-+
-+ /* First pass: look for a config entry that looks normal. */
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+ tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
-+ /* Two tries: without IO aliases, then with aliases */
-+ for (try = 0; try < 2; try++) {
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if (i != CS_SUCCESS)
-+ goto next_entry;
-+ if (cf->vpp1.present & (1 << CISTPL_POWER_VNOM))
-+ link->conf.Vpp1 = link->conf.Vpp2 = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000;
-+ if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) && (cf->io.win[0].base != 0)) {
-+ link->conf.ConfigIndex = cf->index;
-+ link->io.BasePort1 = cf->io.win[0].base;
-+ link->io.IOAddrLines = (try == 0) ? 16 : cf->io.flags & CISTPL_IO_LINES_MASK;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ goto found_port;
-+ }
-+next_entry:
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+ }
-+
-+ /* Second pass: try to find an entry that isn't picky about
-+ its base address, then try to grab any standard serial port
-+ address, and finally try to get any free port. */
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if ((i == CS_SUCCESS) && (cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) {
-+ link->conf.ConfigIndex = cf->index;
-+ for (j = 0; j < 5; j++) {
-+ link->io.BasePort1 = base[j];
-+ link->io.IOAddrLines = base[j] ? 16 : 3;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ goto found_port;
-+ }
-+ }
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+
-+found_port:
-+ if (i != CS_SUCCESS) {
-+ printk(KERN_NOTICE "bt3c_cs: No usable port range found. Giving up.\n");
-+ cs_error(link->handle, RequestIO, i);
-+ goto failed;
-+ }
-+
-+ i = CardServices(RequestIRQ, link->handle, &link->irq);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIRQ, i);
-+ link->irq.AssignedIRQ = 0;
-+ }
-+
-+ i = CardServices(RequestConfiguration, link->handle, &link->conf);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestConfiguration, i);
-+ goto failed;
-+ }
-+
-+ MOD_INC_USE_COUNT;
-+
-+ if (bt3c_open(info) != 0)
-+ goto failed;
-+
-+ strcpy(info->node.dev_name, info->hdev.name);
-+ link->dev = &info->node;
-+ link->state &= ~DEV_CONFIG_PENDING;
-+
-+ return;
-+
-+cs_failed:
-+ cs_error(link->handle, last_fn, last_ret);
-+
-+failed:
-+ bt3c_release((u_long)link);
-+}
-+
-+
-+void bt3c_release(u_long arg)
-+{
-+ dev_link_t *link = (dev_link_t *)arg;
-+ bt3c_info_t *info = link->priv;
-+
-+ if (link->state & DEV_PRESENT)
-+ bt3c_close(info);
-+
-+ MOD_DEC_USE_COUNT;
-+
-+ link->dev = NULL;
-+
-+ CardServices(ReleaseConfiguration, link->handle);
-+ CardServices(ReleaseIO, link->handle, &link->io);
-+ CardServices(ReleaseIRQ, link->handle, &link->irq);
-+
-+ link->state &= ~DEV_CONFIG;
-+}
-+
-+
-+int bt3c_event(event_t event, int priority, event_callback_args_t *args)
-+{
-+ dev_link_t *link = args->client_data;
-+ bt3c_info_t *info = link->priv;
-+
-+ switch (event) {
-+ case CS_EVENT_CARD_REMOVAL:
-+ link->state &= ~DEV_PRESENT;
-+ if (link->state & DEV_CONFIG) {
-+ bt3c_close(info);
-+ mod_timer(&link->release, jiffies + HZ / 20);
-+ }
-+ break;
-+ case CS_EVENT_CARD_INSERTION:
-+ link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-+ bt3c_config(link);
-+ break;
-+ case CS_EVENT_PM_SUSPEND:
-+ link->state |= DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_RESET_PHYSICAL:
-+ if (link->state & DEV_CONFIG)
-+ CardServices(ReleaseConfiguration, link->handle);
-+ break;
-+ case CS_EVENT_PM_RESUME:
-+ link->state &= ~DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_CARD_RESET:
-+ if (DEV_OK(link))
-+ CardServices(RequestConfiguration, link->handle, &link->conf);
-+ break;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Module initialization ======================== */
-+
-+
-+int __init init_bt3c_cs(void)
-+{
-+ servinfo_t serv;
-+ int err;
-+
-+ CardServices(GetCardServicesInfo, &serv);
-+ if (serv.Revision != CS_RELEASE_CODE) {
-+ printk(KERN_NOTICE "bt3c_cs: Card Services release does not match!\n");
-+ return -1;
-+ }
-+
-+ err = register_pccard_driver(&dev_info, &bt3c_attach, &bt3c_detach);
-+
-+ return err;
-+}
-+
-+
-+void __exit exit_bt3c_cs(void)
-+{
-+ unregister_pccard_driver(&dev_info);
-+
-+ while (dev_list != NULL)
-+ bt3c_detach(dev_list);
-+}
-+
-+
-+module_init(init_bt3c_cs);
-+module_exit(exit_bt3c_cs);
-+
-+EXPORT_NO_SYMBOLS;
-diff -urN linux-2.4.18/drivers/bluetooth/btuart_cs.c linux-2.4.18-mh15/drivers/bluetooth/btuart_cs.c
---- linux-2.4.18/drivers/bluetooth/btuart_cs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/btuart_cs.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,909 @@
-+/*
-+ *
-+ * Driver for Bluetooth PCMCIA cards with HCI UART interface
-+ *
-+ * Copyright (C) 2001-2002 Marcel Holtmann <marcel@holtmann.org>
-+ *
-+ *
-+ * 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;
-+ *
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ *
-+ * The initial developer of the original code is David A. Hinds
-+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
-+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/types.h>
-+#include <linux/sched.h>
-+#include <linux/timer.h>
-+#include <linux/errno.h>
-+#include <linux/ptrace.h>
-+#include <linux/ioport.h>
-+#include <linux/spinlock.h>
-+
-+#include <linux/skbuff.h>
-+#include <linux/string.h>
-+#include <linux/serial.h>
-+#include <linux/serial_reg.h>
-+#include <asm/system.h>
-+#include <asm/bitops.h>
-+#include <asm/io.h>
-+
-+#include <pcmcia/version.h>
-+#include <pcmcia/cs_types.h>
-+#include <pcmcia/cs.h>
-+#include <pcmcia/cistpl.h>
-+#include <pcmcia/ciscode.h>
-+#include <pcmcia/ds.h>
-+#include <pcmcia/cisreg.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+
-+
-+/* ======================== Module parameters ======================== */
-+
-+
-+/* Bit map of interrupts to choose from */
-+static u_int irq_mask = 0xffff;
-+static int irq_list[4] = { -1 };
-+
-+MODULE_PARM(irq_mask, "i");
-+MODULE_PARM(irq_list, "1-4i");
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("BlueZ driver for Bluetooth PCMCIA cards with HCI UART interface");
-+MODULE_LICENSE("GPL");
-+
-+
-+
-+/* ======================== Local structures ======================== */
-+
-+
-+typedef struct btuart_info_t {
-+ dev_link_t link;
-+ dev_node_t node;
-+
-+ struct hci_dev hdev;
-+
-+ spinlock_t lock; /* For serializing operations */
-+
-+ struct sk_buff_head txq;
-+ unsigned long tx_state;
-+
-+ unsigned long rx_state;
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+} btuart_info_t;
-+
-+
-+void btuart_config(dev_link_t *link);
-+void btuart_release(u_long arg);
-+int btuart_event(event_t event, int priority, event_callback_args_t *args);
-+
-+static dev_info_t dev_info = "btuart_cs";
-+
-+dev_link_t *btuart_attach(void);
-+void btuart_detach(dev_link_t *);
-+
-+static dev_link_t *dev_list = NULL;
-+
-+
-+/* Maximum baud rate */
-+#define SPEED_MAX 115200
-+
-+/* Default baud rate: 57600, 115200, 230400 or 460800 */
-+#define DEFAULT_BAUD_RATE 115200
-+
-+
-+/* Transmit states */
-+#define XMIT_SENDING 1
-+#define XMIT_WAKEUP 2
-+#define XMIT_WAITING 8
-+
-+/* Receiver states */
-+#define RECV_WAIT_PACKET_TYPE 0
-+#define RECV_WAIT_EVENT_HEADER 1
-+#define RECV_WAIT_ACL_HEADER 2
-+#define RECV_WAIT_SCO_HEADER 3
-+#define RECV_WAIT_DATA 4
-+
-+
-+
-+/* ======================== Interrupt handling ======================== */
-+
-+
-+static int btuart_write(unsigned int iobase, int fifo_size, __u8 *buf, int len)
-+{
-+ int actual = 0;
-+
-+ /* Tx FIFO should be empty */
-+ if (!(inb(iobase + UART_LSR) & UART_LSR_THRE))
-+ return 0;
-+
-+ /* Fill FIFO with current frame */
-+ while ((fifo_size-- > 0) && (actual < len)) {
-+ /* Transmit next byte */
-+ outb(buf[actual], iobase + UART_TX);
-+ actual++;
-+ }
-+
-+ return actual;
-+}
-+
-+
-+static void btuart_write_wakeup(btuart_info_t *info)
-+{
-+ if (!info) {
-+ printk(KERN_WARNING "btuart_cs: Call of write_wakeup for unknown device.\n");
-+ return;
-+ }
-+
-+ if (test_and_set_bit(XMIT_SENDING, &(info->tx_state))) {
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+ return;
-+ }
-+
-+ do {
-+ register unsigned int iobase = info->link.io.BasePort1;
-+ register struct sk_buff *skb;
-+ register int len;
-+
-+ clear_bit(XMIT_WAKEUP, &(info->tx_state));
-+
-+ if (!(info->link.state & DEV_PRESENT))
-+ return;
-+
-+ if (!(skb = skb_dequeue(&(info->txq))))
-+ break;
-+
-+ /* Send frame */
-+ len = btuart_write(iobase, 16, skb->data, skb->len);
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+
-+ if (len == skb->len) {
-+ kfree_skb(skb);
-+ } else {
-+ skb_pull(skb, len);
-+ skb_queue_head(&(info->txq), skb);
-+ }
-+
-+ info->hdev.stat.byte_tx += len;
-+
-+ } while (test_bit(XMIT_WAKEUP, &(info->tx_state)));
-+
-+ clear_bit(XMIT_SENDING, &(info->tx_state));
-+}
-+
-+
-+static void btuart_receive(btuart_info_t *info)
-+{
-+ unsigned int iobase;
-+ int boguscount = 0;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "btuart_cs: Call of receive for unknown device.\n");
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ do {
-+ info->hdev.stat.byte_rx++;
-+
-+ /* Allocate packet */
-+ if (info->rx_skb == NULL) {
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ if (!(info->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_WARNING "btuart_cs: Can't allocate mem for new packet.\n");
-+ return;
-+ }
-+ }
-+
-+ if (info->rx_state == RECV_WAIT_PACKET_TYPE) {
-+
-+ info->rx_skb->dev = (void *)&(info->hdev);
-+ info->rx_skb->pkt_type = inb(iobase + UART_RX);
-+
-+ switch (info->rx_skb->pkt_type) {
-+
-+ case HCI_EVENT_PKT:
-+ info->rx_state = RECV_WAIT_EVENT_HEADER;
-+ info->rx_count = HCI_EVENT_HDR_SIZE;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ info->rx_state = RECV_WAIT_ACL_HEADER;
-+ info->rx_count = HCI_ACL_HDR_SIZE;
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ info->rx_state = RECV_WAIT_SCO_HEADER;
-+ info->rx_count = HCI_SCO_HDR_SIZE;
-+ break;
-+
-+ default:
-+ /* Unknown packet */
-+ printk(KERN_WARNING "btuart_cs: Unknown HCI packet with type 0x%02x received.\n", info->rx_skb->pkt_type);
-+ info->hdev.stat.err_rx++;
-+ clear_bit(HCI_RUNNING, &(info->hdev.flags));
-+
-+ kfree_skb(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ } else {
-+
-+ *skb_put(info->rx_skb, 1) = inb(iobase + UART_RX);
-+ info->rx_count--;
-+
-+ if (info->rx_count == 0) {
-+
-+ int dlen;
-+ hci_event_hdr *eh;
-+ hci_acl_hdr *ah;
-+ hci_sco_hdr *sh;
-+
-+
-+ switch (info->rx_state) {
-+
-+ case RECV_WAIT_EVENT_HEADER:
-+ eh = (hci_event_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = eh->plen;
-+ break;
-+
-+ case RECV_WAIT_ACL_HEADER:
-+ ah = (hci_acl_hdr *)(info->rx_skb->data);
-+ dlen = __le16_to_cpu(ah->dlen);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = dlen;
-+ break;
-+
-+ case RECV_WAIT_SCO_HEADER:
-+ sh = (hci_sco_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = sh->dlen;
-+ break;
-+
-+ case RECV_WAIT_DATA:
-+ hci_recv_frame(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ }
-+
-+ }
-+
-+ /* Make sure we don't stay here to long */
-+ if (boguscount++ > 16)
-+ break;
-+
-+ } while (inb(iobase + UART_LSR) & UART_LSR_DR);
-+}
-+
-+
-+void btuart_interrupt(int irq, void *dev_inst, struct pt_regs *regs)
-+{
-+ btuart_info_t *info = dev_inst;
-+ unsigned int iobase;
-+ int boguscount = 0;
-+ int iir, lsr;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "btuart_cs: Call of irq %d for unknown device.\n", irq);
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ spin_lock(&(info->lock));
-+
-+ iir = inb(iobase + UART_IIR) & UART_IIR_ID;
-+ while (iir) {
-+
-+ /* Clear interrupt */
-+ lsr = inb(iobase + UART_LSR);
-+
-+ switch (iir) {
-+ case UART_IIR_RLSI:
-+ printk(KERN_NOTICE "btuart_cs: RLSI\n");
-+ break;
-+ case UART_IIR_RDI:
-+ /* Receive interrupt */
-+ btuart_receive(info);
-+ break;
-+ case UART_IIR_THRI:
-+ if (lsr & UART_LSR_THRE) {
-+ /* Transmitter ready for data */
-+ btuart_write_wakeup(info);
-+ }
-+ break;
-+ default:
-+ printk(KERN_NOTICE "btuart_cs: Unhandled IIR=%#x\n", iir);
-+ break;
-+ }
-+
-+ /* Make sure we don't stay here to long */
-+ if (boguscount++ > 100)
-+ break;
-+
-+ iir = inb(iobase + UART_IIR) & UART_IIR_ID;
-+
-+ }
-+
-+ spin_unlock(&(info->lock));
-+}
-+
-+
-+static void btuart_change_speed(btuart_info_t *info, unsigned int speed)
-+{
-+ unsigned long flags;
-+ unsigned int iobase;
-+ int fcr; /* FIFO control reg */
-+ int lcr; /* Line control reg */
-+ int divisor;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "btuart_cs: Call of change speed for unknown device.\n");
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Turn off interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ divisor = SPEED_MAX / speed;
-+
-+ fcr = UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT;
-+
-+ /*
-+ * Use trigger level 1 to avoid 3 ms. timeout delay at 9600 bps, and
-+ * almost 1,7 ms at 19200 bps. At speeds above that we can just forget
-+ * about this timeout since it will always be fast enough.
-+ */
-+
-+ if (speed < 38400)
-+ fcr |= UART_FCR_TRIGGER_1;
-+ else
-+ fcr |= UART_FCR_TRIGGER_14;
-+
-+ /* Bluetooth cards use 8N1 */
-+ lcr = UART_LCR_WLEN8;
-+
-+ outb(UART_LCR_DLAB | lcr, iobase + UART_LCR); /* Set DLAB */
-+ outb(divisor & 0xff, iobase + UART_DLL); /* Set speed */
-+ outb(divisor >> 8, iobase + UART_DLM);
-+ outb(lcr, iobase + UART_LCR); /* Set 8N1 */
-+ outb(fcr, iobase + UART_FCR); /* Enable FIFO's */
-+
-+ /* Turn on interrups */
-+ outb(UART_IER_RLSI | UART_IER_RDI | UART_IER_THRI, iobase + UART_IER);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+}
-+
-+
-+
-+/* ======================== HCI interface ======================== */
-+
-+
-+static int btuart_hci_flush(struct hci_dev *hdev)
-+{
-+ btuart_info_t *info = (btuart_info_t *)(hdev->driver_data);
-+
-+ /* Drop TX queue */
-+ skb_queue_purge(&(info->txq));
-+
-+ return 0;
-+}
-+
-+
-+static int btuart_hci_open(struct hci_dev *hdev)
-+{
-+ set_bit(HCI_RUNNING, &(hdev->flags));
-+
-+ return 0;
-+}
-+
-+
-+static int btuart_hci_close(struct hci_dev *hdev)
-+{
-+ if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
-+ return 0;
-+
-+ btuart_hci_flush(hdev);
-+
-+ return 0;
-+}
-+
-+
-+static int btuart_hci_send_frame(struct sk_buff *skb)
-+{
-+ btuart_info_t *info;
-+ struct hci_dev *hdev = (struct hci_dev *)(skb->dev);
-+
-+ if (!hdev) {
-+ printk(KERN_WARNING "btuart_cs: Frame for unknown HCI device (hdev=NULL).");
-+ return -ENODEV;
-+ }
-+
-+ info = (btuart_info_t *)(hdev->driver_data);
-+
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ break;
-+ };
-+
-+ /* Prepend skb with frame type */
-+ memcpy(skb_push(skb, 1), &(skb->pkt_type), 1);
-+ skb_queue_tail(&(info->txq), skb);
-+
-+ btuart_write_wakeup(info);
-+
-+ return 0;
-+}
-+
-+
-+static void btuart_hci_destruct(struct hci_dev *hdev)
-+{
-+}
-+
-+
-+static int btuart_hci_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned long arg)
-+{
-+ return -ENOIOCTLCMD;
-+}
-+
-+
-+
-+/* ======================== Card services HCI interaction ======================== */
-+
-+
-+int btuart_open(btuart_info_t *info)
-+{
-+ unsigned long flags;
-+ unsigned int iobase = info->link.io.BasePort1;
-+ struct hci_dev *hdev;
-+
-+ spin_lock_init(&(info->lock));
-+
-+ skb_queue_head_init(&(info->txq));
-+
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ info->rx_skb = NULL;
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Reset UART */
-+ outb(0, iobase + UART_MCR);
-+
-+ /* Turn off interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ /* Initialize UART */
-+ outb(UART_LCR_WLEN8, iobase + UART_LCR); /* Reset DLAB */
-+ outb((UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2), iobase + UART_MCR);
-+
-+ /* Turn on interrupts */
-+ // outb(UART_IER_RLSI | UART_IER_RDI | UART_IER_THRI, iobase + UART_IER);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+
-+ btuart_change_speed(info, DEFAULT_BAUD_RATE);
-+
-+ /* Timeout before it is safe to send the first HCI packet */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule_timeout(HZ);
-+
-+
-+ /* Initialize and register HCI device */
-+
-+ hdev = &(info->hdev);
-+
-+ hdev->type = HCI_PCCARD;
-+ hdev->driver_data = info;
-+
-+ hdev->open = btuart_hci_open;
-+ hdev->close = btuart_hci_close;
-+ hdev->flush = btuart_hci_flush;
-+ hdev->send = btuart_hci_send_frame;
-+ hdev->destruct = btuart_hci_destruct;
-+ hdev->ioctl = btuart_hci_ioctl;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ printk(KERN_WARNING "btuart_cs: Can't register HCI device %s.\n", hdev->name);
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+int btuart_close(btuart_info_t *info)
-+{
-+ unsigned long flags;
-+ unsigned int iobase = info->link.io.BasePort1;
-+ struct hci_dev *hdev = &(info->hdev);
-+
-+ if (info->link.state & DEV_CONFIG_PENDING)
-+ return -ENODEV;
-+
-+ btuart_hci_close(hdev);
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Reset UART */
-+ outb(0, iobase + UART_MCR);
-+
-+ /* Turn off interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+
-+ if (hci_unregister_dev(hdev) < 0)
-+ printk(KERN_WARNING "btuart_cs: Can't unregister HCI device %s.\n", hdev->name);
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Card services ======================== */
-+
-+
-+static void cs_error(client_handle_t handle, int func, int ret)
-+{
-+ error_info_t err = { func, ret };
-+
-+ CardServices(ReportError, handle, &err);
-+}
-+
-+
-+dev_link_t *btuart_attach(void)
-+{
-+ btuart_info_t *info;
-+ client_reg_t client_reg;
-+ dev_link_t *link;
-+ int i, ret;
-+
-+ /* Create new info device */
-+ info = kmalloc(sizeof(*info), GFP_KERNEL);
-+ if (!info)
-+ return NULL;
-+ memset(info, 0, sizeof(*info));
-+
-+ link = &info->link;
-+ link->priv = info;
-+
-+ link->release.function = &btuart_release;
-+ link->release.data = (u_long)link;
-+ link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-+ link->io.NumPorts1 = 8;
-+ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
-+ link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID;
-+
-+ if (irq_list[0] == -1)
-+ link->irq.IRQInfo2 = irq_mask;
-+ else
-+ for (i = 0; i < 4; i++)
-+ link->irq.IRQInfo2 |= 1 << irq_list[i];
-+
-+ link->irq.Handler = btuart_interrupt;
-+ link->irq.Instance = info;
-+
-+ link->conf.Attributes = CONF_ENABLE_IRQ;
-+ link->conf.Vcc = 50;
-+ link->conf.IntType = INT_MEMORY_AND_IO;
-+
-+ /* Register with Card Services */
-+ link->next = dev_list;
-+ dev_list = link;
-+ client_reg.dev_info = &dev_info;
-+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
-+ client_reg.EventMask =
-+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
-+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
-+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
-+ client_reg.event_handler = &btuart_event;
-+ client_reg.Version = 0x0210;
-+ client_reg.event_callback_args.client_data = link;
-+
-+ ret = CardServices(RegisterClient, &link->handle, &client_reg);
-+ if (ret != CS_SUCCESS) {
-+ cs_error(link->handle, RegisterClient, ret);
-+ btuart_detach(link);
-+ return NULL;
-+ }
-+
-+ return link;
-+}
-+
-+
-+void btuart_detach(dev_link_t *link)
-+{
-+ btuart_info_t *info = link->priv;
-+ dev_link_t **linkp;
-+ int ret;
-+
-+ /* Locate device structure */
-+ for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-+ if (*linkp == link)
-+ break;
-+
-+ if (*linkp == NULL)
-+ return;
-+
-+ del_timer(&link->release);
-+ if (link->state & DEV_CONFIG)
-+ btuart_release((u_long)link);
-+
-+ if (link->handle) {
-+ ret = CardServices(DeregisterClient, link->handle);
-+ if (ret != CS_SUCCESS)
-+ cs_error(link->handle, DeregisterClient, ret);
-+ }
-+
-+ /* Unlink device structure, free bits */
-+ *linkp = link->next;
-+
-+ kfree(info);
-+}
-+
-+
-+static int get_tuple(int fn, client_handle_t handle, tuple_t *tuple, cisparse_t *parse)
-+{
-+ int i;
-+
-+ i = CardServices(fn, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return CS_NO_MORE_ITEMS;
-+
-+ i = CardServices(GetTupleData, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return i;
-+
-+ return CardServices(ParseTuple, handle, tuple, parse);
-+}
-+
-+
-+#define first_tuple(a, b, c) get_tuple(GetFirstTuple, a, b, c)
-+#define next_tuple(a, b, c) get_tuple(GetNextTuple, a, b, c)
-+
-+void btuart_config(dev_link_t *link)
-+{
-+ static ioaddr_t base[5] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x0 };
-+ client_handle_t handle = link->handle;
-+ btuart_info_t *info = link->priv;
-+ tuple_t tuple;
-+ u_short buf[256];
-+ cisparse_t parse;
-+ cistpl_cftable_entry_t *cf = &parse.cftable_entry;
-+ config_info_t config;
-+ int i, j, try, last_ret, last_fn;
-+
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+
-+ /* Get configuration register information */
-+ tuple.DesiredTuple = CISTPL_CONFIG;
-+ last_ret = first_tuple(handle, &tuple, &parse);
-+ if (last_ret != CS_SUCCESS) {
-+ last_fn = ParseTuple;
-+ goto cs_failed;
-+ }
-+ link->conf.ConfigBase = parse.config.base;
-+ link->conf.Present = parse.config.rmask[0];
-+
-+ /* Configure card */
-+ link->state |= DEV_CONFIG;
-+ i = CardServices(GetConfigurationInfo, handle, &config);
-+ link->conf.Vcc = config.Vcc;
-+
-+ /* First pass: look for a config entry that looks normal. */
-+ tuple.TupleData = (cisdata_t *) buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+ tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
-+ /* Two tries: without IO aliases, then with aliases */
-+ for (try = 0; try < 2; try++) {
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if (i != CS_SUCCESS)
-+ goto next_entry;
-+ if (cf->vpp1.present & (1 << CISTPL_POWER_VNOM))
-+ link->conf.Vpp1 = link->conf.Vpp2 = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000;
-+ if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) && (cf->io.win[0].base != 0)) {
-+ link->conf.ConfigIndex = cf->index;
-+ link->io.BasePort1 = cf->io.win[0].base;
-+ link->io.IOAddrLines = (try == 0) ? 16 : cf->io.flags & CISTPL_IO_LINES_MASK;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ goto found_port;
-+ }
-+next_entry:
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+ }
-+
-+ /* Second pass: try to find an entry that isn't picky about
-+ its base address, then try to grab any standard serial port
-+ address, and finally try to get any free port. */
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if ((i == CS_SUCCESS) && (cf->io.nwin > 0)
-+ && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) {
-+ link->conf.ConfigIndex = cf->index;
-+ for (j = 0; j < 5; j++) {
-+ link->io.BasePort1 = base[j];
-+ link->io.IOAddrLines = base[j] ? 16 : 3;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ goto found_port;
-+ }
-+ }
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+
-+found_port:
-+ if (i != CS_SUCCESS) {
-+ printk(KERN_NOTICE "btuart_cs: No usable port range found. Giving up.\n");
-+ cs_error(link->handle, RequestIO, i);
-+ goto failed;
-+ }
-+
-+ i = CardServices(RequestIRQ, link->handle, &link->irq);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIRQ, i);
-+ link->irq.AssignedIRQ = 0;
-+ }
-+
-+ i = CardServices(RequestConfiguration, link->handle, &link->conf);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestConfiguration, i);
-+ goto failed;
-+ }
-+
-+ MOD_INC_USE_COUNT;
-+
-+ if (btuart_open(info) != 0)
-+ goto failed;
-+
-+ strcpy(info->node.dev_name, info->hdev.name);
-+ link->dev = &info->node;
-+ link->state &= ~DEV_CONFIG_PENDING;
-+
-+ return;
-+
-+cs_failed:
-+ cs_error(link->handle, last_fn, last_ret);
-+
-+failed:
-+ btuart_release((u_long) link);
-+}
-+
-+
-+void btuart_release(u_long arg)
-+{
-+ dev_link_t *link = (dev_link_t *)arg;
-+ btuart_info_t *info = link->priv;
-+
-+ if (link->state & DEV_PRESENT)
-+ btuart_close(info);
-+
-+ MOD_DEC_USE_COUNT;
-+
-+ link->dev = NULL;
-+
-+ CardServices(ReleaseConfiguration, link->handle);
-+ CardServices(ReleaseIO, link->handle, &link->io);
-+ CardServices(ReleaseIRQ, link->handle, &link->irq);
-+
-+ link->state &= ~DEV_CONFIG;
-+}
-+
-+
-+int btuart_event(event_t event, int priority, event_callback_args_t *args)
-+{
-+ dev_link_t *link = args->client_data;
-+ btuart_info_t *info = link->priv;
-+
-+ switch (event) {
-+ case CS_EVENT_CARD_REMOVAL:
-+ link->state &= ~DEV_PRESENT;
-+ if (link->state & DEV_CONFIG) {
-+ btuart_close(info);
-+ mod_timer(&link->release, jiffies + HZ / 20);
-+ }
-+ break;
-+ case CS_EVENT_CARD_INSERTION:
-+ link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-+ btuart_config(link);
-+ break;
-+ case CS_EVENT_PM_SUSPEND:
-+ link->state |= DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_RESET_PHYSICAL:
-+ if (link->state & DEV_CONFIG)
-+ CardServices(ReleaseConfiguration, link->handle);
-+ break;
-+ case CS_EVENT_PM_RESUME:
-+ link->state &= ~DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_CARD_RESET:
-+ if (DEV_OK(link))
-+ CardServices(RequestConfiguration, link->handle, &link->conf);
-+ break;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Module initialization ======================== */
-+
-+
-+int __init init_btuart_cs(void)
-+{
-+ servinfo_t serv;
-+ int err;
-+
-+ CardServices(GetCardServicesInfo, &serv);
-+ if (serv.Revision != CS_RELEASE_CODE) {
-+ printk(KERN_NOTICE "btuart_cs: Card Services release does not match!\n");
-+ return -1;
-+ }
-+
-+ err = register_pccard_driver(&dev_info, &btuart_attach, &btuart_detach);
-+
-+ return err;
-+}
-+
-+
-+void __exit exit_btuart_cs(void)
-+{
-+ unregister_pccard_driver(&dev_info);
-+
-+ while (dev_list != NULL)
-+ btuart_detach(dev_list);
-+}
-+
-+
-+module_init(init_btuart_cs);
-+module_exit(exit_btuart_cs);
-+
-+EXPORT_NO_SYMBOLS;
-diff -urN linux-2.4.18/drivers/bluetooth/Config.in linux-2.4.18-mh15/drivers/bluetooth/Config.in
---- linux-2.4.18/drivers/bluetooth/Config.in 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/bluetooth/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -1,8 +1,33 @@
-+#
-+# Bluetooth HCI device drivers configuration
-+#
-+
- mainmenu_option next_comment
- comment 'Bluetooth device drivers'
-
- dep_tristate 'HCI USB driver' CONFIG_BLUEZ_HCIUSB $CONFIG_BLUEZ $CONFIG_USB
-+if [ "$CONFIG_BLUEZ_HCIUSB" != "n" ]; then
-+ bool ' SCO (voice) support' CONFIG_BLUEZ_HCIUSB_SCO
-+fi
-+
- dep_tristate 'HCI UART driver' CONFIG_BLUEZ_HCIUART $CONFIG_BLUEZ
--dep_tristate 'HCI VHCI virtual HCI device driver' CONFIG_BLUEZ_HCIVHCI $CONFIG_BLUEZ
-+if [ "$CONFIG_BLUEZ_HCIUART" != "n" ]; then
-+ bool ' UART (H4) protocol support' CONFIG_BLUEZ_HCIUART_H4
-+ bool ' BCSP protocol support' CONFIG_BLUEZ_HCIUART_BCSP
-+ dep_bool ' Transmit CRC with every BCSP packet' CONFIG_BLUEZ_HCIUART_BCSP_TXCRC $CONFIG_BLUEZ_HCIUART_BCSP
-+fi
-+
-+dep_tristate 'HCI BlueFRITZ! USB driver' CONFIG_BLUEZ_HCIBFUSB $CONFIG_BLUEZ $CONFIG_USB
-+
-+dep_tristate 'HCI DTL1 (PC Card) driver' CONFIG_BLUEZ_HCIDTL1 $CONFIG_PCMCIA $CONFIG_BLUEZ
-+
-+dep_tristate 'HCI BT3C (PC Card) driver' CONFIG_BLUEZ_HCIBT3C $CONFIG_PCMCIA $CONFIG_BLUEZ
-+
-+dep_tristate 'HCI BlueCard (PC Card) driver' CONFIG_BLUEZ_HCIBLUECARD $CONFIG_PCMCIA $CONFIG_BLUEZ
-+
-+dep_tristate 'HCI UART (PC Card) driver' CONFIG_BLUEZ_HCIBTUART $CONFIG_PCMCIA $CONFIG_BLUEZ
-+
-+dep_tristate 'HCI VHCI (Virtual HCI device) driver' CONFIG_BLUEZ_HCIVHCI $CONFIG_BLUEZ
-
- endmenu
-+
-diff -urN linux-2.4.18/drivers/bluetooth/dtl1_cs.c linux-2.4.18-mh15/drivers/bluetooth/dtl1_cs.c
---- linux-2.4.18/drivers/bluetooth/dtl1_cs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/dtl1_cs.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,861 @@
-+/*
-+ *
-+ * A driver for Nokia Connectivity Card DTL-1 devices
-+ *
-+ * Copyright (C) 2001-2002 Marcel Holtmann <marcel@holtmann.org>
-+ *
-+ *
-+ * 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;
-+ *
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ *
-+ * The initial developer of the original code is David A. Hinds
-+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
-+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/types.h>
-+#include <linux/sched.h>
-+#include <linux/timer.h>
-+#include <linux/errno.h>
-+#include <linux/ptrace.h>
-+#include <linux/ioport.h>
-+#include <linux/spinlock.h>
-+
-+#include <linux/skbuff.h>
-+#include <linux/string.h>
-+#include <linux/serial.h>
-+#include <linux/serial_reg.h>
-+#include <asm/system.h>
-+#include <asm/bitops.h>
-+#include <asm/io.h>
-+
-+#include <pcmcia/version.h>
-+#include <pcmcia/cs_types.h>
-+#include <pcmcia/cs.h>
-+#include <pcmcia/cistpl.h>
-+#include <pcmcia/ciscode.h>
-+#include <pcmcia/ds.h>
-+#include <pcmcia/cisreg.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+
-+
-+/* ======================== Module parameters ======================== */
-+
-+
-+/* Bit map of interrupts to choose from */
-+static u_int irq_mask = 0xffff;
-+static int irq_list[4] = { -1 };
-+
-+MODULE_PARM(irq_mask, "i");
-+MODULE_PARM(irq_list, "1-4i");
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("BlueZ driver for Nokia Connectivity Card DTL-1");
-+MODULE_LICENSE("GPL");
-+
-+
-+
-+/* ======================== Local structures ======================== */
-+
-+
-+typedef struct dtl1_info_t {
-+ dev_link_t link;
-+ dev_node_t node;
-+
-+ struct hci_dev hdev;
-+
-+ spinlock_t lock; /* For serializing operations */
-+
-+ unsigned long flowmask; /* HCI flow mask */
-+ int ri_latch;
-+
-+ struct sk_buff_head txq;
-+ unsigned long tx_state;
-+
-+ unsigned long rx_state;
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+} dtl1_info_t;
-+
-+
-+void dtl1_config(dev_link_t *link);
-+void dtl1_release(u_long arg);
-+int dtl1_event(event_t event, int priority, event_callback_args_t *args);
-+
-+static dev_info_t dev_info = "dtl1_cs";
-+
-+dev_link_t *dtl1_attach(void);
-+void dtl1_detach(dev_link_t *);
-+
-+static dev_link_t *dev_list = NULL;
-+
-+
-+/* Transmit states */
-+#define XMIT_SENDING 1
-+#define XMIT_WAKEUP 2
-+#define XMIT_WAITING 8
-+
-+/* Receiver States */
-+#define RECV_WAIT_NSH 0
-+#define RECV_WAIT_DATA 1
-+
-+
-+typedef struct {
-+ u8 type;
-+ u8 zero;
-+ u16 len;
-+} __attribute__ ((packed)) nsh_t; /* Nokia Specific Header */
-+
-+#define NSHL 4 /* Nokia Specific Header Length */
-+
-+
-+
-+/* ======================== Interrupt handling ======================== */
-+
-+
-+static int dtl1_write(unsigned int iobase, int fifo_size, __u8 *buf, int len)
-+{
-+ int actual = 0;
-+
-+ /* Tx FIFO should be empty */
-+ if (!(inb(iobase + UART_LSR) & UART_LSR_THRE))
-+ return 0;
-+
-+ /* Fill FIFO with current frame */
-+ while ((fifo_size-- > 0) && (actual < len)) {
-+ /* Transmit next byte */
-+ outb(buf[actual], iobase + UART_TX);
-+ actual++;
-+ }
-+
-+ return actual;
-+}
-+
-+
-+static void dtl1_write_wakeup(dtl1_info_t *info)
-+{
-+ if (!info) {
-+ printk(KERN_WARNING "dtl1_cs: Call of write_wakeup for unknown device.\n");
-+ return;
-+ }
-+
-+ if (test_bit(XMIT_WAITING, &(info->tx_state))) {
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+ return;
-+ }
-+
-+ if (test_and_set_bit(XMIT_SENDING, &(info->tx_state))) {
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+ return;
-+ }
-+
-+ do {
-+ register unsigned int iobase = info->link.io.BasePort1;
-+ register struct sk_buff *skb;
-+ register int len;
-+
-+ clear_bit(XMIT_WAKEUP, &(info->tx_state));
-+
-+ if (!(info->link.state & DEV_PRESENT))
-+ return;
-+
-+ if (!(skb = skb_dequeue(&(info->txq))))
-+ break;
-+
-+ /* Send frame */
-+ len = dtl1_write(iobase, 32, skb->data, skb->len);
-+
-+ if (len == skb->len) {
-+ set_bit(XMIT_WAITING, &(info->tx_state));
-+ kfree_skb(skb);
-+ } else {
-+ skb_pull(skb, len);
-+ skb_queue_head(&(info->txq), skb);
-+ }
-+
-+ info->hdev.stat.byte_tx += len;
-+
-+ } while (test_bit(XMIT_WAKEUP, &(info->tx_state)));
-+
-+ clear_bit(XMIT_SENDING, &(info->tx_state));
-+}
-+
-+
-+static void dtl1_control(dtl1_info_t *info, struct sk_buff *skb)
-+{
-+ u8 flowmask = *(u8 *)skb->data;
-+ int i;
-+
-+ printk(KERN_INFO "dtl1_cs: Nokia control data = ");
-+ for (i = 0; i < skb->len; i++) {
-+ printk("%02x ", skb->data[i]);
-+ }
-+ printk("\n");
-+
-+ /* transition to active state */
-+ if (((info->flowmask & 0x07) == 0) && ((flowmask & 0x07) != 0)) {
-+ clear_bit(XMIT_WAITING, &(info->tx_state));
-+ dtl1_write_wakeup(info);
-+ }
-+
-+ info->flowmask = flowmask;
-+
-+ kfree_skb(skb);
-+}
-+
-+
-+static void dtl1_receive(dtl1_info_t *info)
-+{
-+ unsigned int iobase;
-+ nsh_t *nsh;
-+ int boguscount = 0;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "dtl1_cs: Call of receive for unknown device.\n");
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ do {
-+ info->hdev.stat.byte_rx++;
-+
-+ /* Allocate packet */
-+ if (info->rx_skb == NULL)
-+ if (!(info->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_WARNING "dtl1_cs: Can't allocate mem for new packet.\n");
-+ info->rx_state = RECV_WAIT_NSH;
-+ info->rx_count = NSHL;
-+ return;
-+ }
-+
-+ *skb_put(info->rx_skb, 1) = inb(iobase + UART_RX);
-+ nsh = (nsh_t *)info->rx_skb->data;
-+
-+ info->rx_count--;
-+
-+ if (info->rx_count == 0) {
-+
-+ switch (info->rx_state) {
-+ case RECV_WAIT_NSH:
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = nsh->len + (nsh->len & 0x0001);
-+ break;
-+ case RECV_WAIT_DATA:
-+ info->rx_skb->pkt_type = nsh->type;
-+
-+ /* remove PAD byte if it exists */
-+ if (nsh->len & 0x0001) {
-+ info->rx_skb->tail--;
-+ info->rx_skb->len--;
-+ }
-+
-+ /* remove NSH */
-+ skb_pull(info->rx_skb, NSHL);
-+
-+ switch (info->rx_skb->pkt_type) {
-+ case 0x80:
-+ /* control data for the Nokia Card */
-+ dtl1_control(info, info->rx_skb);
-+ break;
-+ case 0x82:
-+ case 0x83:
-+ case 0x84:
-+ /* send frame to the HCI layer */
-+ info->rx_skb->dev = (void *)&(info->hdev);
-+ info->rx_skb->pkt_type &= 0x0f;
-+ hci_recv_frame(info->rx_skb);
-+ break;
-+ default:
-+ /* unknown packet */
-+ printk(KERN_WARNING "dtl1_cs: Unknown HCI packet with type 0x%02x received.\n", info->rx_skb->pkt_type);
-+ kfree_skb(info->rx_skb);
-+ break;
-+ }
-+
-+ info->rx_state = RECV_WAIT_NSH;
-+ info->rx_count = NSHL;
-+ info->rx_skb = NULL;
-+ break;
-+ }
-+
-+ }
-+
-+ /* Make sure we don't stay here to long */
-+ if (boguscount++ > 32)
-+ break;
-+
-+ } while (inb(iobase + UART_LSR) & UART_LSR_DR);
-+}
-+
-+
-+void dtl1_interrupt(int irq, void *dev_inst, struct pt_regs *regs)
-+{
-+ dtl1_info_t *info = dev_inst;
-+ unsigned int iobase;
-+ unsigned char msr;
-+ int boguscount = 0;
-+ int iir, lsr;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "dtl1_cs: Call of irq %d for unknown device.\n", irq);
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ spin_lock(&(info->lock));
-+
-+ iir = inb(iobase + UART_IIR) & UART_IIR_ID;
-+ while (iir) {
-+
-+ /* Clear interrupt */
-+ lsr = inb(iobase + UART_LSR);
-+
-+ switch (iir) {
-+ case UART_IIR_RLSI:
-+ printk(KERN_NOTICE "dtl1_cs: RLSI\n");
-+ break;
-+ case UART_IIR_RDI:
-+ /* Receive interrupt */
-+ dtl1_receive(info);
-+ break;
-+ case UART_IIR_THRI:
-+ if (lsr & UART_LSR_THRE) {
-+ /* Transmitter ready for data */
-+ dtl1_write_wakeup(info);
-+ }
-+ break;
-+ default:
-+ printk(KERN_NOTICE "dtl1_cs: Unhandled IIR=%#x\n", iir);
-+ break;
-+ }
-+
-+ /* Make sure we don't stay here to long */
-+ if (boguscount++ > 100)
-+ break;
-+
-+ iir = inb(iobase + UART_IIR) & UART_IIR_ID;
-+
-+ }
-+
-+ msr = inb(iobase + UART_MSR);
-+
-+ if (info->ri_latch ^ (msr & UART_MSR_RI)) {
-+ info->ri_latch = msr & UART_MSR_RI;
-+ clear_bit(XMIT_WAITING, &(info->tx_state));
-+ dtl1_write_wakeup(info);
-+ }
-+
-+ spin_unlock(&(info->lock));
-+}
-+
-+
-+
-+/* ======================== HCI interface ======================== */
-+
-+
-+static int dtl1_hci_open(struct hci_dev *hdev)
-+{
-+ set_bit(HCI_RUNNING, &(hdev->flags));
-+
-+ return 0;
-+}
-+
-+
-+static int dtl1_hci_flush(struct hci_dev *hdev)
-+{
-+ dtl1_info_t *info = (dtl1_info_t *)(hdev->driver_data);
-+
-+ /* Drop TX queue */
-+ skb_queue_purge(&(info->txq));
-+
-+ return 0;
-+}
-+
-+
-+static int dtl1_hci_close(struct hci_dev *hdev)
-+{
-+ if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
-+ return 0;
-+
-+ dtl1_hci_flush(hdev);
-+
-+ return 0;
-+}
-+
-+
-+static int dtl1_hci_send_frame(struct sk_buff *skb)
-+{
-+ dtl1_info_t *info;
-+ struct hci_dev *hdev = (struct hci_dev *)(skb->dev);
-+ struct sk_buff *s;
-+ nsh_t nsh;
-+
-+ if (!hdev) {
-+ printk(KERN_WARNING "dtl1_cs: Frame for unknown HCI device (hdev=NULL).");
-+ return -ENODEV;
-+ }
-+
-+ info = (dtl1_info_t *)(hdev->driver_data);
-+
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ nsh.type = 0x81;
-+ break;
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ nsh.type = 0x82;
-+ break;
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ nsh.type = 0x83;
-+ break;
-+ };
-+
-+ nsh.zero = 0;
-+ nsh.len = skb->len;
-+
-+ s = bluez_skb_alloc(NSHL + skb->len + 1, GFP_ATOMIC);
-+ skb_reserve(s, NSHL);
-+ memcpy(skb_put(s, skb->len), skb->data, skb->len);
-+ if (skb->len & 0x0001)
-+ *skb_put(s, 1) = 0; /* PAD */
-+
-+ /* Prepend skb with Nokia frame header and queue */
-+ memcpy(skb_push(s, NSHL), &nsh, NSHL);
-+ skb_queue_tail(&(info->txq), s);
-+
-+ dtl1_write_wakeup(info);
-+
-+ kfree_skb(skb);
-+
-+ return 0;
-+}
-+
-+
-+static void dtl1_hci_destruct(struct hci_dev *hdev)
-+{
-+}
-+
-+
-+static int dtl1_hci_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned long arg)
-+{
-+ return -ENOIOCTLCMD;
-+}
-+
-+
-+
-+/* ======================== Card services HCI interaction ======================== */
-+
-+
-+int dtl1_open(dtl1_info_t *info)
-+{
-+ unsigned long flags;
-+ unsigned int iobase = info->link.io.BasePort1;
-+ struct hci_dev *hdev;
-+
-+ spin_lock_init(&(info->lock));
-+
-+ skb_queue_head_init(&(info->txq));
-+
-+ info->rx_state = RECV_WAIT_NSH;
-+ info->rx_count = NSHL;
-+ info->rx_skb = NULL;
-+
-+ set_bit(XMIT_WAITING, &(info->tx_state));
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Reset UART */
-+ outb(0, iobase + UART_MCR);
-+
-+ /* Turn off interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ /* Initialize UART */
-+ outb(UART_LCR_WLEN8, iobase + UART_LCR); /* Reset DLAB */
-+ outb((UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2), iobase + UART_MCR);
-+
-+ info->ri_latch = inb(info->link.io.BasePort1 + UART_MSR) & UART_MSR_RI;
-+
-+ /* Turn on interrupts */
-+ outb(UART_IER_RLSI | UART_IER_RDI | UART_IER_THRI, iobase + UART_IER);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+
-+ /* Timeout before it is safe to send the first HCI packet */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule_timeout(HZ * 2);
-+
-+
-+ /* Initialize and register HCI device */
-+
-+ hdev = &(info->hdev);
-+
-+ hdev->type = HCI_PCCARD;
-+ hdev->driver_data = info;
-+
-+ hdev->open = dtl1_hci_open;
-+ hdev->close = dtl1_hci_close;
-+ hdev->flush = dtl1_hci_flush;
-+ hdev->send = dtl1_hci_send_frame;
-+ hdev->destruct = dtl1_hci_destruct;
-+ hdev->ioctl = dtl1_hci_ioctl;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ printk(KERN_WARNING "dtl1_cs: Can't register HCI device %s.\n", hdev->name);
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+int dtl1_close(dtl1_info_t *info)
-+{
-+ unsigned long flags;
-+ unsigned int iobase = info->link.io.BasePort1;
-+ struct hci_dev *hdev = &(info->hdev);
-+
-+ if (info->link.state & DEV_CONFIG_PENDING)
-+ return -ENODEV;
-+
-+ dtl1_hci_close(hdev);
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Reset UART */
-+ outb(0, iobase + UART_MCR);
-+
-+ /* Turn off interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+
-+ if (hci_unregister_dev(hdev) < 0)
-+ printk(KERN_WARNING "dtl1_cs: Can't unregister HCI device %s.\n", hdev->name);
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Card services ======================== */
-+
-+
-+static void cs_error(client_handle_t handle, int func, int ret)
-+{
-+ error_info_t err = { func, ret };
-+
-+ CardServices(ReportError, handle, &err);
-+}
-+
-+
-+dev_link_t *dtl1_attach(void)
-+{
-+ dtl1_info_t *info;
-+ client_reg_t client_reg;
-+ dev_link_t *link;
-+ int i, ret;
-+
-+ /* Create new info device */
-+ info = kmalloc(sizeof(*info), GFP_KERNEL);
-+ if (!info)
-+ return NULL;
-+ memset(info, 0, sizeof(*info));
-+
-+ link = &info->link;
-+ link->priv = info;
-+
-+ link->release.function = &dtl1_release;
-+ link->release.data = (u_long)link;
-+ link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-+ link->io.NumPorts1 = 8;
-+ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
-+ link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID;
-+
-+ if (irq_list[0] == -1)
-+ link->irq.IRQInfo2 = irq_mask;
-+ else
-+ for (i = 0; i < 4; i++)
-+ link->irq.IRQInfo2 |= 1 << irq_list[i];
-+
-+ link->irq.Handler = dtl1_interrupt;
-+ link->irq.Instance = info;
-+
-+ link->conf.Attributes = CONF_ENABLE_IRQ;
-+ link->conf.Vcc = 50;
-+ link->conf.IntType = INT_MEMORY_AND_IO;
-+
-+ /* Register with Card Services */
-+ link->next = dev_list;
-+ dev_list = link;
-+ client_reg.dev_info = &dev_info;
-+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
-+ client_reg.EventMask =
-+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
-+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
-+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
-+ client_reg.event_handler = &dtl1_event;
-+ client_reg.Version = 0x0210;
-+ client_reg.event_callback_args.client_data = link;
-+
-+ ret = CardServices(RegisterClient, &link->handle, &client_reg);
-+ if (ret != CS_SUCCESS) {
-+ cs_error(link->handle, RegisterClient, ret);
-+ dtl1_detach(link);
-+ return NULL;
-+ }
-+
-+ return link;
-+}
-+
-+
-+void dtl1_detach(dev_link_t *link)
-+{
-+ dtl1_info_t *info = link->priv;
-+ dev_link_t **linkp;
-+ int ret;
-+
-+ /* Locate device structure */
-+ for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-+ if (*linkp == link)
-+ break;
-+
-+ if (*linkp == NULL)
-+ return;
-+
-+ del_timer(&link->release);
-+ if (link->state & DEV_CONFIG)
-+ dtl1_release((u_long)link);
-+
-+ if (link->handle) {
-+ ret = CardServices(DeregisterClient, link->handle);
-+ if (ret != CS_SUCCESS)
-+ cs_error(link->handle, DeregisterClient, ret);
-+ }
-+
-+ /* Unlink device structure, free bits */
-+ *linkp = link->next;
-+
-+ kfree(info);
-+}
-+
-+
-+static int get_tuple(int fn, client_handle_t handle, tuple_t *tuple, cisparse_t *parse)
-+{
-+ int i;
-+
-+ i = CardServices(fn, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return CS_NO_MORE_ITEMS;
-+
-+ i = CardServices(GetTupleData, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return i;
-+
-+ return CardServices(ParseTuple, handle, tuple, parse);
-+}
-+
-+
-+#define first_tuple(a, b, c) get_tuple(GetFirstTuple, a, b, c)
-+#define next_tuple(a, b, c) get_tuple(GetNextTuple, a, b, c)
-+
-+void dtl1_config(dev_link_t *link)
-+{
-+ client_handle_t handle = link->handle;
-+ dtl1_info_t *info = link->priv;
-+ tuple_t tuple;
-+ u_short buf[256];
-+ cisparse_t parse;
-+ cistpl_cftable_entry_t *cf = &parse.cftable_entry;
-+ config_info_t config;
-+ int i, last_ret, last_fn;
-+
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+
-+ /* Get configuration register information */
-+ tuple.DesiredTuple = CISTPL_CONFIG;
-+ last_ret = first_tuple(handle, &tuple, &parse);
-+ if (last_ret != CS_SUCCESS) {
-+ last_fn = ParseTuple;
-+ goto cs_failed;
-+ }
-+ link->conf.ConfigBase = parse.config.base;
-+ link->conf.Present = parse.config.rmask[0];
-+
-+ /* Configure card */
-+ link->state |= DEV_CONFIG;
-+ i = CardServices(GetConfigurationInfo, handle, &config);
-+ link->conf.Vcc = config.Vcc;
-+
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+ tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
-+
-+ /* Look for a generic full-sized window */
-+ link->io.NumPorts1 = 8;
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if ((i == CS_SUCCESS) && (cf->io.nwin == 1) && (cf->io.win[0].len > 8)) {
-+ link->conf.ConfigIndex = cf->index;
-+ link->io.BasePort1 = cf->io.win[0].base;
-+ link->io.NumPorts1 = cf->io.win[0].len; /*yo */
-+ link->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ break;
-+ }
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIO, i);
-+ goto failed;
-+ }
-+
-+ i = CardServices(RequestIRQ, link->handle, &link->irq);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIRQ, i);
-+ link->irq.AssignedIRQ = 0;
-+ }
-+
-+ i = CardServices(RequestConfiguration, link->handle, &link->conf);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestConfiguration, i);
-+ goto failed;
-+ }
-+
-+ MOD_INC_USE_COUNT;
-+
-+ if (dtl1_open(info) != 0)
-+ goto failed;
-+
-+ strcpy(info->node.dev_name, info->hdev.name);
-+ link->dev = &info->node;
-+ link->state &= ~DEV_CONFIG_PENDING;
-+
-+ return;
-+
-+cs_failed:
-+ cs_error(link->handle, last_fn, last_ret);
-+
-+failed:
-+ dtl1_release((u_long)link);
-+}
-+
-+
-+void dtl1_release(u_long arg)
-+{
-+ dev_link_t *link = (dev_link_t *)arg;
-+ dtl1_info_t *info = link->priv;
-+
-+ if (link->state & DEV_PRESENT)
-+ dtl1_close(info);
-+
-+ MOD_DEC_USE_COUNT;
-+
-+ link->dev = NULL;
-+
-+ CardServices(ReleaseConfiguration, link->handle);
-+ CardServices(ReleaseIO, link->handle, &link->io);
-+ CardServices(ReleaseIRQ, link->handle, &link->irq);
-+
-+ link->state &= ~DEV_CONFIG;
-+}
-+
-+
-+int dtl1_event(event_t event, int priority, event_callback_args_t *args)
-+{
-+ dev_link_t *link = args->client_data;
-+ dtl1_info_t *info = link->priv;
-+
-+ switch (event) {
-+ case CS_EVENT_CARD_REMOVAL:
-+ link->state &= ~DEV_PRESENT;
-+ if (link->state & DEV_CONFIG) {
-+ dtl1_close(info);
-+ mod_timer(&link->release, jiffies + HZ / 20);
-+ }
-+ break;
-+ case CS_EVENT_CARD_INSERTION:
-+ link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-+ dtl1_config(link);
-+ break;
-+ case CS_EVENT_PM_SUSPEND:
-+ link->state |= DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_RESET_PHYSICAL:
-+ if (link->state & DEV_CONFIG)
-+ CardServices(ReleaseConfiguration, link->handle);
-+ break;
-+ case CS_EVENT_PM_RESUME:
-+ link->state &= ~DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_CARD_RESET:
-+ if (DEV_OK(link))
-+ CardServices(RequestConfiguration, link->handle, &link->conf);
-+ break;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Module initialization ======================== */
-+
-+
-+int __init init_dtl1_cs(void)
-+{
-+ servinfo_t serv;
-+ int err;
-+
-+ CardServices(GetCardServicesInfo, &serv);
-+ if (serv.Revision != CS_RELEASE_CODE) {
-+ printk(KERN_NOTICE "dtl1_cs: Card Services release does not match!\n");
-+ return -1;
-+ }
-+
-+ err = register_pccard_driver(&dev_info, &dtl1_attach, &dtl1_detach);
-+
-+ return err;
-+}
-+
-+
-+void __exit exit_dtl1_cs(void)
-+{
-+ unregister_pccard_driver(&dev_info);
-+
-+ while (dev_list != NULL)
-+ dtl1_detach(dev_list);
-+}
-+
-+
-+module_init(init_dtl1_cs);
-+module_exit(exit_dtl1_cs);
-+
-+EXPORT_NO_SYMBOLS;
-diff -urN linux-2.4.18/drivers/bluetooth/hci_bcsp.c linux-2.4.18-mh15/drivers/bluetooth/hci_bcsp.c
---- linux-2.4.18/drivers/bluetooth/hci_bcsp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_bcsp.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,710 @@
-+/*
-+ BlueCore Serial Protocol (BCSP) for Linux Bluetooth stack (BlueZ).
-+ Copyright 2002 by Fabrizio Gennari <fabrizio.gennari@philips.com>
-+
-+ Based on
-+ hci_h4.c by Maxim Krasnyansky <maxk@qualcomm.com>
-+ ABCSP by Carl Orsborn <cjo@csr.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: hci_bcsp.c,v 1.2 2002/09/26 05:05:14 maxk Exp $
-+ */
-+
-+#define VERSION "0.1"
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/version.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/fcntl.h>
-+#include <linux/interrupt.h>
-+#include <linux/ptrace.h>
-+#include <linux/poll.h>
-+
-+#include <linux/slab.h>
-+#include <linux/tty.h>
-+#include <linux/errno.h>
-+#include <linux/string.h>
-+#include <linux/signal.h>
-+#include <linux/ioctl.h>
-+#include <linux/skbuff.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+#include "hci_uart.h"
-+#include "hci_bcsp.h"
-+
-+#ifndef HCI_UART_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#undef BT_DMP
-+#define BT_DMP( A... )
-+#endif
-+
-+/* ---- BCSP CRC calculation ---- */
-+
-+/* Table for calculating CRC for polynomial 0x1021, LSB processed first,
-+initial value 0xffff, bits shifted in reverse order. */
-+
-+static const u16 crc_table[] = {
-+ 0x0000, 0x1081, 0x2102, 0x3183,
-+ 0x4204, 0x5285, 0x6306, 0x7387,
-+ 0x8408, 0x9489, 0xa50a, 0xb58b,
-+ 0xc60c, 0xd68d, 0xe70e, 0xf78f
-+};
-+
-+/* Initialise the crc calculator */
-+#define BCSP_CRC_INIT(x) x = 0xffff
-+
-+/*
-+ Update crc with next data byte
-+
-+ Implementation note
-+ The data byte is treated as two nibbles. The crc is generated
-+ in reverse, i.e., bits are fed into the register from the top.
-+*/
-+static void bcsp_crc_update(u16 *crc, u8 d)
-+{
-+ u16 reg = *crc;
-+
-+ reg = (reg >> 4) ^ crc_table[(reg ^ d) & 0x000f];
-+ reg = (reg >> 4) ^ crc_table[(reg ^ (d >> 4)) & 0x000f];
-+
-+ *crc = reg;
-+}
-+
-+/*
-+ Get reverse of generated crc
-+
-+ Implementation note
-+ The crc generator (bcsp_crc_init() and bcsp_crc_update())
-+ creates a reversed crc, so it needs to be swapped back before
-+ being passed on.
-+*/
-+static u16 bcsp_crc_reverse(u16 crc)
-+{
-+ u16 b, rev;
-+
-+ for (b = 0, rev = 0; b < 16; b++) {
-+ rev = rev << 1;
-+ rev |= (crc & 1);
-+ crc = crc >> 1;
-+ }
-+ return (rev);
-+}
-+
-+/* ---- BCSP core ---- */
-+
-+static void bcsp_slip_msgdelim(struct sk_buff *skb)
-+{
-+ const char pkt_delim = 0xc0;
-+ memcpy(skb_put(skb, 1), &pkt_delim, 1);
-+}
-+
-+static void bcsp_slip_one_byte(struct sk_buff *skb, u8 c)
-+{
-+ const char esc_c0[2] = { 0xdb, 0xdc };
-+ const char esc_db[2] = { 0xdb, 0xdd };
-+
-+ switch (c) {
-+ case 0xc0:
-+ memcpy(skb_put(skb, 2), &esc_c0, 2);
-+ break;
-+ case 0xdb:
-+ memcpy(skb_put(skb, 2), &esc_db, 2);
-+ break;
-+ default:
-+ memcpy(skb_put(skb, 1), &c, 1);
-+ }
-+}
-+
-+static int bcsp_enqueue(struct hci_uart *hu, struct sk_buff *skb)
-+{
-+ struct bcsp_struct *bcsp = hu->priv;
-+
-+ if (skb->len > 0xFFF) {
-+ BT_ERR("Packet too long");
-+ kfree_skb(skb);
-+ return 0;
-+ }
-+
-+ switch (skb->pkt_type) {
-+ case HCI_ACLDATA_PKT:
-+ case HCI_COMMAND_PKT:
-+ skb_queue_tail(&bcsp->rel, skb);
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ skb_queue_tail(&bcsp->unrel, skb);
-+ break;
-+
-+ default:
-+ BT_ERR("Unknown packet type");
-+ kfree_skb(skb);
-+ break;
-+ }
-+ return 0;
-+}
-+
-+static struct sk_buff *bcsp_prepare_pkt(struct bcsp_struct *bcsp, u8 *data,
-+ int len, int pkt_type)
-+{
-+ struct sk_buff *nskb;
-+ u8 hdr[4], chan;
-+ int rel, i;
-+
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
-+ u16 BCSP_CRC_INIT(bcsp_txmsg_crc);
-+#endif
-+
-+ switch (pkt_type) {
-+ case HCI_ACLDATA_PKT:
-+ chan = 6; /* BCSP ACL channel */
-+ rel = 1; /* reliable channel */
-+ break;
-+ case HCI_COMMAND_PKT:
-+ chan = 5; /* BCSP cmd/evt channel */
-+ rel = 1; /* reliable channel */
-+ break;
-+ case HCI_SCODATA_PKT:
-+ chan = 7; /* BCSP SCO channel */
-+ rel = 0; /* unreliable channel */
-+ break;
-+ case BCSP_LE_PKT:
-+ chan = 1; /* BCSP LE channel */
-+ rel = 0; /* unreliable channel */
-+ break;
-+ case BCSP_ACK_PKT:
-+ chan = 0; /* BCSP internal channel */
-+ rel = 0; /* unreliable channel */
-+ break;
-+ default:
-+ BT_ERR("Unknown packet type");
-+ return NULL;
-+ }
-+
-+ /* Max len of packet: (original len +4(bcsp hdr) +2(crc))*2
-+ (because bytes 0xc0 and 0xdb are escaped, worst case is
-+ when the packet is all made of 0xc0 and 0xdb :) )
-+ + 2 (0xc0 delimiters at start and end). */
-+
-+ nskb = alloc_skb((len + 6) * 2 + 2, GFP_ATOMIC);
-+ if (!nskb)
-+ return NULL;
-+
-+ nskb->pkt_type = pkt_type;
-+
-+ bcsp_slip_msgdelim(nskb);
-+
-+ hdr[0] = bcsp->rxseq_txack << 3;
-+ bcsp->txack_req = 0;
-+ BT_DBG("We request packet no %u to card", bcsp->rxseq_txack);
-+
-+ if (rel) {
-+ hdr[0] |= 0x80 + bcsp->msgq_txseq;
-+ BT_DBG("Sending packet with seqno %u", bcsp->msgq_txseq);
-+ bcsp->msgq_txseq = ++(bcsp->msgq_txseq) & 0x07;
-+ }
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
-+ hdr[0] |= 0x40;
-+#endif
-+
-+ hdr[1] = (len << 4) & 0xFF;
-+ hdr[1] |= chan;
-+ hdr[2] = len >> 4;
-+ hdr[3] = ~(hdr[0] + hdr[1] + hdr[2]);
-+
-+ /* Put BCSP header */
-+ for (i = 0; i < 4; i++) {
-+ bcsp_slip_one_byte(nskb, hdr[i]);
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
-+ bcsp_crc_update(&bcsp_txmsg_crc, hdr[i]);
-+#endif
-+ }
-+
-+ /* Put payload */
-+ for (i = 0; i < len; i++) {
-+ bcsp_slip_one_byte(nskb, data[i]);
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
-+ bcsp_crc_update(&bcsp_txmsg_crc, data[i]);
-+#endif
-+ }
-+
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
-+ /* Put CRC */
-+ bcsp_txmsg_crc = bcsp_crc_reverse(bcsp_txmsg_crc);
-+ bcsp_slip_one_byte(nskb, (u8) ((bcsp_txmsg_crc >> 8) & 0x00ff));
-+ bcsp_slip_one_byte(nskb, (u8) (bcsp_txmsg_crc & 0x00ff));
-+#endif
-+
-+ bcsp_slip_msgdelim(nskb);
-+ return nskb;
-+}
-+
-+/* This is a rewrite of pkt_avail in ABCSP */
-+static struct sk_buff *bcsp_dequeue(struct hci_uart *hu)
-+{
-+ struct bcsp_struct *bcsp = (struct bcsp_struct *) hu->priv;
-+ unsigned long flags;
-+ struct sk_buff *skb;
-+
-+ /* First of all, check for unreliable messages in the queue,
-+ since they have priority */
-+
-+ if ((skb = skb_dequeue(&bcsp->unrel)) != NULL) {
-+ struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, skb->pkt_type);
-+ if (nskb) {
-+ kfree_skb(skb);
-+ return nskb;
-+ } else {
-+ skb_queue_head(&bcsp->unrel, skb);
-+ BT_ERR("Could not dequeue pkt because alloc_skb failed");
-+ }
-+ }
-+
-+ /* Now, try to send a reliable pkt. We can only send a
-+ reliable packet if the number of packets sent but not yet ack'ed
-+ is < than the winsize */
-+
-+ spin_lock_irqsave(&bcsp->unack.lock, flags);
-+
-+ if (bcsp->unack.qlen < BCSP_TXWINSIZE && (skb = skb_dequeue(&bcsp->rel)) != NULL) {
-+ struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, skb->data, skb->len, skb->pkt_type);
-+ if (nskb) {
-+ __skb_queue_tail(&bcsp->unack, skb);
-+ mod_timer(&bcsp->tbcsp, jiffies + HZ / 4);
-+ spin_unlock_irqrestore(&bcsp->unack.lock, flags);
-+ return nskb;
-+ } else {
-+ skb_queue_head(&bcsp->rel, skb);
-+ BT_ERR("Could not dequeue pkt because alloc_skb failed");
-+ }
-+ }
-+
-+ spin_unlock_irqrestore(&bcsp->unack.lock, flags);
-+
-+
-+ /* We could not send a reliable packet, either because there are
-+ none or because there are too many unack'ed pkts. Did we receive
-+ any packets we have not acknowledged yet ? */
-+
-+ if (bcsp->txack_req) {
-+ /* if so, craft an empty ACK pkt and send it on BCSP unreliable
-+ channel 0 */
-+ struct sk_buff *nskb = bcsp_prepare_pkt(bcsp, NULL, 0, BCSP_ACK_PKT);
-+ return nskb;
-+ }
-+
-+ /* We have nothing to send */
-+ return NULL;
-+}
-+
-+static int bcsp_flush(struct hci_uart *hu)
-+{
-+ BT_DBG("hu %p", hu);
-+ return 0;
-+}
-+
-+/* Remove ack'ed packets */
-+static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
-+{
-+ unsigned long flags;
-+ struct sk_buff *skb;
-+ int i, pkts_to_be_removed;
-+ u8 seqno;
-+
-+ spin_lock_irqsave(&bcsp->unack.lock, flags);
-+
-+ pkts_to_be_removed = bcsp->unack.qlen;
-+ seqno = bcsp->msgq_txseq;
-+
-+ while (pkts_to_be_removed) {
-+ if (bcsp->rxack == seqno)
-+ break;
-+ pkts_to_be_removed--;
-+ seqno = (seqno - 1) & 0x07;
-+ }
-+
-+ if (bcsp->rxack != seqno)
-+ BT_ERR("Peer acked invalid packet");
-+
-+ BT_DBG("Removing %u pkts out of %u, up to seqno %u",
-+ pkts_to_be_removed, bcsp->unack.qlen, (seqno - 1) & 0x07);
-+
-+ for (i = 0, skb = ((struct sk_buff *) &bcsp->unack)->next; i < pkts_to_be_removed
-+ && skb != (struct sk_buff *) &bcsp->unack; i++) {
-+ struct sk_buff *nskb;
-+
-+ nskb = skb->next;
-+ __skb_unlink(skb, &bcsp->unack);
-+ kfree_skb(skb);
-+ skb = nskb;
-+ }
-+ if (bcsp->unack.qlen == 0)
-+ del_timer(&bcsp->tbcsp);
-+ spin_unlock_irqrestore(&bcsp->unack.lock, flags);
-+
-+ if (i != pkts_to_be_removed)
-+ BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
-+}
-+
-+/* Handle BCSP link-establishment packets. When we
-+ detect a "sync" packet, symptom that the BT module has reset,
-+ we do nothing :) (yet) */
-+static void bcsp_handle_le_pkt(struct hci_uart *hu)
-+{
-+ struct bcsp_struct *bcsp = hu->priv;
-+ u8 conf_pkt[4] = { 0xad, 0xef, 0xac, 0xed };
-+ u8 conf_rsp_pkt[4] = { 0xde, 0xad, 0xd0, 0xd0 };
-+ u8 sync_pkt[4] = { 0xda, 0xdc, 0xed, 0xed };
-+
-+ /* spot "conf" pkts and reply with a "conf rsp" pkt */
-+ if (bcsp->rx_skb->data[1] >> 4 == 4 && bcsp->rx_skb->data[2] == 0 &&
-+ !memcmp(&bcsp->rx_skb->data[4], conf_pkt, 4)) {
-+ struct sk_buff *nskb = alloc_skb(4, GFP_ATOMIC);
-+
-+ BT_DBG("Found a LE conf pkt");
-+ if (!nskb)
-+ return;
-+ memcpy(skb_put(nskb, 4), conf_rsp_pkt, 4);
-+ nskb->pkt_type = BCSP_LE_PKT;
-+
-+ skb_queue_head(&bcsp->unrel, nskb);
-+ hci_uart_tx_wakeup(hu);
-+ }
-+ /* Spot "sync" pkts. If we find one...disaster! */
-+ else if (bcsp->rx_skb->data[1] >> 4 == 4 && bcsp->rx_skb->data[2] == 0 &&
-+ !memcmp(&bcsp->rx_skb->data[4], sync_pkt, 4)) {
-+ BT_ERR("Found a LE sync pkt, card has reset");
-+ }
-+}
-+
-+static inline void bcsp_unslip_one_byte(struct bcsp_struct *bcsp, unsigned char byte)
-+{
-+ const u8 c0 = 0xc0, db = 0xdb;
-+
-+ switch (bcsp->rx_esc_state) {
-+ case BCSP_ESCSTATE_NOESC:
-+ switch (byte) {
-+ case 0xdb:
-+ bcsp->rx_esc_state = BCSP_ESCSTATE_ESC;
-+ break;
-+ default:
-+ memcpy(skb_put(bcsp->rx_skb, 1), &byte, 1);
-+ if ((bcsp->rx_skb-> data[0] & 0x40) != 0 &&
-+ bcsp->rx_state != BCSP_W4_CRC)
-+ bcsp_crc_update(&bcsp->message_crc, byte);
-+ bcsp->rx_count--;
-+ }
-+ break;
-+
-+ case BCSP_ESCSTATE_ESC:
-+ switch (byte) {
-+ case 0xdc:
-+ memcpy(skb_put(bcsp->rx_skb, 1), &c0, 1);
-+ if ((bcsp->rx_skb-> data[0] & 0x40) != 0 &&
-+ bcsp->rx_state != BCSP_W4_CRC)
-+ bcsp_crc_update(&bcsp-> message_crc, 0xc0);
-+ bcsp->rx_esc_state = BCSP_ESCSTATE_NOESC;
-+ bcsp->rx_count--;
-+ break;
-+
-+ case 0xdd:
-+ memcpy(skb_put(bcsp->rx_skb, 1), &db, 1);
-+ if ((bcsp->rx_skb-> data[0] & 0x40) != 0 &&
-+ bcsp->rx_state != BCSP_W4_CRC)
-+ bcsp_crc_update(&bcsp-> message_crc, 0xdb);
-+ bcsp->rx_esc_state = BCSP_ESCSTATE_NOESC;
-+ bcsp->rx_count--;
-+ break;
-+
-+ default:
-+ BT_ERR ("Invalid byte %02x after esc byte", byte);
-+ kfree_skb(bcsp->rx_skb);
-+ bcsp->rx_skb = NULL;
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+ bcsp->rx_count = 0;
-+ }
-+ }
-+}
-+
-+static inline void bcsp_complete_rx_pkt(struct hci_uart *hu)
-+{
-+ struct bcsp_struct *bcsp = hu->priv;
-+ int pass_up;
-+
-+ if (bcsp->rx_skb->data[0] & 0x80) { /* reliable pkt */
-+ BT_DBG("Received seqno %u from card", bcsp->rxseq_txack);
-+ bcsp->rxseq_txack++;
-+ bcsp->rxseq_txack %= 0x8;
-+ bcsp->txack_req = 1;
-+
-+ /* If needed, transmit an ack pkt */
-+ hci_uart_tx_wakeup(hu);
-+ }
-+
-+ bcsp->rxack = (bcsp->rx_skb->data[0] >> 3) & 0x07;
-+ BT_DBG("Request for pkt %u from card", bcsp->rxack);
-+
-+ bcsp_pkt_cull(bcsp);
-+ if ((bcsp->rx_skb->data[1] & 0x0f) == 6 &&
-+ bcsp->rx_skb->data[0] & 0x80) {
-+ bcsp->rx_skb->pkt_type = HCI_ACLDATA_PKT;
-+ pass_up = 1;
-+ } else if ((bcsp->rx_skb->data[1] & 0x0f) == 5 &&
-+ bcsp->rx_skb->data[0] & 0x80) {
-+ bcsp->rx_skb->pkt_type = HCI_EVENT_PKT;
-+ pass_up = 1;
-+ } else if ((bcsp->rx_skb->data[1] & 0x0f) == 7) {
-+ bcsp->rx_skb->pkt_type = HCI_SCODATA_PKT;
-+ pass_up = 1;
-+ } else if ((bcsp->rx_skb->data[1] & 0x0f) == 1 &&
-+ !(bcsp->rx_skb->data[0] & 0x80)) {
-+ bcsp_handle_le_pkt(hu);
-+ pass_up = 0;
-+ } else
-+ pass_up = 0;
-+
-+ if (!pass_up) {
-+ if ((bcsp->rx_skb->data[1] & 0x0f) != 0 &&
-+ (bcsp->rx_skb->data[1] & 0x0f) != 1) {
-+ BT_ERR ("Packet for unknown channel (%u %s)",
-+ bcsp->rx_skb->data[1] & 0x0f,
-+ bcsp->rx_skb->data[0] & 0x80 ?
-+ "reliable" : "unreliable");
-+ }
-+ kfree_skb(bcsp->rx_skb);
-+ } else {
-+ /* Pull out BCSP hdr */
-+ skb_pull(bcsp->rx_skb, 4);
-+
-+ hci_recv_frame(bcsp->rx_skb);
-+ }
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+ bcsp->rx_skb = NULL;
-+}
-+
-+/* Recv data */
-+static int bcsp_recv(struct hci_uart *hu, void *data, int count)
-+{
-+ struct bcsp_struct *bcsp = hu->priv;
-+ register unsigned char *ptr;
-+
-+ BT_DBG("hu %p count %d rx_state %ld rx_count %ld",
-+ hu, count, bcsp->rx_state, bcsp->rx_count);
-+
-+ ptr = data;
-+ while (count) {
-+ if (bcsp->rx_count) {
-+ if (*ptr == 0xc0) {
-+ BT_ERR("Short BCSP packet");
-+ kfree_skb(bcsp->rx_skb);
-+ bcsp->rx_state = BCSP_W4_PKT_START;
-+ bcsp->rx_count = 0;
-+ } else
-+ bcsp_unslip_one_byte(bcsp, *ptr);
-+
-+ ptr++; count--;
-+ continue;
-+ }
-+
-+ switch (bcsp->rx_state) {
-+ case BCSP_W4_BCSP_HDR:
-+ if ((0xff & (u8) ~ (bcsp->rx_skb->data[0] + bcsp->rx_skb->data[1] +
-+ bcsp->rx_skb->data[2])) != bcsp->rx_skb->data[3]) {
-+ BT_ERR("Error in BCSP hdr checksum");
-+ kfree_skb(bcsp->rx_skb);
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+ bcsp->rx_count = 0;
-+ continue;
-+ }
-+ if (bcsp->rx_skb->data[0] & 0x80 /* reliable pkt */
-+ && (bcsp->rx_skb->data[0] & 0x07) != bcsp->rxseq_txack) {
-+ BT_ERR ("Out-of-order packet arrived, got %u expected %u",
-+ bcsp->rx_skb->data[0] & 0x07, bcsp->rxseq_txack);
-+
-+ kfree_skb(bcsp->rx_skb);
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+ bcsp->rx_count = 0;
-+ continue;
-+ }
-+ bcsp->rx_state = BCSP_W4_DATA;
-+ bcsp->rx_count = (bcsp->rx_skb->data[1] >> 4) +
-+ (bcsp->rx_skb->data[2] << 4); /* May be 0 */
-+ continue;
-+
-+ case BCSP_W4_DATA:
-+ if (bcsp->rx_skb->data[0] & 0x40) { /* pkt with crc */
-+ bcsp->rx_state = BCSP_W4_CRC;
-+ bcsp->rx_count = 2;
-+ } else
-+ bcsp_complete_rx_pkt(hu);
-+ continue;
-+
-+ case BCSP_W4_CRC:
-+ if (bcsp_crc_reverse(bcsp->message_crc) !=
-+ (bcsp->rx_skb->data[bcsp->rx_skb->len - 2] << 8) +
-+ bcsp->rx_skb->data[bcsp->rx_skb->len - 1]) {
-+
-+ BT_ERR ("Checksum failed: computed %04x received %04x",
-+ bcsp_crc_reverse(bcsp->message_crc),
-+ (bcsp->rx_skb-> data[bcsp->rx_skb->len - 2] << 8) +
-+ bcsp->rx_skb->data[bcsp->rx_skb->len - 1]);
-+
-+ kfree_skb(bcsp->rx_skb);
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+ bcsp->rx_count = 0;
-+ continue;
-+ }
-+ skb_trim(bcsp->rx_skb, bcsp->rx_skb->len - 2);
-+ bcsp_complete_rx_pkt(hu);
-+ continue;
-+
-+ case BCSP_W4_PKT_DELIMITER:
-+ switch (*ptr) {
-+ case 0xc0:
-+ bcsp->rx_state = BCSP_W4_PKT_START;
-+ break;
-+ default:
-+ /*BT_ERR("Ignoring byte %02x", *ptr);*/
-+ break;
-+ }
-+ ptr++; count--;
-+ break;
-+
-+ case BCSP_W4_PKT_START:
-+ switch (*ptr) {
-+ case 0xc0:
-+ ptr++; count--;
-+ break;
-+
-+ default:
-+ bcsp->rx_state = BCSP_W4_BCSP_HDR;
-+ bcsp->rx_count = 4;
-+ bcsp->rx_esc_state = BCSP_ESCSTATE_NOESC;
-+ BCSP_CRC_INIT(bcsp->message_crc);
-+
-+ /* Do not increment ptr or decrement count
-+ * Allocate packet. Max len of a BCSP pkt=
-+ * 0xFFF (payload) +4 (header) +2 (crc) */
-+
-+ bcsp->rx_skb = bluez_skb_alloc(0x1005, GFP_ATOMIC);
-+ if (!bcsp->rx_skb) {
-+ BT_ERR("Can't allocate mem for new packet");
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+ bcsp->rx_count = 0;
-+ return 0;
-+ }
-+ bcsp->rx_skb->dev = (void *) &hu->hdev;
-+ break;
-+ }
-+ break;
-+ }
-+ }
-+ return count;
-+}
-+
-+ /* Arrange to retransmit all messages in the relq. */
-+static void bcsp_timed_event(unsigned long arg)
-+{
-+ struct hci_uart *hu = (struct hci_uart *) arg;
-+ struct bcsp_struct *bcsp = (struct bcsp_struct *) hu->priv;
-+ struct sk_buff *skb;
-+ unsigned long flags;
-+
-+ BT_DBG("hu %p retransmitting %u pkts", hu, bcsp->unack.qlen);
-+
-+ spin_lock_irqsave(&bcsp->unack.lock, flags);
-+
-+ while ((skb = __skb_dequeue_tail(&bcsp->unack)) != NULL) {
-+ bcsp->msgq_txseq = (bcsp->msgq_txseq - 1) & 0x07;
-+ skb_queue_head(&bcsp->rel, skb);
-+ }
-+
-+ spin_unlock_irqrestore(&bcsp->unack.lock, flags);
-+
-+ hci_uart_tx_wakeup(hu);
-+}
-+
-+static int bcsp_open(struct hci_uart *hu)
-+{
-+ struct bcsp_struct *bcsp;
-+
-+ BT_DBG("hu %p", hu);
-+
-+ bcsp = kmalloc(sizeof(*bcsp), GFP_ATOMIC);
-+ if (!bcsp)
-+ return -ENOMEM;
-+ memset(bcsp, 0, sizeof(*bcsp));
-+
-+ hu->priv = bcsp;
-+ skb_queue_head_init(&bcsp->unack);
-+ skb_queue_head_init(&bcsp->rel);
-+ skb_queue_head_init(&bcsp->unrel);
-+
-+ init_timer(&bcsp->tbcsp);
-+ bcsp->tbcsp.function = bcsp_timed_event;
-+ bcsp->tbcsp.data = (u_long) hu;
-+
-+ bcsp->rx_state = BCSP_W4_PKT_DELIMITER;
-+
-+ return 0;
-+}
-+
-+static int bcsp_close(struct hci_uart *hu)
-+{
-+ struct bcsp_struct *bcsp = hu->priv;
-+ hu->priv = NULL;
-+
-+ BT_DBG("hu %p", hu);
-+
-+ skb_queue_purge(&bcsp->unack);
-+ skb_queue_purge(&bcsp->rel);
-+ skb_queue_purge(&bcsp->unrel);
-+ del_timer(&bcsp->tbcsp);
-+
-+ kfree(bcsp);
-+ return 0;
-+}
-+
-+static struct hci_uart_proto bcsp = {
-+ id: HCI_UART_BCSP,
-+ open: bcsp_open,
-+ close: bcsp_close,
-+ enqueue: bcsp_enqueue,
-+ dequeue: bcsp_dequeue,
-+ recv: bcsp_recv,
-+ flush: bcsp_flush
-+};
-+
-+int bcsp_init(void)
-+{
-+ return hci_uart_register_proto(&bcsp);
-+}
-+
-+int bcsp_deinit(void)
-+{
-+ return hci_uart_unregister_proto(&bcsp);
-+}
-diff -urN linux-2.4.18/drivers/bluetooth/hci_bcsp.h linux-2.4.18-mh15/drivers/bluetooth/hci_bcsp.h
---- linux-2.4.18/drivers/bluetooth/hci_bcsp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_bcsp.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,70 @@
-+/*
-+ BlueCore Serial Protocol (BCSP) for Linux Bluetooth stack (BlueZ).
-+ Copyright 2002 by Fabrizio Gennari <fabrizio.gennari@philips.com>
-+
-+ Based on
-+ hci_h4.c by Maxim Krasnyansky <maxk@qualcomm.com>
-+ ABCSP by Carl Orsborn <cjo@csr.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: hci_bcsp.h,v 1.2 2002/09/26 05:05:14 maxk Exp $
-+ */
-+
-+#ifndef __HCI_BCSP_H__
-+#define __HCI_BCSP_H__
-+
-+#define BCSP_TXWINSIZE 4
-+
-+#define BCSP_ACK_PKT 0x05
-+#define BCSP_LE_PKT 0x06
-+
-+struct bcsp_struct {
-+ struct sk_buff_head unack; /* Unack'ed packets queue */
-+ struct sk_buff_head rel; /* Reliable packets queue */
-+ struct sk_buff_head unrel; /* Unreliable packets queue */
-+
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+ u8 rxseq_txack; /* rxseq == txack. */
-+ u8 rxack; /* Last packet sent by us that the peer ack'ed */
-+ struct timer_list tbcsp;
-+
-+ enum {
-+ BCSP_W4_PKT_DELIMITER,
-+ BCSP_W4_PKT_START,
-+ BCSP_W4_BCSP_HDR,
-+ BCSP_W4_DATA,
-+ BCSP_W4_CRC
-+ } rx_state;
-+
-+ enum {
-+ BCSP_ESCSTATE_NOESC,
-+ BCSP_ESCSTATE_ESC
-+ } rx_esc_state;
-+
-+ u16 message_crc;
-+ u8 txack_req; /* Do we need to send ack's to the peer? */
-+
-+ /* Reliable packet sequence number - used to assign seq to each rel pkt. */
-+ u8 msgq_txseq;
-+};
-+
-+#endif /* __HCI_BCSP_H__ */
-diff -urN linux-2.4.18/drivers/bluetooth/hci_h4.c linux-2.4.18-mh15/drivers/bluetooth/hci_h4.c
---- linux-2.4.18/drivers/bluetooth/hci_h4.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_h4.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,277 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * BlueZ HCI UART(H4) protocol.
-+ *
-+ * $Id: hci_h4.c,v 1.3 2002/09/09 01:17:32 maxk Exp $
-+ */
-+#define VERSION "1.2"
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/version.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/fcntl.h>
-+#include <linux/interrupt.h>
-+#include <linux/ptrace.h>
-+#include <linux/poll.h>
-+
-+#include <linux/slab.h>
-+#include <linux/tty.h>
-+#include <linux/errno.h>
-+#include <linux/string.h>
-+#include <linux/signal.h>
-+#include <linux/ioctl.h>
-+#include <linux/skbuff.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+#include "hci_uart.h"
-+#include "hci_h4.h"
-+
-+#ifndef HCI_UART_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#undef BT_DMP
-+#define BT_DMP( A... )
-+#endif
-+
-+/* Initialize protocol */
-+static int h4_open(struct hci_uart *hu)
-+{
-+ struct h4_struct *h4;
-+
-+ BT_DBG("hu %p", hu);
-+
-+ h4 = kmalloc(sizeof(*h4), GFP_ATOMIC);
-+ if (!h4)
-+ return -ENOMEM;
-+ memset(h4, 0, sizeof(*h4));
-+
-+ skb_queue_head_init(&h4->txq);
-+
-+ hu->priv = h4;
-+ return 0;
-+}
-+
-+/* Flush protocol data */
-+static int h4_flush(struct hci_uart *hu)
-+{
-+ struct h4_struct *h4 = hu->priv;
-+
-+ BT_DBG("hu %p", hu);
-+ skb_queue_purge(&h4->txq);
-+ return 0;
-+}
-+
-+/* Close protocol */
-+static int h4_close(struct hci_uart *hu)
-+{
-+ struct h4_struct *h4 = hu->priv;
-+ hu->priv = NULL;
-+
-+ BT_DBG("hu %p", hu);
-+
-+ skb_queue_purge(&h4->txq);
-+ if (h4->rx_skb)
-+ kfree_skb(h4->rx_skb);
-+
-+ hu->priv = NULL;
-+ kfree(h4);
-+ return 0;
-+}
-+
-+/* Enqueue frame for transmittion (padding, crc, etc) */
-+static int h4_enqueue(struct hci_uart *hu, struct sk_buff *skb)
-+{
-+ struct h4_struct *h4 = hu->priv;
-+
-+ BT_DBG("hu %p skb %p", hu, skb);
-+
-+ /* Prepend skb with frame type */
-+ memcpy(skb_push(skb, 1), &skb->pkt_type, 1);
-+ skb_queue_tail(&h4->txq, skb);
-+ return 0;
-+}
-+
-+static inline int h4_check_data_len(struct h4_struct *h4, int len)
-+{
-+ register int room = skb_tailroom(h4->rx_skb);
-+
-+ BT_DBG("len %d room %d", len, room);
-+ if (!len) {
-+ BT_DMP(h4->rx_skb->data, h4->rx_skb->len);
-+ hci_recv_frame(h4->rx_skb);
-+ } else if (len > room) {
-+ BT_ERR("Data length is too large");
-+ kfree_skb(h4->rx_skb);
-+ } else {
-+ h4->rx_state = H4_W4_DATA;
-+ h4->rx_count = len;
-+ return len;
-+ }
-+
-+ h4->rx_state = H4_W4_PACKET_TYPE;
-+ h4->rx_skb = NULL;
-+ h4->rx_count = 0;
-+ return 0;
-+}
-+
-+/* Recv data */
-+static int h4_recv(struct hci_uart *hu, void *data, int count)
-+{
-+ struct h4_struct *h4 = hu->priv;
-+ register char *ptr;
-+ hci_event_hdr *eh;
-+ hci_acl_hdr *ah;
-+ hci_sco_hdr *sh;
-+ register int len, type, dlen;
-+
-+ BT_DBG("hu %p count %d rx_state %ld rx_count %ld",
-+ hu, count, h4->rx_state, h4->rx_count);
-+
-+ ptr = data;
-+ while (count) {
-+ if (h4->rx_count) {
-+ len = MIN(h4->rx_count, count);
-+ memcpy(skb_put(h4->rx_skb, len), ptr, len);
-+ h4->rx_count -= len; count -= len; ptr += len;
-+
-+ if (h4->rx_count)
-+ continue;
-+
-+ switch (h4->rx_state) {
-+ case H4_W4_DATA:
-+ BT_DBG("Complete data");
-+
-+ BT_DMP(h4->rx_skb->data, h4->rx_skb->len);
-+
-+ hci_recv_frame(h4->rx_skb);
-+
-+ h4->rx_state = H4_W4_PACKET_TYPE;
-+ h4->rx_skb = NULL;
-+ continue;
-+
-+ case H4_W4_EVENT_HDR:
-+ eh = (hci_event_hdr *) h4->rx_skb->data;
-+
-+ BT_DBG("Event header: evt 0x%2.2x plen %d", eh->evt, eh->plen);
-+
-+ h4_check_data_len(h4, eh->plen);
-+ continue;
-+
-+ case H4_W4_ACL_HDR:
-+ ah = (hci_acl_hdr *) h4->rx_skb->data;
-+ dlen = __le16_to_cpu(ah->dlen);
-+
-+ BT_DBG("ACL header: dlen %d", dlen);
-+
-+ h4_check_data_len(h4, dlen);
-+ continue;
-+
-+ case H4_W4_SCO_HDR:
-+ sh = (hci_sco_hdr *) h4->rx_skb->data;
-+
-+ BT_DBG("SCO header: dlen %d", sh->dlen);
-+
-+ h4_check_data_len(h4, sh->dlen);
-+ continue;
-+ }
-+ }
-+
-+ /* H4_W4_PACKET_TYPE */
-+ switch (*ptr) {
-+ case HCI_EVENT_PKT:
-+ BT_DBG("Event packet");
-+ h4->rx_state = H4_W4_EVENT_HDR;
-+ h4->rx_count = HCI_EVENT_HDR_SIZE;
-+ type = HCI_EVENT_PKT;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ BT_DBG("ACL packet");
-+ h4->rx_state = H4_W4_ACL_HDR;
-+ h4->rx_count = HCI_ACL_HDR_SIZE;
-+ type = HCI_ACLDATA_PKT;
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ BT_DBG("SCO packet");
-+ h4->rx_state = H4_W4_SCO_HDR;
-+ h4->rx_count = HCI_SCO_HDR_SIZE;
-+ type = HCI_SCODATA_PKT;
-+ break;
-+
-+ default:
-+ BT_ERR("Unknown HCI packet type %2.2x", (__u8)*ptr);
-+ hu->hdev.stat.err_rx++;
-+ ptr++; count--;
-+ continue;
-+ };
-+ ptr++; count--;
-+
-+ /* Allocate packet */
-+ h4->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC);
-+ if (!h4->rx_skb) {
-+ BT_ERR("Can't allocate mem for new packet");
-+ h4->rx_state = H4_W4_PACKET_TYPE;
-+ h4->rx_count = 0;
-+ return 0;
-+ }
-+ h4->rx_skb->dev = (void *) &hu->hdev;
-+ h4->rx_skb->pkt_type = type;
-+ }
-+ return count;
-+}
-+
-+static struct sk_buff *h4_dequeue(struct hci_uart *hu)
-+{
-+ struct h4_struct *h4 = hu->priv;
-+ return skb_dequeue(&h4->txq);
-+}
-+
-+static struct hci_uart_proto h4p = {
-+ id: HCI_UART_H4,
-+ open: h4_open,
-+ close: h4_close,
-+ recv: h4_recv,
-+ enqueue: h4_enqueue,
-+ dequeue: h4_dequeue,
-+ flush: h4_flush,
-+};
-+
-+int h4_init(void)
-+{
-+ return hci_uart_register_proto(&h4p);
-+}
-+
-+int h4_deinit(void)
-+{
-+ return hci_uart_unregister_proto(&h4p);
-+}
-diff -urN linux-2.4.18/drivers/bluetooth/hci_h4.h linux-2.4.18-mh15/drivers/bluetooth/hci_h4.h
---- linux-2.4.18/drivers/bluetooth/hci_h4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_h4.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,44 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: hci_h4.h,v 1.2 2002/09/09 01:17:32 maxk Exp $
-+ */
-+
-+#ifdef __KERNEL__
-+struct h4_struct {
-+ unsigned long rx_state;
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+ struct sk_buff_head txq;
-+};
-+
-+/* H4 receiver States */
-+#define H4_W4_PACKET_TYPE 0
-+#define H4_W4_EVENT_HDR 1
-+#define H4_W4_ACL_HDR 2
-+#define H4_W4_SCO_HDR 3
-+#define H4_W4_DATA 4
-+
-+#endif /* __KERNEL__ */
-diff -urN linux-2.4.18/drivers/bluetooth/hci_ldisc.c linux-2.4.18-mh15/drivers/bluetooth/hci_ldisc.c
---- linux-2.4.18/drivers/bluetooth/hci_ldisc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_ldisc.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,579 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * BlueZ HCI UART driver.
-+ *
-+ * $Id: hci_ldisc.c,v 1.5 2002/10/02 18:37:20 maxk Exp $
-+ */
-+#define VERSION "2.1"
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/version.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/fcntl.h>
-+#include <linux/interrupt.h>
-+#include <linux/ptrace.h>
-+#include <linux/poll.h>
-+
-+#include <linux/slab.h>
-+#include <linux/tty.h>
-+#include <linux/errno.h>
-+#include <linux/string.h>
-+#include <linux/signal.h>
-+#include <linux/ioctl.h>
-+#include <linux/skbuff.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+#include "hci_uart.h"
-+
-+#ifndef HCI_UART_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#undef BT_DMP
-+#define BT_DMP( A... )
-+#endif
-+
-+static struct hci_uart_proto *hup[HCI_UART_MAX_PROTO];
-+
-+int hci_uart_register_proto(struct hci_uart_proto *p)
-+{
-+ if (p->id >= HCI_UART_MAX_PROTO)
-+ return -EINVAL;
-+
-+ if (hup[p->id])
-+ return -EEXIST;
-+
-+ hup[p->id] = p;
-+ return 0;
-+}
-+
-+int hci_uart_unregister_proto(struct hci_uart_proto *p)
-+{
-+ if (p->id >= HCI_UART_MAX_PROTO)
-+ return -EINVAL;
-+
-+ if (!hup[p->id])
-+ return -EINVAL;
-+
-+ hup[p->id] = NULL;
-+ return 0;
-+}
-+
-+static struct hci_uart_proto *hci_uart_get_proto(unsigned int id)
-+{
-+ if (id >= HCI_UART_MAX_PROTO)
-+ return NULL;
-+ return hup[id];
-+}
-+
-+static inline void hci_uart_tx_complete(struct hci_uart *hu, int pkt_type)
-+{
-+ struct hci_dev *hdev = &hu->hdev;
-+
-+ /* Update HCI stat counters */
-+ switch (pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+ }
-+}
-+
-+static inline struct sk_buff *hci_uart_dequeue(struct hci_uart *hu)
-+{
-+ struct sk_buff *skb = hu->tx_skb;
-+ if (!skb)
-+ skb = hu->proto->dequeue(hu);
-+ else
-+ hu->tx_skb = NULL;
-+ return skb;
-+}
-+
-+int hci_uart_tx_wakeup(struct hci_uart *hu)
-+{
-+ struct tty_struct *tty = hu->tty;
-+ struct hci_dev *hdev = &hu->hdev;
-+ struct sk_buff *skb;
-+
-+ if (test_and_set_bit(HCI_UART_SENDING, &hu->tx_state)) {
-+ set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);
-+ return 0;
-+ }
-+
-+ BT_DBG("");
-+
-+restart:
-+ clear_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);
-+
-+ while ((skb = hci_uart_dequeue(hu))) {
-+ int len;
-+
-+ set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
-+ len = tty->driver.write(tty, 0, skb->data, skb->len);
-+ hdev->stat.byte_tx += len;
-+
-+ skb_pull(skb, len);
-+ if (skb->len) {
-+ hu->tx_skb = skb;
-+ break;
-+ }
-+
-+ hci_uart_tx_complete(hu, skb->pkt_type);
-+ kfree_skb(skb);
-+ }
-+
-+ if (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state))
-+ goto restart;
-+
-+ clear_bit(HCI_UART_SENDING, &hu->tx_state);
-+ return 0;
-+}
-+
-+/* ------- Interface to HCI layer ------ */
-+/* Initialize device */
-+static int hci_uart_open(struct hci_dev *hdev)
-+{
-+ BT_DBG("%s %p", hdev->name, hdev);
-+
-+ /* Nothing to do for UART driver */
-+
-+ set_bit(HCI_RUNNING, &hdev->flags);
-+ return 0;
-+}
-+
-+/* Reset device */
-+static int hci_uart_flush(struct hci_dev *hdev)
-+{
-+ struct hci_uart *hu = (struct hci_uart *) hdev->driver_data;
-+ struct tty_struct *tty = hu->tty;
-+
-+ BT_DBG("hdev %p tty %p", hdev, tty);
-+
-+ if (hu->tx_skb) {
-+ kfree_skb(hu->tx_skb); hu->tx_skb = NULL;
-+ }
-+
-+ /* Flush any pending characters in the driver and discipline. */
-+ if (tty->ldisc.flush_buffer)
-+ tty->ldisc.flush_buffer(tty);
-+
-+ if (tty->driver.flush_buffer)
-+ tty->driver.flush_buffer(tty);
-+
-+ if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
-+ hu->proto->flush(hu);
-+
-+ return 0;
-+}
-+
-+/* Close device */
-+static int hci_uart_close(struct hci_dev *hdev)
-+{
-+ BT_DBG("hdev %p", hdev);
-+
-+ if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
-+ return 0;
-+
-+ hci_uart_flush(hdev);
-+ return 0;
-+}
-+
-+/* Send frames from HCI layer */
-+static int hci_uart_send_frame(struct sk_buff *skb)
-+{
-+ struct hci_dev* hdev = (struct hci_dev *) skb->dev;
-+ struct tty_struct *tty;
-+ struct hci_uart *hu;
-+
-+ if (!hdev) {
-+ BT_ERR("Frame for uknown device (hdev=NULL)");
-+ return -ENODEV;
-+ }
-+
-+ if (!test_bit(HCI_RUNNING, &hdev->flags))
-+ return -EBUSY;
-+
-+ hu = (struct hci_uart *) hdev->driver_data;
-+ tty = hu->tty;
-+
-+ BT_DBG("%s: type %d len %d", hdev->name, skb->pkt_type, skb->len);
-+
-+ hu->proto->enqueue(hu, skb);
-+
-+ hci_uart_tx_wakeup(hu);
-+ return 0;
-+}
-+
-+static void hci_uart_destruct(struct hci_dev *hdev)
-+{
-+ struct hci_uart *hu;
-+
-+ if (!hdev) return;
-+
-+ BT_DBG("%s", hdev->name);
-+
-+ hu = (struct hci_uart *) hdev->driver_data;
-+ kfree(hu);
-+
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+/* ------ LDISC part ------ */
-+/* hci_uart_tty_open
-+ *
-+ * Called when line discipline changed to HCI_UART.
-+ *
-+ * Arguments:
-+ * tty pointer to tty info structure
-+ * Return Value:
-+ * 0 if success, otherwise error code
-+ */
-+static int hci_uart_tty_open(struct tty_struct *tty)
-+{
-+ struct hci_uart *hu = (void *) tty->disc_data;
-+
-+ BT_DBG("tty %p", tty);
-+
-+ if (hu)
-+ return -EEXIST;
-+
-+ if (!(hu = kmalloc(sizeof(struct hci_uart), GFP_KERNEL))) {
-+ BT_ERR("Can't allocate controll structure");
-+ return -ENFILE;
-+ }
-+ memset(hu, 0, sizeof(struct hci_uart));
-+
-+ tty->disc_data = hu;
-+ hu->tty = tty;
-+
-+ spin_lock_init(&hu->rx_lock);
-+
-+ /* Flush any pending characters in the driver and line discipline */
-+ if (tty->ldisc.flush_buffer)
-+ tty->ldisc.flush_buffer(tty);
-+
-+ if (tty->driver.flush_buffer)
-+ tty->driver.flush_buffer(tty);
-+
-+ MOD_INC_USE_COUNT;
-+ return 0;
-+}
-+
-+/* hci_uart_tty_close()
-+ *
-+ * Called when the line discipline is changed to something
-+ * else, the tty is closed, or the tty detects a hangup.
-+ */
-+static void hci_uart_tty_close(struct tty_struct *tty)
-+{
-+ struct hci_uart *hu = (void *)tty->disc_data;
-+
-+ BT_DBG("tty %p", tty);
-+
-+ /* Detach from the tty */
-+ tty->disc_data = NULL;
-+
-+ if (hu) {
-+ struct hci_dev *hdev = &hu->hdev;
-+ hci_uart_close(hdev);
-+
-+ if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) {
-+ hu->proto->close(hu);
-+ hci_unregister_dev(hdev);
-+ }
-+
-+ MOD_DEC_USE_COUNT;
-+ }
-+}
-+
-+/* hci_uart_tty_wakeup()
-+ *
-+ * Callback for transmit wakeup. Called when low level
-+ * device driver can accept more send data.
-+ *
-+ * Arguments: tty pointer to associated tty instance data
-+ * Return Value: None
-+ */
-+static void hci_uart_tty_wakeup(struct tty_struct *tty)
-+{
-+ struct hci_uart *hu = (void *)tty->disc_data;
-+
-+ BT_DBG("");
-+
-+ if (!hu)
-+ return;
-+
-+ clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
-+
-+ if (tty != hu->tty)
-+ return;
-+
-+ if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
-+ hci_uart_tx_wakeup(hu);
-+}
-+
-+/* hci_uart_tty_room()
-+ *
-+ * Callback function from tty driver. Return the amount of
-+ * space left in the receiver's buffer to decide if remote
-+ * transmitter is to be throttled.
-+ *
-+ * Arguments: tty pointer to associated tty instance data
-+ * Return Value: number of bytes left in receive buffer
-+ */
-+static int hci_uart_tty_room (struct tty_struct *tty)
-+{
-+ return 65536;
-+}
-+
-+/* hci_uart_tty_receive()
-+ *
-+ * Called by tty low level driver when receive data is
-+ * available.
-+ *
-+ * Arguments: tty pointer to tty isntance data
-+ * data pointer to received data
-+ * flags pointer to flags for data
-+ * count count of received data in bytes
-+ *
-+ * Return Value: None
-+ */
-+static void hci_uart_tty_receive(struct tty_struct *tty, const __u8 *data, char *flags, int count)
-+{
-+ struct hci_uart *hu = (void *)tty->disc_data;
-+
-+ if (!hu || tty != hu->tty)
-+ return;
-+
-+ if (!test_bit(HCI_UART_PROTO_SET, &hu->flags))
-+ return;
-+
-+ spin_lock(&hu->rx_lock);
-+ hu->proto->recv(hu, (void *) data, count);
-+ hu->hdev.stat.byte_rx += count;
-+ spin_unlock(&hu->rx_lock);
-+
-+ if (test_and_clear_bit(TTY_THROTTLED,&tty->flags) && tty->driver.unthrottle)
-+ tty->driver.unthrottle(tty);
-+}
-+
-+static int hci_uart_register_dev(struct hci_uart *hu)
-+{
-+ struct hci_dev *hdev;
-+
-+ BT_DBG("");
-+
-+ /* Initialize and register HCI device */
-+ hdev = &hu->hdev;
-+
-+ hdev->type = HCI_UART;
-+ hdev->driver_data = hu;
-+
-+ hdev->open = hci_uart_open;
-+ hdev->close = hci_uart_close;
-+ hdev->flush = hci_uart_flush;
-+ hdev->send = hci_uart_send_frame;
-+ hdev->destruct = hci_uart_destruct;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ BT_ERR("Can't register HCI device %s", hdev->name);
-+ return -ENODEV;
-+ }
-+ MOD_INC_USE_COUNT;
-+ return 0;
-+}
-+
-+static int hci_uart_set_proto(struct hci_uart *hu, int id)
-+{
-+ struct hci_uart_proto *p;
-+ int err;
-+
-+ p = hci_uart_get_proto(id);
-+ if (!p)
-+ return -EPROTONOSUPPORT;
-+
-+ err = p->open(hu);
-+ if (err)
-+ return err;
-+
-+ hu->proto = p;
-+
-+ err = hci_uart_register_dev(hu);
-+ if (err) {
-+ p->close(hu);
-+ return err;
-+ }
-+ return 0;
-+}
-+
-+/* hci_uart_tty_ioctl()
-+ *
-+ * Process IOCTL system call for the tty device.
-+ *
-+ * Arguments:
-+ *
-+ * tty pointer to tty instance data
-+ * file pointer to open file object for device
-+ * cmd IOCTL command code
-+ * arg argument for IOCTL call (cmd dependent)
-+ *
-+ * Return Value: Command dependent
-+ */
-+static int hci_uart_tty_ioctl(struct tty_struct *tty, struct file * file,
-+ unsigned int cmd, unsigned long arg)
-+{
-+ struct hci_uart *hu = (void *)tty->disc_data;
-+ int err = 0;
-+
-+ BT_DBG("");
-+
-+ /* Verify the status of the device */
-+ if (!hu)
-+ return -EBADF;
-+
-+ switch (cmd) {
-+ case HCIUARTSETPROTO:
-+ if (!test_and_set_bit(HCI_UART_PROTO_SET, &hu->flags)) {
-+ err = hci_uart_set_proto(hu, arg);
-+ if (err) {
-+ clear_bit(HCI_UART_PROTO_SET, &hu->flags);
-+ return err;
-+ }
-+ tty->low_latency = 1;
-+ } else
-+ return -EBUSY;
-+
-+ case HCIUARTGETPROTO:
-+ if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
-+ return hu->proto->id;
-+ return -EUNATCH;
-+
-+ default:
-+ err = n_tty_ioctl(tty, file, cmd, arg);
-+ break;
-+ };
-+
-+ return err;
-+}
-+
-+/*
-+ * We don't provide read/write/poll interface for user space.
-+ */
-+static ssize_t hci_uart_tty_read(struct tty_struct *tty, struct file *file, unsigned char *buf, size_t nr)
-+{
-+ return 0;
-+}
-+static ssize_t hci_uart_tty_write(struct tty_struct *tty, struct file *file, const unsigned char *data, size_t count)
-+{
-+ return 0;
-+}
-+static unsigned int hci_uart_tty_poll(struct tty_struct *tty, struct file *filp, poll_table *wait)
-+{
-+ return 0;
-+}
-+
-+#ifdef CONFIG_BLUEZ_HCIUART_H4
-+int h4_init(void);
-+int h4_deinit(void);
-+#endif
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP
-+int bcsp_init(void);
-+int bcsp_deinit(void);
-+#endif
-+
-+int __init hci_uart_init(void)
-+{
-+ static struct tty_ldisc hci_uart_ldisc;
-+ int err;
-+
-+ BT_INFO("BlueZ HCI UART driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
-+ VERSION);
-+ BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-+
-+ /* Register the tty discipline */
-+
-+ memset(&hci_uart_ldisc, 0, sizeof (hci_uart_ldisc));
-+ hci_uart_ldisc.magic = TTY_LDISC_MAGIC;
-+ hci_uart_ldisc.name = "n_hci";
-+ hci_uart_ldisc.open = hci_uart_tty_open;
-+ hci_uart_ldisc.close = hci_uart_tty_close;
-+ hci_uart_ldisc.read = hci_uart_tty_read;
-+ hci_uart_ldisc.write = hci_uart_tty_write;
-+ hci_uart_ldisc.ioctl = hci_uart_tty_ioctl;
-+ hci_uart_ldisc.poll = hci_uart_tty_poll;
-+ hci_uart_ldisc.receive_room= hci_uart_tty_room;
-+ hci_uart_ldisc.receive_buf = hci_uart_tty_receive;
-+ hci_uart_ldisc.write_wakeup= hci_uart_tty_wakeup;
-+
-+ if ((err = tty_register_ldisc(N_HCI, &hci_uart_ldisc))) {
-+ BT_ERR("Can't register HCI line discipline (%d)", err);
-+ return err;
-+ }
-+
-+#ifdef CONFIG_BLUEZ_HCIUART_H4
-+ h4_init();
-+#endif
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP
-+ bcsp_init();
-+#endif
-+
-+ return 0;
-+}
-+
-+void hci_uart_cleanup(void)
-+{
-+ int err;
-+
-+#ifdef CONFIG_BLUEZ_HCIUART_H4
-+ h4_deinit();
-+#endif
-+#ifdef CONFIG_BLUEZ_HCIUART_BCSP
-+ bcsp_deinit();
-+#endif
-+
-+ /* Release tty registration of line discipline */
-+ if ((err = tty_register_ldisc(N_HCI, NULL)))
-+ BT_ERR("Can't unregister HCI line discipline (%d)", err);
-+}
-+
-+module_init(hci_uart_init);
-+module_exit(hci_uart_cleanup);
-+
-+MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
-+MODULE_DESCRIPTION("BlueZ HCI UART driver ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/drivers/bluetooth/hci_uart.c linux-2.4.18-mh15/drivers/bluetooth/hci_uart.c
---- linux-2.4.18/drivers/bluetooth/hci_uart.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_uart.c 1970-01-01 01:00:00.000000000 +0100
-@@ -1,580 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * BlueZ HCI UART driver.
-- *
-- * $Id: hci_uart.c,v 1.5 2001/07/05 18:42:44 maxk Exp $
-- */
--#define VERSION "1.0"
--
--#include <linux/config.h>
--#include <linux/module.h>
--
--#include <linux/version.h>
--#include <linux/config.h>
--#include <linux/kernel.h>
--#include <linux/init.h>
--#include <linux/sched.h>
--#include <linux/types.h>
--#include <linux/fcntl.h>
--#include <linux/interrupt.h>
--#include <linux/ptrace.h>
--#include <linux/poll.h>
--
--#include <linux/slab.h>
--#include <linux/tty.h>
--#include <linux/errno.h>
--#include <linux/string.h>
--#include <linux/signal.h>
--#include <linux/ioctl.h>
--#include <linux/skbuff.h>
--
--#include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
--#include <net/bluetooth/hci_core.h>
--#include <net/bluetooth/hci_uart.h>
--
--#ifndef HCI_UART_DEBUG
--#undef DBG
--#define DBG( A... )
--#undef DMP
--#define DMP( A... )
--#endif
--
--/* ------- Interface to HCI layer ------ */
--/* Initialize device */
--int n_hci_open(struct hci_dev *hdev)
--{
-- DBG("%s %p", hdev->name, hdev);
--
-- /* Nothing to do for UART driver */
--
-- hdev->flags |= HCI_RUNNING;
--
-- return 0;
--}
--
--/* Reset device */
--int n_hci_flush(struct hci_dev *hdev)
--{
-- struct n_hci *n_hci = (struct n_hci *) hdev->driver_data;
-- struct tty_struct *tty = n_hci->tty;
--
-- DBG("hdev %p tty %p", hdev, tty);
--
-- /* Drop TX queue */
-- skb_queue_purge(&n_hci->txq);
--
-- /* Flush any pending characters in the driver and discipline. */
-- if (tty->ldisc.flush_buffer)
-- tty->ldisc.flush_buffer(tty);
--
-- if (tty->driver.flush_buffer)
-- tty->driver.flush_buffer(tty);
--
-- return 0;
--}
--
--/* Close device */
--int n_hci_close(struct hci_dev *hdev)
--{
-- DBG("hdev %p", hdev);
--
-- hdev->flags &= ~HCI_RUNNING;
--
-- n_hci_flush(hdev);
--
-- return 0;
--}
--
--int n_hci_tx_wakeup(struct n_hci *n_hci)
--{
-- register struct tty_struct *tty = n_hci->tty;
--
-- if (test_and_set_bit(TRANS_SENDING, &n_hci->tx_state)) {
-- set_bit(TRANS_WAKEUP, &n_hci->tx_state);
-- return 0;
-- }
--
-- DBG("");
-- do {
-- register struct sk_buff *skb;
-- register int len;
--
-- clear_bit(TRANS_WAKEUP, &n_hci->tx_state);
--
-- if (!(skb = skb_dequeue(&n_hci->txq)))
-- break;
--
-- DMP(skb->data, skb->len);
--
-- /* Send frame to TTY driver */
-- tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
-- len = tty->driver.write(tty, 0, skb->data, skb->len);
--
-- n_hci->hdev.stat.byte_tx += len;
--
-- DBG("sent %d", len);
--
-- if (len == skb->len) {
-- /* Full frame was sent */
-- kfree_skb(skb);
-- } else {
-- /* Subtract sent part and requeue */
-- skb_pull(skb, len);
-- skb_queue_head(&n_hci->txq, skb);
-- }
-- } while (test_bit(TRANS_WAKEUP, &n_hci->tx_state));
-- clear_bit(TRANS_SENDING, &n_hci->tx_state);
--
-- return 0;
--}
--
--/* Send frames from HCI layer */
--int n_hci_send_frame(struct sk_buff *skb)
--{
-- struct hci_dev* hdev = (struct hci_dev *) skb->dev;
-- struct tty_struct *tty;
-- struct n_hci *n_hci;
--
-- if (!hdev) {
-- ERR("Frame for uknown device (hdev=NULL)");
-- return -ENODEV;
-- }
--
-- if (!(hdev->flags & HCI_RUNNING))
-- return -EBUSY;
--
-- n_hci = (struct n_hci *) hdev->driver_data;
-- tty = n_hci2tty(n_hci);
--
-- DBG("%s: type %d len %d", hdev->name, skb->pkt_type, skb->len);
--
-- switch (skb->pkt_type) {
-- case HCI_COMMAND_PKT:
-- hdev->stat.cmd_tx++;
-- break;
--
-- case HCI_ACLDATA_PKT:
-- hdev->stat.acl_tx++;
-- break;
--
-- case HCI_SCODATA_PKT:
-- hdev->stat.cmd_tx++;
-- break;
-- };
--
-- /* Prepend skb with frame type and queue */
-- memcpy(skb_push(skb, 1), &skb->pkt_type, 1);
-- skb_queue_tail(&n_hci->txq, skb);
--
-- n_hci_tx_wakeup(n_hci);
--
-- return 0;
--}
--
--/* ------ LDISC part ------ */
--
--/* n_hci_tty_open
-- *
-- * Called when line discipline changed to N_HCI.
-- *
-- * Arguments:
-- * tty pointer to tty info structure
-- * Return Value:
-- * 0 if success, otherwise error code
-- */
--static int n_hci_tty_open(struct tty_struct *tty)
--{
-- struct n_hci *n_hci = tty2n_hci(tty);
-- struct hci_dev *hdev;
--
-- DBG("tty %p", tty);
--
-- if (n_hci)
-- return -EEXIST;
--
-- if (!(n_hci = kmalloc(sizeof(struct n_hci), GFP_KERNEL))) {
-- ERR("Can't allocate controll structure");
-- return -ENFILE;
-- }
-- memset(n_hci, 0, sizeof(struct n_hci));
--
-- /* Initialize and register HCI device */
-- hdev = &n_hci->hdev;
--
-- hdev->type = HCI_UART;
-- hdev->driver_data = n_hci;
--
-- hdev->open = n_hci_open;
-- hdev->close = n_hci_close;
-- hdev->flush = n_hci_flush;
-- hdev->send = n_hci_send_frame;
--
-- if (hci_register_dev(hdev) < 0) {
-- ERR("Can't register HCI device %s", hdev->name);
-- kfree(n_hci);
-- return -ENODEV;
-- }
--
-- tty->disc_data = n_hci;
-- n_hci->tty = tty;
--
-- spin_lock_init(&n_hci->rx_lock);
-- n_hci->rx_state = WAIT_PACKET_TYPE;
--
-- skb_queue_head_init(&n_hci->txq);
--
-- MOD_INC_USE_COUNT;
--
-- /* Flush any pending characters in the driver and discipline. */
-- if (tty->ldisc.flush_buffer)
-- tty->ldisc.flush_buffer(tty);
--
-- if (tty->driver.flush_buffer)
-- tty->driver.flush_buffer(tty);
--
-- return 0;
--}
--
--/* n_hci_tty_close()
-- *
-- * Called when the line discipline is changed to something
-- * else, the tty is closed, or the tty detects a hangup.
-- */
--static void n_hci_tty_close(struct tty_struct *tty)
--{
-- struct n_hci *n_hci = tty2n_hci(tty);
-- struct hci_dev *hdev = &n_hci->hdev;
--
-- DBG("tty %p hdev %p", tty, hdev);
--
-- if (n_hci != NULL) {
-- n_hci_close(hdev);
--
-- if (hci_unregister_dev(hdev) < 0) {
-- ERR("Can't unregister HCI device %s",hdev->name);
-- }
--
-- hdev->driver_data = NULL;
-- tty->disc_data = NULL;
-- kfree(n_hci);
--
-- MOD_DEC_USE_COUNT;
-- }
--}
--
--/* n_hci_tty_wakeup()
-- *
-- * Callback for transmit wakeup. Called when low level
-- * device driver can accept more send data.
-- *
-- * Arguments: tty pointer to associated tty instance data
-- * Return Value: None
-- */
--static void n_hci_tty_wakeup( struct tty_struct *tty )
--{
-- struct n_hci *n_hci = tty2n_hci(tty);
--
-- DBG("");
--
-- if (!n_hci)
-- return;
--
-- tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
--
-- if (tty != n_hci->tty)
-- return;
--
-- n_hci_tx_wakeup(n_hci);
--}
--
--/* n_hci_tty_room()
-- *
-- * Callback function from tty driver. Return the amount of
-- * space left in the receiver's buffer to decide if remote
-- * transmitter is to be throttled.
-- *
-- * Arguments: tty pointer to associated tty instance data
-- * Return Value: number of bytes left in receive buffer
-- */
--static int n_hci_tty_room (struct tty_struct *tty)
--{
-- return 65536;
--}
--
--static inline int n_hci_check_data_len(struct n_hci *n_hci, int len)
--{
-- register int room = skb_tailroom(n_hci->rx_skb);
--
-- DBG("len %d room %d", len, room);
-- if (!len) {
-- DMP(n_hci->rx_skb->data, n_hci->rx_skb->len);
-- hci_recv_frame(n_hci->rx_skb);
-- } else if (len > room) {
-- ERR("Data length is to large");
-- kfree_skb(n_hci->rx_skb);
-- n_hci->hdev.stat.err_rx++;
-- } else {
-- n_hci->rx_state = WAIT_DATA;
-- n_hci->rx_count = len;
-- return len;
-- }
--
-- n_hci->rx_state = WAIT_PACKET_TYPE;
-- n_hci->rx_skb = NULL;
-- n_hci->rx_count = 0;
-- return 0;
--}
--
--static inline void n_hci_rx(struct n_hci *n_hci, const __u8 * data, char *flags, int count)
--{
-- register const char *ptr;
-- hci_event_hdr *eh;
-- hci_acl_hdr *ah;
-- hci_sco_hdr *sh;
-- register int len, type, dlen;
--
-- DBG("count %d state %ld rx_count %ld", count, n_hci->rx_state, n_hci->rx_count);
--
-- n_hci->hdev.stat.byte_rx += count;
--
-- ptr = data;
-- while (count) {
-- if (n_hci->rx_count) {
-- len = MIN(n_hci->rx_count, count);
-- memcpy(skb_put(n_hci->rx_skb, len), ptr, len);
-- n_hci->rx_count -= len; count -= len; ptr += len;
--
-- if (n_hci->rx_count)
-- continue;
--
-- switch (n_hci->rx_state) {
-- case WAIT_DATA:
-- DBG("Complete data");
--
-- DMP(n_hci->rx_skb->data, n_hci->rx_skb->len);
--
-- hci_recv_frame(n_hci->rx_skb);
--
-- n_hci->rx_state = WAIT_PACKET_TYPE;
-- n_hci->rx_skb = NULL;
-- continue;
--
-- case WAIT_EVENT_HDR:
-- eh = (hci_event_hdr *) n_hci->rx_skb->data;
--
-- DBG("Event header: evt 0x%2.2x plen %d", eh->evt, eh->plen);
--
-- n_hci_check_data_len(n_hci, eh->plen);
-- continue;
--
-- case WAIT_ACL_HDR:
-- ah = (hci_acl_hdr *) n_hci->rx_skb->data;
-- dlen = __le16_to_cpu(ah->dlen);
--
-- DBG("ACL header: dlen %d", dlen);
--
-- n_hci_check_data_len(n_hci, dlen);
-- continue;
--
-- case WAIT_SCO_HDR:
-- sh = (hci_sco_hdr *) n_hci->rx_skb->data;
--
-- DBG("SCO header: dlen %d", sh->dlen);
--
-- n_hci_check_data_len(n_hci, sh->dlen);
-- continue;
-- };
-- }
--
-- /* WAIT_PACKET_TYPE */
-- switch (*ptr) {
-- case HCI_EVENT_PKT:
-- DBG("Event packet");
-- n_hci->rx_state = WAIT_EVENT_HDR;
-- n_hci->rx_count = HCI_EVENT_HDR_SIZE;
-- type = HCI_EVENT_PKT;
-- break;
--
-- case HCI_ACLDATA_PKT:
-- DBG("ACL packet");
-- n_hci->rx_state = WAIT_ACL_HDR;
-- n_hci->rx_count = HCI_ACL_HDR_SIZE;
-- type = HCI_ACLDATA_PKT;
-- break;
--
-- case HCI_SCODATA_PKT:
-- DBG("SCO packet");
-- n_hci->rx_state = WAIT_SCO_HDR;
-- n_hci->rx_count = HCI_SCO_HDR_SIZE;
-- type = HCI_SCODATA_PKT;
-- break;
--
-- default:
-- ERR("Unknown HCI packet type %2.2x", (__u8)*ptr);
-- n_hci->hdev.stat.err_rx++;
-- ptr++; count--;
-- continue;
-- };
-- ptr++; count--;
--
-- /* Allocate packet */
-- if (!(n_hci->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-- ERR("Can't allocate mem for new packet");
--
-- n_hci->rx_state = WAIT_PACKET_TYPE;
-- n_hci->rx_count = 0;
-- return;
-- }
-- n_hci->rx_skb->dev = (void *) &n_hci->hdev;
-- n_hci->rx_skb->pkt_type = type;
-- }
--}
--
--/* n_hci_tty_receive()
-- *
-- * Called by tty low level driver when receive data is
-- * available.
-- *
-- * Arguments: tty pointer to tty isntance data
-- * data pointer to received data
-- * flags pointer to flags for data
-- * count count of received data in bytes
-- *
-- * Return Value: None
-- */
--static void n_hci_tty_receive(struct tty_struct *tty, const __u8 * data, char *flags, int count)
--{
-- struct n_hci *n_hci = tty2n_hci(tty);
--
-- if (!n_hci || tty != n_hci->tty)
-- return;
--
-- spin_lock(&n_hci->rx_lock);
-- n_hci_rx(n_hci, data, flags, count);
-- spin_unlock(&n_hci->rx_lock);
--
-- if (test_and_clear_bit(TTY_THROTTLED,&tty->flags) && tty->driver.unthrottle)
-- tty->driver.unthrottle(tty);
--}
--
--/* n_hci_tty_ioctl()
-- *
-- * Process IOCTL system call for the tty device.
-- *
-- * Arguments:
-- *
-- * tty pointer to tty instance data
-- * file pointer to open file object for device
-- * cmd IOCTL command code
-- * arg argument for IOCTL call (cmd dependent)
-- *
-- * Return Value: Command dependent
-- */
--static int n_hci_tty_ioctl (struct tty_struct *tty, struct file * file,
-- unsigned int cmd, unsigned long arg)
--{
-- struct n_hci *n_hci = tty2n_hci(tty);
-- int error = 0;
--
-- DBG("");
--
-- /* Verify the status of the device */
-- if (!n_hci)
-- return -EBADF;
--
-- switch (cmd) {
-- default:
-- error = n_tty_ioctl(tty, file, cmd, arg);
-- break;
-- };
--
-- return error;
--}
--
--/*
-- * We don't provide read/write/poll interface for user space.
-- */
--static ssize_t n_hci_tty_read(struct tty_struct *tty, struct file *file, unsigned char *buf, size_t nr)
--{
-- return 0;
--}
--static ssize_t n_hci_tty_write(struct tty_struct *tty, struct file *file, const unsigned char *data, size_t count)
--{
-- return 0;
--}
--static unsigned int n_hci_tty_poll(struct tty_struct *tty, struct file *filp, poll_table *wait)
--{
-- return 0;
--}
--
--int __init n_hci_init(void)
--{
-- static struct tty_ldisc n_hci_ldisc;
-- int err;
--
-- INF("BlueZ HCI UART driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
-- VERSION);
-- INF("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
--
-- /* Register the tty discipline */
--
-- memset(&n_hci_ldisc, 0, sizeof (n_hci_ldisc));
-- n_hci_ldisc.magic = TTY_LDISC_MAGIC;
-- n_hci_ldisc.name = "n_hci";
-- n_hci_ldisc.open = n_hci_tty_open;
-- n_hci_ldisc.close = n_hci_tty_close;
-- n_hci_ldisc.read = n_hci_tty_read;
-- n_hci_ldisc.write = n_hci_tty_write;
-- n_hci_ldisc.ioctl = n_hci_tty_ioctl;
-- n_hci_ldisc.poll = n_hci_tty_poll;
-- n_hci_ldisc.receive_room= n_hci_tty_room;
-- n_hci_ldisc.receive_buf = n_hci_tty_receive;
-- n_hci_ldisc.write_wakeup= n_hci_tty_wakeup;
--
-- if ((err = tty_register_ldisc(N_HCI, &n_hci_ldisc))) {
-- ERR("Can't register HCI line discipline (%d)", err);
-- return err;
-- }
--
-- return 0;
--}
--
--void n_hci_cleanup(void)
--{
-- int err;
--
-- /* Release tty registration of line discipline */
-- if ((err = tty_register_ldisc(N_HCI, NULL)))
-- ERR("Can't unregister HCI line discipline (%d)", err);
--}
--
--module_init(n_hci_init);
--module_exit(n_hci_cleanup);
--
--MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
--MODULE_DESCRIPTION("BlueZ HCI UART driver ver " VERSION);
--MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/drivers/bluetooth/hci_uart.h linux-2.4.18-mh15/drivers/bluetooth/hci_uart.h
---- linux-2.4.18/drivers/bluetooth/hci_uart.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_uart.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,82 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: hci_uart.h,v 1.2 2002/09/09 01:17:32 maxk Exp $
-+ */
-+
-+#ifndef N_HCI
-+#define N_HCI 15
-+#endif
-+
-+/* Ioctls */
-+#define HCIUARTSETPROTO _IOW('U', 200, int)
-+#define HCIUARTGETPROTO _IOR('U', 201, int)
-+
-+/* UART protocols */
-+#define HCI_UART_MAX_PROTO 4
-+
-+#define HCI_UART_H4 0
-+#define HCI_UART_BCSP 1
-+#define HCI_UART_3WIRE 2
-+#define HCI_UART_H4DS 3
-+
-+#ifdef __KERNEL__
-+struct hci_uart;
-+
-+struct hci_uart_proto {
-+ unsigned int id;
-+ int (*open)(struct hci_uart *hu);
-+ int (*close)(struct hci_uart *hu);
-+ int (*flush)(struct hci_uart *hu);
-+ int (*recv)(struct hci_uart *hu, void *data, int len);
-+ int (*enqueue)(struct hci_uart *hu, struct sk_buff *skb);
-+ struct sk_buff *(*dequeue)(struct hci_uart *hu);
-+};
-+
-+struct hci_uart {
-+ struct tty_struct *tty;
-+ struct hci_dev hdev;
-+ unsigned long flags;
-+
-+ struct hci_uart_proto *proto;
-+ void *priv;
-+
-+ struct sk_buff *tx_skb;
-+ unsigned long tx_state;
-+ spinlock_t rx_lock;
-+};
-+
-+/* HCI_UART flag bits */
-+#define HCI_UART_PROTO_SET 0
-+
-+/* TX states */
-+#define HCI_UART_SENDING 1
-+#define HCI_UART_TX_WAKEUP 2
-+
-+int hci_uart_register_proto(struct hci_uart_proto *p);
-+int hci_uart_unregister_proto(struct hci_uart_proto *p);
-+int hci_uart_tx_wakeup(struct hci_uart *hu);
-+
-+#endif /* __KERNEL__ */
-diff -urN linux-2.4.18/drivers/bluetooth/hci_usb.c linux-2.4.18-mh15/drivers/bluetooth/hci_usb.c
---- linux-2.4.18/drivers/bluetooth/hci_usb.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_usb.c 2004-08-01 16:26:23.000000000 +0200
-@@ -1,9 +1,10 @@
- /*
-- BlueZ - Bluetooth protocol stack for Linux
-+ HCI USB driver for Linux Bluetooth protocol stack (BlueZ)
- Copyright (C) 2000-2001 Qualcomm Incorporated
--
- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
-
-+ Copyright (C) 2003 Maxim Krasnyansky <maxk@qualcomm.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;
-@@ -23,598 +24,938 @@
- */
-
- /*
-- * BlueZ HCI USB driver.
- * Based on original USB Bluetooth driver for Linux kernel
- * Copyright (c) 2000 Greg Kroah-Hartman <greg@kroah.com>
- * Copyright (c) 2000 Mark Douglas Corner <mcorner@umich.edu>
- *
-- * $Id: hci_usb.c,v 1.5 2001/07/05 18:42:44 maxk Exp $
-+ * $Id: hci_usb.c,v 1.8 2002/07/18 17:23:09 maxk Exp $
- */
--#define VERSION "1.0"
-+#define VERSION "2.7"
-
- #include <linux/config.h>
- #include <linux/module.h>
-
- #include <linux/version.h>
--#include <linux/config.h>
- #include <linux/kernel.h>
- #include <linux/init.h>
- #include <linux/sched.h>
-+#include <linux/unistd.h>
- #include <linux/types.h>
--#include <linux/fcntl.h>
- #include <linux/interrupt.h>
--#include <linux/ptrace.h>
--#include <linux/poll.h>
-
- #include <linux/slab.h>
--#include <linux/tty.h>
- #include <linux/errno.h>
- #include <linux/string.h>
--#include <linux/signal.h>
--#include <linux/ioctl.h>
- #include <linux/skbuff.h>
-
- #include <linux/usb.h>
-
- #include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
- #include <net/bluetooth/hci_core.h>
--#include <net/bluetooth/hci_usb.h>
-+
-+#include "hci_usb.h"
-
- #ifndef HCI_USB_DEBUG
--#undef DBG
--#define DBG( A... )
--#undef DMP
--#define DMP( A... )
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#undef BT_DMP
-+#define BT_DMP( A... )
- #endif
-
--static struct usb_device_id usb_bluetooth_ids [] = {
-+#ifndef CONFIG_BLUEZ_HCIUSB_ZERO_PACKET
-+#undef USB_ZERO_PACKET
-+#define USB_ZERO_PACKET 0
-+#endif
-+
-+static struct usb_driver hci_usb_driver;
-+
-+static struct usb_device_id bluetooth_ids[] = {
-+ /* Generic Bluetooth USB device */
- { USB_DEVICE_INFO(HCI_DEV_CLASS, HCI_DEV_SUBCLASS, HCI_DEV_PROTOCOL) },
-+
-+ /* AVM BlueFRITZ! USB v2.0 */
-+ { USB_DEVICE(0x057c, 0x3800) },
-+
-+ /* Bluetooth Ultraport Module from IBM */
-+ { USB_DEVICE(0x04bf, 0x030a) },
-+
-+ /* ALPS Modules with non-standard id */
-+ { USB_DEVICE(0x044e, 0x3001) },
-+ { USB_DEVICE(0x044e, 0x3002) },
-+
-+ /* Ericsson with non-standard id */
-+ { USB_DEVICE(0x0bdb, 0x1002) },
-+
- { } /* Terminating entry */
- };
-
--MODULE_DEVICE_TABLE (usb, usb_bluetooth_ids);
-+MODULE_DEVICE_TABLE (usb, bluetooth_ids);
-
--static int hci_usb_ctrl_msg(struct hci_usb *husb, struct sk_buff *skb);
--static int hci_usb_write_msg(struct hci_usb *husb, struct sk_buff *skb);
-+static struct usb_device_id blacklist_ids[] = {
-+ /* Broadcom BCM2033 without firmware */
-+ { USB_DEVICE(0x0a5c, 0x2033), driver_info: HCI_IGNORE },
-
--static void hci_usb_unlink_urbs(struct hci_usb *husb)
-+ /* Broadcom BCM2035 */
-+ { USB_DEVICE(0x0a5c, 0x200a), driver_info: HCI_RESET },
-+
-+ /* ISSC Bluetooth Adapter v3.1 */
-+ { USB_DEVICE(0x1131, 0x1001), driver_info: HCI_RESET },
-+
-+ /* Digianswer device */
-+ { USB_DEVICE(0x08fd, 0x0001), driver_info: HCI_DIGIANSWER },
-+
-+ /* RTX Telecom based adapter with buggy SCO support */
-+ { USB_DEVICE(0x0400, 0x0807), driver_info: HCI_BROKEN_ISOC },
-+
-+ { } /* Terminating entry */
-+};
-+
-+struct _urb *_urb_alloc(int isoc, int gfp)
- {
-- usb_unlink_urb(husb->read_urb);
-- usb_unlink_urb(husb->intr_urb);
-- usb_unlink_urb(husb->ctrl_urb);
-- usb_unlink_urb(husb->write_urb);
-+ struct _urb *_urb = kmalloc(sizeof(struct _urb) +
-+ sizeof(iso_packet_descriptor_t) * isoc, gfp);
-+ if (_urb) {
-+ memset(_urb, 0, sizeof(*_urb));
-+ spin_lock_init(&_urb->urb.lock);
-+ }
-+ return _urb;
-+}
-+
-+struct _urb *_urb_dequeue(struct _urb_queue *q)
-+{
-+ struct _urb *_urb = NULL;
-+ unsigned long flags;
-+ spin_lock_irqsave(&q->lock, flags);
-+ {
-+ struct list_head *head = &q->head;
-+ struct list_head *next = head->next;
-+ if (next != head) {
-+ _urb = list_entry(next, struct _urb, list);
-+ list_del(next); _urb->queue = NULL;
-+ }
-+ }
-+ spin_unlock_irqrestore(&q->lock, flags);
-+ return _urb;
- }
-
--static void hci_usb_free_bufs(struct hci_usb *husb)
-+static void hci_usb_rx_complete(struct urb *urb);
-+static void hci_usb_tx_complete(struct urb *urb);
-+
-+#define __pending_tx(husb, type) (&husb->pending_tx[type-1])
-+#define __pending_q(husb, type) (&husb->pending_q[type-1])
-+#define __completed_q(husb, type) (&husb->completed_q[type-1])
-+#define __transmit_q(husb, type) (&husb->transmit_q[type-1])
-+#define __reassembly(husb, type) (husb->reassembly[type-1])
-+
-+static inline struct _urb *__get_completed(struct hci_usb *husb, int type)
- {
-- if (husb->read_urb) {
-- if (husb->read_urb->transfer_buffer)
-- kfree(husb->read_urb->transfer_buffer);
-- usb_free_urb(husb->read_urb);
-- }
-+ return _urb_dequeue(__completed_q(husb, type));
-+}
-
-- if (husb->intr_urb) {
-- if (husb->intr_urb->transfer_buffer)
-- kfree(husb->intr_urb->transfer_buffer);
-- usb_free_urb(husb->intr_urb);
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+static void __fill_isoc_desc(struct urb *urb, int len, int mtu)
-+{
-+ int offset = 0, i;
-+
-+ BT_DBG("len %d mtu %d", len, mtu);
-+
-+ for (i=0; i < HCI_MAX_ISOC_FRAMES && len >= mtu; i++, offset += mtu, len -= mtu) {
-+ urb->iso_frame_desc[i].offset = offset;
-+ urb->iso_frame_desc[i].length = mtu;
-+ BT_DBG("desc %d offset %d len %d", i, offset, mtu);
-+ }
-+ if (len && i < HCI_MAX_ISOC_FRAMES) {
-+ urb->iso_frame_desc[i].offset = offset;
-+ urb->iso_frame_desc[i].length = len;
-+ BT_DBG("desc %d offset %d len %d", i, offset, len);
-+ i++;
- }
-+ urb->number_of_packets = i;
-+}
-+#endif
-
-- if (husb->ctrl_urb)
-- usb_free_urb(husb->ctrl_urb);
-+static int hci_usb_intr_rx_submit(struct hci_usb *husb)
-+{
-+ struct _urb *_urb;
-+ struct urb *urb;
-+ int err, pipe, interval, size;
-+ void *buf;
-+
-+ BT_DBG("%s", husb->hdev.name);
-+
-+ size = husb->intr_in_ep->wMaxPacketSize;
-+
-+ buf = kmalloc(size, GFP_ATOMIC);
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ _urb = _urb_alloc(0, GFP_ATOMIC);
-+ if (!_urb) {
-+ kfree(buf);
-+ return -ENOMEM;
-+ }
-+ _urb->type = HCI_EVENT_PKT;
-+ _urb_queue_tail(__pending_q(husb, _urb->type), _urb);
-+
-+ urb = &_urb->urb;
-+ pipe = usb_rcvintpipe(husb->udev, husb->intr_in_ep->bEndpointAddress);
-+ interval = husb->intr_in_ep->bInterval;
-+ FILL_INT_URB(urb, husb->udev, pipe, buf, size, hci_usb_rx_complete, husb, interval);
-+
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s intr rx submit failed urb %p err %d",
-+ husb->hdev.name, urb, err);
-+ _urb_unlink(_urb);
-+ _urb_free(_urb);
-+ kfree(buf);
-+ }
-+ return err;
-+}
-
-- if (husb->write_urb)
-- usb_free_urb(husb->write_urb);
-+static int hci_usb_bulk_rx_submit(struct hci_usb *husb)
-+{
-+ struct _urb *_urb;
-+ struct urb *urb;
-+ int err, pipe, size = HCI_MAX_FRAME_SIZE;
-+ void *buf;
-+
-+ buf = kmalloc(size, GFP_ATOMIC);
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ _urb = _urb_alloc(0, GFP_ATOMIC);
-+ if (!_urb) {
-+ kfree(buf);
-+ return -ENOMEM;
-+ }
-+ _urb->type = HCI_ACLDATA_PKT;
-+ _urb_queue_tail(__pending_q(husb, _urb->type), _urb);
-+
-+ urb = &_urb->urb;
-+ pipe = usb_rcvbulkpipe(husb->udev, husb->bulk_in_ep->bEndpointAddress);
-+ FILL_BULK_URB(urb, husb->udev, pipe, buf, size, hci_usb_rx_complete, husb);
-+ urb->transfer_flags = USB_QUEUE_BULK;
-+
-+ BT_DBG("%s urb %p", husb->hdev.name, urb);
-+
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s bulk rx submit failed urb %p err %d",
-+ husb->hdev.name, urb, err);
-+ _urb_unlink(_urb);
-+ _urb_free(_urb);
-+ kfree(buf);
-+ }
-+ return err;
-+}
-
-- if (husb->intr_skb)
-- kfree_skb(husb->intr_skb);
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+static int hci_usb_isoc_rx_submit(struct hci_usb *husb)
-+{
-+ struct _urb *_urb;
-+ struct urb *urb;
-+ int err, mtu, size;
-+ void *buf;
-+
-+ mtu = husb->isoc_in_ep->wMaxPacketSize;
-+ size = mtu * HCI_MAX_ISOC_FRAMES;
-+
-+ buf = kmalloc(size, GFP_ATOMIC);
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ _urb = _urb_alloc(HCI_MAX_ISOC_FRAMES, GFP_ATOMIC);
-+ if (!_urb) {
-+ kfree(buf);
-+ return -ENOMEM;
-+ }
-+ _urb->type = HCI_SCODATA_PKT;
-+ _urb_queue_tail(__pending_q(husb, _urb->type), _urb);
-+
-+ urb = &_urb->urb;
-+
-+ urb->context = husb;
-+ urb->dev = husb->udev;
-+ urb->pipe = usb_rcvisocpipe(husb->udev, husb->isoc_in_ep->bEndpointAddress);
-+ urb->complete = hci_usb_rx_complete;
-+
-+ urb->transfer_buffer_length = size;
-+ urb->transfer_buffer = buf;
-+ urb->transfer_flags = USB_ISO_ASAP;
-+
-+ __fill_isoc_desc(urb, size, mtu);
-+
-+ BT_DBG("%s urb %p", husb->hdev.name, urb);
-+
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s isoc rx submit failed urb %p err %d",
-+ husb->hdev.name, urb, err);
-+ _urb_unlink(_urb);
-+ _urb_free(_urb);
-+ kfree(buf);
-+ }
-+ return err;
- }
-+#endif
-
--/* ------- Interface to HCI layer ------ */
- /* Initialize device */
--int hci_usb_open(struct hci_dev *hdev)
-+static int hci_usb_open(struct hci_dev *hdev)
- {
- struct hci_usb *husb = (struct hci_usb *) hdev->driver_data;
-- int status;
-+ int i, err;
-+ unsigned long flags;
-+
-+ BT_DBG("%s", hdev->name);
-
-- DBG("%s", hdev->name);
-+ if (test_and_set_bit(HCI_RUNNING, &hdev->flags))
-+ return 0;
-
-- husb->read_urb->dev = husb->udev;
-- if ((status = usb_submit_urb(husb->read_urb)))
-- DBG("read submit failed. %d", status);
-+ MOD_INC_USE_COUNT;
-
-- husb->intr_urb->dev = husb->udev;
-- if ((status = usb_submit_urb(husb->intr_urb)))
-- DBG("interrupt submit failed. %d", status);
-+ write_lock_irqsave(&husb->completion_lock, flags);
-
-- hdev->flags |= HCI_RUNNING;
-+ err = hci_usb_intr_rx_submit(husb);
-+ if (!err) {
-+ for (i = 0; i < HCI_MAX_BULK_RX; i++)
-+ hci_usb_bulk_rx_submit(husb);
-+
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ if (husb->isoc_iface)
-+ for (i = 0; i < HCI_MAX_ISOC_RX; i++)
-+ hci_usb_isoc_rx_submit(husb);
-+#endif
-+ } else {
-+ clear_bit(HCI_RUNNING, &hdev->flags);
-+ MOD_DEC_USE_COUNT;
-+ }
-
-- return 0;
-+ write_unlock_irqrestore(&husb->completion_lock, flags);
-+ return err;
- }
-
- /* Reset device */
--int hci_usb_flush(struct hci_dev *hdev)
-+static int hci_usb_flush(struct hci_dev *hdev)
- {
- struct hci_usb *husb = (struct hci_usb *) hdev->driver_data;
-+ int i;
-
-- DBG("%s", hdev->name);
--
-- /* Drop TX queues */
-- skb_queue_purge(&husb->tx_ctrl_q);
-- skb_queue_purge(&husb->tx_write_q);
-+ BT_DBG("%s", hdev->name);
-
-+ for (i=0; i < 4; i++)
-+ skb_queue_purge(&husb->transmit_q[i]);
- return 0;
- }
-
--/* Close device */
--int hci_usb_close(struct hci_dev *hdev)
-+static void hci_usb_unlink_urbs(struct hci_usb *husb)
- {
-- struct hci_usb *husb = (struct hci_usb *) hdev->driver_data;
-+ int i;
-
-- DBG("%s", hdev->name);
-+ BT_DBG("%s", husb->hdev.name);
-
-- hdev->flags &= ~HCI_RUNNING;
-- hci_usb_unlink_urbs(husb);
-+ for (i=0; i < 4; i++) {
-+ struct _urb *_urb;
-+ struct urb *urb;
-+
-+ /* Kill pending requests */
-+ while ((_urb = _urb_dequeue(&husb->pending_q[i]))) {
-+ urb = &_urb->urb;
-+ BT_DBG("%s unlinking _urb %p type %d urb %p",
-+ husb->hdev.name, _urb, _urb->type, urb);
-+ usb_unlink_urb(urb);
-+ _urb_queue_tail(__completed_q(husb, _urb->type), _urb);
-+ }
-
-- hci_usb_flush(hdev);
-+ /* Release completed requests */
-+ while ((_urb = _urb_dequeue(&husb->completed_q[i]))) {
-+ urb = &_urb->urb;
-+ BT_DBG("%s freeing _urb %p type %d urb %p",
-+ husb->hdev.name, _urb, _urb->type, urb);
-+ if (urb->setup_packet)
-+ kfree(urb->setup_packet);
-+ if (urb->transfer_buffer)
-+ kfree(urb->transfer_buffer);
-+ _urb_free(_urb);
-+ }
-
-- return 0;
-+ /* Release reassembly buffers */
-+ if (husb->reassembly[i]) {
-+ kfree_skb(husb->reassembly[i]);
-+ husb->reassembly[i] = NULL;
-+ }
-+ }
- }
-
--void hci_usb_ctrl_wakeup(struct hci_usb *husb)
-+/* Close device */
-+static int hci_usb_close(struct hci_dev *hdev)
- {
-- struct sk_buff *skb;
-+ struct hci_usb *husb = (struct hci_usb *) hdev->driver_data;
-+ unsigned long flags;
-+
-+ if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
-+ return 0;
-
-- if (test_and_set_bit(HCI_TX_CTRL, &husb->tx_state))
-- return;
-+ BT_DBG("%s", hdev->name);
-
-- DBG("%s", husb->hdev.name);
-+ write_lock_irqsave(&husb->completion_lock, flags);
-+
-+ hci_usb_unlink_urbs(husb);
-+ hci_usb_flush(hdev);
-
-- if (!(skb = skb_dequeue(&husb->tx_ctrl_q)))
-- goto done;
-+ write_unlock_irqrestore(&husb->completion_lock, flags);
-
-- if (hci_usb_ctrl_msg(husb, skb)){
-- kfree_skb(skb);
-- goto done;
-- }
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-
-- DMP(skb->data, skb->len);
-+static int __tx_submit(struct hci_usb *husb, struct _urb *_urb)
-+{
-+ struct urb *urb = &_urb->urb;
-+ int err;
-
-- husb->hdev.stat.byte_tx += skb->len;
-- return;
-+ BT_DBG("%s urb %p type %d", husb->hdev.name, urb, _urb->type);
-+
-+ _urb_queue_tail(__pending_q(husb, _urb->type), _urb);
-+ err = usb_submit_urb(urb);
-+ if (err) {
-+ BT_ERR("%s tx submit failed urb %p type %d err %d",
-+ husb->hdev.name, urb, _urb->type, err);
-+ _urb_unlink(_urb);
-+ _urb_queue_tail(__completed_q(husb, _urb->type), _urb);
-+ } else
-+ atomic_inc(__pending_tx(husb, _urb->type));
-
--done:
-- clear_bit(HCI_TX_CTRL, &husb->tx_state);
-- return;
-+ return err;
- }
-
--void hci_usb_write_wakeup(struct hci_usb *husb)
-+static inline int hci_usb_send_ctrl(struct hci_usb *husb, struct sk_buff *skb)
- {
-- struct sk_buff *skb;
-+ struct _urb *_urb = __get_completed(husb, skb->pkt_type);
-+ devrequest *dr;
-+ struct urb *urb;
-+
-+ if (!_urb) {
-+ _urb = _urb_alloc(0, GFP_ATOMIC);
-+ if (!_urb)
-+ return -ENOMEM;
-+ _urb->type = skb->pkt_type;
-+
-+ dr = kmalloc(sizeof(*dr), GFP_ATOMIC);
-+ if (!dr) {
-+ _urb_free(_urb);
-+ return -ENOMEM;
-+ }
-+ } else
-+ dr = (void *) _urb->urb.setup_packet;
-
-- if (test_and_set_bit(HCI_TX_WRITE, &husb->tx_state))
-- return;
-+ dr->requesttype = husb->ctrl_req;
-+ dr->request = 0;
-+ dr->index = 0;
-+ dr->value = 0;
-+ dr->length = __cpu_to_le16(skb->len);
-
-- DBG("%s", husb->hdev.name);
-+ urb = &_urb->urb;
-+ FILL_CONTROL_URB(urb, husb->udev, usb_sndctrlpipe(husb->udev, 0),
-+ (void *) dr, skb->data, skb->len, hci_usb_tx_complete, husb);
-
-- if (!(skb = skb_dequeue(&husb->tx_write_q)))
-- goto done;
-+ BT_DBG("%s skb %p len %d", husb->hdev.name, skb, skb->len);
-+
-+ _urb->priv = skb;
-+ return __tx_submit(husb, _urb);
-+}
-
-- if (hci_usb_write_msg(husb, skb)) {
-- skb_queue_head(&husb->tx_write_q, skb);
-- goto done;
-+static inline int hci_usb_send_bulk(struct hci_usb *husb, struct sk_buff *skb)
-+{
-+ struct _urb *_urb = __get_completed(husb, skb->pkt_type);
-+ struct urb *urb;
-+ int pipe;
-+
-+ if (!_urb) {
-+ _urb = _urb_alloc(0, GFP_ATOMIC);
-+ if (!_urb)
-+ return -ENOMEM;
-+ _urb->type = skb->pkt_type;
- }
-
-- DMP(skb->data, skb->len);
-+ urb = &_urb->urb;
-+ pipe = usb_sndbulkpipe(husb->udev, husb->bulk_out_ep->bEndpointAddress);
-+ FILL_BULK_URB(urb, husb->udev, pipe, skb->data, skb->len,
-+ hci_usb_tx_complete, husb);
-+ urb->transfer_flags = USB_QUEUE_BULK | USB_ZERO_PACKET;
-
-- husb->hdev.stat.byte_tx += skb->len;
-- return;
-+ BT_DBG("%s skb %p len %d", husb->hdev.name, skb, skb->len);
-
--done:
-- clear_bit(HCI_TX_WRITE, &husb->tx_state);
-- return;
-+ _urb->priv = skb;
-+ return __tx_submit(husb, _urb);
- }
-
--/* Send frames from HCI layer */
--int hci_usb_send_frame(struct sk_buff *skb)
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+static inline int hci_usb_send_isoc(struct hci_usb *husb, struct sk_buff *skb)
- {
-- struct hci_dev *hdev = (struct hci_dev *) skb->dev;
-- struct hci_usb *husb;
--
-- if (!hdev) {
-- ERR("frame for uknown device (hdev=NULL)");
-- return -ENODEV;
-+ struct _urb *_urb = __get_completed(husb, skb->pkt_type);
-+ struct urb *urb;
-+
-+ if (!_urb) {
-+ _urb = _urb_alloc(HCI_MAX_ISOC_FRAMES, GFP_ATOMIC);
-+ if (!_urb)
-+ return -ENOMEM;
-+ _urb->type = skb->pkt_type;
- }
-
-- if (!(hdev->flags & HCI_RUNNING))
-- return 0;
-+ BT_DBG("%s skb %p len %d", husb->hdev.name, skb, skb->len);
-
-- husb = (struct hci_usb *) hdev->driver_data;
-+ urb = &_urb->urb;
-+
-+ urb->context = husb;
-+ urb->dev = husb->udev;
-+ urb->pipe = usb_sndisocpipe(husb->udev, husb->isoc_out_ep->bEndpointAddress);
-+ urb->complete = hci_usb_tx_complete;
-+ urb->transfer_flags = USB_ISO_ASAP;
-
-- DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
-+ urb->transfer_buffer = skb->data;
-+ urb->transfer_buffer_length = skb->len;
-+
-+ __fill_isoc_desc(urb, skb->len, husb->isoc_out_ep->wMaxPacketSize);
-
-- switch (skb->pkt_type) {
-- case HCI_COMMAND_PKT:
-- skb_queue_tail(&husb->tx_ctrl_q, skb);
-- hci_usb_ctrl_wakeup(husb);
-- hdev->stat.cmd_tx++;
-- return 0;
--
-- case HCI_ACLDATA_PKT:
-- skb_queue_tail(&husb->tx_write_q, skb);
-- hci_usb_write_wakeup(husb);
-- hdev->stat.acl_tx++;
-- return 0;
--
-- case HCI_SCODATA_PKT:
-- return -EOPNOTSUPP;
-- };
--
-- return 0;
-+ _urb->priv = skb;
-+ return __tx_submit(husb, _urb);
- }
-+#endif
-
--/* ---------- USB ------------- */
--
--static void hci_usb_ctrl(struct urb *urb)
-+static void hci_usb_tx_process(struct hci_usb *husb)
- {
-- struct sk_buff *skb = (struct sk_buff *) urb->context;
-- struct hci_dev *hdev;
-- struct hci_usb *husb;
-+ struct sk_buff_head *q;
-+ struct sk_buff *skb;
-
-- if (!skb)
-- return;
-- hdev = (struct hci_dev *) skb->dev;
-- husb = (struct hci_usb *) hdev->driver_data;
-+ BT_DBG("%s", husb->hdev.name);
-
-- DBG("%s", hdev->name);
-+ do {
-+ clear_bit(HCI_USB_TX_WAKEUP, &husb->state);
-
-- if (urb->status)
-- DBG("%s ctrl status: %d", hdev->name, urb->status);
-+ /* Process command queue */
-+ q = __transmit_q(husb, HCI_COMMAND_PKT);
-+ if (!atomic_read(__pending_tx(husb, HCI_COMMAND_PKT)) &&
-+ (skb = skb_dequeue(q))) {
-+ if (hci_usb_send_ctrl(husb, skb) < 0)
-+ skb_queue_head(q, skb);
-+ }
-
-- clear_bit(HCI_TX_CTRL, &husb->tx_state);
-- kfree_skb(skb);
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ /* Process SCO queue */
-+ q = __transmit_q(husb, HCI_SCODATA_PKT);
-+ if (atomic_read(__pending_tx(husb, HCI_SCODATA_PKT)) < HCI_MAX_ISOC_TX &&
-+ (skb = skb_dequeue(q))) {
-+ if (hci_usb_send_isoc(husb, skb) < 0)
-+ skb_queue_head(q, skb);
-+ }
-+#endif
-+
-+ /* Process ACL queue */
-+ q = __transmit_q(husb, HCI_ACLDATA_PKT);
-+ while (atomic_read(__pending_tx(husb, HCI_ACLDATA_PKT)) < HCI_MAX_BULK_TX &&
-+ (skb = skb_dequeue(q))) {
-+ if (hci_usb_send_bulk(husb, skb) < 0) {
-+ skb_queue_head(q, skb);
-+ break;
-+ }
-+ }
-+ } while(test_bit(HCI_USB_TX_WAKEUP, &husb->state));
-+}
-
-- /* Wake up device */
-- hci_usb_ctrl_wakeup(husb);
-+static inline void hci_usb_tx_wakeup(struct hci_usb *husb)
-+{
-+ /* Serialize TX queue processing to avoid data reordering */
-+ if (!test_and_set_bit(HCI_USB_TX_PROCESS, &husb->state)) {
-+ hci_usb_tx_process(husb);
-+ clear_bit(HCI_USB_TX_PROCESS, &husb->state);
-+ } else
-+ set_bit(HCI_USB_TX_WAKEUP, &husb->state);
- }
-
--static void hci_usb_bulk_write(struct urb *urb)
-+/* Send frames from HCI layer */
-+static int hci_usb_send_frame(struct sk_buff *skb)
- {
-- struct sk_buff *skb = (struct sk_buff *) urb->context;
-- struct hci_dev *hdev;
-+ struct hci_dev *hdev = (struct hci_dev *) skb->dev;
- struct hci_usb *husb;
-
-- if (!skb)
-- return;
-- hdev = (struct hci_dev *) skb->dev;
-- husb = (struct hci_usb *) hdev->driver_data;
-+ if (!hdev) {
-+ BT_ERR("frame for uknown device (hdev=NULL)");
-+ return -ENODEV;
-+ }
-
-- DBG("%s", hdev->name);
-+ if (!test_bit(HCI_RUNNING, &hdev->flags))
-+ return -EBUSY;
-
-- if (urb->status)
-- DBG("%s bulk write status: %d", hdev->name, urb->status);
-+ BT_DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
-
-- clear_bit(HCI_TX_WRITE, &husb->tx_state);
-- kfree_skb(skb);
-+ husb = (struct hci_usb *) hdev->driver_data;
-
-- /* Wake up device */
-- hci_usb_write_wakeup(husb);
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ break;
-+#endif
-
-- return;
--}
-+ default:
-+ kfree_skb(skb);
-+ return 0;
-+ }
-
--static void hci_usb_intr(struct urb *urb)
--{
-- struct hci_usb *husb = (struct hci_usb *) urb->context;
-- unsigned char *data = urb->transfer_buffer;
-- register int count = urb->actual_length;
-- register struct sk_buff *skb = husb->intr_skb;
-- hci_event_hdr *eh;
-- register int len;
-+ read_lock(&husb->completion_lock);
-
-- if (!husb)
-- return;
-+ skb_queue_tail(__transmit_q(husb, skb->pkt_type), skb);
-+ hci_usb_tx_wakeup(husb);
-
-- DBG("%s count %d", husb->hdev.name, count);
-+ read_unlock(&husb->completion_lock);
-+ return 0;
-+}
-
-- if (urb->status || !count) {
-- DBG("%s intr status %d, count %d", husb->hdev.name, urb->status, count);
-- return;
-- }
-+static inline int __recv_frame(struct hci_usb *husb, int type, void *data, int count)
-+{
-+ BT_DBG("%s type %d data %p count %d", husb->hdev.name, type, data, count);
-
-- /* Do we really have to handle continuations here ? */
-- if (!skb) {
-- /* New frame */
-- if (count < HCI_EVENT_HDR_SIZE) {
-- DBG("%s bad frame len %d", husb->hdev.name, count);
-- return;
-- }
-+ husb->hdev.stat.byte_rx += count;
-
-- eh = (hci_event_hdr *) data;
-- len = eh->plen + HCI_EVENT_HDR_SIZE;
-+ while (count) {
-+ struct sk_buff *skb = __reassembly(husb, type);
-+ struct { int expect; } *scb;
-+ int len = 0;
-+
-+ if (!skb) {
-+ /* Start of the frame */
-+
-+ switch (type) {
-+ case HCI_EVENT_PKT:
-+ if (count >= HCI_EVENT_HDR_SIZE) {
-+ hci_event_hdr *h = data;
-+ len = HCI_EVENT_HDR_SIZE + h->plen;
-+ } else
-+ return -EILSEQ;
-+ break;
-
-- if (count > len) {
-- DBG("%s corrupted frame, len %d", husb->hdev.name, count);
-- return;
-- }
-+ case HCI_ACLDATA_PKT:
-+ if (count >= HCI_ACL_HDR_SIZE) {
-+ hci_acl_hdr *h = data;
-+ len = HCI_ACL_HDR_SIZE + __le16_to_cpu(h->dlen);
-+ } else
-+ return -EILSEQ;
-+ break;
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ case HCI_SCODATA_PKT:
-+ if (count >= HCI_SCO_HDR_SIZE) {
-+ hci_sco_hdr *h = data;
-+ len = HCI_SCO_HDR_SIZE + h->dlen;
-+ } else
-+ return -EILSEQ;
-+ break;
-+#endif
-+ }
-+ BT_DBG("new packet len %d", len);
-
-- /* Allocate skb */
-- if (!(skb = bluez_skb_alloc(len, GFP_ATOMIC))) {
-- ERR("Can't allocate mem for new packet");
-- return;
-+ skb = bluez_skb_alloc(len, GFP_ATOMIC);
-+ if (!skb) {
-+ BT_ERR("%s no memory for the packet", husb->hdev.name);
-+ return -ENOMEM;
-+ }
-+ skb->dev = (void *) &husb->hdev;
-+ skb->pkt_type = type;
-+
-+ __reassembly(husb, type) = skb;
-+
-+ scb = (void *) skb->cb;
-+ scb->expect = len;
-+ } else {
-+ /* Continuation */
-+ scb = (void *) skb->cb;
-+ len = scb->expect;
- }
-- skb->dev = (void *) &husb->hdev;
-- skb->pkt_type = HCI_EVENT_PKT;
--
-- husb->intr_skb = skb;
-- husb->intr_count = len;
-- } else {
-- /* Continuation */
-- if (count > husb->intr_count) {
-- ERR("%s bad frame len %d (expected %d)", husb->hdev.name, count, husb->intr_count);
-
-- kfree_skb(skb);
-- husb->intr_skb = NULL;
-- husb->intr_count = 0;
-- return;
-+ len = min(len, count);
-+
-+ memcpy(skb_put(skb, len), data, len);
-+
-+ scb->expect -= len;
-+ if (!scb->expect) {
-+ /* Complete frame */
-+ __reassembly(husb, type) = NULL;
-+ hci_recv_frame(skb);
- }
-- }
--
-- memcpy(skb_put(skb, count), data, count);
-- husb->intr_count -= count;
--
-- DMP(data, count);
--
-- if (!husb->intr_count) {
-- /* Got complete frame */
-
-- husb->hdev.stat.byte_rx += skb->len;
-- hci_recv_frame(skb);
--
-- husb->intr_skb = NULL;
-+ count -= len; data += len;
- }
-+ return 0;
- }
-
--static void hci_usb_bulk_read(struct urb *urb)
-+static void hci_usb_rx_complete(struct urb *urb)
- {
-- struct hci_usb *husb = (struct hci_usb *) urb->context;
-- unsigned char *data = urb->transfer_buffer;
-- int count = urb->actual_length, status;
-- struct sk_buff *skb;
-- hci_acl_hdr *ah;
-- register __u16 dlen;
--
-- if (!husb)
-- return;
-+ struct _urb *_urb = container_of(urb, struct _urb, urb);
-+ struct hci_usb *husb = (void *) urb->context;
-+ struct hci_dev *hdev = &husb->hdev;
-+ int err, count = urb->actual_length;
-
-- DBG("%s status %d, count %d, flags %x", husb->hdev.name, urb->status, count, urb->transfer_flags);
-+ BT_DBG("%s urb %p type %d status %d count %d flags %x", hdev->name, urb,
-+ _urb->type, urb->status, count, urb->transfer_flags);
-
-- if (urb->status) {
-- /* Do not re-submit URB on critical errors */
-- switch (urb->status) {
-- case -ENOENT:
-- return;
-- default:
-- goto resubmit;
-- };
-- }
-- if (!count)
-- goto resubmit;
--
-- DMP(data, count);
-+ read_lock(&husb->completion_lock);
-
-- ah = (hci_acl_hdr *) data;
-- dlen = le16_to_cpu(ah->dlen);
-+ if (!test_bit(HCI_RUNNING, &hdev->flags))
-+ goto unlock;
-
-- /* Verify frame len and completeness */
-- if ((count - HCI_ACL_HDR_SIZE) != dlen) {
-- ERR("%s corrupted ACL packet: count %d, plen %d", husb->hdev.name, count, dlen);
-+ if (urb->status || !count)
- goto resubmit;
-- }
-
-- /* Allocate packet */
-- if (!(skb = bluez_skb_alloc(count, GFP_ATOMIC))) {
-- ERR("Can't allocate mem for new packet");
-- goto resubmit;
-+ if (_urb->type == HCI_SCODATA_PKT) {
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ int i;
-+ for (i=0; i < urb->number_of_packets; i++) {
-+ BT_DBG("desc %d status %d offset %d len %d", i,
-+ urb->iso_frame_desc[i].status,
-+ urb->iso_frame_desc[i].offset,
-+ urb->iso_frame_desc[i].actual_length);
-+
-+ if (!urb->iso_frame_desc[i].status)
-+ __recv_frame(husb, _urb->type,
-+ urb->transfer_buffer + urb->iso_frame_desc[i].offset,
-+ urb->iso_frame_desc[i].actual_length);
-+ }
-+#else
-+ ;
-+#endif
-+ } else {
-+ err = __recv_frame(husb, _urb->type, urb->transfer_buffer, count);
-+ if (err < 0) {
-+ BT_ERR("%s corrupted packet: type %d count %d",
-+ husb->hdev.name, _urb->type, count);
-+ hdev->stat.err_rx++;
-+ }
- }
-
-- memcpy(skb_put(skb, count), data, count);
-- skb->dev = (void *) &husb->hdev;
-- skb->pkt_type = HCI_ACLDATA_PKT;
--
-- husb->hdev.stat.byte_rx += skb->len;
--
-- hci_recv_frame(skb);
--
- resubmit:
-- husb->read_urb->dev = husb->udev;
-- if ((status = usb_submit_urb(husb->read_urb)))
-- DBG("%s read URB submit failed %d", husb->hdev.name, status);
-+ if (_urb->type != HCI_EVENT_PKT) {
-+ urb->dev = husb->udev;
-+ err = usb_submit_urb(urb);
-+ BT_DBG("%s urb %p type %d resubmit status %d", hdev->name, urb,
-+ _urb->type, err);
-+ }
-
-- DBG("%s read URB re-submited", husb->hdev.name);
-+unlock:
-+ read_unlock(&husb->completion_lock);
- }
-
--static int hci_usb_ctrl_msg(struct hci_usb *husb, struct sk_buff *skb)
-+static void hci_usb_tx_complete(struct urb *urb)
- {
-- struct urb *urb = husb->ctrl_urb;
-- devrequest *dr = &husb->dev_req;
-- int pipe, status;
-+ struct _urb *_urb = container_of(urb, struct _urb, urb);
-+ struct hci_usb *husb = (void *) urb->context;
-+ struct hci_dev *hdev = &husb->hdev;
-
-- DBG("%s len %d", husb->hdev.name, skb->len);
-+ BT_DBG("%s urb %p status %d flags %x", hdev->name, urb,
-+ urb->status, urb->transfer_flags);
-
-- pipe = usb_sndctrlpipe(husb->udev, 0);
-+ atomic_dec(__pending_tx(husb, _urb->type));
-
-- dr->requesttype = HCI_CTRL_REQ;
-- dr->request = 0;
-- dr->index = 0;
-- dr->value = 0;
-- dr->length = cpu_to_le16(skb->len);
--
-- FILL_CONTROL_URB(urb, husb->udev, pipe, (void*)dr, skb->data, skb->len,
-- hci_usb_ctrl, skb);
-+ urb->transfer_buffer = NULL;
-+ kfree_skb((struct sk_buff *) _urb->priv);
-
-- if ((status = usb_submit_urb(urb))) {
-- DBG("%s control URB submit failed %d", husb->hdev.name, status);
-- return status;
-- }
-+ if (!test_bit(HCI_RUNNING, &hdev->flags))
-+ return;
-
-- return 0;
--}
-+ if (!urb->status)
-+ hdev->stat.byte_tx += urb->transfer_buffer_length;
-+ else
-+ hdev->stat.err_tx++;
-
--static int hci_usb_write_msg(struct hci_usb *husb, struct sk_buff *skb)
--{
-- struct urb *urb = husb->write_urb;
-- int pipe, status;
-+ read_lock(&husb->completion_lock);
-
-- DBG("%s len %d", husb->hdev.name, skb->len);
-+ _urb_unlink(_urb);
-+ _urb_queue_tail(__completed_q(husb, _urb->type), _urb);
-
-- pipe = usb_sndbulkpipe(husb->udev, husb->bulk_out_ep_addr);
-+ hci_usb_tx_wakeup(husb);
-+
-+ read_unlock(&husb->completion_lock);
-+}
-
-- FILL_BULK_URB(urb, husb->udev, pipe, skb->data, skb->len,
-- hci_usb_bulk_write, skb);
-- urb->transfer_flags |= USB_QUEUE_BULK;
-+static void hci_usb_destruct(struct hci_dev *hdev)
-+{
-+ struct hci_usb *husb = (struct hci_usb *) hdev->driver_data;
-
-- if ((status = usb_submit_urb(urb))) {
-- DBG("%s write URB submit failed %d", husb->hdev.name, status);
-- return status;
-- }
-+ BT_DBG("%s", hdev->name);
-
-- return 0;
-+ kfree(husb);
- }
-
--static void * hci_usb_probe(struct usb_device *udev, unsigned int ifnum, const struct usb_device_id *id)
-+static void *hci_usb_probe(struct usb_device *udev, unsigned int ifnum, const struct usb_device_id *id)
- {
-- struct usb_endpoint_descriptor *bulk_out_ep, *intr_in_ep, *bulk_in_ep;
-+ struct usb_endpoint_descriptor *bulk_out_ep[HCI_MAX_IFACE_NUM];
-+ struct usb_endpoint_descriptor *isoc_out_ep[HCI_MAX_IFACE_NUM];
-+ struct usb_endpoint_descriptor *bulk_in_ep[HCI_MAX_IFACE_NUM];
-+ struct usb_endpoint_descriptor *isoc_in_ep[HCI_MAX_IFACE_NUM];
-+ struct usb_endpoint_descriptor *intr_in_ep[HCI_MAX_IFACE_NUM];
- struct usb_interface_descriptor *uif;
- struct usb_endpoint_descriptor *ep;
-+ struct usb_interface *iface, *isoc_iface;
- struct hci_usb *husb;
- struct hci_dev *hdev;
-- int i, size, pipe;
-- __u8 * buf;
-+ int i, a, e, size, ifn, isoc_ifnum, isoc_alts;
-
-- DBG("udev %p ifnum %d", udev, ifnum);
-+ BT_DBG("udev %p ifnum %d", udev, ifnum);
-
-- /* Check device signature */
-- if ((udev->descriptor.bDeviceClass != HCI_DEV_CLASS) ||
-- (udev->descriptor.bDeviceSubClass != HCI_DEV_SUBCLASS)||
-- (udev->descriptor.bDeviceProtocol != HCI_DEV_PROTOCOL) )
-- return NULL;
-+ iface = &udev->actconfig->interface[0];
-
-- MOD_INC_USE_COUNT;
--
-- uif = &udev->actconfig->interface[ifnum].altsetting[0];
-+ if (!id->driver_info) {
-+ const struct usb_device_id *match;
-+ match = usb_match_id(udev, iface, blacklist_ids);
-+ if (match)
-+ id = match;
-+ }
-
-- if (uif->bNumEndpoints != 3) {
-- DBG("Wrong number of endpoints %d", uif->bNumEndpoints);
-- MOD_DEC_USE_COUNT;
-+ if (id->driver_info & HCI_IGNORE)
- return NULL;
-- }
-
-- bulk_out_ep = intr_in_ep = bulk_in_ep = NULL;
-+ /* Check number of endpoints */
-+ if (udev->actconfig->interface[ifnum].altsetting[0].bNumEndpoints < 3)
-+ return NULL;
-
-+ memset(bulk_out_ep, 0, sizeof(bulk_out_ep));
-+ memset(isoc_out_ep, 0, sizeof(isoc_out_ep));
-+ memset(bulk_in_ep, 0, sizeof(bulk_in_ep));
-+ memset(isoc_in_ep, 0, sizeof(isoc_in_ep));
-+ memset(intr_in_ep, 0, sizeof(intr_in_ep));
-+
-+ size = 0;
-+ isoc_iface = NULL;
-+ isoc_alts = isoc_ifnum = 0;
-+
- /* Find endpoints that we need */
-- for ( i = 0; i < uif->bNumEndpoints; ++i) {
-- ep = &uif->endpoint[i];
-
-- switch (ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
-- case USB_ENDPOINT_XFER_BULK:
-- if (ep->bEndpointAddress & USB_DIR_IN)
-- bulk_in_ep = ep;
-- else
-- bulk_out_ep = ep;
-- break;
-+ ifn = MIN(udev->actconfig->bNumInterfaces, HCI_MAX_IFACE_NUM);
-+ for (i = 0; i < ifn; i++) {
-+ iface = &udev->actconfig->interface[i];
-+ for (a = 0; a < iface->num_altsetting; a++) {
-+ uif = &iface->altsetting[a];
-+ for (e = 0; e < uif->bNumEndpoints; e++) {
-+ ep = &uif->endpoint[e];
-+
-+ switch (ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
-+ case USB_ENDPOINT_XFER_INT:
-+ if (ep->bEndpointAddress & USB_DIR_IN)
-+ intr_in_ep[i] = ep;
-+ break;
-+
-+ case USB_ENDPOINT_XFER_BULK:
-+ if (ep->bEndpointAddress & USB_DIR_IN)
-+ bulk_in_ep[i] = ep;
-+ else
-+ bulk_out_ep[i] = ep;
-+ break;
-+
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ case USB_ENDPOINT_XFER_ISOC:
-+ if (ep->wMaxPacketSize < size || a > 2)
-+ break;
-+ size = ep->wMaxPacketSize;
-+
-+ isoc_iface = iface;
-+ isoc_alts = a;
-+ isoc_ifnum = i;
-+
-+ if (ep->bEndpointAddress & USB_DIR_IN)
-+ isoc_in_ep[i] = ep;
-+ else
-+ isoc_out_ep[i] = ep;
-+ break;
-+#endif
-+ }
-+ }
-+ }
-+ }
-
-- case USB_ENDPOINT_XFER_INT:
-- intr_in_ep = ep;
-- break;
-- };
-+ if (!bulk_in_ep[0] || !bulk_out_ep[0] || !intr_in_ep[0]) {
-+ BT_DBG("Bulk endpoints not found");
-+ goto done;
- }
-
-- if (!bulk_in_ep || !bulk_out_ep || !intr_in_ep) {
-- DBG("Endpoints not found: %p %p %p", bulk_in_ep, bulk_out_ep, intr_in_ep);
-- MOD_DEC_USE_COUNT;
-- return NULL;
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ if (id->driver_info & HCI_BROKEN_ISOC || !isoc_in_ep[1] || !isoc_out_ep[1]) {
-+ BT_DBG("Isoc endpoints not found");
-+ isoc_iface = NULL;
- }
-+#endif
-
- if (!(husb = kmalloc(sizeof(struct hci_usb), GFP_KERNEL))) {
-- ERR("Can't allocate: control structure");
-- MOD_DEC_USE_COUNT;
-- return NULL;
-+ BT_ERR("Can't allocate: control structure");
-+ goto done;
- }
-
- memset(husb, 0, sizeof(struct hci_usb));
-
- husb->udev = udev;
-- husb->bulk_out_ep_addr = bulk_out_ep->bEndpointAddress;
--
-- if (!(husb->ctrl_urb = usb_alloc_urb(0))) {
-- ERR("Can't allocate: control URB");
-- goto probe_error;
-- }
--
-- if (!(husb->write_urb = usb_alloc_urb(0))) {
-- ERR("Can't allocate: write URB");
-- goto probe_error;
-- }
--
-- if (!(husb->read_urb = usb_alloc_urb(0))) {
-- ERR("Can't allocate: read URB");
-- goto probe_error;
-- }
--
-- ep = bulk_in_ep;
-- pipe = usb_rcvbulkpipe(udev, ep->bEndpointAddress);
-- size = HCI_MAX_FRAME_SIZE;
--
-- if (!(buf = kmalloc(size, GFP_KERNEL))) {
-- ERR("Can't allocate: read buffer");
-- goto probe_error;
-- }
--
-- FILL_BULK_URB(husb->read_urb, udev, pipe, buf, size, hci_usb_bulk_read, husb);
-- husb->read_urb->transfer_flags |= USB_QUEUE_BULK;
--
-- ep = intr_in_ep;
-- pipe = usb_rcvintpipe(udev, ep->bEndpointAddress);
-- size = usb_maxpacket(udev, pipe, usb_pipeout(pipe));
--
-- if (!(husb->intr_urb = usb_alloc_urb(0))) {
-- ERR("Can't allocate: interrupt URB");
-- goto probe_error;
-+ husb->bulk_out_ep = bulk_out_ep[0];
-+ husb->bulk_in_ep = bulk_in_ep[0];
-+ husb->intr_in_ep = intr_in_ep[0];
-+
-+ if (id->driver_info & HCI_DIGIANSWER)
-+ husb->ctrl_req = HCI_DIGI_REQ;
-+ else
-+ husb->ctrl_req = HCI_CTRL_REQ;
-+
-+#ifdef CONFIG_BLUEZ_HCIUSB_SCO
-+ if (isoc_iface) {
-+ BT_DBG("isoc ifnum %d alts %d", isoc_ifnum, isoc_alts);
-+ if (usb_set_interface(udev, isoc_ifnum, isoc_alts)) {
-+ BT_ERR("Can't set isoc interface settings");
-+ isoc_iface = NULL;
-+ }
-+ usb_driver_claim_interface(&hci_usb_driver, isoc_iface, husb);
-+ husb->isoc_iface = isoc_iface;
-+ husb->isoc_in_ep = isoc_in_ep[isoc_ifnum];
-+ husb->isoc_out_ep = isoc_out_ep[isoc_ifnum];
- }
-+#endif
-+
-+ husb->completion_lock = RW_LOCK_UNLOCKED;
-
-- if (!(buf = kmalloc(size, GFP_KERNEL))) {
-- ERR("Can't allocate: interrupt buffer");
-- goto probe_error;
-+ for (i = 0; i < 4; i++) {
-+ skb_queue_head_init(&husb->transmit_q[i]);
-+ _urb_queue_init(&husb->pending_q[i]);
-+ _urb_queue_init(&husb->completed_q[i]);
- }
-
-- FILL_INT_URB(husb->intr_urb, udev, pipe, buf, size, hci_usb_intr, husb, ep->bInterval);
--
-- skb_queue_head_init(&husb->tx_ctrl_q);
-- skb_queue_head_init(&husb->tx_write_q);
--
- /* Initialize and register HCI device */
- hdev = &husb->hdev;
-
-- hdev->type = HCI_USB;
-+ hdev->type = HCI_USB;
- hdev->driver_data = husb;
-
- hdev->open = hci_usb_open;
- hdev->close = hci_usb_close;
- hdev->flush = hci_usb_flush;
-- hdev->send = hci_usb_send_frame;
-+ hdev->send = hci_usb_send_frame;
-+ hdev->destruct = hci_usb_destruct;
-+
-+ if (id->driver_info & HCI_RESET)
-+ set_bit(HCI_QUIRK_RESET_ON_INIT, &hdev->quirks);
-
- if (hci_register_dev(hdev) < 0) {
-- ERR("Can't register HCI device %s", hdev->name);
-+ BT_ERR("Can't register HCI device");
- goto probe_error;
- }
-
- return husb;
-
- probe_error:
-- hci_usb_free_bufs(husb);
- kfree(husb);
-- MOD_DEC_USE_COUNT;
-+
-+done:
- return NULL;
- }
-
-@@ -626,38 +967,34 @@
- if (!husb)
- return;
-
-- DBG("%s", hdev->name);
-+ BT_DBG("%s", hdev->name);
-
- hci_usb_close(hdev);
-
-- if (hci_unregister_dev(hdev) < 0) {
-- ERR("Can't unregister HCI device %s", hdev->name);
-- }
-+ if (husb->isoc_iface)
-+ usb_driver_release_interface(&hci_usb_driver, husb->isoc_iface);
-
-- hci_usb_free_bufs(husb);
-- kfree(husb);
--
-- MOD_DEC_USE_COUNT;
-+ if (hci_unregister_dev(hdev) < 0)
-+ BT_ERR("Can't unregister HCI device %s", hdev->name);
- }
-
--static struct usb_driver hci_usb_driver =
--{
-+static struct usb_driver hci_usb_driver = {
- name: "hci_usb",
- probe: hci_usb_probe,
- disconnect: hci_usb_disconnect,
-- id_table: usb_bluetooth_ids,
-+ id_table: bluetooth_ids,
- };
-
- int hci_usb_init(void)
- {
- int err;
-
-- INF("BlueZ HCI USB driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
-+ BT_INFO("BlueZ HCI USB driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
-- INF("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-+ BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-
- if ((err = usb_register(&hci_usb_driver)) < 0)
-- ERR("Failed to register HCI USB driver");
-+ BT_ERR("Failed to register HCI USB driver");
-
- return err;
- }
-@@ -670,6 +1007,6 @@
- module_init(hci_usb_init);
- module_exit(hci_usb_cleanup);
-
--MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
-+MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>, Marcel Holtmann <marcel@holtmann.org>");
- MODULE_DESCRIPTION("BlueZ HCI USB driver ver " VERSION);
- MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/drivers/bluetooth/hci_usb.h linux-2.4.18-mh15/drivers/bluetooth/hci_usb.h
---- linux-2.4.18/drivers/bluetooth/hci_usb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_usb.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,147 @@
-+/*
-+ HCI USB driver for Linux Bluetooth protocol stack (BlueZ)
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
-+
-+ Copyright (C) 2003 Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: hci_usb.h,v 1.2 2002/03/18 19:10:04 maxk Exp $
-+ */
-+
-+#ifdef __KERNEL__
-+
-+/* Class, SubClass, and Protocol codes that describe a Bluetooth device */
-+#define HCI_DEV_CLASS 0xe0 /* Wireless class */
-+#define HCI_DEV_SUBCLASS 0x01 /* RF subclass */
-+#define HCI_DEV_PROTOCOL 0x01 /* Bluetooth programming protocol */
-+
-+#define HCI_CTRL_REQ 0x20
-+#define HCI_DIGI_REQ 0x40
-+
-+#define HCI_IGNORE 0x01
-+#define HCI_RESET 0x02
-+#define HCI_DIGIANSWER 0x04
-+#define HCI_BROKEN_ISOC 0x08
-+
-+#define HCI_MAX_IFACE_NUM 3
-+
-+#define HCI_MAX_BULK_TX 4
-+#define HCI_MAX_BULK_RX 1
-+
-+#define HCI_MAX_ISOC_RX 2
-+#define HCI_MAX_ISOC_TX 2
-+
-+#define HCI_MAX_ISOC_FRAMES 10
-+
-+struct _urb_queue {
-+ struct list_head head;
-+ spinlock_t lock;
-+};
-+
-+struct _urb {
-+ struct list_head list;
-+ struct _urb_queue *queue;
-+ int type;
-+ void *priv;
-+ struct urb urb;
-+};
-+
-+struct _urb *_urb_alloc(int isoc, int gfp);
-+
-+static inline void _urb_free(struct _urb *_urb)
-+{
-+ kfree(_urb);
-+}
-+
-+static inline void _urb_queue_init(struct _urb_queue *q)
-+{
-+ INIT_LIST_HEAD(&q->head);
-+ spin_lock_init(&q->lock);
-+}
-+
-+static inline void _urb_queue_head(struct _urb_queue *q, struct _urb *_urb)
-+{
-+ unsigned long flags;
-+ spin_lock_irqsave(&q->lock, flags);
-+ list_add(&_urb->list, &q->head); _urb->queue = q;
-+ spin_unlock_irqrestore(&q->lock, flags);
-+}
-+
-+static inline void _urb_queue_tail(struct _urb_queue *q, struct _urb *_urb)
-+{
-+ unsigned long flags;
-+ spin_lock_irqsave(&q->lock, flags);
-+ list_add_tail(&_urb->list, &q->head); _urb->queue = q;
-+ spin_unlock_irqrestore(&q->lock, flags);
-+}
-+
-+static inline void _urb_unlink(struct _urb *_urb)
-+{
-+ struct _urb_queue *q = _urb->queue;
-+ unsigned long flags;
-+ if (q) {
-+ spin_lock_irqsave(&q->lock, flags);
-+ list_del(&_urb->list); _urb->queue = NULL;
-+ spin_unlock_irqrestore(&q->lock, flags);
-+ }
-+}
-+
-+struct _urb *_urb_dequeue(struct _urb_queue *q);
-+
-+#ifndef container_of
-+#define container_of(ptr, type, member) ({ \
-+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-+ (type *)( (char *)__mptr - offsetof(type,member) );})
-+#endif
-+
-+struct hci_usb {
-+ struct hci_dev hdev;
-+
-+ unsigned long state;
-+
-+ struct usb_device *udev;
-+
-+ struct usb_endpoint_descriptor *bulk_in_ep;
-+ struct usb_endpoint_descriptor *bulk_out_ep;
-+ struct usb_endpoint_descriptor *intr_in_ep;
-+
-+ struct usb_interface *isoc_iface;
-+ struct usb_endpoint_descriptor *isoc_out_ep;
-+ struct usb_endpoint_descriptor *isoc_in_ep;
-+
-+ __u8 ctrl_req;
-+
-+ struct sk_buff_head transmit_q[4];
-+ struct sk_buff *reassembly[4]; // Reassembly buffers
-+
-+ rwlock_t completion_lock;
-+
-+ atomic_t pending_tx[4]; // Number of pending requests
-+ struct _urb_queue pending_q[4]; // Pending requests
-+ struct _urb_queue completed_q[4]; // Completed requests
-+};
-+
-+/* States */
-+#define HCI_USB_TX_PROCESS 1
-+#define HCI_USB_TX_WAKEUP 2
-+
-+#endif /* __KERNEL__ */
-diff -urN linux-2.4.18/drivers/bluetooth/hci_vhci.c linux-2.4.18-mh15/drivers/bluetooth/hci_vhci.c
---- linux-2.4.18/drivers/bluetooth/hci_vhci.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_vhci.c 2004-08-01 16:26:23.000000000 +0200
-@@ -25,9 +25,9 @@
- /*
- * BlueZ HCI virtual device driver.
- *
-- * $Id: hci_vhci.c,v 1.3 2001/08/03 04:19:50 maxk Exp $
-+ * $Id: hci_vhci.c,v 1.3 2002/04/17 17:37:20 maxk Exp $
- */
--#define VERSION "1.0"
-+#define VERSION "1.1"
-
- #include <linux/config.h>
- #include <linux/module.h>
-@@ -49,43 +49,56 @@
- #include <asm/uaccess.h>
-
- #include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
- #include <net/bluetooth/hci_core.h>
--#include <net/bluetooth/hci_vhci.h>
-+#include "hci_vhci.h"
-
- /* HCI device part */
-
--int hci_vhci_open(struct hci_dev *hdev)
-+static int hci_vhci_open(struct hci_dev *hdev)
- {
-- hdev->flags |= HCI_RUNNING;
-+ set_bit(HCI_RUNNING, &hdev->flags);
- return 0;
- }
-
--int hci_vhci_flush(struct hci_dev *hdev)
-+static int hci_vhci_flush(struct hci_dev *hdev)
- {
- struct hci_vhci_struct *hci_vhci = (struct hci_vhci_struct *) hdev->driver_data;
- skb_queue_purge(&hci_vhci->readq);
- return 0;
- }
-
--int hci_vhci_close(struct hci_dev *hdev)
-+static int hci_vhci_close(struct hci_dev *hdev)
- {
-- hdev->flags &= ~HCI_RUNNING;
-+ if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
-+ return 0;
-+
- hci_vhci_flush(hdev);
- return 0;
- }
-
--int hci_vhci_send_frame(struct sk_buff *skb)
-+static void hci_vhci_destruct(struct hci_dev *hdev)
-+{
-+ struct hci_vhci_struct *vhci;
-+
-+ if (!hdev) return;
-+
-+ vhci = (struct hci_vhci_struct *) hdev->driver_data;
-+ kfree(vhci);
-+
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static int hci_vhci_send_frame(struct sk_buff *skb)
- {
- struct hci_dev* hdev = (struct hci_dev *) skb->dev;
- struct hci_vhci_struct *hci_vhci;
-
- if (!hdev) {
-- ERR("Frame for uknown device (hdev=NULL)");
-+ BT_ERR("Frame for uknown device (hdev=NULL)");
- return -ENODEV;
- }
-
-- if (!(hdev->flags & HCI_RUNNING))
-+ if (!test_bit(HCI_RUNNING, &hdev->flags))
- return -EBUSY;
-
- hci_vhci = (struct hci_vhci_struct *) hdev->driver_data;
-@@ -188,7 +201,7 @@
-
- add_wait_queue(&hci_vhci->read_wait, &wait);
- while (count) {
-- current->state = TASK_INTERRUPTIBLE;
-+ set_current_state(TASK_INTERRUPTIBLE);
-
- /* Read frames from device queue */
- if (!(skb = skb_dequeue(&hci_vhci->readq))) {
-@@ -214,8 +227,7 @@
- kfree_skb(skb);
- break;
- }
--
-- current->state = TASK_RUNNING;
-+ set_current_state(TASK_RUNNING);
- remove_wait_queue(&hci_vhci->read_wait, &wait);
-
- return ret;
-@@ -270,11 +282,13 @@
- hdev->close = hci_vhci_close;
- hdev->flush = hci_vhci_flush;
- hdev->send = hci_vhci_send_frame;
-+ hdev->destruct = hci_vhci_destruct;
-
- if (hci_register_dev(hdev) < 0) {
- kfree(hci_vhci);
- return -EBUSY;
- }
-+ MOD_INC_USE_COUNT;
-
- file->private_data = hci_vhci;
- return 0;
-@@ -285,12 +299,10 @@
- struct hci_vhci_struct *hci_vhci = (struct hci_vhci_struct *) file->private_data;
-
- if (hci_unregister_dev(&hci_vhci->hdev) < 0) {
-- ERR("Can't unregister HCI device %s", hci_vhci->hdev.name);
-+ BT_ERR("Can't unregister HCI device %s", hci_vhci->hdev.name);
- }
-
-- kfree(hci_vhci);
- file->private_data = NULL;
--
- return 0;
- }
-
-@@ -315,12 +327,12 @@
-
- int __init hci_vhci_init(void)
- {
-- INF("BlueZ VHCI driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
-+ BT_INFO("BlueZ VHCI driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
-- INF("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-+ BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-
- if (misc_register(&hci_vhci_miscdev)) {
-- ERR("Can't register misc device %d\n", VHCI_MINOR);
-+ BT_ERR("Can't register misc device %d\n", VHCI_MINOR);
- return -EIO;
- }
-
-@@ -337,4 +349,4 @@
-
- MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
- MODULE_DESCRIPTION("BlueZ VHCI driver ver " VERSION);
--MODULE_LICENSE("GPL");
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/drivers/bluetooth/hci_vhci.h linux-2.4.18-mh15/drivers/bluetooth/hci_vhci.h
---- linux-2.4.18/drivers/bluetooth/hci_vhci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/hci_vhci.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,50 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: hci_vhci.h,v 1.1.1.1 2002/03/08 21:03:15 maxk Exp $
-+ */
-+
-+#ifndef __HCI_VHCI_H
-+#define __HCI_VHCI_H
-+
-+#ifdef __KERNEL__
-+
-+struct hci_vhci_struct {
-+ struct hci_dev hdev;
-+ __u32 flags;
-+ wait_queue_head_t read_wait;
-+ struct sk_buff_head readq;
-+ struct fasync_struct *fasync;
-+};
-+
-+/* VHCI device flags */
-+#define VHCI_FASYNC 0x0010
-+
-+#endif /* __KERNEL__ */
-+
-+#define VHCI_DEV "/dev/vhci"
-+#define VHCI_MINOR 250
-+
-+#endif /* __HCI_VHCI_H */
-diff -urN linux-2.4.18/drivers/bluetooth/Makefile linux-2.4.18-mh15/drivers/bluetooth/Makefile
---- linux-2.4.18/drivers/bluetooth/Makefile 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/bluetooth/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -1,11 +1,27 @@
- #
--# Makefile for Bluetooth HCI device drivers.
-+# Makefile for the Linux Bluetooth HCI device drivers
- #
-
- O_TARGET := bluetooth.o
-
-+list-multi := hci_uart.o
-+
- obj-$(CONFIG_BLUEZ_HCIUSB) += hci_usb.o
--obj-$(CONFIG_BLUEZ_HCIUART) += hci_uart.o
- obj-$(CONFIG_BLUEZ_HCIVHCI) += hci_vhci.o
-
-+obj-$(CONFIG_BLUEZ_HCIUART) += hci_uart.o
-+uart-y := hci_ldisc.o
-+uart-$(CONFIG_BLUEZ_HCIUART_H4) += hci_h4.o
-+uart-$(CONFIG_BLUEZ_HCIUART_BCSP) += hci_bcsp.o
-+
-+obj-$(CONFIG_BLUEZ_HCIBFUSB) += bfusb.o
-+
-+obj-$(CONFIG_BLUEZ_HCIDTL1) += dtl1_cs.o
-+obj-$(CONFIG_BLUEZ_HCIBT3C) += bt3c_cs.o
-+obj-$(CONFIG_BLUEZ_HCIBLUECARD) += bluecard_cs.o
-+obj-$(CONFIG_BLUEZ_HCIBTUART) += btuart_cs.o
-+
- include $(TOPDIR)/Rules.make
-+
-+hci_uart.o: $(uart-y)
-+ $(LD) -r -o $@ $(uart-y)
-diff -urN linux-2.4.18/drivers/bluetooth/Makefile.lib linux-2.4.18-mh15/drivers/bluetooth/Makefile.lib
---- linux-2.4.18/drivers/bluetooth/Makefile.lib 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/bluetooth/Makefile.lib 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,2 @@
-+obj-$(CONFIG_BLUEZ_HCIBFUSB) += firmware_class.o
-+obj-$(CONFIG_BLUEZ_HCIBT3C) += firmware_class.o
-diff -urN linux-2.4.18/drivers/char/pcmcia/serial_cs.c linux-2.4.18-mh15/drivers/char/pcmcia/serial_cs.c
---- linux-2.4.18/drivers/char/pcmcia/serial_cs.c 2001-12-21 18:41:54.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/char/pcmcia/serial_cs.c 2004-08-01 16:26:23.000000000 +0200
-@@ -2,7 +2,7 @@
-
- A driver for PCMCIA serial devices
-
-- serial_cs.c 1.128 2001/10/18 12:18:35
-+ serial_cs.c 1.138 2002/10/25 06:24:52
-
- The contents of this file are subject to the Mozilla Public
- License Version 1.1 (the "License"); you may not use this file
-@@ -69,14 +69,14 @@
- static int irq_list[4] = { -1 };
- MODULE_PARM(irq_list, "1-4i");
-
--/* Enable the speaker? */
--INT_MODULE_PARM(do_sound, 1);
-+INT_MODULE_PARM(do_sound, 1); /* Enable the speaker? */
-+INT_MODULE_PARM(buggy_uart, 0); /* Skip strict UART tests? */
-
- #ifdef PCMCIA_DEBUG
- INT_MODULE_PARM(pc_debug, PCMCIA_DEBUG);
- #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args)
- static char *version =
--"serial_cs.c 1.128 2001/10/18 12:18:35 (David Hinds)";
-+"serial_cs.c 1.138 2002/10/25 06:24:52 (David Hinds)";
- #else
- #define DEBUG(n, args...)
- #endif
-@@ -95,6 +95,7 @@
- { MANFID_OMEGA, PRODID_OMEGA_QSP_100, 4 },
- { MANFID_QUATECH, PRODID_QUATECH_DUAL_RS232, 2 },
- { MANFID_QUATECH, PRODID_QUATECH_DUAL_RS232_D1, 2 },
-+ { MANFID_QUATECH, PRODID_QUATECH_DUAL_RS232_D2, 2 },
- { MANFID_QUATECH, PRODID_QUATECH_QUAD_RS232, 4 },
- { MANFID_QUATECH, PRODID_QUATECH_DUAL_RS422, 2 },
- { MANFID_QUATECH, PRODID_QUATECH_QUAD_RS422, 4 },
-@@ -148,7 +149,7 @@
- client_reg_t client_reg;
- dev_link_t *link;
- int i, ret;
--
-+
- DEBUG(0, "serial_attach()\n");
-
- /* Create new serial device */
-@@ -160,7 +161,7 @@
- link->release.function = &serial_release;
- link->release.data = (u_long)link;
- link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-- link->io.NumPorts1 = 8;
-+ link->io.Attributes2 = IO_DATA_PATH_WIDTH_8;
- link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
- link->irq.IRQInfo1 = IRQ_INFO2_VALID|IRQ_LEVEL_ID;
- if (irq_list[0] == -1)
-@@ -169,13 +170,12 @@
- for (i = 0; i < 4; i++)
- link->irq.IRQInfo2 |= 1 << irq_list[i];
- link->conf.Attributes = CONF_ENABLE_IRQ;
-- link->conf.Vcc = 50;
- if (do_sound) {
- link->conf.Attributes |= CONF_ENABLE_SPKR;
- link->conf.Status = CCSR_AUDIO_ENA;
- }
- link->conf.IntType = INT_MEMORY_AND_IO;
--
-+
- /* Register with Card Services */
- link->next = dev_list;
- dev_list = link;
-@@ -194,7 +194,7 @@
- serial_detach(link);
- return NULL;
- }
--
-+
- return link;
- } /* serial_attach */
-
-@@ -214,7 +214,7 @@
- int ret;
-
- DEBUG(0, "serial_detach(0x%p)\n", link);
--
-+
- /* Locate device structure */
- for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
- if (*linkp == link) break;
-@@ -224,17 +224,17 @@
- del_timer(&link->release);
- if (link->state & DEV_CONFIG)
- serial_release((u_long)link);
--
-+
- if (link->handle) {
- ret = CardServices(DeregisterClient, link->handle);
- if (ret != CS_SUCCESS)
- cs_error(link->handle, DeregisterClient, ret);
- }
--
-+
- /* Unlink device structure, free bits */
- *linkp = link->next;
- kfree(info);
--
-+
- } /* serial_detach */
-
- /*====================================================================*/
-@@ -243,18 +243,20 @@
- {
- struct serial_struct serial;
- int line;
--
-+
- memset(&serial, 0, sizeof(serial));
- serial.port = port;
- serial.irq = irq;
- serial.flags = ASYNC_SKIP_TEST | ASYNC_SHARE_IRQ;
-+ if (buggy_uart)
-+ serial.flags |= ASYNC_BUGGY_UART;
- line = register_serial(&serial);
- if (line < 0) {
- printk(KERN_NOTICE "serial_cs: register_serial() at 0x%04lx,"
- " irq %d failed\n", (u_long)serial.port, serial.irq);
- return -1;
- }
--
-+
- info->line[info->ndev] = line;
- sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
- info->node[info->ndev].major = TTY_MAJOR;
-@@ -262,7 +264,7 @@
- if (info->ndev > 0)
- info->node[info->ndev-1].next = &info->node[info->ndev];
- info->ndev++;
--
-+
- return 0;
- }
-
-@@ -313,7 +315,10 @@
- return setup_serial(info, port, config.AssignedIRQ);
- }
- link->conf.Vcc = config.Vcc;
--
-+
-+ link->io.NumPorts1 = 8;
-+ link->io.NumPorts2 = 0;
-+
- /* First pass: look for a config entry that looks normal. */
- tuple.TupleData = (cisdata_t *)buf;
- tuple.TupleOffset = 0; tuple.TupleDataMax = 255;
-@@ -340,7 +345,7 @@
- i = next_tuple(handle, &tuple, &parse);
- }
- }
--
-+
- /* Second pass: try to find an entry that isn't picky about
- its base address, then try to grab any standard serial port
- address, and finally try to get any free port. */
-@@ -352,8 +357,7 @@
- for (j = 0; j < 5; j++) {
- link->io.BasePort1 = base[j];
- link->io.IOAddrLines = base[j] ? 16 : 3;
-- i = CardServices(RequestIO, link->handle,
-- &link->io);
-+ i = CardServices(RequestIO, link->handle, &link->io);
- if (i == CS_SUCCESS) goto found_port;
- }
- }
-@@ -365,7 +369,7 @@
- cs_error(link->handle, RequestIO, i);
- return -1;
- }
--
-+
- i = CardServices(RequestIRQ, link->handle, &link->irq);
- if (i != CS_SUCCESS) {
- cs_error(link->handle, RequestIRQ, i);
-@@ -390,8 +394,12 @@
- u_char buf[256];
- cisparse_t parse;
- cistpl_cftable_entry_t *cf = &parse.cftable_entry;
-+ config_info_t config;
- int i, base2 = 0;
-
-+ CardServices(GetConfigurationInfo, handle, &config);
-+ link->conf.Vcc = config.Vcc;
-+
- tuple.TupleData = (cisdata_t *)buf;
- tuple.TupleOffset = 0; tuple.TupleDataMax = 255;
- tuple.Attributes = 0;
-@@ -433,12 +441,12 @@
- i = next_tuple(handle, &tuple, &parse);
- }
- }
--
-+
- if (i != CS_SUCCESS) {
-- cs_error(link->handle, RequestIO, i);
-- return -1;
-+ /* At worst, try to configure as a single port */
-+ return simple_config(link);
- }
--
-+
- i = CardServices(RequestIRQ, link->handle, &link->irq);
- if (i != CS_SUCCESS) {
- cs_error(link->handle, RequestIRQ, i);
-@@ -454,14 +462,27 @@
- cs_error(link->handle, RequestConfiguration, i);
- return -1;
- }
--
-+
-+ /* The Oxford Semiconductor OXCF950 cards are in fact single-port:
-+ 8 registers are for the UART, the others are extra registers */
-+ if (info->manfid == MANFID_OXSEMI) {
-+ if (cf->index == 1 || cf->index == 3) {
-+ setup_serial(info, base2, link->irq.AssignedIRQ);
-+ outb(12,link->io.BasePort1+1);
-+ } else {
-+ setup_serial(info, link->io.BasePort1, link->irq.AssignedIRQ);
-+ outb(12,base2+1);
-+ }
-+ return 0;
-+ }
-+
- setup_serial(info, link->io.BasePort1, link->irq.AssignedIRQ);
- /* The Nokia cards are not really multiport cards */
- if (info->manfid == MANFID_NOKIA)
- return 0;
- for (i = 0; i < info->multi-1; i++)
- setup_serial(info, base2+(8*i), link->irq.AssignedIRQ);
--
-+
- return 0;
- }
-
-@@ -500,7 +521,7 @@
- }
- link->conf.ConfigBase = parse.config.base;
- link->conf.Present = parse.config.rmask[0];
--
-+
- /* Configure card */
- link->state |= DEV_CONFIG;
-
-@@ -508,8 +529,8 @@
- tuple.DesiredTuple = CISTPL_LONGLINK_MFC;
- tuple.Attributes = TUPLE_RETURN_COMMON | TUPLE_RETURN_LINK;
- info->multi = (first_tuple(handle, &tuple, &parse) == CS_SUCCESS);
--
-- /* Is this a multiport card? */
-+
-+ /* Scan list of known multiport card ID's */
- tuple.DesiredTuple = CISTPL_MANFID;
- if (first_tuple(handle, &tuple, &parse) == CS_SUCCESS) {
- info->manfid = le16_to_cpu(buf[0]);
-@@ -537,15 +558,15 @@
- info->multi = 2;
- }
- }
--
-+
- if (info->multi > 1)
- multi_config(link);
- else
- simple_config(link);
--
-+
- if (info->ndev == 0)
- goto failed;
--
-+
- if (info->manfid == MANFID_IBM) {
- conf_reg_t reg = { 0, CS_READ, 0x800, 0 };
- CS_CHECK(AccessConfigurationRegister, link->handle, &reg);
-@@ -562,6 +583,7 @@
- cs_error(link->handle, last_fn, last_ret);
- failed:
- serial_release((u_long)link);
-+ link->state &= ~DEV_CONFIG_PENDING;
-
- } /* serial_config */
-
-@@ -569,7 +591,7 @@
-
- After a card is removed, serial_release() will unregister the net
- device, and release the PCMCIA configuration.
--
-+
- ======================================================================*/
-
- void serial_release(u_long arg)
-@@ -577,7 +599,7 @@
- dev_link_t *link = (dev_link_t *)arg;
- serial_info_t *info = link->priv;
- int i;
--
-+
- DEBUG(0, "serial_release(0x%p)\n", link);
-
- for (i = 0; i < info->ndev; i++) {
-@@ -590,7 +612,7 @@
- CardServices(ReleaseIO, link->handle, &link->io);
- CardServices(ReleaseIRQ, link->handle, &link->irq);
- }
--
-+
- link->state &= ~DEV_CONFIG;
-
- } /* serial_release */
-@@ -601,7 +623,7 @@
- stuff to run after an event is received. A CARD_REMOVAL event
- also sets some flags to discourage the serial drivers from
- talking to the ports.
--
-+
- ======================================================================*/
-
- static int serial_event(event_t event, int priority,
-@@ -609,9 +631,9 @@
- {
- dev_link_t *link = args->client_data;
- serial_info_t *info = link->priv;
--
-+
- DEBUG(1, "serial_event(0x%06x)\n", event);
--
-+
- switch (event) {
- case CS_EVENT_CARD_REMOVAL:
- link->state &= ~DEV_PRESENT;
-@@ -650,7 +672,7 @@
- if (serv.Revision != CS_RELEASE_CODE) {
- printk(KERN_NOTICE "serial_cs: Card Services release "
- "does not match!\n");
-- return -1;
-+ return -EINVAL;
- }
- register_pccard_driver(&dev_info, &serial_attach, &serial_detach);
- return 0;
-diff -urN linux-2.4.18/drivers/input/Config.in linux-2.4.18-mh15/drivers/input/Config.in
---- linux-2.4.18/drivers/input/Config.in 2001-09-13 00:34:06.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/input/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -14,5 +14,6 @@
- fi
- dep_tristate ' Joystick support' CONFIG_INPUT_JOYDEV $CONFIG_INPUT
- dep_tristate ' Event interface support' CONFIG_INPUT_EVDEV $CONFIG_INPUT
-+dep_tristate ' User level driver support' CONFIG_INPUT_UINPUT $CONFIG_INPUT
-
- endmenu
-diff -urN linux-2.4.18/drivers/input/keybdev.c linux-2.4.18-mh15/drivers/input/keybdev.c
---- linux-2.4.18/drivers/input/keybdev.c 2001-10-11 18:14:32.000000000 +0200
-+++ linux-2.4.18-mh15/drivers/input/keybdev.c 2004-08-01 16:26:23.000000000 +0200
-@@ -154,16 +154,18 @@
-
- static struct input_handler keybdev_handler;
-
-+static unsigned int ledstate = 0xff;
-+
- void keybdev_ledfunc(unsigned int led)
- {
- struct input_handle *handle;
-
-- for (handle = keybdev_handler.handle; handle; handle = handle->hnext) {
-+ ledstate = led;
-
-+ for (handle = keybdev_handler.handle; handle; handle = handle->hnext) {
- input_event(handle->dev, EV_LED, LED_SCROLLL, !!(led & 0x01));
- input_event(handle->dev, EV_LED, LED_NUML, !!(led & 0x02));
- input_event(handle->dev, EV_LED, LED_CAPSL, !!(led & 0x04));
--
- }
- }
-
-@@ -202,6 +204,12 @@
-
- // printk(KERN_INFO "keybdev.c: Adding keyboard: input%d\n", dev->number);
-
-+ if (ledstate != 0xff) {
-+ input_event(dev, EV_LED, LED_SCROLLL, !!(ledstate & 0x01));
-+ input_event(dev, EV_LED, LED_NUML, !!(ledstate & 0x02));
-+ input_event(dev, EV_LED, LED_CAPSL, !!(ledstate & 0x04));
-+ }
-+
- return handle;
- }
-
-diff -urN linux-2.4.18/drivers/input/Makefile linux-2.4.18-mh15/drivers/input/Makefile
---- linux-2.4.18/drivers/input/Makefile 2000-12-29 23:07:22.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/input/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -24,6 +24,7 @@
- obj-$(CONFIG_INPUT_MOUSEDEV) += mousedev.o
- obj-$(CONFIG_INPUT_JOYDEV) += joydev.o
- obj-$(CONFIG_INPUT_EVDEV) += evdev.o
-+obj-$(CONFIG_INPUT_UINPUT) += uinput.o
-
- # The global Rules.make.
-
-diff -urN linux-2.4.18/drivers/input/uinput.c linux-2.4.18-mh15/drivers/input/uinput.c
---- linux-2.4.18/drivers/input/uinput.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/input/uinput.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,428 @@
-+/*
-+ * User level driver support for input subsystem
-+ *
-+ * Heavily based on evdev.c by Vojtech Pavlik
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
-+ *
-+ * Changes/Revisions:
-+ * 0.1 20/06/2002
-+ * - first public version
-+ */
-+
-+#include <linux/poll.h>
-+#include <linux/slab.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/input.h>
-+#include <linux/smp_lock.h>
-+#include <linux/fs.h>
-+#include <linux/miscdevice.h>
-+#include <linux/uinput.h>
-+
-+static int uinput_dev_open(struct input_dev *dev)
-+{
-+ return 0;
-+}
-+
-+static void uinput_dev_close(struct input_dev *dev)
-+{
-+}
-+
-+static int uinput_dev_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
-+{
-+ struct uinput_device *udev;
-+
-+ udev = (struct uinput_device *)dev->private;
-+
-+ udev->buff[udev->head].type = type;
-+ udev->buff[udev->head].code = code;
-+ udev->buff[udev->head].value = value;
-+ do_gettimeofday(&udev->buff[udev->head].time);
-+ udev->head = (udev->head + 1) % UINPUT_BUFFER_SIZE;
-+
-+ wake_up_interruptible(&udev->waitq);
-+
-+ return 0;
-+}
-+
-+static int uinput_dev_upload_effect(struct input_dev *dev, struct ff_effect *effect)
-+{
-+ return 0;
-+}
-+
-+static int uinput_dev_erase_effect(struct input_dev *dev, int effect_id)
-+{
-+ return 0;
-+}
-+
-+static int uinput_create_device(struct uinput_device *udev)
-+{
-+ if (!udev->dev->name) {
-+ printk(KERN_DEBUG "%s: write device info first\n", UINPUT_NAME);
-+ return -EINVAL;
-+ }
-+
-+ udev->dev->open = uinput_dev_open;
-+ udev->dev->close = uinput_dev_close;
-+ udev->dev->event = uinput_dev_event;
-+ udev->dev->upload_effect = uinput_dev_upload_effect;
-+ udev->dev->erase_effect = uinput_dev_erase_effect;
-+ udev->dev->private = udev;
-+
-+ init_waitqueue_head(&(udev->waitq));
-+
-+ input_register_device(udev->dev);
-+
-+ set_bit(UIST_CREATED, &(udev->state));
-+
-+ return 0;
-+}
-+
-+static int uinput_destroy_device(struct uinput_device *udev)
-+{
-+ if (!test_bit(UIST_CREATED, &(udev->state))) {
-+ printk(KERN_WARNING "%s: create the device first\n", UINPUT_NAME);
-+ return -EINVAL;
-+ }
-+
-+ input_unregister_device(udev->dev);
-+
-+ clear_bit(UIST_CREATED, &(udev->state));
-+
-+ return 0;
-+}
-+
-+static int uinput_open(struct inode *inode, struct file *file)
-+{
-+ struct uinput_device *newdev;
-+ struct input_dev *newinput;
-+
-+ newdev = kmalloc(sizeof(struct uinput_device), GFP_KERNEL);
-+ if (!newdev)
-+ goto error;
-+ memset(newdev, 0, sizeof(struct uinput_device));
-+
-+ newinput = kmalloc(sizeof(struct input_dev), GFP_KERNEL);
-+ if (!newinput)
-+ goto cleanup;
-+ memset(newinput, 0, sizeof(struct input_dev));
-+
-+ newdev->dev = newinput;
-+
-+ file->private_data = newdev;
-+
-+ return 0;
-+cleanup:
-+ kfree(newdev);
-+error:
-+ return -ENOMEM;
-+}
-+
-+static int uinput_validate_absbits(struct input_dev *dev)
-+{
-+ unsigned int cnt;
-+ int retval = 0;
-+
-+ for (cnt = 0; cnt < ABS_MAX; cnt++) {
-+ if (!test_bit(cnt, dev->absbit))
-+ continue;
-+
-+ if (/*!dev->absmin[cnt] || !dev->absmax[cnt] || */
-+ (dev->absmax[cnt] <= dev->absmin[cnt])) {
-+ printk(KERN_DEBUG
-+ "%s: invalid abs[%02x] min:%d max:%d\n",
-+ UINPUT_NAME, cnt,
-+ dev->absmin[cnt], dev->absmax[cnt]);
-+ retval = -EINVAL;
-+ break;
-+ }
-+
-+ if ((dev->absflat[cnt] < dev->absmin[cnt]) ||
-+ (dev->absflat[cnt] > dev->absmax[cnt])) {
-+ printk(KERN_DEBUG
-+ "%s: absflat[%02x] out of range: %d "
-+ "(min:%d/max:%d)\n",
-+ UINPUT_NAME, cnt, dev->absflat[cnt],
-+ dev->absmin[cnt], dev->absmax[cnt]);
-+ retval = -EINVAL;
-+ break;
-+ }
-+ }
-+ return retval;
-+}
-+
-+static int uinput_alloc_device(struct file *file, const char *buffer, size_t count)
-+{
-+ struct uinput_user_dev *user_dev;
-+ struct input_dev *dev;
-+ struct uinput_device *udev;
-+ int size,
-+ retval;
-+
-+ retval = count;
-+
-+ udev = (struct uinput_device *)file->private_data;
-+ dev = udev->dev;
-+
-+ user_dev = kmalloc(sizeof(*user_dev), GFP_KERNEL);
-+ if (!user_dev) {
-+ retval = -ENOMEM;
-+ goto exit;
-+ }
-+
-+ if (copy_from_user(user_dev, buffer, sizeof(struct uinput_user_dev))) {
-+ retval = -EFAULT;
-+ goto exit;
-+ }
-+
-+ if (NULL != dev->name)
-+ kfree(dev->name);
-+
-+ size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1;
-+ dev->name = kmalloc(size, GFP_KERNEL);
-+ if (!dev->name) {
-+ retval = -ENOMEM;
-+ goto exit;
-+ }
-+
-+ strncpy(dev->name, user_dev->name, size);
-+ dev->idbus = user_dev->idbus;
-+ dev->idvendor = user_dev->idvendor;
-+ dev->idproduct = user_dev->idproduct;
-+ dev->idversion = user_dev->idversion;
-+ dev->ff_effects_max = user_dev->ff_effects_max;
-+
-+ size = sizeof(int) * (ABS_MAX + 1);
-+ memcpy(dev->absmax, user_dev->absmax, size);
-+ memcpy(dev->absmin, user_dev->absmin, size);
-+ memcpy(dev->absfuzz, user_dev->absfuzz, size);
-+ memcpy(dev->absflat, user_dev->absflat, size);
-+
-+ /* check if absmin/absmax/absfuzz/absflat are filled as
-+ * told in Documentation/input/input-programming.txt */
-+ if (test_bit(EV_ABS, dev->evbit)) {
-+ retval = uinput_validate_absbits(dev);
-+ if (retval < 0)
-+ kfree(dev->name);
-+ }
-+
-+exit:
-+ kfree(user_dev);
-+ return retval;
-+}
-+
-+static ssize_t uinput_write(struct file *file, const char *buffer, size_t count, loff_t *ppos)
-+{
-+ struct uinput_device *udev = file->private_data;
-+
-+ if (test_bit(UIST_CREATED, &(udev->state))) {
-+ struct input_event ev;
-+
-+ if (copy_from_user(&ev, buffer, sizeof(struct input_event)))
-+ return -EFAULT;
-+ input_event(udev->dev, ev.type, ev.code, ev.value);
-+ }
-+ else
-+ count = uinput_alloc_device(file, buffer, count);
-+
-+ return count;
-+}
-+
-+static ssize_t uinput_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
-+{
-+ struct uinput_device *udev = file->private_data;
-+ int retval = 0;
-+
-+ if (!test_bit(UIST_CREATED, &(udev->state)))
-+ return -ENODEV;
-+
-+ if ((udev->head == udev->tail) && (file->f_flags & O_NONBLOCK))
-+ return -EAGAIN;
-+
-+ retval = wait_event_interruptible(udev->waitq,
-+ (udev->head != udev->tail) ||
-+ !test_bit(UIST_CREATED, &(udev->state)));
-+
-+ if (retval)
-+ return retval;
-+
-+ if (!test_bit(UIST_CREATED, &(udev->state)))
-+ return -ENODEV;
-+
-+ while ((udev->head != udev->tail) &&
-+ (retval + sizeof(struct input_event) <= count)) {
-+ if (copy_to_user(buffer + retval, &(udev->buff[udev->tail]),
-+ sizeof(struct input_event))) return -EFAULT;
-+ udev->tail = (udev->tail + 1) % UINPUT_BUFFER_SIZE;
-+ retval += sizeof(struct input_event);
-+ }
-+
-+ return retval;
-+}
-+
-+static unsigned int uinput_poll(struct file *file, poll_table *wait)
-+{
-+ struct uinput_device *udev = file->private_data;
-+
-+ poll_wait(file, &udev->waitq, wait);
-+
-+ if (udev->head != udev->tail)
-+ return POLLIN | POLLRDNORM;
-+
-+ return 0;
-+}
-+
-+static int uinput_burn_device(struct uinput_device *udev)
-+{
-+ if (test_bit(UIST_CREATED, &(udev->state)))
-+ uinput_destroy_device(udev);
-+
-+ kfree(udev->dev);
-+ kfree(udev);
-+
-+ return 0;
-+}
-+
-+static int uinput_close(struct inode *inode, struct file *file)
-+{
-+ return uinput_burn_device((struct uinput_device *)file->private_data);
-+}
-+
-+static int uinput_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
-+{
-+ int retval = 0;
-+ struct uinput_device *udev;
-+
-+ udev = (struct uinput_device *)file->private_data;
-+
-+ /* device attributes can not be changed after the device is created */
-+ if (cmd >= UI_SET_EVBIT && test_bit(UIST_CREATED, &(udev->state)))
-+ return -EINVAL;
-+
-+ switch (cmd) {
-+ case UI_DEV_CREATE:
-+ retval = uinput_create_device(udev);
-+ break;
-+
-+ case UI_DEV_DESTROY:
-+ retval = uinput_destroy_device(udev);
-+ break;
-+
-+ case UI_SET_EVBIT:
-+ if (arg > EV_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->evbit);
-+ break;
-+
-+ case UI_SET_KEYBIT:
-+ if (arg > KEY_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->keybit);
-+ break;
-+
-+ case UI_SET_RELBIT:
-+ if (arg > REL_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->relbit);
-+ break;
-+
-+ case UI_SET_ABSBIT:
-+ if (arg > ABS_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->absbit);
-+ break;
-+
-+ case UI_SET_MSCBIT:
-+ if (arg > MSC_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->mscbit);
-+ break;
-+
-+ case UI_SET_LEDBIT:
-+ if (arg > LED_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->ledbit);
-+ break;
-+
-+ case UI_SET_SNDBIT:
-+ if (arg > SND_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->sndbit);
-+ break;
-+
-+ case UI_SET_FFBIT:
-+ if (arg > FF_MAX) {
-+ retval = -EINVAL;
-+ break;
-+ }
-+ set_bit(arg, udev->dev->ffbit);
-+ break;
-+
-+ default:
-+ retval = -EFAULT;
-+ }
-+ return retval;
-+}
-+
-+struct file_operations uinput_fops = {
-+ owner: THIS_MODULE,
-+ open: uinput_open,
-+ release: uinput_close,
-+ read: uinput_read,
-+ write: uinput_write,
-+ poll: uinput_poll,
-+ ioctl: uinput_ioctl,
-+};
-+
-+static struct miscdevice uinput_misc = {
-+ fops: &uinput_fops,
-+ minor: UINPUT_MINOR,
-+ name: UINPUT_NAME,
-+};
-+
-+static int __init uinput_init(void)
-+{
-+ return misc_register(&uinput_misc);
-+}
-+
-+static void __exit uinput_exit(void)
-+{
-+ misc_deregister(&uinput_misc);
-+}
-+
-+MODULE_AUTHOR("Aristeu Sergio Rozanski Filho");
-+MODULE_DESCRIPTION("User level driver support for input subsystem");
-+MODULE_LICENSE("GPL");
-+
-+module_init(uinput_init);
-+module_exit(uinput_exit);
-+
-diff -urN linux-2.4.18/drivers/isdn/avmb1/capidrv.c linux-2.4.18-mh15/drivers/isdn/avmb1/capidrv.c
---- linux-2.4.18/drivers/isdn/avmb1/capidrv.c 2001-12-21 18:41:54.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/isdn/avmb1/capidrv.c 2004-08-01 16:26:23.000000000 +0200
-@@ -514,13 +514,25 @@
-
- static void send_message(capidrv_contr * card, _cmsg * cmsg)
- {
-- struct sk_buff *skb;
-- size_t len;
-+ struct sk_buff *skb;
-+ size_t len;
-+ u16 err;
-+
- capi_cmsg2message(cmsg, cmsg->buf);
- len = CAPIMSG_LEN(cmsg->buf);
- skb = alloc_skb(len, GFP_ATOMIC);
-+ if(!skb) {
-+ printk(KERN_ERR "no skb len(%d) memory\n", len);
-+ return;
-+ }
- memcpy(skb_put(skb, len), cmsg->buf, len);
-- (*capifuncs->capi_put_message) (global.appid, skb);
-+ err = (*capifuncs->capi_put_message) (global.appid, skb);
-+ if (err) {
-+ printk(KERN_WARNING "%s: capi_put_message error: %04x\n",
-+ __FUNCTION__, err);
-+ kfree_skb(skb);
-+ return;
-+ }
- global.nsentctlpkt++;
- }
-
-@@ -2179,10 +2191,10 @@
- free_ncci(card, card->bchans[card->nbchan-1].nccip);
- if (card->bchans[card->nbchan-1].plcip)
- free_plci(card, card->bchans[card->nbchan-1].plcip);
-- if (card->plci_list)
-- printk(KERN_ERR "capidrv: bug in free_plci()\n");
- card->nbchan--;
- }
-+ if (card->plci_list)
-+ printk(KERN_ERR "capidrv: bug in free_plci()\n");
- kfree(card->bchans);
- card->bchans = 0;
-
-diff -urN linux-2.4.18/drivers/isdn/avmb1/kcapi.c linux-2.4.18-mh15/drivers/isdn/avmb1/kcapi.c
---- linux-2.4.18/drivers/isdn/avmb1/kcapi.c 2001-12-21 18:41:54.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/isdn/avmb1/kcapi.c 2004-08-01 16:26:23.000000000 +0200
-@@ -545,7 +545,13 @@
- static void notify_up(__u32 contr)
- {
- struct capi_interface_user *p;
-+ __u16 appl;
-
-+ for (appl = 1; appl <= CAPI_MAXAPPL; appl++) {
-+ if (!VALID_APPLID(appl)) continue;
-+ if (APPL(appl)->releasing) continue;
-+ CARD(contr)->driver->register_appl(CARD(contr), appl, &APPL(appl)->rparam);
-+ }
- printk(KERN_NOTICE "kcapi: notify up contr %d\n", contr);
- spin_lock(&capi_users_lock);
- for (p = capi_users; p; p = p->next) {
-@@ -705,12 +711,16 @@
- nextpp = &(*pp)->next;
- }
- }
-- APPL(appl)->releasing--;
-- if (APPL(appl)->releasing <= 0) {
-- APPL(appl)->signal = 0;
-- APPL_MARK_FREE(appl);
-- printk(KERN_INFO "kcapi: appl %d down\n", appl);
-- }
-+ if (APPL(appl)->releasing) { /* only release if the application was marked for release */
-+ printk(KERN_DEBUG "kcapi: appl %d releasing(%d)\n", appl, APPL(appl)->releasing);
-+ APPL(appl)->releasing--;
-+ if (APPL(appl)->releasing <= 0) {
-+ APPL(appl)->signal = 0;
-+ APPL_MARK_FREE(appl);
-+ printk(KERN_INFO "kcapi: appl %d down\n", appl);
-+ }
-+ } else
-+ printk(KERN_WARNING "kcapi: appl %d card%d released without request\n", appl, card->cnr);
- }
- /*
- * ncci management
-@@ -863,16 +873,7 @@
-
- static void controllercb_ready(struct capi_ctr * card)
- {
-- __u16 appl;
--
- card->cardstate = CARD_RUNNING;
--
-- for (appl = 1; appl <= CAPI_MAXAPPL; appl++) {
-- if (!VALID_APPLID(appl)) continue;
-- if (APPL(appl)->releasing) continue;
-- card->driver->register_appl(card, appl, &APPL(appl)->rparam);
-- }
--
- printk(KERN_NOTICE "kcapi: card %d \"%s\" ready.\n",
- CARDNR(card), card->name);
-
-diff -urN linux-2.4.18/drivers/usb/Config.in linux-2.4.18-mh15/drivers/usb/Config.in
---- linux-2.4.18/drivers/usb/Config.in 2002-02-25 20:38:07.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/usb/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -31,7 +31,13 @@
-
- comment 'USB Device Class drivers'
- dep_tristate ' USB Audio support' CONFIG_USB_AUDIO $CONFIG_USB $CONFIG_SOUND
--dep_tristate ' USB Bluetooth support (EXPERIMENTAL)' CONFIG_USB_BLUETOOTH $CONFIG_USB $CONFIG_EXPERIMENTAL
-+if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-+ if [ "$CONFIG_BLUEZ" = "n" ]; then
-+ dep_tristate ' USB Bluetooth support (EXPERIMENTAL)' CONFIG_USB_BLUETOOTH $CONFIG_USB
-+ else
-+ comment ' USB Bluetooth can only be used with disabled Bluetooth subsystem'
-+ fi
-+fi
- if [ "$CONFIG_SCSI" = "n" ]; then
- comment ' SCSI support is needed for USB Storage'
- fi
-diff -urN linux-2.4.18/drivers/usb/hid-core.c linux-2.4.18-mh15/drivers/usb/hid-core.c
---- linux-2.4.18/drivers/usb/hid-core.c 2001-12-21 18:41:55.000000000 +0100
-+++ linux-2.4.18-mh15/drivers/usb/hid-core.c 2004-08-01 16:26:23.000000000 +0200
-@@ -217,6 +217,8 @@
-
- offset = report->size;
- report->size += parser->global.report_size * parser->global.report_count;
-+ if (usages < parser->global.report_count)
-+ usages = parser->global.report_count;
-
- if (usages == 0)
- return 0; /* ignore padding fields */
-diff -urN linux-2.4.18/include/linux/firmware.h linux-2.4.18-mh15/include/linux/firmware.h
---- linux-2.4.18/include/linux/firmware.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/include/linux/firmware.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,20 @@
-+#ifndef _LINUX_FIRMWARE_H
-+#define _LINUX_FIRMWARE_H
-+#include <linux/module.h>
-+#include <linux/types.h>
-+#define FIRMWARE_NAME_MAX 30
-+struct firmware {
-+ size_t size;
-+ u8 *data;
-+};
-+int request_firmware (const struct firmware **fw, const char *name,
-+ const char *device);
-+int request_firmware_nowait (
-+ struct module *module,
-+ const char *name, const char *device, void *context,
-+ void (*cont)(const struct firmware *fw, void *context));
-+/* On 2.5 'device' is 'struct device *' */
-+
-+void release_firmware (const struct firmware *fw);
-+void register_firmware (const char *name, const u8 *data, size_t size);
-+#endif
-diff -urN linux-2.4.18/include/linux/input.h linux-2.4.18-mh15/include/linux/input.h
---- linux-2.4.18/include/linux/input.h 2001-09-13 00:34:06.000000000 +0200
-+++ linux-2.4.18-mh15/include/linux/input.h 2004-08-01 16:26:23.000000000 +0200
-@@ -468,6 +468,8 @@
- #define BUS_PCI 0x01
- #define BUS_ISAPNP 0x02
- #define BUS_USB 0x03
-+#define BUS_HIL 0x04
-+#define BUS_BLUETOOTH 0x05
-
- #define BUS_ISA 0x10
- #define BUS_I8042 0x11
-diff -urN linux-2.4.18/include/linux/kernel.h linux-2.4.18-mh15/include/linux/kernel.h
---- linux-2.4.18/include/linux/kernel.h 2002-02-25 20:38:13.000000000 +0100
-+++ linux-2.4.18-mh15/include/linux/kernel.h 2004-08-01 16:26:23.000000000 +0200
-@@ -11,6 +11,7 @@
- #include <linux/linkage.h>
- #include <linux/stddef.h>
- #include <linux/types.h>
-+#include <linux/compiler.h>
-
- /* Optimization barrier */
- /* The "volatile" is due to gcc bugs */
-@@ -181,4 +182,6 @@
- char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
- };
-
--#endif
-+#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
-+
-+#endif /* _LINUX_KERNEL_H */
-diff -urN linux-2.4.18/include/linux/net.h linux-2.4.18-mh15/include/linux/net.h
---- linux-2.4.18/include/linux/net.h 2001-11-22 20:46:19.000000000 +0100
-+++ linux-2.4.18-mh15/include/linux/net.h 2004-08-01 16:26:23.000000000 +0200
-@@ -139,6 +139,7 @@
- extern int sock_recvmsg(struct socket *, struct msghdr *m, int len, int flags);
- extern int sock_readv_writev(int type, struct inode * inode, struct file * file,
- const struct iovec * iov, long count, long size);
-+extern struct socket *sockfd_lookup(int fd, int *err);
-
- extern int net_ratelimit(void);
- extern unsigned long net_random(void);
-diff -urN linux-2.4.18/include/linux/uinput.h linux-2.4.18-mh15/include/linux/uinput.h
---- linux-2.4.18/include/linux/uinput.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/include/linux/uinput.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,79 @@
-+/*
-+ * User level driver support for input subsystem
-+ *
-+ * Heavily based on evdev.c by Vojtech Pavlik
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
-+ *
-+ * Changes/Revisions:
-+ * 0.1 20/06/2002
-+ * - first public version
-+ */
-+
-+#ifndef __UINPUT_H_
-+#define __UINPUT_H_
-+
-+#ifdef __KERNEL__
-+#define UINPUT_MINOR 223
-+#define UINPUT_NAME "uinput"
-+#define UINPUT_BUFFER_SIZE 16
-+
-+/* state flags => bit index for {set|clear|test}_bit ops */
-+#define UIST_CREATED 0
-+
-+struct uinput_device {
-+ struct input_dev *dev;
-+ unsigned long state;
-+ wait_queue_head_t waitq;
-+ unsigned char ready,
-+ head,
-+ tail;
-+ struct input_event buff[UINPUT_BUFFER_SIZE];
-+};
-+#endif /* __KERNEL__ */
-+
-+/* ioctl */
-+#define UINPUT_IOCTL_BASE 'U'
-+#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1)
-+#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2)
-+#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)
-+#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int)
-+#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int)
-+#define UI_SET_ABSBIT _IOW(UINPUT_IOCTL_BASE, 103, int)
-+#define UI_SET_MSCBIT _IOW(UINPUT_IOCTL_BASE, 104, int)
-+#define UI_SET_LEDBIT _IOW(UINPUT_IOCTL_BASE, 105, int)
-+#define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int)
-+#define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int)
-+
-+#ifndef NBITS
-+#define NBITS(x) ((((x)-1)/(sizeof(long)*8))+1)
-+#endif /* NBITS */
-+
-+#define UINPUT_MAX_NAME_SIZE 80
-+struct uinput_user_dev {
-+ char name[UINPUT_MAX_NAME_SIZE];
-+ unsigned short idbus;
-+ unsigned short idvendor;
-+ unsigned short idproduct;
-+ unsigned short idversion;
-+ int ff_effects_max;
-+ int absmax[ABS_MAX + 1];
-+ int absmin[ABS_MAX + 1];
-+ int absfuzz[ABS_MAX + 1];
-+ int absflat[ABS_MAX + 1];
-+};
-+#endif /* __UINPUT_H_ */
-diff -urN linux-2.4.18/include/net/bluetooth/bluetooth.h linux-2.4.18-mh15/include/net/bluetooth/bluetooth.h
---- linux-2.4.18/include/net/bluetooth/bluetooth.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/bluetooth.h 2004-08-01 16:26:23.000000000 +0200
-@@ -23,7 +23,7 @@
- */
-
- /*
-- * $Id: bluetooth.h,v 1.6 2001/08/03 04:19:49 maxk Exp $
-+ * $Id: bluetooth.h,v 1.9 2002/05/06 21:11:55 maxk Exp $
- */
-
- #ifndef __BLUETOOTH_H
-@@ -31,17 +31,64 @@
-
- #include <asm/types.h>
- #include <asm/byteorder.h>
-+#include <linux/poll.h>
-+#include <net/sock.h>
-
- #ifndef AF_BLUETOOTH
- #define AF_BLUETOOTH 31
- #define PF_BLUETOOTH AF_BLUETOOTH
- #endif
-
-+/* Reserv for core and drivers use */
-+#define BLUEZ_SKB_RESERVE 8
-+
-+#ifndef MIN
-+#define MIN(a,b) ((a) < (b) ? (a) : (b))
-+#endif
-+
- #define BTPROTO_L2CAP 0
- #define BTPROTO_HCI 1
-+#define BTPROTO_SCO 2
-+#define BTPROTO_RFCOMM 3
-+#define BTPROTO_BNEP 4
-+#define BTPROTO_CMTP 5
-+#define BTPROTO_HIDP 6
-
- #define SOL_HCI 0
- #define SOL_L2CAP 6
-+#define SOL_SCO 17
-+#define SOL_RFCOMM 18
-+
-+/* Debugging */
-+#ifdef CONFIG_BLUEZ_DEBUG
-+
-+#define HCI_CORE_DEBUG 1
-+#define HCI_SOCK_DEBUG 1
-+#define HCI_UART_DEBUG 1
-+#define HCI_USB_DEBUG 1
-+//#define HCI_DATA_DUMP 1
-+
-+#define L2CAP_DEBUG 1
-+#define SCO_DEBUG 1
-+#define AF_BLUETOOTH_DEBUG 1
-+
-+#endif /* CONFIG_BLUEZ_DEBUG */
-+
-+extern void bluez_dump(char *pref, __u8 *buf, int count);
-+
-+#if __GNUC__ <= 2 && __GNUC_MINOR__ < 95
-+#define __func__ __FUNCTION__
-+#endif
-+
-+#define BT_INFO(fmt, arg...) printk(KERN_INFO fmt "\n" , ## arg)
-+#define BT_DBG(fmt, arg...) printk(KERN_INFO "%s: " fmt "\n" , __func__ , ## arg)
-+#define BT_ERR(fmt, arg...) printk(KERN_ERR "%s: " fmt "\n" , __func__ , ## arg)
-+
-+#ifdef HCI_DATA_DUMP
-+#define BT_DMP(buf, len) bluez_dump(__func__, buf, len)
-+#else
-+#define BT_DMP(D...)
-+#endif
-
- /* Connection and socket states */
- enum {
-@@ -50,6 +97,7 @@
- BT_BOUND,
- BT_LISTEN,
- BT_CONNECT,
-+ BT_CONNECT2,
- BT_CONFIG,
- BT_DISCONN,
- BT_CLOSED
-@@ -66,7 +114,8 @@
- __u8 b[6];
- } __attribute__((packed)) bdaddr_t;
-
--#define BDADDR_ANY ((bdaddr_t *)"\000\000\000\000\000")
-+#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}})
-+#define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}})
-
- /* Copy, swap, convert BD Address */
- static inline int bacmp(bdaddr_t *ba1, bdaddr_t *ba2)
-@@ -82,6 +131,91 @@
- char *batostr(bdaddr_t *ba);
- bdaddr_t *strtoba(char *str);
-
-+/* Common socket structures and functions */
-+
-+#define bluez_pi(sk) ((struct bluez_pinfo *) &sk->protinfo)
-+#define bluez_sk(pi) ((struct sock *) \
-+ ((void *)pi - (unsigned long)(&((struct sock *)0)->protinfo)))
-+
-+struct bluez_pinfo {
-+ bdaddr_t src;
-+ bdaddr_t dst;
-+
-+ struct list_head accept_q;
-+ struct sock *parent;
-+};
-+
-+struct bluez_sock_list {
-+ struct sock *head;
-+ rwlock_t lock;
-+};
-+
-+int bluez_sock_register(int proto, struct net_proto_family *ops);
-+int bluez_sock_unregister(int proto);
-+void bluez_sock_init(struct socket *sock, struct sock *sk);
-+void bluez_sock_link(struct bluez_sock_list *l, struct sock *s);
-+void bluez_sock_unlink(struct bluez_sock_list *l, struct sock *s);
-+int bluez_sock_recvmsg(struct socket *sock, struct msghdr *msg, int len, int flags, struct scm_cookie *scm);
-+uint bluez_sock_poll(struct file * file, struct socket *sock, poll_table *wait);
-+int bluez_sock_wait_state(struct sock *sk, int state, unsigned long timeo);
-+
-+void bluez_accept_enqueue(struct sock *parent, struct sock *sk);
-+struct sock * bluez_accept_dequeue(struct sock *parent, struct socket *newsock);
-+
-+/* Skb helpers */
-+struct bluez_skb_cb {
-+ int incomming;
-+};
-+#define bluez_cb(skb) ((struct bluez_skb_cb *)(skb->cb))
-+
-+static inline struct sk_buff *bluez_skb_alloc(unsigned int len, int how)
-+{
-+ struct sk_buff *skb;
-+
-+ if ((skb = alloc_skb(len + BLUEZ_SKB_RESERVE, how))) {
-+ skb_reserve(skb, BLUEZ_SKB_RESERVE);
-+ bluez_cb(skb)->incomming = 0;
-+ }
-+ return skb;
-+}
-+
-+static inline struct sk_buff *bluez_skb_send_alloc(struct sock *sk, unsigned long len,
-+ int nb, int *err)
-+{
-+ struct sk_buff *skb;
-+
-+ if ((skb = sock_alloc_send_skb(sk, len + BLUEZ_SKB_RESERVE, nb, err))) {
-+ skb_reserve(skb, BLUEZ_SKB_RESERVE);
-+ bluez_cb(skb)->incomming = 0;
-+ }
-+
-+ return skb;
-+}
-+
-+static inline int skb_frags_no(struct sk_buff *skb)
-+{
-+ register struct sk_buff *frag = skb_shinfo(skb)->frag_list;
-+ register int n = 1;
-+
-+ for (; frag; frag=frag->next, n++);
-+ return n;
-+}
-+
-+int hci_core_init(void);
-+int hci_core_cleanup(void);
-+int hci_sock_init(void);
-+int hci_sock_cleanup(void);
-+
- int bterr(__u16 code);
-
-+#ifndef MODULE_LICENSE
-+#define MODULE_LICENSE(x)
-+#endif
-+
-+#ifndef list_for_each_safe
-+#define list_for_each_safe(pos, n, head) \
-+ for (pos = (head)->next, n = pos->next; pos != (head); \
-+ pos = n, n = pos->next)
-+#endif
-+
- #endif /* __BLUETOOTH_H */
-diff -urN linux-2.4.18/include/net/bluetooth/bluez.h linux-2.4.18-mh15/include/net/bluetooth/bluez.h
---- linux-2.4.18/include/net/bluetooth/bluez.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/bluez.h 1970-01-01 01:00:00.000000000 +0100
-@@ -1,124 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * $Id: bluez.h,v 1.4 2001/08/03 04:19:49 maxk Exp $
-- */
--
--#ifndef __IF_BLUEZ_H
--#define __IF_BLUEZ_H
--
--#include <net/sock.h>
--
--#define BLUEZ_MAX_PROTO 2
--
--/* Reserv for core and drivers use */
--#define BLUEZ_SKB_RESERVE 8
--
--#ifndef MIN
--#define MIN(a,b) ((a) < (b) ? (a) : (b))
--#endif
--
--/* Debugging */
--#ifdef BLUEZ_DEBUG
--
--#define HCI_CORE_DEBUG 1
--#define HCI_SOCK_DEBUG 1
--#define HCI_UART_DEBUG 1
--#define HCI_USB_DEBUG 1
--//#define HCI_DATA_DUMP 1
--
--#define L2CAP_DEBUG 1
--
--#endif /* BLUEZ_DEBUG */
--
--extern void bluez_dump(char *pref, __u8 *buf, int count);
--
--#define INF(fmt, arg...) printk(KERN_INFO fmt "\n" , ## arg)
--#define DBG(fmt, arg...) printk(KERN_INFO __FUNCTION__ ": " fmt "\n" , ## arg)
--#define ERR(fmt, arg...) printk(KERN_ERR __FUNCTION__ ": " fmt "\n" , ## arg)
--
--#ifdef HCI_DATA_DUMP
--#define DMP(buf, len) bluez_dump(__FUNCTION__, buf, len)
--#else
--#define DMP(D...)
--#endif
--
--/* ----- Sockets ------ */
--struct bluez_sock_list {
-- struct sock *head;
-- rwlock_t lock;
--};
--
--extern int bluez_sock_register(int proto, struct net_proto_family *ops);
--extern int bluez_sock_unregister(int proto);
--
--extern void bluez_sock_link(struct bluez_sock_list *l, struct sock *s);
--extern void bluez_sock_unlink(struct bluez_sock_list *l, struct sock *s);
--
--/* ----- SKB helpers ----- */
--struct bluez_skb_cb {
-- int incomming;
--};
--#define bluez_cb(skb) ((struct bluez_skb_cb *)(skb->cb))
--
--static inline struct sk_buff *bluez_skb_alloc(unsigned int len, int how)
--{
-- struct sk_buff *skb;
--
-- if ((skb = alloc_skb(len + BLUEZ_SKB_RESERVE, how))) {
-- skb_reserve(skb, BLUEZ_SKB_RESERVE);
-- bluez_cb(skb)->incomming = 0;
-- }
-- return skb;
--}
--
--static inline struct sk_buff *bluez_skb_send_alloc(struct sock *sk, unsigned long len,
-- int nb, int *err)
--{
-- struct sk_buff *skb;
--
-- if ((skb = sock_alloc_send_skb(sk, len + BLUEZ_SKB_RESERVE, nb, err))) {
-- skb_reserve(skb, BLUEZ_SKB_RESERVE);
-- bluez_cb(skb)->incomming = 0;
-- }
--
-- return skb;
--}
--
--static inline int skb_frags_no(struct sk_buff *skb)
--{
-- register struct sk_buff *frag = skb_shinfo(skb)->frag_list;
-- register int n = 1;
--
-- for (; frag; frag=frag->next, n++);
-- return n;
--}
--
--extern int hci_core_init(void);
--extern int hci_core_cleanup(void);
--extern int hci_sock_init(void);
--extern int hci_sock_cleanup(void);
--
--#endif /* __IF_BLUEZ_H */
-diff -urN linux-2.4.18/include/net/bluetooth/hci_core.h linux-2.4.18-mh15/include/net/bluetooth/hci_core.h
---- linux-2.4.18/include/net/bluetooth/hci_core.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/hci_core.h 2004-08-01 16:26:23.000000000 +0200
-@@ -23,7 +23,7 @@
- */
-
- /*
-- * $Id: hci_core.h,v 1.11 2001/08/05 06:02:15 maxk Exp $
-+ * $Id: hci_core.h,v 1.5 2002/06/27 04:56:30 maxk Exp $
- */
-
- #ifndef __HCI_CORE_H
-@@ -32,14 +32,12 @@
- #include <net/bluetooth/hci.h>
-
- /* HCI upper protocols */
--#define HCI_MAX_PROTO 1
- #define HCI_PROTO_L2CAP 0
-+#define HCI_PROTO_SCO 1
-
- #define HCI_INIT_TIMEOUT (HZ * 10)
-
--/* ----- Inquiry cache ----- */
--#define INQUIRY_CACHE_AGE_MAX (HZ*5) // 5 seconds
--#define INQUIRY_ENTRY_AGE_MAX (HZ*60) // 60 seconds
-+/* HCI Core structures */
-
- struct inquiry_entry {
- struct inquiry_entry *next;
-@@ -53,111 +51,188 @@
- struct inquiry_entry *list;
- };
-
--static inline void inquiry_cache_init(struct inquiry_cache *cache)
--{
-- spin_lock_init(&cache->lock);
-- cache->list = NULL;
--}
-+struct conn_hash {
-+ struct list_head list;
-+ spinlock_t lock;
-+ unsigned int num;
-+};
-
--static inline void inquiry_cache_lock(struct inquiry_cache *cache)
--{
-- spin_lock(&cache->lock);
--}
-+struct hci_dev {
-+ struct list_head list;
-+ spinlock_t lock;
-+ atomic_t refcnt;
-
--static inline void inquiry_cache_unlock(struct inquiry_cache *cache)
--{
-- spin_unlock(&cache->lock);
--}
-+ char name[8];
-+ unsigned long flags;
-+ __u16 id;
-+ __u8 type;
-+ bdaddr_t bdaddr;
-+ __u8 features[8];
-
--static inline void inquiry_cache_lock_bh(struct inquiry_cache *cache)
--{
-- spin_lock_bh(&cache->lock);
--}
-+ __u16 pkt_type;
-+ __u16 link_policy;
-+ __u16 link_mode;
-
--static inline void inquiry_cache_unlock_bh(struct inquiry_cache *cache)
--{
-- spin_unlock_bh(&cache->lock);
--}
-+ unsigned long quirks;
-
--static inline long inquiry_cache_age(struct inquiry_cache *cache)
--{
-- return jiffies - cache->timestamp;
--}
-+ atomic_t cmd_cnt;
-+ unsigned int acl_cnt;
-+ unsigned int sco_cnt;
-
--static inline long inquiry_entry_age(struct inquiry_entry *e)
--{
-- return jiffies - e->timestamp;
--}
--extern void inquiry_cache_flush(struct inquiry_cache *cache);
-+ unsigned int acl_mtu;
-+ unsigned int sco_mtu;
-+ unsigned int acl_pkts;
-+ unsigned int sco_pkts;
-
--struct hci_dev;
-+ unsigned long cmd_last_tx;
-+ unsigned long acl_last_tx;
-+ unsigned long sco_last_tx;
-+
-+ struct tasklet_struct cmd_task;
-+ struct tasklet_struct rx_task;
-+ struct tasklet_struct tx_task;
-+
-+ struct sk_buff_head rx_q;
-+ struct sk_buff_head raw_q;
-+ struct sk_buff_head cmd_q;
-+
-+ struct sk_buff *sent_cmd;
-+
-+ struct semaphore req_lock;
-+ wait_queue_head_t req_wait_q;
-+ __u32 req_status;
-+ __u32 req_result;
-+
-+ struct inquiry_cache inq_cache;
-+ struct conn_hash conn_hash;
-+
-+ struct hci_dev_stats stat;
-+
-+ void *driver_data;
-+ void *core_data;
-+
-+ atomic_t promisc;
-+
-+ int (*open)(struct hci_dev *hdev);
-+ int (*close)(struct hci_dev *hdev);
-+ int (*flush)(struct hci_dev *hdev);
-+ int (*send)(struct sk_buff *skb);
-+ void (*destruct)(struct hci_dev *hdev);
-+ int (*ioctl)(struct hci_dev *hdev, unsigned int cmd, unsigned long arg);
-+};
-
--/* ----- HCI Connections ----- */
- struct hci_conn {
- struct list_head list;
-+
-+ atomic_t refcnt;
-+ spinlock_t lock;
-+
- bdaddr_t dst;
- __u16 handle;
-+ __u16 state;
- __u8 type;
-- unsigned int sent;
-+ __u8 out;
-+ __u32 link_mode;
-+ unsigned long pend;
-+
-+ unsigned int sent;
-+
-+ struct sk_buff_head data_q;
-
-+ struct timer_list timer;
-+
- struct hci_dev *hdev;
- void *l2cap_data;
-+ void *sco_data;
- void *priv;
-
-- struct sk_buff_head data_q;
-+ struct hci_conn *link;
- };
-
--struct conn_hash {
-- struct list_head list;
-- spinlock_t lock;
-- unsigned int num;
--};
-+extern struct hci_proto *hci_proto[];
-+extern struct list_head hdev_list;
-+extern rwlock_t hdev_list_lock;
-+
-+/* ----- Inquiry cache ----- */
-+#define INQUIRY_CACHE_AGE_MAX (HZ*30) // 30 seconds
-+#define INQUIRY_ENTRY_AGE_MAX (HZ*60) // 60 seconds
-+
-+#define inquiry_cache_lock(c) spin_lock(&c->lock)
-+#define inquiry_cache_unlock(c) spin_unlock(&c->lock)
-+#define inquiry_cache_lock_bh(c) spin_lock_bh(&c->lock)
-+#define inquiry_cache_unlock_bh(c) spin_unlock_bh(&c->lock)
-
--static inline void conn_hash_init(struct conn_hash *h)
-+static inline void inquiry_cache_init(struct hci_dev *hdev)
- {
-- INIT_LIST_HEAD(&h->list);
-- spin_lock_init(&h->lock);
-- h->num = 0;
-+ struct inquiry_cache *c = &hdev->inq_cache;
-+ spin_lock_init(&c->lock);
-+ c->list = NULL;
- }
-
--static inline void conn_hash_lock(struct conn_hash *h)
-+static inline int inquiry_cache_empty(struct hci_dev *hdev)
- {
-- spin_lock(&h->lock);
-+ struct inquiry_cache *c = &hdev->inq_cache;
-+ return (c->list == NULL);
- }
-
--static inline void conn_hash_unlock(struct conn_hash *h)
-+static inline long inquiry_cache_age(struct hci_dev *hdev)
- {
-- spin_unlock(&h->lock);
-+ struct inquiry_cache *c = &hdev->inq_cache;
-+ return jiffies - c->timestamp;
- }
-
--static inline void __conn_hash_add(struct conn_hash *h, __u16 handle, struct hci_conn *c)
-+static inline long inquiry_entry_age(struct inquiry_entry *e)
- {
-- list_add(&c->list, &h->list);
-- h->num++;
-+ return jiffies - e->timestamp;
- }
-
--static inline void conn_hash_add(struct conn_hash *h, __u16 handle, struct hci_conn *c)
-+struct inquiry_entry *inquiry_cache_lookup(struct hci_dev *hdev, bdaddr_t *bdaddr);
-+void inquiry_cache_update(struct hci_dev *hdev, inquiry_info *info);
-+void inquiry_cache_flush(struct hci_dev *hdev);
-+int inquiry_cache_dump(struct hci_dev *hdev, int num, __u8 *buf);
-+
-+/* ----- HCI Connections ----- */
-+enum {
-+ HCI_CONN_AUTH_PEND,
-+ HCI_CONN_ENCRYPT_PEND
-+};
-+
-+#define hci_conn_lock(c) spin_lock(&c->lock)
-+#define hci_conn_unlock(c) spin_unlock(&c->lock)
-+#define hci_conn_lock_bh(c) spin_lock_bh(&c->lock)
-+#define hci_conn_unlock_bh(c) spin_unlock_bh(&c->lock)
-+
-+#define conn_hash_lock(d) spin_lock(&d->conn_hash->lock)
-+#define conn_hash_unlock(d) spin_unlock(&d->conn_hash->lock)
-+#define conn_hash_lock_bh(d) spin_lock_bh(&d->conn_hash->lock)
-+#define conn_hash_unlock_bh(d) spin_unlock_bh(&d->conn_hash->lock)
-+
-+static inline void conn_hash_init(struct hci_dev *hdev)
- {
-- conn_hash_lock(h);
-- __conn_hash_add(h, handle, c);
-- conn_hash_unlock(h);
-+ struct conn_hash *h = &hdev->conn_hash;
-+ INIT_LIST_HEAD(&h->list);
-+ spin_lock_init(&h->lock);
-+ h->num = 0;
- }
-
--static inline void __conn_hash_del(struct conn_hash *h, struct hci_conn *c)
-+static inline void conn_hash_add(struct hci_dev *hdev, struct hci_conn *c)
- {
-- list_del(&c->list);
-- h->num--;
-+ struct conn_hash *h = &hdev->conn_hash;
-+ list_add(&c->list, &h->list);
-+ h->num++;
- }
-
--static inline void conn_hash_del(struct conn_hash *h, struct hci_conn *c)
-+static inline void conn_hash_del(struct hci_dev *hdev, struct hci_conn *c)
- {
-- conn_hash_lock(h);
-- __conn_hash_del(h, c);
-- conn_hash_unlock(h);
-+ struct conn_hash *h = &hdev->conn_hash;
-+ list_del(&c->list);
-+ h->num--;
- }
-
--static inline struct hci_conn *__conn_hash_lookup(struct conn_hash *h, __u16 handle)
-+static inline struct hci_conn *conn_hash_lookup_handle(struct hci_dev *hdev,
-+ __u16 handle)
- {
-+ register struct conn_hash *h = &hdev->conn_hash;
- register struct list_head *p;
- register struct hci_conn *c;
-
-@@ -169,101 +244,97 @@
- return NULL;
- }
-
--static inline struct hci_conn *conn_hash_lookup(struct conn_hash *h, __u16 handle)
-+static inline struct hci_conn *conn_hash_lookup_ba(struct hci_dev *hdev,
-+ __u8 type, bdaddr_t *ba)
- {
-- struct hci_conn *conn;
-+ register struct conn_hash *h = &hdev->conn_hash;
-+ register struct list_head *p;
-+ register struct hci_conn *c;
-
-- conn_hash_lock(h);
-- conn = __conn_hash_lookup(h, handle);
-- conn_hash_unlock(h);
-- return conn;
-+ list_for_each(p, &h->list) {
-+ c = list_entry(p, struct hci_conn, list);
-+ if (c->type == type && !bacmp(&c->dst, ba))
-+ return c;
-+ }
-+ return NULL;
- }
-
--/* ----- HCI Devices ----- */
--struct hci_dev {
-- atomic_t refcnt;
--
-- char name[8];
-- __u32 flags;
-- __u16 id;
-- __u8 type;
-- bdaddr_t bdaddr;
-- __u8 features[8];
--
-- __u16 pkt_type;
--
-- atomic_t cmd_cnt;
-- unsigned int acl_cnt;
-- unsigned int sco_cnt;
--
-- unsigned int acl_mtu;
-- unsigned int sco_mtu;
-- unsigned int acl_max;
-- unsigned int sco_max;
--
-- void *driver_data;
-- void *l2cap_data;
-- void *priv;
--
-- struct tasklet_struct cmd_task;
-- struct tasklet_struct rx_task;
-- struct tasklet_struct tx_task;
--
-- struct sk_buff_head rx_q;
-- struct sk_buff_head raw_q;
-- struct sk_buff_head cmd_q;
--
-- struct sk_buff *sent_cmd;
-+void hci_acl_connect(struct hci_conn *conn);
-+void hci_acl_disconn(struct hci_conn *conn, __u8 reason);
-+void hci_add_sco(struct hci_conn *conn, __u16 handle);
-
-- struct semaphore req_lock;
-- wait_queue_head_t req_wait_q;
-- __u32 req_status;
-- __u32 req_result;
-+struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst);
-+int hci_conn_del(struct hci_conn *conn);
-+void hci_conn_hash_flush(struct hci_dev *hdev);
-
-- struct inquiry_cache inq_cache;
-+struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *src);
-+int hci_conn_auth(struct hci_conn *conn);
-+int hci_conn_encrypt(struct hci_conn *conn);
-
-- struct conn_hash conn_hash;
--
-- struct hci_dev_stats stat;
--
-- int (*open)(struct hci_dev *hdev);
-- int (*close)(struct hci_dev *hdev);
-- int (*flush)(struct hci_dev *hdev);
-- int (*send)(struct sk_buff *skb);
--};
-+static inline void hci_conn_set_timer(struct hci_conn *conn, long timeout)
-+{
-+ mod_timer(&conn->timer, jiffies + timeout);
-+}
-
--static inline void hci_dev_hold(struct hci_dev *hdev)
-+static inline void hci_conn_del_timer(struct hci_conn *conn)
- {
-- atomic_inc(&hdev->refcnt);
-+ del_timer(&conn->timer);
- }
-
--static inline void hci_dev_put(struct hci_dev *hdev)
-+static inline void hci_conn_hold(struct hci_conn *conn)
- {
-- atomic_dec(&hdev->refcnt);
-+ atomic_inc(&conn->refcnt);
-+ hci_conn_del_timer(conn);
- }
-
--extern struct hci_dev *hci_dev_get(int index);
--extern int hci_register_dev(struct hci_dev *hdev);
--extern int hci_unregister_dev(struct hci_dev *hdev);
--extern int hci_dev_open(__u16 dev);
--extern int hci_dev_close(__u16 dev);
--extern int hci_dev_reset(__u16 dev);
--extern int hci_dev_reset_stat(__u16 dev);
--extern int hci_dev_info(unsigned long arg);
--extern int hci_dev_list(unsigned long arg);
--extern int hci_dev_setscan(unsigned long arg);
--extern int hci_dev_setauth(unsigned long arg);
--extern int hci_dev_setptype(unsigned long arg);
--extern int hci_conn_list(unsigned long arg);
--extern int hci_inquiry(unsigned long arg);
-+static inline void hci_conn_put(struct hci_conn *conn)
-+{
-+ if (atomic_dec_and_test(&conn->refcnt)) {
-+ if (conn->type == ACL_LINK) {
-+ unsigned long timeo = (conn->out) ?
-+ HCI_DISCONN_TIMEOUT : HCI_DISCONN_TIMEOUT * 2;
-+ hci_conn_set_timer(conn, timeo);
-+ } else
-+ hci_conn_set_timer(conn, HZ / 100);
-+ }
-+}
-
--extern __u32 hci_dev_setmode(struct hci_dev *hdev, __u32 mode);
--extern __u32 hci_dev_getmode(struct hci_dev *hdev);
-+/* ----- HCI Devices ----- */
-+static inline void hci_dev_put(struct hci_dev *d)
-+{
-+ if (atomic_dec_and_test(&d->refcnt))
-+ d->destruct(d);
-+}
-+#define hci_dev_hold(d) atomic_inc(&d->refcnt)
-+
-+#define hci_dev_lock(d) spin_lock(&d->lock)
-+#define hci_dev_unlock(d) spin_unlock(&d->lock)
-+#define hci_dev_lock_bh(d) spin_lock_bh(&d->lock)
-+#define hci_dev_unlock_bh(d) spin_unlock_bh(&d->lock)
-+
-+struct hci_dev *hci_dev_get(int index);
-+struct hci_dev *hci_get_route(bdaddr_t *src, bdaddr_t *dst);
-+int hci_register_dev(struct hci_dev *hdev);
-+int hci_unregister_dev(struct hci_dev *hdev);
-+int hci_suspend_dev(struct hci_dev *hdev);
-+int hci_resume_dev(struct hci_dev *hdev);
-+int hci_dev_open(__u16 dev);
-+int hci_dev_close(__u16 dev);
-+int hci_dev_reset(__u16 dev);
-+int hci_dev_reset_stat(__u16 dev);
-+int hci_dev_cmd(unsigned int cmd, unsigned long arg);
-+int hci_get_dev_list(unsigned long arg);
-+int hci_get_dev_info(unsigned long arg);
-+int hci_get_conn_list(unsigned long arg);
-+int hci_get_conn_info(struct hci_dev *hdev, unsigned long arg);
-+int hci_inquiry(unsigned long arg);
-
--extern int hci_recv_frame(struct sk_buff *skb);
-+int hci_recv_frame(struct sk_buff *skb);
-+void hci_event_packet(struct hci_dev *hdev, struct sk_buff *skb);
-
- /* ----- LMP capabilities ----- */
- #define lmp_rswitch_capable(dev) (dev->features[0] & LMP_RSWITCH)
-+#define lmp_encrypt_capable(dev) (dev->features[0] & LMP_ENCRYPT)
-
- /* ----- HCI tasks ----- */
- static inline void hci_sched_cmd(struct hci_dev *hdev)
-@@ -284,43 +355,130 @@
- /* ----- HCI protocols ----- */
- struct hci_proto {
- char *name;
-- __u32 id;
-- __u32 flags;
-+ unsigned int id;
-+ unsigned long flags;
-
- void *priv;
-
-- int (*connect_ind) (struct hci_dev *hdev, bdaddr_t *bdaddr);
-- int (*connect_cfm) (struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 status, struct hci_conn *conn);
-+ int (*connect_ind) (struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 type);
-+ int (*connect_cfm) (struct hci_conn *conn, __u8 status);
- int (*disconn_ind) (struct hci_conn *conn, __u8 reason);
-- int (*recv_acldata) (struct hci_conn *conn, struct sk_buff *skb , __u16 flags);
-+ int (*recv_acldata) (struct hci_conn *conn, struct sk_buff *skb, __u16 flags);
- int (*recv_scodata) (struct hci_conn *conn, struct sk_buff *skb);
-+ int (*auth_cfm) (struct hci_conn *conn, __u8 status);
-+ int (*encrypt_cfm) (struct hci_conn *conn, __u8 status);
- };
-
--extern int hci_register_proto(struct hci_proto *hproto);
--extern int hci_unregister_proto(struct hci_proto *hproto);
--extern int hci_register_notifier(struct notifier_block *nb);
--extern int hci_unregister_notifier(struct notifier_block *nb);
--extern int hci_connect(struct hci_dev * hdev, bdaddr_t * bdaddr);
--extern int hci_disconnect(struct hci_conn *conn, __u8 reason);
--extern int hci_send_cmd(struct hci_dev *hdev, __u16 ogf, __u16 ocf, __u32 plen, void * param);
--extern int hci_send_raw(struct sk_buff *skb);
--extern int hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags);
--extern int hci_send_sco(struct hci_conn *conn, struct sk_buff *skb);
-+static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 type)
-+{
-+ register struct hci_proto *hp;
-+ int mask = 0;
-+
-+ hp = hci_proto[HCI_PROTO_L2CAP];
-+ if (hp && hp->connect_ind)
-+ mask |= hp->connect_ind(hdev, bdaddr, type);
-+
-+ hp = hci_proto[HCI_PROTO_SCO];
-+ if (hp && hp->connect_ind)
-+ mask |= hp->connect_ind(hdev, bdaddr, type);
-+
-+ return mask;
-+}
-+
-+static inline void hci_proto_connect_cfm(struct hci_conn *conn, __u8 status)
-+{
-+ register struct hci_proto *hp;
-+
-+ hp = hci_proto[HCI_PROTO_L2CAP];
-+ if (hp && hp->connect_cfm)
-+ hp->connect_cfm(conn, status);
-+
-+ hp = hci_proto[HCI_PROTO_SCO];
-+ if (hp && hp->connect_cfm)
-+ hp->connect_cfm(conn, status);
-+}
-+
-+static inline void hci_proto_disconn_ind(struct hci_conn *conn, __u8 reason)
-+{
-+ register struct hci_proto *hp;
-+
-+ hp = hci_proto[HCI_PROTO_L2CAP];
-+ if (hp && hp->disconn_ind)
-+ hp->disconn_ind(conn, reason);
-+
-+ hp = hci_proto[HCI_PROTO_SCO];
-+ if (hp && hp->disconn_ind)
-+ hp->disconn_ind(conn, reason);
-+}
-+
-+static inline void hci_proto_auth_cfm(struct hci_conn *conn, __u8 status)
-+{
-+ register struct hci_proto *hp;
-+
-+ hp = hci_proto[HCI_PROTO_L2CAP];
-+ if (hp && hp->auth_cfm)
-+ hp->auth_cfm(conn, status);
-+
-+ hp = hci_proto[HCI_PROTO_SCO];
-+ if (hp && hp->auth_cfm)
-+ hp->auth_cfm(conn, status);
-+}
-+
-+static inline void hci_proto_encrypt_cfm(struct hci_conn *conn, __u8 status)
-+{
-+ register struct hci_proto *hp;
-+
-+ hp = hci_proto[HCI_PROTO_L2CAP];
-+ if (hp && hp->encrypt_cfm)
-+ hp->encrypt_cfm(conn, status);
-+
-+ hp = hci_proto[HCI_PROTO_SCO];
-+ if (hp && hp->encrypt_cfm)
-+ hp->encrypt_cfm(conn, status);
-+}
-+
-+int hci_register_proto(struct hci_proto *hproto);
-+int hci_unregister_proto(struct hci_proto *hproto);
-+int hci_register_notifier(struct notifier_block *nb);
-+int hci_unregister_notifier(struct notifier_block *nb);
-+
-+int hci_send_cmd(struct hci_dev *hdev, __u16 ogf, __u16 ocf, __u32 plen, void *param);
-+int hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags);
-+int hci_send_sco(struct hci_conn *conn, struct sk_buff *skb);
-+
-+void *hci_sent_cmd_data(struct hci_dev *hdev, __u16 ogf, __u16 ocf);
-+
-+void hci_si_event(struct hci_dev *hdev, int type, int dlen, void *data);
-
- /* ----- HCI Sockets ----- */
--extern void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb);
-+void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb);
-
- /* HCI info for socket */
--#define hci_pi(sk) ((struct hci_pinfo *) &sk->protinfo)
-+#define hci_pi(sk) ((struct hci_pinfo *) &sk->tp_pinfo)
- struct hci_pinfo {
- struct hci_dev *hdev;
- struct hci_filter filter;
- __u32 cmsg_mask;
- };
-
-+/* HCI security filter */
-+#define HCI_SFLT_MAX_OGF 5
-+
-+struct hci_sec_filter {
-+ __u32 type_mask;
-+ __u32 event_mask[2];
-+ __u32 ocf_mask[HCI_SFLT_MAX_OGF + 1][4];
-+};
-+
- /* ----- HCI requests ----- */
- #define HCI_REQ_DONE 0
- #define HCI_REQ_PEND 1
- #define HCI_REQ_CANCELED 2
-
-+#define hci_req_lock(d) down(&d->req_lock)
-+#define hci_req_unlock(d) up(&d->req_lock)
-+
-+void hci_req_complete(struct hci_dev *hdev, int result);
-+void hci_req_cancel(struct hci_dev *hdev, int err);
-+
- #endif /* __HCI_CORE_H */
-diff -urN linux-2.4.18/include/net/bluetooth/hci.h linux-2.4.18-mh15/include/net/bluetooth/hci.h
---- linux-2.4.18/include/net/bluetooth/hci.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/hci.h 2004-08-01 16:26:23.000000000 +0200
-@@ -23,59 +23,80 @@
- */
-
- /*
-- * $Id: hci.h,v 1.15 2001/08/05 06:02:15 maxk Exp $
-+ * $Id: hci.h,v 1.5 2002/06/27 17:29:30 maxk Exp $
- */
-
- #ifndef __HCI_H
- #define __HCI_H
-
--#include <asm/byteorder.h>
--
--#define HCI_MAX_DEV 8
--#define HCI_MAX_FRAME_SIZE 2048
-+#define HCI_MAX_ACL_SIZE 1024
-+#define HCI_MAX_SCO_SIZE 255
-+#define HCI_MAX_EVENT_SIZE 260
-+#define HCI_MAX_FRAME_SIZE (HCI_MAX_ACL_SIZE + 4)
-
- /* HCI dev events */
- #define HCI_DEV_REG 1
- #define HCI_DEV_UNREG 2
- #define HCI_DEV_UP 3
- #define HCI_DEV_DOWN 4
-+#define HCI_DEV_SUSPEND 5
-+#define HCI_DEV_RESUME 6
-
- /* HCI device types */
--#define HCI_UART 0
-+#define HCI_VHCI 0
- #define HCI_USB 1
--#define HCI_VHCI 2
--
--/* HCI device modes */
--#define HCI_NORMAL 0x0001
--#define HCI_RAW 0x0002
--#define HCI_MODE_MASK (HCI_NORMAL | HCI_RAW)
--#define HCI_SOCK 0x1000
--
--/* HCI device states */
--#define HCI_INIT 0x0010
--#define HCI_UP 0x0020
--#define HCI_RUNNING 0x0040
-+#define HCI_PCCARD 2
-+#define HCI_UART 3
-+#define HCI_RS232 4
-+#define HCI_PCI 5
-+
-+/* HCI device quirks */
-+enum {
-+ HCI_QUIRK_RESET_ON_INIT
-+};
-
- /* HCI device flags */
--#define HCI_PSCAN 0x0100
--#define HCI_ISCAN 0x0200
--#define HCI_AUTH 0x0400
-+enum {
-+ HCI_UP,
-+ HCI_INIT,
-+ HCI_RUNNING,
-+
-+ HCI_PSCAN,
-+ HCI_ISCAN,
-+ HCI_AUTH,
-+ HCI_ENCRYPT,
-+ HCI_INQUIRY,
-+
-+ HCI_RAW
-+};
-
--/* HCI Ioctl defines */
-+/* HCI ioctl defines */
- #define HCIDEVUP _IOW('H', 201, int)
- #define HCIDEVDOWN _IOW('H', 202, int)
- #define HCIDEVRESET _IOW('H', 203, int)
--#define HCIRESETSTAT _IOW('H', 204, int)
--#define HCIGETINFO _IOR('H', 205, int)
--#define HCIGETDEVLIST _IOR('H', 206, int)
--#define HCISETRAW _IOW('H', 207, int)
--#define HCISETSCAN _IOW('H', 208, int)
--#define HCISETAUTH _IOW('H', 209, int)
--#define HCIINQUIRY _IOR('H', 210, int)
--#define HCISETPTYPE _IOW('H', 211, int)
-+#define HCIDEVRESTAT _IOW('H', 204, int)
-+
-+#define HCIGETDEVLIST _IOR('H', 210, int)
-+#define HCIGETDEVINFO _IOR('H', 211, int)
- #define HCIGETCONNLIST _IOR('H', 212, int)
-+#define HCIGETCONNINFO _IOR('H', 213, int)
-
--#ifndef __NO_HCI_DEFS
-+#define HCISETRAW _IOW('H', 220, int)
-+#define HCISETSCAN _IOW('H', 221, int)
-+#define HCISETAUTH _IOW('H', 222, int)
-+#define HCISETENCRYPT _IOW('H', 223, int)
-+#define HCISETPTYPE _IOW('H', 224, int)
-+#define HCISETLINKPOL _IOW('H', 225, int)
-+#define HCISETLINKMODE _IOW('H', 226, int)
-+#define HCISETACLMTU _IOW('H', 227, int)
-+#define HCISETSCOMTU _IOW('H', 228, int)
-+
-+#define HCIINQUIRY _IOR('H', 240, int)
-+
-+/* HCI timeouts */
-+#define HCI_CONN_TIMEOUT (HZ * 40)
-+#define HCI_DISCONN_TIMEOUT (HZ * 2)
-+#define HCI_CONN_IDLE_TIMEOUT (HZ * 60)
-
- /* HCI Packet types */
- #define HCI_COMMAND_PKT 0x01
-@@ -92,11 +113,18 @@
- #define HCI_DH3 0x0800
- #define HCI_DH5 0x8000
-
-+#define HCI_HV1 0x0020
-+#define HCI_HV2 0x0040
-+#define HCI_HV3 0x0080
-+
-+#define SCO_PTYPE_MASK (HCI_HV1 | HCI_HV2 | HCI_HV3)
-+#define ACL_PTYPE_MASK (~SCO_PTYPE_MASK)
-+
- /* ACL flags */
--#define ACL_CONT 0x0001
--#define ACL_START 0x0002
--#define ACL_ACTIVE_BCAST 0x0010
--#define ACL_PICO_BCAST 0x0020
-+#define ACL_CONT 0x01
-+#define ACL_START 0x02
-+#define ACL_ACTIVE_BCAST 0x04
-+#define ACL_PICO_BCAST 0x08
-
- /* Baseband links */
- #define SCO_LINK 0x00
-@@ -125,6 +153,20 @@
- #define LMP_PSCHEME 0x02
- #define LMP_PCONTROL 0x04
-
-+/* Link policies */
-+#define HCI_LP_RSWITCH 0x0001
-+#define HCI_LP_HOLD 0x0002
-+#define HCI_LP_SNIFF 0x0004
-+#define HCI_LP_PARK 0x0008
-+
-+/* Link mode */
-+#define HCI_LM_ACCEPT 0x8000
-+#define HCI_LM_MASTER 0x0001
-+#define HCI_LM_AUTH 0x0002
-+#define HCI_LM_ENCRYPT 0x0004
-+#define HCI_LM_TRUSTED 0x0008
-+#define HCI_LM_RELIABLE 0x0010
-+
- /* ----- HCI Commands ----- */
- /* OGF & OCF values */
-
-@@ -137,9 +179,10 @@
- __u8 hci_ver;
- __u16 hci_rev;
- __u8 lmp_ver;
-- __u16 man_name;
-- __u16 lmp_sub;
-+ __u16 manufacturer;
-+ __u16 lmp_subver;
- } __attribute__ ((packed)) read_local_version_rp;
-+#define READ_LOCAL_VERSION_RP_SIZE 9
-
- #define OCF_READ_LOCAL_FEATURES 0x0003
- typedef struct {
-@@ -165,18 +208,24 @@
- /* Host Controller and Baseband */
- #define OGF_HOST_CTL 0x03
- #define OCF_RESET 0x0003
-+#define OCF_READ_AUTH_ENABLE 0x001F
- #define OCF_WRITE_AUTH_ENABLE 0x0020
-- #define AUTH_DISABLED 0x00
-- #define AUTH_ENABLED 0x01
-+ #define AUTH_DISABLED 0x00
-+ #define AUTH_ENABLED 0x01
-+
-+#define OCF_READ_ENCRYPT_MODE 0x0021
-+#define OCF_WRITE_ENCRYPT_MODE 0x0022
-+ #define ENCRYPT_DISABLED 0x00
-+ #define ENCRYPT_P2P 0x01
-+ #define ENCRYPT_BOTH 0x02
-
- #define OCF_WRITE_CA_TIMEOUT 0x0016
- #define OCF_WRITE_PG_TIMEOUT 0x0018
-
- #define OCF_WRITE_SCAN_ENABLE 0x001A
-- #define SCANS_DISABLED 0x00
-- #define IS_ENA_PS_DIS 0x01
-- #define IS_DIS_PS_ENA 0x02
-- #define IS_ENA_PS_ENA 0x03
-+ #define SCAN_DISABLED 0x00
-+ #define SCAN_INQUIRY 0x01
-+ #define SCAN_PAGE 0x02
-
- #define OCF_SET_EVENT_FLT 0x0005
- typedef struct {
-@@ -226,9 +275,18 @@
- } __attribute__ ((packed)) write_class_of_dev_cp;
- #define WRITE_CLASS_OF_DEV_CP_SIZE 3
-
-+#define OCF_HOST_BUFFER_SIZE 0x0033
-+typedef struct {
-+ __u16 acl_mtu;
-+ __u8 sco_mtu;
-+ __u16 acl_max_pkt;
-+ __u16 sco_max_pkt;
-+} __attribute__ ((packed)) host_buffer_size_cp;
-+#define HOST_BUFFER_SIZE_CP_SIZE 7
-+
- /* Link Control */
- #define OGF_LINK_CTL 0x01
--#define OCF_CREATE_CONN 0x0005
-+#define OCF_CREATE_CONN 0x0005
- typedef struct {
- bdaddr_t bdaddr;
- __u16 pkt_type;
-@@ -246,6 +304,13 @@
- } __attribute__ ((packed)) accept_conn_req_cp;
- #define ACCEPT_CONN_REQ_CP_SIZE 7
-
-+#define OCF_REJECT_CONN_REQ 0x000a
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 reason;
-+} __attribute__ ((packed)) reject_conn_req_cp;
-+#define REJECT_CONN_REQ_CP_SIZE 7
-+
- #define OCF_DISCONNECT 0x0006
- typedef struct {
- __u16 handle;
-@@ -253,17 +318,142 @@
- } __attribute__ ((packed)) disconnect_cp;
- #define DISCONNECT_CP_SIZE 3
-
-+#define OCF_ADD_SCO 0x0007
-+typedef struct {
-+ __u16 handle;
-+ __u16 pkt_type;
-+} __attribute__ ((packed)) add_sco_cp;
-+#define ADD_SCO_CP_SIZE 4
-+
- #define OCF_INQUIRY 0x0001
- typedef struct {
- __u8 lap[3];
-- __u8 lenght;
-+ __u8 length;
- __u8 num_rsp;
- } __attribute__ ((packed)) inquiry_cp;
- #define INQUIRY_CP_SIZE 5
-
--#define OGF_LINK_POLICY 0x02 /* Link Policy */
-+typedef struct {
-+ __u8 status;
-+ bdaddr_t bdaddr;
-+} __attribute__ ((packed)) status_bdaddr_rp;
-+#define STATUS_BDADDR_RP_SIZE 7
-+
-+#define OCF_INQUIRY_CANCEL 0x0002
-+
-+#define OCF_LINK_KEY_REPLY 0x000B
-+#define OCF_LINK_KEY_NEG_REPLY 0x000C
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 link_key[16];
-+} __attribute__ ((packed)) link_key_reply_cp;
-+#define LINK_KEY_REPLY_CP_SIZE 22
-+
-+#define OCF_PIN_CODE_REPLY 0x000D
-+#define OCF_PIN_CODE_NEG_REPLY 0x000E
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 pin_len;
-+ __u8 pin_code[16];
-+} __attribute__ ((packed)) pin_code_reply_cp;
-+#define PIN_CODE_REPLY_CP_SIZE 23
-+
-+#define OCF_CHANGE_CONN_PTYPE 0x000F
-+typedef struct {
-+ __u16 handle;
-+ __u16 pkt_type;
-+} __attribute__ ((packed)) change_conn_ptype_cp;
-+#define CHANGE_CONN_PTYPE_CP_SIZE 4
-+
-+#define OCF_AUTH_REQUESTED 0x0011
-+typedef struct {
-+ __u16 handle;
-+} __attribute__ ((packed)) auth_requested_cp;
-+#define AUTH_REQUESTED_CP_SIZE 2
-+
-+#define OCF_SET_CONN_ENCRYPT 0x0013
-+typedef struct {
-+ __u16 handle;
-+ __u8 encrypt;
-+} __attribute__ ((packed)) set_conn_encrypt_cp;
-+#define SET_CONN_ENCRYPT_CP_SIZE 3
-+
-+#define OCF_REMOTE_NAME_REQ 0x0019
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 pscan_rep_mode;
-+ __u8 pscan_mode;
-+ __u16 clock_offset;
-+} __attribute__ ((packed)) remote_name_req_cp;
-+#define REMOTE_NAME_REQ_CP_SIZE 10
-+
-+#define OCF_READ_REMOTE_FEATURES 0x001B
-+typedef struct {
-+ __u16 handle;
-+} __attribute__ ((packed)) read_remote_features_cp;
-+#define READ_REMOTE_FEATURES_CP_SIZE 2
-+
-+#define OCF_READ_REMOTE_VERSION 0x001D
-+typedef struct {
-+ __u16 handle;
-+} __attribute__ ((packed)) read_remote_version_cp;
-+#define READ_REMOTE_VERSION_CP_SIZE 2
-+
-+/* Link Policy */
-+#define OGF_LINK_POLICY 0x02
-+#define OCF_ROLE_DISCOVERY 0x0009
-+typedef struct {
-+ __u16 handle;
-+} __attribute__ ((packed)) role_discovery_cp;
-+#define ROLE_DISCOVERY_CP_SIZE 2
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+ __u8 role;
-+} __attribute__ ((packed)) role_discovery_rp;
-+#define ROLE_DISCOVERY_RP_SIZE 4
-+
-+#define OCF_READ_LINK_POLICY 0x000C
-+typedef struct {
-+ __u16 handle;
-+} __attribute__ ((packed)) read_link_policy_cp;
-+#define READ_LINK_POLICY_CP_SIZE 2
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+ __u16 policy;
-+} __attribute__ ((packed)) read_link_policy_rp;
-+#define READ_LINK_POLICY_RP_SIZE 5
-
--/* --------- HCI Events --------- */
-+#define OCF_SWITCH_ROLE 0x000B
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 role;
-+} __attribute__ ((packed)) switch_role_cp;
-+#define SWITCH_ROLE_CP_SIZE 7
-+
-+#define OCF_WRITE_LINK_POLICY 0x000D
-+typedef struct {
-+ __u16 handle;
-+ __u16 policy;
-+} __attribute__ ((packed)) write_link_policy_cp;
-+#define WRITE_LINK_POLICY_CP_SIZE 4
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+} __attribute__ ((packed)) write_link_policy_rp;
-+#define WRITE_LINK_POLICY_RP_SIZE 3
-+
-+/* Status params */
-+#define OGF_STATUS_PARAM 0x05
-+
-+/* Testing commands */
-+#define OGF_TESTING_CMD 0x3e
-+
-+/* Vendor specific commands */
-+#define OGF_VENDOR_CMD 0x3f
-+
-+/* ---- HCI Events ---- */
- #define EVT_INQUIRY_COMPLETE 0x01
-
- #define EVT_INQUIRY_RESULT 0x02
-@@ -272,11 +462,22 @@
- __u8 pscan_rep_mode;
- __u8 pscan_period_mode;
- __u8 pscan_mode;
-- __u8 class[3];
-+ __u8 dev_class[3];
- __u16 clock_offset;
- } __attribute__ ((packed)) inquiry_info;
- #define INQUIRY_INFO_SIZE 14
-
-+#define EVT_INQUIRY_RESULT_WITH_RSSI 0x22
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 pscan_rep_mode;
-+ __u8 pscan_period_mode;
-+ __u8 dev_class[3];
-+ __u16 clock_offset;
-+ __s8 rssi;
-+} __attribute__ ((packed)) inquiry_info_with_rssi;
-+#define INQUIRY_INFO_WITH_RSSI_SIZE 14
-+
- #define EVT_CONN_COMPLETE 0x03
- typedef struct {
- __u8 status;
-@@ -303,6 +504,44 @@
- } __attribute__ ((packed)) evt_disconn_complete;
- #define EVT_DISCONN_COMPLETE_SIZE 4
-
-+#define EVT_AUTH_COMPLETE 0x06
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+} __attribute__ ((packed)) evt_auth_complete;
-+#define EVT_AUTH_COMPLETE_SIZE 3
-+
-+#define EVT_REMOTE_NAME_REQ_COMPLETE 0x07
-+typedef struct {
-+ __u8 status;
-+ bdaddr_t bdaddr;
-+ __u8 name[248];
-+} __attribute__ ((packed)) evt_remote_name_req_complete;
-+#define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255
-+
-+#define EVT_ENCRYPT_CHANGE 0x08
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+ __u8 encrypt;
-+} __attribute__ ((packed)) evt_encrypt_change;
-+#define EVT_ENCRYPT_CHANGE_SIZE 5
-+
-+#define EVT_QOS_SETUP_COMPLETE 0x0D
-+typedef struct {
-+ __u8 service_type;
-+ __u32 token_rate;
-+ __u32 peak_bandwidth;
-+ __u32 latency;
-+ __u32 delay_variation;
-+} __attribute__ ((packed)) hci_qos;
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+ hci_qos qos;
-+} __attribute__ ((packed)) evt_qos_setup_complete;
-+#define EVT_QOS_SETUP_COMPLETE_SIZE 20
-+
- #define EVT_CMD_COMPLETE 0x0e
- typedef struct {
- __u8 ncmd;
-@@ -321,16 +560,78 @@
- #define EVT_NUM_COMP_PKTS 0x13
- typedef struct {
- __u8 num_hndl;
-- /* variable lenght part */
-+ /* variable length part */
- } __attribute__ ((packed)) evt_num_comp_pkts;
- #define EVT_NUM_COMP_PKTS_SIZE 1
-
--#define EVT_HCI_DEV_EVENT 0xfd
-+#define EVT_ROLE_CHANGE 0x12
-+typedef struct {
-+ __u8 status;
-+ bdaddr_t bdaddr;
-+ __u8 role;
-+} __attribute__ ((packed)) evt_role_change;
-+#define EVT_ROLE_CHANGE_SIZE 8
-+
-+#define EVT_PIN_CODE_REQ 0x16
-+typedef struct {
-+ bdaddr_t bdaddr;
-+} __attribute__ ((packed)) evt_pin_code_req;
-+#define EVT_PIN_CODE_REQ_SIZE 6
-+
-+#define EVT_LINK_KEY_REQ 0x17
-+typedef struct {
-+ bdaddr_t bdaddr;
-+} __attribute__ ((packed)) evt_link_key_req;
-+#define EVT_LINK_KEY_REQ_SIZE 6
-+
-+#define EVT_LINK_KEY_NOTIFY 0x18
-+typedef struct {
-+ bdaddr_t bdaddr;
-+ __u8 link_key[16];
-+ __u8 key_type;
-+} __attribute__ ((packed)) evt_link_key_notify;
-+#define EVT_LINK_KEY_NOTIFY_SIZE 23
-+
-+#define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+ __u8 features[8];
-+} __attribute__ ((packed)) evt_read_remote_features_complete;
-+#define EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE 11
-+
-+#define EVT_READ_REMOTE_VERSION_COMPLETE 0x0C
-+typedef struct {
-+ __u8 status;
-+ __u16 handle;
-+ __u8 lmp_ver;
-+ __u16 manufacturer;
-+ __u16 lmp_subver;
-+} __attribute__ ((packed)) evt_read_remote_version_complete;
-+#define EVT_READ_REMOTE_VERSION_COMPLETE_SIZE 8
-+
-+/* Internal events generated by BlueZ stack */
-+#define EVT_STACK_INTERNAL 0xfd
-+typedef struct {
-+ __u16 type;
-+ __u8 data[0];
-+} __attribute__ ((packed)) evt_stack_internal;
-+#define EVT_STACK_INTERNAL_SIZE 2
-+
-+#define EVT_SI_DEVICE 0x01
-+typedef struct {
-+ __u16 event;
-+ __u16 dev_id;
-+} __attribute__ ((packed)) evt_si_device;
-+#define EVT_SI_DEVICE_SIZE 4
-+
-+#define EVT_SI_SECURITY 0x02
- typedef struct {
- __u16 event;
-- __u16 param;
--} __attribute__ ((packed)) evt_hci_dev_event;
--#define EVT_HCI_DEV_EVENT_SIZE 4
-+ __u16 proto;
-+ __u16 subproto;
-+ __u8 incomming;
-+} __attribute__ ((packed)) evt_si_security;
-
- /* -------- HCI Packet structures -------- */
- #define HCI_TYPE_LEN 1
-@@ -369,14 +670,14 @@
- #define acl_handle(h) (h & 0x0fff)
- #define acl_flags(h) (h >> 12)
-
--#endif /* _NO_HCI_DEFS */
--
- /* HCI Socket options */
--#define HCI_DATA_DIR 0x0001
--#define HCI_FILTER 0x0002
-+#define HCI_DATA_DIR 1
-+#define HCI_FILTER 2
-+#define HCI_TIME_STAMP 3
-
- /* HCI CMSG flags */
- #define HCI_CMSG_DIR 0x0001
-+#define HCI_CMSG_TSTAMP 0x0002
-
- struct sockaddr_hci {
- sa_family_t hci_family;
-@@ -387,27 +688,29 @@
- struct hci_filter {
- __u32 type_mask;
- __u32 event_mask[2];
-+ __u16 opcode;
- };
-
--struct hci_dev_req {
-- __u16 dev_id;
-- __u32 dev_opt;
--};
--
--struct hci_dev_list_req {
-- __u16 dev_num;
-- struct hci_dev_req dev_req[0]; /* hci_dev_req structures */
--};
--
--struct hci_inquiry_req {
-- __u16 dev_id;
-- __u16 flags;
-- __u8 lap[3];
-- __u8 length;
-- __u8 num_rsp;
--};
--#define IREQ_CACHE_FLUSH 0x0001
-+#define HCI_FLT_TYPE_BITS 31
-+#define HCI_FLT_EVENT_BITS 63
-+#define HCI_FLT_OGF_BITS 63
-+#define HCI_FLT_OCF_BITS 127
-+
-+#if BITS_PER_LONG == 64
-+static inline void hci_set_bit(int nr, void *addr)
-+{
-+ *((__u32 *) addr + (nr >> 5)) |= ((__u32) 1 << (nr & 31));
-+}
-+static inline int hci_test_bit(int nr, void *addr)
-+{
-+ return *((__u32 *) addr + (nr >> 5)) & ((__u32) 1 << (nr & 31));
-+}
-+#else
-+#define hci_set_bit set_bit
-+#define hci_test_bit test_bit
-+#endif
-
-+/* Ioctl requests structures */
- struct hci_dev_stats {
- __u32 err_rx;
- __u32 err_tx;
-@@ -433,11 +736,13 @@
- __u8 features[8];
-
- __u32 pkt_type;
-+ __u32 link_policy;
-+ __u32 link_mode;
-
- __u16 acl_mtu;
-- __u16 acl_max;
-+ __u16 acl_pkts;
- __u16 sco_mtu;
-- __u16 sco_max;
-+ __u16 sco_pkts;
-
- struct hci_dev_stats stat;
- };
-@@ -445,6 +750,20 @@
- struct hci_conn_info {
- __u16 handle;
- bdaddr_t bdaddr;
-+ __u8 type;
-+ __u8 out;
-+ __u16 state;
-+ __u32 link_mode;
-+};
-+
-+struct hci_dev_req {
-+ __u16 dev_id;
-+ __u32 dev_opt;
-+};
-+
-+struct hci_dev_list_req {
-+ __u16 dev_num;
-+ struct hci_dev_req dev_req[0]; /* hci_dev_req structures */
- };
-
- struct hci_conn_list_req {
-@@ -453,4 +772,26 @@
- struct hci_conn_info conn_info[0];
- };
-
-+struct hci_conn_info_req {
-+ bdaddr_t bdaddr;
-+ __u8 type;
-+ struct hci_conn_info conn_info[0];
-+};
-+
-+struct hci_inquiry_req {
-+ __u16 dev_id;
-+ __u16 flags;
-+ __u8 lap[3];
-+ __u8 length;
-+ __u8 num_rsp;
-+};
-+#define IREQ_CACHE_FLUSH 0x0001
-+
-+struct hci_remotename_req {
-+ __u16 dev_id;
-+ __u16 flags;
-+ bdaddr_t bdaddr;
-+ __u8 name[248];
-+};
-+
- #endif /* __HCI_H */
-diff -urN linux-2.4.18/include/net/bluetooth/hci_uart.h linux-2.4.18-mh15/include/net/bluetooth/hci_uart.h
---- linux-2.4.18/include/net/bluetooth/hci_uart.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/hci_uart.h 1970-01-01 01:00:00.000000000 +0100
-@@ -1,62 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * $Id: hci_uart.h,v 1.2 2001/06/02 01:40:08 maxk Exp $
-- */
--
--#ifndef N_HCI
--#define N_HCI 15
--#endif
--
--#ifdef __KERNEL__
--
--#define tty2n_hci(tty) ((struct n_hci *)((tty)->disc_data))
--#define n_hci2tty(n_hci) ((n_hci)->tty)
--
--struct n_hci {
-- struct tty_struct *tty;
-- struct hci_dev hdev;
--
-- struct sk_buff_head txq;
-- unsigned long tx_state;
--
-- spinlock_t rx_lock;
-- unsigned long rx_state;
-- unsigned long rx_count;
-- struct sk_buff *rx_skb;
--};
--
--/* Transmit states */
--#define TRANS_SENDING 1
--#define TRANS_WAKEUP 2
--
--/* Receiver States */
--#define WAIT_PACKET_TYPE 0
--#define WAIT_EVENT_HDR 1
--#define WAIT_ACL_HDR 2
--#define WAIT_SCO_HDR 3
--#define WAIT_DATA 4
--
--#endif /* __KERNEL__ */
-diff -urN linux-2.4.18/include/net/bluetooth/hci_usb.h linux-2.4.18-mh15/include/net/bluetooth/hci_usb.h
---- linux-2.4.18/include/net/bluetooth/hci_usb.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/hci_usb.h 1970-01-01 01:00:00.000000000 +0100
-@@ -1,68 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * $Id: hci_usb.h,v 1.3 2001/06/02 01:40:08 maxk Exp $
-- */
--
--#ifdef __KERNEL__
--
--/* Class, SubClass, and Protocol codes that describe a Bluetooth device */
--#define HCI_DEV_CLASS 0xe0 /* Wireless class */
--#define HCI_DEV_SUBCLASS 0x01 /* RF subclass */
--#define HCI_DEV_PROTOCOL 0x01 /* Bluetooth programming protocol */
--
--#define HCI_CTRL_REQ 0x20
--
--struct hci_usb {
-- struct usb_device *udev;
--
-- devrequest dev_req;
-- struct urb *ctrl_urb;
-- struct urb *intr_urb;
-- struct urb *read_urb;
-- struct urb *write_urb;
--
-- __u8 *read_buf;
-- __u8 *intr_buf;
-- struct sk_buff *intr_skb;
-- int intr_count;
--
-- __u8 bulk_out_ep_addr;
-- __u8 bulk_in_ep_addr;
-- __u8 intr_in_ep_addr;
-- __u8 intr_in_interval;
--
-- struct hci_dev hdev;
--
-- unsigned long tx_state;
-- struct sk_buff_head tx_ctrl_q;
-- struct sk_buff_head tx_write_q;
--};
--
--/* Transmit states */
--#define HCI_TX_CTRL 1
--#define HCI_TX_WRITE 2
--
--#endif /* __KERNEL__ */
-diff -urN linux-2.4.18/include/net/bluetooth/hci_vhci.h linux-2.4.18-mh15/include/net/bluetooth/hci_vhci.h
---- linux-2.4.18/include/net/bluetooth/hci_vhci.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/hci_vhci.h 1970-01-01 01:00:00.000000000 +0100
-@@ -1,50 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * $Id: hci_vhci.h,v 1.2 2001/08/01 01:02:20 maxk Exp $
-- */
--
--#ifndef __HCI_VHCI_H
--#define __HCI_VHCI_H
--
--#ifdef __KERNEL__
--
--struct hci_vhci_struct {
-- struct hci_dev hdev;
-- __u32 flags;
-- wait_queue_head_t read_wait;
-- struct sk_buff_head readq;
-- struct fasync_struct *fasync;
--};
--
--/* VHCI device flags */
--#define VHCI_FASYNC 0x0010
--
--#endif /* __KERNEL__ */
--
--#define VHCI_DEV "/dev/vhci"
--#define VHCI_MINOR 250
--
--#endif /* __HCI_VHCI_H */
-diff -urN linux-2.4.18/include/net/bluetooth/l2cap_core.h linux-2.4.18-mh15/include/net/bluetooth/l2cap_core.h
---- linux-2.4.18/include/net/bluetooth/l2cap_core.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/l2cap_core.h 1970-01-01 01:00:00.000000000 +0100
-@@ -1,144 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * $Id: l2cap_core.h,v 1.6 2001/08/03 04:19:49 maxk Exp $
-- */
--
--#ifndef __L2CAP_CORE_H
--#define __L2CAP_CORE_H
--
--#ifdef __KERNEL__
--
--/* ----- L2CAP interface ----- */
--struct l2cap_iff {
-- struct list_head list;
-- struct hci_dev *hdev;
-- bdaddr_t *bdaddr;
-- __u16 mtu;
-- spinlock_t lock;
-- struct list_head conn_list;
--};
--
--static inline void l2cap_iff_lock(struct l2cap_iff *iff)
--{
-- spin_lock(&iff->lock);
--}
--
--static inline void l2cap_iff_unlock(struct l2cap_iff *iff)
--{
-- spin_unlock(&iff->lock);
--}
--
--/* ----- L2CAP connections ----- */
--struct l2cap_chan_list {
-- struct sock *head;
-- rwlock_t lock;
-- long num;
--};
--
--struct l2cap_conn {
-- struct l2cap_iff *iff;
-- struct list_head list;
--
-- struct hci_conn *hconn;
--
-- __u16 state;
-- __u8 out;
-- bdaddr_t src;
-- bdaddr_t dst;
--
-- spinlock_t lock;
-- atomic_t refcnt;
--
-- struct sk_buff *rx_skb;
-- __u32 rx_len;
-- __u8 rx_ident;
-- __u8 tx_ident;
--
-- struct l2cap_chan_list chan_list;
--
-- struct timer_list timer;
--};
--
--static inline void __l2cap_conn_link(struct l2cap_iff *iff, struct l2cap_conn *c)
--{
-- list_add(&c->list, &iff->conn_list);
--}
--
--static inline void __l2cap_conn_unlink(struct l2cap_iff *iff, struct l2cap_conn *c)
--{
-- list_del(&c->list);
--}
--
--/* ----- L2CAP channel and socket info ----- */
--#define l2cap_pi(sk) ((struct l2cap_pinfo *) &sk->protinfo)
--
--struct l2cap_accept_q {
-- struct sock *head;
-- struct sock *tail;
--};
--
--struct l2cap_pinfo {
-- bdaddr_t src;
-- bdaddr_t dst;
-- __u16 psm;
-- __u16 dcid;
-- __u16 scid;
-- __u32 flags;
--
-- __u16 imtu;
-- __u16 omtu;
-- __u16 flush_to;
--
-- __u8 conf_state;
-- __u16 conf_mtu;
--
-- __u8 ident;
--
-- struct l2cap_conn *conn;
-- struct sock *next_c;
-- struct sock *prev_c;
--
-- struct sock *parent;
-- struct sock *next_q;
-- struct sock *prev_q;
--
-- struct l2cap_accept_q accept_q;
--};
--
--#define CONF_REQ_SENT 0x01
--#define CONF_INPUT_DONE 0x02
--#define CONF_OUTPUT_DONE 0x04
--
--extern struct bluez_sock_list l2cap_sk_list;
--extern struct list_head l2cap_iff_list;
--extern rwlock_t l2cap_rt_lock;
--
--extern void l2cap_register_proc(void);
--extern void l2cap_unregister_proc(void);
--
--#endif /* __KERNEL__ */
--
--#endif /* __L2CAP_CORE_H */
-diff -urN linux-2.4.18/include/net/bluetooth/l2cap.h linux-2.4.18-mh15/include/net/bluetooth/l2cap.h
---- linux-2.4.18/include/net/bluetooth/l2cap.h 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/include/net/bluetooth/l2cap.h 2004-08-01 16:26:23.000000000 +0200
-@@ -23,22 +23,17 @@
- */
-
- /*
-- * $Id: l2cap.h,v 1.5 2001/06/14 21:28:26 maxk Exp $
-+ * $Id: l2cap.h,v 1.1.1.1 2002/03/08 21:03:15 maxk Exp $
- */
-
- #ifndef __L2CAP_H
- #define __L2CAP_H
-
--#include <asm/types.h>
--#include <asm/byteorder.h>
--
- /* L2CAP defaults */
- #define L2CAP_DEFAULT_MTU 672
- #define L2CAP_DEFAULT_FLUSH_TO 0xFFFF
-
- #define L2CAP_CONN_TIMEOUT (HZ * 40)
--#define L2CAP_DISCONN_TIMEOUT (HZ * 2)
--#define L2CAP_CONN_IDLE_TIMEOUT (HZ * 60)
-
- /* L2CAP socket address */
- struct sockaddr_l2 {
-@@ -47,17 +42,12 @@
- bdaddr_t l2_bdaddr;
- };
-
--/* set/get sockopt defines */
--#define L2CAP_OPTIONS 0x01
-+/* Socket options */
-+#define L2CAP_OPTIONS 0x01
- struct l2cap_options {
- __u16 omtu;
- __u16 imtu;
- __u16 flush_to;
-- __u32 token_rate;
-- __u32 bucket_size;
-- __u32 pick_band;
-- __u32 latency;
-- __u32 delay_var;
- };
-
- #define L2CAP_CONNINFO 0x02
-@@ -65,6 +55,27 @@
- __u16 hci_handle;
- };
-
-+#define L2CAP_LM 0x03
-+#define L2CAP_LM_MASTER 0x0001
-+#define L2CAP_LM_AUTH 0x0002
-+#define L2CAP_LM_ENCRYPT 0x0004
-+#define L2CAP_LM_TRUSTED 0x0008
-+#define L2CAP_LM_RELIABLE 0x0010
-+
-+#define L2CAP_QOS 0x04
-+struct l2cap_qos {
-+ __u16 service_type;
-+ __u32 token_rate;
-+ __u32 token_bucket_size;
-+ __u32 peak_bandwidth;
-+ __u32 latency;
-+ __u32 delay_variation;
-+};
-+
-+#define L2CAP_SERV_NO_TRAFFIC 0x00
-+#define L2CAP_SERV_BEST_EFFORT 0x01
-+#define L2CAP_SERV_GUARANTEED 0x02
-+
- /* L2CAP command codes */
- #define L2CAP_COMMAND_REJ 0x01
- #define L2CAP_CONN_REQ 0x02
-@@ -79,7 +90,6 @@
- #define L2CAP_INFO_RSP 0x0b
-
- /* L2CAP structures */
--
- typedef struct {
- __u16 len;
- __u16 cid;
-@@ -112,11 +122,17 @@
- } __attribute__ ((packed)) l2cap_conn_rsp;
- #define L2CAP_CONN_RSP_SIZE 8
-
--#define L2CAP_CONN_SUCCESS 0x0000
--#define L2CAP_CONN_PEND 0x0001
--#define L2CAP_CONN_BAD_PSM 0x0002
--#define L2CAP_CONN_SEC_BLOCK 0x0003
--#define L2CAP_CONN_NO_MEM 0x0004
-+/* connect result */
-+#define L2CAP_CR_SUCCESS 0x0000
-+#define L2CAP_CR_PEND 0x0001
-+#define L2CAP_CR_BAD_PSM 0x0002
-+#define L2CAP_CR_SEC_BLOCK 0x0003
-+#define L2CAP_CR_NO_MEM 0x0004
-+
-+/* connect status */
-+#define L2CAP_CS_NO_INFO 0x0000
-+#define L2CAP_CS_AUTHEN_PEND 0x0001
-+#define L2CAP_CS_AUTHOR_PEND 0x0002
-
- typedef struct {
- __u16 dcid;
-@@ -147,6 +163,8 @@
- #define L2CAP_CONF_FLUSH_TO 0x02
- #define L2CAP_CONF_QOS 0x03
-
-+#define L2CAP_CONF_MAX_SIZE 22
-+
- typedef struct {
- __u16 dcid;
- __u16 scid;
-@@ -159,4 +177,82 @@
- } __attribute__ ((packed)) l2cap_disconn_rsp;
- #define L2CAP_DISCONN_RSP_SIZE 4
-
-+typedef struct {
-+ __u16 type;
-+ __u8 data[0];
-+} __attribute__ ((packed)) l2cap_info_req;
-+#define L2CAP_INFO_REQ_SIZE 2
-+
-+typedef struct {
-+ __u16 type;
-+ __u16 result;
-+ __u8 data[0];
-+} __attribute__ ((packed)) l2cap_info_rsp;
-+#define L2CAP_INFO_RSP_SIZE 4
-+
-+/* info type */
-+#define L2CAP_IT_CL_MTU 0x0001
-+#define L2CAP_IT_FEAT_MASK 0x0002
-+
-+/* info result */
-+#define L2CAP_IR_SUCCESS 0x0000
-+#define L2CAP_IR_NOTSUPP 0x0001
-+
-+/* ----- L2CAP connections ----- */
-+struct l2cap_chan_list {
-+ struct sock *head;
-+ rwlock_t lock;
-+ long num;
-+};
-+
-+struct l2cap_conn {
-+ struct hci_conn *hcon;
-+
-+ bdaddr_t *dst;
-+ bdaddr_t *src;
-+
-+ unsigned int mtu;
-+
-+ spinlock_t lock;
-+
-+ struct sk_buff *rx_skb;
-+ __u32 rx_len;
-+ __u8 rx_ident;
-+ __u8 tx_ident;
-+
-+ struct l2cap_chan_list chan_list;
-+};
-+
-+/* ----- L2CAP channel and socket info ----- */
-+#define l2cap_pi(sk) ((struct l2cap_pinfo *) &sk->tp_pinfo)
-+
-+struct l2cap_pinfo {
-+ __u16 psm;
-+ __u16 dcid;
-+ __u16 scid;
-+
-+ __u16 imtu;
-+ __u16 omtu;
-+ __u16 flush_to;
-+
-+ __u32 link_mode;
-+
-+ __u8 conf_state;
-+ __u8 conf_retry;
-+ __u16 conf_mtu;
-+
-+ __u8 ident;
-+
-+ struct l2cap_conn *conn;
-+ struct sock *next_c;
-+ struct sock *prev_c;
-+};
-+
-+#define L2CAP_CONF_REQ_SENT 0x01
-+#define L2CAP_CONF_INPUT_DONE 0x02
-+#define L2CAP_CONF_OUTPUT_DONE 0x04
-+#define L2CAP_CONF_MAX_RETRIES 2
-+
-+void l2cap_load(void);
-+
- #endif /* __L2CAP_H */
-diff -urN linux-2.4.18/include/net/bluetooth/rfcomm.h linux-2.4.18-mh15/include/net/bluetooth/rfcomm.h
---- linux-2.4.18/include/net/bluetooth/rfcomm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/include/net/bluetooth/rfcomm.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,361 @@
-+/*
-+ RFCOMM implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
-+ Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ RPN support - Dirk Husemann <hud@zurich.ibm.com>
-+*/
-+
-+/*
-+ * $Id: rfcomm.h,v 1.31 2002/10/18 20:12:11 maxk Exp $
-+ */
-+
-+#ifndef __RFCOMM_H
-+#define __RFCOMM_H
-+
-+#define RFCOMM_PSM 3
-+
-+#define RFCOMM_CONN_TIMEOUT (HZ * 30)
-+#define RFCOMM_DISC_TIMEOUT (HZ * 20)
-+
-+#define RFCOMM_DEFAULT_MTU 127
-+#define RFCOMM_DEFAULT_CREDITS 7
-+
-+#define RFCOMM_MAX_L2CAP_MTU 1024
-+#define RFCOMM_MAX_CREDITS 40
-+
-+#define RFCOMM_SKB_HEAD_RESERVE 8
-+#define RFCOMM_SKB_TAIL_RESERVE 2
-+#define RFCOMM_SKB_RESERVE (RFCOMM_SKB_HEAD_RESERVE + RFCOMM_SKB_TAIL_RESERVE)
-+
-+#define RFCOMM_SABM 0x2f
-+#define RFCOMM_DISC 0x43
-+#define RFCOMM_UA 0x63
-+#define RFCOMM_DM 0x0f
-+#define RFCOMM_UIH 0xef
-+
-+#define RFCOMM_TEST 0x08
-+#define RFCOMM_FCON 0x28
-+#define RFCOMM_FCOFF 0x18
-+#define RFCOMM_MSC 0x38
-+#define RFCOMM_RPN 0x24
-+#define RFCOMM_RLS 0x14
-+#define RFCOMM_PN 0x20
-+#define RFCOMM_NSC 0x04
-+
-+#define RFCOMM_V24_FC 0x02
-+#define RFCOMM_V24_RTC 0x04
-+#define RFCOMM_V24_RTR 0x08
-+#define RFCOMM_V24_IC 0x40
-+#define RFCOMM_V24_DV 0x80
-+
-+#define RFCOMM_RPN_BR_2400 0x0
-+#define RFCOMM_RPN_BR_4800 0x1
-+#define RFCOMM_RPN_BR_7200 0x2
-+#define RFCOMM_RPN_BR_9600 0x3
-+#define RFCOMM_RPN_BR_19200 0x4
-+#define RFCOMM_RPN_BR_38400 0x5
-+#define RFCOMM_RPN_BR_57600 0x6
-+#define RFCOMM_RPN_BR_115200 0x7
-+#define RFCOMM_RPN_BR_230400 0x8
-+
-+#define RFCOMM_RPN_DATA_5 0x0
-+#define RFCOMM_RPN_DATA_6 0x1
-+#define RFCOMM_RPN_DATA_7 0x2
-+#define RFCOMM_RPN_DATA_8 0x3
-+
-+#define RFCOMM_RPN_STOP_1 0
-+#define RFCOMM_RPN_STOP_15 1
-+
-+#define RFCOMM_RPN_PARITY_NONE 0x0
-+#define RFCOMM_RPN_PARITY_ODD 0x4
-+#define RFCOMM_RPN_PARITY_EVEN 0x5
-+#define RFCOMM_RPN_PARITY_MARK 0x6
-+#define RFCOMM_RPN_PARITY_SPACE 0x7
-+
-+#define RFCOMM_RPN_FLOW_NONE 0x00
-+
-+#define RFCOMM_RPN_XON_CHAR 0x11
-+#define RFCOMM_RPN_XOFF_CHAR 0x13
-+
-+#define RFCOMM_RPN_PM_BITRATE 0x0001
-+#define RFCOMM_RPN_PM_DATA 0x0002
-+#define RFCOMM_RPN_PM_STOP 0x0004
-+#define RFCOMM_RPN_PM_PARITY 0x0008
-+#define RFCOMM_RPN_PM_PARITY_TYPE 0x0010
-+#define RFCOMM_RPN_PM_XON 0x0020
-+#define RFCOMM_RPN_PM_XOFF 0x0040
-+#define RFCOMM_RPN_PM_FLOW 0x3F00
-+
-+#define RFCOMM_RPN_PM_ALL 0x3F7F
-+
-+struct rfcomm_hdr {
-+ u8 addr;
-+ u8 ctrl;
-+ u8 len; // Actual size can be 2 bytes
-+} __attribute__ ((packed));
-+
-+struct rfcomm_cmd {
-+ u8 addr;
-+ u8 ctrl;
-+ u8 len;
-+ u8 fcs;
-+} __attribute__ ((packed));
-+
-+struct rfcomm_mcc {
-+ u8 type;
-+ u8 len;
-+} __attribute__ ((packed));
-+
-+struct rfcomm_pn {
-+ u8 dlci;
-+ u8 flow_ctrl;
-+ u8 priority;
-+ u8 ack_timer;
-+ u16 mtu;
-+ u8 max_retrans;
-+ u8 credits;
-+} __attribute__ ((packed));
-+
-+struct rfcomm_rpn {
-+ u8 dlci;
-+ u8 bit_rate;
-+ u8 line_settings;
-+ u8 flow_ctrl;
-+ u8 xon_char;
-+ u8 xoff_char;
-+ u16 param_mask;
-+} __attribute__ ((packed));
-+
-+struct rfcomm_rls {
-+ u8 dlci;
-+ u8 status;
-+} __attribute__ ((packed));
-+
-+struct rfcomm_msc {
-+ u8 dlci;
-+ u8 v24_sig;
-+} __attribute__ ((packed));
-+
-+/* ---- Core structures, flags etc ---- */
-+
-+struct rfcomm_session {
-+ struct list_head list;
-+ struct socket *sock;
-+ unsigned long state;
-+ unsigned long flags;
-+ atomic_t refcnt;
-+ int initiator;
-+
-+ /* Default DLC parameters */
-+ int cfc;
-+ uint mtu;
-+
-+ struct list_head dlcs;
-+};
-+
-+struct rfcomm_dlc {
-+ struct list_head list;
-+ struct rfcomm_session *session;
-+ struct sk_buff_head tx_queue;
-+ struct timer_list timer;
-+
-+ spinlock_t lock;
-+ unsigned long state;
-+ unsigned long flags;
-+ atomic_t refcnt;
-+ u8 dlci;
-+ u8 addr;
-+ u8 priority;
-+ u8 v24_sig;
-+ u8 mscex;
-+
-+ uint mtu;
-+ uint cfc;
-+ uint rx_credits;
-+ uint tx_credits;
-+
-+ void *owner;
-+
-+ void (*data_ready)(struct rfcomm_dlc *d, struct sk_buff *skb);
-+ void (*state_change)(struct rfcomm_dlc *d, int err);
-+ void (*modem_status)(struct rfcomm_dlc *d, u8 v24_sig);
-+};
-+
-+/* DLC and session flags */
-+#define RFCOMM_RX_THROTTLED 0
-+#define RFCOMM_TX_THROTTLED 1
-+#define RFCOMM_MSC_PENDING 2
-+#define RFCOMM_TIMED_OUT 3
-+
-+/* Scheduling flags and events */
-+#define RFCOMM_SCHED_STATE 0
-+#define RFCOMM_SCHED_RX 1
-+#define RFCOMM_SCHED_TX 2
-+#define RFCOMM_SCHED_TIMEO 3
-+#define RFCOMM_SCHED_WAKEUP 31
-+
-+/* MSC exchange flags */
-+#define RFCOMM_MSCEX_TX 1
-+#define RFCOMM_MSCEX_RX 2
-+#define RFCOMM_MSCEX_OK (RFCOMM_MSCEX_TX + RFCOMM_MSCEX_RX)
-+
-+/* CFC states */
-+#define RFCOMM_CFC_UNKNOWN -1
-+#define RFCOMM_CFC_DISABLED 0
-+#define RFCOMM_CFC_ENABLED RFCOMM_MAX_CREDITS
-+
-+extern struct task_struct *rfcomm_thread;
-+extern unsigned long rfcomm_event;
-+
-+static inline void rfcomm_schedule(uint event)
-+{
-+ if (!rfcomm_thread)
-+ return;
-+ set_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event);
-+ wake_up_process(rfcomm_thread);
-+}
-+
-+extern struct semaphore rfcomm_sem;
-+#define rfcomm_lock() down(&rfcomm_sem);
-+#define rfcomm_unlock() up(&rfcomm_sem);
-+
-+/* ---- RFCOMM DLCs (channels) ---- */
-+struct rfcomm_dlc *rfcomm_dlc_alloc(int prio);
-+void rfcomm_dlc_free(struct rfcomm_dlc *d);
-+int rfcomm_dlc_open(struct rfcomm_dlc *d, bdaddr_t *src, bdaddr_t *dst, u8 channel);
-+int rfcomm_dlc_close(struct rfcomm_dlc *d, int reason);
-+int rfcomm_dlc_send(struct rfcomm_dlc *d, struct sk_buff *skb);
-+int rfcomm_dlc_set_modem_status(struct rfcomm_dlc *d, u8 v24_sig);
-+int rfcomm_dlc_get_modem_status(struct rfcomm_dlc *d, u8 *v24_sig);
-+
-+#define rfcomm_dlc_lock(d) spin_lock(&d->lock)
-+#define rfcomm_dlc_unlock(d) spin_unlock(&d->lock)
-+
-+static inline void rfcomm_dlc_hold(struct rfcomm_dlc *d)
-+{
-+ atomic_inc(&d->refcnt);
-+}
-+
-+static inline void rfcomm_dlc_put(struct rfcomm_dlc *d)
-+{
-+ if (atomic_dec_and_test(&d->refcnt))
-+ rfcomm_dlc_free(d);
-+}
-+
-+extern void FASTCALL(__rfcomm_dlc_throttle(struct rfcomm_dlc *d));
-+extern void FASTCALL(__rfcomm_dlc_unthrottle(struct rfcomm_dlc *d));
-+
-+static inline void rfcomm_dlc_throttle(struct rfcomm_dlc *d)
-+{
-+ if (!test_and_set_bit(RFCOMM_RX_THROTTLED, &d->flags))
-+ __rfcomm_dlc_throttle(d);
-+}
-+
-+static inline void rfcomm_dlc_unthrottle(struct rfcomm_dlc *d)
-+{
-+ if (test_and_clear_bit(RFCOMM_RX_THROTTLED, &d->flags))
-+ __rfcomm_dlc_unthrottle(d);
-+}
-+
-+/* ---- RFCOMM sessions ---- */
-+struct rfcomm_session *rfcomm_session_add(struct socket *sock, int state);
-+struct rfcomm_session *rfcomm_session_get(bdaddr_t *src, bdaddr_t *dst);
-+struct rfcomm_session *rfcomm_session_create(bdaddr_t *src, bdaddr_t *dst, int *err);
-+void rfcomm_session_del(struct rfcomm_session *s);
-+void rfcomm_session_close(struct rfcomm_session *s, int err);
-+void rfcomm_session_getaddr(struct rfcomm_session *s, bdaddr_t *src, bdaddr_t *dst);
-+
-+static inline void rfcomm_session_hold(struct rfcomm_session *s)
-+{
-+ atomic_inc(&s->refcnt);
-+}
-+
-+static inline void rfcomm_session_put(struct rfcomm_session *s)
-+{
-+ if (atomic_dec_and_test(&s->refcnt))
-+ rfcomm_session_del(s);
-+}
-+
-+/* ---- RFCOMM chechsum ---- */
-+extern u8 rfcomm_crc_table[];
-+
-+/* ---- RFCOMM sockets ---- */
-+struct sockaddr_rc {
-+ sa_family_t rc_family;
-+ bdaddr_t rc_bdaddr;
-+ u8 rc_channel;
-+};
-+
-+#define rfcomm_pi(sk) ((struct rfcomm_pinfo *) &sk->tp_pinfo)
-+
-+struct rfcomm_pinfo {
-+ struct rfcomm_dlc *dlc;
-+ u8 channel;
-+};
-+
-+int rfcomm_init_sockets(void);
-+void rfcomm_cleanup_sockets(void);
-+
-+int rfcomm_connect_ind(struct rfcomm_session *s, u8 channel, struct rfcomm_dlc **d);
-+
-+/* ---- RFCOMM TTY ---- */
-+#define RFCOMM_MAX_DEV 256
-+
-+#define RFCOMMCREATEDEV _IOW('R', 200, int)
-+#define RFCOMMRELEASEDEV _IOW('R', 201, int)
-+#define RFCOMMGETDEVLIST _IOR('R', 210, int)
-+#define RFCOMMGETDEVINFO _IOR('R', 211, int)
-+#define RFCOMMSTEALDLC _IOW('R', 220, int)
-+
-+#define RFCOMM_REUSE_DLC 0
-+#define RFCOMM_RELEASE_ONHUP 1
-+#define RFCOMM_HANGUP_NOW 2
-+#define RFCOMM_TTY_ATTACHED 3
-+
-+struct rfcomm_dev_req {
-+ s16 dev_id;
-+ u32 flags;
-+ bdaddr_t src;
-+ bdaddr_t dst;
-+ u8 channel;
-+};
-+
-+struct rfcomm_dev_info {
-+ s16 id;
-+ u32 flags;
-+ u16 state;
-+ bdaddr_t src;
-+ bdaddr_t dst;
-+ u8 channel;
-+};
-+
-+struct rfcomm_dev_list_req {
-+ u16 dev_num;
-+ struct rfcomm_dev_info dev_info[0];
-+};
-+
-+int rfcomm_dev_ioctl(struct sock *sk, unsigned int cmd, unsigned long arg);
-+int rfcomm_init_ttys(void);
-+void rfcomm_cleanup_ttys(void);
-+
-+#endif /* __RFCOMM_H */
-diff -urN linux-2.4.18/include/net/bluetooth/sco.h linux-2.4.18-mh15/include/net/bluetooth/sco.h
---- linux-2.4.18/include/net/bluetooth/sco.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/include/net/bluetooth/sco.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,81 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: sco.h,v 1.1.1.1 2002/03/08 21:03:15 maxk Exp $
-+ */
-+
-+#ifndef __SCO_H
-+#define __SCO_H
-+
-+/* SCO defaults */
-+#define SCO_DEFAULT_MTU 500
-+#define SCO_DEFAULT_FLUSH_TO 0xFFFF
-+
-+#define SCO_CONN_TIMEOUT (HZ * 40)
-+#define SCO_DISCONN_TIMEOUT (HZ * 2)
-+#define SCO_CONN_IDLE_TIMEOUT (HZ * 60)
-+
-+/* SCO socket address */
-+struct sockaddr_sco {
-+ sa_family_t sco_family;
-+ bdaddr_t sco_bdaddr;
-+};
-+
-+/* set/get sockopt defines */
-+#define SCO_OPTIONS 0x01
-+struct sco_options {
-+ __u16 mtu;
-+};
-+
-+#define SCO_CONNINFO 0x02
-+struct sco_conninfo {
-+ __u16 hci_handle;
-+};
-+
-+/* ---- SCO connections ---- */
-+struct sco_conn {
-+ struct hci_conn *hcon;
-+
-+ bdaddr_t *dst;
-+ bdaddr_t *src;
-+
-+ spinlock_t lock;
-+ struct sock *sk;
-+
-+ unsigned int mtu;
-+};
-+
-+#define sco_conn_lock(c) spin_lock(&c->lock);
-+#define sco_conn_unlock(c) spin_unlock(&c->lock);
-+
-+/* ----- SCO socket info ----- */
-+#define sco_pi(sk) ((struct sco_pinfo *) &sk->tp_pinfo)
-+
-+struct sco_pinfo {
-+ __u32 flags;
-+ struct sco_conn *conn;
-+};
-+
-+#endif /* __SCO_H */
-diff -urN linux-2.4.18/include/pcmcia/ciscode.h linux-2.4.18-mh15/include/pcmcia/ciscode.h
---- linux-2.4.18/include/pcmcia/ciscode.h 2001-12-21 18:42:04.000000000 +0100
-+++ linux-2.4.18-mh15/include/pcmcia/ciscode.h 2004-08-01 16:26:23.000000000 +0200
-@@ -1,5 +1,5 @@
- /*
-- * ciscode.h 1.48 2001/08/24 12:16:12
-+ * ciscode.h 1.57 2002/11/03 20:38:14
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
-@@ -60,6 +60,10 @@
- #define PRODID_INTEL_DUAL_RS232 0x0301
- #define PRODID_INTEL_2PLUS 0x8422
-
-+#define MANFID_KME 0x0032
-+#define PRODID_KME_KXLC005_A 0x0704
-+#define PRODID_KME_KXLC005_B 0x2904
-+
- #define MANFID_LINKSYS 0x0143
- #define PRODID_LINKSYS_PCMLM28 0xc0ab
- #define PRODID_LINKSYS_3400 0x3341
-@@ -94,6 +98,8 @@
- #define PRODID_OSITECH_JACK_336 0x0007
- #define PRODID_OSITECH_SEVEN 0x0008
-
-+#define MANFID_OXSEMI 0x0279
-+
- #define MANFID_PIONEER 0x000b
-
- #define MANFID_PSION 0x016c
-@@ -103,6 +109,7 @@
- #define PRODID_QUATECH_SPP100 0x0003
- #define PRODID_QUATECH_DUAL_RS232 0x0012
- #define PRODID_QUATECH_DUAL_RS232_D1 0x0007
-+#define PRODID_QUATECH_DUAL_RS232_D2 0x0052
- #define PRODID_QUATECH_QUAD_RS232 0x001b
- #define PRODID_QUATECH_DUAL_RS422 0x000e
- #define PRODID_QUATECH_QUAD_RS422 0x0045
-@@ -120,9 +127,12 @@
-
- #define MANFID_TDK 0x0105
- #define PRODID_TDK_CF010 0x0900
-+#define PRODID_TDK_GN3410 0x4815
-
- #define MANFID_TOSHIBA 0x0098
-
-+#define MANFID_UNGERMANN 0x02c0
-+
- #define MANFID_XIRCOM 0x0105
-
- #endif /* _LINUX_CISCODE_H */
-diff -urN linux-2.4.18/kernel/ksyms.c linux-2.4.18-mh15/kernel/ksyms.c
---- linux-2.4.18/kernel/ksyms.c 2002-02-25 20:38:13.000000000 +0100
-+++ linux-2.4.18-mh15/kernel/ksyms.c 2004-08-01 16:26:23.000000000 +0200
-@@ -47,6 +47,7 @@
- #include <linux/in6.h>
- #include <linux/completion.h>
- #include <linux/seq_file.h>
-+#include <linux/firmware.h>
- #include <asm/checksum.h>
-
- #if defined(CONFIG_PROC_FS)
-@@ -538,6 +539,13 @@
- EXPORT_SYMBOL(strspn);
- EXPORT_SYMBOL(strsep);
-
-+#ifdef CONFIG_FW_LOADER
-+EXPORT_SYMBOL(release_firmware);
-+EXPORT_SYMBOL(request_firmware);
-+EXPORT_SYMBOL(request_firmware_nowait);
-+EXPORT_SYMBOL(register_firmware);
-+#endif
-+
- /* software interrupts */
- EXPORT_SYMBOL(tasklet_hi_vec);
- EXPORT_SYMBOL(tasklet_vec);
-diff -urN linux-2.4.18/lib/Config.in linux-2.4.18-mh15/lib/Config.in
---- linux-2.4.18/lib/Config.in 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/lib/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,12 @@
-+#
-+# Library configuration
-+#
-+mainmenu_option next_comment
-+comment 'Library routines'
-+
-+if [ "$CONFIG_EXPERIMENTAL" = "y" -a \
-+ "$CONFIG_HOTPLUG" = "y" ]; then
-+ tristate 'Hotplug firmware loading support (EXPERIMENTAL)' CONFIG_FW_LOADER
-+fi
-+
-+endmenu
-diff -urN linux-2.4.18/lib/firmware_class.c linux-2.4.18-mh15/lib/firmware_class.c
---- linux-2.4.18/lib/firmware_class.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/lib/firmware_class.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,573 @@
-+/*
-+ * firmware_class.c - Multi purpose firmware loading support
-+ *
-+ * Copyright (c) 2003 Manuel Estrada Sainz <ranty@debian.org>
-+ *
-+ * Please see Documentation/firmware_class/ for more information.
-+ *
-+ */
-+/*
-+ * Based on kernel/kmod.c and drivers/usb/usb.c
-+ */
-+/*
-+ kernel/kmod.c
-+ Kirk Petersen
-+
-+ Reorganized not to be a daemon by Adam Richter, with guidance
-+ from Greg Zornetzer.
-+
-+ Modified to avoid chroot and file sharing problems.
-+ Mikael Pettersson
-+
-+ Limit the concurrent number of kmod modprobes to catch loops from
-+ "modprobe needs a service that is in a module".
-+ Keith Owens <kaos@ocs.com.au> December 1999
-+
-+ Unblock all signals when we exec a usermode process.
-+ Shuu Yamaguchi <shuu@wondernetworkresources.com> December 2000
-+*/
-+/*
-+ * drivers/usb/usb.c
-+ *
-+ * (C) Copyright Linus Torvalds 1999
-+ * (C) Copyright Johannes Erdfelt 1999-2001
-+ * (C) Copyright Andreas Gal 1999
-+ * (C) Copyright Gregory P. Smith 1999
-+ * (C) Copyright Deti Fliegl 1999 (new USB architecture)
-+ * (C) Copyright Randy Dunlap 2000
-+ * (C) Copyright David Brownell 2000 (kernel hotplug, usb_device_id)
-+ * (C) Copyright Yggdrasil Computing, Inc. 2000
-+ * (usb_device_id matching changes by Adam J. Richter)
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/string.h>
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/kmod.h>
-+#include <linux/proc_fs.h>
-+#include <linux/vmalloc.h>
-+#include <asm/hardirq.h>
-+
-+#include "linux/firmware.h"
-+
-+MODULE_AUTHOR("Manuel Estrada Sainz <ranty@debian.org>");
-+MODULE_DESCRIPTION("Multi purpose firmware loading support");
-+MODULE_LICENSE("GPL");
-+
-+#define err(format, arg...) \
-+ printk(KERN_ERR "%s:%s: " format "\n",__FILE__, __FUNCTION__ , ## arg)
-+#define warn(format, arg...) \
-+ printk(KERN_WARNING "%s:%s: " format "\n",__FILE__, __FUNCTION__ , ## arg)
-+#define dbg(format, arg...) \
-+ printk(KERN_DEBUG "%s:%s: " format "\n",__FILE__, __FUNCTION__ , ## arg)
-+
-+static int loading_timeout = 10; /* In seconds */
-+static struct proc_dir_entry *proc_dir_timeout;
-+static struct proc_dir_entry *proc_dir;
-+
-+#ifdef CONFIG_HOTPLUG
-+
-+static int
-+call_helper(char *verb, const char *name, const char *device)
-+{
-+ char *argv[3], **envp, *buf, *scratch;
-+ int i = 0;
-+
-+ int retval = 0;
-+
-+ if (!hotplug_path[0])
-+ return -ENOENT;
-+ if (in_interrupt()) {
-+ err("in_interrupt");
-+ return -EFAULT;
-+ }
-+ if (!current->fs->root) {
-+ warn("call_policy %s -- no FS yet", verb);
-+ return -EPERM;
-+ }
-+
-+ if (!(envp = (char **) kmalloc(20 * sizeof (char *), GFP_KERNEL))) {
-+ err("unable to allocate envp");
-+ return -ENOMEM;
-+ }
-+ if (!(buf = kmalloc(256, GFP_KERNEL))) {
-+ kfree(envp);
-+ err("unable to allocate buf");
-+ return -ENOMEM;
-+ }
-+
-+ /* only one standardized param to hotplug command: type */
-+ argv[0] = hotplug_path;
-+ argv[1] = "firmware";
-+ argv[2] = 0;
-+
-+ /* minimal command environment */
-+ envp[i++] = "HOME=/";
-+ envp[i++] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin";
-+
-+#ifdef DEBUG
-+ /* hint that policy agent should enter no-stdout debug mode */
-+ envp[i++] = "DEBUG=kernel";
-+#endif
-+ scratch = buf;
-+
-+ if (device) {
-+ envp[i++] = scratch;
-+ scratch += snprintf(scratch, FIRMWARE_NAME_MAX+25,
-+ "DEVPATH=/driver/firmware/%s", device) + 1;
-+ }
-+
-+ envp[i++] = scratch;
-+ scratch += sprintf(scratch, "ACTION=%s", verb) + 1;
-+
-+ envp[i++] = scratch;
-+ scratch += snprintf(scratch, FIRMWARE_NAME_MAX,
-+ "FIRMWARE=%s", name) + 1;
-+
-+ envp[i++] = 0;
-+
-+#ifdef DEBUG
-+ dbg("firmware: %s %s %s", argv[0], argv[1], verb);
-+#endif
-+
-+ retval = call_usermodehelper(argv[0], argv, envp);
-+ if (retval) {
-+ printk("call_usermodehelper return %d\n", retval);
-+ }
-+
-+ kfree(buf);
-+ kfree(envp);
-+ return retval;
-+}
-+#else
-+
-+static inline int
-+call_helper(char *verb, const char *name, const char *device)
-+{
-+ return -ENOENT;
-+}
-+
-+#endif /* CONFIG_HOTPLUG */
-+
-+struct firmware_priv {
-+ struct completion completion;
-+ struct proc_dir_entry *proc_dir;
-+ struct proc_dir_entry *attr_data;
-+ struct proc_dir_entry *attr_loading;
-+ struct firmware *fw;
-+ int loading;
-+ int abort;
-+ int alloc_size;
-+ struct timer_list timeout;
-+};
-+
-+static int
-+firmware_timeout_show(char *buf, char **start, off_t off,
-+ int count, int *eof, void *data)
-+{
-+ return sprintf(buf, "%d\n", loading_timeout);
-+}
-+
-+/**
-+ * firmware_timeout_store:
-+ * Description:
-+ * Sets the number of seconds to wait for the firmware. Once
-+ * this expires an error will be return to the driver and no
-+ * firmware will be provided.
-+ *
-+ * Note: zero means 'wait for ever'
-+ *
-+ **/
-+static int
-+firmware_timeout_store(struct file *file, const char *buf,
-+ unsigned long count, void *data)
-+{
-+ loading_timeout = simple_strtol(buf, NULL, 10);
-+ return count;
-+}
-+
-+static int
-+firmware_loading_show(char *buf, char **start, off_t off,
-+ int count, int *eof, void *data)
-+{
-+ struct firmware_priv *fw_priv = data;
-+ return sprintf(buf, "%d\n", fw_priv->loading);
-+}
-+
-+/**
-+ * firmware_loading_store: - loading control file
-+ * Description:
-+ * The relevant values are:
-+ *
-+ * 1: Start a load, discarding any previous partial load.
-+ * 0: Conclude the load and handle the data to the driver code.
-+ * -1: Conclude the load with an error and discard any written data.
-+ **/
-+static int
-+firmware_loading_store(struct file *file, const char *buf,
-+ unsigned long count, void *data)
-+{
-+ struct firmware_priv *fw_priv = data;
-+ int prev_loading = fw_priv->loading;
-+
-+ fw_priv->loading = simple_strtol(buf, NULL, 10);
-+
-+ switch (fw_priv->loading) {
-+ case -1:
-+ fw_priv->abort = 1;
-+ wmb();
-+ complete(&fw_priv->completion);
-+ break;
-+ case 1:
-+ kfree(fw_priv->fw->data);
-+ fw_priv->fw->data = NULL;
-+ fw_priv->fw->size = 0;
-+ fw_priv->alloc_size = 0;
-+ break;
-+ case 0:
-+ if (prev_loading == 1)
-+ complete(&fw_priv->completion);
-+ break;
-+ }
-+
-+ return count;
-+}
-+
-+static int
-+firmware_data_read(char *buffer, char **start, off_t offset,
-+ int count, int *eof, void *data)
-+{
-+ struct firmware_priv *fw_priv = data;
-+ struct firmware *fw = fw_priv->fw;
-+
-+ if (offset > fw->size)
-+ return 0;
-+ if (offset + count > fw->size)
-+ count = fw->size - offset;
-+
-+ memcpy(buffer, fw->data + offset, count);
-+ *start = (void *) ((long) count);
-+ return count;
-+}
-+static int
-+fw_realloc_buffer(struct firmware_priv *fw_priv, int min_size)
-+{
-+ u8 *new_data;
-+ int new_size;
-+
-+ if (min_size <= fw_priv->alloc_size)
-+ return 0;
-+ if((min_size % PAGE_SIZE) == 0)
-+ new_size = min_size;
-+ else
-+ new_size = (min_size + PAGE_SIZE) & PAGE_MASK;
-+ new_data = vmalloc(new_size);
-+ if (!new_data) {
-+ printk(KERN_ERR "%s: unable to alloc buffer\n", __FUNCTION__);
-+ /* Make sure that we don't keep incomplete data */
-+ fw_priv->abort = 1;
-+ return -ENOMEM;
-+ }
-+ fw_priv->alloc_size = new_size;
-+ if (fw_priv->fw->data) {
-+ memcpy(new_data, fw_priv->fw->data, fw_priv->fw->size);
-+ vfree(fw_priv->fw->data);
-+ }
-+ fw_priv->fw->data = new_data;
-+ BUG_ON(min_size > fw_priv->alloc_size);
-+ return 0;
-+}
-+
-+/**
-+ * firmware_data_write:
-+ *
-+ * Description:
-+ *
-+ * Data written to the 'data' attribute will be later handled to
-+ * the driver as a firmware image.
-+ **/
-+static int
-+firmware_data_write(struct file *file, const char *buffer,
-+ unsigned long count, void *data)
-+{
-+ struct firmware_priv *fw_priv = data;
-+ struct firmware *fw = fw_priv->fw;
-+ int offset = file->f_pos;
-+ int retval;
-+
-+ retval = fw_realloc_buffer(fw_priv, offset + count);
-+ if (retval) {
-+ printk("%s: retval:%d\n", __FUNCTION__, retval);
-+ return retval;
-+ }
-+
-+ memcpy(fw->data + offset, buffer, count);
-+
-+ fw->size = max_t(size_t, offset + count, fw->size);
-+ file->f_pos += count;
-+ return count;
-+}
-+
-+static void
-+firmware_class_timeout(u_long data)
-+{
-+ struct firmware_priv *fw_priv = (struct firmware_priv *) data;
-+ fw_priv->abort = 1;
-+ wmb();
-+ complete(&fw_priv->completion);
-+}
-+static int
-+fw_setup_class_device(struct firmware_priv **fw_priv_p,
-+ const char *fw_name, const char *device)
-+{
-+ int retval;
-+ struct firmware_priv *fw_priv = kmalloc(sizeof (struct firmware_priv),
-+ GFP_KERNEL);
-+ *fw_priv_p = fw_priv;
-+ if (!fw_priv) {
-+ retval = -ENOMEM;
-+ goto out;
-+ }
-+ memset(fw_priv, 0, sizeof (*fw_priv));
-+
-+ init_completion(&fw_priv->completion);
-+
-+ fw_priv->timeout.function = firmware_class_timeout;
-+ fw_priv->timeout.data = (u_long) fw_priv;
-+ init_timer(&fw_priv->timeout);
-+
-+ retval = -EAGAIN;
-+ fw_priv->proc_dir = create_proc_entry(device, 0644 | S_IFDIR, proc_dir);
-+ if (!fw_priv->proc_dir)
-+ goto err_free_fw_priv;
-+
-+ fw_priv->attr_data = create_proc_entry("data", 0644 | S_IFREG,
-+ fw_priv->proc_dir);
-+ if (!fw_priv->attr_data)
-+ goto err_remove_dir;
-+
-+ fw_priv->attr_data->read_proc = firmware_data_read;
-+ fw_priv->attr_data->write_proc = firmware_data_write;
-+ fw_priv->attr_data->data = fw_priv;
-+
-+ fw_priv->attr_loading = create_proc_entry("loading", 0644 | S_IFREG,
-+ fw_priv->proc_dir);
-+ if (!fw_priv->attr_loading)
-+ goto err_remove_data;
-+
-+ fw_priv->attr_loading->read_proc = firmware_loading_show;
-+ fw_priv->attr_loading->write_proc = firmware_loading_store;
-+ fw_priv->attr_loading->data = fw_priv;
-+
-+ retval = 0;
-+ fw_priv->fw = kmalloc(sizeof (struct firmware), GFP_KERNEL);
-+ if (!fw_priv->fw) {
-+ printk(KERN_ERR "%s: kmalloc(struct firmware) failed\n",
-+ __FUNCTION__);
-+ retval = -ENOMEM;
-+ goto err_remove_loading;
-+ }
-+ memset(fw_priv->fw, 0, sizeof (*fw_priv->fw));
-+
-+ goto out;
-+
-+err_remove_loading:
-+ remove_proc_entry("loading", fw_priv->proc_dir);
-+err_remove_data:
-+ remove_proc_entry("data", fw_priv->proc_dir);
-+err_remove_dir:
-+ remove_proc_entry(device, proc_dir);
-+err_free_fw_priv:
-+ kfree(fw_priv);
-+out:
-+ return retval;
-+}
-+static void
-+fw_remove_class_device(struct firmware_priv *fw_priv)
-+{
-+ remove_proc_entry("loading", fw_priv->proc_dir);
-+ remove_proc_entry("data", fw_priv->proc_dir);
-+ remove_proc_entry(fw_priv->proc_dir->name, proc_dir);
-+}
-+
-+/**
-+ * request_firmware: - request firmware to hotplug and wait for it
-+ * Description:
-+ * @firmware will be used to return a firmware image by the name
-+ * of @name for device @device.
-+ *
-+ * Should be called from user context where sleeping is allowed.
-+ *
-+ * @name will be use as $FIRMWARE in the hotplug environment and
-+ * should be distinctive enough not to be confused with any other
-+ * firmware image for this or any other device.
-+ **/
-+int
-+request_firmware(const struct firmware **firmware, const char *name,
-+ const char *device)
-+{
-+ struct firmware_priv *fw_priv;
-+ int retval;
-+
-+ if (!firmware) {
-+ retval = -EINVAL;
-+ goto out;
-+ }
-+ *firmware = NULL;
-+
-+ retval = fw_setup_class_device(&fw_priv, name, device);
-+ if (retval)
-+ goto out;
-+
-+ retval = call_helper("add", name, device);
-+ if (retval)
-+ goto out;
-+ if (loading_timeout) {
-+ fw_priv->timeout.expires = jiffies + loading_timeout * HZ;
-+ add_timer(&fw_priv->timeout);
-+ }
-+
-+ wait_for_completion(&fw_priv->completion);
-+
-+ del_timer(&fw_priv->timeout);
-+ fw_remove_class_device(fw_priv);
-+
-+ if (fw_priv->fw->size && !fw_priv->abort) {
-+ *firmware = fw_priv->fw;
-+ } else {
-+ retval = -ENOENT;
-+ vfree(fw_priv->fw->data);
-+ kfree(fw_priv->fw);
-+ }
-+out:
-+ kfree(fw_priv);
-+ return retval;
-+}
-+
-+void
-+release_firmware(const struct firmware *fw)
-+{
-+ if (fw) {
-+ vfree(fw->data);
-+ kfree(fw);
-+ }
-+}
-+
-+/**
-+ * register_firmware: - provide a firmware image for later usage
-+ *
-+ * Description:
-+ * Make sure that @data will be available by requesting firmware @name.
-+ *
-+ * Note: This will not be possible until some kind of persistence
-+ * is available.
-+ **/
-+void
-+register_firmware(const char *name, const u8 *data, size_t size)
-+{
-+ /* This is meaningless without firmware caching, so until we
-+ * decide if firmware caching is reasonable just leave it as a
-+ * noop */
-+}
-+
-+/* Async support */
-+struct firmware_work {
-+ struct tq_struct work;
-+ struct module *module;
-+ const char *name;
-+ const char *device;
-+ void *context;
-+ void (*cont)(const struct firmware *fw, void *context);
-+};
-+
-+static void
-+request_firmware_work_func(void *arg)
-+{
-+ struct firmware_work *fw_work = arg;
-+ const struct firmware *fw;
-+ if (!arg)
-+ return;
-+ request_firmware(&fw, fw_work->name, fw_work->device);
-+ fw_work->cont(fw, fw_work->context);
-+ release_firmware(fw);
-+ __MOD_DEC_USE_COUNT(fw_work->module);
-+ kfree(fw_work);
-+}
-+
-+/**
-+ * request_firmware_nowait:
-+ *
-+ * Description:
-+ * Asynchronous variant of request_firmware() for contexts where
-+ * it is not possible to sleep.
-+ *
-+ * @cont will be called asynchronously when the firmware request is over.
-+ *
-+ * @context will be passed over to @cont.
-+ *
-+ * @fw may be %NULL if firmware request fails.
-+ *
-+ **/
-+int
-+request_firmware_nowait(
-+ struct module *module,
-+ const char *name, const char *device, void *context,
-+ void (*cont)(const struct firmware *fw, void *context))
-+{
-+ struct firmware_work *fw_work = kmalloc(sizeof (struct firmware_work),
-+ GFP_ATOMIC);
-+ if (!fw_work)
-+ return -ENOMEM;
-+ if (!try_inc_mod_count(module)) {
-+ kfree(fw_work);
-+ return -EFAULT;
-+ }
-+
-+ *fw_work = (struct firmware_work) {
-+ .module = module,
-+ .name = name,
-+ .device = device,
-+ .context = context,
-+ .cont = cont,
-+ };
-+ INIT_TQUEUE(&fw_work->work, request_firmware_work_func, fw_work);
-+
-+ schedule_task(&fw_work->work);
-+ return 0;
-+}
-+
-+static int __init
-+firmware_class_init(void)
-+{
-+ proc_dir = create_proc_entry("driver/firmware", 0755 | S_IFDIR, NULL);
-+ if (!proc_dir)
-+ return -EAGAIN;
-+ proc_dir_timeout = create_proc_entry("timeout",
-+ 0644 | S_IFREG, proc_dir);
-+ if (!proc_dir_timeout) {
-+ remove_proc_entry("driver/firmware", NULL);
-+ return -EAGAIN;
-+ }
-+ proc_dir_timeout->read_proc = firmware_timeout_show;
-+ proc_dir_timeout->write_proc = firmware_timeout_store;
-+ return 0;
-+}
-+static void __exit
-+firmware_class_exit(void)
-+{
-+ remove_proc_entry("timeout", proc_dir);
-+ remove_proc_entry("driver/firmware", NULL);
-+}
-+
-+module_init(firmware_class_init);
-+module_exit(firmware_class_exit);
-+
-+#ifndef CONFIG_FW_LOADER
-+EXPORT_SYMBOL(release_firmware);
-+EXPORT_SYMBOL(request_firmware);
-+EXPORT_SYMBOL(request_firmware_nowait);
-+EXPORT_SYMBOL(register_firmware);
-+#endif
-diff -urN linux-2.4.18/lib/Makefile linux-2.4.18-mh15/lib/Makefile
---- linux-2.4.18/lib/Makefile 2001-09-18 00:31:15.000000000 +0200
-+++ linux-2.4.18-mh15/lib/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -8,13 +8,17 @@
-
- L_TARGET := lib.a
-
--export-objs := cmdline.o dec_and_lock.o rwsem-spinlock.o rwsem.o
-+export-objs := cmdline.o dec_and_lock.o rwsem-spinlock.o rwsem.o \
-+ firmware_class.o
-
- obj-y := errno.o ctype.o string.o vsprintf.o brlock.o cmdline.o bust_spinlocks.o rbtree.o
-
-+obj-$(CONFIG_FW_LOADER) += firmware_class.o
- obj-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
- obj-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o
-
-+include $(TOPDIR)/drivers/bluetooth/Makefile.lib
-+
- ifneq ($(CONFIG_HAVE_DEC_LOCK),y)
- obj-y += dec_and_lock.o
- endif
-diff -urN linux-2.4.18/MAINTAINERS linux-2.4.18-mh15/MAINTAINERS
---- linux-2.4.18/MAINTAINERS 2002-02-25 20:37:52.000000000 +0100
-+++ linux-2.4.18-mh15/MAINTAINERS 2004-08-01 16:26:23.000000000 +0200
-@@ -252,10 +252,88 @@
- L: linux-kernel@vger.kernel.org
- S: Maintained
-
--BLUETOOTH SUBSYSTEM (BlueZ)
-+BLUETOOTH SUBSYSTEM
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
- P: Maxim Krasnyansky
- M: maxk@qualcomm.com
-+L: bluez-devel@lists.sf.net
- W: http://bluez.sf.net
-+W: http://www.bluez.org
-+W: http://www.holtmann.org/linux/bluetooth/
-+S: Maintained
-+
-+BLUETOOTH RFCOMM LAYER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+P: Maxim Krasnyansky
-+M: maxk@qualcomm.com
-+S: Maintained
-+
-+BLUETOOTH BNEP LAYER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+P: Maxim Krasnyansky
-+M: maxk@qualcomm.com
-+S: Maintained
-+
-+BLUETOOTH CMTP LAYER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HIDP LAYER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI UART DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+P: Maxim Krasnyansky
-+M: maxk@qualcomm.com
-+S: Maintained
-+
-+BLUETOOTH HCI USB DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+P: Maxim Krasnyansky
-+M: maxk@qualcomm.com
-+S: Maintained
-+
-+BLUETOOTH HCI BCM203X DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI BFUSB DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI DTL1 DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI BLUECARD DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI BT3C DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI BTUART DRIVER
-+P: Marcel Holtmann
-+M: marcel@holtmann.org
-+S: Maintained
-+
-+BLUETOOTH HCI VHCI DRIVER
-+P: Maxim Krasnyansky
-+M: maxk@qualcomm.com
- S: Maintained
-
- BTTV VIDEO4LINUX DRIVER
-diff -urN linux-2.4.18/net/bluetooth/af_bluetooth.c linux-2.4.18-mh15/net/bluetooth/af_bluetooth.c
---- linux-2.4.18/net/bluetooth/af_bluetooth.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/af_bluetooth.c 2004-08-01 16:26:23.000000000 +0200
-@@ -25,14 +25,15 @@
- /*
- * BlueZ Bluetooth address family and sockets.
- *
-- * $Id: af_bluetooth.c,v 1.4 2001/07/05 18:42:44 maxk Exp $
-+ * $Id: af_bluetooth.c,v 1.8 2002/07/22 20:32:54 maxk Exp $
- */
--#define VERSION "1.1"
-+#define VERSION "2.4"
-
- #include <linux/config.h>
- #include <linux/module.h>
-
- #include <linux/types.h>
-+#include <linux/list.h>
- #include <linux/errno.h>
- #include <linux/kernel.h>
- #include <linux/major.h>
-@@ -40,6 +41,7 @@
- #include <linux/slab.h>
- #include <linux/skbuff.h>
- #include <linux/init.h>
-+#include <linux/poll.h>
- #include <linux/proc_fs.h>
- #include <net/sock.h>
-
-@@ -48,70 +50,79 @@
- #endif
-
- #include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
-+
-+#ifndef AF_BLUETOOTH_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-
- /* Bluetooth sockets */
--static struct net_proto_family *bluez_sock[BLUEZ_MAX_PROTO];
-+#define BLUEZ_MAX_PROTO 7
-+static struct net_proto_family *bluez_proto[BLUEZ_MAX_PROTO];
-
- int bluez_sock_register(int proto, struct net_proto_family *ops)
- {
-- if (proto > BLUEZ_MAX_PROTO)
-+ if (proto >= BLUEZ_MAX_PROTO)
- return -EINVAL;
-
-- if (bluez_sock[proto])
-+ if (bluez_proto[proto])
- return -EEXIST;
-
-- bluez_sock[proto] = ops;
-+ bluez_proto[proto] = ops;
- return 0;
- }
-
- int bluez_sock_unregister(int proto)
- {
-- if (proto > BLUEZ_MAX_PROTO)
-+ if (proto >= BLUEZ_MAX_PROTO)
- return -EINVAL;
-
-- if (!bluez_sock[proto])
-+ if (!bluez_proto[proto])
- return -ENOENT;
-
-- bluez_sock[proto] = NULL;
-+ bluez_proto[proto] = NULL;
- return 0;
- }
-
- static int bluez_sock_create(struct socket *sock, int proto)
- {
-- if (proto > BLUEZ_MAX_PROTO)
-+ if (proto >= BLUEZ_MAX_PROTO)
- return -EINVAL;
-
- #if defined(CONFIG_KMOD)
-- if (!bluez_sock[proto]) {
-+ if (!bluez_proto[proto]) {
- char module_name[30];
- sprintf(module_name, "bt-proto-%d", proto);
- request_module(module_name);
- }
- #endif
-
-- if (!bluez_sock[proto])
-+ if (!bluez_proto[proto])
- return -ENOENT;
-
-- return bluez_sock[proto]->create(sock, proto);
-+ return bluez_proto[proto]->create(sock, proto);
-+}
-+
-+void bluez_sock_init(struct socket *sock, struct sock *sk)
-+{
-+ sock_init_data(sock, sk);
-+ INIT_LIST_HEAD(&bluez_pi(sk)->accept_q);
- }
-
- void bluez_sock_link(struct bluez_sock_list *l, struct sock *sk)
- {
-- write_lock(&l->lock);
--
-+ write_lock_bh(&l->lock);
- sk->next = l->head;
- l->head = sk;
- sock_hold(sk);
--
-- write_unlock(&l->lock);
-+ write_unlock_bh(&l->lock);
- }
-
- void bluez_sock_unlink(struct bluez_sock_list *l, struct sock *sk)
- {
- struct sock **skp;
-
-- write_lock(&l->lock);
-+ write_lock_bh(&l->lock);
- for (skp = &l->head; *skp; skp = &((*skp)->next)) {
- if (*skp == sk) {
- *skp = sk->next;
-@@ -119,7 +130,163 @@
- break;
- }
- }
-- write_unlock(&l->lock);
-+ write_unlock_bh(&l->lock);
-+}
-+
-+void bluez_accept_enqueue(struct sock *parent, struct sock *sk)
-+{
-+ BT_DBG("parent %p, sk %p", parent, sk);
-+
-+ sock_hold(sk);
-+ list_add_tail(&bluez_pi(sk)->accept_q, &bluez_pi(parent)->accept_q);
-+ bluez_pi(sk)->parent = parent;
-+ parent->ack_backlog++;
-+}
-+
-+static void bluez_accept_unlink(struct sock *sk)
-+{
-+ BT_DBG("sk %p state %d", sk, sk->state);
-+
-+ list_del_init(&bluez_pi(sk)->accept_q);
-+ bluez_pi(sk)->parent->ack_backlog--;
-+ bluez_pi(sk)->parent = NULL;
-+ sock_put(sk);
-+}
-+
-+struct sock *bluez_accept_dequeue(struct sock *parent, struct socket *newsock)
-+{
-+ struct list_head *p, *n;
-+ struct bluez_pinfo *pi;
-+ struct sock *sk;
-+
-+ BT_DBG("parent %p", parent);
-+
-+ list_for_each_safe(p, n, &bluez_pi(parent)->accept_q) {
-+ pi = list_entry(p, struct bluez_pinfo, accept_q);
-+ sk = bluez_sk(pi);
-+
-+ lock_sock(sk);
-+ if (sk->state == BT_CLOSED) {
-+ release_sock(sk);
-+ bluez_accept_unlink(sk);
-+ continue;
-+ }
-+
-+ if (sk->state == BT_CONNECTED || !newsock) {
-+ bluez_accept_unlink(sk);
-+ if (newsock)
-+ sock_graft(sk, newsock);
-+ release_sock(sk);
-+ return sk;
-+ }
-+ release_sock(sk);
-+ }
-+ return NULL;
-+}
-+
-+int bluez_sock_recvmsg(struct socket *sock, struct msghdr *msg, int len, int flags, struct scm_cookie *scm)
-+{
-+ int noblock = flags & MSG_DONTWAIT;
-+ struct sock *sk = sock->sk;
-+ struct sk_buff *skb;
-+ int copied, err;
-+
-+ BT_DBG("sock %p sk %p len %d", sock, sk, len);
-+
-+ if (flags & (MSG_OOB))
-+ return -EOPNOTSUPP;
-+
-+ if (!(skb = skb_recv_datagram(sk, flags, noblock, &err))) {
-+ if (sk->shutdown & RCV_SHUTDOWN)
-+ return 0;
-+ return err;
-+ }
-+
-+ msg->msg_namelen = 0;
-+
-+ copied = skb->len;
-+ if (len < copied) {
-+ msg->msg_flags |= MSG_TRUNC;
-+ copied = len;
-+ }
-+
-+ skb->h.raw = skb->data;
-+ err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied);
-+
-+ skb_free_datagram(sk, skb);
-+
-+ return err ? : copied;
-+}
-+
-+unsigned int bluez_sock_poll(struct file * file, struct socket *sock, poll_table *wait)
-+{
-+ struct sock *sk = sock->sk;
-+ unsigned int mask = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ poll_wait(file, sk->sleep, wait);
-+
-+ if (sk->err || !skb_queue_empty(&sk->error_queue))
-+ mask |= POLLERR;
-+
-+ if (sk->shutdown == SHUTDOWN_MASK)
-+ mask |= POLLHUP;
-+
-+ if (!skb_queue_empty(&sk->receive_queue) ||
-+ !list_empty(&bluez_pi(sk)->accept_q) ||
-+ (sk->shutdown & RCV_SHUTDOWN))
-+ mask |= POLLIN | POLLRDNORM;
-+
-+ if (sk->state == BT_CLOSED)
-+ mask |= POLLHUP;
-+
-+ if (sk->state == BT_CONNECT ||
-+ sk->state == BT_CONNECT2 ||
-+ sk->state == BT_CONFIG)
-+ return mask;
-+
-+ if (sock_writeable(sk))
-+ mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
-+ else
-+ set_bit(SOCK_ASYNC_NOSPACE, &sk->socket->flags);
-+
-+ return mask;
-+}
-+
-+int bluez_sock_wait_state(struct sock *sk, int state, unsigned long timeo)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ int err = 0;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ add_wait_queue(sk->sleep, &wait);
-+ while (sk->state != state) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (!timeo) {
-+ err = -EAGAIN;
-+ break;
-+ }
-+
-+ if (signal_pending(current)) {
-+ err = sock_intr_errno(timeo);
-+ break;
-+ }
-+
-+ release_sock(sk);
-+ timeo = schedule_timeout(timeo);
-+ lock_sock(sk);
-+
-+ if (sk->err) {
-+ err = sock_error(sk);
-+ break;
-+ }
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+ return err;
- }
-
- struct net_proto_family bluez_sock_family_ops =
-@@ -129,9 +296,9 @@
-
- int bluez_init(void)
- {
-- INF("BlueZ HCI Core ver %s Copyright (C) 2000,2001 Qualcomm Inc",
-+ BT_INFO("BlueZ Core ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
-- INF("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-+ BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-
- proc_mkdir("bluetooth", NULL);
-
-@@ -164,5 +331,6 @@
- module_exit(bluez_cleanup);
-
- MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
--MODULE_DESCRIPTION("BlueZ HCI Core ver " VERSION);
-+MODULE_DESCRIPTION("BlueZ Core ver " VERSION);
-+MODULE_LICENSE("GPL");
- #endif
-diff -urN linux-2.4.18/net/bluetooth/bnep/bnep.h linux-2.4.18-mh15/net/bluetooth/bnep/bnep.h
---- linux-2.4.18/net/bluetooth/bnep/bnep.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/bnep.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,185 @@
-+/*
-+ BNEP protocol definition for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+*/
-+
-+/*
-+ * $Id: bnep2.h,v 1.9 2002/07/14 07:09:19 maxk Exp $
-+ */
-+
-+#ifndef _BNEP_H
-+#define _BNEP_H
-+
-+#include <linux/types.h>
-+#include <net/bluetooth/bluetooth.h>
-+
-+#include "crc32.h"
-+
-+// Limits
-+#define BNEP_MAX_PROTO_FILTERS 5
-+#define BNEP_MAX_MULTICAST_FILTERS 20
-+
-+// UUIDs
-+#define BNEP_BASE_UUID 0x0000000000001000800000805F9B34FB
-+#define BNEP_UUID16 0x02
-+#define BNEP_UUID32 0x04
-+#define BNEP_UUID128 0x16
-+
-+#define BNEP_SVC_PANU 0x1115
-+#define BNEP_SVC_NAP 0x1116
-+#define BNEP_SVC_GN 0x1117
-+
-+// Packet types
-+#define BNEP_GENERAL 0x00
-+#define BNEP_CONTROL 0x01
-+#define BNEP_COMPRESSED 0x02
-+#define BNEP_COMPRESSED_SRC_ONLY 0x03
-+#define BNEP_COMPRESSED_DST_ONLY 0x04
-+
-+// Control types
-+#define BNEP_CMD_NOT_UNDERSTOOD 0x00
-+#define BNEP_SETUP_CONN_REQ 0x01
-+#define BNEP_SETUP_CONN_RSP 0x02
-+#define BNEP_FILTER_NET_TYPE_SET 0x03
-+#define BNEP_FILTER_NET_TYPE_RSP 0x04
-+#define BNEP_FILTER_MULTI_ADDR_SET 0x05
-+#define BNEP_FILTER_MULTI_ADDR_RSP 0x06
-+
-+// Extension types
-+#define BNEP_EXT_CONTROL 0x00
-+
-+// Response messages
-+#define BNEP_SUCCESS 0x00
-+
-+#define BNEP_CONN_INVALID_DST 0x01
-+#define BNEP_CONN_INVALID_SRC 0x02
-+#define BNEP_CONN_INVALID_SVC 0x03
-+#define BNEP_CONN_NOT_ALLOWED 0x04
-+
-+#define BNEP_FILTER_UNSUPPORTED_REQ 0x01
-+#define BNEP_FILTER_INVALID_RANGE 0x02
-+#define BNEP_FILTER_INVALID_MCADDR 0x02
-+#define BNEP_FILTER_LIMIT_REACHED 0x03
-+#define BNEP_FILTER_DENIED_SECURITY 0x04
-+
-+// L2CAP settings
-+#define BNEP_MTU 1691
-+#define BNEP_PSM 0x0f
-+#define BNEP_FLUSH_TO 0xffff
-+#define BNEP_CONNECT_TO 15
-+#define BNEP_FILTER_TO 15
-+
-+// Headers
-+#define BNEP_TYPE_MASK 0x7f
-+#define BNEP_EXT_HEADER 0x80
-+
-+struct bnep_setup_conn_req {
-+ __u8 type;
-+ __u8 ctrl;
-+ __u8 uuid_size;
-+ __u8 service[0];
-+} __attribute__((packed));
-+
-+struct bnep_set_filter_req {
-+ __u8 type;
-+ __u8 ctrl;
-+ __u16 len;
-+ __u8 list[0];
-+} __attribute__((packed));
-+
-+struct bnep_control_rsp {
-+ __u8 type;
-+ __u8 ctrl;
-+ __u16 resp;
-+} __attribute__((packed));
-+
-+struct bnep_ext_hdr {
-+ __u8 type;
-+ __u8 len;
-+ __u8 data[0];
-+} __attribute__((packed));
-+
-+/* BNEP ioctl defines */
-+#define BNEPCONNADD _IOW('B', 200, int)
-+#define BNEPCONNDEL _IOW('B', 201, int)
-+#define BNEPGETCONNLIST _IOR('B', 210, int)
-+#define BNEPGETCONNINFO _IOR('B', 211, int)
-+
-+struct bnep_connadd_req {
-+ int sock; // Connected socket
-+ __u32 flags;
-+ __u16 role;
-+ char device[16]; // Name of the Ethernet device
-+};
-+
-+struct bnep_conndel_req {
-+ __u32 flags;
-+ __u8 dst[ETH_ALEN];
-+};
-+
-+struct bnep_conninfo {
-+ __u32 flags;
-+ __u16 role;
-+ __u16 state;
-+ __u8 dst[ETH_ALEN];
-+ char device[16];
-+};
-+
-+struct bnep_connlist_req {
-+ __u32 cnum;
-+ struct bnep_conninfo *ci;
-+};
-+
-+struct bnep_proto_filter {
-+ __u16 start;
-+ __u16 end;
-+};
-+
-+int bnep_add_connection(struct bnep_connadd_req *req, struct socket *sock);
-+int bnep_del_connection(struct bnep_conndel_req *req);
-+int bnep_get_connlist(struct bnep_connlist_req *req);
-+int bnep_get_conninfo(struct bnep_conninfo *ci);
-+
-+// BNEP sessions
-+struct bnep_session {
-+ struct list_head list;
-+
-+ unsigned int role;
-+ unsigned long state;
-+ unsigned long flags;
-+ atomic_t killed;
-+
-+ struct ethhdr eh;
-+ struct msghdr msg;
-+
-+ struct bnep_proto_filter proto_filter[BNEP_MAX_PROTO_FILTERS];
-+ u64 mc_filter;
-+
-+ struct socket *sock;
-+ struct net_device dev;
-+ struct net_device_stats stats;
-+};
-+
-+int bnep_net_init(struct net_device *dev);
-+int bnep_sock_init(void);
-+int bnep_sock_cleanup(void);
-+
-+static inline int bnep_mc_hash(__u8 *addr)
-+{
-+ return (bnep_crc32(~0, addr, ETH_ALEN) >> 26);
-+}
-+
-+#endif
-diff -urN linux-2.4.18/net/bluetooth/bnep/Config.in linux-2.4.18-mh15/net/bluetooth/bnep/Config.in
---- linux-2.4.18/net/bluetooth/bnep/Config.in 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,11 @@
-+#
-+# Bluetooth BNEP layer configuration
-+#
-+
-+dep_tristate 'BNEP protocol support' CONFIG_BLUEZ_BNEP $CONFIG_BLUEZ_L2CAP
-+
-+if [ "$CONFIG_BLUEZ_BNEP" != "n" ]; then
-+ bool ' Multicast filter support' CONFIG_BLUEZ_BNEP_MC_FILTER
-+ bool ' Protocol filter support' CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+fi
-+
-diff -urN linux-2.4.18/net/bluetooth/bnep/core.c linux-2.4.18-mh15/net/bluetooth/bnep/core.c
---- linux-2.4.18/net/bluetooth/bnep/core.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/core.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,718 @@
-+/*
-+ BNEP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2001-2002 Inventel Systemes
-+ Written 2001-2002 by
-+ Clément Moreau <clement.moreau@inventel.fr>
-+ David Libault <david.libault@inventel.fr>
-+
-+ Copyright (C) 2002 Maxim Krasnyanskiy <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: core.c,v 1.18 2002/07/14 07:09:19 maxk Exp $
-+ */
-+
-+#define __KERNEL_SYSCALLS__
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/signal.h>
-+#include <linux/init.h>
-+#include <linux/wait.h>
-+#include <linux/errno.h>
-+#include <linux/smp_lock.h>
-+#include <linux/net.h>
-+#include <net/sock.h>
-+
-+#include <linux/socket.h>
-+#include <linux/file.h>
-+
-+#include <linux/netdevice.h>
-+#include <linux/etherdevice.h>
-+#include <linux/skbuff.h>
-+
-+#include <asm/unaligned.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/l2cap.h>
-+
-+#include "bnep.h"
-+
-+#ifndef CONFIG_BLUEZ_BNEP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+#define VERSION "1.2"
-+
-+static LIST_HEAD(bnep_session_list);
-+static DECLARE_RWSEM(bnep_session_sem);
-+
-+static struct bnep_session *__bnep_get_session(u8 *dst)
-+{
-+ struct bnep_session *s;
-+ struct list_head *p;
-+
-+ BT_DBG("");
-+
-+ list_for_each(p, &bnep_session_list) {
-+ s = list_entry(p, struct bnep_session, list);
-+ if (!memcmp(dst, s->eh.h_source, ETH_ALEN))
-+ return s;
-+ }
-+ return NULL;
-+}
-+
-+static void __bnep_link_session(struct bnep_session *s)
-+{
-+ MOD_INC_USE_COUNT;
-+ list_add(&s->list, &bnep_session_list);
-+}
-+
-+static void __bnep_unlink_session(struct bnep_session *s)
-+{
-+ list_del(&s->list);
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static int bnep_send(struct bnep_session *s, void *data, size_t len)
-+{
-+ struct socket *sock = s->sock;
-+ struct iovec iv = { data, len };
-+ s->msg.msg_iov = &iv;
-+ s->msg.msg_iovlen = 1;
-+ return sock->ops->sendmsg(sock, &s->msg, len, NULL);
-+}
-+
-+static int bnep_send_rsp(struct bnep_session *s, u8 ctrl, u16 resp)
-+{
-+ struct bnep_control_rsp rsp;
-+ rsp.type = BNEP_CONTROL;
-+ rsp.ctrl = ctrl;
-+ rsp.resp = htons(resp);
-+ return bnep_send(s, &rsp, sizeof(rsp));
-+}
-+
-+#ifdef CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+static inline void bnep_set_default_proto_filter(struct bnep_session *s)
-+{
-+ /* (IPv4, ARP) */
-+ s->proto_filter[0].start = htons(0x0800);
-+ s->proto_filter[0].end = htons(0x0806);
-+ /* (RARP, AppleTalk) */
-+ s->proto_filter[1].start = htons(0x8035);
-+ s->proto_filter[1].end = htons(0x80F3);
-+ /* (IPX, IPv6) */
-+ s->proto_filter[2].start = htons(0x8137);
-+ s->proto_filter[2].end = htons(0x86DD);
-+}
-+#endif
-+
-+static int bnep_ctrl_set_netfilter(struct bnep_session *s, u16 *data, int len)
-+{
-+ int n;
-+
-+ if (len < 2)
-+ return -EILSEQ;
-+
-+ n = ntohs(get_unaligned(data));
-+ data++; len -= 2;
-+
-+ if (len < n)
-+ return -EILSEQ;
-+
-+ BT_DBG("filter len %d", n);
-+
-+#ifdef CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+ n /= 4;
-+ if (n <= BNEP_MAX_PROTO_FILTERS) {
-+ struct bnep_proto_filter *f = s->proto_filter;
-+ int i;
-+
-+ for (i = 0; i < n; i++) {
-+ f[i].start = get_unaligned(data++);
-+ f[i].end = get_unaligned(data++);
-+
-+ BT_DBG("proto filter start %d end %d",
-+ f[i].start, f[i].end);
-+ }
-+
-+ if (i < BNEP_MAX_PROTO_FILTERS)
-+ memset(f + i, 0, sizeof(*f));
-+
-+ if (n == 0)
-+ bnep_set_default_proto_filter(s);
-+
-+ bnep_send_rsp(s, BNEP_FILTER_NET_TYPE_RSP, BNEP_SUCCESS);
-+ } else {
-+ bnep_send_rsp(s, BNEP_FILTER_NET_TYPE_RSP, BNEP_FILTER_LIMIT_REACHED);
-+ }
-+#else
-+ bnep_send_rsp(s, BNEP_FILTER_NET_TYPE_RSP, BNEP_FILTER_UNSUPPORTED_REQ);
-+#endif
-+ return 0;
-+}
-+
-+static int bnep_ctrl_set_mcfilter(struct bnep_session *s, u8 *data, int len)
-+{
-+ int n;
-+
-+ if (len < 2)
-+ return -EILSEQ;
-+
-+ n = ntohs(get_unaligned((u16 *) data));
-+ data += 2; len -= 2;
-+
-+ if (len < n)
-+ return -EILSEQ;
-+
-+ BT_DBG("filter len %d", n);
-+
-+#ifdef CONFIG_BLUEZ_BNEP_MC_FILTER
-+ n /= (ETH_ALEN * 2);
-+
-+ if (n > 0) {
-+ s->mc_filter = 0;
-+
-+ /* Always send broadcast */
-+ set_bit(bnep_mc_hash(s->dev.broadcast), &s->mc_filter);
-+
-+ /* Add address ranges to the multicast hash */
-+ for (; n > 0; n--) {
-+ u8 a1[6], *a2;
-+
-+ memcpy(a1, data, ETH_ALEN); data += ETH_ALEN;
-+ a2 = data; data += ETH_ALEN;
-+
-+ BT_DBG("mc filter %s -> %s",
-+ batostr((void *) a1), batostr((void *) a2));
-+
-+ #define INCA(a) { int i = 5; while (i >=0 && ++a[i--] == 0); }
-+
-+ /* Iterate from a1 to a2 */
-+ set_bit(bnep_mc_hash(a1), &s->mc_filter);
-+ while (memcmp(a1, a2, 6) < 0 && s->mc_filter != ~0LL) {
-+ INCA(a1);
-+ set_bit(bnep_mc_hash(a1), &s->mc_filter);
-+ }
-+ }
-+ }
-+
-+ BT_DBG("mc filter hash 0x%llx", s->mc_filter);
-+
-+ bnep_send_rsp(s, BNEP_FILTER_MULTI_ADDR_RSP, BNEP_SUCCESS);
-+#else
-+ bnep_send_rsp(s, BNEP_FILTER_MULTI_ADDR_RSP, BNEP_FILTER_UNSUPPORTED_REQ);
-+#endif
-+ return 0;
-+}
-+
-+static int bnep_rx_control(struct bnep_session *s, void *data, int len)
-+{
-+ u8 cmd = *(u8 *)data;
-+ int err = 0;
-+
-+ data++; len--;
-+
-+ switch (cmd) {
-+ case BNEP_CMD_NOT_UNDERSTOOD:
-+ case BNEP_SETUP_CONN_REQ:
-+ case BNEP_SETUP_CONN_RSP:
-+ case BNEP_FILTER_NET_TYPE_RSP:
-+ case BNEP_FILTER_MULTI_ADDR_RSP:
-+ /* Ignore these for now */
-+ break;
-+
-+ case BNEP_FILTER_NET_TYPE_SET:
-+ err = bnep_ctrl_set_netfilter(s, data, len);
-+ break;
-+
-+ case BNEP_FILTER_MULTI_ADDR_SET:
-+ err = bnep_ctrl_set_mcfilter(s, data, len);
-+ break;
-+
-+ default: {
-+ u8 pkt[3];
-+ pkt[0] = BNEP_CONTROL;
-+ pkt[1] = BNEP_CMD_NOT_UNDERSTOOD;
-+ pkt[2] = cmd;
-+ bnep_send(s, pkt, sizeof(pkt));
-+ }
-+ break;
-+ }
-+
-+ return err;
-+}
-+
-+static int bnep_rx_extension(struct bnep_session *s, struct sk_buff *skb)
-+{
-+ struct bnep_ext_hdr *h;
-+ int err = 0;
-+
-+ do {
-+ h = (void *) skb->data;
-+ if (!skb_pull(skb, sizeof(*h))) {
-+ err = -EILSEQ;
-+ break;
-+ }
-+
-+ BT_DBG("type 0x%x len %d", h->type, h->len);
-+
-+ switch (h->type & BNEP_TYPE_MASK) {
-+ case BNEP_EXT_CONTROL:
-+ bnep_rx_control(s, skb->data, skb->len);
-+ break;
-+
-+ default:
-+ /* Unknown extension, skip it. */
-+ break;
-+ }
-+
-+ if (!skb_pull(skb, h->len)) {
-+ err = -EILSEQ;
-+ break;
-+ }
-+ } while (!err && (h->type & BNEP_EXT_HEADER));
-+
-+ return err;
-+}
-+
-+static u8 __bnep_rx_hlen[] = {
-+ ETH_HLEN, /* BNEP_GENERAL */
-+ 0, /* BNEP_CONTROL */
-+ 2, /* BNEP_COMPRESSED */
-+ ETH_ALEN + 2, /* BNEP_COMPRESSED_SRC_ONLY */
-+ ETH_ALEN + 2 /* BNEP_COMPRESSED_DST_ONLY */
-+};
-+#define BNEP_RX_TYPES (sizeof(__bnep_rx_hlen) - 1)
-+
-+static inline int bnep_rx_frame(struct bnep_session *s, struct sk_buff *skb)
-+{
-+ struct net_device *dev = &s->dev;
-+ struct sk_buff *nskb;
-+ u8 type;
-+
-+ dev->last_rx = jiffies;
-+ s->stats.rx_bytes += skb->len;
-+
-+ type = *(u8 *) skb->data; skb_pull(skb, 1);
-+
-+ if ((type & BNEP_TYPE_MASK) > BNEP_RX_TYPES)
-+ goto badframe;
-+
-+ if ((type & BNEP_TYPE_MASK) == BNEP_CONTROL) {
-+ bnep_rx_control(s, skb->data, skb->len);
-+ kfree_skb(skb);
-+ return 0;
-+ }
-+
-+ skb->mac.raw = skb->data;
-+
-+ /* Verify and pull out header */
-+ if (!skb_pull(skb, __bnep_rx_hlen[type & BNEP_TYPE_MASK]))
-+ goto badframe;
-+
-+ s->eh.h_proto = get_unaligned((u16 *) (skb->data - 2));
-+
-+ if (type & BNEP_EXT_HEADER) {
-+ if (bnep_rx_extension(s, skb) < 0)
-+ goto badframe;
-+ }
-+
-+ /* Strip 802.1p header */
-+ if (ntohs(s->eh.h_proto) == 0x8100) {
-+ if (!skb_pull(skb, 4))
-+ goto badframe;
-+ s->eh.h_proto = get_unaligned((u16 *) (skb->data - 2));
-+ }
-+
-+ /* We have to alloc new skb and copy data here :(. Because original skb
-+ * may not be modified and because of the alignment requirements. */
-+ nskb = alloc_skb(2 + ETH_HLEN + skb->len, GFP_KERNEL);
-+ if (!nskb) {
-+ s->stats.rx_dropped++;
-+ kfree_skb(skb);
-+ return -ENOMEM;
-+ }
-+ skb_reserve(nskb, 2);
-+
-+ /* Decompress header and construct ether frame */
-+ switch (type & BNEP_TYPE_MASK) {
-+ case BNEP_COMPRESSED:
-+ memcpy(__skb_put(nskb, ETH_HLEN), &s->eh, ETH_HLEN);
-+ break;
-+
-+ case BNEP_COMPRESSED_SRC_ONLY:
-+ memcpy(__skb_put(nskb, ETH_ALEN), s->eh.h_dest, ETH_ALEN);
-+ memcpy(__skb_put(nskb, ETH_ALEN), skb->mac.raw, ETH_ALEN);
-+ put_unaligned(s->eh.h_proto, (u16 *) __skb_put(nskb, 2));
-+ break;
-+
-+ case BNEP_COMPRESSED_DST_ONLY:
-+ memcpy(__skb_put(nskb, ETH_ALEN), skb->mac.raw, ETH_ALEN);
-+ memcpy(__skb_put(nskb, ETH_ALEN + 2), s->eh.h_source, ETH_ALEN + 2);
-+ break;
-+
-+ case BNEP_GENERAL:
-+ memcpy(__skb_put(nskb, ETH_ALEN * 2), skb->mac.raw, ETH_ALEN * 2);
-+ put_unaligned(s->eh.h_proto, (u16 *) __skb_put(nskb, 2));
-+ break;
-+ }
-+
-+ memcpy(__skb_put(nskb, skb->len), skb->data, skb->len);
-+ kfree_skb(skb);
-+
-+ s->stats.rx_packets++;
-+ nskb->dev = dev;
-+ nskb->ip_summed = CHECKSUM_UNNECESSARY;
-+ nskb->protocol = eth_type_trans(nskb, dev);
-+ netif_rx_ni(nskb);
-+ return 0;
-+
-+badframe:
-+ s->stats.rx_errors++;
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+static u8 __bnep_tx_types[] = {
-+ BNEP_GENERAL,
-+ BNEP_COMPRESSED_SRC_ONLY,
-+ BNEP_COMPRESSED_DST_ONLY,
-+ BNEP_COMPRESSED
-+};
-+
-+static inline int bnep_tx_frame(struct bnep_session *s, struct sk_buff *skb)
-+{
-+ struct ethhdr *eh = (void *) skb->data;
-+ struct socket *sock = s->sock;
-+ struct iovec iv[3];
-+ int len = 0, il = 0;
-+ u8 type = 0;
-+
-+ BT_DBG("skb %p dev %p type %d", skb, skb->dev, skb->pkt_type);
-+
-+ if (!skb->dev) {
-+ /* Control frame sent by us */
-+ goto send;
-+ }
-+
-+ iv[il++] = (struct iovec) { &type, 1 };
-+ len++;
-+
-+ if (!memcmp(eh->h_dest, s->eh.h_source, ETH_ALEN))
-+ type |= 0x01;
-+
-+ if (!memcmp(eh->h_source, s->eh.h_dest, ETH_ALEN))
-+ type |= 0x02;
-+
-+ if (type)
-+ skb_pull(skb, ETH_ALEN * 2);
-+
-+ type = __bnep_tx_types[type];
-+ switch (type) {
-+ case BNEP_COMPRESSED_SRC_ONLY:
-+ iv[il++] = (struct iovec) { eh->h_source, ETH_ALEN };
-+ len += ETH_ALEN;
-+ break;
-+
-+ case BNEP_COMPRESSED_DST_ONLY:
-+ iv[il++] = (struct iovec) { eh->h_dest, ETH_ALEN };
-+ len += ETH_ALEN;
-+ break;
-+ }
-+
-+send:
-+ iv[il++] = (struct iovec) { skb->data, skb->len };
-+ len += skb->len;
-+
-+ /* FIXME: linearize skb */
-+
-+ s->msg.msg_iov = iv;
-+ s->msg.msg_iovlen = il;
-+ len = sock->ops->sendmsg(sock, &s->msg, len, NULL);
-+ kfree_skb(skb);
-+
-+ if (len > 0) {
-+ s->stats.tx_bytes += len;
-+ s->stats.tx_packets++;
-+ return 0;
-+ }
-+
-+ return len;
-+}
-+
-+static int bnep_session(void *arg)
-+{
-+ struct bnep_session *s = arg;
-+ struct net_device *dev = &s->dev;
-+ struct sock *sk = s->sock->sk;
-+ struct sk_buff *skb;
-+ wait_queue_t wait;
-+
-+ BT_DBG("");
-+
-+ daemonize(); reparent_to_init();
-+
-+ sprintf(current->comm, "kbnepd %s", dev->name);
-+
-+ sigfillset(&current->blocked);
-+ flush_signals(current);
-+
-+ current->nice = -15;
-+
-+ set_fs(KERNEL_DS);
-+
-+ init_waitqueue_entry(&wait, current);
-+ add_wait_queue(sk->sleep, &wait);
-+ while (!atomic_read(&s->killed)) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ // RX
-+ while ((skb = skb_dequeue(&sk->receive_queue))) {
-+ skb_orphan(skb);
-+ bnep_rx_frame(s, skb);
-+ }
-+
-+ if (sk->state != BT_CONNECTED)
-+ break;
-+
-+ // TX
-+ while ((skb = skb_dequeue(&sk->write_queue)))
-+ if (bnep_tx_frame(s, skb))
-+ break;
-+ netif_wake_queue(dev);
-+
-+ schedule();
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+
-+ /* Cleanup session */
-+ down_write(&bnep_session_sem);
-+
-+ /* Delete network device */
-+ unregister_netdev(dev);
-+
-+ /* Release the socket */
-+ fput(s->sock->file);
-+
-+ __bnep_unlink_session(s);
-+
-+ up_write(&bnep_session_sem);
-+ kfree(s);
-+ return 0;
-+}
-+
-+int bnep_add_connection(struct bnep_connadd_req *req, struct socket *sock)
-+{
-+ struct net_device *dev;
-+ struct bnep_session *s, *ss;
-+ u8 dst[ETH_ALEN], src[ETH_ALEN];
-+ int err;
-+
-+ BT_DBG("");
-+
-+ baswap((void *) dst, &bluez_pi(sock->sk)->dst);
-+ baswap((void *) src, &bluez_pi(sock->sk)->src);
-+
-+ s = kmalloc(sizeof(struct bnep_session), GFP_KERNEL);
-+ if (!s)
-+ return -ENOMEM;
-+ memset(s, 0, sizeof(struct bnep_session));
-+
-+ down_write(&bnep_session_sem);
-+
-+ ss = __bnep_get_session(dst);
-+ if (ss && ss->state == BT_CONNECTED) {
-+ err = -EEXIST;
-+ goto failed;
-+ }
-+
-+ dev = &s->dev;
-+
-+ if (*req->device)
-+ strcpy(dev->name, req->device);
-+ else
-+ strcpy(dev->name, "bnep%d");
-+
-+ memset(dev->broadcast, 0xff, ETH_ALEN);
-+
-+ /* This is rx header therefor addresses are swaped.
-+ * ie eh.h_dest is our local address. */
-+ memcpy(s->eh.h_dest, &src, ETH_ALEN);
-+ memcpy(s->eh.h_source, &dst, ETH_ALEN);
-+
-+ s->sock = sock;
-+ s->role = req->role;
-+ s->state = BT_CONNECTED;
-+
-+ s->msg.msg_flags = MSG_NOSIGNAL;
-+
-+#ifdef CONFIG_BLUEZ_BNEP_MC_FILTER
-+ /* Set default mc filter */
-+ set_bit(bnep_mc_hash(dev->broadcast), &s->mc_filter);
-+#endif
-+
-+#ifdef CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+ /* Set default protocol filter */
-+ bnep_set_default_proto_filter(s);
-+#endif
-+
-+ dev->init = bnep_net_init;
-+ dev->priv = s;
-+ err = register_netdev(dev);
-+ if (err) {
-+ goto failed;
-+ }
-+
-+ __bnep_link_session(s);
-+
-+ err = kernel_thread(bnep_session, s, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
-+ if (err < 0) {
-+ /* Session thread start failed, gotta cleanup. */
-+ unregister_netdev(dev);
-+ __bnep_unlink_session(s);
-+ goto failed;
-+ }
-+
-+ up_write(&bnep_session_sem);
-+ strcpy(req->device, dev->name);
-+ return 0;
-+
-+failed:
-+ up_write(&bnep_session_sem);
-+ kfree(s);
-+ return err;
-+}
-+
-+int bnep_del_connection(struct bnep_conndel_req *req)
-+{
-+ struct bnep_session *s;
-+ int err = 0;
-+
-+ BT_DBG("");
-+
-+ down_read(&bnep_session_sem);
-+
-+ s = __bnep_get_session(req->dst);
-+ if (s) {
-+ /* Wakeup user-space which is polling for socket errors.
-+ * This is temporary hack untill we have shutdown in L2CAP */
-+ s->sock->sk->err = EUNATCH;
-+
-+ /* Kill session thread */
-+ atomic_inc(&s->killed);
-+ wake_up_interruptible(s->sock->sk->sleep);
-+ } else
-+ err = -ENOENT;
-+
-+ up_read(&bnep_session_sem);
-+ return err;
-+}
-+
-+static void __bnep_copy_ci(struct bnep_conninfo *ci, struct bnep_session *s)
-+{
-+ memcpy(ci->dst, s->eh.h_source, ETH_ALEN);
-+ strcpy(ci->device, s->dev.name);
-+ ci->flags = s->flags;
-+ ci->state = s->state;
-+ ci->role = s->role;
-+}
-+
-+int bnep_get_connlist(struct bnep_connlist_req *req)
-+{
-+ struct list_head *p;
-+ int err = 0, n = 0;
-+
-+ down_read(&bnep_session_sem);
-+
-+ list_for_each(p, &bnep_session_list) {
-+ struct bnep_session *s;
-+ struct bnep_conninfo ci;
-+
-+ s = list_entry(p, struct bnep_session, list);
-+
-+ __bnep_copy_ci(&ci, s);
-+
-+ if (copy_to_user(req->ci, &ci, sizeof(ci))) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ if (++n >= req->cnum)
-+ break;
-+
-+ req->ci++;
-+ }
-+ req->cnum = n;
-+
-+ up_read(&bnep_session_sem);
-+ return err;
-+}
-+
-+int bnep_get_conninfo(struct bnep_conninfo *ci)
-+{
-+ struct bnep_session *s;
-+ int err = 0;
-+
-+ down_read(&bnep_session_sem);
-+
-+ s = __bnep_get_session(ci->dst);
-+ if (s)
-+ __bnep_copy_ci(ci, s);
-+ else
-+ err = -ENOENT;
-+
-+ up_read(&bnep_session_sem);
-+ return err;
-+}
-+
-+static int __init bnep_init_module(void)
-+{
-+ l2cap_load();
-+
-+ bnep_crc32_init();
-+ bnep_sock_init();
-+
-+ BT_INFO("BlueZ BNEP ver %s", VERSION);
-+ BT_INFO("Copyright (C) 2001,2002 Inventel Systemes");
-+ BT_INFO("Written 2001,2002 by Clement Moreau <clement.moreau@inventel.fr>");
-+ BT_INFO("Written 2001,2002 by David Libault <david.libault@inventel.fr>");
-+ BT_INFO("Copyright (C) 2002 Maxim Krasnyanskiy <maxk@qualcomm.com>");
-+
-+ return 0;
-+}
-+
-+static void __exit bnep_cleanup_module(void)
-+{
-+ bnep_sock_cleanup();
-+ bnep_crc32_cleanup();
-+}
-+
-+module_init(bnep_init_module);
-+module_exit(bnep_cleanup_module);
-+
-+MODULE_DESCRIPTION("BlueZ BNEP ver " VERSION);
-+MODULE_AUTHOR("David Libault <david.libault@inventel.fr>, Maxim Krasnyanskiy <maxk@qualcomm.com>");
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/bnep/crc32.c linux-2.4.18-mh15/net/bluetooth/bnep/crc32.c
---- linux-2.4.18/net/bluetooth/bnep/crc32.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/crc32.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,59 @@
-+/*
-+ * Based on linux-2.5/lib/crc32 by Matt Domsch <Matt_Domsch@dell.com>
-+ *
-+ * FIXME: Remove in 2.5
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/types.h>
-+#include <linux/slab.h>
-+#include <linux/init.h>
-+#include <asm/atomic.h>
-+
-+#include "crc32.h"
-+
-+#define CRCPOLY_BE 0x04c11db7
-+#define CRC_BE_BITS 8
-+
-+static u32 *bnep_crc32_table;
-+
-+/*
-+ * This code is in the public domain; copyright abandoned.
-+ * Liability for non-performance of this code is limited to the amount
-+ * you paid for it. Since it is distributed for free, your refund will
-+ * be very very small. If it breaks, you get to keep both pieces.
-+ */
-+u32 bnep_crc32(u32 crc, unsigned char const *p, size_t len)
-+{
-+ while (len--)
-+ crc = (crc << 8) ^ bnep_crc32_table[(crc >> 24) ^ *p++];
-+
-+ return crc;
-+}
-+
-+int __init bnep_crc32_init(void)
-+{
-+ unsigned i, j;
-+ u32 crc = 0x80000000;
-+
-+ bnep_crc32_table = kmalloc((1 << CRC_BE_BITS) * sizeof(u32), GFP_KERNEL);
-+ if (!bnep_crc32_table)
-+ return -ENOMEM;
-+
-+ bnep_crc32_table[0] = 0;
-+
-+ for (i = 1; i < 1 << CRC_BE_BITS; i <<= 1) {
-+ crc = (crc << 1) ^ ((crc & 0x80000000) ? CRCPOLY_BE : 0);
-+ for (j = 0; j < i; j++)
-+ bnep_crc32_table[i + j] = crc ^ bnep_crc32_table[j];
-+ }
-+ return 0;
-+}
-+
-+void __exit bnep_crc32_cleanup(void)
-+{
-+ if (bnep_crc32_table)
-+ kfree(bnep_crc32_table);
-+ bnep_crc32_table = NULL;
-+}
-diff -urN linux-2.4.18/net/bluetooth/bnep/crc32.h linux-2.4.18-mh15/net/bluetooth/bnep/crc32.h
---- linux-2.4.18/net/bluetooth/bnep/crc32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/crc32.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,10 @@
-+/*
-+ * crc32.h
-+ * See crc32.c for license and changes
-+ *
-+ * FIXME: Remove in 2.5
-+ */
-+
-+int bnep_crc32_init(void);
-+void bnep_crc32_cleanup(void);
-+u32 bnep_crc32(u32 crc, unsigned char const *p, size_t len);
-diff -urN linux-2.4.18/net/bluetooth/bnep/Makefile linux-2.4.18-mh15/net/bluetooth/bnep/Makefile
---- linux-2.4.18/net/bluetooth/bnep/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,10 @@
-+#
-+# Makefile for the Linux Bluetooth BNEP layer
-+#
-+
-+O_TARGET := bnep.o
-+
-+obj-y := core.o sock.o netdev.o crc32.o
-+obj-m += $(O_TARGET)
-+
-+include $(TOPDIR)/Rules.make
-diff -urN linux-2.4.18/net/bluetooth/bnep/netdev.c linux-2.4.18-mh15/net/bluetooth/bnep/netdev.c
---- linux-2.4.18/net/bluetooth/bnep/netdev.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/netdev.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,254 @@
-+/*
-+ BNEP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2001-2002 Inventel Systemes
-+ Written 2001-2002 by
-+ Clément Moreau <clement.moreau@inventel.fr>
-+ David Libault <david.libault@inventel.fr>
-+
-+ Copyright (C) 2002 Maxim Krasnyanskiy <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: netdev.c,v 1.7 2002/07/14 05:39:26 maxk Exp $
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/socket.h>
-+#include <linux/netdevice.h>
-+#include <linux/etherdevice.h>
-+#include <linux/skbuff.h>
-+#include <linux/wait.h>
-+
-+#include <asm/unaligned.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+#include <net/bluetooth/l2cap.h>
-+
-+#include "bnep.h"
-+
-+#ifndef CONFIG_BLUEZ_BNEP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-+
-+#define BNEP_TX_QUEUE_LEN 20
-+
-+static int bnep_net_open(struct net_device *dev)
-+{
-+ netif_start_queue(dev);
-+ return 0;
-+}
-+
-+static int bnep_net_close(struct net_device *dev)
-+{
-+ netif_stop_queue(dev);
-+ return 0;
-+}
-+
-+static struct net_device_stats *bnep_net_get_stats(struct net_device *dev)
-+{
-+ struct bnep_session *s = dev->priv;
-+ return &s->stats;
-+}
-+
-+static void bnep_net_set_mc_list(struct net_device *dev)
-+{
-+#ifdef CONFIG_BLUEZ_BNEP_MC_FILTER
-+ struct bnep_session *s = dev->priv;
-+ struct sock *sk = s->sock->sk;
-+ struct bnep_set_filter_req *r;
-+ struct sk_buff *skb;
-+ int size;
-+
-+ BT_DBG("%s mc_count %d", dev->name, dev->mc_count);
-+
-+ size = sizeof(*r) + (BNEP_MAX_MULTICAST_FILTERS + 1) * ETH_ALEN * 2;
-+ skb = alloc_skb(size, GFP_ATOMIC);
-+ if (!skb) {
-+ BT_ERR("%s Multicast list allocation failed", dev->name);
-+ return;
-+ }
-+
-+ r = (void *) skb->data;
-+ __skb_put(skb, sizeof(*r));
-+
-+ r->type = BNEP_CONTROL;
-+ r->ctrl = BNEP_FILTER_MULTI_ADDR_SET;
-+
-+ if (dev->flags & (IFF_PROMISC | IFF_ALLMULTI)) {
-+ u8 start[ETH_ALEN] = { 0x01 };
-+
-+ /* Request all addresses */
-+ memcpy(__skb_put(skb, ETH_ALEN), start, ETH_ALEN);
-+ memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);
-+ r->len = htons(ETH_ALEN * 2);
-+ } else {
-+ struct dev_mc_list *dmi = dev->mc_list;
-+ int i, len = skb->len;
-+
-+ if (dev->flags & IFF_BROADCAST) {
-+ memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);
-+ memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);
-+ }
-+
-+ /* FIXME: We should group addresses here. */
-+
-+ for (i = 0; i < dev->mc_count && i < BNEP_MAX_MULTICAST_FILTERS; i++) {
-+ memcpy(__skb_put(skb, ETH_ALEN), dmi->dmi_addr, ETH_ALEN);
-+ memcpy(__skb_put(skb, ETH_ALEN), dmi->dmi_addr, ETH_ALEN);
-+ dmi = dmi->next;
-+ }
-+ r->len = htons(skb->len - len);
-+ }
-+
-+ skb_queue_tail(&sk->write_queue, skb);
-+ wake_up_interruptible(sk->sleep);
-+#endif
-+}
-+
-+static int bnep_net_set_mac_addr(struct net_device *dev, void *arg)
-+{
-+ BT_DBG("%s", dev->name);
-+ return 0;
-+}
-+
-+static void bnep_net_timeout(struct net_device *dev)
-+{
-+ BT_DBG("net_timeout");
-+ netif_wake_queue(dev);
-+}
-+
-+static int bnep_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
-+{
-+ return -EINVAL;
-+}
-+
-+#ifdef CONFIG_BLUEZ_BNEP_MC_FILTER
-+static inline int bnep_net_mc_filter(struct sk_buff *skb, struct bnep_session *s)
-+{
-+ struct ethhdr *eh = (void *) skb->data;
-+
-+ if ((eh->h_dest[0] & 1) && !test_bit(bnep_mc_hash(eh->h_dest), &s->mc_filter)) {
-+ BT_DBG("BNEP: filtered skb %p, dst %.2x:%.2x:%.2x:%.2x:%.2x:%.2x", skb,
-+ eh->h_dest[0], eh->h_dest[1], eh->h_dest[2],
-+ eh->h_dest[3], eh->h_dest[4], eh->h_dest[5]);
-+ return 1;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+#ifdef CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+/* Determine ether protocol. Based on eth_type_trans. */
-+static inline u16 bnep_net_eth_proto(struct sk_buff *skb)
-+{
-+ struct ethhdr *eh = (void *) skb->data;
-+
-+ if (ntohs(eh->h_proto) >= 1536)
-+ return eh->h_proto;
-+
-+ if (get_unaligned((u16 *) skb->data) == 0xFFFF)
-+ return htons(ETH_P_802_3);
-+
-+ return htons(ETH_P_802_2);
-+}
-+
-+static inline int bnep_net_proto_filter(struct sk_buff *skb, struct bnep_session *s)
-+{
-+ u16 proto = bnep_net_eth_proto(skb);
-+ struct bnep_proto_filter *f = s->proto_filter;
-+ int i;
-+
-+ for (i = 0; i < BNEP_MAX_PROTO_FILTERS && f[i].end; i++) {
-+ if (proto >= f[i].start && proto <= f[i].end)
-+ return 0;
-+ }
-+
-+ BT_DBG("BNEP: filtered skb %p, proto 0x%.4x", skb, proto);
-+ return 1;
-+}
-+#endif
-+
-+static int bnep_net_xmit(struct sk_buff *skb, struct net_device *dev)
-+{
-+ struct bnep_session *s = dev->priv;
-+ struct sock *sk = s->sock->sk;
-+
-+ BT_DBG("skb %p, dev %p", skb, dev);
-+
-+#ifdef CONFIG_BLUEZ_BNEP_MC_FILTER
-+ if (bnep_net_mc_filter(skb, s)) {
-+ kfree_skb(skb);
-+ return 0;
-+ }
-+#endif
-+
-+#ifdef CONFIG_BLUEZ_BNEP_PROTO_FILTER
-+ if (bnep_net_proto_filter(skb, s)) {
-+ kfree_skb(skb);
-+ return 0;
-+ }
-+#endif
-+
-+ /*
-+ * We cannot send L2CAP packets from here as we are potentially in a bh.
-+ * So we have to queue them and wake up session thread which is sleeping
-+ * on the sk->sleep.
-+ */
-+ dev->trans_start = jiffies;
-+ skb_queue_tail(&sk->write_queue, skb);
-+ wake_up_interruptible(sk->sleep);
-+
-+ if (skb_queue_len(&sk->write_queue) >= BNEP_TX_QUEUE_LEN) {
-+ BT_DBG("tx queue is full");
-+
-+ /* Stop queuing.
-+ * Session thread will do netif_wake_queue() */
-+ netif_stop_queue(dev);
-+ }
-+
-+ return 0;
-+}
-+
-+int bnep_net_init(struct net_device *dev)
-+{
-+ struct bnep_session *s = dev->priv;
-+
-+ memcpy(dev->dev_addr, s->eh.h_dest, ETH_ALEN);
-+ dev->addr_len = ETH_ALEN;
-+
-+ ether_setup(dev);
-+
-+ dev->open = bnep_net_open;
-+ dev->stop = bnep_net_close;
-+ dev->hard_start_xmit = bnep_net_xmit;
-+ dev->get_stats = bnep_net_get_stats;
-+ dev->do_ioctl = bnep_net_ioctl;
-+ dev->set_mac_address = bnep_net_set_mac_addr;
-+ dev->set_multicast_list = bnep_net_set_mc_list;
-+
-+ dev->watchdog_timeo = HZ * 2;
-+ dev->tx_timeout = bnep_net_timeout;
-+
-+ return 0;
-+}
-diff -urN linux-2.4.18/net/bluetooth/bnep/sock.c linux-2.4.18-mh15/net/bluetooth/bnep/sock.c
---- linux-2.4.18/net/bluetooth/bnep/sock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/bnep/sock.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,210 @@
-+/*
-+ BNEP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2001-2002 Inventel Systemes
-+ Written 2001-2002 by
-+ David Libault <david.libault@inventel.fr>
-+
-+ Copyright (C) 2002 Maxim Krasnyanskiy <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * $Id: sock.c,v 1.3 2002/07/10 22:59:52 maxk Exp $
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/skbuff.h>
-+#include <linux/socket.h>
-+#include <linux/ioctl.h>
-+#include <linux/file.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+
-+#include "bnep.h"
-+
-+#ifndef CONFIG_BLUEZ_BNEP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-+
-+static int bnep_sock_release(struct socket *sock)
-+{
-+ struct sock *sk = sock->sk;
-+
-+ BT_DBG("sock %p sk %p", sock, sk);
-+
-+ if (!sk)
-+ return 0;
-+
-+ sock_orphan(sk);
-+ sock_put(sk);
-+
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+static int bnep_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-+{
-+ struct bnep_connlist_req cl;
-+ struct bnep_connadd_req ca;
-+ struct bnep_conndel_req cd;
-+ struct bnep_conninfo ci;
-+ struct socket *nsock;
-+ int err;
-+
-+ BT_DBG("cmd %x arg %lx", cmd, arg);
-+
-+ switch (cmd) {
-+ case BNEPCONNADD:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-+
-+ if (copy_from_user(&ca, (void *) arg, sizeof(ca)))
-+ return -EFAULT;
-+
-+ nsock = sockfd_lookup(ca.sock, &err);
-+ if (!nsock)
-+ return err;
-+
-+ if (nsock->sk->state != BT_CONNECTED) {
-+ fput(nsock->file);
-+ return -EBADFD;
-+ }
-+
-+ err = bnep_add_connection(&ca, nsock);
-+ if (!err) {
-+ if (copy_to_user((void *) arg, &ca, sizeof(ca)))
-+ err = -EFAULT;
-+ } else
-+ fput(nsock->file);
-+
-+ return err;
-+
-+ case BNEPCONNDEL:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-+
-+ if (copy_from_user(&cd, (void *) arg, sizeof(cd)))
-+ return -EFAULT;
-+
-+ return bnep_del_connection(&cd);
-+
-+ case BNEPGETCONNLIST:
-+ if (copy_from_user(&cl, (void *) arg, sizeof(cl)))
-+ return -EFAULT;
-+
-+ if (cl.cnum <= 0)
-+ return -EINVAL;
-+
-+ err = bnep_get_connlist(&cl);
-+ if (!err && copy_to_user((void *) arg, &cl, sizeof(cl)))
-+ return -EFAULT;
-+
-+ return err;
-+
-+ case BNEPGETCONNINFO:
-+ if (copy_from_user(&ci, (void *) arg, sizeof(ci)))
-+ return -EFAULT;
-+
-+ err = bnep_get_conninfo(&ci);
-+ if (!err && copy_to_user((void *) arg, &ci, sizeof(ci)))
-+ return -EFAULT;
-+
-+ return err;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static struct proto_ops bnep_sock_ops = {
-+ family: PF_BLUETOOTH,
-+ release: bnep_sock_release,
-+ ioctl: bnep_sock_ioctl,
-+ bind: sock_no_bind,
-+ getname: sock_no_getname,
-+ sendmsg: sock_no_sendmsg,
-+ recvmsg: sock_no_recvmsg,
-+ poll: sock_no_poll,
-+ listen: sock_no_listen,
-+ shutdown: sock_no_shutdown,
-+ setsockopt: sock_no_setsockopt,
-+ getsockopt: sock_no_getsockopt,
-+ connect: sock_no_connect,
-+ socketpair: sock_no_socketpair,
-+ accept: sock_no_accept,
-+ mmap: sock_no_mmap
-+};
-+
-+static int bnep_sock_create(struct socket *sock, int protocol)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("sock %p", sock);
-+
-+ if (sock->type != SOCK_RAW)
-+ return -ESOCKTNOSUPPORT;
-+
-+ sock->ops = &bnep_sock_ops;
-+
-+ if (!(sk = sk_alloc(PF_BLUETOOTH, GFP_KERNEL, 1)))
-+ return -ENOMEM;
-+
-+ MOD_INC_USE_COUNT;
-+
-+ sock->state = SS_UNCONNECTED;
-+ sock_init_data(sock, sk);
-+
-+ sk->destruct = NULL;
-+ sk->protocol = protocol;
-+
-+ return 0;
-+}
-+
-+static struct net_proto_family bnep_sock_family_ops = {
-+ family: PF_BLUETOOTH,
-+ create: bnep_sock_create
-+};
-+
-+int bnep_sock_init(void)
-+{
-+ bluez_sock_register(BTPROTO_BNEP, &bnep_sock_family_ops);
-+ return 0;
-+}
-+
-+int bnep_sock_cleanup(void)
-+{
-+ if (bluez_sock_unregister(BTPROTO_BNEP))
-+ BT_ERR("Can't unregister BNEP socket");
-+ return 0;
-+}
-diff -urN linux-2.4.18/net/bluetooth/cmtp/capi.c linux-2.4.18-mh15/net/bluetooth/cmtp/capi.c
---- linux-2.4.18/net/bluetooth/cmtp/capi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/cmtp/capi.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,707 @@
-+/*
-+ CMTP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/skbuff.h>
-+#include <linux/socket.h>
-+#include <linux/ioctl.h>
-+#include <linux/file.h>
-+#include <net/sock.h>
-+
-+#include <linux/capi.h>
-+
-+#include "../drivers/isdn/avmb1/capilli.h"
-+#include "../drivers/isdn/avmb1/capicmd.h"
-+#include "../drivers/isdn/avmb1/capiutil.h"
-+
-+#include "cmtp.h"
-+
-+#ifndef CONFIG_BLUEZ_CMTP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+#define REVISION "1.0"
-+
-+#define CAPI_INTEROPERABILITY 0x20
-+
-+#define CAPI_INTEROPERABILITY_REQ CAPICMD(CAPI_INTEROPERABILITY, CAPI_REQ)
-+#define CAPI_INTEROPERABILITY_CONF CAPICMD(CAPI_INTEROPERABILITY, CAPI_CONF)
-+#define CAPI_INTEROPERABILITY_IND CAPICMD(CAPI_INTEROPERABILITY, CAPI_IND)
-+#define CAPI_INTEROPERABILITY_RESP CAPICMD(CAPI_INTEROPERABILITY, CAPI_RESP)
-+
-+#define CAPI_INTEROPERABILITY_REQ_LEN (CAPI_MSG_BASELEN + 2)
-+#define CAPI_INTEROPERABILITY_CONF_LEN (CAPI_MSG_BASELEN + 4)
-+#define CAPI_INTEROPERABILITY_IND_LEN (CAPI_MSG_BASELEN + 2)
-+#define CAPI_INTEROPERABILITY_RESP_LEN (CAPI_MSG_BASELEN + 2)
-+
-+#define CAPI_FUNCTION_REGISTER 0
-+#define CAPI_FUNCTION_RELEASE 1
-+#define CAPI_FUNCTION_GET_PROFILE 2
-+#define CAPI_FUNCTION_GET_MANUFACTURER 3
-+#define CAPI_FUNCTION_GET_VERSION 4
-+#define CAPI_FUNCTION_GET_SERIAL_NUMBER 5
-+#define CAPI_FUNCTION_MANUFACTURER 6
-+#define CAPI_FUNCTION_LOOPBACK 7
-+
-+static struct capi_driver_interface *di;
-+
-+
-+#define CMTP_MSGNUM 1
-+#define CMTP_APPLID 2
-+#define CMTP_MAPPING 3
-+
-+static struct cmtp_application *cmtp_application_add(struct cmtp_session *session, __u16 appl)
-+{
-+ struct cmtp_application *app = kmalloc(sizeof(*app), GFP_KERNEL);
-+
-+ BT_DBG("session %p application %p appl %d", session, app, appl);
-+
-+ if (!app)
-+ return NULL;
-+
-+ memset(app, 0, sizeof(*app));
-+
-+ app->state = BT_OPEN;
-+ app->appl = appl;
-+
-+ list_add_tail(&app->list, &session->applications);
-+
-+ return app;
-+}
-+
-+static void cmtp_application_del(struct cmtp_session *session, struct cmtp_application *app)
-+{
-+ BT_DBG("session %p application %p", session, app);
-+
-+ if (app) {
-+ list_del(&app->list);
-+ kfree(app);
-+ }
-+}
-+
-+static struct cmtp_application *cmtp_application_get(struct cmtp_session *session, int pattern, __u16 value)
-+{
-+ struct cmtp_application *app;
-+ struct list_head *p, *n;
-+
-+ list_for_each_safe(p, n, &session->applications) {
-+ app = list_entry(p, struct cmtp_application, list);
-+ switch (pattern) {
-+ case CMTP_MSGNUM:
-+ if (app->msgnum == value)
-+ return app;
-+ break;
-+ case CMTP_APPLID:
-+ if (app->appl == value)
-+ return app;
-+ break;
-+ case CMTP_MAPPING:
-+ if (app->mapping == value)
-+ return app;
-+ break;
-+ }
-+ }
-+
-+ return NULL;
-+}
-+
-+static int cmtp_msgnum_get(struct cmtp_session *session)
-+{
-+ session->msgnum++;
-+
-+ if ((session->msgnum & 0xff) > 200)
-+ session->msgnum = CMTP_INITIAL_MSGNUM + 1;
-+
-+ return session->msgnum;
-+}
-+
-+
-+static void cmtp_send_interopmsg(struct cmtp_session *session,
-+ __u8 subcmd, __u16 appl, __u16 msgnum,
-+ __u16 function, unsigned char *buf, int len)
-+{
-+ struct sk_buff *skb;
-+ unsigned char *s;
-+
-+ BT_DBG("session %p subcmd 0x%02x appl %d msgnum %d", session, subcmd, appl, msgnum);
-+
-+ if (!(skb = alloc_skb(CAPI_MSG_BASELEN + 6 + len, GFP_ATOMIC))) {
-+ BT_ERR("Can't allocate memory for interoperability packet");
-+ return;
-+ }
-+
-+ s = skb_put(skb, CAPI_MSG_BASELEN + 6 + len);
-+
-+ capimsg_setu16(s, 0, CAPI_MSG_BASELEN + 6 + len);
-+ capimsg_setu16(s, 2, appl);
-+ capimsg_setu8 (s, 4, CAPI_INTEROPERABILITY);
-+ capimsg_setu8 (s, 5, subcmd);
-+ capimsg_setu16(s, 6, msgnum);
-+
-+ /* Interoperability selector (Bluetooth Device Management) */
-+ capimsg_setu16(s, 8, 0x0001);
-+
-+ capimsg_setu8 (s, 10, 3 + len);
-+ capimsg_setu16(s, 11, function);
-+ capimsg_setu8 (s, 13, len);
-+
-+ if (len > 0)
-+ memcpy(s + 14, buf, len);
-+
-+ cmtp_send_capimsg(session, skb);
-+}
-+
-+static void cmtp_recv_interopmsg(struct cmtp_session *session, struct sk_buff *skb)
-+{
-+ struct capi_ctr *ctrl = session->ctrl;
-+ struct cmtp_application *application;
-+ __u16 appl, msgnum, func, info;
-+ __u32 controller;
-+
-+ BT_DBG("session %p skb %p len %d", session, skb, skb->len);
-+
-+ switch (CAPIMSG_SUBCOMMAND(skb->data)) {
-+ case CAPI_CONF:
-+ func = CAPIMSG_U16(skb->data, CAPI_MSG_BASELEN + 5);
-+ info = CAPIMSG_U16(skb->data, CAPI_MSG_BASELEN + 8);
-+
-+ switch (func) {
-+ case CAPI_FUNCTION_REGISTER:
-+ msgnum = CAPIMSG_MSGID(skb->data);
-+
-+ application = cmtp_application_get(session, CMTP_MSGNUM, msgnum);
-+ if (application) {
-+ application->state = BT_CONNECTED;
-+ application->msgnum = 0;
-+ application->mapping = CAPIMSG_APPID(skb->data);
-+ wake_up_interruptible(&session->wait);
-+ }
-+
-+ break;
-+
-+ case CAPI_FUNCTION_RELEASE:
-+ appl = CAPIMSG_APPID(skb->data);
-+
-+ application = cmtp_application_get(session, CMTP_MAPPING, appl);
-+ if (application) {
-+ application->state = BT_CLOSED;
-+ application->msgnum = 0;
-+ wake_up_interruptible(&session->wait);
-+ }
-+
-+ break;
-+
-+ case CAPI_FUNCTION_GET_PROFILE:
-+ controller = CAPIMSG_U16(skb->data, CAPI_MSG_BASELEN + 11);
-+ msgnum = CAPIMSG_MSGID(skb->data);
-+
-+ if (!info && (msgnum == CMTP_INITIAL_MSGNUM)) {
-+ session->ncontroller = controller;
-+ wake_up_interruptible(&session->wait);
-+ break;
-+ }
-+
-+ if (!info && ctrl) {
-+ memcpy(&ctrl->profile,
-+ skb->data + CAPI_MSG_BASELEN + 11,
-+ sizeof(capi_profile));
-+ session->state = BT_CONNECTED;
-+ ctrl->ready(ctrl);
-+ }
-+
-+ break;
-+
-+ case CAPI_FUNCTION_GET_MANUFACTURER:
-+ controller = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 10);
-+
-+ if (!info && ctrl) {
-+ strncpy(ctrl->manu,
-+ skb->data + CAPI_MSG_BASELEN + 15,
-+ skb->data[CAPI_MSG_BASELEN + 14]);
-+ }
-+
-+ break;
-+
-+ case CAPI_FUNCTION_GET_VERSION:
-+ controller = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 12);
-+
-+ if (!info && ctrl) {
-+ ctrl->version.majorversion = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 16);
-+ ctrl->version.minorversion = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 20);
-+ ctrl->version.majormanuversion = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 24);
-+ ctrl->version.minormanuversion = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 28);
-+ }
-+
-+ break;
-+
-+ case CAPI_FUNCTION_GET_SERIAL_NUMBER:
-+ controller = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 12);
-+
-+ if (!info && ctrl) {
-+ memset(ctrl->serial, 0, CAPI_SERIAL_LEN);
-+ strncpy(ctrl->serial,
-+ skb->data + CAPI_MSG_BASELEN + 17,
-+ skb->data[CAPI_MSG_BASELEN + 16]);
-+ }
-+
-+ break;
-+ }
-+
-+ break;
-+
-+ case CAPI_IND:
-+ func = CAPIMSG_U16(skb->data, CAPI_MSG_BASELEN + 3);
-+
-+ if (func == CAPI_FUNCTION_LOOPBACK) {
-+ appl = CAPIMSG_APPID(skb->data);
-+ msgnum = CAPIMSG_MSGID(skb->data);
-+ cmtp_send_interopmsg(session, CAPI_RESP, appl, msgnum, func,
-+ skb->data + CAPI_MSG_BASELEN + 6,
-+ skb->data[CAPI_MSG_BASELEN + 5]);
-+ }
-+
-+ break;
-+ }
-+
-+ kfree_skb(skb);
-+}
-+
-+void cmtp_recv_capimsg(struct cmtp_session *session, struct sk_buff *skb)
-+{
-+ struct capi_ctr *ctrl = session->ctrl;
-+ struct cmtp_application *application;
-+ __u16 cmd, appl, info;
-+ __u32 ncci, contr;
-+
-+ BT_DBG("session %p skb %p len %d", session, skb, skb->len);
-+
-+ if (CAPIMSG_COMMAND(skb->data) == CAPI_INTEROPERABILITY) {
-+ cmtp_recv_interopmsg(session, skb);
-+ return;
-+ }
-+
-+ if (session->flags & (1 << CMTP_LOOPBACK)) {
-+ kfree_skb(skb);
-+ return;
-+ }
-+
-+ cmd = CAPICMD(CAPIMSG_COMMAND(skb->data), CAPIMSG_SUBCOMMAND(skb->data));
-+ appl = CAPIMSG_APPID(skb->data);
-+ contr = CAPIMSG_CONTROL(skb->data);
-+
-+ application = cmtp_application_get(session, CMTP_MAPPING, appl);
-+ if (application) {
-+ appl = application->appl;
-+ CAPIMSG_SETAPPID(skb->data, appl);
-+ } else {
-+ BT_ERR("Can't find application with id %d", appl);
-+ kfree_skb(skb);
-+ return;
-+ }
-+
-+ if ((contr & 0x7f) == 0x01) {
-+ contr = (contr & 0xffffff80) | session->num;
-+ CAPIMSG_SETCONTROL(skb->data, contr);
-+ }
-+
-+ if (!ctrl) {
-+ BT_ERR("Can't find controller %d for message", session->num);
-+ kfree_skb(skb);
-+ return;
-+ }
-+
-+ switch (cmd) {
-+ case CAPI_CONNECT_B3_CONF:
-+ ncci = CAPIMSG_NCCI(skb->data);
-+ info = CAPIMSG_U16(skb->data, 12);
-+
-+ BT_DBG("CONNECT_B3_CONF ncci 0x%02x info 0x%02x", ncci, info);
-+
-+ if (info == 0)
-+ ctrl->new_ncci(ctrl, appl, ncci, 8);
-+
-+ ctrl->handle_capimsg(ctrl, appl, skb);
-+ break;
-+
-+ case CAPI_CONNECT_B3_IND:
-+ ncci = CAPIMSG_NCCI(skb->data);
-+
-+ BT_DBG("CONNECT_B3_IND ncci 0x%02x", ncci);
-+
-+ ctrl->new_ncci(ctrl, appl, ncci, 8);
-+ ctrl->handle_capimsg(ctrl, appl, skb);
-+ break;
-+
-+ case CAPI_DISCONNECT_B3_IND:
-+ ncci = CAPIMSG_NCCI(skb->data);
-+
-+ BT_DBG("DISCONNECT_B3_IND ncci 0x%02x", ncci);
-+
-+ if (ncci == 0xffffffff)
-+ BT_ERR("DISCONNECT_B3_IND with ncci 0xffffffff");
-+
-+ ctrl->handle_capimsg(ctrl, appl, skb);
-+ ctrl->free_ncci(ctrl, appl, ncci);
-+ break;
-+
-+ default:
-+ ctrl->handle_capimsg(ctrl, appl, skb);
-+ break;
-+ }
-+}
-+
-+void cmtp_send_capimsg(struct cmtp_session *session, struct sk_buff *skb)
-+{
-+ struct cmtp_scb *scb = (void *) skb->cb;
-+
-+ BT_DBG("session %p skb %p len %d", session, skb, skb->len);
-+
-+ scb->id = -1;
-+ scb->data = (CAPIMSG_COMMAND(skb->data) == CAPI_DATA_B3);
-+
-+ skb_queue_tail(&session->transmit, skb);
-+
-+ cmtp_schedule(session);
-+}
-+
-+
-+static int cmtp_load_firmware(struct capi_ctr *ctrl, capiloaddata *data)
-+{
-+ BT_DBG("ctrl %p data %p", ctrl, data);
-+
-+ return -EIO;
-+}
-+
-+static void cmtp_reset_ctr(struct capi_ctr *ctrl)
-+{
-+ BT_DBG("ctrl %p", ctrl);
-+
-+ ctrl->reseted(ctrl);
-+}
-+
-+static void cmtp_remove_ctr(struct capi_ctr *ctrl)
-+{
-+ struct cmtp_session *session = ctrl->driverdata;
-+
-+ BT_DBG("ctrl %p", ctrl);
-+
-+ ctrl->suspend_output(ctrl);
-+
-+ atomic_inc(&session->terminate);
-+ cmtp_schedule(session);
-+}
-+
-+static void cmtp_register_appl(struct capi_ctr *ctrl, __u16 appl, capi_register_params *rp)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ struct cmtp_session *session = ctrl->driverdata;
-+ struct cmtp_application *application;
-+ unsigned long timeo = CMTP_INTEROP_TIMEOUT;
-+ unsigned char buf[8];
-+ int err = 0, nconn, want = rp->level3cnt;
-+
-+ BT_DBG("ctrl %p appl %d level3cnt %d datablkcnt %d datablklen %d",
-+ ctrl, appl, rp->level3cnt, rp->datablkcnt, rp->datablklen);
-+
-+ application = cmtp_application_add(session, appl);
-+ if (!application) {
-+ BT_ERR("Can't allocate memory for new application");
-+ ctrl->appl_released(ctrl, appl);
-+ return;
-+ }
-+
-+ if (want < 0)
-+ nconn = ctrl->profile.nbchannel * -want;
-+ else
-+ nconn = want;
-+
-+ if (nconn == 0)
-+ nconn = ctrl->profile.nbchannel;
-+
-+ capimsg_setu16(buf, 0, nconn);
-+ capimsg_setu16(buf, 2, rp->datablkcnt);
-+ capimsg_setu16(buf, 4, rp->datablklen);
-+
-+ application->state = BT_CONFIG;
-+ application->msgnum = cmtp_msgnum_get(session);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, 0x0000, application->msgnum,
-+ CAPI_FUNCTION_REGISTER, buf, 6);
-+
-+ add_wait_queue(&session->wait, &wait);
-+ while (1) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (!timeo) {
-+ err = -EAGAIN;
-+ break;
-+ }
-+
-+ if (application->state == BT_CLOSED) {
-+ err = -application->err;
-+ break;
-+ }
-+
-+ if (application->state == BT_CONNECTED)
-+ break;
-+
-+ if (signal_pending(current)) {
-+ err = -EINTR;
-+ break;
-+ }
-+
-+ timeo = schedule_timeout(timeo);
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&session->wait, &wait);
-+
-+ if (err) {
-+ ctrl->appl_released(ctrl, appl);
-+ cmtp_application_del(session, application);
-+ return;
-+ }
-+
-+ ctrl->appl_registered(ctrl, appl);
-+}
-+
-+static void cmtp_release_appl(struct capi_ctr *ctrl, __u16 appl)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ struct cmtp_session *session = ctrl->driverdata;
-+ struct cmtp_application *application;
-+ unsigned long timeo = CMTP_INTEROP_TIMEOUT;
-+
-+ BT_DBG("ctrl %p appl %d", ctrl, appl);
-+
-+ application = cmtp_application_get(session, CMTP_APPLID, appl);
-+ if (!application) {
-+ BT_ERR("Can't find application");
-+ return;
-+ }
-+
-+ application->msgnum = cmtp_msgnum_get(session);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, application->mapping, application->msgnum,
-+ CAPI_FUNCTION_RELEASE, NULL, 0);
-+
-+ add_wait_queue(&session->wait, &wait);
-+ while (timeo) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (application->state == BT_CLOSED)
-+ break;
-+
-+ if (signal_pending(current))
-+ break;
-+
-+ timeo = schedule_timeout(timeo);
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&session->wait, &wait);
-+
-+ cmtp_application_del(session, application);
-+ ctrl->appl_released(ctrl, appl);
-+}
-+
-+static void cmtp_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)
-+{
-+ struct cmtp_session *session = ctrl->driverdata;
-+ struct cmtp_application *application;
-+ __u16 appl;
-+ __u32 contr;
-+
-+ BT_DBG("ctrl %p skb %p", ctrl, skb);
-+
-+ appl = CAPIMSG_APPID(skb->data);
-+ contr = CAPIMSG_CONTROL(skb->data);
-+
-+ application = cmtp_application_get(session, CMTP_APPLID, appl);
-+ if ((!application) || (application->state != BT_CONNECTED)) {
-+ BT_ERR("Can't find application with id %d", appl);
-+ kfree_skb(skb);
-+ return;
-+ }
-+
-+ CAPIMSG_SETAPPID(skb->data, application->mapping);
-+
-+ if ((contr & 0x7f) == session->num) {
-+ contr = (contr & 0xffffff80) | 0x01;
-+ CAPIMSG_SETCONTROL(skb->data, contr);
-+ }
-+
-+ cmtp_send_capimsg(session, skb);
-+}
-+
-+static char *cmtp_procinfo(struct capi_ctr *ctrl)
-+{
-+ return "CAPI Message Transport Protocol";
-+}
-+
-+static int cmtp_ctr_read_proc(char *page, char **start, off_t off, int count, int *eof, struct capi_ctr *ctrl)
-+{
-+ struct cmtp_session *session = ctrl->driverdata;
-+ struct cmtp_application *app;
-+ struct list_head *p, *n;
-+ int len = 0;
-+
-+ len += sprintf(page + len, "%s (Revision %s)\n\n", cmtp_procinfo(ctrl), REVISION);
-+ len += sprintf(page + len, "addr %s\n", session->name);
-+ len += sprintf(page + len, "ctrl %d\n", session->num);
-+
-+ list_for_each_safe(p, n, &session->applications) {
-+ app = list_entry(p, struct cmtp_application, list);
-+ len += sprintf(page + len, "appl %d -> %d\n", app->appl, app->mapping);
-+ }
-+
-+ if (off + count >= len)
-+ *eof = 1;
-+
-+ if (len < off)
-+ return 0;
-+
-+ *start = page + off;
-+
-+ return ((count < len - off) ? count : len - off);
-+}
-+
-+static struct capi_driver cmtp_driver = {
-+ name: "cmtp",
-+ revision: REVISION,
-+ load_firmware: cmtp_load_firmware,
-+ reset_ctr: cmtp_reset_ctr,
-+ remove_ctr: cmtp_remove_ctr,
-+ register_appl: cmtp_register_appl,
-+ release_appl: cmtp_release_appl,
-+ send_message: cmtp_send_message,
-+ procinfo: cmtp_procinfo,
-+ ctr_read_proc: cmtp_ctr_read_proc,
-+
-+ driver_read_proc: 0,
-+ add_card: 0,
-+};
-+
-+
-+int cmtp_attach_device(struct cmtp_session *session)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ unsigned long timeo = CMTP_INTEROP_TIMEOUT;
-+ unsigned char buf[4];
-+
-+ BT_DBG("session %p", session);
-+
-+ capimsg_setu32(buf, 0, 0);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, 0xffff, CMTP_INITIAL_MSGNUM,
-+ CAPI_FUNCTION_GET_PROFILE, buf, 4);
-+
-+ add_wait_queue(&session->wait, &wait);
-+ while (timeo) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (session->ncontroller)
-+ break;
-+
-+ if (signal_pending(current))
-+ break;
-+
-+ timeo = schedule_timeout(timeo);
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&session->wait, &wait);
-+
-+ BT_INFO("Found %d CAPI controller(s) on device %s", session->ncontroller, session->name);
-+
-+ if (!timeo)
-+ return -ETIMEDOUT;
-+
-+ if (!session->ncontroller)
-+ return -ENODEV;
-+
-+
-+ if (session->ncontroller > 1)
-+ BT_INFO("Setting up only CAPI controller 1");
-+
-+ if (!(session->ctrl = di->attach_ctr(&cmtp_driver, session->name, session))) {
-+ BT_ERR("Can't attach new controller");
-+ return -EBUSY;
-+ }
-+
-+ session->num = session->ctrl->cnr;
-+
-+ BT_DBG("session %p ctrl %p num %d", session, session->ctrl, session->num);
-+
-+ capimsg_setu32(buf, 0, 1);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, 0xffff, cmtp_msgnum_get(session),
-+ CAPI_FUNCTION_GET_MANUFACTURER, buf, 4);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, 0xffff, cmtp_msgnum_get(session),
-+ CAPI_FUNCTION_GET_VERSION, buf, 4);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, 0xffff, cmtp_msgnum_get(session),
-+ CAPI_FUNCTION_GET_SERIAL_NUMBER, buf, 4);
-+
-+ cmtp_send_interopmsg(session, CAPI_REQ, 0xffff, cmtp_msgnum_get(session),
-+ CAPI_FUNCTION_GET_PROFILE, buf, 4);
-+
-+ return 0;
-+}
-+
-+void cmtp_detach_device(struct cmtp_session *session)
-+{
-+ struct capi_ctr *ctrl = session->ctrl;
-+
-+ BT_DBG("session %p ctrl %p", session, ctrl);
-+
-+ if (!ctrl)
-+ return;
-+
-+ ctrl->reseted(ctrl);
-+
-+ di->detach_ctr(ctrl);
-+}
-+
-+int cmtp_init_capi(void)
-+{
-+ if (!(di = attach_capi_driver(&cmtp_driver))) {
-+ BT_ERR("Can't attach CAPI driver");
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+
-+void cmtp_cleanup_capi(void)
-+{
-+ detach_capi_driver(&cmtp_driver);
-+}
-diff -urN linux-2.4.18/net/bluetooth/cmtp/cmtp.h linux-2.4.18-mh15/net/bluetooth/cmtp/cmtp.h
---- linux-2.4.18/net/bluetooth/cmtp/cmtp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/cmtp/cmtp.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,138 @@
-+/*
-+ CMTP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#ifndef __CMTP_H
-+#define __CMTP_H
-+
-+#include <linux/types.h>
-+#include <net/bluetooth/bluetooth.h>
-+
-+#define BTNAMSIZ 18
-+
-+/* CMTP ioctl defines */
-+#define CMTPCONNADD _IOW('C', 200, int)
-+#define CMTPCONNDEL _IOW('C', 201, int)
-+#define CMTPGETCONNLIST _IOR('C', 210, int)
-+#define CMTPGETCONNINFO _IOR('C', 211, int)
-+
-+#define CMTP_LOOPBACK 0
-+
-+struct cmtp_connadd_req {
-+ int sock; // Connected socket
-+ __u32 flags;
-+};
-+
-+struct cmtp_conndel_req {
-+ bdaddr_t bdaddr;
-+ __u32 flags;
-+};
-+
-+struct cmtp_conninfo {
-+ bdaddr_t bdaddr;
-+ __u32 flags;
-+ __u16 state;
-+ int num;
-+};
-+
-+struct cmtp_connlist_req {
-+ __u32 cnum;
-+ struct cmtp_conninfo *ci;
-+};
-+
-+int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock);
-+int cmtp_del_connection(struct cmtp_conndel_req *req);
-+int cmtp_get_connlist(struct cmtp_connlist_req *req);
-+int cmtp_get_conninfo(struct cmtp_conninfo *ci);
-+
-+/* CMTP session defines */
-+#define CMTP_INTEROP_TIMEOUT (HZ * 5)
-+#define CMTP_INITIAL_MSGNUM 0xff00
-+
-+struct cmtp_session {
-+ struct list_head list;
-+
-+ struct socket *sock;
-+
-+ bdaddr_t bdaddr;
-+
-+ unsigned long state;
-+ unsigned long flags;
-+
-+ uint mtu;
-+
-+ char name[BTNAMSIZ];
-+
-+ atomic_t terminate;
-+
-+ wait_queue_head_t wait;
-+
-+ int ncontroller;
-+ int num;
-+ struct capi_ctr *ctrl;
-+
-+ struct list_head applications;
-+
-+ unsigned long blockids;
-+ int msgnum;
-+
-+ struct sk_buff_head transmit;
-+
-+ struct sk_buff *reassembly[16];
-+};
-+
-+struct cmtp_application {
-+ struct list_head list;
-+
-+ unsigned long state;
-+ int err;
-+
-+ __u16 appl;
-+ __u16 mapping;
-+
-+ __u16 msgnum;
-+};
-+
-+struct cmtp_scb {
-+ int id;
-+ int data;
-+};
-+
-+int cmtp_attach_device(struct cmtp_session *session);
-+void cmtp_detach_device(struct cmtp_session *session);
-+
-+void cmtp_recv_capimsg(struct cmtp_session *session, struct sk_buff *skb);
-+void cmtp_send_capimsg(struct cmtp_session *session, struct sk_buff *skb);
-+
-+static inline void cmtp_schedule(struct cmtp_session *session)
-+{
-+ struct sock *sk = session->sock->sk;
-+
-+ wake_up_interruptible(sk->sleep);
-+}
-+
-+/* CMTP init defines */
-+int cmtp_init_capi(void);
-+int cmtp_init_sockets(void);
-+void cmtp_cleanup_capi(void);
-+void cmtp_cleanup_sockets(void);
-+
-+#endif /* __CMTP_H */
-diff -urN linux-2.4.18/net/bluetooth/cmtp/Config.in linux-2.4.18-mh15/net/bluetooth/cmtp/Config.in
---- linux-2.4.18/net/bluetooth/cmtp/Config.in 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/cmtp/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,7 @@
-+#
-+# Bluetooth CMTP layer configuration
-+#
-+
-+if [ "$CONFIG_ISDN" = "y" -o "$CONFIG_ISDN" = "m" ]; then
-+ dep_tristate 'CMTP protocol support' CONFIG_BLUEZ_CMTP $CONFIG_ISDN_CAPI $CONFIG_BLUEZ_L2CAP
-+fi
-diff -urN linux-2.4.18/net/bluetooth/cmtp/core.c linux-2.4.18-mh15/net/bluetooth/cmtp/core.c
---- linux-2.4.18/net/bluetooth/cmtp/core.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/cmtp/core.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,515 @@
-+/*
-+ CMTP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/skbuff.h>
-+#include <linux/socket.h>
-+#include <linux/ioctl.h>
-+#include <linux/file.h>
-+#include <linux/init.h>
-+#include <net/sock.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/l2cap.h>
-+
-+#include "cmtp.h"
-+
-+#ifndef CONFIG_BLUEZ_CMTP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+#define VERSION "1.0"
-+
-+static DECLARE_RWSEM(cmtp_session_sem);
-+static LIST_HEAD(cmtp_session_list);
-+
-+static struct cmtp_session *__cmtp_get_session(bdaddr_t *bdaddr)
-+{
-+ struct cmtp_session *session;
-+ struct list_head *p;
-+
-+ BT_DBG("");
-+
-+ list_for_each(p, &cmtp_session_list) {
-+ session = list_entry(p, struct cmtp_session, list);
-+ if (!bacmp(bdaddr, &session->bdaddr))
-+ return session;
-+ }
-+ return NULL;
-+}
-+
-+static void __cmtp_link_session(struct cmtp_session *session)
-+{
-+ MOD_INC_USE_COUNT;
-+ list_add(&session->list, &cmtp_session_list);
-+}
-+
-+static void __cmtp_unlink_session(struct cmtp_session *session)
-+{
-+ list_del(&session->list);
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static void __cmtp_copy_session(struct cmtp_session *session, struct cmtp_conninfo *ci)
-+{
-+ bacpy(&ci->bdaddr, &session->bdaddr);
-+
-+ ci->flags = session->flags;
-+ ci->state = session->state;
-+
-+ ci->num = session->num;
-+}
-+
-+
-+static inline int cmtp_alloc_block_id(struct cmtp_session *session)
-+{
-+ int i, id = -1;
-+
-+ for (i = 0; i < 16; i++)
-+ if (!test_and_set_bit(i, &session->blockids)) {
-+ id = i;
-+ break;
-+ }
-+
-+ return id;
-+}
-+
-+static inline void cmtp_free_block_id(struct cmtp_session *session, int id)
-+{
-+ clear_bit(id, &session->blockids);
-+}
-+
-+static inline void cmtp_add_msgpart(struct cmtp_session *session, int id, const unsigned char *buf, int count)
-+{
-+ struct sk_buff *skb = session->reassembly[id], *nskb;
-+ int size;
-+
-+ BT_DBG("session %p buf %p count %d", session, buf, count);
-+
-+ size = (skb) ? skb->len + count : count;
-+
-+ if (!(nskb = alloc_skb(size, GFP_ATOMIC))) {
-+ BT_ERR("Can't allocate memory for CAPI message");
-+ return;
-+ }
-+
-+ if (skb && (skb->len > 0))
-+ memcpy(skb_put(nskb, skb->len), skb->data, skb->len);
-+
-+ memcpy(skb_put(nskb, count), buf, count);
-+
-+ session->reassembly[id] = nskb;
-+
-+ if (skb)
-+ kfree_skb(skb);
-+}
-+
-+static inline int cmtp_recv_frame(struct cmtp_session *session, struct sk_buff *skb)
-+{
-+ __u8 hdr, hdrlen, id;
-+ __u16 len;
-+
-+ BT_DBG("session %p skb %p len %d", session, skb, skb->len);
-+
-+ while (skb->len > 0) {
-+ hdr = skb->data[0];
-+
-+ switch (hdr & 0xc0) {
-+ case 0x40:
-+ hdrlen = 2;
-+ len = skb->data[1];
-+ break;
-+ case 0x80:
-+ hdrlen = 3;
-+ len = skb->data[1] | (skb->data[2] << 8);
-+ break;
-+ default:
-+ hdrlen = 1;
-+ len = 0;
-+ break;
-+ }
-+
-+ id = (hdr & 0x3c) >> 2;
-+
-+ BT_DBG("hdr 0x%02x hdrlen %d len %d id %d", hdr, hdrlen, len, id);
-+
-+ if (hdrlen + len > skb->len) {
-+ BT_ERR("Wrong size or header information in CMTP frame");
-+ break;
-+ }
-+
-+ if (len == 0) {
-+ skb_pull(skb, hdrlen);
-+ continue;
-+ }
-+
-+ switch (hdr & 0x03) {
-+ case 0x00:
-+ cmtp_add_msgpart(session, id, skb->data + hdrlen, len);
-+ cmtp_recv_capimsg(session, session->reassembly[id]);
-+ session->reassembly[id] = NULL;
-+ break;
-+ case 0x01:
-+ cmtp_add_msgpart(session, id, skb->data + hdrlen, len);
-+ break;
-+ default:
-+ if (session->reassembly[id] != NULL)
-+ kfree_skb(session->reassembly[id]);
-+ session->reassembly[id] = NULL;
-+ break;
-+ }
-+
-+ skb_pull(skb, hdrlen + len);
-+ }
-+
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+static int cmtp_send_frame(struct cmtp_session *session, unsigned char *data, int len)
-+{
-+ struct socket *sock = session->sock;
-+ struct iovec iv = { data, len };
-+ struct msghdr msg;
-+ int err;
-+
-+ BT_DBG("session %p data %p len %d", session, data, len);
-+
-+ if (!len)
-+ return 0;
-+
-+ memset(&msg, 0, sizeof(msg));
-+ msg.msg_iovlen = 1;
-+ msg.msg_iov = &iv;
-+
-+ err = sock->ops->sendmsg(sock, &msg, len, 0);
-+ return err;
-+}
-+
-+static int cmtp_process_transmit(struct cmtp_session *session)
-+{
-+ struct sk_buff *skb, *nskb;
-+ unsigned char *hdr;
-+ unsigned int size, tail;
-+
-+ BT_DBG("session %p", session);
-+
-+ if (!(nskb = alloc_skb(session->mtu, GFP_ATOMIC))) {
-+ BT_ERR("Can't allocate memory for new frame");
-+ return -ENOMEM;
-+ }
-+
-+ while ((skb = skb_dequeue(&session->transmit))) {
-+ struct cmtp_scb *scb = (void *) skb->cb;
-+
-+ if ((tail = (session->mtu - nskb->len)) < 5) {
-+ cmtp_send_frame(session, nskb->data, nskb->len);
-+ skb_trim(nskb, 0);
-+ tail = session->mtu;
-+ }
-+
-+ size = min_t(uint, ((tail < 258) ? (tail - 2) : (tail - 3)), skb->len);
-+
-+ if ((scb->id < 0) && ((scb->id = cmtp_alloc_block_id(session)) < 0)) {
-+ skb_queue_head(&session->transmit, skb);
-+ break;
-+ }
-+
-+ if (size < 256) {
-+ hdr = skb_put(nskb, 2);
-+ hdr[0] = 0x40
-+ | ((scb->id << 2) & 0x3c)
-+ | ((skb->len == size) ? 0x00 : 0x01);
-+ hdr[1] = size;
-+ } else {
-+ hdr = skb_put(nskb, 3);
-+ hdr[0] = 0x80
-+ | ((scb->id << 2) & 0x3c)
-+ | ((skb->len == size) ? 0x00 : 0x01);
-+ hdr[1] = size & 0xff;
-+ hdr[2] = size >> 8;
-+ }
-+
-+ memcpy(skb_put(nskb, size), skb->data, size);
-+ skb_pull(skb, size);
-+
-+ if (skb->len > 0) {
-+ skb_queue_head(&session->transmit, skb);
-+ } else {
-+ cmtp_free_block_id(session, scb->id);
-+ if (scb->data) {
-+ cmtp_send_frame(session, nskb->data, nskb->len);
-+ skb_trim(nskb, 0);
-+ }
-+ kfree_skb(skb);
-+ }
-+ }
-+
-+ cmtp_send_frame(session, nskb->data, nskb->len);
-+
-+ kfree_skb(nskb);
-+
-+ return skb_queue_len(&session->transmit);
-+}
-+
-+static int cmtp_session(void *arg)
-+{
-+ struct cmtp_session *session = arg;
-+ struct sock *sk = session->sock->sk;
-+ struct sk_buff *skb;
-+ wait_queue_t wait;
-+
-+ BT_DBG("session %p", session);
-+
-+ daemonize(); reparent_to_init();
-+
-+ sprintf(current->comm, "kcmtpd_ctr_%d", session->num);
-+
-+ sigfillset(&current->blocked);
-+ flush_signals(current);
-+
-+ current->nice = -15;
-+
-+ set_fs(KERNEL_DS);
-+
-+ init_waitqueue_entry(&wait, current);
-+ add_wait_queue(sk->sleep, &wait);
-+ while (!atomic_read(&session->terminate)) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (sk->state != BT_CONNECTED)
-+ break;
-+
-+ while ((skb = skb_dequeue(&sk->receive_queue))) {
-+ skb_orphan(skb);
-+ cmtp_recv_frame(session, skb);
-+ }
-+
-+ cmtp_process_transmit(session);
-+
-+ schedule();
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+
-+ down_write(&cmtp_session_sem);
-+
-+ if (!(session->flags & (1 << CMTP_LOOPBACK)))
-+ cmtp_detach_device(session);
-+
-+ fput(session->sock->file);
-+
-+ __cmtp_unlink_session(session);
-+
-+ up_write(&cmtp_session_sem);
-+
-+ kfree(session);
-+ return 0;
-+}
-+
-+int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock)
-+{
-+ struct cmtp_session *session, *s;
-+ bdaddr_t src, dst;
-+ int i, err;
-+
-+ BT_DBG("");
-+
-+ baswap(&src, &bluez_pi(sock->sk)->src);
-+ baswap(&dst, &bluez_pi(sock->sk)->dst);
-+
-+ session = kmalloc(sizeof(struct cmtp_session), GFP_KERNEL);
-+ if (!session)
-+ return -ENOMEM;
-+ memset(session, 0, sizeof(struct cmtp_session));
-+
-+ down_write(&cmtp_session_sem);
-+
-+ s = __cmtp_get_session(&bluez_pi(sock->sk)->dst);
-+ if (s && s->state == BT_CONNECTED) {
-+ err = -EEXIST;
-+ goto failed;
-+ }
-+
-+ bacpy(&session->bdaddr, &bluez_pi(sock->sk)->dst);
-+
-+ session->mtu = min_t(uint, l2cap_pi(sock->sk)->omtu, l2cap_pi(sock->sk)->imtu);
-+
-+ BT_DBG("mtu %d", session->mtu);
-+
-+ sprintf(session->name, "%s", batostr(&dst));
-+
-+ session->sock = sock;
-+ session->state = BT_CONFIG;
-+
-+ init_waitqueue_head(&session->wait);
-+
-+ session->ctrl = NULL;
-+ session->msgnum = CMTP_INITIAL_MSGNUM;
-+
-+ INIT_LIST_HEAD(&session->applications);
-+
-+ skb_queue_head_init(&session->transmit);
-+
-+ for (i = 0; i < 16; i++)
-+ session->reassembly[i] = NULL;
-+
-+ session->flags = req->flags;
-+
-+ __cmtp_link_session(session);
-+
-+ err = kernel_thread(cmtp_session, session, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
-+ if (err < 0)
-+ goto unlink;
-+
-+ if (!(session->flags & (1 << CMTP_LOOPBACK))) {
-+ err = cmtp_attach_device(session);
-+ if (err < 0)
-+ goto detach;
-+ }
-+
-+ up_write(&cmtp_session_sem);
-+ return 0;
-+
-+detach:
-+ cmtp_detach_device(session);
-+
-+unlink:
-+ __cmtp_unlink_session(session);
-+
-+failed:
-+ up_write(&cmtp_session_sem);
-+ kfree(session);
-+ return err;
-+}
-+
-+int cmtp_del_connection(struct cmtp_conndel_req *req)
-+{
-+ struct cmtp_session *session;
-+ int err = 0;
-+
-+ BT_DBG("");
-+
-+ down_read(&cmtp_session_sem);
-+
-+ session = __cmtp_get_session(&req->bdaddr);
-+ if (session) {
-+ /* Flush the transmit queue */
-+ skb_queue_purge(&session->transmit);
-+
-+ /* Kill session thread */
-+ atomic_inc(&session->terminate);
-+ cmtp_schedule(session);
-+ } else
-+ err = -ENOENT;
-+
-+ up_read(&cmtp_session_sem);
-+ return err;
-+}
-+
-+int cmtp_get_connlist(struct cmtp_connlist_req *req)
-+{
-+ struct list_head *p;
-+ int err = 0, n = 0;
-+
-+ BT_DBG("");
-+
-+ down_read(&cmtp_session_sem);
-+
-+ list_for_each(p, &cmtp_session_list) {
-+ struct cmtp_session *session;
-+ struct cmtp_conninfo ci;
-+
-+ session = list_entry(p, struct cmtp_session, list);
-+
-+ __cmtp_copy_session(session, &ci);
-+
-+ if (copy_to_user(req->ci, &ci, sizeof(ci))) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ if (++n >= req->cnum)
-+ break;
-+
-+ req->ci++;
-+ }
-+ req->cnum = n;
-+
-+ up_read(&cmtp_session_sem);
-+ return err;
-+}
-+
-+int cmtp_get_conninfo(struct cmtp_conninfo *ci)
-+{
-+ struct cmtp_session *session;
-+ int err = 0;
-+
-+ down_read(&cmtp_session_sem);
-+
-+ session = __cmtp_get_session(&ci->bdaddr);
-+ if (session)
-+ __cmtp_copy_session(session, ci);
-+ else
-+ err = -ENOENT;
-+
-+ up_read(&cmtp_session_sem);
-+ return err;
-+}
-+
-+
-+int __init init_cmtp(void)
-+{
-+ l2cap_load();
-+
-+ cmtp_init_capi();
-+ cmtp_init_sockets();
-+
-+ BT_INFO("BlueZ CMTP ver %s", VERSION);
-+ BT_INFO("Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>");
-+
-+ return 0;
-+}
-+
-+void __exit exit_cmtp(void)
-+{
-+ cmtp_cleanup_sockets();
-+ cmtp_cleanup_capi();
-+}
-+
-+module_init(init_cmtp);
-+module_exit(exit_cmtp);
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("BlueZ CMTP ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/cmtp/Makefile linux-2.4.18-mh15/net/bluetooth/cmtp/Makefile
---- linux-2.4.18/net/bluetooth/cmtp/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/cmtp/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,10 @@
-+#
-+# Makefile for the Linux Bluetooth CMTP layer
-+#
-+
-+O_TARGET := cmtp.o
-+
-+obj-y := core.o sock.o capi.o
-+obj-m += $(O_TARGET)
-+
-+include $(TOPDIR)/Rules.make
-diff -urN linux-2.4.18/net/bluetooth/cmtp/sock.c linux-2.4.18-mh15/net/bluetooth/cmtp/sock.c
---- linux-2.4.18/net/bluetooth/cmtp/sock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/cmtp/sock.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,208 @@
-+/*
-+ CMTP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002-2003 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/skbuff.h>
-+#include <linux/socket.h>
-+#include <linux/ioctl.h>
-+#include <linux/file.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+
-+#include "cmtp.h"
-+
-+#ifndef CONFIG_BLUEZ_CMTP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+static int cmtp_sock_release(struct socket *sock)
-+{
-+ struct sock *sk = sock->sk;
-+
-+ BT_DBG("sock %p sk %p", sock, sk);
-+
-+ if (!sk)
-+ return 0;
-+
-+ sock_orphan(sk);
-+ sock_put(sk);
-+
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+static int cmtp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-+{
-+ struct cmtp_connadd_req ca;
-+ struct cmtp_conndel_req cd;
-+ struct cmtp_connlist_req cl;
-+ struct cmtp_conninfo ci;
-+ struct socket *nsock;
-+ int err;
-+
-+ BT_DBG("cmd %x arg %lx", cmd, arg);
-+
-+ switch (cmd) {
-+ case CMTPCONNADD:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-+
-+ if (copy_from_user(&ca, (void *) arg, sizeof(ca)))
-+ return -EFAULT;
-+
-+ nsock = sockfd_lookup(ca.sock, &err);
-+ if (!nsock)
-+ return err;
-+
-+ if (nsock->sk->state != BT_CONNECTED) {
-+ fput(nsock->file);
-+ return -EBADFD;
-+ }
-+
-+ err = cmtp_add_connection(&ca, nsock);
-+ if (!err) {
-+ if (copy_to_user((void *) arg, &ca, sizeof(ca)))
-+ err = -EFAULT;
-+ } else
-+ fput(nsock->file);
-+
-+ return err;
-+
-+ case CMTPCONNDEL:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-+
-+ if (copy_from_user(&cd, (void *) arg, sizeof(cd)))
-+ return -EFAULT;
-+
-+ return cmtp_del_connection(&cd);
-+
-+ case CMTPGETCONNLIST:
-+ if (copy_from_user(&cl, (void *) arg, sizeof(cl)))
-+ return -EFAULT;
-+
-+ if (cl.cnum <= 0)
-+ return -EINVAL;
-+
-+ err = cmtp_get_connlist(&cl);
-+ if (!err && copy_to_user((void *) arg, &cl, sizeof(cl)))
-+ return -EFAULT;
-+
-+ return err;
-+
-+ case CMTPGETCONNINFO:
-+ if (copy_from_user(&ci, (void *) arg, sizeof(ci)))
-+ return -EFAULT;
-+
-+ err = cmtp_get_conninfo(&ci);
-+ if (!err && copy_to_user((void *) arg, &ci, sizeof(ci)))
-+ return -EFAULT;
-+
-+ return err;
-+ }
-+
-+ return -EINVAL;
-+}
-+
-+static struct proto_ops cmtp_sock_ops = {
-+ family: PF_BLUETOOTH,
-+ release: cmtp_sock_release,
-+ ioctl: cmtp_sock_ioctl,
-+ bind: sock_no_bind,
-+ getname: sock_no_getname,
-+ sendmsg: sock_no_sendmsg,
-+ recvmsg: sock_no_recvmsg,
-+ poll: sock_no_poll,
-+ listen: sock_no_listen,
-+ shutdown: sock_no_shutdown,
-+ setsockopt: sock_no_setsockopt,
-+ getsockopt: sock_no_getsockopt,
-+ connect: sock_no_connect,
-+ socketpair: sock_no_socketpair,
-+ accept: sock_no_accept,
-+ mmap: sock_no_mmap
-+};
-+
-+static int cmtp_sock_create(struct socket *sock, int protocol)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("sock %p", sock);
-+
-+ if (sock->type != SOCK_RAW)
-+ return -ESOCKTNOSUPPORT;
-+
-+ sock->ops = &cmtp_sock_ops;
-+
-+ if (!(sk = sk_alloc(PF_BLUETOOTH, GFP_KERNEL, 1)))
-+ return -ENOMEM;
-+
-+ MOD_INC_USE_COUNT;
-+
-+ sock->state = SS_UNCONNECTED;
-+ sock_init_data(sock, sk);
-+
-+ sk->destruct = NULL;
-+ sk->protocol = protocol;
-+
-+ return 0;
-+}
-+
-+static struct net_proto_family cmtp_sock_family_ops = {
-+ family: PF_BLUETOOTH,
-+ create: cmtp_sock_create
-+};
-+
-+int cmtp_init_sockets(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_register(BTPROTO_CMTP, &cmtp_sock_family_ops))) {
-+ BT_ERR("Can't register CMTP socket layer (%d)", err);
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+void cmtp_cleanup_sockets(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_unregister(BTPROTO_CMTP)))
-+ BT_ERR("Can't unregister CMTP socket layer (%d)", err);
-+
-+ return;
-+}
-diff -urN linux-2.4.18/net/bluetooth/Config.in linux-2.4.18-mh15/net/bluetooth/Config.in
---- linux-2.4.18/net/bluetooth/Config.in 2001-06-12 04:15:27.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -1,16 +1,23 @@
- #
--# Bluetooth configuration
-+# Bluetooth subsystem configuration
- #
-
- if [ "$CONFIG_NET" != "n" ]; then
-+
- mainmenu_option next_comment
- comment 'Bluetooth support'
- dep_tristate 'Bluetooth subsystem support' CONFIG_BLUEZ $CONFIG_NET
-
- if [ "$CONFIG_BLUEZ" != "n" ]; then
- dep_tristate 'L2CAP protocol support' CONFIG_BLUEZ_L2CAP $CONFIG_BLUEZ
-+ dep_tristate 'SCO links support' CONFIG_BLUEZ_SCO $CONFIG_BLUEZ
-+ source net/bluetooth/rfcomm/Config.in
-+ source net/bluetooth/bnep/Config.in
-+ source net/bluetooth/cmtp/Config.in
-+ source net/bluetooth/hidp/Config.in
- source drivers/bluetooth/Config.in
- fi
-+
- endmenu
- fi
-
-diff -urN linux-2.4.18/net/bluetooth/hci_conn.c linux-2.4.18-mh15/net/bluetooth/hci_conn.c
---- linux-2.4.18/net/bluetooth/hci_conn.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hci_conn.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,435 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * HCI Connection handling.
-+ *
-+ * $Id: hci_conn.c,v 1.5 2002/07/17 18:46:25 maxk Exp $
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/init.h>
-+#include <linux/skbuff.h>
-+#include <linux/interrupt.h>
-+#include <linux/notifier.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+#include <asm/unaligned.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+#ifndef HCI_CORE_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-+
-+void hci_acl_connect(struct hci_conn *conn)
-+{
-+ struct hci_dev *hdev = conn->hdev;
-+ struct inquiry_entry *ie;
-+ create_conn_cp cp;
-+
-+ BT_DBG("%p", conn);
-+
-+ conn->state = BT_CONNECT;
-+ conn->out = 1;
-+ conn->link_mode = HCI_LM_MASTER;
-+
-+ memset(&cp, 0, sizeof(cp));
-+ bacpy(&cp.bdaddr, &conn->dst);
-+ cp.pscan_rep_mode = 0x02;
-+
-+ if ((ie = inquiry_cache_lookup(hdev, &conn->dst)) &&
-+ inquiry_entry_age(ie) <= INQUIRY_ENTRY_AGE_MAX) {
-+ cp.pscan_rep_mode = ie->info.pscan_rep_mode;
-+ cp.pscan_mode = ie->info.pscan_mode;
-+ cp.clock_offset = ie->info.clock_offset | __cpu_to_le16(0x8000);
-+ }
-+
-+ cp.pkt_type = __cpu_to_le16(hdev->pkt_type & ACL_PTYPE_MASK);
-+ if (lmp_rswitch_capable(hdev) && !(hdev->link_mode & HCI_LM_MASTER))
-+ cp.role_switch = 0x01;
-+ else
-+ cp.role_switch = 0x00;
-+
-+ hci_send_cmd(hdev, OGF_LINK_CTL, OCF_CREATE_CONN,
-+ CREATE_CONN_CP_SIZE, &cp);
-+}
-+
-+void hci_acl_disconn(struct hci_conn *conn, __u8 reason)
-+{
-+ disconnect_cp cp;
-+
-+ BT_DBG("%p", conn);
-+
-+ conn->state = BT_DISCONN;
-+
-+ cp.handle = __cpu_to_le16(conn->handle);
-+ cp.reason = reason;
-+ hci_send_cmd(conn->hdev, OGF_LINK_CTL, OCF_DISCONNECT,
-+ DISCONNECT_CP_SIZE, &cp);
-+}
-+
-+void hci_add_sco(struct hci_conn *conn, __u16 handle)
-+{
-+ struct hci_dev *hdev = conn->hdev;
-+ add_sco_cp cp;
-+
-+ BT_DBG("%p", conn);
-+
-+ conn->state = BT_CONNECT;
-+ conn->out = 1;
-+
-+ cp.pkt_type = __cpu_to_le16(hdev->pkt_type & SCO_PTYPE_MASK);
-+ cp.handle = __cpu_to_le16(handle);
-+
-+ hci_send_cmd(hdev, OGF_LINK_CTL, OCF_ADD_SCO, ADD_SCO_CP_SIZE, &cp);
-+}
-+
-+static void hci_conn_timeout(unsigned long arg)
-+{
-+ struct hci_conn *conn = (void *)arg;
-+ struct hci_dev *hdev = conn->hdev;
-+
-+ BT_DBG("conn %p state %d", conn, conn->state);
-+
-+ if (atomic_read(&conn->refcnt))
-+ return;
-+
-+ hci_dev_lock(hdev);
-+ if (conn->state == BT_CONNECTED)
-+ hci_acl_disconn(conn, 0x13);
-+ else
-+ conn->state = BT_CLOSED;
-+ hci_dev_unlock(hdev);
-+ return;
-+}
-+
-+static void hci_conn_init_timer(struct hci_conn *conn)
-+{
-+ init_timer(&conn->timer);
-+ conn->timer.function = hci_conn_timeout;
-+ conn->timer.data = (unsigned long)conn;
-+}
-+
-+struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
-+{
-+ struct hci_conn *conn;
-+
-+ BT_DBG("%s dst %s", hdev->name, batostr(dst));
-+
-+ if (!(conn = kmalloc(sizeof(struct hci_conn), GFP_ATOMIC)))
-+ return NULL;
-+ memset(conn, 0, sizeof(struct hci_conn));
-+
-+ bacpy(&conn->dst, dst);
-+ conn->type = type;
-+ conn->hdev = hdev;
-+ conn->state = BT_OPEN;
-+
-+ skb_queue_head_init(&conn->data_q);
-+ hci_conn_init_timer(conn);
-+
-+ atomic_set(&conn->refcnt, 0);
-+
-+ hci_dev_hold(hdev);
-+
-+ tasklet_disable(&hdev->tx_task);
-+ conn_hash_add(hdev, conn);
-+ tasklet_enable(&hdev->tx_task);
-+
-+ return conn;
-+}
-+
-+int hci_conn_del(struct hci_conn *conn)
-+{
-+ struct hci_dev *hdev = conn->hdev;
-+
-+ BT_DBG("%s conn %p handle %d", hdev->name, conn, conn->handle);
-+
-+ hci_conn_del_timer(conn);
-+
-+ if (conn->type == SCO_LINK) {
-+ struct hci_conn *acl = conn->link;
-+ if (acl) {
-+ acl->link = NULL;
-+ hci_conn_put(acl);
-+ }
-+ } else {
-+ struct hci_conn *sco = conn->link;
-+ if (sco)
-+ sco->link = NULL;
-+
-+ /* Unacked frames */
-+ hdev->acl_cnt += conn->sent;
-+ }
-+
-+ tasklet_disable(&hdev->tx_task);
-+ conn_hash_del(hdev, conn);
-+ tasklet_enable(&hdev->tx_task);
-+
-+ skb_queue_purge(&conn->data_q);
-+
-+ hci_dev_put(hdev);
-+
-+ kfree(conn);
-+ return 0;
-+}
-+
-+struct hci_dev *hci_get_route(bdaddr_t *dst, bdaddr_t *src)
-+{
-+ int use_src = bacmp(src, BDADDR_ANY);
-+ struct hci_dev *hdev = NULL;
-+ struct list_head *p;
-+
-+ BT_DBG("%s -> %s", batostr(src), batostr(dst));
-+
-+ read_lock_bh(&hdev_list_lock);
-+
-+ list_for_each(p, &hdev_list) {
-+ struct hci_dev *d;
-+ d = list_entry(p, struct hci_dev, list);
-+
-+ if (!test_bit(HCI_UP, &d->flags))
-+ continue;
-+
-+ /* Simple routing:
-+ * No source address - find interface with bdaddr != dst
-+ * Source address - find interface with bdaddr == src
-+ */
-+
-+ if (use_src) {
-+ if (!bacmp(&d->bdaddr, src)) {
-+ hdev = d; break;
-+ }
-+ } else {
-+ if (bacmp(&d->bdaddr, dst)) {
-+ hdev = d; break;
-+ }
-+ }
-+ }
-+
-+ if (hdev)
-+ hci_dev_hold(hdev);
-+
-+ read_unlock_bh(&hdev_list_lock);
-+ return hdev;
-+}
-+
-+/* Create SCO or ACL connection.
-+ * Device _must_ be locked */
-+struct hci_conn * hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst)
-+{
-+ struct hci_conn *acl;
-+
-+ BT_DBG("%s dst %s", hdev->name, batostr(dst));
-+
-+ if (!(acl = conn_hash_lookup_ba(hdev, ACL_LINK, dst))) {
-+ if (!(acl = hci_conn_add(hdev, ACL_LINK, dst)))
-+ return NULL;
-+ }
-+
-+ hci_conn_hold(acl);
-+
-+ if (acl->state == BT_OPEN || acl->state == BT_CLOSED)
-+ hci_acl_connect(acl);
-+
-+ if (type == SCO_LINK) {
-+ struct hci_conn *sco;
-+
-+ if (!(sco = conn_hash_lookup_ba(hdev, SCO_LINK, dst))) {
-+ if (!(sco = hci_conn_add(hdev, SCO_LINK, dst))) {
-+ hci_conn_put(acl);
-+ return NULL;
-+ }
-+ }
-+ acl->link = sco;
-+ sco->link = acl;
-+
-+ hci_conn_hold(sco);
-+
-+ if (acl->state == BT_CONNECTED &&
-+ (sco->state == BT_OPEN || sco->state == BT_CLOSED))
-+ hci_add_sco(sco, acl->handle);
-+
-+ return sco;
-+ } else {
-+ return acl;
-+ }
-+}
-+
-+/* Authenticate remote device */
-+int hci_conn_auth(struct hci_conn *conn)
-+{
-+ BT_DBG("conn %p", conn);
-+
-+ if (conn->link_mode & HCI_LM_AUTH)
-+ return 1;
-+
-+ if (!test_and_set_bit(HCI_CONN_AUTH_PEND, &conn->pend)) {
-+ auth_requested_cp ar;
-+ ar.handle = __cpu_to_le16(conn->handle);
-+ hci_send_cmd(conn->hdev, OGF_LINK_CTL, OCF_AUTH_REQUESTED,
-+ AUTH_REQUESTED_CP_SIZE, &ar);
-+ }
-+ return 0;
-+}
-+
-+/* Enable encryption */
-+int hci_conn_encrypt(struct hci_conn *conn)
-+{
-+ BT_DBG("conn %p", conn);
-+
-+ if (conn->link_mode & HCI_LM_ENCRYPT)
-+ return 1;
-+
-+ if (test_and_set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend))
-+ return 0;
-+
-+ if (hci_conn_auth(conn)) {
-+ set_conn_encrypt_cp ce;
-+ ce.handle = __cpu_to_le16(conn->handle);
-+ ce.encrypt = 1;
-+ hci_send_cmd(conn->hdev, OGF_LINK_CTL, OCF_SET_CONN_ENCRYPT,
-+ SET_CONN_ENCRYPT_CP_SIZE, &ce);
-+ }
-+ return 0;
-+}
-+
-+/* Drop all connection on the device */
-+void hci_conn_hash_flush(struct hci_dev *hdev)
-+{
-+ struct conn_hash *h = &hdev->conn_hash;
-+ struct list_head *p;
-+
-+ BT_DBG("hdev %s", hdev->name);
-+
-+ p = h->list.next;
-+ while (p != &h->list) {
-+ struct hci_conn *c;
-+
-+ c = list_entry(p, struct hci_conn, list);
-+ p = p->next;
-+
-+ c->state = BT_CLOSED;
-+
-+ hci_proto_disconn_ind(c, 0x16);
-+ hci_conn_del(c);
-+ }
-+}
-+
-+int hci_get_conn_list(unsigned long arg)
-+{
-+ struct hci_conn_list_req req, *cl;
-+ struct hci_conn_info *ci;
-+ struct hci_dev *hdev;
-+ struct list_head *p;
-+ int n = 0, size, err;
-+
-+ if (copy_from_user(&req, (void *) arg, sizeof(req)))
-+ return -EFAULT;
-+
-+ if (!req.conn_num || req.conn_num > (PAGE_SIZE * 2) / sizeof(*ci))
-+ return -EINVAL;
-+
-+ size = sizeof(req) + req.conn_num * sizeof(*ci);
-+
-+ if (!(cl = (void *) kmalloc(size, GFP_KERNEL)))
-+ return -ENOMEM;
-+
-+ if (!(hdev = hci_dev_get(req.dev_id))) {
-+ kfree(cl);
-+ return -ENODEV;
-+ }
-+
-+ ci = cl->conn_info;
-+
-+ hci_dev_lock_bh(hdev);
-+ list_for_each(p, &hdev->conn_hash.list) {
-+ register struct hci_conn *c;
-+ c = list_entry(p, struct hci_conn, list);
-+
-+ bacpy(&(ci + n)->bdaddr, &c->dst);
-+ (ci + n)->handle = c->handle;
-+ (ci + n)->type = c->type;
-+ (ci + n)->out = c->out;
-+ (ci + n)->state = c->state;
-+ (ci + n)->link_mode = c->link_mode;
-+ if (++n >= req.conn_num)
-+ break;
-+ }
-+ hci_dev_unlock_bh(hdev);
-+
-+ cl->dev_id = hdev->id;
-+ cl->conn_num = n;
-+ size = sizeof(req) + n * sizeof(*ci);
-+
-+ hci_dev_put(hdev);
-+
-+ err = copy_to_user((void *) arg, cl, size);
-+ kfree(cl);
-+
-+ return err ? -EFAULT : 0;
-+}
-+
-+int hci_get_conn_info(struct hci_dev *hdev, unsigned long arg)
-+{
-+ struct hci_conn_info_req req;
-+ struct hci_conn_info ci;
-+ struct hci_conn *conn;
-+ char *ptr = (void *) arg + sizeof(req);
-+
-+ if (copy_from_user(&req, (void *) arg, sizeof(req)))
-+ return -EFAULT;
-+
-+ hci_dev_lock_bh(hdev);
-+ conn = conn_hash_lookup_ba(hdev, req.type, &req.bdaddr);
-+ if (conn) {
-+ bacpy(&ci.bdaddr, &conn->dst);
-+ ci.handle = conn->handle;
-+ ci.type = conn->type;
-+ ci.out = conn->out;
-+ ci.state = conn->state;
-+ ci.link_mode = conn->link_mode;
-+ }
-+ hci_dev_unlock_bh(hdev);
-+
-+ if (!conn)
-+ return -ENOENT;
-+
-+ return copy_to_user(ptr, &ci, sizeof(ci)) ? -EFAULT : 0;
-+}
-diff -urN linux-2.4.18/net/bluetooth/hci_core.c linux-2.4.18-mh15/net/bluetooth/hci_core.c
---- linux-2.4.18/net/bluetooth/hci_core.c 2001-11-09 23:21:21.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hci_core.c 2004-08-01 16:26:23.000000000 +0200
-@@ -25,11 +25,12 @@
- /*
- * BlueZ HCI Core.
- *
-- * $Id: hci_core.c,v 1.22 2001/08/03 04:19:50 maxk Exp $
-+ * $Id: hci_core.c,v 1.14 2002/08/26 16:57:57 maxk Exp $
- */
-
- #include <linux/config.h>
- #include <linux/module.h>
-+#include <linux/kmod.h>
-
- #include <linux/types.h>
- #include <linux/errno.h>
-@@ -50,12 +51,11 @@
- #include <asm/unaligned.h>
-
- #include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
- #include <net/bluetooth/hci_core.h>
-
- #ifndef HCI_CORE_DEBUG
--#undef DBG
--#define DBG( A... )
-+#undef BT_DBG
-+#define BT_DBG( A... )
- #endif
-
- static void hci_cmd_task(unsigned long arg);
-@@ -63,279 +63,69 @@
- static void hci_tx_task(unsigned long arg);
- static void hci_notify(struct hci_dev *hdev, int event);
-
--static rwlock_t hci_task_lock = RW_LOCK_UNLOCKED;
-+rwlock_t hci_task_lock = RW_LOCK_UNLOCKED;
-
- /* HCI device list */
--struct hci_dev *hdev_list[HCI_MAX_DEV];
--spinlock_t hdev_list_lock;
--#define GET_HDEV(a) (hdev_list[a])
--
--/* HCI protocol list */
--struct hci_proto *hproto_list[HCI_MAX_PROTO];
--#define GET_HPROTO(a) (hproto_list[a])
-+LIST_HEAD(hdev_list);
-+rwlock_t hdev_list_lock = RW_LOCK_UNLOCKED;
-
--/* HCI notifiers list */
--struct notifier_block *hci_dev_notifier;
--
--/* HCI device notifications */
--int hci_register_notifier(struct notifier_block *nb)
--{
-- int err, i;
-- struct hci_dev *hdev;
--
-- if ((err = notifier_chain_register(&hci_dev_notifier, nb)))
-- return err;
--
-- /* Notify about already registered devices */
-- spin_lock(&hdev_list_lock);
-- for (i = 0; i < HCI_MAX_DEV; i++) {
-- if (!(hdev = GET_HDEV(i)))
-- continue;
-- if (hdev->flags & HCI_UP)
-- (*nb->notifier_call)(nb, HCI_DEV_UP, hdev);
-- }
-- spin_unlock(&hdev_list_lock);
--
-- return 0;
--}
--
--int hci_unregister_notifier(struct notifier_block *nb)
--{
-- return notifier_chain_unregister(&hci_dev_notifier, nb);
--}
--
--static inline void hci_notify(struct hci_dev *hdev, int event)
--{
-- notifier_call_chain(&hci_dev_notifier, event, hdev);
--}
--
--/* Get HCI device by index (device is locked on return)*/
--struct hci_dev *hci_dev_get(int index)
--{
-- struct hci_dev *hdev;
-- DBG("%d", index);
--
-- if (index < 0 || index >= HCI_MAX_DEV)
-- return NULL;
--
-- spin_lock(&hdev_list_lock);
-- if ((hdev = GET_HDEV(index)))
-- hci_dev_hold(hdev);
-- spin_unlock(&hdev_list_lock);
--
-- return hdev;
--}
--
--/* Flush inquiry cache */
--void inquiry_cache_flush(struct inquiry_cache *cache)
--{
-- struct inquiry_entry *next = cache->list, *e;
--
-- DBG("cache %p", cache);
--
-- cache->list = NULL;
-- while ((e = next)) {
-- next = e->next;
-- kfree(e);
-- }
--}
--
--/* Lookup by bdaddr.
-- * Cache must be locked. */
--static struct inquiry_entry * __inquiry_cache_lookup(struct inquiry_cache *cache, bdaddr_t *bdaddr)
--{
-- struct inquiry_entry *e;
--
-- DBG("cache %p, %s", cache, batostr(bdaddr));
--
-- for (e = cache->list; e; e = e->next)
-- if (!bacmp(&e->info.bdaddr, bdaddr))
-- break;
--
-- return e;
--}
--
--static void inquiry_cache_update(struct inquiry_cache *cache, inquiry_info *info)
--{
-- struct inquiry_entry *e;
--
-- DBG("cache %p, %s", cache, batostr(&info->bdaddr));
--
-- inquiry_cache_lock(cache);
--
-- if (!(e = __inquiry_cache_lookup(cache, &info->bdaddr))) {
-- /* Entry not in the cache. Add new one. */
-- if (!(e = kmalloc(sizeof(struct inquiry_entry), GFP_ATOMIC)))
-- goto unlock;
-- memset(e, 0, sizeof(struct inquiry_entry));
-- e->next = cache->list;
-- cache->list = e;
-- }
--
-- memcpy(&e->info, info, sizeof(inquiry_info));
-- e->timestamp = jiffies;
-- cache->timestamp = jiffies;
--unlock:
-- inquiry_cache_unlock(cache);
--}
--
--static int inquiry_cache_dump(struct inquiry_cache *cache, int num, __u8 *buf)
--{
-- inquiry_info *info = (inquiry_info *) buf;
-- struct inquiry_entry *e;
-- int copied = 0;
-+/* HCI protocols */
-+#define HCI_MAX_PROTO 2
-+struct hci_proto *hci_proto[HCI_MAX_PROTO];
-
-- inquiry_cache_lock(cache);
--
-- for (e = cache->list; e && copied < num; e = e->next, copied++)
-- memcpy(info++, &e->info, sizeof(inquiry_info));
-+/* HCI notifiers list */
-+static struct notifier_block *hci_notifier;
-
-- inquiry_cache_unlock(cache);
-
-- DBG("cache %p, copied %d", cache, copied);
-- return copied;
--}
-+/* ---- HCI notifications ---- */
-
--/* --------- BaseBand connections --------- */
--static struct hci_conn *hci_conn_add(struct hci_dev *hdev, __u16 handle, __u8 type, bdaddr_t *dst)
-+int hci_register_notifier(struct notifier_block *nb)
- {
-- struct hci_conn *conn;
--
-- DBG("%s handle %d dst %s", hdev->name, handle, batostr(dst));
--
-- if ( conn_hash_lookup(&hdev->conn_hash, handle)) {
-- ERR("%s handle 0x%x already exists", hdev->name, handle);
-- return NULL;
-- }
--
-- if (!(conn = kmalloc(sizeof(struct hci_conn), GFP_ATOMIC)))
-- return NULL;
-- memset(conn, 0, sizeof(struct hci_conn));
--
-- bacpy(&conn->dst, dst);
-- conn->handle = handle;
-- conn->type = type;
-- conn->hdev = hdev;
--
-- skb_queue_head_init(&conn->data_q);
--
-- hci_dev_hold(hdev);
-- conn_hash_add(&hdev->conn_hash, handle, conn);
--
-- return conn;
-+ return notifier_chain_register(&hci_notifier, nb);
- }
-
--static int hci_conn_del(struct hci_dev *hdev, struct hci_conn *conn)
-+int hci_unregister_notifier(struct notifier_block *nb)
- {
-- DBG("%s conn %p handle %d", hdev->name, conn, conn->handle);
--
-- conn_hash_del(&hdev->conn_hash, conn);
-- hci_dev_put(hdev);
--
-- /* Unacked frames */
-- hdev->acl_cnt += conn->sent;
--
-- skb_queue_purge(&conn->data_q);
--
-- kfree(conn);
-- return 0;
-+ return notifier_chain_unregister(&hci_notifier, nb);
- }
-
--/* Drop all connection on the device */
--static void hci_conn_hash_flush(struct hci_dev *hdev)
-+void hci_notify(struct hci_dev *hdev, int event)
- {
-- struct conn_hash *h = &hdev->conn_hash;
-- struct hci_proto *hp;
-- struct list_head *p;
--
-- DBG("hdev %s", hdev->name);
--
-- p = h->list.next;
-- while (p != &h->list) {
-- struct hci_conn *c;
--
-- c = list_entry(p, struct hci_conn, list);
-- p = p->next;
--
-- if (c->type == ACL_LINK) {
-- /* ACL link notify L2CAP layer */
-- if ((hp = GET_HPROTO(HCI_PROTO_L2CAP)) && hp->disconn_ind)
-- hp->disconn_ind(c, 0x16);
-- } else {
-- /* SCO link (no notification) */
-- }
--
-- hci_conn_del(hdev, c);
-- }
-+ notifier_call_chain(&hci_notifier, event, hdev);
- }
-
--int hci_connect(struct hci_dev *hdev, bdaddr_t *bdaddr)
--{
-- struct inquiry_cache *cache = &hdev->inq_cache;
-- struct inquiry_entry *e;
-- create_conn_cp cc;
-- __u16 clock_offset;
--
-- DBG("%s bdaddr %s", hdev->name, batostr(bdaddr));
--
-- if (!(hdev->flags & HCI_UP))
-- return -ENODEV;
--
-- inquiry_cache_lock_bh(cache);
--
-- if (!(e = __inquiry_cache_lookup(cache, bdaddr)) || inquiry_entry_age(e) > INQUIRY_ENTRY_AGE_MAX) {
-- cc.pscan_rep_mode = 0;
-- cc.pscan_mode = 0;
-- clock_offset = 0;
-- } else {
-- cc.pscan_rep_mode = e->info.pscan_rep_mode;
-- cc.pscan_mode = e->info.pscan_mode;
-- clock_offset = __le16_to_cpu(e->info.clock_offset) & 0x8000;
-- }
--
-- inquiry_cache_unlock_bh(cache);
--
-- bacpy(&cc.bdaddr, bdaddr);
-- cc.pkt_type = __cpu_to_le16(hdev->pkt_type);
-- cc.clock_offset = __cpu_to_le16(clock_offset);
--
-- if (lmp_rswitch_capable(hdev))
-- cc.role_switch = 0x01;
-- else
-- cc.role_switch = 0x00;
--
-- hci_send_cmd(hdev, OGF_LINK_CTL, OCF_CREATE_CONN, CREATE_CONN_CP_SIZE, &cc);
-+/* ---- HCI hotplug support ---- */
-
-- return 0;
--}
-+#ifdef CONFIG_HOTPLUG
-
--int hci_disconnect(struct hci_conn *conn, __u8 reason)
-+static int hci_run_hotplug(char *dev, char *action)
- {
-- disconnect_cp dc;
--
-- DBG("conn %p handle %d", conn, conn->handle);
-+ char *argv[3], *envp[5], dstr[20], astr[32];
-
-- dc.handle = __cpu_to_le16(conn->handle);
-- dc.reason = reason;
-- hci_send_cmd(conn->hdev, OGF_LINK_CTL, OCF_DISCONNECT, DISCONNECT_CP_SIZE, &dc);
-+ sprintf(dstr, "DEVICE=%s", dev);
-+ sprintf(astr, "ACTION=%s", action);
-
-- return 0;
--}
-+ argv[0] = hotplug_path;
-+ argv[1] = "bluetooth";
-+ argv[2] = NULL;
-
--/* --------- HCI request handling ------------ */
--static inline void hci_req_lock(struct hci_dev *hdev)
--{
-- down(&hdev->req_lock);
-+ envp[0] = "HOME=/";
-+ envp[1] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin";
-+ envp[2] = dstr;
-+ envp[3] = astr;
-+ envp[4] = NULL;
-+
-+ return call_usermodehelper(argv[0], argv, envp);
- }
-+#else
-+#define hci_run_hotplug(A...)
-+#endif
-
--static inline void hci_req_unlock(struct hci_dev *hdev)
--{
-- up(&hdev->req_lock);
--}
-+/* ---- HCI requests ---- */
-
--static inline void hci_req_complete(struct hci_dev *hdev, int result)
-+void hci_req_complete(struct hci_dev *hdev, int result)
- {
-- DBG("%s result 0x%2.2x", hdev->name, result);
-+ BT_DBG("%s result 0x%2.2x", hdev->name, result);
-
- if (hdev->req_status == HCI_REQ_PEND) {
- hdev->req_result = result;
-@@ -344,9 +134,9 @@
- }
- }
-
--static inline void hci_req_cancel(struct hci_dev *hdev, int err)
-+void hci_req_cancel(struct hci_dev *hdev, int err)
- {
-- DBG("%s err 0x%2.2x", hdev->name, err);
-+ BT_DBG("%s err 0x%2.2x", hdev->name, err);
-
- if (hdev->req_status == HCI_REQ_PEND) {
- hdev->req_result = err;
-@@ -356,23 +146,22 @@
- }
-
- /* Execute request and wait for completion. */
--static int __hci_request(struct hci_dev *hdev, void (*req)(struct hci_dev *hdev, unsigned long opt),
-- unsigned long opt, __u32 timeout)
-+static int __hci_request(struct hci_dev *hdev, void (*req)(struct hci_dev *hdev, unsigned long opt), unsigned long opt, __u32 timeout)
- {
- DECLARE_WAITQUEUE(wait, current);
- int err = 0;
-
-- DBG("%s start", hdev->name);
-+ BT_DBG("%s start", hdev->name);
-
- hdev->req_status = HCI_REQ_PEND;
-
- add_wait_queue(&hdev->req_wait_q, &wait);
-- current->state = TASK_INTERRUPTIBLE;
-+ set_current_state(TASK_INTERRUPTIBLE);
-
- req(hdev, opt);
- schedule_timeout(timeout);
-
-- current->state = TASK_RUNNING;
-+ set_current_state(TASK_RUNNING);
- remove_wait_queue(&hdev->req_wait_q, &wait);
-
- if (signal_pending(current))
-@@ -394,7 +183,7 @@
-
- hdev->req_status = hdev->req_result = 0;
-
-- DBG("%s end: err %d", hdev->name, err);
-+ BT_DBG("%s end: err %d", hdev->name, err);
-
- return err;
- }
-@@ -412,10 +201,9 @@
- return ret;
- }
-
--/* --------- HCI requests ---------- */
- static void hci_reset_req(struct hci_dev *hdev, unsigned long opt)
- {
-- DBG("%s %ld", hdev->name, opt);
-+ BT_DBG("%s %ld", hdev->name, opt);
-
- /* Reset device */
- hci_send_cmd(hdev, OGF_HOST_CTL, OCF_RESET, 0, NULL);
-@@ -423,27 +211,44 @@
-
- static void hci_init_req(struct hci_dev *hdev, unsigned long opt)
- {
-- set_event_flt_cp ec;
-+ set_event_flt_cp ef;
- __u16 param;
-
-- DBG("%s %ld", hdev->name, opt);
-+ BT_DBG("%s %ld", hdev->name, opt);
-
- /* Mandatory initialization */
-
-+ /* Reset */
-+ if (test_bit(HCI_QUIRK_RESET_ON_INIT, &hdev->quirks))
-+ hci_send_cmd(hdev, OGF_HOST_CTL, OCF_RESET, 0, NULL);
-+
- /* Read Local Supported Features */
- hci_send_cmd(hdev, OGF_INFO_PARAM, OCF_READ_LOCAL_FEATURES, 0, NULL);
-
- /* Read Buffer Size (ACL mtu, max pkt, etc.) */
- hci_send_cmd(hdev, OGF_INFO_PARAM, OCF_READ_BUFFER_SIZE, 0, NULL);
-
-+#if 0
-+ /* Host buffer size */
-+ {
-+ host_buffer_size_cp bs;
-+ bs.acl_mtu = __cpu_to_le16(HCI_MAX_ACL_SIZE);
-+ bs.sco_mtu = HCI_MAX_SCO_SIZE;
-+ bs.acl_max_pkt = __cpu_to_le16(0xffff);
-+ bs.sco_max_pkt = __cpu_to_le16(0xffff);
-+ hci_send_cmd(hdev, OGF_HOST_CTL, OCF_HOST_BUFFER_SIZE,
-+ HOST_BUFFER_SIZE_CP_SIZE, &bs);
-+ }
-+#endif
-+
- /* Read BD Address */
- hci_send_cmd(hdev, OGF_INFO_PARAM, OCF_READ_BD_ADDR, 0, NULL);
-
- /* Optional initialization */
-
- /* Clear Event Filters */
-- ec.flt_type = FLT_CLEAR_ALL;
-- hci_send_cmd(hdev, OGF_HOST_CTL, OCF_SET_EVENT_FLT, 1, &ec);
-+ ef.flt_type = FLT_CLEAR_ALL;
-+ hci_send_cmd(hdev, OGF_HOST_CTL, OCF_SET_EVENT_FLT, 1, &ef);
-
- /* Page timeout ~20 secs */
- param = __cpu_to_le16(0x8000);
-@@ -458,7 +263,7 @@
- {
- __u8 scan = opt;
-
-- DBG("%s %x", hdev->name, scan);
-+ BT_DBG("%s %x", hdev->name, scan);
-
- /* Inquiry and Page scans */
- hci_send_cmd(hdev, OGF_HOST_CTL, OCF_WRITE_SCAN_ENABLE, 1, &scan);
-@@ -468,116 +273,273 @@
- {
- __u8 auth = opt;
-
-- DBG("%s %x", hdev->name, auth);
-+ BT_DBG("%s %x", hdev->name, auth);
-
- /* Authentication */
- hci_send_cmd(hdev, OGF_HOST_CTL, OCF_WRITE_AUTH_ENABLE, 1, &auth);
- }
-
--static void hci_inq_req(struct hci_dev *hdev, unsigned long opt)
-+static void hci_encrypt_req(struct hci_dev *hdev, unsigned long opt)
- {
-- struct hci_inquiry_req *ir = (struct hci_inquiry_req *) opt;
-- inquiry_cp ic;
-+ __u8 encrypt = opt;
-
-- DBG("%s", hdev->name);
-+ BT_DBG("%s %x", hdev->name, encrypt);
-
-- /* Start Inquiry */
-- memcpy(&ic.lap, &ir->lap, 3);
-- ic.lenght = ir->length;
-- ic.num_rsp = ir->num_rsp;
-- hci_send_cmd(hdev, OGF_LINK_CTL, OCF_INQUIRY, INQUIRY_CP_SIZE, &ic);
-+ /* Authentication */
-+ hci_send_cmd(hdev, OGF_HOST_CTL, OCF_WRITE_ENCRYPT_MODE, 1, &encrypt);
- }
-
--/* HCI ioctl helpers */
--int hci_dev_open(__u16 dev)
-+/* Get HCI device by index.
-+ * Device is locked on return. */
-+struct hci_dev *hci_dev_get(int index)
- {
- struct hci_dev *hdev;
-- int ret = 0;
--
-- if (!(hdev = hci_dev_get(dev)))
-- return -ENODEV;
-+ struct list_head *p;
-
-- DBG("%s %p", hdev->name, hdev);
-+ BT_DBG("%d", index);
-
-- hci_req_lock(hdev);
-+ if (index < 0)
-+ return NULL;
-
-- if (hdev->flags & HCI_UP) {
-- ret = -EALREADY;
-- goto done;
-+ read_lock(&hdev_list_lock);
-+ list_for_each(p, &hdev_list) {
-+ hdev = list_entry(p, struct hci_dev, list);
-+ if (hdev->id == index) {
-+ hci_dev_hold(hdev);
-+ goto done;
-+ }
- }
-+ hdev = NULL;
-+done:
-+ read_unlock(&hdev_list_lock);
-+ return hdev;
-+}
-
-- if (hdev->open(hdev)) {
-- ret = -EIO;
-- goto done;
-- }
-+/* ---- Inquiry support ---- */
-+void inquiry_cache_flush(struct hci_dev *hdev)
-+{
-+ struct inquiry_cache *cache = &hdev->inq_cache;
-+ struct inquiry_entry *next = cache->list, *e;
-
-- if (hdev->flags & HCI_NORMAL) {
-- atomic_set(&hdev->cmd_cnt, 1);
-- hdev->flags |= HCI_INIT;
-+ BT_DBG("cache %p", cache);
-
-- //__hci_request(hdev, hci_reset_req, 0, HZ);
-- ret = __hci_request(hdev, hci_init_req, 0, HCI_INIT_TIMEOUT);
--
-- hdev->flags &= ~HCI_INIT;
-+ cache->list = NULL;
-+ while ((e = next)) {
-+ next = e->next;
-+ kfree(e);
- }
-+}
-
-- if (!ret) {
-- hdev->flags |= HCI_UP;
-- hci_notify(hdev, HCI_DEV_UP);
-- } else {
-- /* Init failed, cleanup */
-- tasklet_kill(&hdev->rx_task);
-- tasklet_kill(&hdev->tx_task);
-- tasklet_kill(&hdev->cmd_task);
-+struct inquiry_entry *inquiry_cache_lookup(struct hci_dev *hdev, bdaddr_t *bdaddr)
-+{
-+ struct inquiry_cache *cache = &hdev->inq_cache;
-+ struct inquiry_entry *e;
-
-- skb_queue_purge(&hdev->cmd_q);
-- skb_queue_purge(&hdev->rx_q);
-+ BT_DBG("cache %p, %s", cache, batostr(bdaddr));
-
-- if (hdev->flush)
-- hdev->flush(hdev);
-+ for (e = cache->list; e; e = e->next)
-+ if (!bacmp(&e->info.bdaddr, bdaddr))
-+ break;
-+ return e;
-+}
-
-- if (hdev->sent_cmd) {
-- kfree_skb(hdev->sent_cmd);
-- hdev->sent_cmd = NULL;
-- }
-+void inquiry_cache_update(struct hci_dev *hdev, inquiry_info *info)
-+{
-+ struct inquiry_cache *cache = &hdev->inq_cache;
-+ struct inquiry_entry *e;
-
-- hdev->close(hdev);
-- }
-+ BT_DBG("cache %p, %s", cache, batostr(&info->bdaddr));
-
--done:
-- hci_req_unlock(hdev);
-- hci_dev_put(hdev);
-+ if (!(e = inquiry_cache_lookup(hdev, &info->bdaddr))) {
-+ /* Entry not in the cache. Add new one. */
-+ if (!(e = kmalloc(sizeof(struct inquiry_entry), GFP_ATOMIC)))
-+ return;
-+ memset(e, 0, sizeof(struct inquiry_entry));
-+ e->next = cache->list;
-+ cache->list = e;
-+ }
-
-- return ret;
-+ memcpy(&e->info, info, sizeof(inquiry_info));
-+ e->timestamp = jiffies;
-+ cache->timestamp = jiffies;
- }
-
--int hci_dev_close(__u16 dev)
-+int inquiry_cache_dump(struct hci_dev *hdev, int num, __u8 *buf)
- {
-- struct hci_dev *hdev;
--
-- if (!(hdev = hci_dev_get(dev)))
-- return -ENODEV;
-+ struct inquiry_cache *cache = &hdev->inq_cache;
-+ inquiry_info *info = (inquiry_info *) buf;
-+ struct inquiry_entry *e;
-+ int copied = 0;
-
-- DBG("%s %p", hdev->name, hdev);
-+ for (e = cache->list; e && copied < num; e = e->next, copied++)
-+ memcpy(info++, &e->info, sizeof(inquiry_info));
-
-- hci_req_cancel(hdev, ENODEV);
-- hci_req_lock(hdev);
-+ BT_DBG("cache %p, copied %d", cache, copied);
-+ return copied;
-+}
-
-- if (!(hdev->flags & HCI_UP))
-- goto done;
-+static void hci_inq_req(struct hci_dev *hdev, unsigned long opt)
-+{
-+ struct hci_inquiry_req *ir = (struct hci_inquiry_req *) opt;
-+ inquiry_cp ic;
-
-- /* Kill RX and TX tasks */
-- tasklet_kill(&hdev->rx_task);
-- tasklet_kill(&hdev->tx_task);
-+ BT_DBG("%s", hdev->name);
-
-- inquiry_cache_flush(&hdev->inq_cache);
-+ if (test_bit(HCI_INQUIRY, &hdev->flags))
-+ return;
-
-- hci_conn_hash_flush(hdev);
-+ /* Start Inquiry */
-+ memcpy(&ic.lap, &ir->lap, 3);
-+ ic.length = ir->length;
-+ ic.num_rsp = ir->num_rsp;
-+ hci_send_cmd(hdev, OGF_LINK_CTL, OCF_INQUIRY, INQUIRY_CP_SIZE, &ic);
-+}
-
-- /* Clear flags */
-- hdev->flags &= HCI_SOCK;
-- hdev->flags |= HCI_NORMAL;
-+int hci_inquiry(unsigned long arg)
-+{
-+ struct hci_inquiry_req ir;
-+ struct hci_dev *hdev;
-+ int err = 0, do_inquiry = 0, max_rsp;
-+ long timeo;
-+ __u8 *buf, *ptr;
-
-+ ptr = (void *) arg;
-+ if (copy_from_user(&ir, ptr, sizeof(ir)))
-+ return -EFAULT;
-+
-+ if (!(hdev = hci_dev_get(ir.dev_id)))
-+ return -ENODEV;
-+
-+ hci_dev_lock_bh(hdev);
-+ if (inquiry_cache_age(hdev) > INQUIRY_CACHE_AGE_MAX ||
-+ inquiry_cache_empty(hdev) ||
-+ ir.flags & IREQ_CACHE_FLUSH) {
-+ inquiry_cache_flush(hdev);
-+ do_inquiry = 1;
-+ }
-+ hci_dev_unlock_bh(hdev);
-+
-+ timeo = ir.length * 2 * HZ;
-+ if (do_inquiry && (err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo)) < 0)
-+ goto done;
-+
-+ /* for unlimited number of responses we will use buffer with 255 entries */
-+ max_rsp = (ir.num_rsp == 0) ? 255 : ir.num_rsp;
-+
-+ /* cache_dump can't sleep. Therefore we allocate temp buffer and then
-+ * copy it to the user space.
-+ */
-+ if (!(buf = kmalloc(sizeof(inquiry_info) * max_rsp, GFP_KERNEL))) {
-+ err = -ENOMEM;
-+ goto done;
-+ }
-+
-+ hci_dev_lock_bh(hdev);
-+ ir.num_rsp = inquiry_cache_dump(hdev, max_rsp, buf);
-+ hci_dev_unlock_bh(hdev);
-+
-+ BT_DBG("num_rsp %d", ir.num_rsp);
-+
-+ if (!verify_area(VERIFY_WRITE, ptr, sizeof(ir) +
-+ (sizeof(inquiry_info) * ir.num_rsp))) {
-+ copy_to_user(ptr, &ir, sizeof(ir));
-+ ptr += sizeof(ir);
-+ copy_to_user(ptr, buf, sizeof(inquiry_info) * ir.num_rsp);
-+ } else
-+ err = -EFAULT;
-+
-+ kfree(buf);
-+
-+done:
-+ hci_dev_put(hdev);
-+ return err;
-+}
-+
-+/* ---- HCI ioctl helpers ---- */
-+
-+int hci_dev_open(__u16 dev)
-+{
-+ struct hci_dev *hdev;
-+ int ret = 0;
-+
-+ if (!(hdev = hci_dev_get(dev)))
-+ return -ENODEV;
-+
-+ BT_DBG("%s %p", hdev->name, hdev);
-+
-+ hci_req_lock(hdev);
-+
-+ if (test_bit(HCI_UP, &hdev->flags)) {
-+ ret = -EALREADY;
-+ goto done;
-+ }
-+
-+ if (hdev->open(hdev)) {
-+ ret = -EIO;
-+ goto done;
-+ }
-+
-+ if (!test_bit(HCI_RAW, &hdev->flags)) {
-+ atomic_set(&hdev->cmd_cnt, 1);
-+ set_bit(HCI_INIT, &hdev->flags);
-+
-+ //__hci_request(hdev, hci_reset_req, 0, HZ);
-+ ret = __hci_request(hdev, hci_init_req, 0, HCI_INIT_TIMEOUT);
-+
-+ clear_bit(HCI_INIT, &hdev->flags);
-+ }
-+
-+ if (!ret) {
-+ set_bit(HCI_UP, &hdev->flags);
-+ hci_notify(hdev, HCI_DEV_UP);
-+ } else {
-+ /* Init failed, cleanup */
-+ tasklet_kill(&hdev->rx_task);
-+ tasklet_kill(&hdev->tx_task);
-+ tasklet_kill(&hdev->cmd_task);
-+
-+ skb_queue_purge(&hdev->cmd_q);
-+ skb_queue_purge(&hdev->rx_q);
-+
-+ if (hdev->flush)
-+ hdev->flush(hdev);
-+
-+ if (hdev->sent_cmd) {
-+ kfree_skb(hdev->sent_cmd);
-+ hdev->sent_cmd = NULL;
-+ }
-+
-+ hdev->close(hdev);
-+ hdev->flags = 0;
-+ }
-+
-+done:
-+ hci_req_unlock(hdev);
-+ hci_dev_put(hdev);
-+ return ret;
-+}
-+
-+static int hci_dev_do_close(struct hci_dev *hdev)
-+{
-+ BT_DBG("%s %p", hdev->name, hdev);
-+
-+ hci_req_cancel(hdev, ENODEV);
-+ hci_req_lock(hdev);
-+
-+ if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
-+ hci_req_unlock(hdev);
-+ return 0;
-+ }
-+
-+ /* Kill RX and TX tasks */
-+ tasklet_kill(&hdev->rx_task);
-+ tasklet_kill(&hdev->tx_task);
-+
-+ hci_dev_lock_bh(hdev);
-+ inquiry_cache_flush(hdev);
-+ hci_conn_hash_flush(hdev);
-+ hci_dev_unlock_bh(hdev);
-+
- hci_notify(hdev, HCI_DEV_DOWN);
-
- if (hdev->flush)
-@@ -586,9 +548,9 @@
- /* Reset device */
- skb_queue_purge(&hdev->cmd_q);
- atomic_set(&hdev->cmd_cnt, 1);
-- hdev->flags |= HCI_INIT;
-- __hci_request(hdev, hci_reset_req, 0, HZ);
-- hdev->flags &= ~HCI_INIT;
-+ set_bit(HCI_INIT, &hdev->flags);
-+ __hci_request(hdev, hci_reset_req, 0, HZ/4);
-+ clear_bit(HCI_INIT, &hdev->flags);
-
- /* Kill cmd task */
- tasklet_kill(&hdev->cmd_task);
-@@ -605,17 +567,28 @@
- }
-
- /* After this point our queues are empty
-- * and no tasks are scheduled.
-- */
-+ * and no tasks are scheduled. */
- hdev->close(hdev);
-
--done:
-- hci_req_unlock(hdev);
-- hci_dev_put(hdev);
-+ /* Clear flags */
-+ hdev->flags = 0;
-
-+ hci_req_unlock(hdev);
- return 0;
- }
-
-+int hci_dev_close(__u16 dev)
-+{
-+ struct hci_dev *hdev;
-+ int err;
-+
-+ if (!(hdev = hci_dev_get(dev)))
-+ return -ENODEV;
-+ err = hci_dev_do_close(hdev);
-+ hci_dev_put(hdev);
-+ return err;
-+}
-+
- int hci_dev_reset(__u16 dev)
- {
- struct hci_dev *hdev;
-@@ -627,16 +600,17 @@
- hci_req_lock(hdev);
- tasklet_disable(&hdev->tx_task);
-
-- if (!(hdev->flags & HCI_UP))
-+ if (!test_bit(HCI_UP, &hdev->flags))
- goto done;
-
- /* Drop queues */
- skb_queue_purge(&hdev->rx_q);
- skb_queue_purge(&hdev->cmd_q);
-
-- inquiry_cache_flush(&hdev->inq_cache);
--
-+ hci_dev_lock_bh(hdev);
-+ inquiry_cache_flush(hdev);
- hci_conn_hash_flush(hdev);
-+ hci_dev_unlock_bh(hdev);
-
- if (hdev->flush)
- hdev->flush(hdev);
-@@ -650,7 +624,6 @@
- tasklet_enable(&hdev->tx_task);
- hci_req_unlock(hdev);
- hci_dev_put(hdev);
--
- return ret;
- }
-
-@@ -669,30 +642,11 @@
- return ret;
- }
-
--int hci_dev_setauth(unsigned long arg)
--{
-- struct hci_dev *hdev;
-- struct hci_dev_req dr;
-- int ret = 0;
--
-- if (copy_from_user(&dr, (void *) arg, sizeof(dr)))
-- return -EFAULT;
--
-- if (!(hdev = hci_dev_get(dr.dev_id)))
-- return -ENODEV;
--
-- ret = hci_request(hdev, hci_auth_req, dr.dev_opt, HCI_INIT_TIMEOUT);
--
-- hci_dev_put(hdev);
--
-- return ret;
--}
--
--int hci_dev_setscan(unsigned long arg)
-+int hci_dev_cmd(unsigned int cmd, unsigned long arg)
- {
- struct hci_dev *hdev;
- struct hci_dev_req dr;
-- int ret = 0;
-+ int err = 0;
-
- if (copy_from_user(&dr, (void *) arg, sizeof(dr)))
- return -EFAULT;
-@@ -700,75 +654,105 @@
- if (!(hdev = hci_dev_get(dr.dev_id)))
- return -ENODEV;
-
-- ret = hci_request(hdev, hci_scan_req, dr.dev_opt, HCI_INIT_TIMEOUT);
--
-- hci_dev_put(hdev);
-+ switch (cmd) {
-+ case HCISETAUTH:
-+ err = hci_request(hdev, hci_auth_req, dr.dev_opt, HCI_INIT_TIMEOUT);
-+ break;
-
-- return ret;
--}
-+ case HCISETENCRYPT:
-+ if (!lmp_encrypt_capable(hdev)) {
-+ err = -EOPNOTSUPP;
-+ break;
-+ }
-
--int hci_dev_setptype(unsigned long arg)
--{
-- struct hci_dev *hdev;
-- struct hci_dev_req dr;
-- int ret = 0;
-+ if (!test_bit(HCI_AUTH, &hdev->flags)) {
-+ /* Auth must be enabled first */
-+ err = hci_request(hdev, hci_auth_req,
-+ dr.dev_opt, HCI_INIT_TIMEOUT);
-+ if (err)
-+ break;
-+ }
-+
-+ err = hci_request(hdev, hci_encrypt_req,
-+ dr.dev_opt, HCI_INIT_TIMEOUT);
-+ break;
-+
-+ case HCISETSCAN:
-+ err = hci_request(hdev, hci_scan_req, dr.dev_opt, HCI_INIT_TIMEOUT);
-+ break;
-+
-+ case HCISETPTYPE:
-+ hdev->pkt_type = (__u16) dr.dev_opt;
-+ break;
-+
-+ case HCISETLINKPOL:
-+ hdev->link_policy = (__u16) dr.dev_opt;
-+ break;
-
-- if (copy_from_user(&dr, (void *) arg, sizeof(dr)))
-- return -EFAULT;
-+ case HCISETLINKMODE:
-+ hdev->link_mode = ((__u16) dr.dev_opt) & (HCI_LM_MASTER | HCI_LM_ACCEPT);
-+ break;
-
-- if (!(hdev = hci_dev_get(dr.dev_id)))
-- return -ENODEV;
-+ case HCISETACLMTU:
-+ hdev->acl_mtu = *((__u16 *)&dr.dev_opt + 1);
-+ hdev->acl_pkts = *((__u16 *)&dr.dev_opt + 0);
-+ break;
-
-- hdev->pkt_type = (__u16) dr.dev_opt;
-+ case HCISETSCOMTU:
-+ hdev->sco_mtu = *((__u16 *)&dr.dev_opt + 1);
-+ hdev->sco_pkts = *((__u16 *)&dr.dev_opt + 0);
-+ break;
-
-+ default:
-+ err = -EINVAL;
-+ break;
-+ }
- hci_dev_put(hdev);
--
-- return ret;
-+ return err;
- }
-
--int hci_dev_list(unsigned long arg)
-+int hci_get_dev_list(unsigned long arg)
- {
- struct hci_dev_list_req *dl;
- struct hci_dev_req *dr;
-- struct hci_dev *hdev;
-- int i, n, size;
-+ struct list_head *p;
-+ int n = 0, size, err;
- __u16 dev_num;
-
- if (get_user(dev_num, (__u16 *) arg))
- return -EFAULT;
-
-- /* Avoid long loop, overflow */
-- if (dev_num > 2048)
-+ if (!dev_num || dev_num > (PAGE_SIZE * 2) / sizeof(*dr))
- return -EINVAL;
--
-- size = dev_num * sizeof(struct hci_dev_req) + sizeof(__u16);
-
-- if (verify_area(VERIFY_WRITE, (void *) arg, size))
-- return -EFAULT;
-+ size = sizeof(*dl) + dev_num * sizeof(*dr);
-
- if (!(dl = kmalloc(size, GFP_KERNEL)))
- return -ENOMEM;
-+
- dr = dl->dev_req;
-
-- spin_lock_bh(&hdev_list_lock);
-- for (i = 0, n = 0; i < HCI_MAX_DEV && n < dev_num; i++) {
-- if ((hdev = hdev_list[i])) {
-- (dr + n)->dev_id = hdev->id;
-- (dr + n)->dev_opt = hdev->flags;
-- n++;
-- }
-+ read_lock_bh(&hdev_list_lock);
-+ list_for_each(p, &hdev_list) {
-+ struct hci_dev *hdev;
-+ hdev = list_entry(p, struct hci_dev, list);
-+ (dr + n)->dev_id = hdev->id;
-+ (dr + n)->dev_opt = hdev->flags;
-+ if (++n >= dev_num)
-+ break;
- }
-- spin_unlock_bh(&hdev_list_lock);
-+ read_unlock_bh(&hdev_list_lock);
-
- dl->dev_num = n;
-- size = n * sizeof(struct hci_dev_req) + sizeof(__u16);
-+ size = sizeof(*dl) + n * sizeof(*dr);
-
-- copy_to_user((void *) arg, dl, size);
-+ err = copy_to_user((void *) arg, dl, size);
-+ kfree(dl);
-
-- return 0;
-+ return err ? -EFAULT : 0;
- }
-
--int hci_dev_info(unsigned long arg)
-+int hci_get_dev_info(unsigned long arg)
- {
- struct hci_dev *hdev;
- struct hci_dev_info di;
-@@ -786,9 +770,11 @@
- di.flags = hdev->flags;
- di.pkt_type = hdev->pkt_type;
- di.acl_mtu = hdev->acl_mtu;
-- di.acl_max = hdev->acl_max;
-+ di.acl_pkts = hdev->acl_pkts;
- di.sco_mtu = hdev->sco_mtu;
-- di.sco_max = hdev->sco_max;
-+ di.sco_pkts = hdev->sco_pkts;
-+ di.link_policy = hdev->link_policy;
-+ di.link_mode = hdev->link_mode;
-
- memcpy(&di.stat, &hdev->stat, sizeof(di.stat));
- memcpy(&di.features, &hdev->features, sizeof(di.features));
-@@ -801,258 +787,168 @@
- return err;
- }
-
--__u32 hci_dev_setmode(struct hci_dev *hdev, __u32 mode)
--{
-- __u32 omode = hdev->flags & HCI_MODE_MASK;
--
-- hdev->flags &= ~HCI_MODE_MASK;
-- hdev->flags |= (mode & HCI_MODE_MASK);
-
-- return omode;
--}
-+/* ---- Interface to HCI drivers ---- */
-
--__u32 hci_dev_getmode(struct hci_dev *hdev)
-+/* Register HCI device */
-+int hci_register_dev(struct hci_dev *hdev)
- {
-- return hdev->flags & HCI_MODE_MASK;
--}
-+ struct list_head *head = &hdev_list, *p;
-+ int id = 0;
-
--int hci_conn_list(unsigned long arg)
--{
-- struct hci_conn_list_req req, *cl;
-- struct hci_conn_info *ci;
-- struct hci_dev *hdev;
-- struct list_head *p;
-- int n = 0, size;
-+ BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
-
-- if (copy_from_user(&req, (void *) arg, sizeof(req)))
-- return -EFAULT;
-+ if (!hdev->open || !hdev->close || !hdev->destruct)
-+ return -EINVAL;
-
-- if (!(hdev = hci_dev_get(req.dev_id)))
-- return -ENODEV;
-+ write_lock_bh(&hdev_list_lock);
-
-- /* Set a limit to avoid overlong loops, and also numeric overflow - AC */
-- if(req.conn_num < 2048)
-- return -EINVAL;
-+ /* Find first available device id */
-+ list_for_each(p, &hdev_list) {
-+ if (list_entry(p, struct hci_dev, list)->id != id)
-+ break;
-+ head = p; id++;
-+ }
-
-- size = req.conn_num * sizeof(struct hci_conn_info) + sizeof(req);
-+ sprintf(hdev->name, "hci%d", id);
-+ hdev->id = id;
-+ list_add(&hdev->list, head);
-
-- if (!(cl = kmalloc(size, GFP_KERNEL)))
-- return -ENOMEM;
-- ci = cl->conn_info;
--
-- local_bh_disable();
-- conn_hash_lock(&hdev->conn_hash);
-- list_for_each(p, &hdev->conn_hash.list) {
-- register struct hci_conn *c;
-- c = list_entry(p, struct hci_conn, list);
-+ atomic_set(&hdev->refcnt, 1);
-+ spin_lock_init(&hdev->lock);
-+
-+ hdev->flags = 0;
-+ hdev->pkt_type = (HCI_DM1 | HCI_DH1 | HCI_HV1);
-+ hdev->link_mode = (HCI_LM_ACCEPT);
-
-- (ci + n)->handle = c->handle;
-- bacpy(&(ci + n)->bdaddr, &c->dst);
-- n++;
-- }
-- conn_hash_unlock(&hdev->conn_hash);
-- local_bh_enable();
--
-- cl->dev_id = hdev->id;
-- cl->conn_num = n;
-- size = n * sizeof(struct hci_conn_info) + sizeof(req);
-+ tasklet_init(&hdev->cmd_task, hci_cmd_task,(unsigned long) hdev);
-+ tasklet_init(&hdev->rx_task, hci_rx_task, (unsigned long) hdev);
-+ tasklet_init(&hdev->tx_task, hci_tx_task, (unsigned long) hdev);
-
-- hci_dev_put(hdev);
-+ skb_queue_head_init(&hdev->rx_q);
-+ skb_queue_head_init(&hdev->cmd_q);
-+ skb_queue_head_init(&hdev->raw_q);
-
-- if(copy_to_user((void *) arg, cl, size))
-- return -EFAULT;
-- return 0;
--}
-+ init_waitqueue_head(&hdev->req_wait_q);
-+ init_MUTEX(&hdev->req_lock);
-
--int hci_inquiry(unsigned long arg)
--{
-- struct inquiry_cache *cache;
-- struct hci_inquiry_req ir;
-- struct hci_dev *hdev;
-- int err = 0, do_inquiry = 0;
-- long timeo;
-- __u8 *buf, *ptr;
-+ inquiry_cache_init(hdev);
-
-- ptr = (void *) arg;
-- if (copy_from_user(&ir, ptr, sizeof(ir)))
-- return -EFAULT;
-+ conn_hash_init(hdev);
-
-- if (!(hdev = hci_dev_get(ir.dev_id)))
-- return -ENODEV;
-+ memset(&hdev->stat, 0, sizeof(struct hci_dev_stats));
-
-- cache = &hdev->inq_cache;
-+ atomic_set(&hdev->promisc, 0);
-
-- inquiry_cache_lock(cache);
-- if (inquiry_cache_age(cache) > INQUIRY_CACHE_AGE_MAX || ir.flags & IREQ_CACHE_FLUSH) {
-- inquiry_cache_flush(cache);
-- do_inquiry = 1;
-- }
-- inquiry_cache_unlock(cache);
-+ MOD_INC_USE_COUNT;
-
-- /* Limit inquiry time, also avoid overflows */
-+ write_unlock_bh(&hdev_list_lock);
-
-- if(ir.length > 2048 || ir.num_rsp > 2048)
-- {
-- err = -EINVAL;
-- goto done;
-- }
-+ hci_notify(hdev, HCI_DEV_REG);
-+ hci_run_hotplug(hdev->name, "register");
-
-- timeo = ir.length * 2 * HZ;
-- if (do_inquiry && (err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo)) < 0)
-- goto done;
-+ return id;
-+}
-
-- /* cache_dump can't sleep. Therefore we allocate temp buffer and then
-- * copy it to the user space.
-- */
-- if (!(buf = kmalloc(sizeof(inquiry_info) * ir.num_rsp, GFP_KERNEL))) {
-- err = -ENOMEM;
-- goto done;
-- }
-- ir.num_rsp = inquiry_cache_dump(cache, ir.num_rsp, buf);
-+/* Unregister HCI device */
-+int hci_unregister_dev(struct hci_dev *hdev)
-+{
-+ BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
-
-- DBG("num_rsp %d", ir.num_rsp);
-+ write_lock_bh(&hdev_list_lock);
-+ list_del(&hdev->list);
-+ write_unlock_bh(&hdev_list_lock);
-
-- if (!verify_area(VERIFY_WRITE, ptr, sizeof(ir) + (sizeof(inquiry_info) * ir.num_rsp))) {
-- copy_to_user(ptr, &ir, sizeof(ir));
-- ptr += sizeof(ir);
-- copy_to_user(ptr, buf, sizeof(inquiry_info) * ir.num_rsp);
-- } else
-- err = -EFAULT;
-+ hci_dev_do_close(hdev);
-
-- kfree(buf);
-+ hci_notify(hdev, HCI_DEV_UNREG);
-+ hci_run_hotplug(hdev->name, "unregister");
-
--done:
- hci_dev_put(hdev);
-
-- return err;
-+ MOD_DEC_USE_COUNT;
-+ return 0;
- }
-
--/* Interface to HCI drivers */
--
--/* Register HCI device */
--int hci_register_dev(struct hci_dev *hdev)
-+/* Suspend HCI device */
-+int hci_suspend_dev(struct hci_dev *hdev)
- {
-- int i;
-+ hci_notify(hdev, HCI_DEV_SUSPEND);
-+ hci_run_hotplug(hdev->name, "suspend");
-+ return 0;
-+}
-
-- DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
-+/* Resume HCI device */
-+int hci_resume_dev(struct hci_dev *hdev)
-+{
-+ hci_notify(hdev, HCI_DEV_RESUME);
-+ hci_run_hotplug(hdev->name, "resume");
-+ return 0;
-+}
-
-- /* Find free slot */
-- spin_lock_bh(&hdev_list_lock);
-- for (i = 0; i < HCI_MAX_DEV; i++) {
-- if (!hdev_list[i]) {
-- hdev_list[i] = hdev;
--
-- sprintf(hdev->name, "hci%d", i);
-- atomic_set(&hdev->refcnt, 0);
-- hdev->id = i;
-- hdev->flags = HCI_NORMAL;
--
-- hdev->pkt_type = (HCI_DM1 | HCI_DH1);
--
-- tasklet_init(&hdev->cmd_task, hci_cmd_task, (unsigned long) hdev);
-- tasklet_init(&hdev->rx_task, hci_rx_task, (unsigned long) hdev);
-- tasklet_init(&hdev->tx_task, hci_tx_task, (unsigned long) hdev);
--
-- skb_queue_head_init(&hdev->rx_q);
-- skb_queue_head_init(&hdev->cmd_q);
-- skb_queue_head_init(&hdev->raw_q);
--
-- init_waitqueue_head(&hdev->req_wait_q);
-- init_MUTEX(&hdev->req_lock);
--
-- inquiry_cache_init(&hdev->inq_cache);
--
-- conn_hash_init(&hdev->conn_hash);
--
-- memset(&hdev->stat, 0, sizeof(struct hci_dev_stats));
--
-- hci_notify(hdev, HCI_DEV_REG);
--
-- MOD_INC_USE_COUNT;
-- break;
-- }
-- }
-- spin_unlock_bh(&hdev_list_lock);
--
-- return (i == HCI_MAX_DEV) ? -1 : i;
--}
--
--/* Unregister HCI device */
--int hci_unregister_dev(struct hci_dev *hdev)
-+/* Receive frame from HCI drivers */
-+int hci_recv_frame(struct sk_buff *skb)
- {
-- int i;
--
-- DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
--
-- if (hdev->flags & HCI_UP)
-- hci_dev_close(hdev->id);
-+ struct hci_dev *hdev = (struct hci_dev *) skb->dev;
-
-- /* Find device slot */
-- spin_lock(&hdev_list_lock);
-- for (i = 0; i < HCI_MAX_DEV; i++) {
-- if (hdev_list[i] == hdev) {
-- hdev_list[i] = NULL;
-- MOD_DEC_USE_COUNT;
-- break;
-- }
-+ if (!hdev || (!test_bit(HCI_UP, &hdev->flags) &&
-+ !test_bit(HCI_INIT, &hdev->flags)) ) {
-+ kfree_skb(skb);
-+ return -1;
- }
-- spin_unlock(&hdev_list_lock);
-
-- hci_notify(hdev, HCI_DEV_UNREG);
--
-- /* Sleep while device is in use */
-- while (atomic_read(&hdev->refcnt)) {
-- int sleep_cnt = 100;
-+ BT_DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
-
-- DBG("%s sleeping on lock %d", hdev->name, atomic_read(&hdev->refcnt));
-+ /* Incomming skb */
-+ bluez_cb(skb)->incomming = 1;
-
-- sleep_on_timeout(&hdev->req_wait_q, HZ*10);
-- if (!(--sleep_cnt))
-- break;
-- }
-+ /* Time stamp */
-+ do_gettimeofday(&skb->stamp);
-
-+ /* Queue frame for rx task */
-+ skb_queue_tail(&hdev->rx_q, skb);
-+ hci_sched_rx(hdev);
- return 0;
- }
-
--/* Interface to upper protocols */
-+/* ---- Interface to upper protocols ---- */
-
- /* Register/Unregister protocols.
-- * hci_task_lock is used to ensure that no tasks are running.
-- */
--int hci_register_proto(struct hci_proto *hproto)
-+ * hci_task_lock is used to ensure that no tasks are running. */
-+int hci_register_proto(struct hci_proto *hp)
- {
- int err = 0;
-
-- DBG("%p name %s", hproto, hproto->name);
-+ BT_DBG("%p name %s id %d", hp, hp->name, hp->id);
-
-- if (hproto->id >= HCI_MAX_PROTO)
-+ if (hp->id >= HCI_MAX_PROTO)
- return -EINVAL;
-
- write_lock_bh(&hci_task_lock);
-
-- if (!hproto_list[hproto->id])
-- hproto_list[hproto->id] = hproto;
-+ if (!hci_proto[hp->id])
-+ hci_proto[hp->id] = hp;
- else
-- err = -1;
-+ err = -EEXIST;
-
- write_unlock_bh(&hci_task_lock);
-
- return err;
- }
-
--int hci_unregister_proto(struct hci_proto *hproto)
-+int hci_unregister_proto(struct hci_proto *hp)
- {
- int err = 0;
-
-- DBG("%p name %s", hproto, hproto->name);
-+ BT_DBG("%p name %s id %d", hp, hp->name, hp->id);
-
-- if (hproto->id > HCI_MAX_PROTO)
-+ if (hp->id >= HCI_MAX_PROTO)
- return -EINVAL;
-
- write_lock_bh(&hci_task_lock);
-
-- if (hproto_list[hproto->id])
-- hproto_list[hproto->id] = NULL;
-+ if (hci_proto[hp->id])
-+ hci_proto[hp->id] = NULL;
- else
- err = -ENOENT;
-
-@@ -1070,10 +966,14 @@
- return -ENODEV;
- }
-
-- DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
-+ BT_DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
-+
-+ if (atomic_read(&hdev->promisc)) {
-+ /* Time stamp */
-+ do_gettimeofday(&skb->stamp);
-
-- if (hdev->flags & HCI_SOCK)
- hci_send_to_sock(hdev, skb);
-+ }
-
- /* Get rid of skb owner, prior to sending to the driver. */
- skb_orphan(skb);
-@@ -1081,128 +981,6 @@
- return hdev->send(skb);
- }
-
--/* Connection scheduler */
--static inline struct hci_conn *hci_low_sent(struct hci_dev *hdev, __u8 type, int *quote)
--{
-- struct conn_hash *h = &hdev->conn_hash;
-- struct hci_conn *conn = NULL;
-- int num = 0, min = 0xffff;
-- struct list_head *p;
--
-- conn_hash_lock(h);
-- list_for_each(p, &h->list) {
-- register struct hci_conn *c;
--
-- c = list_entry(p, struct hci_conn, list);
--
-- if (c->type != type || skb_queue_empty(&c->data_q))
-- continue;
-- num++;
--
-- if (c->sent < min) {
-- min = c->sent;
-- conn = c;
-- }
-- }
-- conn_hash_unlock(h);
--
-- if (conn) {
-- int q = hdev->acl_cnt / num;
-- *quote = q ? q : 1;
-- } else
-- *quote = 0;
--
-- DBG("conn %p quote %d", conn, *quote);
--
-- return conn;
--}
--
--static inline void hci_sched_acl(struct hci_dev *hdev)
--{
-- struct hci_conn *conn;
-- struct sk_buff *skb;
-- int quote;
--
-- DBG("%s", hdev->name);
--
-- while (hdev->acl_cnt && (conn = hci_low_sent(hdev, ACL_LINK, &quote))) {
-- while (quote && (skb = skb_dequeue(&conn->data_q))) {
-- DBG("skb %p len %d", skb, skb->len);
--
-- hci_send_frame(skb);
--
-- conn->sent++;
-- hdev->acl_cnt--;
-- quote--;
-- }
-- }
--}
--
--/* Schedule SCO */
--static inline void hci_sched_sco(struct hci_dev *hdev)
--{
-- /* FIXME: For now we queue SCO packets to the raw queue
--
-- while (hdev->sco_cnt && (skb = skb_dequeue(&conn->data_q))) {
-- hci_send_frame(skb);
-- conn->sco_sent++;
-- hdev->sco_cnt--;
-- }
-- */
--}
--
--/* Get data from the previously sent command */
--static void * hci_sent_cmd_data(struct hci_dev *hdev, __u16 ogf, __u16 ocf)
--{
-- hci_command_hdr *hc;
--
-- if (!hdev->sent_cmd)
-- return NULL;
--
-- hc = (void *) hdev->sent_cmd->data;
--
-- if (hc->opcode != __cpu_to_le16(cmd_opcode_pack(ogf, ocf)))
-- return NULL;
--
-- DBG("%s ogf 0x%x ocf 0x%x", hdev->name, ogf, ocf);
--
-- return hdev->sent_cmd->data + HCI_COMMAND_HDR_SIZE;
--}
--
--/* Send raw HCI frame */
--int hci_send_raw(struct sk_buff *skb)
--{
-- struct hci_dev *hdev = (struct hci_dev *) skb->dev;
--
-- if (!hdev) {
-- kfree_skb(skb);
-- return -ENODEV;
-- }
--
-- DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
--
-- if (hdev->flags & HCI_NORMAL) {
-- /* Queue frame according it's type */
-- switch (skb->pkt_type) {
-- case HCI_COMMAND_PKT:
-- skb_queue_tail(&hdev->cmd_q, skb);
-- hci_sched_cmd(hdev);
-- return 0;
--
-- case HCI_ACLDATA_PKT:
-- case HCI_SCODATA_PKT:
-- /* FIXME:
-- * Check header here and queue to apropriate connection.
-- */
-- break;
-- }
-- }
--
-- skb_queue_tail(&hdev->raw_q, skb);
-- hci_sched_tx(hdev);
-- return 0;
--}
--
- /* Send HCI command */
- int hci_send_cmd(struct hci_dev *hdev, __u16 ogf, __u16 ocf, __u32 plen, void *param)
- {
-@@ -1210,10 +988,10 @@
- hci_command_hdr *hc;
- struct sk_buff *skb;
-
-- DBG("%s ogf 0x%x ocf 0x%x plen %d", hdev->name, ogf, ocf, plen);
-+ BT_DBG("%s ogf 0x%x ocf 0x%x plen %d", hdev->name, ogf, ocf, plen);
-
- if (!(skb = bluez_skb_alloc(len, GFP_ATOMIC))) {
-- ERR("%s Can't allocate memory for HCI command", hdev->name);
-+ BT_ERR("%s Can't allocate memory for HCI command", hdev->name);
- return -ENOMEM;
- }
-
-@@ -1224,7 +1002,7 @@
- if (plen)
- memcpy(skb_put(skb, plen), param, plen);
-
-- DBG("skb len %d", skb->len);
-+ BT_DBG("skb len %d", skb->len);
-
- skb->pkt_type = HCI_COMMAND_PKT;
- skb->dev = (void *) hdev;
-@@ -1234,10 +1012,28 @@
- return 0;
- }
-
-+/* Get data from the previously sent command */
-+void *hci_sent_cmd_data(struct hci_dev *hdev, __u16 ogf, __u16 ocf)
-+{
-+ hci_command_hdr *hc;
-+
-+ if (!hdev->sent_cmd)
-+ return NULL;
-+
-+ hc = (void *) hdev->sent_cmd->data;
-+
-+ if (hc->opcode != __cpu_to_le16(cmd_opcode_pack(ogf, ocf)))
-+ return NULL;
-+
-+ BT_DBG("%s ogf 0x%x ocf 0x%x", hdev->name, ogf, ocf);
-+
-+ return hdev->sent_cmd->data + HCI_COMMAND_HDR_SIZE;
-+}
-+
- /* Send ACL data */
- static void hci_add_acl_hdr(struct sk_buff *skb, __u16 handle, __u16 flags)
- {
-- int len = skb->len;
-+ int len = skb->len;
- hci_acl_hdr *ah;
-
- ah = (hci_acl_hdr *) skb_push(skb, HCI_ACL_HDR_SIZE);
-@@ -1252,7 +1048,7 @@
- struct hci_dev *hdev = conn->hdev;
- struct sk_buff *list;
-
-- DBG("%s conn %p flags 0x%x", hdev->name, conn, flags);
-+ BT_DBG("%s conn %p flags 0x%x", hdev->name, conn, flags);
-
- skb->dev = (void *) hdev;
- skb->pkt_type = HCI_ACLDATA_PKT;
-@@ -1260,12 +1056,12 @@
-
- if (!(list = skb_shinfo(skb)->frag_list)) {
- /* Non fragmented */
-- DBG("%s nonfrag skb %p len %d", hdev->name, skb, skb->len);
-+ BT_DBG("%s nonfrag skb %p len %d", hdev->name, skb, skb->len);
-
- skb_queue_tail(&conn->data_q, skb);
- } else {
- /* Fragmented */
-- DBG("%s frag %p len %d", hdev->name, skb, skb->len);
-+ BT_DBG("%s frag %p len %d", hdev->name, skb, skb->len);
-
- skb_shinfo(skb)->frag_list = NULL;
-
-@@ -1280,7 +1076,7 @@
- skb->pkt_type = HCI_ACLDATA_PKT;
- hci_add_acl_hdr(skb, conn->handle, flags | ACL_CONT);
-
-- DBG("%s frag %p len %d", hdev->name, skb, skb->len);
-+ BT_DBG("%s frag %p len %d", hdev->name, skb, skb->len);
-
- __skb_queue_tail(&conn->data_q, skb);
- } while (list);
-@@ -1298,7 +1094,7 @@
- struct hci_dev *hdev = conn->hdev;
- hci_sco_hdr hs;
-
-- DBG("%s len %d", hdev->name, skb->len);
-+ BT_DBG("%s len %d", hdev->name, skb->len);
-
- if (skb->len > hdev->sco_mtu) {
- kfree_skb(skb);
-@@ -1315,544 +1111,136 @@
- skb->pkt_type = HCI_SCODATA_PKT;
- skb_queue_tail(&conn->data_q, skb);
- hci_sched_tx(hdev);
--
- return 0;
- }
-
--/* Handle HCI Event packets */
--
--/* Command Complete OGF LINK_CTL */
--static void hci_cc_link_ctl(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
--{
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- default:
-- DBG("%s Command complete: ogf LINK_CTL ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Command Complete OGF LINK_POLICY */
--static void hci_cc_link_policy(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
--{
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- default:
-- DBG("%s: Command complete: ogf LINK_POLICY ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Command Complete OGF HOST_CTL */
--static void hci_cc_host_ctl(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
--{
-- __u8 status, param;
-- void *sent;
--
--
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- case OCF_RESET:
-- status = *((__u8 *) skb->data);
--
-- hci_req_complete(hdev, status);
-- break;
--
-- case OCF_SET_EVENT_FLT:
-- status = *((__u8 *) skb->data);
--
-- if (status) {
-- DBG("%s SET_EVENT_FLT failed %d", hdev->name, status);
-- } else {
-- DBG("%s SET_EVENT_FLT succeseful", hdev->name);
-- }
-- break;
--
-- case OCF_WRITE_AUTH_ENABLE:
-- if (!(sent = hci_sent_cmd_data(hdev, OGF_HOST_CTL, OCF_WRITE_AUTH_ENABLE)))
-- break;
--
-- status = *((__u8 *) skb->data);
-- param = *((__u8 *) sent);
--
-- if (!status) {
-- if (param == AUTH_ENABLED)
-- hdev->flags |= HCI_AUTH;
-- else
-- hdev->flags &= ~HCI_AUTH;
-- }
-- hci_req_complete(hdev, status);
-- break;
--
-- case OCF_WRITE_CA_TIMEOUT:
-- status = *((__u8 *) skb->data);
--
-- if (status) {
-- DBG("%s OCF_WRITE_CA_TIMEOUT failed %d", hdev->name, status);
-- } else {
-- DBG("%s OCF_WRITE_CA_TIMEOUT succeseful", hdev->name);
-- }
-- break;
--
-- case OCF_WRITE_PG_TIMEOUT:
-- status = *((__u8 *) skb->data);
--
-- if (status) {
-- DBG("%s OCF_WRITE_PG_TIMEOUT failed %d", hdev->name, status);
-- } else {
-- DBG("%s: OCF_WRITE_PG_TIMEOUT succeseful", hdev->name);
-- }
-- break;
--
-- case OCF_WRITE_SCAN_ENABLE:
-- if (!(sent = hci_sent_cmd_data(hdev, OGF_HOST_CTL, OCF_WRITE_SCAN_ENABLE)))
-- break;
-- status = *((__u8 *) skb->data);
-- param = *((__u8 *) sent);
--
-- DBG("param 0x%x", param);
--
-- if (!status) {
-- switch (param) {
-- case IS_ENA_PS_ENA:
-- hdev->flags |= HCI_PSCAN | HCI_ISCAN;
-- break;
--
-- case IS_ENA_PS_DIS:
-- hdev->flags &= ~HCI_PSCAN;
-- hdev->flags |= HCI_ISCAN;
-- break;
-+/* ---- HCI TX task (outgoing data) ---- */
-
-- case IS_DIS_PS_ENA:
-- hdev->flags &= ~HCI_ISCAN;
-- hdev->flags |= HCI_PSCAN;
-- break;
--
-- default:
-- hdev->flags &= ~(HCI_ISCAN | HCI_PSCAN);
-- break;
-- };
-- }
-- hci_req_complete(hdev, status);
-- break;
--
-- default:
-- DBG("%s Command complete: ogf HOST_CTL ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Command Complete OGF INFO_PARAM */
--static void hci_cc_info_param(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
-+/* HCI Connection scheduler */
-+static inline struct hci_conn *hci_low_sent(struct hci_dev *hdev, __u8 type, int *quote)
- {
-- read_local_features_rp *lf;
-- read_buffer_size_rp *bs;
-- read_bd_addr_rp *ba;
--
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- case OCF_READ_LOCAL_FEATURES:
-- lf = (read_local_features_rp *) skb->data;
--
-- if (lf->status) {
-- DBG("%s READ_LOCAL_FEATURES failed %d", hdev->name, lf->status);
-- break;
-- }
--
-- memcpy(hdev->features, lf->features, sizeof(hdev->features));
--
-- /* Adjust default settings according to features
-- * supported by device. */
-- if (hdev->features[0] & LMP_3SLOT)
-- hdev->pkt_type |= (HCI_DM3 | HCI_DH3);
--
-- if (hdev->features[0] & LMP_5SLOT)
-- hdev->pkt_type |= (HCI_DM5 | HCI_DH5);
--
-- DBG("%s: features 0x%x 0x%x 0x%x", hdev->name, lf->features[0], lf->features[1], lf->features[2]);
--
-- break;
--
-- case OCF_READ_BUFFER_SIZE:
-- bs = (read_buffer_size_rp *) skb->data;
--
-- if (bs->status) {
-- DBG("%s READ_BUFFER_SIZE failed %d", hdev->name, bs->status);
-- break;
-- }
--
-- hdev->acl_mtu = __le16_to_cpu(bs->acl_mtu);
-- hdev->sco_mtu = bs->sco_mtu;
-- hdev->acl_max = hdev->acl_cnt = __le16_to_cpu(bs->acl_max_pkt);
-- hdev->sco_max = hdev->sco_cnt = __le16_to_cpu(bs->sco_max_pkt);
--
-- DBG("%s mtu: acl %d, sco %d max_pkt: acl %d, sco %d", hdev->name,
-- hdev->acl_mtu, hdev->sco_mtu, hdev->acl_max, hdev->sco_max);
-+ struct conn_hash *h = &hdev->conn_hash;
-+ struct hci_conn *conn = NULL;
-+ int num = 0, min = ~0;
-+ struct list_head *p;
-
-- break;
-+ /* We don't have to lock device here. Connections are always
-+ * added and removed with TX task disabled. */
-+ list_for_each(p, &h->list) {
-+ struct hci_conn *c;
-+ c = list_entry(p, struct hci_conn, list);
-
-- case OCF_READ_BD_ADDR:
-- ba = (read_bd_addr_rp *) skb->data;
-+ if (c->type != type || c->state != BT_CONNECTED
-+ || skb_queue_empty(&c->data_q))
-+ continue;
-+ num++;
-
-- if (!ba->status) {
-- bacpy(&hdev->bdaddr, &ba->bdaddr);
-- } else {
-- DBG("%s: READ_BD_ADDR failed %d", hdev->name, ba->status);
-+ if (c->sent < min) {
-+ min = c->sent;
-+ conn = c;
- }
-+ }
-
-- hci_req_complete(hdev, ba->status);
-- break;
-+ if (conn) {
-+ int cnt = (type == ACL_LINK ? hdev->acl_cnt : hdev->sco_cnt);
-+ int q = cnt / num;
-+ *quote = q ? q : 1;
-+ } else
-+ *quote = 0;
-
-- default:
-- DBG("%s Command complete: ogf INFO_PARAM ocf %x", hdev->name, ocf);
-- break;
-- };
-+ BT_DBG("conn %p quote %d", conn, *quote);
-+ return conn;
- }
-
--/* Command Status OGF LINK_CTL */
--static void hci_cs_link_ctl(struct hci_dev *hdev, __u16 ocf, __u8 status)
-+static inline void hci_acl_tx_to(struct hci_dev *hdev)
- {
-- struct hci_proto * hp;
--
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- case OCF_CREATE_CONN:
-- if (status) {
-- create_conn_cp *cc = hci_sent_cmd_data(hdev, OGF_LINK_CTL, OCF_CREATE_CONN);
--
-- if (!cc)
-- break;
--
-- DBG("%s Create connection error: status 0x%x %s", hdev->name,
-- status, batostr(&cc->bdaddr));
-+ struct conn_hash *h = &hdev->conn_hash;
-+ struct list_head *p;
-+ struct hci_conn *c;
-
-- /* Notify upper protocols */
-- if ((hp = GET_HPROTO(HCI_PROTO_L2CAP)) && hp->connect_cfm) {
-- tasklet_disable(&hdev->tx_task);
-- hp->connect_cfm(hdev, &cc->bdaddr, status, NULL);
-- tasklet_enable(&hdev->tx_task);
-- }
-- }
-- break;
-+ BT_ERR("%s ACL tx timeout", hdev->name);
-
-- case OCF_INQUIRY:
-- if (status) {
-- DBG("%s Inquiry error: status 0x%x", hdev->name, status);
-- hci_req_complete(hdev, status);
-+ /* Kill stalled connections */
-+ list_for_each(p, &h->list) {
-+ c = list_entry(p, struct hci_conn, list);
-+ if (c->type == ACL_LINK && c->sent) {
-+ BT_ERR("%s killing stalled ACL connection %s",
-+ hdev->name, batostr(&c->dst));
-+ hci_acl_disconn(c, 0x13);
- }
-- break;
--
-- default:
-- DBG("%s Command status: ogf LINK_CTL ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Command Status OGF LINK_POLICY */
--static void hci_cs_link_policy(struct hci_dev *hdev, __u16 ocf, __u8 status)
--{
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- default:
-- DBG("%s Command status: ogf HOST_POLICY ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Command Status OGF HOST_CTL */
--static void hci_cs_host_ctl(struct hci_dev *hdev, __u16 ocf, __u8 status)
--{
-- DBG("%s ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- default:
-- DBG("%s Command status: ogf HOST_CTL ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Command Status OGF INFO_PARAM */
--static void hci_cs_info_param(struct hci_dev *hdev, __u16 ocf, __u8 status)
--{
-- DBG("%s: hci_cs_info_param: ocf 0x%x", hdev->name, ocf);
--
-- switch (ocf) {
-- default:
-- DBG("%s Command status: ogf INFO_PARAM ocf %x", hdev->name, ocf);
-- break;
-- };
--}
--
--/* Inquiry Complete */
--static void hci_inquiry_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
--{
-- __u8 status = *((__u8 *) skb->data);
--
-- DBG("%s status %d", hdev->name, status);
--
-- hci_req_complete(hdev, status);
-+ }
- }
-
--/* Inquiry Result */
--static void hci_inquiry_result_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+static inline void hci_sched_acl(struct hci_dev *hdev)
- {
-- inquiry_info *info = (inquiry_info *) (skb->data + 1);
-- int num_rsp = *((__u8 *) skb->data);
--
-- DBG("%s num_rsp %d", hdev->name, num_rsp);
-+ struct hci_conn *conn;
-+ struct sk_buff *skb;
-+ int quote;
-
-- for (; num_rsp; num_rsp--)
-- inquiry_cache_update(&hdev->inq_cache, info++);
--}
-+ BT_DBG("%s", hdev->name);
-
--/* Connect Request */
--static void hci_conn_request_evt(struct hci_dev *hdev, struct sk_buff *skb)
--{
-- evt_conn_request *cr = (evt_conn_request *) skb->data;
-- struct hci_proto *hp;
-- accept_conn_req_cp ac;
-- int accept = 0;
-+ /* ACL tx timeout must be longer than maximum
-+ * link supervision timeout (40.9 seconds) */
-+ if (!hdev->acl_cnt && (jiffies - hdev->acl_last_tx) > (HZ * 45))
-+ hci_acl_tx_to(hdev);
-
-- DBG("%s Connection request: %s type 0x%x", hdev->name, batostr(&cr->bdaddr), cr->link_type);
-+ while (hdev->acl_cnt && (conn = hci_low_sent(hdev, ACL_LINK, &quote))) {
-+ while (quote-- && (skb = skb_dequeue(&conn->data_q))) {
-+ BT_DBG("skb %p len %d", skb, skb->len);
-+ hci_send_frame(skb);
-+ hdev->acl_last_tx = jiffies;
-
-- /* Notify upper protocols */
-- if (cr->link_type == ACL_LINK) {
-- /* ACL link notify L2CAP */
-- if ((hp = GET_HPROTO(HCI_PROTO_L2CAP)) && hp->connect_ind) {
-- tasklet_disable(&hdev->tx_task);
-- accept = hp->connect_ind(hdev, &cr->bdaddr);
-- tasklet_enable(&hdev->tx_task);
-+ hdev->acl_cnt--;
-+ conn->sent++;
- }
-- } else {
-- /* SCO link (no notification) */
-- /* FIXME: Should be accept it here or let the requester (app) accept it ? */
-- accept = 1;
-- }
--
-- if (accept) {
-- /* Connection accepted by upper layer */
-- bacpy(&ac.bdaddr, &cr->bdaddr);
-- ac.role = 0x01; /* Remain slave */
-- hci_send_cmd(hdev, OGF_LINK_CTL, OCF_ACCEPT_CONN_REQ, ACCEPT_CONN_REQ_CP_SIZE, &ac);
-- } else {
-- /* Connection rejected by upper layer */
-- /* FIXME:
-- * Should we use HCI reject here ?
-- */
-- return;
- }
- }
-
--/* Connect Complete */
--static void hci_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+/* Schedule SCO */
-+static inline void hci_sched_sco(struct hci_dev *hdev)
- {
-- evt_conn_complete *cc = (evt_conn_complete *) skb->data;
-- struct hci_conn *conn = NULL;
-- struct hci_proto *hp;
--
-- DBG("%s", hdev->name);
--
-- tasklet_disable(&hdev->tx_task);
--
-- if (!cc->status)
-- conn = hci_conn_add(hdev, __le16_to_cpu(cc->handle), cc->link_type, &cc->bdaddr);
-+ struct hci_conn *conn;
-+ struct sk_buff *skb;
-+ int quote;
-
-- /* Notify upper protocols */
-- if (cc->link_type == ACL_LINK) {
-- /* ACL link notify L2CAP layer */
-- if ((hp = GET_HPROTO(HCI_PROTO_L2CAP)) && hp->connect_cfm)
-- hp->connect_cfm(hdev, &cc->bdaddr, cc->status, conn);
-- } else {
-- /* SCO link (no notification) */
-- }
-+ BT_DBG("%s", hdev->name);
-
-- tasklet_enable(&hdev->tx_task);
--}
-+ while (hdev->sco_cnt && (conn = hci_low_sent(hdev, SCO_LINK, &quote))) {
-+ while (quote-- && (skb = skb_dequeue(&conn->data_q))) {
-+ BT_DBG("skb %p len %d", skb, skb->len);
-+ hci_send_frame(skb);
-
--/* Disconnect Complete */
--static void hci_disconn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
--{
-- evt_disconn_complete *dc = (evt_disconn_complete *) skb->data;
-- struct hci_conn *conn = NULL;
-- struct hci_proto *hp;
-- __u16 handle = __le16_to_cpu(dc->handle);
--
-- DBG("%s", hdev->name);
--
-- if (!dc->status && (conn = conn_hash_lookup(&hdev->conn_hash, handle))) {
-- tasklet_disable(&hdev->tx_task);
--
-- /* Notify upper protocols */
-- if (conn->type == ACL_LINK) {
-- /* ACL link notify L2CAP layer */
-- if ((hp = GET_HPROTO(HCI_PROTO_L2CAP)) && hp->disconn_ind)
-- hp->disconn_ind(conn, dc->reason);
-- } else {
-- /* SCO link (no notification) */
-+ conn->sent++;
-+ if (conn->sent == ~0)
-+ conn->sent = 0;
- }
--
-- hci_conn_del(hdev, conn);
--
-- tasklet_enable(&hdev->tx_task);
- }
- }
-
--/* Number of completed packets */
--static void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+static void hci_tx_task(unsigned long arg)
- {
-- evt_num_comp_pkts *nc = (evt_num_comp_pkts *) skb->data;
-- __u16 *ptr;
-- int i;
--
-- skb_pull(skb, EVT_NUM_COMP_PKTS_SIZE);
--
-- DBG("%s num_hndl %d", hdev->name, nc->num_hndl);
-+ struct hci_dev *hdev = (struct hci_dev *) arg;
-+ struct sk_buff *skb;
-
-- if (skb->len < nc->num_hndl * 4) {
-- DBG("%s bad parameters", hdev->name);
-- return;
-- }
-+ read_lock(&hci_task_lock);
-
-- tasklet_disable(&hdev->tx_task);
-+ BT_DBG("%s acl %d sco %d", hdev->name, hdev->acl_cnt, hdev->sco_cnt);
-
-- for (i = 0, ptr = (__u16 *) skb->data; i < nc->num_hndl; i++) {
-- struct hci_conn *conn;
-- __u16 handle, count;
-+ /* Schedule queues and send stuff to HCI driver */
-
-- handle = __le16_to_cpu(get_unaligned(ptr++));
-- count = __le16_to_cpu(get_unaligned(ptr++));
-+ hci_sched_acl(hdev);
-
-- hdev->acl_cnt += count;
-+ hci_sched_sco(hdev);
-
-- if ((conn = conn_hash_lookup(&hdev->conn_hash, handle)))
-- conn->sent -= count;
-- }
-+ /* Send next queued raw (unknown type) packet */
-+ while ((skb = skb_dequeue(&hdev->raw_q)))
-+ hci_send_frame(skb);
-
-- tasklet_enable(&hdev->tx_task);
--
-- hci_sched_tx(hdev);
-+ read_unlock(&hci_task_lock);
- }
-
--static inline void hci_event_packet(struct hci_dev *hdev, struct sk_buff *skb)
--{
-- hci_event_hdr *he = (hci_event_hdr *) skb->data;
-- evt_cmd_status *cs;
-- evt_cmd_complete *ec;
-- __u16 opcode, ocf, ogf;
--
-- skb_pull(skb, HCI_EVENT_HDR_SIZE);
--
-- DBG("%s evt 0x%x", hdev->name, he->evt);
--
-- switch (he->evt) {
-- case EVT_NUM_COMP_PKTS:
-- hci_num_comp_pkts_evt(hdev, skb);
-- break;
--
-- case EVT_INQUIRY_COMPLETE:
-- hci_inquiry_complete_evt(hdev, skb);
-- break;
-
-- case EVT_INQUIRY_RESULT:
-- hci_inquiry_result_evt(hdev, skb);
-- break;
--
-- case EVT_CONN_REQUEST:
-- hci_conn_request_evt(hdev, skb);
-- break;
--
-- case EVT_CONN_COMPLETE:
-- hci_conn_complete_evt(hdev, skb);
-- break;
--
-- case EVT_DISCONN_COMPLETE:
-- hci_disconn_complete_evt(hdev, skb);
-- break;
--
-- case EVT_CMD_STATUS:
-- cs = (evt_cmd_status *) skb->data;
-- skb_pull(skb, EVT_CMD_STATUS_SIZE);
--
-- opcode = __le16_to_cpu(cs->opcode);
-- ogf = cmd_opcode_ogf(opcode);
-- ocf = cmd_opcode_ocf(opcode);
--
-- switch (ogf) {
-- case OGF_INFO_PARAM:
-- hci_cs_info_param(hdev, ocf, cs->status);
-- break;
--
-- case OGF_HOST_CTL:
-- hci_cs_host_ctl(hdev, ocf, cs->status);
-- break;
--
-- case OGF_LINK_CTL:
-- hci_cs_link_ctl(hdev, ocf, cs->status);
-- break;
--
-- case OGF_LINK_POLICY:
-- hci_cs_link_policy(hdev, ocf, cs->status);
-- break;
--
-- default:
-- DBG("%s Command Status OGF %x", hdev->name, ogf);
-- break;
-- };
--
-- if (cs->ncmd) {
-- atomic_set(&hdev->cmd_cnt, 1);
-- if (!skb_queue_empty(&hdev->cmd_q))
-- hci_sched_cmd(hdev);
-- }
-- break;
--
-- case EVT_CMD_COMPLETE:
-- ec = (evt_cmd_complete *) skb->data;
-- skb_pull(skb, EVT_CMD_COMPLETE_SIZE);
--
-- opcode = __le16_to_cpu(ec->opcode);
-- ogf = cmd_opcode_ogf(opcode);
-- ocf = cmd_opcode_ocf(opcode);
--
-- switch (ogf) {
-- case OGF_INFO_PARAM:
-- hci_cc_info_param(hdev, ocf, skb);
-- break;
--
-- case OGF_HOST_CTL:
-- hci_cc_host_ctl(hdev, ocf, skb);
-- break;
--
-- case OGF_LINK_CTL:
-- hci_cc_link_ctl(hdev, ocf, skb);
-- break;
--
-- case OGF_LINK_POLICY:
-- hci_cc_link_policy(hdev, ocf, skb);
-- break;
--
-- default:
-- DBG("%s Command Completed OGF %x", hdev->name, ogf);
-- break;
-- };
--
-- if (ec->ncmd) {
-- atomic_set(&hdev->cmd_cnt, 1);
-- if (!skb_queue_empty(&hdev->cmd_q))
-- hci_sched_cmd(hdev);
-- }
-- break;
-- };
--
-- kfree_skb(skb);
-- hdev->stat.evt_rx++;
--}
-+/* ----- HCI RX task (incomming data proccessing) ----- */
-
- /* ACL data packet */
- static inline void hci_acldata_packet(struct hci_dev *hdev, struct sk_buff *skb)
-@@ -1867,51 +1255,86 @@
- flags = acl_flags(handle);
- handle = acl_handle(handle);
-
-- DBG("%s len %d handle 0x%x flags 0x%x", hdev->name, skb->len, handle, flags);
-+ BT_DBG("%s len %d handle 0x%x flags 0x%x", hdev->name, skb->len, handle, flags);
-+
-+ hdev->stat.acl_rx++;
-
-- if ((conn = conn_hash_lookup(&hdev->conn_hash, handle))) {
-+ hci_dev_lock(hdev);
-+ conn = conn_hash_lookup_handle(hdev, handle);
-+ hci_dev_unlock(hdev);
-+
-+ if (conn) {
- register struct hci_proto *hp;
-
- /* Send to upper protocol */
-- if ((hp = GET_HPROTO(HCI_PROTO_L2CAP)) && hp->recv_acldata) {
-+ if ((hp = hci_proto[HCI_PROTO_L2CAP]) && hp->recv_acldata) {
- hp->recv_acldata(conn, skb, flags);
-- goto sent;
-+ return;
- }
- } else {
-- ERR("%s ACL packet for unknown connection handle %d", hdev->name, handle);
-+ BT_ERR("%s ACL packet for unknown connection handle %d",
-+ hdev->name, handle);
- }
-
- kfree_skb(skb);
--sent:
-- hdev->stat.acl_rx++;
- }
-
- /* SCO data packet */
- static inline void hci_scodata_packet(struct hci_dev *hdev, struct sk_buff *skb)
- {
-- DBG("%s len %d", hdev->name, skb->len);
-+ hci_sco_hdr *sh = (void *) skb->data;
-+ struct hci_conn *conn;
-+ __u16 handle;
-+
-+ skb_pull(skb, HCI_SCO_HDR_SIZE);
-+
-+ handle = __le16_to_cpu(sh->handle);
-+
-+ BT_DBG("%s len %d handle 0x%x", hdev->name, skb->len, handle);
-
-- kfree_skb(skb);
- hdev->stat.sco_rx++;
-+
-+ hci_dev_lock(hdev);
-+ conn = conn_hash_lookup_handle(hdev, handle);
-+ hci_dev_unlock(hdev);
-+
-+ if (conn) {
-+ register struct hci_proto *hp;
-+
-+ /* Send to upper protocol */
-+ if ((hp = hci_proto[HCI_PROTO_SCO]) && hp->recv_scodata) {
-+ hp->recv_scodata(conn, skb);
-+ return;
-+ }
-+ } else {
-+ BT_ERR("%s SCO packet for unknown connection handle %d",
-+ hdev->name, handle);
-+ }
-+
-+ kfree_skb(skb);
- }
-
--/* ----- HCI tasks ----- */
- void hci_rx_task(unsigned long arg)
- {
- struct hci_dev *hdev = (struct hci_dev *) arg;
- struct sk_buff *skb;
-
-- DBG("%s", hdev->name);
-+ BT_DBG("%s", hdev->name);
-
- read_lock(&hci_task_lock);
-
- while ((skb = skb_dequeue(&hdev->rx_q))) {
-- if (hdev->flags & HCI_SOCK) {
-+ if (atomic_read(&hdev->promisc)) {
- /* Send copy to the sockets */
- hci_send_to_sock(hdev, skb);
- }
-
-- if (hdev->flags & HCI_INIT) {
-+ if (test_bit(HCI_RAW, &hdev->flags)) {
-+ kfree_skb(skb);
-+ continue;
-+ }
-+
-+ if (test_bit(HCI_INIT, &hdev->flags)) {
- /* Don't process data packets in this states. */
- switch (skb->pkt_type) {
- case HCI_ACLDATA_PKT:
-@@ -1921,64 +1344,43 @@
- };
- }
-
-- if (hdev->flags & HCI_NORMAL) {
-- /* Process frame */
-- switch (skb->pkt_type) {
-- case HCI_EVENT_PKT:
-- hci_event_packet(hdev, skb);
-- break;
-+ /* Process frame */
-+ switch (skb->pkt_type) {
-+ case HCI_EVENT_PKT:
-+ hci_event_packet(hdev, skb);
-+ break;
-
-- case HCI_ACLDATA_PKT:
-- DBG("%s ACL data packet", hdev->name);
-- hci_acldata_packet(hdev, skb);
-- break;
-+ case HCI_ACLDATA_PKT:
-+ BT_DBG("%s ACL data packet", hdev->name);
-+ hci_acldata_packet(hdev, skb);
-+ break;
-
-- case HCI_SCODATA_PKT:
-- DBG("%s SCO data packet", hdev->name);
-- hci_scodata_packet(hdev, skb);
-- break;
-+ case HCI_SCODATA_PKT:
-+ BT_DBG("%s SCO data packet", hdev->name);
-+ hci_scodata_packet(hdev, skb);
-+ break;
-
-- default:
-- kfree_skb(skb);
-- break;
-- };
-- } else {
-+ default:
- kfree_skb(skb);
-+ break;
- }
- }
-
- read_unlock(&hci_task_lock);
- }
-
--static void hci_tx_task(unsigned long arg)
--{
-- struct hci_dev *hdev = (struct hci_dev *) arg;
-- struct sk_buff *skb;
--
-- read_lock(&hci_task_lock);
--
-- DBG("%s acl %d sco %d", hdev->name, hdev->acl_cnt, hdev->sco_cnt);
--
-- /* Schedule queues and send stuff to HCI driver */
--
-- hci_sched_acl(hdev);
--
-- hci_sched_sco(hdev);
--
-- /* Send next queued raw (unknown type) packet */
-- while ((skb = skb_dequeue(&hdev->raw_q)))
-- hci_send_frame(skb);
--
-- read_unlock(&hci_task_lock);
--}
--
- static void hci_cmd_task(unsigned long arg)
- {
- struct hci_dev *hdev = (struct hci_dev *) arg;
- struct sk_buff *skb;
-
-- DBG("%s cmd %d", hdev->name, atomic_read(&hdev->cmd_cnt));
-+ BT_DBG("%s cmd %d", hdev->name, atomic_read(&hdev->cmd_cnt));
-
-+ if (!atomic_read(&hdev->cmd_cnt) && (jiffies - hdev->cmd_last_tx) > HZ) {
-+ BT_ERR("%s command tx timeout", hdev->name);
-+ atomic_set(&hdev->cmd_cnt, 1);
-+ }
-+
- /* Send queued commands */
- if (atomic_read(&hdev->cmd_cnt) && (skb = skb_dequeue(&hdev->cmd_q))) {
- if (hdev->sent_cmd)
-@@ -1987,6 +1389,7 @@
- if ((hdev->sent_cmd = skb_clone(skb, GFP_ATOMIC))) {
- atomic_dec(&hdev->cmd_cnt);
- hci_send_frame(skb);
-+ hdev->cmd_last_tx = jiffies;
- } else {
- skb_queue_head(&hdev->cmd_q, skb);
- hci_sched_cmd(hdev);
-@@ -1994,33 +1397,10 @@
- }
- }
-
--/* Receive frame from HCI drivers */
--int hci_recv_frame(struct sk_buff *skb)
--{
-- struct hci_dev *hdev = (struct hci_dev *) skb->dev;
--
-- if (!hdev || !(hdev->flags & (HCI_UP | HCI_INIT))) {
-- kfree_skb(skb);
-- return -1;
-- }
--
-- DBG("%s type %d len %d", hdev->name, skb->pkt_type, skb->len);
--
-- /* Incomming skb */
-- bluez_cb(skb)->incomming = 1;
--
-- /* Queue frame for rx task */
-- skb_queue_tail(&hdev->rx_q, skb);
-- hci_sched_rx(hdev);
--
-- return 0;
--}
-+/* ---- Initialization ---- */
-
- int hci_core_init(void)
- {
-- /* Init locks */
-- spin_lock_init(&hdev_list_lock);
--
- return 0;
- }
-
-@@ -2028,5 +1408,3 @@
- {
- return 0;
- }
--
--MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/hci_event.c linux-2.4.18-mh15/net/bluetooth/hci_event.c
---- linux-2.4.18/net/bluetooth/hci_event.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hci_event.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,910 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * HCI Events.
-+ *
-+ * $Id: hci_event.c,v 1.4 2002/07/27 18:14:38 maxk Exp $
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/init.h>
-+#include <linux/skbuff.h>
-+#include <linux/interrupt.h>
-+#include <linux/notifier.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+#include <asm/unaligned.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+#ifndef HCI_CORE_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-+
-+/* Handle HCI Event packets */
-+
-+/* Command Complete OGF LINK_CTL */
-+static void hci_cc_link_ctl(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
-+{
-+ __u8 status;
-+
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ case OCF_INQUIRY_CANCEL:
-+ status = *((__u8 *) skb->data);
-+
-+ if (status) {
-+ BT_DBG("%s Inquiry cancel error: status 0x%x", hdev->name, status);
-+ } else {
-+ clear_bit(HCI_INQUIRY, &hdev->flags);
-+ hci_req_complete(hdev, status);
-+ }
-+ break;
-+
-+ default:
-+ BT_DBG("%s Command complete: ogf LINK_CTL ocf %x", hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Command Complete OGF LINK_POLICY */
-+static void hci_cc_link_policy(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
-+{
-+ struct hci_conn *conn;
-+ role_discovery_rp *rd;
-+
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ case OCF_ROLE_DISCOVERY:
-+ rd = (void *) skb->data;
-+
-+ if (rd->status)
-+ break;
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_handle(hdev, __le16_to_cpu(rd->handle));
-+ if (conn) {
-+ if (rd->role)
-+ conn->link_mode &= ~HCI_LM_MASTER;
-+ else
-+ conn->link_mode |= HCI_LM_MASTER;
-+ }
-+
-+ hci_dev_unlock(hdev);
-+ break;
-+
-+ default:
-+ BT_DBG("%s: Command complete: ogf LINK_POLICY ocf %x",
-+ hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Command Complete OGF HOST_CTL */
-+static void hci_cc_host_ctl(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
-+{
-+ __u8 status, param;
-+ void *sent;
-+
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ case OCF_RESET:
-+ status = *((__u8 *) skb->data);
-+ hci_req_complete(hdev, status);
-+ break;
-+
-+ case OCF_SET_EVENT_FLT:
-+ status = *((__u8 *) skb->data);
-+ if (status) {
-+ BT_DBG("%s SET_EVENT_FLT failed %d", hdev->name, status);
-+ } else {
-+ BT_DBG("%s SET_EVENT_FLT succeseful", hdev->name);
-+ }
-+ break;
-+
-+ case OCF_WRITE_AUTH_ENABLE:
-+ sent = hci_sent_cmd_data(hdev, OGF_HOST_CTL, OCF_WRITE_AUTH_ENABLE);
-+ if (!sent)
-+ break;
-+
-+ status = *((__u8 *) skb->data);
-+ param = *((__u8 *) sent);
-+
-+ if (!status) {
-+ if (param == AUTH_ENABLED)
-+ set_bit(HCI_AUTH, &hdev->flags);
-+ else
-+ clear_bit(HCI_AUTH, &hdev->flags);
-+ }
-+ hci_req_complete(hdev, status);
-+ break;
-+
-+ case OCF_WRITE_ENCRYPT_MODE:
-+ sent = hci_sent_cmd_data(hdev, OGF_HOST_CTL, OCF_WRITE_ENCRYPT_MODE);
-+ if (!sent)
-+ break;
-+
-+ status = *((__u8 *) skb->data);
-+ param = *((__u8 *) sent);
-+
-+ if (!status) {
-+ if (param)
-+ set_bit(HCI_ENCRYPT, &hdev->flags);
-+ else
-+ clear_bit(HCI_ENCRYPT, &hdev->flags);
-+ }
-+ hci_req_complete(hdev, status);
-+ break;
-+
-+ case OCF_WRITE_CA_TIMEOUT:
-+ status = *((__u8 *) skb->data);
-+ if (status) {
-+ BT_DBG("%s OCF_WRITE_CA_TIMEOUT failed %d", hdev->name, status);
-+ } else {
-+ BT_DBG("%s OCF_WRITE_CA_TIMEOUT succeseful", hdev->name);
-+ }
-+ break;
-+
-+ case OCF_WRITE_PG_TIMEOUT:
-+ status = *((__u8 *) skb->data);
-+ if (status) {
-+ BT_DBG("%s OCF_WRITE_PG_TIMEOUT failed %d", hdev->name, status);
-+ } else {
-+ BT_DBG("%s: OCF_WRITE_PG_TIMEOUT succeseful", hdev->name);
-+ }
-+ break;
-+
-+ case OCF_WRITE_SCAN_ENABLE:
-+ sent = hci_sent_cmd_data(hdev, OGF_HOST_CTL, OCF_WRITE_SCAN_ENABLE);
-+ if (!sent)
-+ break;
-+ status = *((__u8 *) skb->data);
-+ param = *((__u8 *) sent);
-+
-+ BT_DBG("param 0x%x", param);
-+
-+ if (!status) {
-+ clear_bit(HCI_PSCAN, &hdev->flags);
-+ clear_bit(HCI_ISCAN, &hdev->flags);
-+ if (param & SCAN_INQUIRY)
-+ set_bit(HCI_ISCAN, &hdev->flags);
-+
-+ if (param & SCAN_PAGE)
-+ set_bit(HCI_PSCAN, &hdev->flags);
-+ }
-+ hci_req_complete(hdev, status);
-+ break;
-+
-+ case OCF_HOST_BUFFER_SIZE:
-+ status = *((__u8 *) skb->data);
-+ if (status) {
-+ BT_DBG("%s OCF_BUFFER_SIZE failed %d", hdev->name, status);
-+ hci_req_complete(hdev, status);
-+ }
-+ break;
-+
-+ default:
-+ BT_DBG("%s Command complete: ogf HOST_CTL ocf %x", hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Command Complete OGF INFO_PARAM */
-+static void hci_cc_info_param(struct hci_dev *hdev, __u16 ocf, struct sk_buff *skb)
-+{
-+ read_local_features_rp *lf;
-+ read_buffer_size_rp *bs;
-+ read_bd_addr_rp *ba;
-+
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ case OCF_READ_LOCAL_FEATURES:
-+ lf = (read_local_features_rp *) skb->data;
-+
-+ if (lf->status) {
-+ BT_DBG("%s READ_LOCAL_FEATURES failed %d", hdev->name, lf->status);
-+ break;
-+ }
-+
-+ memcpy(hdev->features, lf->features, sizeof(hdev->features));
-+
-+ /* Adjust default settings according to features
-+ * supported by device. */
-+ if (hdev->features[0] & LMP_3SLOT)
-+ hdev->pkt_type |= (HCI_DM3 | HCI_DH3);
-+
-+ if (hdev->features[0] & LMP_5SLOT)
-+ hdev->pkt_type |= (HCI_DM5 | HCI_DH5);
-+
-+ if (hdev->features[1] & LMP_HV2)
-+ hdev->pkt_type |= (HCI_HV2);
-+
-+ if (hdev->features[1] & LMP_HV3)
-+ hdev->pkt_type |= (HCI_HV3);
-+
-+ BT_DBG("%s: features 0x%x 0x%x 0x%x", hdev->name, lf->features[0], lf->features[1], lf->features[2]);
-+
-+ break;
-+
-+ case OCF_READ_BUFFER_SIZE:
-+ bs = (read_buffer_size_rp *) skb->data;
-+
-+ if (bs->status) {
-+ BT_DBG("%s READ_BUFFER_SIZE failed %d", hdev->name, bs->status);
-+ hci_req_complete(hdev, bs->status);
-+ break;
-+ }
-+
-+ hdev->acl_mtu = __le16_to_cpu(bs->acl_mtu);
-+ hdev->sco_mtu = bs->sco_mtu ? bs->sco_mtu : 64;
-+ hdev->acl_pkts = hdev->acl_cnt = __le16_to_cpu(bs->acl_max_pkt);
-+ hdev->sco_pkts = hdev->sco_cnt = __le16_to_cpu(bs->sco_max_pkt);
-+
-+ BT_DBG("%s mtu: acl %d, sco %d max_pkt: acl %d, sco %d", hdev->name,
-+ hdev->acl_mtu, hdev->sco_mtu, hdev->acl_pkts, hdev->sco_pkts);
-+ break;
-+
-+ case OCF_READ_BD_ADDR:
-+ ba = (read_bd_addr_rp *) skb->data;
-+
-+ if (!ba->status) {
-+ bacpy(&hdev->bdaddr, &ba->bdaddr);
-+ } else {
-+ BT_DBG("%s: READ_BD_ADDR failed %d", hdev->name, ba->status);
-+ }
-+
-+ hci_req_complete(hdev, ba->status);
-+ break;
-+
-+ default:
-+ BT_DBG("%s Command complete: ogf INFO_PARAM ocf %x", hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Command Status OGF LINK_CTL */
-+static inline void hci_cs_create_conn(struct hci_dev *hdev, __u8 status)
-+{
-+ struct hci_conn *conn;
-+ create_conn_cp *cc = hci_sent_cmd_data(hdev, OGF_LINK_CTL, OCF_CREATE_CONN);
-+
-+ if (!cc)
-+ return;
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_ba(hdev, ACL_LINK, &cc->bdaddr);
-+
-+ BT_DBG("%s status 0x%x bdaddr %s conn %p", hdev->name,
-+ status, batostr(&cc->bdaddr), conn);
-+
-+ if (status) {
-+ if (conn && conn->state == BT_CONNECT) {
-+ conn->state = BT_CLOSED;
-+ hci_proto_connect_cfm(conn, status);
-+ hci_conn_del(conn);
-+ }
-+ } else {
-+ if (!conn) {
-+ conn = hci_conn_add(hdev, ACL_LINK, &cc->bdaddr);
-+ if (conn) {
-+ conn->out = 1;
-+ conn->link_mode |= HCI_LM_MASTER;
-+ } else
-+ BT_ERR("No memmory for new connection");
-+ }
-+ }
-+
-+ hci_dev_unlock(hdev);
-+}
-+
-+static void hci_cs_link_ctl(struct hci_dev *hdev, __u16 ocf, __u8 status)
-+{
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ case OCF_CREATE_CONN:
-+ hci_cs_create_conn(hdev, status);
-+ break;
-+
-+ case OCF_ADD_SCO:
-+ if (status) {
-+ struct hci_conn *acl, *sco;
-+ add_sco_cp *cp = hci_sent_cmd_data(hdev,
-+ OGF_LINK_CTL, OCF_ADD_SCO);
-+ __u16 handle;
-+
-+ if (!cp)
-+ break;
-+
-+ handle = __le16_to_cpu(cp->handle);
-+
-+ BT_DBG("%s Add SCO error: handle %d status 0x%x", hdev->name, handle, status);
-+
-+ hci_dev_lock(hdev);
-+
-+ acl = conn_hash_lookup_handle(hdev, handle);
-+ if (acl && (sco = acl->link)) {
-+ sco->state = BT_CLOSED;
-+ hci_proto_connect_cfm(sco, status);
-+ hci_conn_del(sco);
-+ }
-+
-+ hci_dev_unlock(hdev);
-+ }
-+ break;
-+
-+ case OCF_INQUIRY:
-+ if (status) {
-+ BT_DBG("%s Inquiry error: status 0x%x", hdev->name, status);
-+ hci_req_complete(hdev, status);
-+ } else {
-+ set_bit(HCI_INQUIRY, &hdev->flags);
-+ }
-+ break;
-+
-+ default:
-+ BT_DBG("%s Command status: ogf LINK_CTL ocf %x status %d",
-+ hdev->name, ocf, status);
-+ break;
-+ };
-+}
-+
-+/* Command Status OGF LINK_POLICY */
-+static void hci_cs_link_policy(struct hci_dev *hdev, __u16 ocf, __u8 status)
-+{
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ default:
-+ BT_DBG("%s Command status: ogf HOST_POLICY ocf %x", hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Command Status OGF HOST_CTL */
-+static void hci_cs_host_ctl(struct hci_dev *hdev, __u16 ocf, __u8 status)
-+{
-+ BT_DBG("%s ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ default:
-+ BT_DBG("%s Command status: ogf HOST_CTL ocf %x", hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Command Status OGF INFO_PARAM */
-+static void hci_cs_info_param(struct hci_dev *hdev, __u16 ocf, __u8 status)
-+{
-+ BT_DBG("%s: hci_cs_info_param: ocf 0x%x", hdev->name, ocf);
-+
-+ switch (ocf) {
-+ default:
-+ BT_DBG("%s Command status: ogf INFO_PARAM ocf %x", hdev->name, ocf);
-+ break;
-+ };
-+}
-+
-+/* Inquiry Complete */
-+static inline void hci_inquiry_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ __u8 status = *((__u8 *) skb->data);
-+
-+ BT_DBG("%s status %d", hdev->name, status);
-+
-+ clear_bit(HCI_INQUIRY, &hdev->flags);
-+ hci_req_complete(hdev, status);
-+}
-+
-+/* Inquiry Result */
-+static inline void hci_inquiry_result_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ inquiry_info *info = (inquiry_info *) (skb->data + 1);
-+ int num_rsp = *((__u8 *) skb->data);
-+
-+ BT_DBG("%s num_rsp %d", hdev->name, num_rsp);
-+
-+ hci_dev_lock(hdev);
-+ for (; num_rsp; num_rsp--)
-+ inquiry_cache_update(hdev, info++);
-+ hci_dev_unlock(hdev);
-+}
-+
-+/* Inquiry Result With RSSI */
-+static inline void hci_inquiry_result_with_rssi_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ inquiry_info_with_rssi *info = (inquiry_info_with_rssi *) (skb->data + 1);
-+ int num_rsp = *((__u8 *) skb->data);
-+
-+ BT_DBG("%s num_rsp %d", hdev->name, num_rsp);
-+
-+ hci_dev_lock(hdev);
-+ for (; num_rsp; num_rsp--) {
-+ inquiry_info tmp;
-+ bacpy(&tmp.bdaddr, &info->bdaddr);
-+ tmp.pscan_rep_mode = info->pscan_rep_mode;
-+ tmp.pscan_period_mode = info->pscan_period_mode;
-+ tmp.pscan_mode = 0x00;
-+ memcpy(tmp.dev_class, &info->dev_class, 3);
-+ tmp.clock_offset = info->clock_offset;
-+ info++;
-+ inquiry_cache_update(hdev, &tmp);
-+ }
-+ hci_dev_unlock(hdev);
-+}
-+
-+/* Connect Request */
-+static inline void hci_conn_request_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_conn_request *cr = (evt_conn_request *) skb->data;
-+ int mask = hdev->link_mode;
-+
-+ BT_DBG("%s Connection request: %s type 0x%x", hdev->name,
-+ batostr(&cr->bdaddr), cr->link_type);
-+
-+ mask |= hci_proto_connect_ind(hdev, &cr->bdaddr, cr->link_type);
-+
-+ if (mask & HCI_LM_ACCEPT) {
-+ /* Connection accepted */
-+ struct hci_conn *conn;
-+ accept_conn_req_cp ac;
-+
-+ hci_dev_lock(hdev);
-+ conn = conn_hash_lookup_ba(hdev, cr->link_type, &cr->bdaddr);
-+ if (!conn) {
-+ if (!(conn = hci_conn_add(hdev, cr->link_type, &cr->bdaddr))) {
-+ BT_ERR("No memmory for new connection");
-+ hci_dev_unlock(hdev);
-+ return;
-+ }
-+ }
-+ conn->state = BT_CONNECT;
-+ hci_dev_unlock(hdev);
-+
-+ bacpy(&ac.bdaddr, &cr->bdaddr);
-+
-+ if (lmp_rswitch_capable(hdev) && (mask & HCI_LM_MASTER))
-+ ac.role = 0x00; /* Become master */
-+ else
-+ ac.role = 0x01; /* Remain slave */
-+
-+ hci_send_cmd(hdev, OGF_LINK_CTL, OCF_ACCEPT_CONN_REQ,
-+ ACCEPT_CONN_REQ_CP_SIZE, &ac);
-+ } else {
-+ /* Connection rejected */
-+ reject_conn_req_cp rc;
-+
-+ bacpy(&rc.bdaddr, &cr->bdaddr);
-+ rc.reason = 0x0f;
-+ hci_send_cmd(hdev, OGF_LINK_CTL, OCF_REJECT_CONN_REQ,
-+ REJECT_CONN_REQ_CP_SIZE, &rc);
-+ }
-+}
-+
-+/* Connect Complete */
-+static inline void hci_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_conn_complete *cc = (evt_conn_complete *) skb->data;
-+ struct hci_conn *conn = NULL;
-+
-+ BT_DBG("%s", hdev->name);
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_ba(hdev, cc->link_type, &cc->bdaddr);
-+ if (!conn) {
-+ hci_dev_unlock(hdev);
-+ return;
-+ }
-+
-+ if (!cc->status) {
-+ conn->handle = __le16_to_cpu(cc->handle);
-+ conn->state = BT_CONNECTED;
-+
-+ if (test_bit(HCI_AUTH, &hdev->flags))
-+ conn->link_mode |= HCI_LM_AUTH;
-+
-+ if (test_bit(HCI_ENCRYPT, &hdev->flags))
-+ conn->link_mode |= HCI_LM_ENCRYPT;
-+
-+
-+ /* Set link policy */
-+ if (conn->type == ACL_LINK && hdev->link_policy) {
-+ write_link_policy_cp lp;
-+ lp.handle = cc->handle;
-+ lp.policy = __cpu_to_le16(hdev->link_policy);
-+ hci_send_cmd(hdev, OGF_LINK_POLICY, OCF_WRITE_LINK_POLICY,
-+ WRITE_LINK_POLICY_CP_SIZE, &lp);
-+ }
-+
-+ /* Set packet type for incomming connection */
-+ if (!conn->out) {
-+ change_conn_ptype_cp cp;
-+ cp.handle = cc->handle;
-+ cp.pkt_type = (conn->type == ACL_LINK) ?
-+ __cpu_to_le16(hdev->pkt_type & ACL_PTYPE_MASK):
-+ __cpu_to_le16(hdev->pkt_type & SCO_PTYPE_MASK);
-+
-+ hci_send_cmd(hdev, OGF_LINK_CTL, OCF_CHANGE_CONN_PTYPE,
-+ CHANGE_CONN_PTYPE_CP_SIZE, &cp);
-+ }
-+ } else
-+ conn->state = BT_CLOSED;
-+
-+ if (conn->type == ACL_LINK) {
-+ struct hci_conn *sco = conn->link;
-+ if (sco) {
-+ if (!cc->status)
-+ hci_add_sco(sco, conn->handle);
-+ else {
-+ hci_proto_connect_cfm(sco, cc->status);
-+ hci_conn_del(sco);
-+ }
-+ }
-+ }
-+
-+ hci_proto_connect_cfm(conn, cc->status);
-+ if (cc->status)
-+ hci_conn_del(conn);
-+
-+ hci_dev_unlock(hdev);
-+}
-+
-+/* Disconnect Complete */
-+static inline void hci_disconn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_disconn_complete *dc = (evt_disconn_complete *) skb->data;
-+ struct hci_conn *conn = NULL;
-+ __u16 handle = __le16_to_cpu(dc->handle);
-+
-+ BT_DBG("%s status %d", hdev->name, dc->status);
-+
-+ if (dc->status)
-+ return;
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_handle(hdev, handle);
-+ if (conn) {
-+ conn->state = BT_CLOSED;
-+ hci_proto_disconn_ind(conn, dc->reason);
-+ hci_conn_del(conn);
-+ }
-+
-+ hci_dev_unlock(hdev);
-+}
-+
-+/* Number of completed packets */
-+static inline void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_num_comp_pkts *nc = (evt_num_comp_pkts *) skb->data;
-+ __u16 *ptr;
-+ int i;
-+
-+ skb_pull(skb, EVT_NUM_COMP_PKTS_SIZE);
-+
-+ BT_DBG("%s num_hndl %d", hdev->name, nc->num_hndl);
-+
-+ if (skb->len < nc->num_hndl * 4) {
-+ BT_DBG("%s bad parameters", hdev->name);
-+ return;
-+ }
-+
-+ tasklet_disable(&hdev->tx_task);
-+
-+ for (i = 0, ptr = (__u16 *) skb->data; i < nc->num_hndl; i++) {
-+ struct hci_conn *conn;
-+ __u16 handle, count;
-+
-+ handle = __le16_to_cpu(get_unaligned(ptr++));
-+ count = __le16_to_cpu(get_unaligned(ptr++));
-+
-+ conn = conn_hash_lookup_handle(hdev, handle);
-+ if (conn) {
-+ conn->sent -= count;
-+
-+ if (conn->type == SCO_LINK) {
-+ if ((hdev->sco_cnt += count) > hdev->sco_pkts)
-+ hdev->sco_cnt = hdev->sco_pkts;
-+ } else {
-+ if ((hdev->acl_cnt += count) > hdev->acl_pkts)
-+ hdev->acl_cnt = hdev->acl_pkts;
-+ }
-+ }
-+ }
-+ hci_sched_tx(hdev);
-+
-+ tasklet_enable(&hdev->tx_task);
-+}
-+
-+/* Role Change */
-+static inline void hci_role_change_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_role_change *rc = (evt_role_change *) skb->data;
-+ struct hci_conn *conn = NULL;
-+
-+ BT_DBG("%s status %d", hdev->name, rc->status);
-+
-+ if (rc->status)
-+ return;
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_ba(hdev, ACL_LINK, &rc->bdaddr);
-+ if (conn) {
-+ if (rc->role)
-+ conn->link_mode &= ~HCI_LM_MASTER;
-+ else
-+ conn->link_mode |= HCI_LM_MASTER;
-+ }
-+
-+ hci_dev_unlock(hdev);
-+}
-+
-+/* Authentication Complete */
-+static inline void hci_auth_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_auth_complete *ac = (evt_auth_complete *) skb->data;
-+ struct hci_conn *conn = NULL;
-+ __u16 handle = __le16_to_cpu(ac->handle);
-+
-+ BT_DBG("%s status %d", hdev->name, ac->status);
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_handle(hdev, handle);
-+ if (conn) {
-+ if (!ac->status)
-+ conn->link_mode |= HCI_LM_AUTH;
-+ clear_bit(HCI_CONN_AUTH_PEND, &conn->pend);
-+
-+ hci_proto_auth_cfm(conn, ac->status);
-+
-+ if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend)) {
-+ if (!ac->status) {
-+ set_conn_encrypt_cp ce;
-+ ce.handle = __cpu_to_le16(conn->handle);
-+ ce.encrypt = 1;
-+ hci_send_cmd(conn->hdev, OGF_LINK_CTL,
-+ OCF_SET_CONN_ENCRYPT,
-+ SET_CONN_ENCRYPT_CP_SIZE, &ce);
-+ } else {
-+ clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend);
-+ hci_proto_encrypt_cfm(conn, ac->status);
-+ }
-+ }
-+ }
-+
-+ hci_dev_unlock(hdev);
-+}
-+
-+/* Encryption Change */
-+static inline void hci_encrypt_change_evt(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ evt_encrypt_change *ec = (evt_encrypt_change *) skb->data;
-+ struct hci_conn *conn = NULL;
-+ __u16 handle = __le16_to_cpu(ec->handle);
-+
-+ BT_DBG("%s status %d", hdev->name, ec->status);
-+
-+ hci_dev_lock(hdev);
-+
-+ conn = conn_hash_lookup_handle(hdev, handle);
-+ if (conn) {
-+ if (!ec->status) {
-+ if (ec->encrypt)
-+ conn->link_mode |= HCI_LM_ENCRYPT;
-+ else
-+ conn->link_mode &= ~HCI_LM_ENCRYPT;
-+ }
-+ clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend);
-+
-+ hci_proto_encrypt_cfm(conn, ec->status);
-+ }
-+
-+ hci_dev_unlock(hdev);
-+}
-+
-+void hci_event_packet(struct hci_dev *hdev, struct sk_buff *skb)
-+{
-+ hci_event_hdr *he = (hci_event_hdr *) skb->data;
-+ evt_cmd_status *cs;
-+ evt_cmd_complete *ec;
-+ __u16 opcode, ocf, ogf;
-+
-+ skb_pull(skb, HCI_EVENT_HDR_SIZE);
-+
-+ BT_DBG("%s evt 0x%x", hdev->name, he->evt);
-+
-+ switch (he->evt) {
-+ case EVT_NUM_COMP_PKTS:
-+ hci_num_comp_pkts_evt(hdev, skb);
-+ break;
-+
-+ case EVT_INQUIRY_COMPLETE:
-+ hci_inquiry_complete_evt(hdev, skb);
-+ break;
-+
-+ case EVT_INQUIRY_RESULT:
-+ hci_inquiry_result_evt(hdev, skb);
-+ break;
-+
-+ case EVT_INQUIRY_RESULT_WITH_RSSI:
-+ hci_inquiry_result_with_rssi_evt(hdev, skb);
-+ break;
-+
-+ case EVT_CONN_REQUEST:
-+ hci_conn_request_evt(hdev, skb);
-+ break;
-+
-+ case EVT_CONN_COMPLETE:
-+ hci_conn_complete_evt(hdev, skb);
-+ break;
-+
-+ case EVT_DISCONN_COMPLETE:
-+ hci_disconn_complete_evt(hdev, skb);
-+ break;
-+
-+ case EVT_ROLE_CHANGE:
-+ hci_role_change_evt(hdev, skb);
-+ break;
-+
-+ case EVT_AUTH_COMPLETE:
-+ hci_auth_complete_evt(hdev, skb);
-+ break;
-+
-+ case EVT_ENCRYPT_CHANGE:
-+ hci_encrypt_change_evt(hdev, skb);
-+ break;
-+
-+ case EVT_CMD_STATUS:
-+ cs = (evt_cmd_status *) skb->data;
-+ skb_pull(skb, EVT_CMD_STATUS_SIZE);
-+
-+ opcode = __le16_to_cpu(cs->opcode);
-+ ogf = cmd_opcode_ogf(opcode);
-+ ocf = cmd_opcode_ocf(opcode);
-+
-+ switch (ogf) {
-+ case OGF_INFO_PARAM:
-+ hci_cs_info_param(hdev, ocf, cs->status);
-+ break;
-+
-+ case OGF_HOST_CTL:
-+ hci_cs_host_ctl(hdev, ocf, cs->status);
-+ break;
-+
-+ case OGF_LINK_CTL:
-+ hci_cs_link_ctl(hdev, ocf, cs->status);
-+ break;
-+
-+ case OGF_LINK_POLICY:
-+ hci_cs_link_policy(hdev, ocf, cs->status);
-+ break;
-+
-+ default:
-+ BT_DBG("%s Command Status OGF %x", hdev->name, ogf);
-+ break;
-+ };
-+
-+ if (cs->ncmd) {
-+ atomic_set(&hdev->cmd_cnt, 1);
-+ if (!skb_queue_empty(&hdev->cmd_q))
-+ hci_sched_cmd(hdev);
-+ }
-+ break;
-+
-+ case EVT_CMD_COMPLETE:
-+ ec = (evt_cmd_complete *) skb->data;
-+ skb_pull(skb, EVT_CMD_COMPLETE_SIZE);
-+
-+ opcode = __le16_to_cpu(ec->opcode);
-+ ogf = cmd_opcode_ogf(opcode);
-+ ocf = cmd_opcode_ocf(opcode);
-+
-+ switch (ogf) {
-+ case OGF_INFO_PARAM:
-+ hci_cc_info_param(hdev, ocf, skb);
-+ break;
-+
-+ case OGF_HOST_CTL:
-+ hci_cc_host_ctl(hdev, ocf, skb);
-+ break;
-+
-+ case OGF_LINK_CTL:
-+ hci_cc_link_ctl(hdev, ocf, skb);
-+ break;
-+
-+ case OGF_LINK_POLICY:
-+ hci_cc_link_policy(hdev, ocf, skb);
-+ break;
-+
-+ default:
-+ BT_DBG("%s Command Completed OGF %x", hdev->name, ogf);
-+ break;
-+ };
-+
-+ if (ec->ncmd) {
-+ atomic_set(&hdev->cmd_cnt, 1);
-+ if (!skb_queue_empty(&hdev->cmd_q))
-+ hci_sched_cmd(hdev);
-+ }
-+ break;
-+ };
-+
-+ kfree_skb(skb);
-+ hdev->stat.evt_rx++;
-+}
-+
-+/* General internal stack event */
-+void hci_si_event(struct hci_dev *hdev, int type, int dlen, void *data)
-+{
-+ hci_event_hdr *eh;
-+ evt_stack_internal *si;
-+ struct sk_buff *skb;
-+ int size;
-+ void *ptr;
-+
-+ size = HCI_EVENT_HDR_SIZE + EVT_STACK_INTERNAL_SIZE + dlen;
-+ skb = bluez_skb_alloc(size, GFP_ATOMIC);
-+ if (!skb)
-+ return;
-+
-+ ptr = skb_put(skb, size);
-+
-+ eh = ptr;
-+ eh->evt = EVT_STACK_INTERNAL;
-+ eh->plen = EVT_STACK_INTERNAL_SIZE + dlen;
-+ ptr += HCI_EVENT_HDR_SIZE;
-+
-+ si = ptr;
-+ si->type = type;
-+ memcpy(si->data, data, dlen);
-+
-+ skb->pkt_type = HCI_EVENT_PKT;
-+ skb->dev = (void *) hdev;
-+ hci_send_to_sock(hdev, skb);
-+ kfree_skb(skb);
-+}
-diff -urN linux-2.4.18/net/bluetooth/hci_sock.c linux-2.4.18-mh15/net/bluetooth/hci_sock.c
---- linux-2.4.18/net/bluetooth/hci_sock.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/hci_sock.c 2004-08-01 16:26:23.000000000 +0200
-@@ -25,7 +25,7 @@
- /*
- * BlueZ HCI socket layer.
- *
-- * $Id: hci_sock.c,v 1.9 2001/08/05 06:02:16 maxk Exp $
-+ * $Id: hci_sock.c,v 1.5 2002/07/22 20:32:54 maxk Exp $
- */
-
- #include <linux/config.h>
-@@ -49,45 +49,54 @@
-
- #include <asm/system.h>
- #include <asm/uaccess.h>
-+#include <asm/unaligned.h>
-
- #include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
- #include <net/bluetooth/hci_core.h>
-
- #ifndef HCI_SOCK_DEBUG
--#undef DBG
--#define DBG( A... )
-+#undef BT_DBG
-+#define BT_DBG( A... )
- #endif
-
--/* HCI socket interface */
-+/* ----- HCI socket interface ----- */
-+
-+/* Security filter */
-+static struct hci_sec_filter hci_sec_filter = {
-+ /* Packet types */
-+ 0x10,
-+ /* Events */
-+ { 0x1000d9fe, 0x0000300c },
-+ /* Commands */
-+ {
-+ { 0x0 },
-+ /* OGF_LINK_CTL */
-+ { 0xbe000006, 0x00000001, 0x0000, 0x00 },
-+ /* OGF_LINK_POLICY */
-+ { 0x00005200, 0x00000000, 0x0000, 0x00 },
-+ /* OGF_HOST_CTL */
-+ { 0xaab00200, 0x2b402aaa, 0x0154, 0x00 },
-+ /* OGF_INFO_PARAM */
-+ { 0x000002be, 0x00000000, 0x0000, 0x00 },
-+ /* OGF_STATUS_PARAM */
-+ { 0x000000ea, 0x00000000, 0x0000, 0x00 }
-+ }
-+};
-
- static struct bluez_sock_list hci_sk_list = {
- lock: RW_LOCK_UNLOCKED
- };
-
--static struct sock *hci_sock_lookup(struct hci_dev *hdev)
--{
-- struct sock *sk;
--
-- read_lock(&hci_sk_list.lock);
-- for (sk = hci_sk_list.head; sk; sk = sk->next) {
-- if (hci_pi(sk)->hdev == hdev)
-- break;
-- }
-- read_unlock(&hci_sk_list.lock);
-- return sk;
--}
--
- /* Send frame to RAW socket */
- void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb)
- {
- struct sock * sk;
-
-- DBG("hdev %p len %d", hdev, skb->len);
-+ BT_DBG("hdev %p len %d", hdev, skb->len);
-
- read_lock(&hci_sk_list.lock);
- for (sk = hci_sk_list.head; sk; sk = sk->next) {
-- struct hci_filter *flt;
-+ struct hci_filter *flt;
- struct sk_buff *nskb;
-
- if (sk->state != BT_BOUND || hci_pi(sk)->hdev != hdev)
-@@ -100,13 +109,19 @@
- /* Apply filter */
- flt = &hci_pi(sk)->filter;
-
-- if (!test_bit(skb->pkt_type, &flt->type_mask))
-+ if (!hci_test_bit((skb->pkt_type & HCI_FLT_TYPE_BITS), &flt->type_mask))
- continue;
-
- if (skb->pkt_type == HCI_EVENT_PKT) {
-- register int evt = (*(__u8 *)skb->data & 63);
-+ register int evt = (*(__u8 *)skb->data & HCI_FLT_EVENT_BITS);
-+
-+ if (!hci_test_bit(evt, &flt->event_mask))
-+ continue;
-
-- if (!test_bit(evt, &flt->event_mask))
-+ if (flt->opcode && ((evt == EVT_CMD_COMPLETE &&
-+ flt->opcode != *(__u16 *)(skb->data + 3)) ||
-+ (evt == EVT_CMD_STATUS &&
-+ flt->opcode != *(__u16 *)(skb->data + 4))))
- continue;
- }
-
-@@ -116,8 +131,8 @@
- /* Put type byte before the data */
- memcpy(skb_push(nskb, 1), &nskb->pkt_type, 1);
-
-- skb_queue_tail(&sk->receive_queue, nskb);
-- sk->data_ready(sk, nskb->len);
-+ if (sock_queue_rcv_skb(sk, nskb))
-+ kfree_skb(nskb);
- }
- read_unlock(&hci_sk_list.lock);
- }
-@@ -127,7 +142,7 @@
- struct sock *sk = sock->sk;
- struct hci_dev *hdev = hci_pi(sk)->hdev;
-
-- DBG("sock %p sk %p", sock, sk);
-+ BT_DBG("sock %p sk %p", sock, sk);
-
- if (!sk)
- return 0;
-@@ -135,9 +150,7 @@
- bluez_sock_unlink(&hci_sk_list, sk);
-
- if (hdev) {
-- if (!hci_sock_lookup(hdev))
-- hdev->flags &= ~HCI_SOCK;
--
-+ atomic_dec(&hdev->promisc);
- hci_dev_put(hdev);
- }
-
-@@ -149,24 +162,55 @@
- sock_put(sk);
-
- MOD_DEC_USE_COUNT;
--
- return 0;
- }
-
--static int hci_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-+/* Ioctls that require bound socket */
-+static inline int hci_sock_bound_ioctl(struct sock *sk, unsigned int cmd, unsigned long arg)
- {
-- struct sock *sk = sock->sk;
- struct hci_dev *hdev = hci_pi(sk)->hdev;
-- __u32 mode;
-
-- DBG("cmd %x arg %lx", cmd, arg);
-+ if (!hdev)
-+ return -EBADFD;
-
- switch (cmd) {
-- case HCIGETINFO:
-- return hci_dev_info(arg);
-+ case HCISETRAW:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-
-+ if (arg)
-+ set_bit(HCI_RAW, &hdev->flags);
-+ else
-+ clear_bit(HCI_RAW, &hdev->flags);
-+
-+ return 0;
-+
-+ case HCIGETCONNINFO:
-+ return hci_get_conn_info(hdev, arg);
-+
-+ default:
-+ if (hdev->ioctl)
-+ return hdev->ioctl(hdev, cmd, arg);
-+ return -EINVAL;
-+ }
-+}
-+
-+static int hci_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-+{
-+ struct sock *sk = sock->sk;
-+ int err;
-+
-+ BT_DBG("cmd %x arg %lx", cmd, arg);
-+
-+ switch (cmd) {
- case HCIGETDEVLIST:
-- return hci_dev_list(arg);
-+ return hci_get_dev_list(arg);
-+
-+ case HCIGETDEVINFO:
-+ return hci_get_dev_info(arg);
-+
-+ case HCIGETCONNLIST:
-+ return hci_get_conn_list(arg);
-
- case HCIDEVUP:
- if (!capable(CAP_NET_ADMIN))
-@@ -183,48 +227,31 @@
- return -EACCES;
- return hci_dev_reset(arg);
-
-- case HCIRESETSTAT:
-+ case HCIDEVRESTAT:
- if (!capable(CAP_NET_ADMIN))
- return -EACCES;
- return hci_dev_reset_stat(arg);
-
- case HCISETSCAN:
-- if (!capable(CAP_NET_ADMIN))
-- return -EACCES;
-- return hci_dev_setscan(arg);
--
- case HCISETAUTH:
-- if (!capable(CAP_NET_ADMIN))
-- return -EACCES;
-- return hci_dev_setauth(arg);
--
-- case HCISETRAW:
-- if (!capable(CAP_NET_ADMIN))
-- return -EACCES;
--
-- if (!hdev)
-- return -EBADFD;
--
-- if (arg)
-- mode = HCI_RAW;
-- else
-- mode = HCI_NORMAL;
--
-- return hci_dev_setmode(hdev, mode);
--
-+ case HCISETENCRYPT:
- case HCISETPTYPE:
-+ case HCISETLINKPOL:
-+ case HCISETLINKMODE:
-+ case HCISETACLMTU:
-+ case HCISETSCOMTU:
- if (!capable(CAP_NET_ADMIN))
- return -EACCES;
-- return hci_dev_setptype(arg);
-+ return hci_dev_cmd(cmd, arg);
-
- case HCIINQUIRY:
- return hci_inquiry(arg);
-
-- case HCIGETCONNLIST:
-- return hci_conn_list(arg);
--
- default:
-- return -EINVAL;
-+ lock_sock(sk);
-+ err = hci_sock_bound_ioctl(sk, cmd, arg);
-+ release_sock(sk);
-+ return err;
- };
- }
-
-@@ -233,28 +260,35 @@
- struct sockaddr_hci *haddr = (struct sockaddr_hci *) addr;
- struct sock *sk = sock->sk;
- struct hci_dev *hdev = NULL;
-+ int err = 0;
-
-- DBG("sock %p sk %p", sock, sk);
-+ BT_DBG("sock %p sk %p", sock, sk);
-
- if (!haddr || haddr->hci_family != AF_BLUETOOTH)
- return -EINVAL;
-
-+ lock_sock(sk);
-+
- if (hci_pi(sk)->hdev) {
-- /* Already bound */
-- return 0;
-+ err = -EALREADY;
-+ goto done;
- }
-
- if (haddr->hci_dev != HCI_DEV_NONE) {
-- if (!(hdev = hci_dev_get(haddr->hci_dev)))
-- return -ENODEV;
-+ if (!(hdev = hci_dev_get(haddr->hci_dev))) {
-+ err = -ENODEV;
-+ goto done;
-+ }
-
-- hdev->flags |= HCI_SOCK;
-+ atomic_inc(&hdev->promisc);
- }
-
- hci_pi(sk)->hdev = hdev;
- sk->state = BT_BOUND;
-
-- return 0;
-+done:
-+ release_sock(sk);
-+ return err;
- }
-
- static int hci_sock_getname(struct socket *sock, struct sockaddr *addr, int *addr_len, int peer)
-@@ -262,73 +296,44 @@
- struct sockaddr_hci *haddr = (struct sockaddr_hci *) addr;
- struct sock *sk = sock->sk;
-
-- DBG("sock %p sk %p", sock, sk);
-+ BT_DBG("sock %p sk %p", sock, sk);
-+
-+ lock_sock(sk);
-
- *addr_len = sizeof(*haddr);
- haddr->hci_family = AF_BLUETOOTH;
- haddr->hci_dev = hci_pi(sk)->hdev->id;
-
-+ release_sock(sk);
- return 0;
- }
-
--static int hci_sock_sendmsg(struct socket *sock, struct msghdr *msg, int len,
-- struct scm_cookie *scm)
--{
-- struct sock *sk = sock->sk;
-- struct hci_dev *hdev = hci_pi(sk)->hdev;
-- struct sk_buff *skb;
-- int err;
--
-- DBG("sock %p sk %p", sock, sk);
--
-- if (msg->msg_flags & MSG_OOB)
-- return -EOPNOTSUPP;
--
-- if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_NOSIGNAL|MSG_ERRQUEUE))
-- return -EINVAL;
--
-- if (!hdev)
-- return -EBADFD;
--
-- if (!(skb = bluez_skb_send_alloc(sk, len, msg->msg_flags & MSG_DONTWAIT, &err)))
-- return err;
--
-- if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
-- kfree_skb(skb);
-- return -EFAULT;
-- }
--
-- skb->dev = (void *) hdev;
-- skb->pkt_type = *((unsigned char *) skb->data);
-- skb_pull(skb, 1);
--
-- /* Send frame to HCI core */
-- hci_send_raw(skb);
--
-- return len;
--}
--
- static inline void hci_sock_cmsg(struct sock *sk, struct msghdr *msg, struct sk_buff *skb)
- {
- __u32 mask = hci_pi(sk)->cmsg_mask;
-
- if (mask & HCI_CMSG_DIR)
- put_cmsg(msg, SOL_HCI, HCI_CMSG_DIR, sizeof(int), &bluez_cb(skb)->incomming);
-+
-+ if (mask & HCI_CMSG_TSTAMP)
-+ put_cmsg(msg, SOL_HCI, HCI_CMSG_TSTAMP, sizeof(skb->stamp), &skb->stamp);
- }
-
--static int hci_sock_recvmsg(struct socket *sock, struct msghdr *msg, int len,
-- int flags, struct scm_cookie *scm)
-+static int hci_sock_recvmsg(struct socket *sock, struct msghdr *msg, int len, int flags, struct scm_cookie *scm)
- {
- int noblock = flags & MSG_DONTWAIT;
- struct sock *sk = sock->sk;
- struct sk_buff *skb;
- int copied, err;
-
-- DBG("sock %p sk %p", sock, sk);
-+ BT_DBG("sock %p, sk %p", sock, sk);
-
-- if (flags & (MSG_OOB | MSG_PEEK))
-+ if (flags & (MSG_OOB))
- return -EOPNOTSUPP;
-
-+ if (sk->state == BT_CLOSED)
-+ return 0;
-+
- if (!(skb = skb_recv_datagram(sk, flags, noblock, &err)))
- return err;
-
-@@ -343,28 +348,107 @@
- skb->h.raw = skb->data;
- err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied);
-
-- if (hci_pi(sk)->cmsg_mask)
-- hci_sock_cmsg(sk, msg, skb);
--
-+ hci_sock_cmsg(sk, msg, skb);
-+
- skb_free_datagram(sk, skb);
-
- return err ? : copied;
- }
-
-+static int hci_sock_sendmsg(struct socket *sock, struct msghdr *msg, int len,
-+ struct scm_cookie *scm)
-+{
-+ struct sock *sk = sock->sk;
-+ struct hci_dev *hdev;
-+ struct sk_buff *skb;
-+ int err;
-+
-+ BT_DBG("sock %p sk %p", sock, sk);
-+
-+ if (msg->msg_flags & MSG_OOB)
-+ return -EOPNOTSUPP;
-+
-+ if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_NOSIGNAL|MSG_ERRQUEUE))
-+ return -EINVAL;
-+
-+ if (len < 4)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ if (!(hdev = hci_pi(sk)->hdev)) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ if (!(skb = bluez_skb_send_alloc(sk, len, msg->msg_flags & MSG_DONTWAIT, &err)))
-+ goto done;
-+
-+ if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
-+ err = -EFAULT;
-+ goto drop;
-+ }
-+
-+ skb->pkt_type = *((unsigned char *) skb->data);
-+ skb_pull(skb, 1);
-+ skb->dev = (void *) hdev;
-+
-+ if (skb->pkt_type == HCI_COMMAND_PKT) {
-+ u16 opcode = __le16_to_cpu(get_unaligned((u16 *)skb->data));
-+ u16 ogf = cmd_opcode_ogf(opcode);
-+ u16 ocf = cmd_opcode_ocf(opcode);
-+
-+ if (((ogf > HCI_SFLT_MAX_OGF) ||
-+ !hci_test_bit(ocf & HCI_FLT_OCF_BITS, &hci_sec_filter.ocf_mask[ogf])) &&
-+ !capable(CAP_NET_RAW)) {
-+ err = -EPERM;
-+ goto drop;
-+ }
-+
-+ if (test_bit(HCI_RAW, &hdev->flags) || (ogf == OGF_VENDOR_CMD)) {
-+ skb_queue_tail(&hdev->raw_q, skb);
-+ hci_sched_tx(hdev);
-+ } else {
-+ skb_queue_tail(&hdev->cmd_q, skb);
-+ hci_sched_cmd(hdev);
-+ }
-+ } else {
-+ if (!capable(CAP_NET_RAW)) {
-+ err = -EPERM;
-+ goto drop;
-+ }
-+
-+ skb_queue_tail(&hdev->raw_q, skb);
-+ hci_sched_tx(hdev);
-+ }
-+
-+ err = len;
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+
-+drop:
-+ kfree_skb(skb);
-+ goto done;
-+}
-+
- int hci_sock_setsockopt(struct socket *sock, int level, int optname, char *optval, int len)
- {
- struct sock *sk = sock->sk;
-- struct hci_filter flt;
-+ struct hci_filter flt = { opcode: 0 };
- int err = 0, opt = 0;
-
-- DBG("sk %p, opt %d", sk, optname);
-+ BT_DBG("sk %p, opt %d", sk, optname);
-
- lock_sock(sk);
-
- switch (optname) {
- case HCI_DATA_DIR:
-- if (get_user(opt, (int *)optval))
-- return -EFAULT;
-+ if (get_user(opt, (int *)optval)) {
-+ err = -EFAULT;
-+ break;
-+ }
-
- if (opt)
- hci_pi(sk)->cmsg_mask |= HCI_CMSG_DIR;
-@@ -372,12 +456,31 @@
- hci_pi(sk)->cmsg_mask &= ~HCI_CMSG_DIR;
- break;
-
-+ case HCI_TIME_STAMP:
-+ if (get_user(opt, (int *)optval)) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ if (opt)
-+ hci_pi(sk)->cmsg_mask |= HCI_CMSG_TSTAMP;
-+ else
-+ hci_pi(sk)->cmsg_mask &= ~HCI_CMSG_TSTAMP;
-+ break;
-+
- case HCI_FILTER:
- len = MIN(len, sizeof(struct hci_filter));
- if (copy_from_user(&flt, optval, len)) {
- err = -EFAULT;
- break;
- }
-+
-+ if (!capable(CAP_NET_RAW)) {
-+ flt.type_mask &= hci_sec_filter.type_mask;
-+ flt.event_mask[0] &= hci_sec_filter.event_mask[0];
-+ flt.event_mask[1] &= hci_sec_filter.event_mask[1];
-+ }
-+
- memcpy(&hci_pi(sk)->filter, &flt, len);
- break;
-
-@@ -409,6 +512,16 @@
- return -EFAULT;
- break;
-
-+ case HCI_TIME_STAMP:
-+ if (hci_pi(sk)->cmsg_mask & HCI_CMSG_TSTAMP)
-+ opt = 1;
-+ else
-+ opt = 0;
-+
-+ if (put_user(opt, optval))
-+ return -EFAULT;
-+ break;
-+
- case HCI_FILTER:
- len = MIN(len, sizeof(struct hci_filter));
- if (copy_to_user(optval, &hci_pi(sk)->filter, len))
-@@ -446,7 +559,7 @@
- {
- struct sock *sk;
-
-- DBG("sock %p", sock);
-+ BT_DBG("sock %p", sock);
-
- if (sock->type != SOCK_RAW)
- return -ESOCKTNOSUPPORT;
-@@ -464,44 +577,31 @@
- sk->protocol = protocol;
- sk->state = BT_OPEN;
-
-- /* Initialize filter */
-- hci_pi(sk)->filter.type_mask = (1<<HCI_EVENT_PKT);
-- hci_pi(sk)->filter.event_mask[0] = ~0L;
-- hci_pi(sk)->filter.event_mask[1] = ~0L;
--
- bluez_sock_link(&hci_sk_list, sk);
-
- MOD_INC_USE_COUNT;
--
- return 0;
- }
-
- static int hci_sock_dev_event(struct notifier_block *this, unsigned long event, void *ptr)
- {
- struct hci_dev *hdev = (struct hci_dev *) ptr;
-- struct sk_buff *skb;
--
-- DBG("hdev %s event %ld", hdev->name, event);
-+ evt_si_device sd;
-+
-+ BT_DBG("hdev %s event %ld", hdev->name, event);
-
- /* Send event to sockets */
-- if ((skb = bluez_skb_alloc(HCI_EVENT_HDR_SIZE + EVT_HCI_DEV_EVENT_SIZE, GFP_ATOMIC))) {
-- hci_event_hdr eh = { EVT_HCI_DEV_EVENT, EVT_HCI_DEV_EVENT_SIZE };
-- evt_hci_dev_event he = { event, hdev->id };
--
-- skb->pkt_type = HCI_EVENT_PKT;
-- memcpy(skb_put(skb, HCI_EVENT_HDR_SIZE), &eh, HCI_EVENT_HDR_SIZE);
-- memcpy(skb_put(skb, EVT_HCI_DEV_EVENT_SIZE), &he, EVT_HCI_DEV_EVENT_SIZE);
--
-- hci_send_to_sock(NULL, skb);
-- kfree_skb(skb);
-- }
--
-+ sd.event = event;
-+ sd.dev_id = hdev->id;
-+ hci_si_event(NULL, EVT_SI_DEVICE, EVT_SI_DEVICE_SIZE, &sd);
-+
- if (event == HCI_DEV_UNREG) {
- struct sock *sk;
-
- /* Detach sockets from device */
- read_lock(&hci_sk_list.lock);
- for (sk = hci_sk_list.head; sk; sk = sk->next) {
-+ bh_lock_sock(sk);
- if (hci_pi(sk)->hdev == hdev) {
- hci_pi(sk)->hdev = NULL;
- sk->err = EPIPE;
-@@ -510,6 +610,7 @@
-
- hci_dev_put(hdev);
- }
-+ bh_unlock_sock(sk);
- }
- read_unlock(&hci_sk_list.lock);
- }
-@@ -529,21 +630,19 @@
- int hci_sock_init(void)
- {
- if (bluez_sock_register(BTPROTO_HCI, &hci_sock_family_ops)) {
-- ERR("Can't register HCI socket");
-+ BT_ERR("Can't register HCI socket");
- return -EPROTO;
- }
-
- hci_register_notifier(&hci_sock_nblock);
--
- return 0;
- }
-
- int hci_sock_cleanup(void)
- {
- if (bluez_sock_unregister(BTPROTO_HCI))
-- ERR("Can't unregister HCI socket");
-+ BT_ERR("Can't unregister HCI socket");
-
- hci_unregister_notifier(&hci_sock_nblock);
--
- return 0;
- }
-diff -urN linux-2.4.18/net/bluetooth/hidp/Config.in linux-2.4.18-mh15/net/bluetooth/hidp/Config.in
---- linux-2.4.18/net/bluetooth/hidp/Config.in 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hidp/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,5 @@
-+#
-+# Bluetooth HIDP layer configuration
-+#
-+
-+dep_tristate 'HIDP protocol support' CONFIG_BLUEZ_HIDP $CONFIG_INPUT $CONFIG_BLUEZ_L2CAP
-diff -urN linux-2.4.18/net/bluetooth/hidp/core.c linux-2.4.18-mh15/net/bluetooth/hidp/core.c
---- linux-2.4.18/net/bluetooth/hidp/core.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hidp/core.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,655 @@
-+/*
-+ HIDP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/skbuff.h>
-+#include <linux/socket.h>
-+#include <linux/ioctl.h>
-+#include <linux/file.h>
-+#include <linux/init.h>
-+#include <net/sock.h>
-+
-+#include <linux/input.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/l2cap.h>
-+
-+#include "hidp.h"
-+
-+#ifndef CONFIG_BT_HIDP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+#define VERSION "1.0"
-+
-+static DECLARE_RWSEM(hidp_session_sem);
-+static LIST_HEAD(hidp_session_list);
-+
-+static unsigned char hidp_keycode[256] = {
-+ 0, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38,
-+ 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44, 2, 3,
-+ 4, 5, 6, 7, 8, 9, 10, 11, 28, 1, 14, 15, 57, 12, 13, 26,
-+ 27, 43, 43, 39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64,
-+ 65, 66, 67, 68, 87, 88, 99, 70,119,110,102,104,111,107,109,106,
-+ 105,108,103, 69, 98, 55, 74, 78, 96, 79, 80, 81, 75, 76, 77, 71,
-+ 72, 73, 82, 83, 86,127,116,117,183,184,185,186,187,188,189,190,
-+ 191,192,193,194,134,138,130,132,128,129,131,137,133,135,136,113,
-+ 115,114, 0, 0, 0,121, 0, 89, 93,124, 92, 94, 95, 0, 0, 0,
-+ 122,123, 90, 91, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 29, 42, 56,125, 97, 54,100,126,164,166,165,163,161,115,114,113,
-+ 150,158,159,128,136,177,178,176,142,152,173,140
-+};
-+
-+static struct hidp_session *__hidp_get_session(bdaddr_t *bdaddr)
-+{
-+ struct hidp_session *session;
-+ struct list_head *p;
-+
-+ BT_DBG("");
-+
-+ list_for_each(p, &hidp_session_list) {
-+ session = list_entry(p, struct hidp_session, list);
-+ if (!bacmp(bdaddr, &session->bdaddr))
-+ return session;
-+ }
-+ return NULL;
-+}
-+
-+static void __hidp_link_session(struct hidp_session *session)
-+{
-+ MOD_INC_USE_COUNT;
-+ list_add(&session->list, &hidp_session_list);
-+}
-+
-+static void __hidp_unlink_session(struct hidp_session *session)
-+{
-+ list_del(&session->list);
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static void __hidp_copy_session(struct hidp_session *session, struct hidp_conninfo *ci)
-+{
-+ bacpy(&ci->bdaddr, &session->bdaddr);
-+
-+ ci->flags = session->flags;
-+ ci->state = session->state;
-+
-+ ci->vendor = 0x0000;
-+ ci->product = 0x0000;
-+ ci->version = 0x0000;
-+ memset(ci->name, 0, 128);
-+
-+ if (session->input) {
-+ ci->vendor = session->input->idvendor;
-+ ci->product = session->input->idproduct;
-+ ci->version = session->input->idversion;
-+ if (session->input->name)
-+ strncpy(ci->name, session->input->name, 128);
-+ else
-+ strncpy(ci->name, "HID Boot Device", 128);
-+ }
-+}
-+
-+static int hidp_input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
-+{
-+ struct hidp_session *session = dev->private;
-+ struct sk_buff *skb;
-+ unsigned char newleds;
-+
-+ BT_DBG("session %p hid %p data %p size %d", session, device, data, size);
-+
-+ if (type != EV_LED)
-+ return -1;
-+
-+ newleds = (!!test_bit(LED_KANA, dev->led) << 3) |
-+ (!!test_bit(LED_COMPOSE, dev->led) << 3) |
-+ (!!test_bit(LED_SCROLLL, dev->led) << 2) |
-+ (!!test_bit(LED_CAPSL, dev->led) << 1) |
-+ (!!test_bit(LED_NUML, dev->led));
-+
-+ if (session->leds == newleds)
-+ return 0;
-+
-+ session->leds = newleds;
-+
-+ if (!(skb = alloc_skb(3, GFP_ATOMIC))) {
-+ BT_ERR("Can't allocate memory for new frame");
-+ return -ENOMEM;
-+ }
-+
-+ *skb_put(skb, 1) = 0xa2;
-+ *skb_put(skb, 1) = 0x01;
-+ *skb_put(skb, 1) = newleds;
-+
-+ skb_queue_tail(&session->intr_transmit, skb);
-+
-+ hidp_schedule(session);
-+
-+ return 0;
-+}
-+
-+static void hidp_input_report(struct hidp_session *session, struct sk_buff *skb)
-+{
-+ struct input_dev *dev = session->input;
-+ unsigned char *keys = session->keys;
-+ unsigned char *udata = skb->data + 1;
-+ signed char *sdata = skb->data + 1;
-+ int i, size = skb->len - 1;
-+
-+ switch (skb->data[0]) {
-+ case 0x01: /* Keyboard report */
-+ for (i = 0; i < 8; i++)
-+ input_report_key(dev, hidp_keycode[i + 224], (udata[0] >> i) & 1);
-+
-+ for (i = 2; i < 8; i++) {
-+ if (keys[i] > 3 && memscan(udata + 2, keys[i], 6) == udata + 8) {
-+ if (hidp_keycode[keys[i]])
-+ input_report_key(dev, hidp_keycode[keys[i]], 0);
-+ else
-+ BT_ERR("Unknown key (scancode %#x) released.", keys[i]);
-+ }
-+
-+ if (udata[i] > 3 && memscan(keys + 2, udata[i], 6) == keys + 8) {
-+ if (hidp_keycode[udata[i]])
-+ input_report_key(dev, hidp_keycode[udata[i]], 1);
-+ else
-+ BT_ERR("Unknown key (scancode %#x) pressed.", udata[i]);
-+ }
-+ }
-+
-+ memcpy(keys, udata, 8);
-+ break;
-+
-+ case 0x02: /* Mouse report */
-+ input_report_key(dev, BTN_LEFT, sdata[0] & 0x01);
-+ input_report_key(dev, BTN_RIGHT, sdata[0] & 0x02);
-+ input_report_key(dev, BTN_MIDDLE, sdata[0] & 0x04);
-+ input_report_key(dev, BTN_SIDE, sdata[0] & 0x08);
-+ input_report_key(dev, BTN_EXTRA, sdata[0] & 0x10);
-+
-+ input_report_rel(dev, REL_X, sdata[1]);
-+ input_report_rel(dev, REL_Y, sdata[2]);
-+
-+ if (size > 3)
-+ input_report_rel(dev, REL_WHEEL, sdata[3]);
-+ break;
-+ }
-+
-+ input_event(dev, EV_RST, 0, 0);
-+}
-+
-+static void hidp_idle_timeout(unsigned long arg)
-+{
-+ struct hidp_session *session = (struct hidp_session *) arg;
-+
-+ atomic_inc(&session->terminate);
-+ hidp_schedule(session);
-+}
-+
-+static inline void hidp_set_timer(struct hidp_session *session)
-+{
-+ if (session->idle_to > 0)
-+ mod_timer(&session->timer, jiffies + HZ * session->idle_to);
-+}
-+
-+static inline void hidp_del_timer(struct hidp_session *session)
-+{
-+ if (session->idle_to > 0)
-+ del_timer(&session->timer);
-+}
-+
-+static inline void hidp_send_message(struct hidp_session *session, unsigned char hdr)
-+{
-+ struct sk_buff *skb;
-+
-+ BT_DBG("session %p", session);
-+
-+ if (!(skb = alloc_skb(1, GFP_ATOMIC))) {
-+ BT_ERR("Can't allocate memory for message");
-+ return;
-+ }
-+
-+ *skb_put(skb, 1) = hdr;
-+
-+ skb_queue_tail(&session->ctrl_transmit, skb);
-+
-+ hidp_schedule(session);
-+}
-+
-+static inline int hidp_recv_frame(struct hidp_session *session, struct sk_buff *skb)
-+{
-+ __u8 hdr;
-+
-+ BT_DBG("session %p skb %p len %d", session, skb, skb->len);
-+
-+ hdr = skb->data[0];
-+ skb_pull(skb, 1);
-+
-+ if (hdr == 0xa1) {
-+ hidp_set_timer(session);
-+
-+ if (session->input)
-+ hidp_input_report(session, skb);
-+ } else {
-+ BT_DBG("Unsupported protocol header 0x%02x", hdr);
-+ }
-+
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+static int hidp_send_frame(struct socket *sock, unsigned char *data, int len)
-+{
-+ struct iovec iv = { data, len };
-+ struct msghdr msg;
-+
-+ BT_DBG("sock %p data %p len %d", sock, data, len);
-+
-+ if (!len)
-+ return 0;
-+
-+ memset(&msg, 0, sizeof(msg));
-+ msg.msg_iovlen = 1;
-+ msg.msg_iov = &iv;
-+
-+ return sock_sendmsg(sock, &msg, len);
-+}
-+
-+static int hidp_process_transmit(struct hidp_session *session)
-+{
-+ struct sk_buff *skb;
-+
-+ BT_DBG("session %p", session);
-+
-+ while ((skb = skb_dequeue(&session->ctrl_transmit))) {
-+ if (hidp_send_frame(session->ctrl_sock, skb->data, skb->len) < 0) {
-+ skb_queue_head(&session->ctrl_transmit, skb);
-+ break;
-+ }
-+
-+ hidp_set_timer(session);
-+ kfree_skb(skb);
-+ }
-+
-+ while ((skb = skb_dequeue(&session->intr_transmit))) {
-+ if (hidp_send_frame(session->intr_sock, skb->data, skb->len) < 0) {
-+ skb_queue_head(&session->intr_transmit, skb);
-+ break;
-+ }
-+
-+ hidp_set_timer(session);
-+ kfree_skb(skb);
-+ }
-+
-+ return skb_queue_len(&session->ctrl_transmit) +
-+ skb_queue_len(&session->intr_transmit);
-+}
-+
-+static int hidp_session(void *arg)
-+{
-+ struct hidp_session *session = arg;
-+ struct sock *ctrl_sk = session->ctrl_sock->sk;
-+ struct sock *intr_sk = session->intr_sock->sk;
-+ struct sk_buff *skb;
-+ int vendor = 0x0000, product = 0x0000;
-+ wait_queue_t ctrl_wait, intr_wait;
-+ unsigned long timeo = HZ;
-+
-+ BT_DBG("session %p", session);
-+
-+ if (session->input) {
-+ vendor = session->input->idvendor;
-+ product = session->input->idproduct;
-+ }
-+
-+ daemonize(); reparent_to_init();
-+
-+ sprintf(current->comm, "khidpd_%04x%04x", vendor, product);
-+
-+ sigfillset(&current->blocked);
-+ flush_signals(current);
-+
-+ current->nice = -15;
-+
-+ set_fs(KERNEL_DS);
-+
-+ init_waitqueue_entry(&ctrl_wait, current);
-+ init_waitqueue_entry(&intr_wait, current);
-+ add_wait_queue(ctrl_sk->sleep, &ctrl_wait);
-+ add_wait_queue(intr_sk->sleep, &intr_wait);
-+ while (!atomic_read(&session->terminate)) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (ctrl_sk->state != BT_CONNECTED || intr_sk->state != BT_CONNECTED)
-+ break;
-+
-+ while ((skb = skb_dequeue(&ctrl_sk->receive_queue))) {
-+ skb_orphan(skb);
-+ hidp_recv_frame(session, skb);
-+ }
-+
-+ while ((skb = skb_dequeue(&intr_sk->receive_queue))) {
-+ skb_orphan(skb);
-+ hidp_recv_frame(session, skb);
-+ }
-+
-+ hidp_process_transmit(session);
-+
-+ schedule();
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(intr_sk->sleep, &intr_wait);
-+ remove_wait_queue(ctrl_sk->sleep, &ctrl_wait);
-+
-+ down_write(&hidp_session_sem);
-+
-+ hidp_del_timer(session);
-+
-+ if (intr_sk->state != BT_CONNECTED) {
-+ init_waitqueue_entry(&ctrl_wait, current);
-+ add_wait_queue(ctrl_sk->sleep, &ctrl_wait);
-+ while (timeo && ctrl_sk->state != BT_CLOSED) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ timeo = schedule_timeout(timeo);
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(ctrl_sk->sleep, &ctrl_wait);
-+ timeo = HZ;
-+ }
-+
-+ fput(session->ctrl_sock->file);
-+
-+ init_waitqueue_entry(&intr_wait, current);
-+ add_wait_queue(intr_sk->sleep, &intr_wait);
-+ while (timeo && intr_sk->state != BT_CLOSED) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ timeo = schedule_timeout(timeo);
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(intr_sk->sleep, &intr_wait);
-+
-+ fput(session->intr_sock->file);
-+
-+ __hidp_unlink_session(session);
-+
-+ if (session->input) {
-+ input_unregister_device(session->input);
-+ kfree(session->input);
-+ }
-+
-+ up_write(&hidp_session_sem);
-+
-+ kfree(session);
-+ return 0;
-+}
-+
-+static inline void hidp_setup_input(struct hidp_session *session, struct hidp_connadd_req *req)
-+{
-+ struct input_dev *input = session->input;
-+ int i;
-+
-+ input->private = session;
-+
-+ input->idbus = BUS_BLUETOOTH;
-+ input->idvendor = req->vendor;
-+ input->idproduct = req->product;
-+ input->idversion = req->version;
-+
-+ if (req->subclass & 0x40) {
-+ set_bit(EV_KEY, input->evbit);
-+ set_bit(EV_LED, input->evbit);
-+ set_bit(EV_REP, input->evbit);
-+
-+ set_bit(LED_NUML, input->ledbit);
-+ set_bit(LED_CAPSL, input->ledbit);
-+ set_bit(LED_SCROLLL, input->ledbit);
-+ set_bit(LED_COMPOSE, input->ledbit);
-+ set_bit(LED_KANA, input->ledbit);
-+
-+ for (i = 0; i < sizeof(hidp_keycode); i++)
-+ set_bit(hidp_keycode[i], input->keybit);
-+ clear_bit(0, input->keybit);
-+ }
-+
-+ if (req->subclass & 0x80) {
-+ input->evbit[0] = BIT(EV_KEY) | BIT(EV_REL);
-+ input->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE);
-+ input->relbit[0] = BIT(REL_X) | BIT(REL_Y);
-+ input->keybit[LONG(BTN_MOUSE)] |= BIT(BTN_SIDE) | BIT(BTN_EXTRA);
-+ input->relbit[0] |= BIT(REL_WHEEL);
-+ }
-+
-+ input->event = hidp_input_event;
-+
-+ input_register_device(input);
-+}
-+
-+int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock, struct socket *intr_sock)
-+{
-+ struct hidp_session *session, *s;
-+ int err;
-+
-+ BT_DBG("");
-+
-+ if (bacmp(&bluez_pi(ctrl_sock->sk)->src, &bluez_pi(intr_sock->sk)->src) ||
-+ bacmp(&bluez_pi(ctrl_sock->sk)->dst, &bluez_pi(intr_sock->sk)->dst))
-+ return -ENOTUNIQ;
-+
-+ session = kmalloc(sizeof(struct hidp_session), GFP_KERNEL);
-+ if (!session)
-+ return -ENOMEM;
-+ memset(session, 0, sizeof(struct hidp_session));
-+
-+ session->input = kmalloc(sizeof(struct input_dev), GFP_KERNEL);
-+ if (!session->input) {
-+ kfree(session);
-+ return -ENOMEM;
-+ }
-+ memset(session->input, 0, sizeof(struct input_dev));
-+
-+ down_write(&hidp_session_sem);
-+
-+ s = __hidp_get_session(&bluez_pi(ctrl_sock->sk)->dst);
-+ if (s && s->state == BT_CONNECTED) {
-+ err = -EEXIST;
-+ goto failed;
-+ }
-+
-+ bacpy(&session->bdaddr, &bluez_pi(ctrl_sock->sk)->dst);
-+
-+ session->ctrl_mtu = min_t(uint, l2cap_pi(ctrl_sock->sk)->omtu, l2cap_pi(ctrl_sock->sk)->imtu);
-+ session->intr_mtu = min_t(uint, l2cap_pi(intr_sock->sk)->omtu, l2cap_pi(intr_sock->sk)->imtu);
-+
-+ BT_DBG("ctrl mtu %d intr mtu %d", session->ctrl_mtu, session->intr_mtu);
-+
-+ session->ctrl_sock = ctrl_sock;
-+ session->intr_sock = intr_sock;
-+ session->state = BT_CONNECTED;
-+
-+ init_timer(&session->timer);
-+
-+ session->timer.function = hidp_idle_timeout;
-+ session->timer.data = (unsigned long) session;
-+
-+ skb_queue_head_init(&session->ctrl_transmit);
-+ skb_queue_head_init(&session->intr_transmit);
-+
-+ session->flags = req->flags & (1 << HIDP_BLUETOOTH_VENDOR_ID);
-+ session->idle_to = req->idle_to;
-+
-+ if (session->input)
-+ hidp_setup_input(session, req);
-+
-+ __hidp_link_session(session);
-+
-+ hidp_set_timer(session);
-+
-+ err = kernel_thread(hidp_session, session, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
-+ if (err < 0)
-+ goto unlink;
-+
-+ if (session->input) {
-+ hidp_send_message(session, 0x70);
-+ session->flags |= (1 << HIDP_BOOT_PROTOCOL_MODE);
-+
-+ session->leds = 0xff;
-+ hidp_input_event(session->input, EV_LED, 0, 0);
-+ }
-+
-+ up_write(&hidp_session_sem);
-+ return 0;
-+
-+unlink:
-+ hidp_del_timer(session);
-+
-+ __hidp_unlink_session(session);
-+
-+ if (session->input)
-+ input_unregister_device(session->input);
-+
-+failed:
-+ up_write(&hidp_session_sem);
-+
-+ if (session->input)
-+ kfree(session->input);
-+
-+ kfree(session);
-+ return err;
-+}
-+
-+int hidp_del_connection(struct hidp_conndel_req *req)
-+{
-+ struct hidp_session *session;
-+ int err = 0;
-+
-+ BT_DBG("");
-+
-+ down_read(&hidp_session_sem);
-+
-+ session = __hidp_get_session(&req->bdaddr);
-+ if (session) {
-+ if (req->flags & (1 << HIDP_VIRTUAL_CABLE_UNPLUG)) {
-+ hidp_send_message(session, 0x15);
-+ } else {
-+ /* Flush the transmit queues */
-+ skb_queue_purge(&session->ctrl_transmit);
-+ skb_queue_purge(&session->intr_transmit);
-+
-+ /* Kill session thread */
-+ atomic_inc(&session->terminate);
-+ hidp_schedule(session);
-+ }
-+ } else
-+ err = -ENOENT;
-+
-+ up_read(&hidp_session_sem);
-+ return err;
-+}
-+
-+int hidp_get_connlist(struct hidp_connlist_req *req)
-+{
-+ struct list_head *p;
-+ int err = 0, n = 0;
-+
-+ BT_DBG("");
-+
-+ down_read(&hidp_session_sem);
-+
-+ list_for_each(p, &hidp_session_list) {
-+ struct hidp_session *session;
-+ struct hidp_conninfo ci;
-+
-+ session = list_entry(p, struct hidp_session, list);
-+
-+ __hidp_copy_session(session, &ci);
-+
-+ if (copy_to_user(req->ci, &ci, sizeof(ci))) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ if (++n >= req->cnum)
-+ break;
-+
-+ req->ci++;
-+ }
-+ req->cnum = n;
-+
-+ up_read(&hidp_session_sem);
-+ return err;
-+}
-+
-+int hidp_get_conninfo(struct hidp_conninfo *ci)
-+{
-+ struct hidp_session *session;
-+ int err = 0;
-+
-+ down_read(&hidp_session_sem);
-+
-+ session = __hidp_get_session(&ci->bdaddr);
-+ if (session)
-+ __hidp_copy_session(session, ci);
-+ else
-+ err = -ENOENT;
-+
-+ up_read(&hidp_session_sem);
-+ return err;
-+}
-+
-+static int __init hidp_init(void)
-+{
-+ l2cap_load();
-+
-+ hidp_init_sockets();
-+
-+ BT_INFO("BlueZ HIDP ver %s", VERSION);
-+ BT_INFO("Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>");
-+
-+ return 0;
-+}
-+
-+static void __exit hidp_exit(void)
-+{
-+ hidp_cleanup_sockets();
-+}
-+
-+module_init(hidp_init);
-+module_exit(hidp_exit);
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("Bluetooth HIDP ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/hidp/hidp.h linux-2.4.18-mh15/net/bluetooth/hidp/hidp.h
---- linux-2.4.18/net/bluetooth/hidp/hidp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hidp/hidp.h 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,122 @@
-+/*
-+ HIDP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#ifndef __HIDP_H
-+#define __HIDP_H
-+
-+#include <linux/types.h>
-+#include <net/bluetooth/bluetooth.h>
-+
-+/* HIDP ioctl defines */
-+#define HIDPCONNADD _IOW('H', 200, int)
-+#define HIDPCONNDEL _IOW('H', 201, int)
-+#define HIDPGETCONNLIST _IOR('H', 210, int)
-+#define HIDPGETCONNINFO _IOR('H', 211, int)
-+
-+#define HIDP_VIRTUAL_CABLE_UNPLUG 0
-+#define HIDP_BOOT_PROTOCOL_MODE 1
-+#define HIDP_BLUETOOTH_VENDOR_ID 9
-+
-+struct hidp_connadd_req {
-+ int ctrl_sock; // Connected control socket
-+ int intr_sock; // Connteted interrupt socket
-+ __u16 parser;
-+ __u16 rd_size;
-+ __u8 *rd_data;
-+ __u8 country;
-+ __u8 subclass;
-+ __u16 vendor;
-+ __u16 product;
-+ __u16 version;
-+ __u32 flags;
-+ __u32 idle_to;
-+ char name[128];
-+};
-+
-+struct hidp_conndel_req {
-+ bdaddr_t bdaddr;
-+ __u32 flags;
-+};
-+
-+struct hidp_conninfo {
-+ bdaddr_t bdaddr;
-+ __u32 flags;
-+ __u16 state;
-+ __u16 vendor;
-+ __u16 product;
-+ __u16 version;
-+ char name[128];
-+};
-+
-+struct hidp_connlist_req {
-+ __u32 cnum;
-+ struct hidp_conninfo *ci;
-+};
-+
-+int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock, struct socket *intr_sock);
-+int hidp_del_connection(struct hidp_conndel_req *req);
-+int hidp_get_connlist(struct hidp_connlist_req *req);
-+int hidp_get_conninfo(struct hidp_conninfo *ci);
-+
-+/* HIDP session defines */
-+struct hidp_session {
-+ struct list_head list;
-+
-+ struct socket *ctrl_sock;
-+ struct socket *intr_sock;
-+
-+ bdaddr_t bdaddr;
-+
-+ unsigned long state;
-+ unsigned long flags;
-+ unsigned long idle_to;
-+
-+ uint ctrl_mtu;
-+ uint intr_mtu;
-+
-+ atomic_t terminate;
-+
-+ unsigned char keys[8];
-+ unsigned char leds;
-+
-+ struct input_dev *input;
-+
-+ struct timer_list timer;
-+
-+ struct sk_buff_head ctrl_transmit;
-+ struct sk_buff_head intr_transmit;
-+};
-+
-+static inline void hidp_schedule(struct hidp_session *session)
-+{
-+ struct sock *ctrl_sk = session->ctrl_sock->sk;
-+ struct sock *intr_sk = session->intr_sock->sk;
-+
-+ wake_up_interruptible(ctrl_sk->sleep);
-+ wake_up_interruptible(intr_sk->sleep);
-+}
-+
-+/* HIDP init defines */
-+extern int __init hidp_init_sockets(void);
-+extern void __exit hidp_cleanup_sockets(void);
-+
-+#endif /* __HIDP_H */
-diff -urN linux-2.4.18/net/bluetooth/hidp/Makefile linux-2.4.18-mh15/net/bluetooth/hidp/Makefile
---- linux-2.4.18/net/bluetooth/hidp/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hidp/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,10 @@
-+#
-+# Makefile for the Linux Bluetooth HIDP layer
-+#
-+
-+O_TARGET := hidp.o
-+
-+obj-y := core.o sock.o
-+obj-m += $(O_TARGET)
-+
-+include $(TOPDIR)/Rules.make
-diff -urN linux-2.4.18/net/bluetooth/hidp/sock.c linux-2.4.18-mh15/net/bluetooth/hidp/sock.c
---- linux-2.4.18/net/bluetooth/hidp/sock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/hidp/sock.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,212 @@
-+/*
-+ HIDP implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2003-2004 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/skbuff.h>
-+#include <linux/socket.h>
-+#include <linux/ioctl.h>
-+#include <linux/file.h>
-+#include <linux/init.h>
-+#include <net/sock.h>
-+
-+#include "hidp.h"
-+
-+#ifndef CONFIG_BT_HIDP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+static int hidp_sock_release(struct socket *sock)
-+{
-+ struct sock *sk = sock->sk;
-+
-+ BT_DBG("sock %p sk %p", sock, sk);
-+
-+ if (!sk)
-+ return 0;
-+
-+ sock_orphan(sk);
-+ sock_put(sk);
-+
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+static int hidp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-+{
-+ struct hidp_connadd_req ca;
-+ struct hidp_conndel_req cd;
-+ struct hidp_connlist_req cl;
-+ struct hidp_conninfo ci;
-+ struct socket *csock;
-+ struct socket *isock;
-+ int err;
-+
-+ BT_DBG("cmd %x arg %lx", cmd, arg);
-+
-+ switch (cmd) {
-+ case HIDPCONNADD:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-+
-+ if (copy_from_user(&ca, (void *) arg, sizeof(ca)))
-+ return -EFAULT;
-+
-+ csock = sockfd_lookup(ca.ctrl_sock, &err);
-+ if (!csock)
-+ return err;
-+
-+ isock = sockfd_lookup(ca.intr_sock, &err);
-+ if (!isock) {
-+ fput(csock->file);
-+ return err;
-+ }
-+
-+ if (csock->sk->state != BT_CONNECTED || isock->sk->state != BT_CONNECTED) {
-+ fput(csock->file);
-+ fput(isock->file);
-+ return -EBADFD;
-+ }
-+
-+ err = hidp_add_connection(&ca, csock, isock);
-+ if (!err) {
-+ if (copy_to_user((void *) arg, &ca, sizeof(ca)))
-+ err = -EFAULT;
-+ } else {
-+ fput(csock->file);
-+ fput(isock->file);
-+ }
-+
-+ return err;
-+
-+ case HIDPCONNDEL:
-+ if (!capable(CAP_NET_ADMIN))
-+ return -EACCES;
-+
-+ if (copy_from_user(&cd, (void *) arg, sizeof(cd)))
-+ return -EFAULT;
-+
-+ return hidp_del_connection(&cd);
-+
-+ case HIDPGETCONNLIST:
-+ if (copy_from_user(&cl, (void *) arg, sizeof(cl)))
-+ return -EFAULT;
-+
-+ if (cl.cnum <= 0)
-+ return -EINVAL;
-+
-+ err = hidp_get_connlist(&cl);
-+ if (!err && copy_to_user((void *) arg, &cl, sizeof(cl)))
-+ return -EFAULT;
-+
-+ return err;
-+
-+ case HIDPGETCONNINFO:
-+ if (copy_from_user(&ci, (void *) arg, sizeof(ci)))
-+ return -EFAULT;
-+
-+ err = hidp_get_conninfo(&ci);
-+ if (!err && copy_to_user((void *) arg, &ci, sizeof(ci)))
-+ return -EFAULT;
-+
-+ return err;
-+ }
-+
-+ return -EINVAL;
-+}
-+
-+static struct proto_ops hidp_sock_ops = {
-+ family: PF_BLUETOOTH,
-+ release: hidp_sock_release,
-+ ioctl: hidp_sock_ioctl,
-+ bind: sock_no_bind,
-+ getname: sock_no_getname,
-+ sendmsg: sock_no_sendmsg,
-+ recvmsg: sock_no_recvmsg,
-+ poll: sock_no_poll,
-+ listen: sock_no_listen,
-+ shutdown: sock_no_shutdown,
-+ setsockopt: sock_no_setsockopt,
-+ getsockopt: sock_no_getsockopt,
-+ connect: sock_no_connect,
-+ socketpair: sock_no_socketpair,
-+ accept: sock_no_accept,
-+ mmap: sock_no_mmap
-+};
-+
-+static int hidp_sock_create(struct socket *sock, int protocol)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("sock %p", sock);
-+
-+ if (sock->type != SOCK_RAW)
-+ return -ESOCKTNOSUPPORT;
-+
-+ sock->ops = &hidp_sock_ops;
-+
-+ if (!(sk = sk_alloc(PF_BLUETOOTH, GFP_KERNEL, 1)))
-+ return -ENOMEM;
-+
-+ MOD_INC_USE_COUNT;
-+
-+ sock->state = SS_UNCONNECTED;
-+ sock_init_data(sock, sk);
-+
-+ sk->destruct = NULL;
-+ sk->protocol = protocol;
-+
-+ return 0;
-+}
-+
-+static struct net_proto_family hidp_sock_family_ops = {
-+ family: PF_BLUETOOTH,
-+ create: hidp_sock_create
-+};
-+
-+int __init hidp_init_sockets(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_register(BTPROTO_HIDP, &hidp_sock_family_ops)))
-+ BT_ERR("Can't register HIDP socket layer (%d)", err);
-+
-+ return err;
-+}
-+
-+void __exit hidp_cleanup_sockets(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_unregister(BTPROTO_HIDP)))
-+ BT_ERR("Can't unregister HIDP socket layer (%d)", err);
-+}
-diff -urN linux-2.4.18/net/bluetooth/l2cap.c linux-2.4.18-mh15/net/bluetooth/l2cap.c
---- linux-2.4.18/net/bluetooth/l2cap.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/l2cap.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,2222 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * BlueZ L2CAP core and sockets.
-+ *
-+ * $Id: l2cap.c,v 1.15 2002/09/09 01:14:52 maxk Exp $
-+ */
-+#define VERSION "2.3"
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/init.h>
-+#include <linux/skbuff.h>
-+#include <linux/interrupt.h>
-+#include <linux/socket.h>
-+#include <linux/skbuff.h>
-+#include <linux/proc_fs.h>
-+#include <linux/list.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+#include <asm/unaligned.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+#include <net/bluetooth/l2cap.h>
-+
-+#ifndef L2CAP_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-+
-+static struct proto_ops l2cap_sock_ops;
-+
-+struct bluez_sock_list l2cap_sk_list = {
-+ lock: RW_LOCK_UNLOCKED
-+};
-+
-+static int l2cap_conn_del(struct hci_conn *conn, int err);
-+
-+static inline void l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent);
-+static void l2cap_chan_del(struct sock *sk, int err);
-+static int l2cap_chan_send(struct sock *sk, struct msghdr *msg, int len);
-+
-+static void __l2cap_sock_close(struct sock *sk, int reason);
-+static void l2cap_sock_close(struct sock *sk);
-+static void l2cap_sock_kill(struct sock *sk);
-+
-+static int l2cap_send_req(struct l2cap_conn *conn, __u8 code, __u16 len, void *data);
-+static int l2cap_send_rsp(struct l2cap_conn *conn, __u8 ident, __u8 code, __u16 len, void *data);
-+
-+/* ----- L2CAP timers ------ */
-+static void l2cap_sock_timeout(unsigned long arg)
-+{
-+ struct sock *sk = (struct sock *) arg;
-+
-+ BT_DBG("sock %p state %d", sk, sk->state);
-+
-+ bh_lock_sock(sk);
-+ __l2cap_sock_close(sk, ETIMEDOUT);
-+ bh_unlock_sock(sk);
-+
-+ l2cap_sock_kill(sk);
-+ sock_put(sk);
-+}
-+
-+static void l2cap_sock_set_timer(struct sock *sk, long timeout)
-+{
-+ BT_DBG("sk %p state %d timeout %ld", sk, sk->state, timeout);
-+
-+ if (!mod_timer(&sk->timer, jiffies + timeout))
-+ sock_hold(sk);
-+}
-+
-+static void l2cap_sock_clear_timer(struct sock *sk)
-+{
-+ BT_DBG("sock %p state %d", sk, sk->state);
-+
-+ if (timer_pending(&sk->timer) && del_timer(&sk->timer))
-+ __sock_put(sk);
-+}
-+
-+static void l2cap_sock_init_timer(struct sock *sk)
-+{
-+ init_timer(&sk->timer);
-+ sk->timer.function = l2cap_sock_timeout;
-+ sk->timer.data = (unsigned long)sk;
-+}
-+
-+/* -------- L2CAP connections --------- */
-+static struct l2cap_conn *l2cap_conn_add(struct hci_conn *hcon, __u8 status)
-+{
-+ struct l2cap_conn *conn;
-+
-+ if ((conn = hcon->l2cap_data))
-+ return conn;
-+
-+ if (status)
-+ return conn;
-+
-+ if (!(conn = kmalloc(sizeof(struct l2cap_conn), GFP_ATOMIC)))
-+ return NULL;
-+ memset(conn, 0, sizeof(struct l2cap_conn));
-+
-+ hcon->l2cap_data = conn;
-+ conn->hcon = hcon;
-+
-+ conn->mtu = hcon->hdev->acl_mtu;
-+ conn->src = &hcon->hdev->bdaddr;
-+ conn->dst = &hcon->dst;
-+
-+ spin_lock_init(&conn->lock);
-+ conn->chan_list.lock = RW_LOCK_UNLOCKED;
-+
-+ BT_DBG("hcon %p conn %p", hcon, conn);
-+
-+ MOD_INC_USE_COUNT;
-+ return conn;
-+}
-+
-+static int l2cap_conn_del(struct hci_conn *hcon, int err)
-+{
-+ struct l2cap_conn *conn;
-+ struct sock *sk;
-+
-+ if (!(conn = hcon->l2cap_data))
-+ return 0;
-+
-+ BT_DBG("hcon %p conn %p, err %d", hcon, conn, err);
-+
-+ if (conn->rx_skb)
-+ kfree_skb(conn->rx_skb);
-+
-+ /* Kill channels */
-+ while ((sk = conn->chan_list.head)) {
-+ bh_lock_sock(sk);
-+ l2cap_chan_del(sk, err);
-+ bh_unlock_sock(sk);
-+ l2cap_sock_kill(sk);
-+ }
-+
-+ hcon->l2cap_data = NULL;
-+ kfree(conn);
-+
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+/* -------- Socket interface ---------- */
-+static struct sock *__l2cap_get_sock_by_addr(__u16 psm, bdaddr_t *src)
-+{
-+ struct sock *sk;
-+ for (sk = l2cap_sk_list.head; sk; sk = sk->next) {
-+ if (sk->sport == psm && !bacmp(&bluez_pi(sk)->src, src))
-+ break;
-+ }
-+ return sk;
-+}
-+
-+/* Find socket with psm and source bdaddr.
-+ * Returns closest match.
-+ */
-+static struct sock *__l2cap_get_sock_by_psm(int state, __u16 psm, bdaddr_t *src)
-+{
-+ struct sock *sk, *sk1 = NULL;
-+
-+ for (sk = l2cap_sk_list.head; sk; sk = sk->next) {
-+ if (state && sk->state != state)
-+ continue;
-+
-+ if (l2cap_pi(sk)->psm == psm) {
-+ /* Exact match. */
-+ if (!bacmp(&bluez_pi(sk)->src, src))
-+ break;
-+
-+ /* Closest match */
-+ if (!bacmp(&bluez_pi(sk)->src, BDADDR_ANY))
-+ sk1 = sk;
-+ }
-+ }
-+ return sk ? sk : sk1;
-+}
-+
-+/* Find socket with given address (psm, src).
-+ * Returns locked socket */
-+static inline struct sock *l2cap_get_sock_by_psm(int state, __u16 psm, bdaddr_t *src)
-+{
-+ struct sock *s;
-+ read_lock(&l2cap_sk_list.lock);
-+ s = __l2cap_get_sock_by_psm(state, psm, src);
-+ if (s) bh_lock_sock(s);
-+ read_unlock(&l2cap_sk_list.lock);
-+ return s;
-+}
-+
-+static void l2cap_sock_destruct(struct sock *sk)
-+{
-+ BT_DBG("sk %p", sk);
-+
-+ skb_queue_purge(&sk->receive_queue);
-+ skb_queue_purge(&sk->write_queue);
-+
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static void l2cap_sock_cleanup_listen(struct sock *parent)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("parent %p", parent);
-+
-+ /* Close not yet accepted channels */
-+ while ((sk = bluez_accept_dequeue(parent, NULL)))
-+ l2cap_sock_close(sk);
-+
-+ parent->state = BT_CLOSED;
-+ parent->zapped = 1;
-+}
-+
-+/* Kill socket (only if zapped and orphan)
-+ * Must be called on unlocked socket.
-+ */
-+static void l2cap_sock_kill(struct sock *sk)
-+{
-+ if (!sk->zapped || sk->socket)
-+ return;
-+
-+ BT_DBG("sk %p state %d", sk, sk->state);
-+
-+ /* Kill poor orphan */
-+ bluez_sock_unlink(&l2cap_sk_list, sk);
-+ sk->dead = 1;
-+ sock_put(sk);
-+}
-+
-+/* Close socket.
-+ */
-+static void __l2cap_sock_close(struct sock *sk, int reason)
-+{
-+ BT_DBG("sk %p state %d socket %p", sk, sk->state, sk->socket);
-+
-+ switch (sk->state) {
-+ case BT_LISTEN:
-+ l2cap_sock_cleanup_listen(sk);
-+ break;
-+
-+ case BT_CONNECTED:
-+ case BT_CONFIG:
-+ case BT_CONNECT2:
-+ if (sk->type == SOCK_SEQPACKET) {
-+ struct l2cap_conn *conn = l2cap_pi(sk)->conn;
-+ l2cap_disconn_req req;
-+
-+ sk->state = BT_DISCONN;
-+ l2cap_sock_set_timer(sk, sk->sndtimeo);
-+
-+ req.dcid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ l2cap_send_req(conn, L2CAP_DISCONN_REQ, L2CAP_DISCONN_REQ_SIZE, &req);
-+ } else {
-+ l2cap_chan_del(sk, reason);
-+ }
-+ break;
-+
-+ case BT_CONNECT:
-+ case BT_DISCONN:
-+ l2cap_chan_del(sk, reason);
-+ break;
-+
-+ default:
-+ sk->zapped = 1;
-+ break;
-+ };
-+}
-+
-+/* Must be called on unlocked socket. */
-+static void l2cap_sock_close(struct sock *sk)
-+{
-+ l2cap_sock_clear_timer(sk);
-+ lock_sock(sk);
-+ __l2cap_sock_close(sk, ECONNRESET);
-+ release_sock(sk);
-+ l2cap_sock_kill(sk);
-+}
-+
-+static void l2cap_sock_init(struct sock *sk, struct sock *parent)
-+{
-+ struct l2cap_pinfo *pi = l2cap_pi(sk);
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (parent) {
-+ sk->type = parent->type;
-+ pi->imtu = l2cap_pi(parent)->imtu;
-+ pi->omtu = l2cap_pi(parent)->omtu;
-+ pi->link_mode = l2cap_pi(parent)->link_mode;
-+ } else {
-+ pi->imtu = L2CAP_DEFAULT_MTU;
-+ pi->omtu = 0;
-+ pi->link_mode = 0;
-+ }
-+
-+ /* Default config options */
-+ pi->conf_mtu = L2CAP_DEFAULT_MTU;
-+ pi->flush_to = L2CAP_DEFAULT_FLUSH_TO;
-+}
-+
-+static struct sock *l2cap_sock_alloc(struct socket *sock, int proto, int prio)
-+{
-+ struct sock *sk;
-+
-+ if (!(sk = sk_alloc(PF_BLUETOOTH, prio, 1)))
-+ return NULL;
-+
-+ bluez_sock_init(sock, sk);
-+
-+ sk->zapped = 0;
-+
-+ sk->destruct = l2cap_sock_destruct;
-+ sk->sndtimeo = L2CAP_CONN_TIMEOUT;
-+
-+ sk->protocol = proto;
-+ sk->state = BT_OPEN;
-+
-+ l2cap_sock_init_timer(sk);
-+
-+ bluez_sock_link(&l2cap_sk_list, sk);
-+
-+ MOD_INC_USE_COUNT;
-+ return sk;
-+}
-+
-+static int l2cap_sock_create(struct socket *sock, int protocol)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("sock %p", sock);
-+
-+ sock->state = SS_UNCONNECTED;
-+
-+ if (sock->type != SOCK_SEQPACKET && sock->type != SOCK_DGRAM && sock->type != SOCK_RAW)
-+ return -ESOCKTNOSUPPORT;
-+
-+ if (sock->type == SOCK_RAW && !capable(CAP_NET_RAW))
-+ return -EPERM;
-+
-+ sock->ops = &l2cap_sock_ops;
-+
-+ if (!(sk = l2cap_sock_alloc(sock, protocol, GFP_KERNEL)))
-+ return -ENOMEM;
-+
-+ l2cap_sock_init(sk, NULL);
-+ return 0;
-+}
-+
-+static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
-+{
-+ struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr;
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p, %s %d", sk, batostr(&la->l2_bdaddr), la->l2_psm);
-+
-+ if (!addr || addr->sa_family != AF_BLUETOOTH)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_OPEN) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ write_lock_bh(&l2cap_sk_list.lock);
-+ if (la->l2_psm && __l2cap_get_sock_by_addr(la->l2_psm, &la->l2_bdaddr)) {
-+ err = -EADDRINUSE;
-+ } else {
-+ /* Save source address */
-+ bacpy(&bluez_pi(sk)->src, &la->l2_bdaddr);
-+ l2cap_pi(sk)->psm = la->l2_psm;
-+ sk->sport = la->l2_psm;
-+ sk->state = BT_BOUND;
-+ }
-+ write_unlock_bh(&l2cap_sk_list.lock);
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int l2cap_do_connect(struct sock *sk)
-+{
-+ bdaddr_t *src = &bluez_pi(sk)->src;
-+ bdaddr_t *dst = &bluez_pi(sk)->dst;
-+ struct l2cap_conn *conn;
-+ struct hci_conn *hcon;
-+ struct hci_dev *hdev;
-+ int err = 0;
-+
-+ BT_DBG("%s -> %s psm 0x%2.2x", batostr(src), batostr(dst), l2cap_pi(sk)->psm);
-+
-+ if (!(hdev = hci_get_route(dst, src)))
-+ return -EHOSTUNREACH;
-+
-+ hci_dev_lock_bh(hdev);
-+
-+ err = -ENOMEM;
-+
-+ hcon = hci_connect(hdev, ACL_LINK, dst);
-+ if (!hcon)
-+ goto done;
-+
-+ conn = l2cap_conn_add(hcon, 0);
-+ if (!conn) {
-+ hci_conn_put(hcon);
-+ goto done;
-+ }
-+
-+ err = 0;
-+
-+ /* Update source addr of the socket */
-+ bacpy(src, conn->src);
-+
-+ l2cap_chan_add(conn, sk, NULL);
-+
-+ sk->state = BT_CONNECT;
-+ l2cap_sock_set_timer(sk, sk->sndtimeo);
-+
-+ if (hcon->state == BT_CONNECTED) {
-+ if (sk->type == SOCK_SEQPACKET) {
-+ l2cap_conn_req req;
-+ req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ req.psm = l2cap_pi(sk)->psm;
-+ l2cap_send_req(conn, L2CAP_CONN_REQ, L2CAP_CONN_REQ_SIZE, &req);
-+ } else {
-+ l2cap_sock_clear_timer(sk);
-+ sk->state = BT_CONNECTED;
-+ }
-+ }
-+
-+done:
-+ hci_dev_unlock_bh(hdev);
-+ hci_dev_put(hdev);
-+ return err;
-+}
-+
-+static int l2cap_sock_connect(struct socket *sock, struct sockaddr *addr, int alen, int flags)
-+{
-+ struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr;
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ lock_sock(sk);
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (addr->sa_family != AF_BLUETOOTH || alen < sizeof(struct sockaddr_l2)) {
-+ err = -EINVAL;
-+ goto done;
-+ }
-+
-+ if (sk->type == SOCK_SEQPACKET && !la->l2_psm) {
-+ err = -EINVAL;
-+ goto done;
-+ }
-+
-+ switch(sk->state) {
-+ case BT_CONNECT:
-+ case BT_CONNECT2:
-+ case BT_CONFIG:
-+ /* Already connecting */
-+ goto wait;
-+
-+ case BT_CONNECTED:
-+ /* Already connected */
-+ goto done;
-+
-+ case BT_OPEN:
-+ case BT_BOUND:
-+ /* Can connect */
-+ break;
-+
-+ default:
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ /* Set destination address and psm */
-+ bacpy(&bluez_pi(sk)->dst, &la->l2_bdaddr);
-+ l2cap_pi(sk)->psm = la->l2_psm;
-+
-+ if ((err = l2cap_do_connect(sk)))
-+ goto done;
-+
-+wait:
-+ err = bluez_sock_wait_state(sk, BT_CONNECTED,
-+ sock_sndtimeo(sk, flags & O_NONBLOCK));
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int l2cap_sock_listen(struct socket *sock, int backlog)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p backlog %d", sk, backlog);
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_BOUND || sock->type != SOCK_SEQPACKET) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ if (!l2cap_pi(sk)->psm) {
-+ err = -EINVAL;
-+ goto done;
-+ }
-+
-+ sk->max_ack_backlog = backlog;
-+ sk->ack_backlog = 0;
-+ sk->state = BT_LISTEN;
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int l2cap_sock_accept(struct socket *sock, struct socket *newsock, int flags)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ struct sock *sk = sock->sk, *nsk;
-+ long timeo;
-+ int err = 0;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_LISTEN) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+
-+ BT_DBG("sk %p timeo %ld", sk, timeo);
-+
-+ /* Wait for an incoming connection. (wake-one). */
-+ add_wait_queue_exclusive(sk->sleep, &wait);
-+ while (!(nsk = bluez_accept_dequeue(sk, newsock))) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ if (!timeo) {
-+ err = -EAGAIN;
-+ break;
-+ }
-+
-+ release_sock(sk);
-+ timeo = schedule_timeout(timeo);
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_LISTEN) {
-+ err = -EBADFD;
-+ break;
-+ }
-+
-+ if (signal_pending(current)) {
-+ err = sock_intr_errno(timeo);
-+ break;
-+ }
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+
-+ if (err)
-+ goto done;
-+
-+ newsock->state = SS_CONNECTED;
-+
-+ BT_DBG("new socket %p", nsk);
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int l2cap_sock_getname(struct socket *sock, struct sockaddr *addr, int *len, int peer)
-+{
-+ struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr;
-+ struct sock *sk = sock->sk;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ addr->sa_family = AF_BLUETOOTH;
-+ *len = sizeof(struct sockaddr_l2);
-+
-+ if (peer)
-+ bacpy(&la->l2_bdaddr, &bluez_pi(sk)->dst);
-+ else
-+ bacpy(&la->l2_bdaddr, &bluez_pi(sk)->src);
-+
-+ la->l2_psm = l2cap_pi(sk)->psm;
-+ return 0;
-+}
-+
-+static int l2cap_sock_sendmsg(struct socket *sock, struct msghdr *msg, int len, struct scm_cookie *scm)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (sk->err)
-+ return sock_error(sk);
-+
-+ if (msg->msg_flags & MSG_OOB)
-+ return -EOPNOTSUPP;
-+
-+ /* Check outgoing MTU */
-+ if (len > l2cap_pi(sk)->omtu)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state == BT_CONNECTED)
-+ err = l2cap_chan_send(sk, msg, len);
-+ else
-+ err = -ENOTCONN;
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, char *optval, int optlen)
-+{
-+ struct sock *sk = sock->sk;
-+ struct l2cap_options opts;
-+ int err = 0, len;
-+ __u32 opt;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ lock_sock(sk);
-+
-+ switch (optname) {
-+ case L2CAP_OPTIONS:
-+ len = MIN(sizeof(opts), optlen);
-+ if (copy_from_user((char *)&opts, optval, len)) {
-+ err = -EFAULT;
-+ break;
-+ }
-+ l2cap_pi(sk)->imtu = opts.imtu;
-+ l2cap_pi(sk)->omtu = opts.omtu;
-+ break;
-+
-+ case L2CAP_LM:
-+ if (get_user(opt, (__u32 *)optval)) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ l2cap_pi(sk)->link_mode = opt;
-+ break;
-+
-+ default:
-+ err = -ENOPROTOOPT;
-+ break;
-+ }
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int l2cap_sock_getsockopt(struct socket *sock, int level, int optname, char *optval, int *optlen)
-+{
-+ struct sock *sk = sock->sk;
-+ struct l2cap_options opts;
-+ struct l2cap_conninfo cinfo;
-+ int len, err = 0;
-+
-+ if (get_user(len, optlen))
-+ return -EFAULT;
-+
-+ lock_sock(sk);
-+
-+ switch (optname) {
-+ case L2CAP_OPTIONS:
-+ opts.imtu = l2cap_pi(sk)->imtu;
-+ opts.omtu = l2cap_pi(sk)->omtu;
-+ opts.flush_to = l2cap_pi(sk)->flush_to;
-+
-+ len = MIN(len, sizeof(opts));
-+ if (copy_to_user(optval, (char *)&opts, len))
-+ err = -EFAULT;
-+
-+ break;
-+
-+ case L2CAP_LM:
-+ if (put_user(l2cap_pi(sk)->link_mode, (__u32 *)optval))
-+ err = -EFAULT;
-+ break;
-+
-+ case L2CAP_CONNINFO:
-+ if (sk->state != BT_CONNECTED) {
-+ err = -ENOTCONN;
-+ break;
-+ }
-+
-+ cinfo.hci_handle = l2cap_pi(sk)->conn->hcon->handle;
-+
-+ len = MIN(len, sizeof(cinfo));
-+ if (copy_to_user(optval, (char *)&cinfo, len))
-+ err = -EFAULT;
-+
-+ break;
-+
-+ default:
-+ err = -ENOPROTOOPT;
-+ break;
-+ }
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int l2cap_sock_shutdown(struct socket *sock, int how)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (!sk) return 0;
-+
-+ lock_sock(sk);
-+ if (!sk->shutdown) {
-+ sk->shutdown = SHUTDOWN_MASK;
-+ l2cap_sock_clear_timer(sk);
-+ __l2cap_sock_close(sk, 0);
-+
-+ if (sk->linger)
-+ err = bluez_sock_wait_state(sk, BT_CLOSED, sk->lingertime);
-+ }
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int l2cap_sock_release(struct socket *sock)
-+{
-+ struct sock *sk = sock->sk;
-+ int err;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (!sk) return 0;
-+
-+ err = l2cap_sock_shutdown(sock, 2);
-+
-+ sock_orphan(sk);
-+ l2cap_sock_kill(sk);
-+ return err;
-+}
-+
-+/* --------- L2CAP channels --------- */
-+static struct sock * __l2cap_get_chan_by_dcid(struct l2cap_chan_list *l, __u16 cid)
-+{
-+ struct sock *s;
-+ for (s = l->head; s; s = l2cap_pi(s)->next_c) {
-+ if (l2cap_pi(s)->dcid == cid)
-+ break;
-+ }
-+ return s;
-+}
-+
-+static struct sock *__l2cap_get_chan_by_scid(struct l2cap_chan_list *l, __u16 cid)
-+{
-+ struct sock *s;
-+ for (s = l->head; s; s = l2cap_pi(s)->next_c) {
-+ if (l2cap_pi(s)->scid == cid)
-+ break;
-+ }
-+ return s;
-+}
-+
-+/* Find channel with given SCID.
-+ * Returns locked socket */
-+static inline struct sock *l2cap_get_chan_by_scid(struct l2cap_chan_list *l, __u16 cid)
-+{
-+ struct sock *s;
-+ read_lock(&l->lock);
-+ s = __l2cap_get_chan_by_scid(l, cid);
-+ if (s) bh_lock_sock(s);
-+ read_unlock(&l->lock);
-+ return s;
-+}
-+
-+static __u16 l2cap_alloc_cid(struct l2cap_chan_list *l)
-+{
-+ __u16 cid = 0x0040;
-+
-+ for (; cid < 0xffff; cid++) {
-+ if(!__l2cap_get_chan_by_scid(l, cid))
-+ return cid;
-+ }
-+
-+ return 0;
-+}
-+
-+static inline void __l2cap_chan_link(struct l2cap_chan_list *l, struct sock *sk)
-+{
-+ sock_hold(sk);
-+
-+ if (l->head)
-+ l2cap_pi(l->head)->prev_c = sk;
-+
-+ l2cap_pi(sk)->next_c = l->head;
-+ l2cap_pi(sk)->prev_c = NULL;
-+ l->head = sk;
-+}
-+
-+static inline void l2cap_chan_unlink(struct l2cap_chan_list *l, struct sock *sk)
-+{
-+ struct sock *next = l2cap_pi(sk)->next_c, *prev = l2cap_pi(sk)->prev_c;
-+
-+ write_lock(&l->lock);
-+ if (sk == l->head)
-+ l->head = next;
-+
-+ if (next)
-+ l2cap_pi(next)->prev_c = prev;
-+ if (prev)
-+ l2cap_pi(prev)->next_c = next;
-+ write_unlock(&l->lock);
-+
-+ __sock_put(sk);
-+}
-+
-+static void __l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent)
-+{
-+ struct l2cap_chan_list *l = &conn->chan_list;
-+
-+ BT_DBG("conn %p, psm 0x%2.2x, dcid 0x%4.4x", conn, l2cap_pi(sk)->psm, l2cap_pi(sk)->dcid);
-+
-+ l2cap_pi(sk)->conn = conn;
-+
-+ if (sk->type == SOCK_SEQPACKET) {
-+ /* Alloc CID for connection-oriented socket */
-+ l2cap_pi(sk)->scid = l2cap_alloc_cid(l);
-+ } else if (sk->type == SOCK_DGRAM) {
-+ /* Connectionless socket */
-+ l2cap_pi(sk)->scid = 0x0002;
-+ l2cap_pi(sk)->dcid = 0x0002;
-+ l2cap_pi(sk)->omtu = L2CAP_DEFAULT_MTU;
-+ } else {
-+ /* Raw socket can send/recv signalling messages only */
-+ l2cap_pi(sk)->scid = 0x0001;
-+ l2cap_pi(sk)->dcid = 0x0001;
-+ l2cap_pi(sk)->omtu = L2CAP_DEFAULT_MTU;
-+ }
-+
-+ __l2cap_chan_link(l, sk);
-+
-+ if (parent)
-+ bluez_accept_enqueue(parent, sk);
-+}
-+
-+static inline void l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent)
-+{
-+ struct l2cap_chan_list *l = &conn->chan_list;
-+ write_lock(&l->lock);
-+ __l2cap_chan_add(conn, sk, parent);
-+ write_unlock(&l->lock);
-+}
-+
-+/* Delete channel.
-+ * Must be called on the locked socket. */
-+static void l2cap_chan_del(struct sock *sk, int err)
-+{
-+ struct l2cap_conn *conn = l2cap_pi(sk)->conn;
-+ struct sock *parent = bluez_pi(sk)->parent;
-+
-+ l2cap_sock_clear_timer(sk);
-+
-+ BT_DBG("sk %p, conn %p, err %d", sk, conn, err);
-+
-+ if (conn) {
-+ /* Unlink from channel list */
-+ l2cap_chan_unlink(&conn->chan_list, sk);
-+ l2cap_pi(sk)->conn = NULL;
-+ hci_conn_put(conn->hcon);
-+ }
-+
-+ sk->state = BT_CLOSED;
-+ sk->zapped = 1;
-+
-+ if (err)
-+ sk->err = err;
-+
-+ if (parent)
-+ parent->data_ready(parent, 0);
-+ else
-+ sk->state_change(sk);
-+}
-+
-+static void l2cap_conn_ready(struct l2cap_conn *conn)
-+{
-+ struct l2cap_chan_list *l = &conn->chan_list;
-+ struct sock *sk;
-+
-+ BT_DBG("conn %p", conn);
-+
-+ read_lock(&l->lock);
-+
-+ for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-+ bh_lock_sock(sk);
-+
-+ if (sk->type != SOCK_SEQPACKET) {
-+ l2cap_sock_clear_timer(sk);
-+ sk->state = BT_CONNECTED;
-+ sk->state_change(sk);
-+ } else if (sk->state == BT_CONNECT) {
-+ l2cap_conn_req req;
-+ req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ req.psm = l2cap_pi(sk)->psm;
-+ l2cap_send_req(conn, L2CAP_CONN_REQ, L2CAP_CONN_REQ_SIZE, &req);
-+ }
-+
-+ bh_unlock_sock(sk);
-+ }
-+
-+ read_unlock(&l->lock);
-+}
-+
-+/* Notify sockets that we cannot guaranty reliability anymore */
-+static void l2cap_conn_unreliable(struct l2cap_conn *conn, int err)
-+{
-+ struct l2cap_chan_list *l = &conn->chan_list;
-+ struct sock *sk;
-+
-+ BT_DBG("conn %p", conn);
-+
-+ read_lock(&l->lock);
-+ for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-+ if (l2cap_pi(sk)->link_mode & L2CAP_LM_RELIABLE)
-+ sk->err = err;
-+ }
-+ read_unlock(&l->lock);
-+}
-+
-+static void l2cap_chan_ready(struct sock *sk)
-+{
-+ struct sock *parent = bluez_pi(sk)->parent;
-+
-+ BT_DBG("sk %p, parent %p", sk, parent);
-+
-+ l2cap_pi(sk)->conf_state = 0;
-+ l2cap_sock_clear_timer(sk);
-+
-+ if (!parent) {
-+ /* Outgoing channel.
-+ * Wake up socket sleeping on connect.
-+ */
-+ sk->state = BT_CONNECTED;
-+ sk->state_change(sk);
-+ } else {
-+ /* Incomming channel.
-+ * Wake up socket sleeping on accept.
-+ */
-+ parent->data_ready(parent, 0);
-+ }
-+}
-+
-+/* Copy frame to all raw sockets on that connection */
-+void l2cap_raw_recv(struct l2cap_conn *conn, struct sk_buff *skb)
-+{
-+ struct l2cap_chan_list *l = &conn->chan_list;
-+ struct sk_buff *nskb;
-+ struct sock * sk;
-+
-+ BT_DBG("conn %p", conn);
-+
-+ read_lock(&l->lock);
-+ for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-+ if (sk->type != SOCK_RAW)
-+ continue;
-+
-+ /* Don't send frame to the socket it came from */
-+ if (skb->sk == sk)
-+ continue;
-+
-+ if (!(nskb = skb_clone(skb, GFP_ATOMIC)))
-+ continue;
-+
-+ if (sock_queue_rcv_skb(sk, nskb))
-+ kfree_skb(nskb);
-+ }
-+ read_unlock(&l->lock);
-+}
-+
-+static int l2cap_chan_send(struct sock *sk, struct msghdr *msg, int len)
-+{
-+ struct l2cap_conn *conn = l2cap_pi(sk)->conn;
-+ struct sk_buff *skb, **frag;
-+ int err, hlen, count, sent=0;
-+ l2cap_hdr *lh;
-+
-+ BT_DBG("sk %p len %d", sk, len);
-+
-+ /* First fragment (with L2CAP header) */
-+ if (sk->type == SOCK_DGRAM)
-+ hlen = L2CAP_HDR_SIZE + 2;
-+ else
-+ hlen = L2CAP_HDR_SIZE;
-+
-+ count = MIN(conn->mtu - hlen, len);
-+
-+ skb = bluez_skb_send_alloc(sk, hlen + count,
-+ msg->msg_flags & MSG_DONTWAIT, &err);
-+ if (!skb)
-+ return err;
-+
-+ /* Create L2CAP header */
-+ lh = (l2cap_hdr *) skb_put(skb, L2CAP_HDR_SIZE);
-+ lh->cid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ lh->len = __cpu_to_le16(len + (hlen - L2CAP_HDR_SIZE));
-+
-+ if (sk->type == SOCK_DGRAM)
-+ put_unaligned(l2cap_pi(sk)->psm, (__u16 *) skb_put(skb, 2));
-+
-+ if (memcpy_fromiovec(skb_put(skb, count), msg->msg_iov, count)) {
-+ err = -EFAULT;
-+ goto fail;
-+ }
-+
-+ sent += count;
-+ len -= count;
-+
-+ /* Continuation fragments (no L2CAP header) */
-+ frag = &skb_shinfo(skb)->frag_list;
-+ while (len) {
-+ count = MIN(conn->mtu, len);
-+
-+ *frag = bluez_skb_send_alloc(sk, count, msg->msg_flags & MSG_DONTWAIT, &err);
-+ if (!*frag)
-+ goto fail;
-+
-+ if (memcpy_fromiovec(skb_put(*frag, count), msg->msg_iov, count)) {
-+ err = -EFAULT;
-+ goto fail;
-+ }
-+
-+ sent += count;
-+ len -= count;
-+
-+ frag = &(*frag)->next;
-+ }
-+
-+ if ((err = hci_send_acl(conn->hcon, skb, 0)) < 0)
-+ goto fail;
-+
-+ return sent;
-+
-+fail:
-+ kfree_skb(skb);
-+ return err;
-+}
-+
-+/* --------- L2CAP signalling commands --------- */
-+static inline __u8 l2cap_get_ident(struct l2cap_conn *conn)
-+{
-+ __u8 id;
-+
-+ /* Get next available identificator.
-+ * 1 - 199 are used by kernel.
-+ * 200 - 254 are used by utilities like l2ping, etc
-+ */
-+
-+ spin_lock(&conn->lock);
-+
-+ if (++conn->tx_ident > 199)
-+ conn->tx_ident = 1;
-+
-+ id = conn->tx_ident;
-+
-+ spin_unlock(&conn->lock);
-+
-+ return id;
-+}
-+
-+static struct sk_buff *l2cap_build_cmd(struct l2cap_conn *conn,
-+ __u8 code, __u8 ident, __u16 dlen, void *data)
-+{
-+ struct sk_buff *skb, **frag;
-+ l2cap_cmd_hdr *cmd;
-+ l2cap_hdr *lh;
-+ int len, count;
-+
-+ BT_DBG("conn %p, code 0x%2.2x, ident 0x%2.2x, len %d", conn, code, ident, dlen);
-+
-+ len = L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE + dlen;
-+ count = MIN(conn->mtu, len);
-+
-+ skb = bluez_skb_alloc(count, GFP_ATOMIC);
-+ if (!skb)
-+ return NULL;
-+
-+ lh = (l2cap_hdr *) skb_put(skb, L2CAP_HDR_SIZE);
-+ lh->len = __cpu_to_le16(L2CAP_CMD_HDR_SIZE + dlen);
-+ lh->cid = __cpu_to_le16(0x0001);
-+
-+ cmd = (l2cap_cmd_hdr *) skb_put(skb, L2CAP_CMD_HDR_SIZE);
-+ cmd->code = code;
-+ cmd->ident = ident;
-+ cmd->len = __cpu_to_le16(dlen);
-+
-+ if (dlen) {
-+ count -= L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE;
-+ memcpy(skb_put(skb, count), data, count);
-+ data += count;
-+ }
-+
-+ len -= skb->len;
-+
-+ /* Continuation fragments (no L2CAP header) */
-+ frag = &skb_shinfo(skb)->frag_list;
-+ while (len) {
-+ count = MIN(conn->mtu, len);
-+
-+ *frag = bluez_skb_alloc(count, GFP_ATOMIC);
-+ if (!*frag)
-+ goto fail;
-+
-+ memcpy(skb_put(*frag, count), data, count);
-+
-+ len -= count;
-+ data += count;
-+
-+ frag = &(*frag)->next;
-+ }
-+
-+ return skb;
-+
-+fail:
-+ kfree_skb(skb);
-+ return NULL;
-+}
-+
-+static int l2cap_send_req(struct l2cap_conn *conn, __u8 code, __u16 len, void *data)
-+{
-+ __u8 ident = l2cap_get_ident(conn);
-+ struct sk_buff *skb = l2cap_build_cmd(conn, code, ident, len, data);
-+
-+ BT_DBG("code 0x%2.2x", code);
-+
-+ if (!skb)
-+ return -ENOMEM;
-+ return hci_send_acl(conn->hcon, skb, 0);
-+}
-+
-+static int l2cap_send_rsp(struct l2cap_conn *conn, __u8 ident, __u8 code, __u16 len, void *data)
-+{
-+ struct sk_buff *skb = l2cap_build_cmd(conn, code, ident, len, data);
-+
-+ BT_DBG("code 0x%2.2x", code);
-+
-+ if (!skb)
-+ return -ENOMEM;
-+ return hci_send_acl(conn->hcon, skb, 0);
-+}
-+
-+static inline int l2cap_get_conf_opt(void **ptr, int *type, int *olen, unsigned long *val)
-+{
-+ l2cap_conf_opt *opt = *ptr;
-+ int len;
-+
-+ len = L2CAP_CONF_OPT_SIZE + opt->len;
-+ *ptr += len;
-+
-+ *type = opt->type;
-+ *olen = opt->len;
-+
-+ switch (opt->len) {
-+ case 1:
-+ *val = *((__u8 *) opt->val);
-+ break;
-+
-+ case 2:
-+ *val = __le16_to_cpu(*((__u16 *)opt->val));
-+ break;
-+
-+ case 4:
-+ *val = __le32_to_cpu(*((__u32 *)opt->val));
-+ break;
-+
-+ default:
-+ *val = (unsigned long) opt->val;
-+ break;
-+ };
-+
-+ BT_DBG("type 0x%2.2x len %d val 0x%lx", *type, opt->len, *val);
-+ return len;
-+}
-+
-+static inline void l2cap_parse_conf_req(struct sock *sk, void *data, int len)
-+{
-+ int type, hint, olen;
-+ unsigned long val;
-+ void *ptr = data;
-+
-+ BT_DBG("sk %p len %d", sk, len);
-+
-+ while (len >= L2CAP_CONF_OPT_SIZE) {
-+ len -= l2cap_get_conf_opt(&ptr, &type, &olen, &val);
-+
-+ hint = type & 0x80;
-+ type &= 0x7f;
-+
-+ switch (type) {
-+ case L2CAP_CONF_MTU:
-+ l2cap_pi(sk)->conf_mtu = val;
-+ break;
-+
-+ case L2CAP_CONF_FLUSH_TO:
-+ l2cap_pi(sk)->flush_to = val;
-+ break;
-+
-+ case L2CAP_CONF_QOS:
-+ break;
-+
-+ default:
-+ if (hint)
-+ break;
-+
-+ /* FIXME: Reject unknown option */
-+ break;
-+ };
-+ }
-+}
-+
-+static void l2cap_add_conf_opt(void **ptr, __u8 type, __u8 len, unsigned long val)
-+{
-+ register l2cap_conf_opt *opt = *ptr;
-+
-+ BT_DBG("type 0x%2.2x len %d val 0x%lx", type, len, val);
-+
-+ opt->type = type;
-+ opt->len = len;
-+
-+ switch (len) {
-+ case 1:
-+ *((__u8 *) opt->val) = val;
-+ break;
-+
-+ case 2:
-+ *((__u16 *) opt->val) = __cpu_to_le16(val);
-+ break;
-+
-+ case 4:
-+ *((__u32 *) opt->val) = __cpu_to_le32(val);
-+ break;
-+
-+ default:
-+ memcpy(opt->val, (void *) val, len);
-+ break;
-+ };
-+
-+ *ptr += L2CAP_CONF_OPT_SIZE + len;
-+}
-+
-+static int l2cap_build_conf_req(struct sock *sk, void *data)
-+{
-+ struct l2cap_pinfo *pi = l2cap_pi(sk);
-+ l2cap_conf_req *req = (l2cap_conf_req *) data;
-+ void *ptr = req->data;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (pi->imtu != L2CAP_DEFAULT_MTU)
-+ l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, pi->imtu);
-+
-+ /* FIXME. Need actual value of the flush timeout */
-+ //if (flush_to != L2CAP_DEFAULT_FLUSH_TO)
-+ // l2cap_add_conf_opt(&ptr, L2CAP_CONF_FLUSH_TO, 2, pi->flush_to);
-+
-+ req->dcid = __cpu_to_le16(pi->dcid);
-+ req->flags = __cpu_to_le16(0);
-+
-+ return ptr - data;
-+}
-+
-+static inline int l2cap_conf_output(struct sock *sk, void **ptr)
-+{
-+ struct l2cap_pinfo *pi = l2cap_pi(sk);
-+ int result = 0;
-+
-+ /* Configure output options and let the other side know
-+ * which ones we don't like.
-+ */
-+ if (pi->conf_mtu < pi->omtu) {
-+ l2cap_add_conf_opt(ptr, L2CAP_CONF_MTU, 2, pi->omtu);
-+ result = L2CAP_CONF_UNACCEPT;
-+ } else {
-+ pi->omtu = pi->conf_mtu;
-+ }
-+
-+ BT_DBG("sk %p result %d", sk, result);
-+ return result;
-+}
-+
-+static int l2cap_build_conf_rsp(struct sock *sk, void *data, int *result)
-+{
-+ l2cap_conf_rsp *rsp = (l2cap_conf_rsp *) data;
-+ void *ptr = rsp->data;
-+ u16 flags = 0;
-+
-+ BT_DBG("sk %p complete %d", sk, result ? 1 : 0);
-+
-+ if (result)
-+ *result = l2cap_conf_output(sk, &ptr);
-+ else
-+ flags |= 0x0001;
-+
-+ rsp->scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ rsp->result = __cpu_to_le16(result ? *result : 0);
-+ rsp->flags = __cpu_to_le16(flags);
-+
-+ return ptr - data;
-+}
-+
-+static inline int l2cap_connect_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
-+{
-+ struct l2cap_chan_list *list = &conn->chan_list;
-+ l2cap_conn_req *req = (l2cap_conn_req *) data;
-+ l2cap_conn_rsp rsp;
-+ struct sock *sk, *parent;
-+ int result = 0, status = 0;
-+
-+ __u16 dcid = 0, scid = __le16_to_cpu(req->scid);
-+ __u16 psm = req->psm;
-+
-+ BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid);
-+
-+ /* Check if we have socket listening on psm */
-+ parent = l2cap_get_sock_by_psm(BT_LISTEN, psm, conn->src);
-+ if (!parent) {
-+ result = L2CAP_CR_BAD_PSM;
-+ goto sendresp;
-+ }
-+
-+ result = L2CAP_CR_NO_MEM;
-+
-+ /* Check for backlog size */
-+ if (parent->ack_backlog > parent->max_ack_backlog) {
-+ BT_DBG("backlog full %d", parent->ack_backlog);
-+ goto response;
-+ }
-+
-+ sk = l2cap_sock_alloc(NULL, BTPROTO_L2CAP, GFP_ATOMIC);
-+ if (!sk)
-+ goto response;
-+
-+ write_lock(&list->lock);
-+
-+ /* Check if we already have channel with that dcid */
-+ if (__l2cap_get_chan_by_dcid(list, scid)) {
-+ write_unlock(&list->lock);
-+ sk->zapped = 1;
-+ l2cap_sock_kill(sk);
-+ goto response;
-+ }
-+
-+ hci_conn_hold(conn->hcon);
-+
-+ l2cap_sock_init(sk, parent);
-+ bacpy(&bluez_pi(sk)->src, conn->src);
-+ bacpy(&bluez_pi(sk)->dst, conn->dst);
-+ l2cap_pi(sk)->psm = psm;
-+ l2cap_pi(sk)->dcid = scid;
-+
-+ __l2cap_chan_add(conn, sk, parent);
-+ dcid = l2cap_pi(sk)->scid;
-+
-+ l2cap_sock_set_timer(sk, sk->sndtimeo);
-+
-+ /* Service level security */
-+ result = L2CAP_CR_PEND;
-+ status = L2CAP_CS_AUTHEN_PEND;
-+ sk->state = BT_CONNECT2;
-+ l2cap_pi(sk)->ident = cmd->ident;
-+
-+ if (l2cap_pi(sk)->link_mode & L2CAP_LM_ENCRYPT) {
-+ if (!hci_conn_encrypt(conn->hcon))
-+ goto done;
-+ } else if (l2cap_pi(sk)->link_mode & L2CAP_LM_AUTH) {
-+ if (!hci_conn_auth(conn->hcon))
-+ goto done;
-+ }
-+
-+ sk->state = BT_CONFIG;
-+ result = status = 0;
-+
-+done:
-+ write_unlock(&list->lock);
-+
-+response:
-+ bh_unlock_sock(parent);
-+
-+sendresp:
-+ rsp.scid = __cpu_to_le16(scid);
-+ rsp.dcid = __cpu_to_le16(dcid);
-+ rsp.result = __cpu_to_le16(result);
-+ rsp.status = __cpu_to_le16(status);
-+ l2cap_send_rsp(conn, cmd->ident, L2CAP_CONN_RSP, L2CAP_CONN_RSP_SIZE, &rsp);
-+ return 0;
-+}
-+
-+static inline int l2cap_connect_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
-+{
-+ l2cap_conn_rsp *rsp = (l2cap_conn_rsp *) data;
-+ __u16 scid, dcid, result, status;
-+ struct sock *sk;
-+ char req[128];
-+
-+ scid = __le16_to_cpu(rsp->scid);
-+ dcid = __le16_to_cpu(rsp->dcid);
-+ result = __le16_to_cpu(rsp->result);
-+ status = __le16_to_cpu(rsp->status);
-+
-+ BT_DBG("dcid 0x%4.4x scid 0x%4.4x result 0x%2.2x status 0x%2.2x", dcid, scid, result, status);
-+
-+ if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
-+ return -ENOENT;
-+
-+ switch (result) {
-+ case L2CAP_CR_SUCCESS:
-+ sk->state = BT_CONFIG;
-+ l2cap_pi(sk)->dcid = dcid;
-+ l2cap_pi(sk)->conf_state |= L2CAP_CONF_REQ_SENT;
-+
-+ l2cap_send_req(conn, L2CAP_CONF_REQ, l2cap_build_conf_req(sk, req), req);
-+ break;
-+
-+ case L2CAP_CR_PEND:
-+ break;
-+
-+ default:
-+ l2cap_chan_del(sk, ECONNREFUSED);
-+ break;
-+ }
-+
-+ bh_unlock_sock(sk);
-+ return 0;
-+}
-+
-+static inline int l2cap_config_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
-+{
-+ l2cap_conf_req * req = (l2cap_conf_req *) data;
-+ __u16 dcid, flags;
-+ __u8 rsp[64];
-+ struct sock *sk;
-+ int result;
-+
-+ dcid = __le16_to_cpu(req->dcid);
-+ flags = __le16_to_cpu(req->flags);
-+
-+ BT_DBG("dcid 0x%4.4x flags 0x%2.2x", dcid, flags);
-+
-+ if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, dcid)))
-+ return -ENOENT;
-+
-+ l2cap_parse_conf_req(sk, req->data, cmd->len - L2CAP_CONF_REQ_SIZE);
-+
-+ if (flags & 0x0001) {
-+ /* Incomplete config. Send empty response. */
-+ l2cap_send_rsp(conn, cmd->ident, L2CAP_CONF_RSP, l2cap_build_conf_rsp(sk, rsp, NULL), rsp);
-+ goto unlock;
-+ }
-+
-+ /* Complete config. */
-+ l2cap_send_rsp(conn, cmd->ident, L2CAP_CONF_RSP, l2cap_build_conf_rsp(sk, rsp, &result), rsp);
-+
-+ if (result)
-+ goto unlock;
-+
-+ /* Output config done */
-+ l2cap_pi(sk)->conf_state |= L2CAP_CONF_OUTPUT_DONE;
-+
-+ if (l2cap_pi(sk)->conf_state & L2CAP_CONF_INPUT_DONE) {
-+ sk->state = BT_CONNECTED;
-+ l2cap_chan_ready(sk);
-+ } else if (!(l2cap_pi(sk)->conf_state & L2CAP_CONF_REQ_SENT)) {
-+ char req[64];
-+ l2cap_send_req(conn, L2CAP_CONF_REQ, l2cap_build_conf_req(sk, req), req);
-+ }
-+
-+unlock:
-+ bh_unlock_sock(sk);
-+ return 0;
-+}
-+
-+static inline int l2cap_config_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
-+{
-+ l2cap_conf_rsp *rsp = (l2cap_conf_rsp *)data;
-+ __u16 scid, flags, result;
-+ struct sock *sk;
-+ int err = 0;
-+
-+ scid = __le16_to_cpu(rsp->scid);
-+ flags = __le16_to_cpu(rsp->flags);
-+ result = __le16_to_cpu(rsp->result);
-+
-+ BT_DBG("scid 0x%4.4x flags 0x%2.2x result 0x%2.2x", scid, flags, result);
-+
-+ if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
-+ return -ENOENT;
-+
-+ switch (result) {
-+ case L2CAP_CONF_SUCCESS:
-+ break;
-+
-+ case L2CAP_CONF_UNACCEPT:
-+ if (++l2cap_pi(sk)->conf_retry < L2CAP_CONF_MAX_RETRIES) {
-+ char req[128];
-+ /*
-+ It does not make sense to adjust L2CAP parameters
-+ that are currently defined in the spec. We simply
-+ resend config request that we sent earlier. It is
-+ stupid :) but it helps qualification testing
-+ which expects at least some response from us.
-+ */
-+ l2cap_send_req(conn, L2CAP_CONF_REQ,
-+ l2cap_build_conf_req(sk, req), req);
-+ goto done;
-+ }
-+ default:
-+ sk->state = BT_DISCONN;
-+ sk->err = ECONNRESET;
-+ l2cap_sock_set_timer(sk, HZ * 5);
-+ {
-+ l2cap_disconn_req req;
-+ req.dcid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ l2cap_send_req(conn, L2CAP_DISCONN_REQ, L2CAP_DISCONN_REQ_SIZE, &req);
-+ }
-+ goto done;
-+ }
-+
-+ if (flags & 0x01)
-+ goto done;
-+
-+ /* Input config done */
-+ l2cap_pi(sk)->conf_state |= L2CAP_CONF_INPUT_DONE;
-+
-+ if (l2cap_pi(sk)->conf_state & L2CAP_CONF_OUTPUT_DONE) {
-+ sk->state = BT_CONNECTED;
-+ l2cap_chan_ready(sk);
-+ }
-+
-+done:
-+ bh_unlock_sock(sk);
-+ return err;
-+}
-+
-+static inline int l2cap_disconnect_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
-+{
-+ l2cap_disconn_req *req = (l2cap_disconn_req *) data;
-+ l2cap_disconn_rsp rsp;
-+ __u16 dcid, scid;
-+ struct sock *sk;
-+
-+ scid = __le16_to_cpu(req->scid);
-+ dcid = __le16_to_cpu(req->dcid);
-+
-+ BT_DBG("scid 0x%4.4x dcid 0x%4.4x", scid, dcid);
-+
-+ if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, dcid)))
-+ return 0;
-+
-+ rsp.dcid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ rsp.scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ l2cap_send_rsp(conn, cmd->ident, L2CAP_DISCONN_RSP, L2CAP_DISCONN_RSP_SIZE, &rsp);
-+
-+ sk->shutdown = SHUTDOWN_MASK;
-+
-+ l2cap_chan_del(sk, ECONNRESET);
-+ bh_unlock_sock(sk);
-+
-+ l2cap_sock_kill(sk);
-+ return 0;
-+}
-+
-+static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
-+{
-+ l2cap_disconn_rsp *rsp = (l2cap_disconn_rsp *) data;
-+ __u16 dcid, scid;
-+ struct sock *sk;
-+
-+ scid = __le16_to_cpu(rsp->scid);
-+ dcid = __le16_to_cpu(rsp->dcid);
-+
-+ BT_DBG("dcid 0x%4.4x scid 0x%4.4x", dcid, scid);
-+
-+ if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
-+ return 0;
-+ l2cap_chan_del(sk, 0);
-+ bh_unlock_sock(sk);
-+
-+ l2cap_sock_kill(sk);
-+ return 0;
-+}
-+
-+static inline int l2cap_information_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, u8 *data)
-+{
-+ l2cap_info_req *req = (l2cap_info_req *) data;
-+ l2cap_info_rsp rsp;
-+ u16 type;
-+
-+ type = __le16_to_cpu(req->type);
-+
-+ BT_DBG("type 0x%4.4x", type);
-+
-+ rsp.type = __cpu_to_le16(type);
-+ rsp.result = __cpu_to_le16(L2CAP_IR_NOTSUPP);
-+ l2cap_send_rsp(conn, cmd->ident, L2CAP_INFO_RSP, sizeof(rsp), &rsp);
-+ return 0;
-+}
-+
-+static inline int l2cap_information_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, u8 *data)
-+{
-+ l2cap_info_rsp *rsp = (l2cap_info_rsp *) data;
-+ u16 type, result;
-+
-+ type = __le16_to_cpu(rsp->type);
-+ result = __le16_to_cpu(rsp->result);
-+
-+ BT_DBG("type 0x%4.4x result 0x%2.2x", type, result);
-+
-+ return 0;
-+}
-+
-+static inline void l2cap_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb)
-+{
-+ __u8 *data = skb->data;
-+ int len = skb->len;
-+ l2cap_cmd_hdr cmd;
-+ int err = 0;
-+
-+ l2cap_raw_recv(conn, skb);
-+
-+ while (len >= L2CAP_CMD_HDR_SIZE) {
-+ memcpy(&cmd, data, L2CAP_CMD_HDR_SIZE);
-+ data += L2CAP_CMD_HDR_SIZE;
-+ len -= L2CAP_CMD_HDR_SIZE;
-+
-+ cmd.len = __le16_to_cpu(cmd.len);
-+
-+ BT_DBG("code 0x%2.2x len %d id 0x%2.2x", cmd.code, cmd.len, cmd.ident);
-+
-+ if (cmd.len > len || !cmd.ident) {
-+ BT_DBG("corrupted command");
-+ break;
-+ }
-+
-+ switch (cmd.code) {
-+ case L2CAP_COMMAND_REJ:
-+ /* FIXME: We should process this */
-+ break;
-+
-+ case L2CAP_CONN_REQ:
-+ err = l2cap_connect_req(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_CONN_RSP:
-+ err = l2cap_connect_rsp(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_CONF_REQ:
-+ err = l2cap_config_req(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_CONF_RSP:
-+ err = l2cap_config_rsp(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_DISCONN_REQ:
-+ err = l2cap_disconnect_req(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_DISCONN_RSP:
-+ err = l2cap_disconnect_rsp(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_ECHO_REQ:
-+ l2cap_send_rsp(conn, cmd.ident, L2CAP_ECHO_RSP, cmd.len, data);
-+ break;
-+
-+ case L2CAP_ECHO_RSP:
-+ break;
-+
-+ case L2CAP_INFO_REQ:
-+ err = l2cap_information_req(conn, &cmd, data);
-+ break;
-+
-+ case L2CAP_INFO_RSP:
-+ err = l2cap_information_rsp(conn, &cmd, data);
-+ break;
-+
-+ default:
-+ BT_ERR("Unknown signaling command 0x%2.2x", cmd.code);
-+ err = -EINVAL;
-+ break;
-+ };
-+
-+ if (err) {
-+ l2cap_cmd_rej rej;
-+ BT_DBG("error %d", err);
-+
-+ /* FIXME: Map err to a valid reason */
-+ rej.reason = __cpu_to_le16(0);
-+ l2cap_send_rsp(conn, cmd.ident, L2CAP_COMMAND_REJ, L2CAP_CMD_REJ_SIZE, &rej);
-+ }
-+
-+ data += cmd.len;
-+ len -= cmd.len;
-+ }
-+
-+ kfree_skb(skb);
-+}
-+
-+static inline int l2cap_data_channel(struct l2cap_conn *conn, __u16 cid, struct sk_buff *skb)
-+{
-+ struct sock *sk;
-+
-+ sk = l2cap_get_chan_by_scid(&conn->chan_list, cid);
-+ if (!sk) {
-+ BT_DBG("unknown cid 0x%4.4x", cid);
-+ goto drop;
-+ }
-+
-+ BT_DBG("sk %p, len %d", sk, skb->len);
-+
-+ if (sk->state != BT_CONNECTED)
-+ goto drop;
-+
-+ if (l2cap_pi(sk)->imtu < skb->len)
-+ goto drop;
-+
-+ /* If socket recv buffers overflows we drop data here
-+ * which is *bad* because L2CAP has to be reliable.
-+ * But we don't have any other choice. L2CAP doesn't
-+ * provide flow control mechanism */
-+
-+ if (!sock_queue_rcv_skb(sk, skb))
-+ goto done;
-+
-+drop:
-+ kfree_skb(skb);
-+
-+done:
-+ if (sk) bh_unlock_sock(sk);
-+ return 0;
-+}
-+
-+static inline int l2cap_conless_channel(struct l2cap_conn *conn, __u16 psm, struct sk_buff *skb)
-+{
-+ struct sock *sk;
-+
-+ sk = l2cap_get_sock_by_psm(0, psm, conn->src);
-+ if (!sk)
-+ goto drop;
-+
-+ BT_DBG("sk %p, len %d", sk, skb->len);
-+
-+ if (sk->state != BT_BOUND && sk->state != BT_CONNECTED)
-+ goto drop;
-+
-+ if (l2cap_pi(sk)->imtu < skb->len)
-+ goto drop;
-+
-+ if (!sock_queue_rcv_skb(sk, skb))
-+ goto done;
-+
-+drop:
-+ kfree_skb(skb);
-+
-+done:
-+ if (sk) bh_unlock_sock(sk);
-+ return 0;
-+}
-+
-+static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb)
-+{
-+ l2cap_hdr *lh = (l2cap_hdr *) skb->data;
-+ __u16 cid, psm, len;
-+
-+ skb_pull(skb, L2CAP_HDR_SIZE);
-+ cid = __le16_to_cpu(lh->cid);
-+ len = __le16_to_cpu(lh->len);
-+
-+ BT_DBG("len %d, cid 0x%4.4x", len, cid);
-+
-+ switch (cid) {
-+ case 0x0001:
-+ l2cap_sig_channel(conn, skb);
-+ break;
-+
-+ case 0x0002:
-+ psm = get_unaligned((__u16 *) skb->data);
-+ skb_pull(skb, 2);
-+ l2cap_conless_channel(conn, psm, skb);
-+ break;
-+
-+ default:
-+ l2cap_data_channel(conn, cid, skb);
-+ break;
-+ }
-+}
-+
-+/* ------------ L2CAP interface with lower layer (HCI) ------------- */
-+
-+static int l2cap_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 type)
-+{
-+ int exact = 0, lm1 = 0, lm2 = 0;
-+ register struct sock *sk;
-+
-+ if (type != ACL_LINK)
-+ return 0;
-+
-+ BT_DBG("hdev %s, bdaddr %s", hdev->name, batostr(bdaddr));
-+
-+ /* Find listening sockets and check their link_mode */
-+ read_lock(&l2cap_sk_list.lock);
-+ for (sk = l2cap_sk_list.head; sk; sk = sk->next) {
-+ if (sk->state != BT_LISTEN)
-+ continue;
-+
-+ if (!bacmp(&bluez_pi(sk)->src, &hdev->bdaddr)) {
-+ lm1 |= (HCI_LM_ACCEPT | l2cap_pi(sk)->link_mode);
-+ exact++;
-+ } else if (!bacmp(&bluez_pi(sk)->src, BDADDR_ANY))
-+ lm2 |= (HCI_LM_ACCEPT | l2cap_pi(sk)->link_mode);
-+ }
-+ read_unlock(&l2cap_sk_list.lock);
-+
-+ return exact ? lm1 : lm2;
-+}
-+
-+static int l2cap_connect_cfm(struct hci_conn *hcon, __u8 status)
-+{
-+ BT_DBG("hcon %p bdaddr %s status %d", hcon, batostr(&hcon->dst), status);
-+
-+ if (hcon->type != ACL_LINK)
-+ return 0;
-+
-+ if (!status) {
-+ struct l2cap_conn *conn;
-+
-+ conn = l2cap_conn_add(hcon, status);
-+ if (conn)
-+ l2cap_conn_ready(conn);
-+ } else
-+ l2cap_conn_del(hcon, bterr(status));
-+
-+ return 0;
-+}
-+
-+static int l2cap_disconn_ind(struct hci_conn *hcon, __u8 reason)
-+{
-+ BT_DBG("hcon %p reason %d", hcon, reason);
-+
-+ if (hcon->type != ACL_LINK)
-+ return 0;
-+
-+ l2cap_conn_del(hcon, bterr(reason));
-+ return 0;
-+}
-+
-+static int l2cap_auth_cfm(struct hci_conn *hcon, __u8 status)
-+{
-+ struct l2cap_chan_list *l;
-+ struct l2cap_conn *conn;
-+ l2cap_conn_rsp rsp;
-+ struct sock *sk;
-+ int result;
-+
-+ if (!(conn = hcon->l2cap_data))
-+ return 0;
-+ l = &conn->chan_list;
-+
-+ BT_DBG("conn %p", conn);
-+
-+ read_lock(&l->lock);
-+
-+ for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-+ bh_lock_sock(sk);
-+
-+ if (sk->state != BT_CONNECT2 ||
-+ (l2cap_pi(sk)->link_mode & L2CAP_LM_ENCRYPT)) {
-+ bh_unlock_sock(sk);
-+ continue;
-+ }
-+
-+ if (!status) {
-+ sk->state = BT_CONFIG;
-+ result = 0;
-+ } else {
-+ sk->state = BT_DISCONN;
-+ l2cap_sock_set_timer(sk, HZ/10);
-+ result = L2CAP_CR_SEC_BLOCK;
-+ }
-+
-+ rsp.scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ rsp.dcid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ rsp.result = __cpu_to_le16(result);
-+ rsp.status = __cpu_to_le16(0);
-+ l2cap_send_rsp(conn, l2cap_pi(sk)->ident, L2CAP_CONN_RSP,
-+ L2CAP_CONN_RSP_SIZE, &rsp);
-+
-+ bh_unlock_sock(sk);
-+ }
-+
-+ read_unlock(&l->lock);
-+ return 0;
-+}
-+
-+static int l2cap_encrypt_cfm(struct hci_conn *hcon, __u8 status)
-+{
-+ struct l2cap_chan_list *l;
-+ struct l2cap_conn *conn;
-+ l2cap_conn_rsp rsp;
-+ struct sock *sk;
-+ int result;
-+
-+ if (!(conn = hcon->l2cap_data))
-+ return 0;
-+ l = &conn->chan_list;
-+
-+ BT_DBG("conn %p", conn);
-+
-+ read_lock(&l->lock);
-+
-+ for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-+ bh_lock_sock(sk);
-+
-+ if (sk->state != BT_CONNECT2) {
-+ bh_unlock_sock(sk);
-+ continue;
-+ }
-+
-+ if (!status) {
-+ sk->state = BT_CONFIG;
-+ result = 0;
-+ } else {
-+ sk->state = BT_DISCONN;
-+ l2cap_sock_set_timer(sk, HZ/10);
-+ result = L2CAP_CR_SEC_BLOCK;
-+ }
-+
-+ rsp.scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-+ rsp.dcid = __cpu_to_le16(l2cap_pi(sk)->scid);
-+ rsp.result = __cpu_to_le16(result);
-+ rsp.status = __cpu_to_le16(0);
-+ l2cap_send_rsp(conn, l2cap_pi(sk)->ident, L2CAP_CONN_RSP,
-+ L2CAP_CONN_RSP_SIZE, &rsp);
-+
-+ bh_unlock_sock(sk);
-+ }
-+
-+ read_unlock(&l->lock);
-+ return 0;
-+}
-+
-+static int l2cap_recv_acldata(struct hci_conn *hcon, struct sk_buff *skb, __u16 flags)
-+{
-+ struct l2cap_conn *conn = hcon->l2cap_data;
-+
-+ if (!conn && !(conn = l2cap_conn_add(hcon, 0)))
-+ goto drop;
-+
-+ BT_DBG("conn %p len %d flags 0x%x", conn, skb->len, flags);
-+
-+ if (flags & ACL_START) {
-+ l2cap_hdr *hdr;
-+ int len;
-+
-+ if (conn->rx_len) {
-+ BT_ERR("Unexpected start frame (len %d)", skb->len);
-+ kfree_skb(conn->rx_skb);
-+ conn->rx_skb = NULL;
-+ conn->rx_len = 0;
-+ l2cap_conn_unreliable(conn, ECOMM);
-+ }
-+
-+ if (skb->len < 2) {
-+ BT_ERR("Frame is too short (len %d)", skb->len);
-+ l2cap_conn_unreliable(conn, ECOMM);
-+ goto drop;
-+ }
-+
-+ hdr = (l2cap_hdr *) skb->data;
-+ len = __le16_to_cpu(hdr->len) + L2CAP_HDR_SIZE;
-+
-+ if (len == skb->len) {
-+ /* Complete frame received */
-+ l2cap_recv_frame(conn, skb);
-+ return 0;
-+ }
-+
-+ BT_DBG("Start: total len %d, frag len %d", len, skb->len);
-+
-+ if (skb->len > len) {
-+ BT_ERR("Frame is too long (len %d, expected len %d)",
-+ skb->len, len);
-+ l2cap_conn_unreliable(conn, ECOMM);
-+ goto drop;
-+ }
-+
-+ /* Allocate skb for the complete frame including header */
-+ conn->rx_skb = bluez_skb_alloc(len, GFP_ATOMIC);
-+ if (!conn->rx_skb)
-+ goto drop;
-+
-+ memcpy(skb_put(conn->rx_skb, skb->len), skb->data, skb->len);
-+ conn->rx_len = len - skb->len;
-+ } else {
-+ BT_DBG("Cont: frag len %d (expecting %d)", skb->len, conn->rx_len);
-+
-+ if (!conn->rx_len) {
-+ BT_ERR("Unexpected continuation frame (len %d)", skb->len);
-+ l2cap_conn_unreliable(conn, ECOMM);
-+ goto drop;
-+ }
-+
-+ if (skb->len > conn->rx_len) {
-+ BT_ERR("Fragment is too long (len %d, expected %d)",
-+ skb->len, conn->rx_len);
-+ kfree_skb(conn->rx_skb);
-+ conn->rx_skb = NULL;
-+ conn->rx_len = 0;
-+ l2cap_conn_unreliable(conn, ECOMM);
-+ goto drop;
-+ }
-+
-+ memcpy(skb_put(conn->rx_skb, skb->len), skb->data, skb->len);
-+ conn->rx_len -= skb->len;
-+
-+ if (!conn->rx_len) {
-+ /* Complete frame received */
-+ l2cap_recv_frame(conn, conn->rx_skb);
-+ conn->rx_skb = NULL;
-+ }
-+ }
-+
-+drop:
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+/* ----- Proc fs support ------ */
-+static int l2cap_sock_dump(char *buf, struct bluez_sock_list *list)
-+{
-+ struct l2cap_pinfo *pi;
-+ struct sock *sk;
-+ char *ptr = buf;
-+
-+ read_lock_bh(&list->lock);
-+
-+ for (sk = list->head; sk; sk = sk->next) {
-+ pi = l2cap_pi(sk);
-+ ptr += sprintf(ptr, "%s %s %d %d 0x%4.4x 0x%4.4x %d %d 0x%x\n",
-+ batostr(&bluez_pi(sk)->src), batostr(&bluez_pi(sk)->dst),
-+ sk->state, pi->psm, pi->scid, pi->dcid, pi->imtu, pi->omtu,
-+ pi->link_mode);
-+ }
-+
-+ read_unlock_bh(&list->lock);
-+
-+ ptr += sprintf(ptr, "\n");
-+ return ptr - buf;
-+}
-+
-+static int l2cap_read_proc(char *buf, char **start, off_t offset, int count, int *eof, void *priv)
-+{
-+ char *ptr = buf;
-+ int len;
-+
-+ BT_DBG("count %d, offset %ld", count, offset);
-+
-+ ptr += l2cap_sock_dump(ptr, &l2cap_sk_list);
-+ len = ptr - buf;
-+
-+ if (len <= count + offset)
-+ *eof = 1;
-+
-+ *start = buf + offset;
-+ len -= offset;
-+
-+ if (len > count)
-+ len = count;
-+ if (len < 0)
-+ len = 0;
-+
-+ return len;
-+}
-+
-+static struct proto_ops l2cap_sock_ops = {
-+ family: PF_BLUETOOTH,
-+ release: l2cap_sock_release,
-+ bind: l2cap_sock_bind,
-+ connect: l2cap_sock_connect,
-+ listen: l2cap_sock_listen,
-+ accept: l2cap_sock_accept,
-+ getname: l2cap_sock_getname,
-+ sendmsg: l2cap_sock_sendmsg,
-+ recvmsg: bluez_sock_recvmsg,
-+ poll: bluez_sock_poll,
-+ socketpair: sock_no_socketpair,
-+ ioctl: sock_no_ioctl,
-+ shutdown: l2cap_sock_shutdown,
-+ setsockopt: l2cap_sock_setsockopt,
-+ getsockopt: l2cap_sock_getsockopt,
-+ mmap: sock_no_mmap
-+};
-+
-+static struct net_proto_family l2cap_sock_family_ops = {
-+ family: PF_BLUETOOTH,
-+ create: l2cap_sock_create
-+};
-+
-+static struct hci_proto l2cap_hci_proto = {
-+ name: "L2CAP",
-+ id: HCI_PROTO_L2CAP,
-+ connect_ind: l2cap_connect_ind,
-+ connect_cfm: l2cap_connect_cfm,
-+ disconn_ind: l2cap_disconn_ind,
-+ recv_acldata: l2cap_recv_acldata,
-+ auth_cfm: l2cap_auth_cfm,
-+ encrypt_cfm: l2cap_encrypt_cfm
-+};
-+
-+int __init l2cap_init(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_register(BTPROTO_L2CAP, &l2cap_sock_family_ops))) {
-+ BT_ERR("Can't register L2CAP socket");
-+ return err;
-+ }
-+
-+ if ((err = hci_register_proto(&l2cap_hci_proto))) {
-+ BT_ERR("Can't register L2CAP protocol");
-+ return err;
-+ }
-+
-+ create_proc_read_entry("bluetooth/l2cap", 0, 0, l2cap_read_proc, NULL);
-+
-+ BT_INFO("BlueZ L2CAP ver %s Copyright (C) 2000,2001 Qualcomm Inc", VERSION);
-+ BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-+ return 0;
-+}
-+
-+void l2cap_cleanup(void)
-+{
-+ remove_proc_entry("bluetooth/l2cap", NULL);
-+
-+ /* Unregister socket and protocol */
-+ if (bluez_sock_unregister(BTPROTO_L2CAP))
-+ BT_ERR("Can't unregister L2CAP socket");
-+
-+ if (hci_unregister_proto(&l2cap_hci_proto))
-+ BT_ERR("Can't unregister L2CAP protocol");
-+}
-+
-+void l2cap_load(void)
-+{
-+ /* Dummy function to trigger automatic L2CAP module loading by
-+ other modules that use L2CAP sockets but do not use any other
-+ symbols from it. */
-+ return;
-+}
-+
-+EXPORT_SYMBOL(l2cap_load);
-+
-+module_init(l2cap_init);
-+module_exit(l2cap_cleanup);
-+
-+MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
-+MODULE_DESCRIPTION("BlueZ L2CAP ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/l2cap_core.c linux-2.4.18-mh15/net/bluetooth/l2cap_core.c
---- linux-2.4.18/net/bluetooth/l2cap_core.c 2001-09-30 21:26:08.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/l2cap_core.c 1970-01-01 01:00:00.000000000 +0100
-@@ -1,2316 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * BlueZ L2CAP core and sockets.
-- *
-- * $Id: l2cap_core.c,v 1.19 2001/08/03 04:19:50 maxk Exp $
-- */
--#define VERSION "1.1"
--
--#include <linux/config.h>
--#include <linux/module.h>
--
--#include <linux/types.h>
--#include <linux/errno.h>
--#include <linux/kernel.h>
--#include <linux/major.h>
--#include <linux/sched.h>
--#include <linux/slab.h>
--#include <linux/poll.h>
--#include <linux/fcntl.h>
--#include <linux/init.h>
--#include <linux/skbuff.h>
--#include <linux/interrupt.h>
--#include <linux/socket.h>
--#include <linux/skbuff.h>
--#include <linux/proc_fs.h>
--#include <linux/list.h>
--#include <net/sock.h>
--
--#include <asm/system.h>
--#include <asm/uaccess.h>
--
--#include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
--#include <net/bluetooth/hci_core.h>
--#include <net/bluetooth/l2cap.h>
--#include <net/bluetooth/l2cap_core.h>
--
--#ifndef L2CAP_DEBUG
--#undef DBG
--#define DBG( A... )
--#endif
--
--struct proto_ops l2cap_sock_ops;
--
--struct bluez_sock_list l2cap_sk_list = {
-- lock: RW_LOCK_UNLOCKED
--};
--
--struct list_head l2cap_iff_list = LIST_HEAD_INIT(l2cap_iff_list);
--rwlock_t l2cap_rt_lock = RW_LOCK_UNLOCKED;
--
--static int l2cap_conn_del(struct l2cap_conn *conn, int err);
--
--static inline void l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent);
--static void l2cap_chan_del(struct sock *sk, int err);
--static int l2cap_chan_send(struct sock *sk, struct msghdr *msg, int len);
--
--static void l2cap_sock_close(struct sock *sk);
--static void l2cap_sock_kill(struct sock *sk);
--
--static int l2cap_send_req(struct l2cap_conn *conn, __u8 code, __u16 len, void *data);
--static int l2cap_send_rsp(struct l2cap_conn *conn, __u8 ident, __u8 code, __u16 len, void *data);
--
--/* -------- L2CAP interfaces & routing --------- */
--/* Add/delete L2CAP interface.
-- * Must be called with locked rt_lock
-- */
--
--static void l2cap_iff_add(struct hci_dev *hdev)
--{
-- struct l2cap_iff *iff;
--
-- DBG("%s", hdev->name);
--
-- DBG("iff_list %p next %p prev %p", &l2cap_iff_list, l2cap_iff_list.next, l2cap_iff_list.prev);
--
-- /* Allocate new interface and lock HCI device */
-- if (!(iff = kmalloc(sizeof(struct l2cap_iff), GFP_KERNEL))) {
-- ERR("Can't allocate new interface %s", hdev->name);
-- return;
-- }
-- memset(iff, 0, sizeof(struct l2cap_iff));
--
-- hci_dev_hold(hdev);
-- hdev->l2cap_data = iff;
-- iff->hdev = hdev;
-- iff->mtu = hdev->acl_mtu - HCI_ACL_HDR_SIZE;
-- iff->bdaddr = &hdev->bdaddr;
--
-- spin_lock_init(&iff->lock);
-- INIT_LIST_HEAD(&iff->conn_list);
--
-- list_add(&iff->list, &l2cap_iff_list);
--}
--
--static void l2cap_iff_del(struct hci_dev *hdev)
--{
-- struct l2cap_iff *iff;
--
-- if (!(iff = hdev->l2cap_data))
-- return;
--
-- DBG("%s iff %p", hdev->name, iff);
--
-- list_del(&iff->list);
--
-- l2cap_iff_lock(iff);
--
-- /* Drop connections */
-- while (!list_empty(&iff->conn_list)) {
-- struct l2cap_conn *c;
--
-- c = list_entry(iff->conn_list.next, struct l2cap_conn, list);
-- l2cap_conn_del(c, ENODEV);
-- }
--
-- l2cap_iff_unlock(iff);
--
-- /* Unlock HCI device */
-- hdev->l2cap_data = NULL;
-- hci_dev_put(hdev);
--
-- kfree(iff);
--}
--
--/* Get route. Returns L2CAP interface.
-- * Must be called with locked rt_lock
-- */
--static struct l2cap_iff *l2cap_get_route(bdaddr_t *src, bdaddr_t *dst)
--{
-- struct list_head *p;
-- int use_src;
--
-- DBG("%s -> %s", batostr(src), batostr(dst));
--
-- use_src = bacmp(src, BDADDR_ANY) ? 0 : 1;
--
-- /* Simple routing:
-- * No source address - find interface with bdaddr != dst
-- * Source address - find interface with bdaddr == src
-- */
--
-- list_for_each(p, &l2cap_iff_list) {
-- struct l2cap_iff *iff;
--
-- iff = list_entry(p, struct l2cap_iff, list);
--
-- if (use_src && !bacmp(iff->bdaddr, src))
-- return iff;
-- else if (bacmp(iff->bdaddr, dst))
-- return iff;
-- }
-- return NULL;
--}
--
--/* ----- L2CAP timers ------ */
--static void l2cap_sock_timeout(unsigned long arg)
--{
-- struct sock *sk = (struct sock *) arg;
--
-- DBG("sock %p state %d", sk, sk->state);
--
-- bh_lock_sock(sk);
-- switch (sk->state) {
-- case BT_DISCONN:
-- l2cap_chan_del(sk, ETIMEDOUT);
-- break;
--
-- default:
-- sk->err = ETIMEDOUT;
-- sk->state_change(sk);
-- break;
-- };
-- bh_unlock_sock(sk);
--
-- l2cap_sock_kill(sk);
-- sock_put(sk);
--}
--
--static void l2cap_sock_set_timer(struct sock *sk, long timeout)
--{
-- DBG("sock %p state %d timeout %ld", sk, sk->state, timeout);
--
-- if (!mod_timer(&sk->timer, jiffies + timeout))
-- sock_hold(sk);
--}
--
--static void l2cap_sock_clear_timer(struct sock *sk)
--{
-- DBG("sock %p state %d", sk, sk->state);
--
-- if (timer_pending(&sk->timer) && del_timer(&sk->timer))
-- __sock_put(sk);
--}
--
--static void l2cap_sock_init_timer(struct sock *sk)
--{
-- init_timer(&sk->timer);
-- sk->timer.function = l2cap_sock_timeout;
-- sk->timer.data = (unsigned long)sk;
--}
--
--static void l2cap_conn_timeout(unsigned long arg)
--{
-- struct l2cap_conn *conn = (void *)arg;
--
-- DBG("conn %p state %d", conn, conn->state);
--
-- if (conn->state == BT_CONNECTED) {
-- hci_disconnect(conn->hconn, 0x13);
-- }
--
-- return;
--}
--
--static void l2cap_conn_set_timer(struct l2cap_conn *conn, long timeout)
--{
-- DBG("conn %p state %d timeout %ld", conn, conn->state, timeout);
--
-- mod_timer(&conn->timer, jiffies + timeout);
--}
--
--static void l2cap_conn_clear_timer(struct l2cap_conn *conn)
--{
-- DBG("conn %p state %d", conn, conn->state);
--
-- del_timer(&conn->timer);
--}
--
--static void l2cap_conn_init_timer(struct l2cap_conn *conn)
--{
-- init_timer(&conn->timer);
-- conn->timer.function = l2cap_conn_timeout;
-- conn->timer.data = (unsigned long)conn;
--}
--
--/* -------- L2CAP connections --------- */
--/* Add new connection to the interface.
-- * Interface must be locked
-- */
--static struct l2cap_conn *l2cap_conn_add(struct l2cap_iff *iff, bdaddr_t *dst)
--{
-- struct l2cap_conn *conn;
-- bdaddr_t *src = iff->bdaddr;
--
-- if (!(conn = kmalloc(sizeof(struct l2cap_conn), GFP_KERNEL)))
-- return NULL;
--
-- memset(conn, 0, sizeof(struct l2cap_conn));
--
-- conn->state = BT_OPEN;
-- conn->iff = iff;
-- bacpy(&conn->src, src);
-- bacpy(&conn->dst, dst);
--
-- spin_lock_init(&conn->lock);
-- conn->chan_list.lock = RW_LOCK_UNLOCKED;
--
-- l2cap_conn_init_timer(conn);
--
-- __l2cap_conn_link(iff, conn);
--
-- DBG("%s -> %s, %p", batostr(src), batostr(dst), conn);
--
-- MOD_INC_USE_COUNT;
--
-- return conn;
--}
--
--/* Delete connection on the interface.
-- * Interface must be locked
-- */
--static int l2cap_conn_del(struct l2cap_conn *conn, int err)
--{
-- struct sock *sk;
--
-- DBG("conn %p, state %d, err %d", conn, conn->state, err);
--
-- l2cap_conn_clear_timer(conn);
-- __l2cap_conn_unlink(conn->iff, conn);
--
-- conn->state = BT_CLOSED;
--
-- if (conn->rx_skb)
-- kfree_skb(conn->rx_skb);
--
-- /* Kill channels */
-- while ((sk = conn->chan_list.head)) {
-- bh_lock_sock(sk);
-- l2cap_sock_clear_timer(sk);
-- l2cap_chan_del(sk, err);
-- bh_unlock_sock(sk);
--
-- l2cap_sock_kill(sk);
-- }
--
-- kfree(conn);
--
-- MOD_DEC_USE_COUNT;
-- return 0;
--}
--
--static inline struct l2cap_conn *l2cap_get_conn_by_addr(struct l2cap_iff *iff, bdaddr_t *dst)
--{
-- struct list_head *p;
--
-- list_for_each(p, &iff->conn_list) {
-- struct l2cap_conn *c;
--
-- c = list_entry(p, struct l2cap_conn, list);
-- if (!bacmp(&c->dst, dst))
-- return c;
-- }
-- return NULL;
--}
--
--int l2cap_connect(struct sock *sk)
--{
-- bdaddr_t *src = &l2cap_pi(sk)->src;
-- bdaddr_t *dst = &l2cap_pi(sk)->dst;
-- struct l2cap_conn *conn;
-- struct l2cap_iff *iff;
-- int err = 0;
--
-- DBG("%s -> %s psm 0x%2.2x", batostr(src), batostr(dst), l2cap_pi(sk)->psm);
--
-- read_lock_bh(&l2cap_rt_lock);
--
-- /* Get route to remote BD address */
-- if (!(iff = l2cap_get_route(src, dst))) {
-- err = -EHOSTUNREACH;
-- goto done;
-- }
--
-- /* Update source addr of the socket */
-- bacpy(src, iff->bdaddr);
--
-- l2cap_iff_lock(iff);
--
-- if (!(conn = l2cap_get_conn_by_addr(iff, dst))) {
-- /* Connection doesn't exist */
-- if (!(conn = l2cap_conn_add(iff, dst))) {
-- l2cap_iff_unlock(iff);
-- err = -ENOMEM;
-- goto done;
-- }
-- conn->out = 1;
-- }
--
-- l2cap_iff_unlock(iff);
--
-- l2cap_chan_add(conn, sk, NULL);
--
-- sk->state = BT_CONNECT;
-- l2cap_sock_set_timer(sk, sk->sndtimeo);
--
-- switch (conn->state) {
-- case BT_CONNECTED:
-- if (sk->type == SOCK_SEQPACKET) {
-- l2cap_conn_req req;
-- req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-- req.psm = l2cap_pi(sk)->psm;
-- l2cap_send_req(conn, L2CAP_CONN_REQ, L2CAP_CONN_REQ_SIZE, &req);
-- } else {
-- l2cap_sock_clear_timer(sk);
-- sk->state = BT_CONNECTED;
-- }
-- break;
--
-- case BT_CONNECT:
-- break;
--
-- default:
-- /* Create ACL connection */
-- conn->state = BT_CONNECT;
-- hci_connect(iff->hdev, dst);
-- break;
-- };
--
--done:
-- read_unlock_bh(&l2cap_rt_lock);
-- return err;
--}
--
--/* ------ Channel queues for listening sockets ------ */
--void l2cap_accept_queue(struct sock *parent, struct sock *sk)
--{
-- struct l2cap_accept_q *q = &l2cap_pi(parent)->accept_q;
--
-- DBG("parent %p, sk %p", parent, sk);
--
-- sock_hold(sk);
-- l2cap_pi(sk)->parent = parent;
-- l2cap_pi(sk)->next_q = NULL;
--
-- if (!q->head) {
-- q->head = q->tail = sk;
-- } else {
-- struct sock *tail = q->tail;
--
-- l2cap_pi(sk)->prev_q = tail;
-- l2cap_pi(tail)->next_q = sk;
-- q->tail = sk;
-- }
--
-- parent->ack_backlog++;
--}
--
--void l2cap_accept_unlink(struct sock *sk)
--{
-- struct sock *parent = l2cap_pi(sk)->parent;
-- struct l2cap_accept_q *q = &l2cap_pi(parent)->accept_q;
-- struct sock *next, *prev;
--
-- DBG("sk %p", sk);
--
-- next = l2cap_pi(sk)->next_q;
-- prev = l2cap_pi(sk)->prev_q;
--
-- if (sk == q->head)
-- q->head = next;
-- if (sk == q->tail)
-- q->tail = prev;
--
-- if (next)
-- l2cap_pi(next)->prev_q = prev;
-- if (prev)
-- l2cap_pi(prev)->next_q = next;
--
-- l2cap_pi(sk)->parent = NULL;
--
-- parent->ack_backlog--;
-- __sock_put(sk);
--}
--
--/* Get next connected channel in queue. */
--struct sock *l2cap_accept_dequeue(struct sock *parent, int state)
--{
-- struct l2cap_accept_q *q = &l2cap_pi(parent)->accept_q;
-- struct sock *sk;
--
-- for (sk = q->head; sk; sk = l2cap_pi(sk)->next_q) {
-- if (!state || sk->state == state) {
-- l2cap_accept_unlink(sk);
-- break;
-- }
-- }
--
-- DBG("parent %p, sk %p", parent, sk);
--
-- return sk;
--}
--
--/* -------- Socket interface ---------- */
--static struct sock *__l2cap_get_sock_by_addr(struct sockaddr_l2 *addr)
--{
-- bdaddr_t *src = &addr->l2_bdaddr;
-- __u16 psm = addr->l2_psm;
-- struct sock *sk;
--
-- for (sk = l2cap_sk_list.head; sk; sk = sk->next) {
-- if (l2cap_pi(sk)->psm == psm &&
-- !bacmp(&l2cap_pi(sk)->src, src))
-- break;
-- }
--
-- return sk;
--}
--
--/* Find socket listening on psm and source bdaddr.
-- * Returns closest match.
-- */
--static struct sock *l2cap_get_sock_listen(bdaddr_t *src, __u16 psm)
--{
-- struct sock *sk, *sk1 = NULL;
--
-- read_lock(&l2cap_sk_list.lock);
--
-- for (sk = l2cap_sk_list.head; sk; sk = sk->next) {
-- struct l2cap_pinfo *pi;
--
-- if (sk->state != BT_LISTEN)
-- continue;
--
-- pi = l2cap_pi(sk);
--
-- if (pi->psm == psm) {
-- /* Exact match. */
-- if (!bacmp(&pi->src, src))
-- break;
--
-- /* Closest match */
-- if (!bacmp(&pi->src, BDADDR_ANY))
-- sk1 = sk;
-- }
-- }
--
-- read_unlock(&l2cap_sk_list.lock);
--
-- return sk ? sk : sk1;
--}
--
--static void l2cap_sock_destruct(struct sock *sk)
--{
-- DBG("sk %p", sk);
--
-- skb_queue_purge(&sk->receive_queue);
-- skb_queue_purge(&sk->write_queue);
--
-- MOD_DEC_USE_COUNT;
--}
--
--static void l2cap_sock_cleanup_listen(struct sock *parent)
--{
-- struct sock *sk;
--
-- DBG("parent %p", parent);
--
-- /* Close not yet accepted channels */
-- while ((sk = l2cap_accept_dequeue(parent, 0)))
-- l2cap_sock_close(sk);
--
-- parent->state = BT_CLOSED;
-- parent->zapped = 1;
--}
--
--/* Kill socket (only if zapped and orphan)
-- * Must be called on unlocked socket.
-- */
--static void l2cap_sock_kill(struct sock *sk)
--{
-- if (!sk->zapped || sk->socket)
-- return;
--
-- DBG("sk %p state %d", sk, sk->state);
--
-- /* Kill poor orphan */
-- bluez_sock_unlink(&l2cap_sk_list, sk);
-- sk->dead = 1;
-- sock_put(sk);
--}
--
--/* Close socket.
-- * Must be called on unlocked socket.
-- */
--static void l2cap_sock_close(struct sock *sk)
--{
-- struct l2cap_conn *conn;
--
-- l2cap_sock_clear_timer(sk);
--
-- lock_sock(sk);
--
-- conn = l2cap_pi(sk)->conn;
--
-- DBG("sk %p state %d conn %p socket %p", sk, sk->state, conn, sk->socket);
--
-- switch (sk->state) {
-- case BT_LISTEN:
-- l2cap_sock_cleanup_listen(sk);
-- break;
--
-- case BT_CONNECTED:
-- case BT_CONFIG:
-- if (sk->type == SOCK_SEQPACKET) {
-- l2cap_disconn_req req;
--
-- sk->state = BT_DISCONN;
--
-- req.dcid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-- req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-- l2cap_send_req(conn, L2CAP_DISCONN_REQ, L2CAP_DISCONN_REQ_SIZE, &req);
--
-- l2cap_sock_set_timer(sk, sk->sndtimeo);
-- } else {
-- l2cap_chan_del(sk, ECONNRESET);
-- }
-- break;
--
-- case BT_CONNECT:
-- case BT_DISCONN:
-- l2cap_chan_del(sk, ECONNRESET);
-- break;
--
-- default:
-- sk->zapped = 1;
-- break;
-- };
--
-- release_sock(sk);
--
-- l2cap_sock_kill(sk);
--}
--
--static void l2cap_sock_init(struct sock *sk, struct sock *parent)
--{
-- struct l2cap_pinfo *pi = l2cap_pi(sk);
--
-- DBG("sk %p", sk);
--
-- if (parent) {
-- sk->type = parent->type;
--
-- pi->imtu = l2cap_pi(parent)->imtu;
-- pi->omtu = l2cap_pi(parent)->omtu;
-- } else {
-- pi->imtu = L2CAP_DEFAULT_MTU;
-- pi->omtu = 0;
-- }
--
-- /* Default config options */
-- pi->conf_mtu = L2CAP_DEFAULT_MTU;
-- pi->flush_to = L2CAP_DEFAULT_FLUSH_TO;
--}
--
--static struct sock *l2cap_sock_alloc(struct socket *sock, int proto, int prio)
--{
-- struct sock *sk;
--
-- if (!(sk = sk_alloc(PF_BLUETOOTH, prio, 1)))
-- return NULL;
--
-- sock_init_data(sock, sk);
--
-- sk->zapped = 0;
--
-- sk->destruct = l2cap_sock_destruct;
-- sk->sndtimeo = L2CAP_CONN_TIMEOUT;
--
-- sk->protocol = proto;
-- sk->state = BT_OPEN;
--
-- l2cap_sock_init_timer(sk);
--
-- bluez_sock_link(&l2cap_sk_list, sk);
--
-- MOD_INC_USE_COUNT;
--
-- return sk;
--}
--
--static int l2cap_sock_create(struct socket *sock, int protocol)
--{
-- struct sock *sk;
--
-- DBG("sock %p", sock);
--
-- sock->state = SS_UNCONNECTED;
--
-- if (sock->type != SOCK_SEQPACKET && sock->type != SOCK_RAW)
-- return -ESOCKTNOSUPPORT;
--
-- sock->ops = &l2cap_sock_ops;
--
-- if (!(sk = l2cap_sock_alloc(sock, protocol, GFP_KERNEL)))
-- return -ENOMEM;
--
-- l2cap_sock_init(sk, NULL);
--
-- return 0;
--}
--
--static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
--{
-- struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr;
-- struct sock *sk = sock->sk;
-- int err = 0;
--
-- DBG("sk %p, %s %d", sk, batostr(&la->l2_bdaddr), la->l2_psm);
--
-- if (!addr || addr->sa_family != AF_BLUETOOTH)
-- return -EINVAL;
--
-- lock_sock(sk);
--
-- if (sk->state != BT_OPEN) {
-- err = -EBADFD;
-- goto done;
-- }
--
-- write_lock(&l2cap_sk_list.lock);
--
-- if (la->l2_psm && __l2cap_get_sock_by_addr(la)) {
-- err = -EADDRINUSE;
-- goto unlock;
-- }
--
-- /* Save source address */
-- bacpy(&l2cap_pi(sk)->src, &la->l2_bdaddr);
-- l2cap_pi(sk)->psm = la->l2_psm;
-- sk->state = BT_BOUND;
--
--unlock:
-- write_unlock(&l2cap_sk_list.lock);
--
--done:
-- release_sock(sk);
--
-- return err;
--}
--
--static int l2cap_sock_w4_connect(struct sock *sk, int flags)
--{
-- DECLARE_WAITQUEUE(wait, current);
-- long timeo = sock_sndtimeo(sk, flags & O_NONBLOCK);
-- int err = 0;
--
-- DBG("sk %p", sk);
--
-- add_wait_queue(sk->sleep, &wait);
-- current->state = TASK_INTERRUPTIBLE;
--
-- while (sk->state != BT_CONNECTED) {
-- if (!timeo) {
-- err = -EAGAIN;
-- break;
-- }
--
-- release_sock(sk);
-- timeo = schedule_timeout(timeo);
-- lock_sock(sk);
--
-- err = 0;
-- if (sk->state == BT_CONNECTED)
-- break;
--
-- if (sk->err) {
-- err = sock_error(sk);
-- break;
-- }
--
-- if (signal_pending(current)) {
-- err = sock_intr_errno(timeo);
-- break;
-- }
-- }
-- current->state = TASK_RUNNING;
-- remove_wait_queue(sk->sleep, &wait);
--
-- return err;
--}
--
--static int l2cap_sock_connect(struct socket *sock, struct sockaddr *addr, int alen, int flags)
--{
-- struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr;
-- struct sock *sk = sock->sk;
-- int err = 0;
--
-- lock_sock(sk);
--
-- DBG("sk %p", sk);
--
-- if (addr->sa_family != AF_BLUETOOTH || alen < sizeof(struct sockaddr_l2)) {
-- err = -EINVAL;
-- goto done;
-- }
--
-- if (sk->state != BT_OPEN && sk->state != BT_BOUND) {
-- err = -EBADFD;
-- goto done;
-- }
--
-- if (sk->type == SOCK_SEQPACKET && !la->l2_psm) {
-- err = -EINVAL;
-- goto done;
-- }
--
-- /* Set destination address and psm */
-- bacpy(&l2cap_pi(sk)->dst, &la->l2_bdaddr);
-- l2cap_pi(sk)->psm = la->l2_psm;
--
-- if ((err = l2cap_connect(sk)))
-- goto done;
--
-- err = l2cap_sock_w4_connect(sk, flags);
--
--done:
-- release_sock(sk);
-- return err;
--}
--
--int l2cap_sock_listen(struct socket *sock, int backlog)
--{
-- struct sock *sk = sock->sk;
-- int err = 0;
--
-- DBG("sk %p backlog %d", sk, backlog);
--
-- lock_sock(sk);
--
-- if (sk->state != BT_BOUND || sock->type != SOCK_SEQPACKET) {
-- err = -EBADFD;
-- goto done;
-- }
--
-- if (!l2cap_pi(sk)->psm) {
-- err = -EINVAL;
-- goto done;
-- }
--
-- sk->max_ack_backlog = backlog;
-- sk->ack_backlog = 0;
-- sk->state = BT_LISTEN;
--
--done:
-- release_sock(sk);
-- return err;
--}
--
--int l2cap_sock_accept(struct socket *sock, struct socket *newsock, int flags)
--{
-- DECLARE_WAITQUEUE(wait, current);
-- struct sock *sk = sock->sk, *ch;
-- long timeo;
-- int err = 0;
--
-- lock_sock(sk);
--
-- if (sk->state != BT_LISTEN) {
-- err = -EBADFD;
-- goto done;
-- }
--
-- timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
--
-- DBG("sk %p timeo %ld", sk, timeo);
--
-- /* Wait for an incoming connection. (wake-one). */
-- add_wait_queue_exclusive(sk->sleep, &wait);
-- current->state = TASK_INTERRUPTIBLE;
-- while (!(ch = l2cap_accept_dequeue(sk, BT_CONNECTED))) {
-- if (!timeo) {
-- err = -EAGAIN;
-- break;
-- }
--
-- release_sock(sk);
-- timeo = schedule_timeout(timeo);
-- lock_sock(sk);
--
-- if (sk->state != BT_LISTEN) {
-- err = -EBADFD;
-- break;
-- }
--
-- if (signal_pending(current)) {
-- err = sock_intr_errno(timeo);
-- break;
-- }
-- }
-- current->state = TASK_RUNNING;
-- remove_wait_queue(sk->sleep, &wait);
--
-- if (err)
-- goto done;
--
-- sock_graft(ch, newsock);
-- newsock->state = SS_CONNECTED;
--
-- DBG("new socket %p", ch);
--
--done:
-- release_sock(sk);
--
-- return err;
--}
--
--static int l2cap_sock_getname(struct socket *sock, struct sockaddr *addr, int *len, int peer)
--{
-- struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr;
-- struct sock *sk = sock->sk;
--
-- DBG("sock %p, sk %p", sock, sk);
--
-- addr->sa_family = AF_BLUETOOTH;
-- *len = sizeof(struct sockaddr_l2);
--
-- if (peer)
-- bacpy(&la->l2_bdaddr, &l2cap_pi(sk)->dst);
-- else
-- bacpy(&la->l2_bdaddr, &l2cap_pi(sk)->src);
--
-- la->l2_psm = l2cap_pi(sk)->psm;
--
-- return 0;
--}
--
--static int l2cap_sock_sendmsg(struct socket *sock, struct msghdr *msg, int len, struct scm_cookie *scm)
--{
-- struct sock *sk = sock->sk;
-- int err = 0;
--
-- DBG("sock %p, sk %p", sock, sk);
--
-- if (sk->err)
-- return sock_error(sk);
--
-- if (msg->msg_flags & MSG_OOB)
-- return -EOPNOTSUPP;
--
-- lock_sock(sk);
--
-- if (sk->state == BT_CONNECTED)
-- err = l2cap_chan_send(sk, msg, len);
-- else
-- err = -ENOTCONN;
--
-- release_sock(sk);
-- return err;
--}
--
--static int l2cap_sock_recvmsg(struct socket *sock, struct msghdr *msg, int len, int flags, struct scm_cookie *scm)
--{
-- struct sock *sk = sock->sk;
-- int noblock = flags & MSG_DONTWAIT;
-- int copied, err;
-- struct sk_buff *skb;
--
-- DBG("sock %p, sk %p", sock, sk);
--
-- if (flags & (MSG_OOB))
-- return -EOPNOTSUPP;
--
-- if (sk->state == BT_CLOSED)
-- return 0;
--
-- if (!(skb = skb_recv_datagram(sk, flags, noblock, &err)))
-- return err;
--
-- msg->msg_namelen = 0;
--
-- copied = skb->len;
-- if (len < copied) {
-- msg->msg_flags |= MSG_TRUNC;
-- copied = len;
-- }
--
-- skb->h.raw = skb->data;
-- err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied);
--
-- skb_free_datagram(sk, skb);
--
-- return err ? : copied;
--}
--
--int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, char *optval, int optlen)
--{
-- struct sock *sk = sock->sk;
-- struct l2cap_options opts;
-- int err = 0;
--
-- DBG("sk %p", sk);
--
-- lock_sock(sk);
--
-- switch (optname) {
-- case L2CAP_OPTIONS:
-- if (copy_from_user((char *)&opts, optval, optlen)) {
-- err = -EFAULT;
-- break;
-- }
-- l2cap_pi(sk)->imtu = opts.imtu;
-- l2cap_pi(sk)->omtu = opts.omtu;
-- break;
--
-- default:
-- err = -ENOPROTOOPT;
-- break;
-- };
--
-- release_sock(sk);
-- return err;
--}
--
--int l2cap_sock_getsockopt(struct socket *sock, int level, int optname, char *optval, int *optlen)
--{
-- struct sock *sk = sock->sk;
-- struct l2cap_options opts;
-- struct l2cap_conninfo cinfo;
-- int len, err = 0;
--
-- if (get_user(len, optlen))
-- return -EFAULT;
--
-- lock_sock(sk);
--
-- switch (optname) {
-- case L2CAP_OPTIONS:
-- opts.imtu = l2cap_pi(sk)->imtu;
-- opts.omtu = l2cap_pi(sk)->omtu;
-- opts.flush_to = l2cap_pi(sk)->flush_to;
--
-- len = MIN(len, sizeof(opts));
-- if (copy_to_user(optval, (char *)&opts, len))
-- err = -EFAULT;
--
-- break;
--
-- case L2CAP_CONNINFO:
-- if (sk->state != BT_CONNECTED) {
-- err = -ENOTCONN;
-- break;
-- }
--
-- cinfo.hci_handle = l2cap_pi(sk)->conn->hconn->handle;
--
-- len = MIN(len, sizeof(cinfo));
-- if (copy_to_user(optval, (char *)&cinfo, len))
-- err = -EFAULT;
--
-- break;
--
-- default:
-- err = -ENOPROTOOPT;
-- break;
-- };
--
-- release_sock(sk);
-- return err;
--}
--
--static unsigned int l2cap_sock_poll(struct file * file, struct socket *sock, poll_table *wait)
--{
-- struct sock *sk = sock->sk;
-- struct l2cap_accept_q *aq;
-- unsigned int mask;
--
-- DBG("sock %p, sk %p", sock, sk);
--
-- poll_wait(file, sk->sleep, wait);
-- mask = 0;
--
-- if (sk->err || !skb_queue_empty(&sk->error_queue))
-- mask |= POLLERR;
--
-- if (sk->shutdown == SHUTDOWN_MASK)
-- mask |= POLLHUP;
--
-- aq = &l2cap_pi(sk)->accept_q;
-- if (!skb_queue_empty(&sk->receive_queue) || aq->head || (sk->shutdown & RCV_SHUTDOWN))
-- mask |= POLLIN | POLLRDNORM;
--
-- if (sk->state == BT_CLOSED)
-- mask |= POLLHUP;
--
-- if (sock_writeable(sk))
-- mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
-- else
-- set_bit(SOCK_ASYNC_NOSPACE, &sk->socket->flags);
--
-- return mask;
--}
--
--static int l2cap_sock_release(struct socket *sock)
--{
-- struct sock *sk = sock->sk;
--
-- DBG("sock %p, sk %p", sock, sk);
--
-- if (!sk)
-- return 0;
--
-- sock_orphan(sk);
--
-- l2cap_sock_close(sk);
--
-- return 0;
--}
--
--/* --------- L2CAP channels --------- */
--static struct sock * __l2cap_get_chan_by_dcid(struct l2cap_chan_list *l, __u16 cid)
--{
-- struct sock *s;
--
-- for (s = l->head; s; s = l2cap_pi(s)->next_c) {
-- if (l2cap_pi(s)->dcid == cid)
-- break;
-- }
--
-- return s;
--}
--
--static inline struct sock *l2cap_get_chan_by_dcid(struct l2cap_chan_list *l, __u16 cid)
--{
-- struct sock *s;
--
-- read_lock(&l->lock);
-- s = __l2cap_get_chan_by_dcid(l, cid);
-- read_unlock(&l->lock);
--
-- return s;
--}
--
--static struct sock *__l2cap_get_chan_by_scid(struct l2cap_chan_list *l, __u16 cid)
--{
-- struct sock *s;
--
-- for (s = l->head; s; s = l2cap_pi(s)->next_c) {
-- if (l2cap_pi(s)->scid == cid)
-- break;
-- }
--
-- return s;
--}
--static inline struct sock *l2cap_get_chan_by_scid(struct l2cap_chan_list *l, __u16 cid)
--{
-- struct sock *s;
--
-- read_lock(&l->lock);
-- s = __l2cap_get_chan_by_scid(l, cid);
-- read_unlock(&l->lock);
--
-- return s;
--}
--
--static struct sock *__l2cap_get_chan_by_ident(struct l2cap_chan_list *l, __u8 ident)
--{
-- struct sock *s;
--
-- for (s = l->head; s; s = l2cap_pi(s)->next_c) {
-- if (l2cap_pi(s)->ident == ident)
-- break;
-- }
--
-- return s;
--}
--
--static inline struct sock *l2cap_get_chan_by_ident(struct l2cap_chan_list *l, __u8 ident)
--{
-- struct sock *s;
--
-- read_lock(&l->lock);
-- s = __l2cap_get_chan_by_ident(l, ident);
-- read_unlock(&l->lock);
--
-- return s;
--}
--
--static __u16 l2cap_alloc_cid(struct l2cap_chan_list *l)
--{
-- __u16 cid = 0x0040;
--
-- for (; cid < 0xffff; cid++) {
-- if(!__l2cap_get_chan_by_scid(l, cid))
-- return cid;
-- }
--
-- return 0;
--}
--
--static inline void __l2cap_chan_link(struct l2cap_chan_list *l, struct sock *sk)
--{
-- sock_hold(sk);
--
-- if (l->head)
-- l2cap_pi(l->head)->prev_c = sk;
--
-- l2cap_pi(sk)->next_c = l->head;
-- l2cap_pi(sk)->prev_c = NULL;
-- l->head = sk;
--}
--
--static inline void l2cap_chan_unlink(struct l2cap_chan_list *l, struct sock *sk)
--{
-- struct sock *next = l2cap_pi(sk)->next_c, *prev = l2cap_pi(sk)->prev_c;
--
-- write_lock(&l->lock);
-- if (sk == l->head)
-- l->head = next;
--
-- if (next)
-- l2cap_pi(next)->prev_c = prev;
-- if (prev)
-- l2cap_pi(prev)->next_c = next;
-- write_unlock(&l->lock);
--
-- __sock_put(sk);
--}
--
--static void __l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent)
--{
-- struct l2cap_chan_list *l = &conn->chan_list;
--
-- DBG("conn %p, psm 0x%2.2x, dcid 0x%4.4x", conn, l2cap_pi(sk)->psm, l2cap_pi(sk)->dcid);
--
-- l2cap_conn_clear_timer(conn);
--
-- atomic_inc(&conn->refcnt);
-- l2cap_pi(sk)->conn = conn;
--
-- if (sk->type == SOCK_SEQPACKET) {
-- /* Alloc CID for normal socket */
-- l2cap_pi(sk)->scid = l2cap_alloc_cid(l);
-- } else {
-- /* Raw socket can send only signalling messages */
-- l2cap_pi(sk)->scid = 0x0001;
-- l2cap_pi(sk)->dcid = 0x0001;
-- l2cap_pi(sk)->omtu = L2CAP_DEFAULT_MTU;
-- }
--
-- __l2cap_chan_link(l, sk);
--
-- if (parent)
-- l2cap_accept_queue(parent, sk);
--}
--
--static inline void l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent)
--{
-- struct l2cap_chan_list *l = &conn->chan_list;
--
-- write_lock(&l->lock);
-- __l2cap_chan_add(conn, sk, parent);
-- write_unlock(&l->lock);
--}
--
--/* Delete channel.
-- * Must be called on the locked socket. */
--static void l2cap_chan_del(struct sock *sk, int err)
--{
-- struct l2cap_conn *conn;
-- struct sock *parent;
--
-- conn = l2cap_pi(sk)->conn;
-- parent = l2cap_pi(sk)->parent;
--
-- DBG("sk %p, conn %p, err %d", sk, conn, err);
--
-- if (parent) {
-- /* Unlink from parent accept queue */
-- bh_lock_sock(parent);
-- l2cap_accept_unlink(sk);
-- bh_unlock_sock(parent);
-- }
--
-- if (conn) {
-- long timeout;
--
-- /* Unlink from channel list */
-- l2cap_chan_unlink(&conn->chan_list, sk);
-- l2cap_pi(sk)->conn = NULL;
--
-- if (conn->out)
-- timeout = L2CAP_DISCONN_TIMEOUT;
-- else
-- timeout = L2CAP_CONN_IDLE_TIMEOUT;
--
-- if (atomic_dec_and_test(&conn->refcnt) && conn->state == BT_CONNECTED) {
-- /* Schedule Baseband disconnect */
-- l2cap_conn_set_timer(conn, timeout);
-- }
-- }
--
-- sk->state = BT_CLOSED;
-- sk->err = err;
-- sk->state_change(sk);
--
-- sk->zapped = 1;
--}
--
--static void l2cap_conn_ready(struct l2cap_conn *conn)
--{
-- struct l2cap_chan_list *l = &conn->chan_list;
-- struct sock *sk;
--
-- DBG("conn %p", conn);
--
-- read_lock(&l->lock);
--
-- for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-- bh_lock_sock(sk);
--
-- if (sk->type != SOCK_SEQPACKET) {
-- sk->state = BT_CONNECTED;
-- sk->state_change(sk);
-- l2cap_sock_clear_timer(sk);
-- } else if (sk->state == BT_CONNECT) {
-- l2cap_conn_req req;
-- req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-- req.psm = l2cap_pi(sk)->psm;
-- l2cap_send_req(conn, L2CAP_CONN_REQ, L2CAP_CONN_REQ_SIZE, &req);
--
-- l2cap_sock_set_timer(sk, sk->sndtimeo);
-- }
--
-- bh_unlock_sock(sk);
-- }
--
-- read_unlock(&l->lock);
--}
--
--static void l2cap_chan_ready(struct sock *sk)
--{
-- struct sock *parent = l2cap_pi(sk)->parent;
--
-- DBG("sk %p, parent %p", sk, parent);
--
-- l2cap_pi(sk)->conf_state = 0;
-- l2cap_sock_clear_timer(sk);
--
-- if (!parent) {
-- /* Outgoing channel.
-- * Wake up socket sleeping on connect.
-- */
-- sk->state = BT_CONNECTED;
-- sk->state_change(sk);
-- } else {
-- /* Incomming channel.
-- * Wake up socket sleeping on accept.
-- */
-- parent->data_ready(parent, 1);
-- }
--}
--
--/* Copy frame to all raw sockets on that connection */
--void l2cap_raw_recv(struct l2cap_conn *conn, struct sk_buff *skb)
--{
-- struct l2cap_chan_list *l = &conn->chan_list;
-- struct sk_buff *nskb;
-- struct sock * sk;
--
-- DBG("conn %p", conn);
--
-- read_lock(&l->lock);
-- for (sk = l->head; sk; sk = l2cap_pi(sk)->next_c) {
-- if (sk->type != SOCK_RAW)
-- continue;
--
-- /* Don't send frame to the socket it came from */
-- if (skb->sk == sk)
-- continue;
--
-- if (!(nskb = skb_clone(skb, GFP_ATOMIC)))
-- continue;
--
-- skb_queue_tail(&sk->receive_queue, nskb);
-- sk->data_ready(sk, nskb->len);
-- }
-- read_unlock(&l->lock);
--}
--
--static int l2cap_chan_send(struct sock *sk, struct msghdr *msg, int len)
--{
-- struct l2cap_conn *conn = l2cap_pi(sk)->conn;
-- struct sk_buff *skb, **frag;
-- int err, size, count, sent=0;
-- l2cap_hdr *lh;
--
-- /* Check outgoing MTU */
-- if (len > l2cap_pi(sk)->omtu)
-- return -EINVAL;
--
-- DBG("sk %p len %d", sk, len);
--
-- /* First fragment (with L2CAP header) */
-- count = MIN(conn->iff->mtu - L2CAP_HDR_SIZE, len);
-- size = L2CAP_HDR_SIZE + count;
-- if (!(skb = bluez_skb_send_alloc(sk, size, msg->msg_flags & MSG_DONTWAIT, &err)))
-- return err;
--
-- /* Create L2CAP header */
-- lh = (l2cap_hdr *) skb_put(skb, L2CAP_HDR_SIZE);
-- lh->len = __cpu_to_le16(len);
-- lh->cid = __cpu_to_le16(l2cap_pi(sk)->dcid);
--
-- if (memcpy_fromiovec(skb_put(skb, count), msg->msg_iov, count)) {
-- err = -EFAULT;
-- goto fail;
-- }
--
-- sent += count;
-- len -= count;
--
-- /* Continuation fragments (no L2CAP header) */
-- frag = &skb_shinfo(skb)->frag_list;
-- while (len) {
-- count = MIN(conn->iff->mtu, len);
--
-- *frag = bluez_skb_send_alloc(sk, count, msg->msg_flags & MSG_DONTWAIT, &err);
-- if (!*frag)
-- goto fail;
--
-- if (memcpy_fromiovec(skb_put(*frag, count), msg->msg_iov, count)) {
-- err = -EFAULT;
-- goto fail;
-- }
--
-- sent += count;
-- len -= count;
--
-- frag = &(*frag)->next;
-- }
--
-- if ((err = hci_send_acl(conn->hconn, skb, 0)) < 0)
-- goto fail;
--
-- return sent;
--
--fail:
-- kfree_skb(skb);
-- return err;
--}
--
--/* --------- L2CAP signalling commands --------- */
--static inline __u8 l2cap_get_ident(struct l2cap_conn *conn)
--{
-- __u8 id;
--
-- /* Get next available identificator.
-- * 1 - 199 are used by kernel.
-- * 200 - 254 are used by utilities like l2ping, etc
-- */
--
-- spin_lock(&conn->lock);
--
-- if (++conn->tx_ident > 199)
-- conn->tx_ident = 1;
--
-- id = conn->tx_ident;
--
-- spin_unlock(&conn->lock);
--
-- return id;
--}
--
--static inline struct sk_buff *l2cap_build_cmd(__u8 code, __u8 ident, __u16 len, void *data)
--{
-- struct sk_buff *skb;
-- l2cap_cmd_hdr *cmd;
-- l2cap_hdr *lh;
-- int size;
--
-- DBG("code 0x%2.2x, ident 0x%2.2x, len %d", code, ident, len);
--
-- size = L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE + len;
-- if (!(skb = bluez_skb_alloc(size, GFP_ATOMIC)))
-- return NULL;
--
-- lh = (l2cap_hdr *) skb_put(skb, L2CAP_HDR_SIZE);
-- lh->len = __cpu_to_le16(L2CAP_CMD_HDR_SIZE + len);
-- lh->cid = __cpu_to_le16(0x0001);
--
-- cmd = (l2cap_cmd_hdr *) skb_put(skb, L2CAP_CMD_HDR_SIZE);
-- cmd->code = code;
-- cmd->ident = ident;
-- cmd->len = __cpu_to_le16(len);
--
-- if (len)
-- memcpy(skb_put(skb, len), data, len);
--
-- return skb;
--}
--
--static int l2cap_send_req(struct l2cap_conn *conn, __u8 code, __u16 len, void *data)
--{
-- struct sk_buff *skb;
-- __u8 ident;
--
-- DBG("code 0x%2.2x", code);
--
-- ident = l2cap_get_ident(conn);
-- if (!(skb = l2cap_build_cmd(code, ident, len, data)))
-- return -ENOMEM;
-- return hci_send_acl(conn->hconn, skb, 0);
--}
--
--static int l2cap_send_rsp(struct l2cap_conn *conn, __u8 ident, __u8 code, __u16 len, void *data)
--{
-- struct sk_buff *skb;
--
-- DBG("code 0x%2.2x", code);
--
-- if (!(skb = l2cap_build_cmd(code, ident, len, data)))
-- return -ENOMEM;
-- return hci_send_acl(conn->hconn, skb, 0);
--}
--
--static inline int l2cap_get_conf_opt(__u8 **ptr, __u8 *type, __u32 *val)
--{
-- l2cap_conf_opt *opt = (l2cap_conf_opt *) (*ptr);
-- int len;
--
-- *type = opt->type;
-- switch (opt->len) {
-- case 1:
-- *val = *((__u8 *) opt->val);
-- break;
--
-- case 2:
-- *val = __le16_to_cpu(*((__u16 *)opt->val));
-- break;
--
-- case 4:
-- *val = __le32_to_cpu(*((__u32 *)opt->val));
-- break;
--
-- default:
-- *val = 0L;
-- break;
-- };
--
-- DBG("type 0x%2.2x len %d val 0x%8.8x", *type, opt->len, *val);
--
-- len = L2CAP_CONF_OPT_SIZE + opt->len;
--
-- *ptr += len;
--
-- return len;
--}
--
--static inline void l2cap_parse_conf_req(struct sock *sk, char *data, int len)
--{
-- __u8 type, hint; __u32 val;
-- __u8 *ptr = data;
--
-- DBG("sk %p len %d", sk, len);
--
-- while (len >= L2CAP_CONF_OPT_SIZE) {
-- len -= l2cap_get_conf_opt(&ptr, &type, &val);
--
-- hint = type & 0x80;
-- type &= 0x7f;
--
-- switch (type) {
-- case L2CAP_CONF_MTU:
-- l2cap_pi(sk)->conf_mtu = val;
-- break;
--
-- case L2CAP_CONF_FLUSH_TO:
-- l2cap_pi(sk)->flush_to = val;
-- break;
--
-- case L2CAP_CONF_QOS:
-- break;
--
-- default:
-- if (hint)
-- break;
--
-- /* FIXME: Reject unknon option */
-- break;
-- };
-- }
--}
--
--static inline void l2cap_add_conf_opt(__u8 **ptr, __u8 type, __u8 len, __u32 val)
--{
-- register l2cap_conf_opt *opt = (l2cap_conf_opt *) (*ptr);
--
-- DBG("type 0x%2.2x len %d val 0x%8.8x", type, len, val);
--
-- opt->type = type;
-- opt->len = len;
-- switch (len) {
-- case 1:
-- *((__u8 *) opt->val) = val;
-- break;
--
-- case 2:
-- *((__u16 *) opt->val) = __cpu_to_le16(val);
-- break;
--
-- case 4:
-- *((__u32 *) opt->val) = __cpu_to_le32(val);
-- break;
-- };
--
-- *ptr += L2CAP_CONF_OPT_SIZE + len;
--}
--
--static int l2cap_build_conf_req(struct sock *sk, __u8 *data)
--{
-- struct l2cap_pinfo *pi = l2cap_pi(sk);
-- l2cap_conf_req *req = (l2cap_conf_req *) data;
-- __u8 *ptr = req->data;
--
-- DBG("sk %p", sk);
--
-- if (pi->imtu != L2CAP_DEFAULT_MTU)
-- l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, pi->imtu);
--
-- /* FIXME. Need actual value of the flush timeout */
-- //if (flush_to != L2CAP_DEFAULT_FLUSH_TO)
-- // l2cap_add_conf_opt(&ptr, L2CAP_CONF_FLUSH_TO, 2, pi->flush_to);
--
-- req->dcid = __cpu_to_le16(pi->dcid);
-- req->flags = __cpu_to_le16(0);
--
-- return ptr - data;
--}
--
--static int l2cap_conf_output(struct sock *sk, __u8 **ptr)
--{
-- struct l2cap_pinfo *pi = l2cap_pi(sk);
-- int result = 0;
--
-- /* Configure output options and let other side know
-- * which ones we don't like.
-- */
-- if (pi->conf_mtu < pi->omtu) {
-- l2cap_add_conf_opt(ptr, L2CAP_CONF_MTU, 2, l2cap_pi(sk)->omtu);
-- result = L2CAP_CONF_UNACCEPT;
-- } else {
-- pi->omtu = pi->conf_mtu;
-- }
--
-- DBG("sk %p result %d", sk, result);
-- return result;
--}
--
--static int l2cap_build_conf_rsp(struct sock *sk, __u8 *data, int *result)
--{
-- l2cap_conf_rsp *rsp = (l2cap_conf_rsp *) data;
-- __u8 *ptr = rsp->data;
--
-- DBG("sk %p complete %d", sk, result ? 1 : 0);
--
-- if (result)
-- *result = l2cap_conf_output(sk, &ptr);
--
-- rsp->scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-- rsp->result = __cpu_to_le16(result ? *result : 0);
-- rsp->flags = __cpu_to_le16(0);
--
-- return ptr - data;
--}
--
--static inline int l2cap_connect_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
--{
-- struct l2cap_chan_list *list = &conn->chan_list;
-- l2cap_conn_req *req = (l2cap_conn_req *) data;
-- l2cap_conn_rsp rsp;
-- struct sock *sk, *parent;
--
-- __u16 scid = __le16_to_cpu(req->scid);
-- __u16 psm = req->psm;
--
-- DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid);
--
-- /* Check if we have socket listening on psm */
-- if (!(parent = l2cap_get_sock_listen(&conn->src, psm)))
-- goto reject;
--
-- bh_lock_sock(parent);
-- write_lock(&list->lock);
--
-- /* Check if we already have channel with that dcid */
-- if (__l2cap_get_chan_by_dcid(list, scid))
-- goto unlock;
--
-- /* Check for backlog size */
-- if (parent->ack_backlog > parent->max_ack_backlog)
-- goto unlock;
--
-- if (!(sk = l2cap_sock_alloc(NULL, BTPROTO_L2CAP, GFP_ATOMIC)))
-- goto unlock;
--
-- l2cap_sock_init(sk, parent);
--
-- bacpy(&l2cap_pi(sk)->src, &conn->src);
-- bacpy(&l2cap_pi(sk)->dst, &conn->dst);
-- l2cap_pi(sk)->psm = psm;
-- l2cap_pi(sk)->dcid = scid;
--
-- __l2cap_chan_add(conn, sk, parent);
-- sk->state = BT_CONFIG;
--
-- write_unlock(&list->lock);
-- bh_unlock_sock(parent);
--
-- rsp.dcid = __cpu_to_le16(l2cap_pi(sk)->scid);
-- rsp.scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-- rsp.result = __cpu_to_le16(0);
-- rsp.status = __cpu_to_le16(0);
-- l2cap_send_rsp(conn, cmd->ident, L2CAP_CONN_RSP, L2CAP_CONN_RSP_SIZE, &rsp);
--
-- return 0;
--
--unlock:
-- write_unlock(&list->lock);
-- bh_unlock_sock(parent);
--
--reject:
-- rsp.scid = __cpu_to_le16(scid);
-- rsp.dcid = __cpu_to_le16(0);
-- rsp.status = __cpu_to_le16(0);
-- rsp.result = __cpu_to_le16(L2CAP_CONN_NO_MEM);
-- l2cap_send_rsp(conn, cmd->ident, L2CAP_CONN_RSP, L2CAP_CONN_RSP_SIZE, &rsp);
--
-- return 0;
--}
--
--static inline int l2cap_connect_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
--{
-- l2cap_conn_rsp *rsp = (l2cap_conn_rsp *) data;
-- __u16 scid, dcid, result, status;
-- struct sock *sk;
--
-- scid = __le16_to_cpu(rsp->scid);
-- dcid = __le16_to_cpu(rsp->dcid);
-- result = __le16_to_cpu(rsp->result);
-- status = __le16_to_cpu(rsp->status);
--
-- DBG("dcid 0x%4.4x scid 0x%4.4x result 0x%2.2x status 0x%2.2x", dcid, scid, result, status);
--
-- if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
-- return -ENOENT;
--
-- bh_lock_sock(sk);
--
-- if (!result) {
-- char req[64];
--
-- sk->state = BT_CONFIG;
-- l2cap_pi(sk)->dcid = dcid;
-- l2cap_pi(sk)->conf_state |= CONF_REQ_SENT;
--
-- l2cap_send_req(conn, L2CAP_CONF_REQ, l2cap_build_conf_req(sk, req), req);
-- } else {
-- l2cap_chan_del(sk, ECONNREFUSED);
-- }
--
-- bh_unlock_sock(sk);
-- return 0;
--}
--
--static inline int l2cap_config_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
--{
-- l2cap_conf_req * req = (l2cap_conf_req *) data;
-- __u16 dcid, flags;
-- __u8 rsp[64];
-- struct sock *sk;
-- int result;
--
-- dcid = __le16_to_cpu(req->dcid);
-- flags = __le16_to_cpu(req->flags);
--
-- DBG("dcid 0x%4.4x flags 0x%2.2x", dcid, flags);
--
-- if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, dcid)))
-- return -ENOENT;
--
-- bh_lock_sock(sk);
--
-- l2cap_parse_conf_req(sk, req->data, cmd->len - L2CAP_CONF_REQ_SIZE);
--
-- if (flags & 0x01) {
-- /* Incomplete config. Send empty response. */
-- l2cap_send_rsp(conn, cmd->ident, L2CAP_CONF_RSP, l2cap_build_conf_rsp(sk, rsp, NULL), rsp);
-- goto unlock;
-- }
--
-- /* Complete config. */
-- l2cap_send_rsp(conn, cmd->ident, L2CAP_CONF_RSP, l2cap_build_conf_rsp(sk, rsp, &result), rsp);
--
-- if (result)
-- goto unlock;
--
-- /* Output config done */
-- l2cap_pi(sk)->conf_state |= CONF_OUTPUT_DONE;
--
-- if (l2cap_pi(sk)->conf_state & CONF_INPUT_DONE) {
-- sk->state = BT_CONNECTED;
-- l2cap_chan_ready(sk);
-- } else if (!(l2cap_pi(sk)->conf_state & CONF_REQ_SENT)) {
-- char req[64];
-- l2cap_send_req(conn, L2CAP_CONF_REQ, l2cap_build_conf_req(sk, req), req);
-- }
--
--unlock:
-- bh_unlock_sock(sk);
--
-- return 0;
--}
--
--static inline int l2cap_config_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
--{
-- l2cap_conf_rsp *rsp = (l2cap_conf_rsp *)data;
-- __u16 scid, flags, result;
-- struct sock *sk;
-- int err = 0;
--
-- scid = __le16_to_cpu(rsp->scid);
-- flags = __le16_to_cpu(rsp->flags);
-- result = __le16_to_cpu(rsp->result);
--
-- DBG("scid 0x%4.4x flags 0x%2.2x result 0x%2.2x", scid, flags, result);
--
-- if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
-- return -ENOENT;
--
-- bh_lock_sock(sk);
--
-- if (result) {
-- l2cap_disconn_req req;
--
-- /* They didn't like our options. Well... we do not negotiate.
-- * Close channel.
-- */
-- sk->state = BT_DISCONN;
--
-- req.dcid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-- req.scid = __cpu_to_le16(l2cap_pi(sk)->scid);
-- l2cap_send_req(conn, L2CAP_DISCONN_REQ, L2CAP_DISCONN_REQ_SIZE, &req);
--
-- l2cap_sock_set_timer(sk, sk->sndtimeo);
-- goto done;
-- }
--
-- if (flags & 0x01)
-- goto done;
--
-- /* Input config done */
-- l2cap_pi(sk)->conf_state |= CONF_INPUT_DONE;
--
-- if (l2cap_pi(sk)->conf_state & CONF_OUTPUT_DONE) {
-- sk->state = BT_CONNECTED;
-- l2cap_chan_ready(sk);
-- }
--
--done:
-- bh_unlock_sock(sk);
--
-- return err;
--}
--
--static inline int l2cap_disconnect_req(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
--{
-- l2cap_disconn_req *req = (l2cap_disconn_req *) data;
-- l2cap_disconn_rsp rsp;
-- __u16 dcid, scid;
-- struct sock *sk;
--
-- scid = __le16_to_cpu(req->scid);
-- dcid = __le16_to_cpu(req->dcid);
--
-- DBG("scid 0x%4.4x dcid 0x%4.4x", scid, dcid);
--
-- if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, dcid)))
-- return 0;
--
-- bh_lock_sock(sk);
--
-- rsp.dcid = __cpu_to_le16(l2cap_pi(sk)->scid);
-- rsp.scid = __cpu_to_le16(l2cap_pi(sk)->dcid);
-- l2cap_send_rsp(conn, cmd->ident, L2CAP_DISCONN_RSP, L2CAP_DISCONN_RSP_SIZE, &rsp);
--
-- l2cap_chan_del(sk, ECONNRESET);
--
-- bh_unlock_sock(sk);
--
-- l2cap_sock_kill(sk);
--
-- return 0;
--}
--
--static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, l2cap_cmd_hdr *cmd, __u8 *data)
--{
-- l2cap_disconn_rsp *rsp = (l2cap_disconn_rsp *) data;
-- __u16 dcid, scid;
-- struct sock *sk;
--
-- scid = __le16_to_cpu(rsp->scid);
-- dcid = __le16_to_cpu(rsp->dcid);
--
-- DBG("dcid 0x%4.4x scid 0x%4.4x", dcid, scid);
--
-- if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
-- return -ENOENT;
--
-- bh_lock_sock(sk);
-- l2cap_sock_clear_timer(sk);
-- l2cap_chan_del(sk, ECONNABORTED);
-- bh_unlock_sock(sk);
--
-- l2cap_sock_kill(sk);
--
-- return 0;
--}
--
--static inline void l2cap_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb)
--{
-- __u8 *data = skb->data;
-- int len = skb->len;
-- l2cap_cmd_hdr cmd;
-- int err = 0;
--
-- while (len >= L2CAP_CMD_HDR_SIZE) {
-- memcpy(&cmd, data, L2CAP_CMD_HDR_SIZE);
-- data += L2CAP_CMD_HDR_SIZE;
-- len -= L2CAP_CMD_HDR_SIZE;
--
-- cmd.len = __le16_to_cpu(cmd.len);
--
-- DBG("code 0x%2.2x len %d id 0x%2.2x", cmd.code, cmd.len, cmd.ident);
--
-- if (cmd.len > len || !cmd.ident) {
-- DBG("corrupted command");
-- break;
-- }
--
-- switch (cmd.code) {
-- case L2CAP_CONN_REQ:
-- err = l2cap_connect_req(conn, &cmd, data);
-- break;
--
-- case L2CAP_CONN_RSP:
-- err = l2cap_connect_rsp(conn, &cmd, data);
-- break;
--
-- case L2CAP_CONF_REQ:
-- err = l2cap_config_req(conn, &cmd, data);
-- break;
--
-- case L2CAP_CONF_RSP:
-- err = l2cap_config_rsp(conn, &cmd, data);
-- break;
--
-- case L2CAP_DISCONN_REQ:
-- err = l2cap_disconnect_req(conn, &cmd, data);
-- break;
--
-- case L2CAP_DISCONN_RSP:
-- err = l2cap_disconnect_rsp(conn, &cmd, data);
-- break;
--
-- case L2CAP_COMMAND_REJ:
-- /* FIXME: We should process this */
-- l2cap_raw_recv(conn, skb);
-- break;
--
-- case L2CAP_ECHO_REQ:
-- l2cap_send_rsp(conn, cmd.ident, L2CAP_ECHO_RSP, cmd.len, data);
-- break;
--
-- case L2CAP_ECHO_RSP:
-- case L2CAP_INFO_REQ:
-- case L2CAP_INFO_RSP:
-- l2cap_raw_recv(conn, skb);
-- break;
--
-- default:
-- ERR("Uknown signaling command 0x%2.2x", cmd.code);
-- err = -EINVAL;
-- break;
-- };
--
-- if (err) {
-- l2cap_cmd_rej rej;
-- DBG("error %d", err);
--
-- /* FIXME: Map err to a valid reason. */
-- rej.reason = __cpu_to_le16(0);
-- l2cap_send_rsp(conn, cmd.ident, L2CAP_COMMAND_REJ, L2CAP_CMD_REJ_SIZE, &rej);
-- }
--
-- data += cmd.len;
-- len -= cmd.len;
-- }
--
-- kfree_skb(skb);
--}
--
--static inline int l2cap_data_channel(struct l2cap_conn *conn, __u16 cid, struct sk_buff *skb)
--{
-- struct sock *sk;
--
-- if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, cid))) {
-- DBG("unknown cid 0x%4.4x", cid);
-- goto drop;
-- }
--
-- DBG("sk %p, len %d", sk, skb->len);
--
-- if (sk->state != BT_CONNECTED)
-- goto drop;
--
-- if (l2cap_pi(sk)->imtu < skb->len)
-- goto drop;
--
-- skb_queue_tail(&sk->receive_queue, skb);
-- sk->data_ready(sk, skb->len);
--
-- return 0;
--
--drop:
-- kfree_skb(skb);
--
-- return 0;
--}
--
--static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb)
--{
-- l2cap_hdr *lh = (l2cap_hdr *) skb->data;
-- __u16 cid, len;
--
-- skb_pull(skb, L2CAP_HDR_SIZE);
-- cid = __le16_to_cpu(lh->cid);
-- len = __le16_to_cpu(lh->len);
--
-- DBG("len %d, cid 0x%4.4x", len, cid);
--
-- if (cid == 0x0001)
-- l2cap_sig_channel(conn, skb);
-- else
-- l2cap_data_channel(conn, cid, skb);
--}
--
--/* ------------ L2CAP interface with lower layer (HCI) ------------- */
--static int l2cap_dev_event(struct notifier_block *this, unsigned long event, void *ptr)
--{
-- struct hci_dev *hdev = (struct hci_dev *) ptr;
--
-- DBG("hdev %s, event %ld", hdev->name, event);
--
-- write_lock(&l2cap_rt_lock);
--
-- switch (event) {
-- case HCI_DEV_UP:
-- l2cap_iff_add(hdev);
-- break;
--
-- case HCI_DEV_DOWN:
-- l2cap_iff_del(hdev);
-- break;
-- };
--
-- write_unlock(&l2cap_rt_lock);
--
-- return NOTIFY_DONE;
--}
--
--int l2cap_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr)
--{
-- struct l2cap_iff *iff;
--
-- DBG("hdev %s, bdaddr %s", hdev->name, batostr(bdaddr));
--
-- if (!(iff = hdev->l2cap_data)) {
-- ERR("unknown interface");
-- return 0;
-- }
--
-- /* Always accept connection */
-- return 1;
--}
--
--int l2cap_connect_cfm(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 status, struct hci_conn *hconn)
--{
-- struct l2cap_conn *conn;
-- struct l2cap_iff *iff;
-- int err = 0;
--
-- DBG("hdev %s bdaddr %s hconn %p", hdev->name, batostr(bdaddr), hconn);
--
-- if (!(iff = hdev->l2cap_data)) {
-- ERR("unknown interface");
-- return 0;
-- }
--
-- l2cap_iff_lock(iff);
--
-- conn = l2cap_get_conn_by_addr(iff, bdaddr);
--
-- if (conn) {
-- /* Outgoing connection */
-- DBG("Outgoing connection: %s -> %s, %p, %2.2x", batostr(iff->bdaddr), batostr(bdaddr), conn, status);
--
-- if (!status && hconn) {
-- conn->state = BT_CONNECTED;
-- conn->hconn = hconn;
--
-- hconn->l2cap_data = (void *)conn;
--
-- /* Establish channels */
-- l2cap_conn_ready(conn);
-- } else {
-- l2cap_conn_del(conn, bterr(status));
-- }
-- } else {
-- /* Incomming connection */
-- DBG("Incomming connection: %s -> %s, %2.2x", batostr(iff->bdaddr), batostr(bdaddr), status);
--
-- if (status || !hconn)
-- goto done;
--
-- if (!(conn = l2cap_conn_add(iff, bdaddr))) {
-- err = -ENOMEM;
-- goto done;
-- }
--
-- conn->hconn = hconn;
-- hconn->l2cap_data = (void *)conn;
--
-- conn->state = BT_CONNECTED;
-- }
--
--done:
-- l2cap_iff_unlock(iff);
--
-- return err;
--}
--
--int l2cap_disconn_ind(struct hci_conn *hconn, __u8 reason)
--{
-- struct l2cap_conn *conn = hconn->l2cap_data;
--
-- DBG("hconn %p reason %d", hconn, reason);
--
-- if (!conn) {
-- ERR("unknown connection");
-- return 0;
-- }
-- conn->hconn = NULL;
--
-- l2cap_iff_lock(conn->iff);
-- l2cap_conn_del(conn, bterr(reason));
-- l2cap_iff_unlock(conn->iff);
--
-- return 0;
--}
--
--int l2cap_recv_acldata(struct hci_conn *hconn, struct sk_buff *skb, __u16 flags)
--{
-- struct l2cap_conn *conn = hconn->l2cap_data;
--
-- if (!conn) {
-- ERR("unknown connection %p", hconn);
-- goto drop;
-- }
--
-- DBG("conn %p len %d flags 0x%x", conn, skb->len, flags);
--
-- if (flags & ACL_START) {
-- int flen, tlen, size;
-- l2cap_hdr *lh;
--
-- if (conn->rx_len) {
-- ERR("Unexpected start frame (len %d)", skb->len);
-- kfree_skb(conn->rx_skb); conn->rx_skb = NULL;
-- conn->rx_len = 0;
-- }
--
-- if (skb->len < L2CAP_HDR_SIZE) {
-- ERR("Frame is too small (len %d)", skb->len);
-- goto drop;
-- }
--
-- lh = (l2cap_hdr *)skb->data;
-- tlen = __le16_to_cpu(lh->len);
-- flen = skb->len - L2CAP_HDR_SIZE;
--
-- DBG("Start: total len %d, frag len %d", tlen, flen);
--
-- if (flen == tlen) {
-- /* Complete frame received */
-- l2cap_recv_frame(conn, skb);
-- return 0;
-- }
--
-- /* Allocate skb for the complete frame (with header) */
-- size = L2CAP_HDR_SIZE + tlen;
-- if (!(conn->rx_skb = bluez_skb_alloc(size, GFP_ATOMIC)))
-- goto drop;
--
-- memcpy(skb_put(conn->rx_skb, skb->len), skb->data, skb->len);
--
-- conn->rx_len = tlen - flen;
-- } else {
-- DBG("Cont: frag len %d (expecting %d)", skb->len, conn->rx_len);
--
-- if (!conn->rx_len) {
-- ERR("Unexpected continuation frame (len %d)", skb->len);
-- goto drop;
-- }
--
-- if (skb->len > conn->rx_len) {
-- ERR("Fragment is too large (len %d)", skb->len);
-- kfree_skb(conn->rx_skb); conn->rx_skb = NULL;
-- goto drop;
-- }
--
-- memcpy(skb_put(conn->rx_skb, skb->len), skb->data, skb->len);
-- conn->rx_len -= skb->len;
--
-- if (!conn->rx_len) {
-- /* Complete frame received */
-- l2cap_recv_frame(conn, conn->rx_skb);
-- conn->rx_skb = NULL;
-- }
-- }
--
--drop:
-- kfree_skb(skb);
-- return 0;
--}
--
--struct proto_ops l2cap_sock_ops = {
-- family: PF_BLUETOOTH,
-- release: l2cap_sock_release,
-- bind: l2cap_sock_bind,
-- connect: l2cap_sock_connect,
-- listen: l2cap_sock_listen,
-- accept: l2cap_sock_accept,
-- getname: l2cap_sock_getname,
-- sendmsg: l2cap_sock_sendmsg,
-- recvmsg: l2cap_sock_recvmsg,
-- poll: l2cap_sock_poll,
-- socketpair: sock_no_socketpair,
-- ioctl: sock_no_ioctl,
-- shutdown: sock_no_shutdown,
-- setsockopt: l2cap_sock_setsockopt,
-- getsockopt: l2cap_sock_getsockopt,
-- mmap: sock_no_mmap
--};
--
--struct net_proto_family l2cap_sock_family_ops = {
-- family: PF_BLUETOOTH,
-- create: l2cap_sock_create
--};
--
--struct hci_proto l2cap_hci_proto = {
-- name: "L2CAP",
-- id: HCI_PROTO_L2CAP,
-- connect_ind: l2cap_connect_ind,
-- connect_cfm: l2cap_connect_cfm,
-- disconn_ind: l2cap_disconn_ind,
-- recv_acldata: l2cap_recv_acldata,
--};
--
--struct notifier_block l2cap_nblock = {
-- notifier_call: l2cap_dev_event
--};
--
--int __init l2cap_init(void)
--{
-- INF("BlueZ L2CAP ver %s Copyright (C) 2000,2001 Qualcomm Inc",
-- VERSION);
-- INF("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
--
-- if (bluez_sock_register(BTPROTO_L2CAP, &l2cap_sock_family_ops)) {
-- ERR("Can't register L2CAP socket");
-- return -EPROTO;
-- }
--
-- if (hci_register_proto(&l2cap_hci_proto) < 0) {
-- ERR("Can't register L2CAP protocol");
-- return -EPROTO;
-- }
--
-- hci_register_notifier(&l2cap_nblock);
--
-- l2cap_register_proc();
--
-- return 0;
--}
--
--void l2cap_cleanup(void)
--{
-- l2cap_unregister_proc();
--
-- /* Unregister socket, protocol and notifier */
-- if (bluez_sock_unregister(BTPROTO_L2CAP))
-- ERR("Can't unregister L2CAP socket");
--
-- if (hci_unregister_proto(&l2cap_hci_proto) < 0)
-- ERR("Can't unregister L2CAP protocol");
--
-- hci_unregister_notifier(&l2cap_nblock);
--
-- /* We _must_ not have any sockets and/or connections
-- * at this stage.
-- */
--
-- /* Free interface list and unlock HCI devices */
-- {
-- struct list_head *list = &l2cap_iff_list;
--
-- while (!list_empty(list)) {
-- struct l2cap_iff *iff;
--
-- iff = list_entry(list->next, struct l2cap_iff, list);
-- l2cap_iff_del(iff->hdev);
-- }
-- }
--}
--
--module_init(l2cap_init);
--module_exit(l2cap_cleanup);
--
--MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
--MODULE_DESCRIPTION("BlueZ L2CAP ver " VERSION);
--MODULE_LICENSE("GPL");
--
-diff -urN linux-2.4.18/net/bluetooth/l2cap_proc.c linux-2.4.18-mh15/net/bluetooth/l2cap_proc.c
---- linux-2.4.18/net/bluetooth/l2cap_proc.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/l2cap_proc.c 1970-01-01 01:00:00.000000000 +0100
-@@ -1,165 +0,0 @@
--/*
-- BlueZ - Bluetooth protocol stack for Linux
-- Copyright (C) 2000-2001 Qualcomm Incorporated
--
-- Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
--
-- 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 OF THIRD PARTY RIGHTS.
-- IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-- SOFTWARE IS DISCLAIMED.
--*/
--
--/*
-- * BlueZ L2CAP proc fs support.
-- *
-- * $Id: l2cap_proc.c,v 1.2 2001/06/02 01:40:09 maxk Exp $
-- */
--
--#include <linux/config.h>
--#include <linux/module.h>
--
--#include <linux/types.h>
--#include <linux/errno.h>
--#include <linux/kernel.h>
--#include <linux/major.h>
--#include <linux/sched.h>
--#include <linux/slab.h>
--#include <linux/poll.h>
--#include <linux/fcntl.h>
--#include <linux/init.h>
--#include <linux/skbuff.h>
--#include <linux/interrupt.h>
--#include <linux/socket.h>
--#include <linux/skbuff.h>
--#include <linux/proc_fs.h>
--#include <linux/list.h>
--#include <net/sock.h>
--
--#include <asm/system.h>
--#include <asm/uaccess.h>
--
--#include <net/bluetooth/bluez.h>
--#include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/hci_core.h>
--#include <net/bluetooth/l2cap_core.h>
--
--#ifndef L2CAP_DEBUG
--#undef DBG
--#define DBG( A... )
--#endif
--
--/* ----- PROC fs support ----- */
--static int l2cap_conn_dump(char *buf, struct l2cap_iff *iff)
--{
-- struct list_head *p;
-- char *ptr = buf;
--
-- list_for_each(p, &iff->conn_list) {
-- struct l2cap_conn *c;
--
-- c = list_entry(p, struct l2cap_conn, list);
-- ptr += sprintf(ptr, " %p %d %p %p %s %s\n",
-- c, c->state, c->iff, c->hconn, batostr(&c->src), batostr(&c->dst));
-- }
--
-- return ptr - buf;
--}
--
--static int l2cap_iff_dump(char *buf)
--{
-- struct list_head *p;
-- char *ptr = buf;
--
-- ptr += sprintf(ptr, "Interfaces:\n");
--
-- write_lock(&l2cap_rt_lock);
--
-- list_for_each(p, &l2cap_iff_list) {
-- struct l2cap_iff *iff;
--
-- iff = list_entry(p, struct l2cap_iff, list);
--
-- ptr += sprintf(ptr, " %s %p %p\n", iff->hdev->name, iff, iff->hdev);
--
-- l2cap_iff_lock(iff);
-- ptr += l2cap_conn_dump(ptr, iff);
-- l2cap_iff_unlock(iff);
-- }
--
-- write_unlock(&l2cap_rt_lock);
--
-- ptr += sprintf(ptr, "\n");
--
-- return ptr - buf;
--}
--
--static int l2cap_sock_dump(char *buf, struct bluez_sock_list *list)
--{
-- struct l2cap_pinfo *pi;
-- struct sock *sk;
-- char *ptr = buf;
--
-- ptr += sprintf(ptr, "Sockets:\n");
--
-- write_lock(&list->lock);
--
-- for (sk = list->head; sk; sk = sk->next) {
-- pi = l2cap_pi(sk);
-- ptr += sprintf(ptr, " %p %d %p %d %s %s 0x%4.4x 0x%4.4x %d %d\n", sk, sk->state, pi->conn, pi->psm,
-- batostr(&pi->src), batostr(&pi->dst), pi->scid, pi->dcid, pi->imtu, pi->omtu );
-- }
--
-- write_unlock(&list->lock);
--
-- ptr += sprintf(ptr, "\n");
--
-- return ptr - buf;
--}
--
--static int l2cap_read_proc(char *buf, char **start, off_t offset, int count, int *eof, void *priv)
--{
-- char *ptr = buf;
-- int len;
--
-- DBG("count %d, offset %ld", count, offset);
--
-- ptr += l2cap_iff_dump(ptr);
-- ptr += l2cap_sock_dump(ptr, &l2cap_sk_list);
-- len = ptr - buf;
--
-- if (len <= count + offset)
-- *eof = 1;
--
-- *start = buf + offset;
-- len -= offset;
--
-- if (len > count)
-- len = count;
-- if (len < 0)
-- len = 0;
--
-- return len;
--}
--
--void l2cap_register_proc(void)
--{
-- create_proc_read_entry("bluetooth/l2cap", 0, 0, l2cap_read_proc, NULL);
--}
--
--void l2cap_unregister_proc(void)
--{
-- remove_proc_entry("bluetooth/l2cap", NULL);
--}
-diff -urN linux-2.4.18/net/bluetooth/lib.c linux-2.4.18-mh15/net/bluetooth/lib.c
---- linux-2.4.18/net/bluetooth/lib.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/lib.c 2004-08-01 16:26:23.000000000 +0200
-@@ -25,7 +25,7 @@
- /*
- * BlueZ kernel library.
- *
-- * $Id: lib.c,v 1.3 2001/06/22 23:14:23 maxk Exp $
-+ * $Id: lib.c,v 1.2 2002/06/20 19:55:08 maxk Exp $
- */
-
- #include <linux/kernel.h>
-@@ -105,7 +105,7 @@
- return EACCES;
-
- case 0x06:
-- return EINVAL;
-+ return EBADE;
-
- case 0x07:
- return ENOMEM;
-diff -urN linux-2.4.18/net/bluetooth/Makefile linux-2.4.18-mh15/net/bluetooth/Makefile
---- linux-2.4.18/net/bluetooth/Makefile 2001-06-12 04:15:27.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -1,20 +1,40 @@
- #
--# Makefile for the Bluetooth subsystem
-+# Makefile for the Linux Bluetooth subsystem
- #
--O_TARGET := bluetooth.o
-
--list-multi := hci.o l2cap.o
--export-objs := syms.o
--hci-objs := af_bluetooth.o hci_core.o hci_sock.o lib.o syms.o
--l2cap-objs := l2cap_core.o l2cap_proc.o
-+O_TARGET := bluetooth.o
-
--obj-$(CONFIG_BLUEZ) += hci.o
-+list-multi := bluez.o
-+export-objs := syms.o l2cap.o
-+
-+bluez-objs := af_bluetooth.o hci_core.o hci_conn.o hci_event.o hci_sock.o lib.o syms.o
-+
-+obj-$(CONFIG_BLUEZ) += bluez.o
- obj-$(CONFIG_BLUEZ_L2CAP) += l2cap.o
-+obj-$(CONFIG_BLUEZ_SCO) += sco.o
-
--include $(TOPDIR)/Rules.make
-+subdir-$(CONFIG_BLUEZ_RFCOMM) += rfcomm
-+subdir-$(CONFIG_BLUEZ_BNEP) += bnep
-+subdir-$(CONFIG_BLUEZ_CMTP) += cmtp
-+subdir-$(CONFIG_BLUEZ_HIDP) += hidp
-+
-+ifeq ($(CONFIG_BLUEZ_RFCOMM),y)
-+obj-y += rfcomm/rfcomm.o
-+endif
-
--hci.o: $(hci-objs)
-- $(LD) -r -o $@ $(hci-objs)
-+ifeq ($(CONFIG_BLUEZ_BNEP),y)
-+obj-y += bnep/bnep.o
-+endif
-+
-+ifeq ($(CONFIG_BLUEZ_CMTP),y)
-+obj-y += cmtp/cmtp.o
-+endif
-+
-+ifeq ($(CONFIG_BLUEZ_HIDP),y)
-+obj-y += hidp/hidp.o
-+endif
-+
-+include $(TOPDIR)/Rules.make
-
--l2cap.o: $(l2cap-objs)
-- $(LD) -r -o $@ $(l2cap-objs)
-+bluez.o: $(bluez-objs)
-+ $(LD) -r -o $@ $(bluez-objs)
-diff -urN linux-2.4.18/net/bluetooth/rfcomm/Config.in linux-2.4.18-mh15/net/bluetooth/rfcomm/Config.in
---- linux-2.4.18/net/bluetooth/rfcomm/Config.in 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/rfcomm/Config.in 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,10 @@
-+#
-+# Bluetooth RFCOMM layer configuration
-+#
-+
-+dep_tristate 'RFCOMM protocol support' CONFIG_BLUEZ_RFCOMM $CONFIG_BLUEZ_L2CAP
-+
-+if [ "$CONFIG_BLUEZ_RFCOMM" != "n" ]; then
-+ bool ' RFCOMM TTY support' CONFIG_BLUEZ_RFCOMM_TTY
-+fi
-+
-diff -urN linux-2.4.18/net/bluetooth/rfcomm/core.c linux-2.4.18-mh15/net/bluetooth/rfcomm/core.c
---- linux-2.4.18/net/bluetooth/rfcomm/core.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/rfcomm/core.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,1940 @@
-+/*
-+ RFCOMM implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
-+ Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ RPN support - Dirk Husemann <hud@zurich.ibm.com>
-+*/
-+
-+/*
-+ * RFCOMM core.
-+ *
-+ * $Id: core.c,v 1.46 2002/10/18 20:12:12 maxk Exp $
-+ */
-+
-+#define __KERNEL_SYSCALLS__
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/signal.h>
-+#include <linux/init.h>
-+#include <linux/wait.h>
-+#include <linux/net.h>
-+#include <linux/proc_fs.h>
-+#include <net/sock.h>
-+#include <asm/uaccess.h>
-+#include <asm/unaligned.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/l2cap.h>
-+#include <net/bluetooth/rfcomm.h>
-+
-+#define VERSION "1.1"
-+
-+#ifndef CONFIG_BLUEZ_RFCOMM_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+struct task_struct *rfcomm_thread;
-+DECLARE_MUTEX(rfcomm_sem);
-+unsigned long rfcomm_event;
-+
-+static LIST_HEAD(session_list);
-+static atomic_t terminate, running;
-+
-+static int rfcomm_send_frame(struct rfcomm_session *s, u8 *data, int len);
-+static int rfcomm_send_sabm(struct rfcomm_session *s, u8 dlci);
-+static int rfcomm_send_disc(struct rfcomm_session *s, u8 dlci);
-+static int rfcomm_queue_disc(struct rfcomm_dlc *d);
-+static int rfcomm_send_nsc(struct rfcomm_session *s, int cr, u8 type);
-+static int rfcomm_send_pn(struct rfcomm_session *s, int cr, struct rfcomm_dlc *d);
-+static int rfcomm_send_msc(struct rfcomm_session *s, int cr, u8 dlci, u8 v24_sig);
-+static int rfcomm_send_test(struct rfcomm_session *s, int cr, u8 *pattern, int len);
-+static int rfcomm_send_credits(struct rfcomm_session *s, u8 addr, u8 credits);
-+static void rfcomm_make_uih(struct sk_buff *skb, u8 addr);
-+
-+static void rfcomm_process_connect(struct rfcomm_session *s);
-+
-+/* ---- RFCOMM frame parsing macros ---- */
-+#define __get_dlci(b) ((b & 0xfc) >> 2)
-+#define __get_channel(b) ((b & 0xf8) >> 3)
-+#define __get_dir(b) ((b & 0x04) >> 2)
-+#define __get_type(b) ((b & 0xef))
-+
-+#define __test_ea(b) ((b & 0x01))
-+#define __test_cr(b) ((b & 0x02))
-+#define __test_pf(b) ((b & 0x10))
-+
-+#define __addr(cr, dlci) (((dlci & 0x3f) << 2) | (cr << 1) | 0x01)
-+#define __ctrl(type, pf) (((type & 0xef) | (pf << 4)))
-+#define __dlci(dir, chn) (((chn & 0x1f) << 1) | dir)
-+#define __srv_channel(dlci) (dlci >> 1)
-+#define __dir(dlci) (dlci & 0x01)
-+
-+#define __len8(len) (((len) << 1) | 1)
-+#define __len16(len) ((len) << 1)
-+
-+/* MCC macros */
-+#define __mcc_type(cr, type) (((type << 2) | (cr << 1) | 0x01))
-+#define __get_mcc_type(b) ((b & 0xfc) >> 2)
-+#define __get_mcc_len(b) ((b & 0xfe) >> 1)
-+
-+/* RPN macros */
-+#define __rpn_line_settings(data, stop, parity) ((data & 0x3) | ((stop & 0x1) << 2) | ((parity & 0x3) << 3))
-+#define __get_rpn_data_bits(line) ((line) & 0x3)
-+#define __get_rpn_stop_bits(line) (((line) >> 2) & 0x1)
-+#define __get_rpn_parity(line) (((line) >> 3) & 0x3)
-+
-+/* ---- RFCOMM FCS computation ---- */
-+
-+/* CRC on 2 bytes */
-+#define __crc(data) (rfcomm_crc_table[rfcomm_crc_table[0xff ^ data[0]] ^ data[1]])
-+
-+/* FCS on 2 bytes */
-+static inline u8 __fcs(u8 *data)
-+{
-+ return (0xff - __crc(data));
-+}
-+
-+/* FCS on 3 bytes */
-+static inline u8 __fcs2(u8 *data)
-+{
-+ return (0xff - rfcomm_crc_table[__crc(data) ^ data[2]]);
-+}
-+
-+/* Check FCS */
-+static inline int __check_fcs(u8 *data, int type, u8 fcs)
-+{
-+ u8 f = __crc(data);
-+
-+ if (type != RFCOMM_UIH)
-+ f = rfcomm_crc_table[f ^ data[2]];
-+
-+ return rfcomm_crc_table[f ^ fcs] != 0xcf;
-+}
-+
-+/* ---- L2CAP callbacks ---- */
-+static void rfcomm_l2state_change(struct sock *sk)
-+{
-+ BT_DBG("%p state %d", sk, sk->state);
-+ rfcomm_schedule(RFCOMM_SCHED_STATE);
-+}
-+
-+static void rfcomm_l2data_ready(struct sock *sk, int bytes)
-+{
-+ BT_DBG("%p bytes %d", sk, bytes);
-+ rfcomm_schedule(RFCOMM_SCHED_RX);
-+}
-+
-+static int rfcomm_l2sock_create(struct socket **sock)
-+{
-+ int err;
-+
-+ BT_DBG("");
-+
-+ err = sock_create(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP, sock);
-+ if (!err) {
-+ struct sock *sk = (*sock)->sk;
-+ sk->data_ready = rfcomm_l2data_ready;
-+ sk->state_change = rfcomm_l2state_change;
-+ }
-+ return err;
-+}
-+
-+/* ---- RFCOMM DLCs ---- */
-+static void rfcomm_dlc_timeout(unsigned long arg)
-+{
-+ struct rfcomm_dlc *d = (void *) arg;
-+
-+ BT_DBG("dlc %p state %ld", d, d->state);
-+
-+ set_bit(RFCOMM_TIMED_OUT, &d->flags);
-+ rfcomm_dlc_put(d);
-+ rfcomm_schedule(RFCOMM_SCHED_TIMEO);
-+}
-+
-+static void rfcomm_dlc_set_timer(struct rfcomm_dlc *d, long timeout)
-+{
-+ BT_DBG("dlc %p state %ld timeout %ld", d, d->state, timeout);
-+
-+ if (!mod_timer(&d->timer, jiffies + timeout))
-+ rfcomm_dlc_hold(d);
-+}
-+
-+static void rfcomm_dlc_clear_timer(struct rfcomm_dlc *d)
-+{
-+ BT_DBG("dlc %p state %ld", d, d->state);
-+
-+ if (timer_pending(&d->timer) && del_timer(&d->timer))
-+ rfcomm_dlc_put(d);
-+}
-+
-+static void rfcomm_dlc_clear_state(struct rfcomm_dlc *d)
-+{
-+ BT_DBG("%p", d);
-+
-+ d->state = BT_OPEN;
-+ d->flags = 0;
-+ d->mscex = 0;
-+ d->mtu = RFCOMM_DEFAULT_MTU;
-+ d->v24_sig = RFCOMM_V24_RTC | RFCOMM_V24_RTR | RFCOMM_V24_DV;
-+
-+ d->cfc = RFCOMM_CFC_DISABLED;
-+ d->rx_credits = RFCOMM_DEFAULT_CREDITS;
-+}
-+
-+struct rfcomm_dlc *rfcomm_dlc_alloc(int prio)
-+{
-+ struct rfcomm_dlc *d = kmalloc(sizeof(*d), prio);
-+ if (!d)
-+ return NULL;
-+ memset(d, 0, sizeof(*d));
-+
-+ init_timer(&d->timer);
-+ d->timer.function = rfcomm_dlc_timeout;
-+ d->timer.data = (unsigned long) d;
-+
-+ skb_queue_head_init(&d->tx_queue);
-+ spin_lock_init(&d->lock);
-+ atomic_set(&d->refcnt, 1);
-+
-+ rfcomm_dlc_clear_state(d);
-+
-+ BT_DBG("%p", d);
-+ return d;
-+}
-+
-+void rfcomm_dlc_free(struct rfcomm_dlc *d)
-+{
-+ BT_DBG("%p", d);
-+
-+ skb_queue_purge(&d->tx_queue);
-+ kfree(d);
-+}
-+
-+static void rfcomm_dlc_link(struct rfcomm_session *s, struct rfcomm_dlc *d)
-+{
-+ BT_DBG("dlc %p session %p", d, s);
-+
-+ rfcomm_session_hold(s);
-+
-+ rfcomm_dlc_hold(d);
-+ list_add(&d->list, &s->dlcs);
-+ d->session = s;
-+}
-+
-+static void rfcomm_dlc_unlink(struct rfcomm_dlc *d)
-+{
-+ struct rfcomm_session *s = d->session;
-+
-+ BT_DBG("dlc %p refcnt %d session %p", d, atomic_read(&d->refcnt), s);
-+
-+ list_del(&d->list);
-+ d->session = NULL;
-+ rfcomm_dlc_put(d);
-+
-+ rfcomm_session_put(s);
-+}
-+
-+static struct rfcomm_dlc *rfcomm_dlc_get(struct rfcomm_session *s, u8 dlci)
-+{
-+ struct rfcomm_dlc *d;
-+ struct list_head *p;
-+
-+ list_for_each(p, &s->dlcs) {
-+ d = list_entry(p, struct rfcomm_dlc, list);
-+ if (d->dlci == dlci)
-+ return d;
-+ }
-+ return NULL;
-+}
-+
-+static int __rfcomm_dlc_open(struct rfcomm_dlc *d, bdaddr_t *src, bdaddr_t *dst, u8 channel)
-+{
-+ struct rfcomm_session *s;
-+ int err = 0;
-+ u8 dlci;
-+
-+ BT_DBG("dlc %p state %ld %s %s channel %d",
-+ d, d->state, batostr(src), batostr(dst), channel);
-+
-+ if (channel < 1 || channel > 30)
-+ return -EINVAL;
-+
-+ if (d->state != BT_OPEN && d->state != BT_CLOSED)
-+ return 0;
-+
-+ s = rfcomm_session_get(src, dst);
-+ if (!s) {
-+ s = rfcomm_session_create(src, dst, &err);
-+ if (!s)
-+ return err;
-+ }
-+
-+ dlci = __dlci(!s->initiator, channel);
-+
-+ /* Check if DLCI already exists */
-+ if (rfcomm_dlc_get(s, dlci))
-+ return -EBUSY;
-+
-+ rfcomm_dlc_clear_state(d);
-+
-+ d->dlci = dlci;
-+ d->addr = __addr(s->initiator, dlci);
-+ d->priority = 7;
-+
-+ d->state = BT_CONFIG;
-+ rfcomm_dlc_link(s, d);
-+
-+ d->mtu = s->mtu;
-+ d->cfc = (s->cfc == RFCOMM_CFC_UNKNOWN) ? 0 : s->cfc;
-+
-+ if (s->state == BT_CONNECTED)
-+ rfcomm_send_pn(s, 1, d);
-+ rfcomm_dlc_set_timer(d, RFCOMM_CONN_TIMEOUT);
-+ return 0;
-+}
-+
-+int rfcomm_dlc_open(struct rfcomm_dlc *d, bdaddr_t *src, bdaddr_t *dst, u8 channel)
-+{
-+ mm_segment_t fs;
-+ int r;
-+
-+ rfcomm_lock();
-+
-+ fs = get_fs(); set_fs(KERNEL_DS);
-+ r = __rfcomm_dlc_open(d, src, dst, channel);
-+ set_fs(fs);
-+
-+ rfcomm_unlock();
-+ return r;
-+}
-+
-+static int __rfcomm_dlc_close(struct rfcomm_dlc *d, int err)
-+{
-+ struct rfcomm_session *s = d->session;
-+ if (!s)
-+ return 0;
-+
-+ BT_DBG("dlc %p state %ld dlci %d err %d session %p",
-+ d, d->state, d->dlci, err, s);
-+
-+ switch (d->state) {
-+ case BT_CONNECTED:
-+ case BT_CONFIG:
-+ case BT_CONNECT:
-+ d->state = BT_DISCONN;
-+ if (skb_queue_empty(&d->tx_queue)) {
-+ rfcomm_send_disc(s, d->dlci);
-+ rfcomm_dlc_set_timer(d, RFCOMM_DISC_TIMEOUT);
-+ } else {
-+ rfcomm_queue_disc(d);
-+ rfcomm_dlc_set_timer(d, RFCOMM_DISC_TIMEOUT * 2);
-+ }
-+ break;
-+
-+ default:
-+ rfcomm_dlc_clear_timer(d);
-+
-+ rfcomm_dlc_lock(d);
-+ d->state = BT_CLOSED;
-+ d->state_change(d, err);
-+ rfcomm_dlc_unlock(d);
-+
-+ skb_queue_purge(&d->tx_queue);
-+ rfcomm_dlc_unlink(d);
-+ }
-+
-+ return 0;
-+}
-+
-+int rfcomm_dlc_close(struct rfcomm_dlc *d, int err)
-+{
-+ mm_segment_t fs;
-+ int r;
-+
-+ rfcomm_lock();
-+
-+ fs = get_fs(); set_fs(KERNEL_DS);
-+ r = __rfcomm_dlc_close(d, err);
-+ set_fs(fs);
-+
-+ rfcomm_unlock();
-+ return r;
-+}
-+
-+int rfcomm_dlc_send(struct rfcomm_dlc *d, struct sk_buff *skb)
-+{
-+ int len = skb->len;
-+
-+ if (d->state != BT_CONNECTED)
-+ return -ENOTCONN;
-+
-+ BT_DBG("dlc %p mtu %d len %d", d, d->mtu, len);
-+
-+ if (len > d->mtu)
-+ return -EINVAL;
-+
-+ rfcomm_make_uih(skb, d->addr);
-+ skb_queue_tail(&d->tx_queue, skb);
-+
-+ if (!test_bit(RFCOMM_TX_THROTTLED, &d->flags))
-+ rfcomm_schedule(RFCOMM_SCHED_TX);
-+ return len;
-+}
-+
-+void __rfcomm_dlc_throttle(struct rfcomm_dlc *d)
-+{
-+ BT_DBG("dlc %p state %ld", d, d->state);
-+
-+ if (!d->cfc) {
-+ d->v24_sig |= RFCOMM_V24_FC;
-+ set_bit(RFCOMM_MSC_PENDING, &d->flags);
-+ }
-+ rfcomm_schedule(RFCOMM_SCHED_TX);
-+}
-+
-+void __rfcomm_dlc_unthrottle(struct rfcomm_dlc *d)
-+{
-+ BT_DBG("dlc %p state %ld", d, d->state);
-+
-+ if (!d->cfc) {
-+ d->v24_sig &= ~RFCOMM_V24_FC;
-+ set_bit(RFCOMM_MSC_PENDING, &d->flags);
-+ }
-+ rfcomm_schedule(RFCOMM_SCHED_TX);
-+}
-+
-+/*
-+ Set/get modem status functions use _local_ status i.e. what we report
-+ to the other side.
-+ Remote status is provided by dlc->modem_status() callback.
-+ */
-+int rfcomm_dlc_set_modem_status(struct rfcomm_dlc *d, u8 v24_sig)
-+{
-+ BT_DBG("dlc %p state %ld v24_sig 0x%x",
-+ d, d->state, v24_sig);
-+
-+ if (test_bit(RFCOMM_RX_THROTTLED, &d->flags))
-+ v24_sig |= RFCOMM_V24_FC;
-+ else
-+ v24_sig &= ~RFCOMM_V24_FC;
-+
-+ d->v24_sig = v24_sig;
-+
-+ if (!test_and_set_bit(RFCOMM_MSC_PENDING, &d->flags))
-+ rfcomm_schedule(RFCOMM_SCHED_TX);
-+
-+ return 0;
-+}
-+
-+int rfcomm_dlc_get_modem_status(struct rfcomm_dlc *d, u8 *v24_sig)
-+{
-+ BT_DBG("dlc %p state %ld v24_sig 0x%x",
-+ d, d->state, d->v24_sig);
-+
-+ *v24_sig = d->v24_sig;
-+ return 0;
-+}
-+
-+/* ---- RFCOMM sessions ---- */
-+struct rfcomm_session *rfcomm_session_add(struct socket *sock, int state)
-+{
-+ struct rfcomm_session *s = kmalloc(sizeof(*s), GFP_KERNEL);
-+ if (!s)
-+ return NULL;
-+ memset(s, 0, sizeof(*s));
-+
-+ BT_DBG("session %p sock %p", s, sock);
-+
-+ INIT_LIST_HEAD(&s->dlcs);
-+ s->state = state;
-+ s->sock = sock;
-+
-+ s->mtu = RFCOMM_DEFAULT_MTU;
-+ s->cfc = RFCOMM_CFC_UNKNOWN;
-+
-+ list_add(&s->list, &session_list);
-+
-+ /* Do not increment module usage count for listeting sessions.
-+ * Otherwise we won't be able to unload the module. */
-+ if (state != BT_LISTEN)
-+ MOD_INC_USE_COUNT;
-+ return s;
-+}
-+
-+void rfcomm_session_del(struct rfcomm_session *s)
-+{
-+ int state = s->state;
-+
-+ BT_DBG("session %p state %ld", s, s->state);
-+
-+ list_del(&s->list);
-+
-+ if (state == BT_CONNECTED)
-+ rfcomm_send_disc(s, 0);
-+
-+ sock_release(s->sock);
-+ kfree(s);
-+
-+ if (state != BT_LISTEN)
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+struct rfcomm_session *rfcomm_session_get(bdaddr_t *src, bdaddr_t *dst)
-+{
-+ struct rfcomm_session *s;
-+ struct list_head *p, *n;
-+ struct bluez_pinfo *pi;
-+ list_for_each_safe(p, n, &session_list) {
-+ s = list_entry(p, struct rfcomm_session, list);
-+ pi = bluez_pi(s->sock->sk);
-+
-+ if ((!bacmp(src, BDADDR_ANY) || !bacmp(&pi->src, src)) &&
-+ !bacmp(&pi->dst, dst))
-+ return s;
-+ }
-+ return NULL;
-+}
-+
-+void rfcomm_session_close(struct rfcomm_session *s, int err)
-+{
-+ struct rfcomm_dlc *d;
-+ struct list_head *p, *n;
-+
-+ BT_DBG("session %p state %ld err %d", s, s->state, err);
-+
-+ rfcomm_session_hold(s);
-+
-+ s->state = BT_CLOSED;
-+
-+ /* Close all dlcs */
-+ list_for_each_safe(p, n, &s->dlcs) {
-+ d = list_entry(p, struct rfcomm_dlc, list);
-+ d->state = BT_CLOSED;
-+ __rfcomm_dlc_close(d, err);
-+ }
-+
-+ rfcomm_session_put(s);
-+}
-+
-+struct rfcomm_session *rfcomm_session_create(bdaddr_t *src, bdaddr_t *dst, int *err)
-+{
-+ struct rfcomm_session *s = NULL;
-+ struct sockaddr_l2 addr;
-+ struct l2cap_options opts;
-+ struct socket *sock;
-+ int size;
-+
-+ BT_DBG("%s %s", batostr(src), batostr(dst));
-+
-+ *err = rfcomm_l2sock_create(&sock);
-+ if (*err < 0)
-+ return NULL;
-+
-+ bacpy(&addr.l2_bdaddr, src);
-+ addr.l2_family = AF_BLUETOOTH;
-+ addr.l2_psm = 0;
-+ *err = sock->ops->bind(sock, (struct sockaddr *) &addr, sizeof(addr));
-+ if (*err < 0)
-+ goto failed;
-+
-+ /* Set L2CAP options */
-+ size = sizeof(opts);
-+ sock->ops->getsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, (void *)&opts, &size);
-+
-+ opts.imtu = RFCOMM_MAX_L2CAP_MTU;
-+ sock->ops->setsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, (void *)&opts, size);
-+
-+ s = rfcomm_session_add(sock, BT_BOUND);
-+ if (!s) {
-+ *err = -ENOMEM;
-+ goto failed;
-+ }
-+
-+ s->initiator = 1;
-+
-+ bacpy(&addr.l2_bdaddr, dst);
-+ addr.l2_family = AF_BLUETOOTH;
-+ addr.l2_psm = htobs(RFCOMM_PSM);
-+ *err = sock->ops->connect(sock, (struct sockaddr *) &addr, sizeof(addr), O_NONBLOCK);
-+ if (*err == 0 || *err == -EAGAIN)
-+ return s;
-+
-+ rfcomm_session_del(s);
-+ return NULL;
-+
-+failed:
-+ sock_release(sock);
-+ return NULL;
-+}
-+
-+void rfcomm_session_getaddr(struct rfcomm_session *s, bdaddr_t *src, bdaddr_t *dst)
-+{
-+ struct sock *sk = s->sock->sk;
-+ if (src)
-+ bacpy(src, &bluez_pi(sk)->src);
-+ if (dst)
-+ bacpy(dst, &bluez_pi(sk)->dst);
-+}
-+
-+/* ---- RFCOMM frame sending ---- */
-+static int rfcomm_send_frame(struct rfcomm_session *s, u8 *data, int len)
-+{
-+ struct socket *sock = s->sock;
-+ struct iovec iv = { data, len };
-+ struct msghdr msg;
-+ int err;
-+
-+ BT_DBG("session %p len %d", s, len);
-+
-+ memset(&msg, 0, sizeof(msg));
-+ msg.msg_iovlen = 1;
-+ msg.msg_iov = &iv;
-+
-+ err = sock->ops->sendmsg(sock, &msg, len, 0);
-+ return err;
-+}
-+
-+static int rfcomm_send_sabm(struct rfcomm_session *s, u8 dlci)
-+{
-+ struct rfcomm_cmd cmd;
-+
-+ BT_DBG("%p dlci %d", s, dlci);
-+
-+ cmd.addr = __addr(s->initiator, dlci);
-+ cmd.ctrl = __ctrl(RFCOMM_SABM, 1);
-+ cmd.len = __len8(0);
-+ cmd.fcs = __fcs2((u8 *) &cmd);
-+
-+ return rfcomm_send_frame(s, (void *) &cmd, sizeof(cmd));
-+}
-+
-+static int rfcomm_send_ua(struct rfcomm_session *s, u8 dlci)
-+{
-+ struct rfcomm_cmd cmd;
-+
-+ BT_DBG("%p dlci %d", s, dlci);
-+
-+ cmd.addr = __addr(!s->initiator, dlci);
-+ cmd.ctrl = __ctrl(RFCOMM_UA, 1);
-+ cmd.len = __len8(0);
-+ cmd.fcs = __fcs2((u8 *) &cmd);
-+
-+ return rfcomm_send_frame(s, (void *) &cmd, sizeof(cmd));
-+}
-+
-+static int rfcomm_send_disc(struct rfcomm_session *s, u8 dlci)
-+{
-+ struct rfcomm_cmd cmd;
-+
-+ BT_DBG("%p dlci %d", s, dlci);
-+
-+ cmd.addr = __addr(s->initiator, dlci);
-+ cmd.ctrl = __ctrl(RFCOMM_DISC, 1);
-+ cmd.len = __len8(0);
-+ cmd.fcs = __fcs2((u8 *) &cmd);
-+
-+ return rfcomm_send_frame(s, (void *) &cmd, sizeof(cmd));
-+}
-+
-+static int rfcomm_queue_disc(struct rfcomm_dlc *d)
-+{
-+ struct rfcomm_cmd *cmd;
-+ struct sk_buff *skb;
-+
-+ BT_DBG("dlc %p dlci %d", d, d->dlci);
-+
-+ skb = alloc_skb(sizeof(*cmd), GFP_KERNEL);
-+ if (!skb)
-+ return -ENOMEM;
-+
-+ cmd = (void *) __skb_put(skb, sizeof(*cmd));
-+ cmd->addr = d->addr;
-+ cmd->ctrl = __ctrl(RFCOMM_DISC, 1);
-+ cmd->len = __len8(0);
-+ cmd->fcs = __fcs2((u8 *) cmd);
-+
-+ skb_queue_tail(&d->tx_queue, skb);
-+ rfcomm_schedule(RFCOMM_SCHED_TX);
-+ return 0;
-+}
-+
-+static int rfcomm_send_dm(struct rfcomm_session *s, u8 dlci)
-+{
-+ struct rfcomm_cmd cmd;
-+
-+ BT_DBG("%p dlci %d", s, dlci);
-+
-+ cmd.addr = __addr(!s->initiator, dlci);
-+ cmd.ctrl = __ctrl(RFCOMM_DM, 1);
-+ cmd.len = __len8(0);
-+ cmd.fcs = __fcs2((u8 *) &cmd);
-+
-+ return rfcomm_send_frame(s, (void *) &cmd, sizeof(cmd));
-+}
-+
-+static int rfcomm_send_nsc(struct rfcomm_session *s, int cr, u8 type)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d type %d", s, cr, type);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc) + 1);
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_NSC);
-+ mcc->len = __len8(1);
-+
-+ /* Type that we didn't like */
-+ *ptr = __mcc_type(cr, type); ptr++;
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_pn(struct rfcomm_session *s, int cr, struct rfcomm_dlc *d)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ struct rfcomm_pn *pn;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d dlci %d mtu %d", s, cr, d->dlci, d->mtu);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc) + sizeof(*pn));
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_PN);
-+ mcc->len = __len8(sizeof(*pn));
-+
-+ pn = (void *) ptr; ptr += sizeof(*pn);
-+ pn->dlci = d->dlci;
-+ pn->priority = d->priority;
-+ pn->ack_timer = 0;
-+ pn->max_retrans = 0;
-+
-+ if (s->cfc) {
-+ pn->flow_ctrl = cr ? 0xf0 : 0xe0;
-+ pn->credits = RFCOMM_DEFAULT_CREDITS;
-+ } else {
-+ pn->flow_ctrl = 0;
-+ pn->credits = 0;
-+ }
-+
-+ pn->mtu = htobs(d->mtu);
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci,
-+ u8 bit_rate, u8 data_bits, u8 stop_bits,
-+ u8 parity, u8 flow_ctrl_settings,
-+ u8 xon_char, u8 xoff_char, u16 param_mask)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ struct rfcomm_rpn *rpn;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d dlci %d bit_r 0x%x data_b 0x%x stop_b 0x%x parity 0x%x"
-+ "flwc_s 0x%x xon_c 0x%x xoff_c 0x%x p_mask 0x%x",
-+ s, cr, dlci, bit_rate, data_bits, stop_bits, parity,
-+ flow_ctrl_settings, xon_char, xoff_char, param_mask);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc) + sizeof(*rpn));
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_RPN);
-+ mcc->len = __len8(sizeof(*rpn));
-+
-+ rpn = (void *) ptr; ptr += sizeof(*rpn);
-+ rpn->dlci = __addr(1, dlci);
-+ rpn->bit_rate = bit_rate;
-+ rpn->line_settings = __rpn_line_settings(data_bits, stop_bits, parity);
-+ rpn->flow_ctrl = flow_ctrl_settings;
-+ rpn->xon_char = xon_char;
-+ rpn->xoff_char = xoff_char;
-+ rpn->param_mask = param_mask;
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_rls(struct rfcomm_session *s, int cr, u8 dlci, u8 status)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ struct rfcomm_rls *rls;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d status 0x%x", s, cr, status);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc) + sizeof(*rls));
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_RLS);
-+ mcc->len = __len8(sizeof(*rls));
-+
-+ rls = (void *) ptr; ptr += sizeof(*rls);
-+ rls->dlci = __addr(1, dlci);
-+ rls->status = status;
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_msc(struct rfcomm_session *s, int cr, u8 dlci, u8 v24_sig)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ struct rfcomm_msc *msc;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d v24 0x%x", s, cr, v24_sig);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc) + sizeof(*msc));
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_MSC);
-+ mcc->len = __len8(sizeof(*msc));
-+
-+ msc = (void *) ptr; ptr += sizeof(*msc);
-+ msc->dlci = __addr(1, dlci);
-+ msc->v24_sig = v24_sig | 0x01;
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_fcoff(struct rfcomm_session *s, int cr)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d", s, cr);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc));
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_FCOFF);
-+ mcc->len = __len8(0);
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_fcon(struct rfcomm_session *s, int cr)
-+{
-+ struct rfcomm_hdr *hdr;
-+ struct rfcomm_mcc *mcc;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p cr %d", s, cr);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = __addr(s->initiator, 0);
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+ hdr->len = __len8(sizeof(*mcc));
-+
-+ mcc = (void *) ptr; ptr += sizeof(*mcc);
-+ mcc->type = __mcc_type(cr, RFCOMM_FCON);
-+ mcc->len = __len8(0);
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static int rfcomm_send_test(struct rfcomm_session *s, int cr, u8 *pattern, int len)
-+{
-+ struct socket *sock = s->sock;
-+ struct iovec iv[3];
-+ struct msghdr msg;
-+ unsigned char hdr[5], crc[1];
-+
-+ if (len > 125)
-+ return -EINVAL;
-+
-+ BT_DBG("%p cr %d", s, cr);
-+
-+ hdr[0] = __addr(s->initiator, 0);
-+ hdr[1] = __ctrl(RFCOMM_UIH, 0);
-+ hdr[2] = 0x01 | ((len + 2) << 1);
-+ hdr[3] = 0x01 | ((cr & 0x01) << 1) | (RFCOMM_TEST << 2);
-+ hdr[4] = 0x01 | (len << 1);
-+
-+ crc[0] = __fcs(hdr);
-+
-+ iv[0].iov_base = hdr;
-+ iv[0].iov_len = 5;
-+ iv[1].iov_base = pattern;
-+ iv[1].iov_len = len;
-+ iv[2].iov_base = crc;
-+ iv[2].iov_len = 1;
-+
-+ memset(&msg, 0, sizeof(msg));
-+ msg.msg_iovlen = 3;
-+ msg.msg_iov = iv;
-+ return sock->ops->sendmsg(sock, &msg, 6 + len, 0);
-+}
-+
-+static int rfcomm_send_credits(struct rfcomm_session *s, u8 addr, u8 credits)
-+{
-+ struct rfcomm_hdr *hdr;
-+ u8 buf[16], *ptr = buf;
-+
-+ BT_DBG("%p addr %d credits %d", s, addr, credits);
-+
-+ hdr = (void *) ptr; ptr += sizeof(*hdr);
-+ hdr->addr = addr;
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 1);
-+ hdr->len = __len8(0);
-+
-+ *ptr = credits; ptr++;
-+
-+ *ptr = __fcs(buf); ptr++;
-+
-+ return rfcomm_send_frame(s, buf, ptr - buf);
-+}
-+
-+static void rfcomm_make_uih(struct sk_buff *skb, u8 addr)
-+{
-+ struct rfcomm_hdr *hdr;
-+ int len = skb->len;
-+ u8 *crc;
-+
-+ if (len > 127) {
-+ hdr = (void *) skb_push(skb, 4);
-+ put_unaligned(htobs(__len16(len)), (u16 *) &hdr->len);
-+ } else {
-+ hdr = (void *) skb_push(skb, 3);
-+ hdr->len = __len8(len);
-+ }
-+ hdr->addr = addr;
-+ hdr->ctrl = __ctrl(RFCOMM_UIH, 0);
-+
-+ crc = skb_put(skb, 1);
-+ *crc = __fcs((void *) hdr);
-+}
-+
-+/* ---- RFCOMM frame reception ---- */
-+static int rfcomm_recv_ua(struct rfcomm_session *s, u8 dlci)
-+{
-+ BT_DBG("session %p state %ld dlci %d", s, s->state, dlci);
-+
-+ if (dlci) {
-+ /* Data channel */
-+ struct rfcomm_dlc *d = rfcomm_dlc_get(s, dlci);
-+ if (!d) {
-+ rfcomm_send_dm(s, dlci);
-+ return 0;
-+ }
-+
-+ switch (d->state) {
-+ case BT_CONNECT:
-+ rfcomm_dlc_clear_timer(d);
-+
-+ rfcomm_dlc_lock(d);
-+ d->state = BT_CONNECTED;
-+ d->state_change(d, 0);
-+ rfcomm_dlc_unlock(d);
-+
-+ rfcomm_send_msc(s, 1, dlci, d->v24_sig);
-+ break;
-+
-+ case BT_DISCONN:
-+ d->state = BT_CLOSED;
-+ __rfcomm_dlc_close(d, 0);
-+ break;
-+ }
-+ } else {
-+ /* Control channel */
-+ switch (s->state) {
-+ case BT_CONNECT:
-+ s->state = BT_CONNECTED;
-+ rfcomm_process_connect(s);
-+ break;
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int rfcomm_recv_dm(struct rfcomm_session *s, u8 dlci)
-+{
-+ int err = 0;
-+
-+ BT_DBG("session %p state %ld dlci %d", s, s->state, dlci);
-+
-+ if (dlci) {
-+ /* Data DLC */
-+ struct rfcomm_dlc *d = rfcomm_dlc_get(s, dlci);
-+ if (d) {
-+ if (d->state == BT_CONNECT || d->state == BT_CONFIG)
-+ err = ECONNREFUSED;
-+ else
-+ err = ECONNRESET;
-+
-+ d->state = BT_CLOSED;
-+ __rfcomm_dlc_close(d, err);
-+ }
-+ } else {
-+ if (s->state == BT_CONNECT)
-+ err = ECONNREFUSED;
-+ else
-+ err = ECONNRESET;
-+
-+ s->state = BT_CLOSED;
-+ rfcomm_session_close(s, err);
-+ }
-+ return 0;
-+}
-+
-+static int rfcomm_recv_disc(struct rfcomm_session *s, u8 dlci)
-+{
-+ int err = 0;
-+
-+ BT_DBG("session %p state %ld dlci %d", s, s->state, dlci);
-+
-+ if (dlci) {
-+ struct rfcomm_dlc *d = rfcomm_dlc_get(s, dlci);
-+ if (d) {
-+ rfcomm_send_ua(s, dlci);
-+
-+ if (d->state == BT_CONNECT || d->state == BT_CONFIG)
-+ err = ECONNREFUSED;
-+ else
-+ err = ECONNRESET;
-+
-+ d->state = BT_CLOSED;
-+ __rfcomm_dlc_close(d, err);
-+ } else
-+ rfcomm_send_dm(s, dlci);
-+
-+ } else {
-+ rfcomm_send_ua(s, 0);
-+
-+ if (s->state == BT_CONNECT)
-+ err = ECONNREFUSED;
-+ else
-+ err = ECONNRESET;
-+
-+ s->state = BT_CLOSED;
-+ rfcomm_session_close(s, err);
-+ }
-+
-+ return 0;
-+}
-+
-+static int rfcomm_recv_sabm(struct rfcomm_session *s, u8 dlci)
-+{
-+ struct rfcomm_dlc *d;
-+ u8 channel;
-+
-+ BT_DBG("session %p state %ld dlci %d", s, s->state, dlci);
-+
-+ if (!dlci) {
-+ rfcomm_send_ua(s, 0);
-+
-+ if (s->state == BT_OPEN) {
-+ s->state = BT_CONNECTED;
-+ rfcomm_process_connect(s);
-+ }
-+ return 0;
-+ }
-+
-+ /* Check if DLC exists */
-+ d = rfcomm_dlc_get(s, dlci);
-+ if (d) {
-+ if (d->state == BT_OPEN) {
-+ /* DLC was previously opened by PN request */
-+ rfcomm_send_ua(s, dlci);
-+
-+ rfcomm_dlc_lock(d);
-+ d->state = BT_CONNECTED;
-+ d->state_change(d, 0);
-+ rfcomm_dlc_unlock(d);
-+
-+ rfcomm_send_msc(s, 1, dlci, d->v24_sig);
-+ }
-+ return 0;
-+ }
-+
-+ /* Notify socket layer about incomming connection */
-+ channel = __srv_channel(dlci);
-+ if (rfcomm_connect_ind(s, channel, &d)) {
-+ d->dlci = dlci;
-+ d->addr = __addr(s->initiator, dlci);
-+ rfcomm_dlc_link(s, d);
-+
-+ rfcomm_send_ua(s, dlci);
-+
-+ rfcomm_dlc_lock(d);
-+ d->state = BT_CONNECTED;
-+ d->state_change(d, 0);
-+ rfcomm_dlc_unlock(d);
-+
-+ rfcomm_send_msc(s, 1, dlci, d->v24_sig);
-+ } else {
-+ rfcomm_send_dm(s, dlci);
-+ }
-+
-+ return 0;
-+}
-+
-+static int rfcomm_apply_pn(struct rfcomm_dlc *d, int cr, struct rfcomm_pn *pn)
-+{
-+ struct rfcomm_session *s = d->session;
-+
-+ BT_DBG("dlc %p state %ld dlci %d mtu %d fc 0x%x credits %d",
-+ d, d->state, d->dlci, pn->mtu, pn->flow_ctrl, pn->credits);
-+
-+ if (pn->flow_ctrl == 0xf0 || pn->flow_ctrl == 0xe0) {
-+ d->cfc = s->cfc = RFCOMM_CFC_ENABLED;
-+ d->tx_credits = pn->credits;
-+ } else {
-+ d->cfc = s->cfc = RFCOMM_CFC_DISABLED;
-+ set_bit(RFCOMM_TX_THROTTLED, &d->flags);
-+ }
-+
-+ d->priority = pn->priority;
-+
-+ d->mtu = s->mtu = btohs(pn->mtu);
-+
-+ return 0;
-+}
-+
-+static int rfcomm_recv_pn(struct rfcomm_session *s, int cr, struct sk_buff *skb)
-+{
-+ struct rfcomm_pn *pn = (void *) skb->data;
-+ struct rfcomm_dlc *d;
-+ u8 dlci = pn->dlci;
-+
-+ BT_DBG("session %p state %ld dlci %d", s, s->state, dlci);
-+
-+ if (!dlci)
-+ return 0;
-+
-+ d = rfcomm_dlc_get(s, dlci);
-+ if (d) {
-+ if (cr) {
-+ /* PN request */
-+ rfcomm_apply_pn(d, cr, pn);
-+ rfcomm_send_pn(s, 0, d);
-+ } else {
-+ /* PN response */
-+ switch (d->state) {
-+ case BT_CONFIG:
-+ rfcomm_apply_pn(d, cr, pn);
-+
-+ d->state = BT_CONNECT;
-+ rfcomm_send_sabm(s, d->dlci);
-+ break;
-+ }
-+ }
-+ } else {
-+ u8 channel = __srv_channel(dlci);
-+
-+ if (!cr)
-+ return 0;
-+
-+ /* PN request for non existing DLC.
-+ * Assume incomming connection. */
-+ if (rfcomm_connect_ind(s, channel, &d)) {
-+ d->dlci = dlci;
-+ d->addr = __addr(s->initiator, dlci);
-+ rfcomm_dlc_link(s, d);
-+
-+ rfcomm_apply_pn(d, cr, pn);
-+
-+ d->state = BT_OPEN;
-+ rfcomm_send_pn(s, 0, d);
-+ } else {
-+ rfcomm_send_dm(s, dlci);
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int rfcomm_recv_rpn(struct rfcomm_session *s, int cr, int len, struct sk_buff *skb)
-+{
-+ struct rfcomm_rpn *rpn = (void *) skb->data;
-+ u8 dlci = __get_dlci(rpn->dlci);
-+
-+ u8 bit_rate = 0;
-+ u8 data_bits = 0;
-+ u8 stop_bits = 0;
-+ u8 parity = 0;
-+ u8 flow_ctrl = 0;
-+ u8 xon_char = 0;
-+ u8 xoff_char = 0;
-+ u16 rpn_mask = RFCOMM_RPN_PM_ALL;
-+
-+ BT_DBG("dlci %d cr %d len 0x%x bitr 0x%x line 0x%x flow 0x%x xonc 0x%x xoffc 0x%x pm 0x%x",
-+ dlci, cr, len, rpn->bit_rate, rpn->line_settings, rpn->flow_ctrl,
-+ rpn->xon_char, rpn->xoff_char, rpn->param_mask);
-+
-+ if (!cr)
-+ return 0;
-+
-+ if (len == 1) {
-+ /* request: return default setting */
-+ bit_rate = RFCOMM_RPN_BR_115200;
-+ data_bits = RFCOMM_RPN_DATA_8;
-+ stop_bits = RFCOMM_RPN_STOP_1;
-+ parity = RFCOMM_RPN_PARITY_NONE;
-+ flow_ctrl = RFCOMM_RPN_FLOW_NONE;
-+ xon_char = RFCOMM_RPN_XON_CHAR;
-+ xoff_char = RFCOMM_RPN_XOFF_CHAR;
-+
-+ goto rpn_out;
-+ }
-+ /* check for sane values: ignore/accept bit_rate, 8 bits, 1 stop bit, no parity,
-+ no flow control lines, normal XON/XOFF chars */
-+ if (rpn->param_mask & RFCOMM_RPN_PM_BITRATE) {
-+ bit_rate = rpn->bit_rate;
-+ if (bit_rate != RFCOMM_RPN_BR_115200) {
-+ BT_DBG("RPN bit rate mismatch 0x%x", bit_rate);
-+ bit_rate = RFCOMM_RPN_BR_115200;
-+ rpn_mask ^= RFCOMM_RPN_PM_BITRATE;
-+ }
-+ }
-+ if (rpn->param_mask & RFCOMM_RPN_PM_DATA) {
-+ data_bits = __get_rpn_data_bits(rpn->line_settings);
-+ if (data_bits != RFCOMM_RPN_DATA_8) {
-+ BT_DBG("RPN data bits mismatch 0x%x", data_bits);
-+ data_bits = RFCOMM_RPN_DATA_8;
-+ rpn_mask ^= RFCOMM_RPN_PM_DATA;
-+ }
-+ }
-+ if (rpn->param_mask & RFCOMM_RPN_PM_STOP) {
-+ stop_bits = __get_rpn_stop_bits(rpn->line_settings);
-+ if (stop_bits != RFCOMM_RPN_STOP_1) {
-+ BT_DBG("RPN stop bits mismatch 0x%x", stop_bits);
-+ stop_bits = RFCOMM_RPN_STOP_1;
-+ rpn_mask ^= RFCOMM_RPN_PM_STOP;
-+ }
-+ }
-+ if (rpn->param_mask & RFCOMM_RPN_PM_PARITY) {
-+ parity = __get_rpn_parity(rpn->line_settings);
-+ if (parity != RFCOMM_RPN_PARITY_NONE) {
-+ BT_DBG("RPN parity mismatch 0x%x", parity);
-+ parity = RFCOMM_RPN_PARITY_NONE;
-+ rpn_mask ^= RFCOMM_RPN_PM_PARITY;
-+ }
-+ }
-+ if (rpn->param_mask & RFCOMM_RPN_PM_FLOW) {
-+ flow_ctrl = rpn->flow_ctrl;
-+ if (flow_ctrl != RFCOMM_RPN_FLOW_NONE) {
-+ BT_DBG("RPN flow ctrl mismatch 0x%x", flow_ctrl);
-+ flow_ctrl = RFCOMM_RPN_FLOW_NONE;
-+ rpn_mask ^= RFCOMM_RPN_PM_FLOW;
-+ }
-+ }
-+ if (rpn->param_mask & RFCOMM_RPN_PM_XON) {
-+ xon_char = rpn->xon_char;
-+ if (xon_char != RFCOMM_RPN_XON_CHAR) {
-+ BT_DBG("RPN XON char mismatch 0x%x", xon_char);
-+ xon_char = RFCOMM_RPN_XON_CHAR;
-+ rpn_mask ^= RFCOMM_RPN_PM_XON;
-+ }
-+ }
-+ if (rpn->param_mask & RFCOMM_RPN_PM_XOFF) {
-+ xoff_char = rpn->xoff_char;
-+ if (xoff_char != RFCOMM_RPN_XOFF_CHAR) {
-+ BT_DBG("RPN XOFF char mismatch 0x%x", xoff_char);
-+ xoff_char = RFCOMM_RPN_XOFF_CHAR;
-+ rpn_mask ^= RFCOMM_RPN_PM_XOFF;
-+ }
-+ }
-+
-+rpn_out:
-+ rfcomm_send_rpn(s, 0, dlci,
-+ bit_rate, data_bits, stop_bits, parity, flow_ctrl,
-+ xon_char, xoff_char, rpn_mask);
-+
-+ return 0;
-+}
-+
-+static int rfcomm_recv_rls(struct rfcomm_session *s, int cr, struct sk_buff *skb)
-+{
-+ struct rfcomm_rls *rls = (void *) skb->data;
-+ u8 dlci = __get_dlci(rls->dlci);
-+
-+ BT_DBG("dlci %d cr %d status 0x%x", dlci, cr, rls->status);
-+
-+ if (!cr)
-+ return 0;
-+
-+ /* FIXME: We should probably do something with this
-+ information here. But for now it's sufficient just
-+ to reply -- Bluetooth 1.1 says it's mandatory to
-+ recognise and respond to RLS */
-+
-+ rfcomm_send_rls(s, 0, dlci, rls->status);
-+
-+ return 0;
-+}
-+
-+static int rfcomm_recv_msc(struct rfcomm_session *s, int cr, struct sk_buff *skb)
-+{
-+ struct rfcomm_msc *msc = (void *) skb->data;
-+ struct rfcomm_dlc *d;
-+ u8 dlci = __get_dlci(msc->dlci);
-+
-+ BT_DBG("dlci %d cr %d v24 0x%x", dlci, cr, msc->v24_sig);
-+
-+ d = rfcomm_dlc_get(s, dlci);
-+ if (!d)
-+ return 0;
-+
-+ if (cr) {
-+ if (msc->v24_sig & RFCOMM_V24_FC && !d->cfc)
-+ set_bit(RFCOMM_TX_THROTTLED, &d->flags);
-+ else
-+ clear_bit(RFCOMM_TX_THROTTLED, &d->flags);
-+
-+ rfcomm_dlc_lock(d);
-+ if (d->modem_status)
-+ d->modem_status(d, msc->v24_sig);
-+ rfcomm_dlc_unlock(d);
-+
-+ rfcomm_send_msc(s, 0, dlci, msc->v24_sig);
-+
-+ d->mscex |= RFCOMM_MSCEX_RX;
-+ } else
-+ d->mscex |= RFCOMM_MSCEX_TX;
-+
-+ return 0;
-+}
-+
-+static int rfcomm_recv_mcc(struct rfcomm_session *s, struct sk_buff *skb)
-+{
-+ struct rfcomm_mcc *mcc = (void *) skb->data;
-+ u8 type, cr, len;
-+
-+ cr = __test_cr(mcc->type);
-+ type = __get_mcc_type(mcc->type);
-+ len = __get_mcc_len(mcc->len);
-+
-+ BT_DBG("%p type 0x%x cr %d", s, type, cr);
-+
-+ skb_pull(skb, 2);
-+
-+ switch (type) {
-+ case RFCOMM_PN:
-+ rfcomm_recv_pn(s, cr, skb);
-+ break;
-+
-+ case RFCOMM_RPN:
-+ rfcomm_recv_rpn(s, cr, len, skb);
-+ break;
-+
-+ case RFCOMM_RLS:
-+ rfcomm_recv_rls(s, cr, skb);
-+ break;
-+
-+ case RFCOMM_MSC:
-+ rfcomm_recv_msc(s, cr, skb);
-+ break;
-+
-+ case RFCOMM_FCOFF:
-+ if (cr) {
-+ set_bit(RFCOMM_TX_THROTTLED, &s->flags);
-+ rfcomm_send_fcoff(s, 0);
-+ }
-+ break;
-+
-+ case RFCOMM_FCON:
-+ if (cr) {
-+ clear_bit(RFCOMM_TX_THROTTLED, &s->flags);
-+ rfcomm_send_fcon(s, 0);
-+ }
-+ break;
-+
-+ case RFCOMM_TEST:
-+ if (cr)
-+ rfcomm_send_test(s, 0, skb->data, skb->len);
-+ break;
-+
-+ case RFCOMM_NSC:
-+ break;
-+
-+ default:
-+ BT_ERR("Unknown control type 0x%02x", type);
-+ rfcomm_send_nsc(s, cr, type);
-+ break;
-+ }
-+ return 0;
-+}
-+
-+static int rfcomm_recv_data(struct rfcomm_session *s, u8 dlci, int pf, struct sk_buff *skb)
-+{
-+ struct rfcomm_dlc *d;
-+
-+ BT_DBG("session %p state %ld dlci %d pf %d", s, s->state, dlci, pf);
-+
-+ d = rfcomm_dlc_get(s, dlci);
-+ if (!d) {
-+ rfcomm_send_dm(s, dlci);
-+ goto drop;
-+ }
-+
-+ if (pf && d->cfc) {
-+ u8 credits = *(u8 *) skb->data; skb_pull(skb, 1);
-+
-+ d->tx_credits += credits;
-+ if (d->tx_credits)
-+ clear_bit(RFCOMM_TX_THROTTLED, &d->flags);
-+ }
-+
-+ if (skb->len && d->state == BT_CONNECTED) {
-+ rfcomm_dlc_lock(d);
-+ d->rx_credits--;
-+ d->data_ready(d, skb);
-+ rfcomm_dlc_unlock(d);
-+ return 0;
-+ }
-+
-+drop:
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+static int rfcomm_recv_frame(struct rfcomm_session *s, struct sk_buff *skb)
-+{
-+ struct rfcomm_hdr *hdr = (void *) skb->data;
-+ u8 type, dlci, fcs;
-+
-+ dlci = __get_dlci(hdr->addr);
-+ type = __get_type(hdr->ctrl);
-+
-+ /* Trim FCS */
-+ skb->len--; skb->tail--;
-+ fcs = *(u8 *) skb->tail;
-+
-+ if (__check_fcs(skb->data, type, fcs)) {
-+ BT_ERR("bad checksum in packet");
-+ kfree_skb(skb);
-+ return -EILSEQ;
-+ }
-+
-+ if (__test_ea(hdr->len))
-+ skb_pull(skb, 3);
-+ else
-+ skb_pull(skb, 4);
-+
-+ switch (type) {
-+ case RFCOMM_SABM:
-+ if (__test_pf(hdr->ctrl))
-+ rfcomm_recv_sabm(s, dlci);
-+ break;
-+
-+ case RFCOMM_DISC:
-+ if (__test_pf(hdr->ctrl))
-+ rfcomm_recv_disc(s, dlci);
-+ break;
-+
-+ case RFCOMM_UA:
-+ if (__test_pf(hdr->ctrl))
-+ rfcomm_recv_ua(s, dlci);
-+ break;
-+
-+ case RFCOMM_DM:
-+ rfcomm_recv_dm(s, dlci);
-+ break;
-+
-+ case RFCOMM_UIH:
-+ if (dlci)
-+ return rfcomm_recv_data(s, dlci, __test_pf(hdr->ctrl), skb);
-+
-+ rfcomm_recv_mcc(s, skb);
-+ break;
-+
-+ default:
-+ BT_ERR("Unknown packet type 0x%02x\n", type);
-+ break;
-+ }
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+/* ---- Connection and data processing ---- */
-+
-+static void rfcomm_process_connect(struct rfcomm_session *s)
-+{
-+ struct rfcomm_dlc *d;
-+ struct list_head *p, *n;
-+
-+ BT_DBG("session %p state %ld", s, s->state);
-+
-+ list_for_each_safe(p, n, &s->dlcs) {
-+ d = list_entry(p, struct rfcomm_dlc, list);
-+ if (d->state == BT_CONFIG) {
-+ d->mtu = s->mtu;
-+ rfcomm_send_pn(s, 1, d);
-+ }
-+ }
-+}
-+
-+/* Send data queued for the DLC.
-+ * Return number of frames left in the queue.
-+ */
-+static inline int rfcomm_process_tx(struct rfcomm_dlc *d)
-+{
-+ struct sk_buff *skb;
-+ int err;
-+
-+ BT_DBG("dlc %p state %ld cfc %d rx_credits %d tx_credits %d",
-+ d, d->state, d->cfc, d->rx_credits, d->tx_credits);
-+
-+ /* Send pending MSC */
-+ if (test_and_clear_bit(RFCOMM_MSC_PENDING, &d->flags))
-+ rfcomm_send_msc(d->session, 1, d->dlci, d->v24_sig);
-+
-+ if (d->cfc) {
-+ /* CFC enabled.
-+ * Give them some credits */
-+ if (!test_bit(RFCOMM_RX_THROTTLED, &d->flags) &&
-+ d->rx_credits <= (d->cfc >> 2)) {
-+ rfcomm_send_credits(d->session, d->addr, d->cfc - d->rx_credits);
-+ d->rx_credits = d->cfc;
-+ }
-+ } else {
-+ /* CFC disabled.
-+ * Give ourselves some credits */
-+ d->tx_credits = 5;
-+ }
-+
-+ if (test_bit(RFCOMM_TX_THROTTLED, &d->flags))
-+ return skb_queue_len(&d->tx_queue);
-+
-+ while (d->tx_credits && (skb = skb_dequeue(&d->tx_queue))) {
-+ err = rfcomm_send_frame(d->session, skb->data, skb->len);
-+ if (err < 0) {
-+ skb_queue_head(&d->tx_queue, skb);
-+ break;
-+ }
-+ kfree_skb(skb);
-+ d->tx_credits--;
-+ }
-+
-+ if (d->cfc && !d->tx_credits) {
-+ /* We're out of TX credits.
-+ * Set TX_THROTTLED flag to avoid unnesary wakeups by dlc_send. */
-+ set_bit(RFCOMM_TX_THROTTLED, &d->flags);
-+ }
-+
-+ return skb_queue_len(&d->tx_queue);
-+}
-+
-+static inline void rfcomm_process_dlcs(struct rfcomm_session *s)
-+{
-+ struct rfcomm_dlc *d;
-+ struct list_head *p, *n;
-+
-+ BT_DBG("session %p state %ld", s, s->state);
-+
-+ list_for_each_safe(p, n, &s->dlcs) {
-+ d = list_entry(p, struct rfcomm_dlc, list);
-+ if (test_bit(RFCOMM_TIMED_OUT, &d->flags)) {
-+ __rfcomm_dlc_close(d, ETIMEDOUT);
-+ continue;
-+ }
-+
-+ if (test_bit(RFCOMM_TX_THROTTLED, &s->flags))
-+ continue;
-+
-+ if ((d->state == BT_CONNECTED || d->state == BT_DISCONN) &&
-+ d->mscex == RFCOMM_MSCEX_OK)
-+ rfcomm_process_tx(d);
-+ }
-+}
-+
-+static inline void rfcomm_process_rx(struct rfcomm_session *s)
-+{
-+ struct socket *sock = s->sock;
-+ struct sock *sk = sock->sk;
-+ struct sk_buff *skb;
-+
-+ BT_DBG("session %p state %ld qlen %d", s, s->state, skb_queue_len(&sk->receive_queue));
-+
-+ /* Get data directly from socket receive queue without copying it. */
-+ while ((skb = skb_dequeue(&sk->receive_queue))) {
-+ skb_orphan(skb);
-+ rfcomm_recv_frame(s, skb);
-+ }
-+
-+ if (sk->state == BT_CLOSED) {
-+ if (!s->initiator)
-+ rfcomm_session_put(s);
-+
-+ rfcomm_session_close(s, sk->err);
-+ }
-+}
-+
-+static inline void rfcomm_accept_connection(struct rfcomm_session *s)
-+{
-+ struct socket *sock = s->sock, *nsock;
-+ int err;
-+
-+ /* Fast check for a new connection.
-+ * Avoids unnesesary socket allocations. */
-+ if (list_empty(&bluez_pi(sock->sk)->accept_q))
-+ return;
-+
-+ BT_DBG("session %p", s);
-+
-+ nsock = sock_alloc();
-+ if (!nsock)
-+ return;
-+
-+ nsock->type = sock->type;
-+ nsock->ops = sock->ops;
-+
-+ err = sock->ops->accept(sock, nsock, O_NONBLOCK);
-+ if (err < 0) {
-+ sock_release(nsock);
-+ return;
-+ }
-+
-+ /* Set our callbacks */
-+ nsock->sk->data_ready = rfcomm_l2data_ready;
-+ nsock->sk->state_change = rfcomm_l2state_change;
-+
-+ s = rfcomm_session_add(nsock, BT_OPEN);
-+ if (s) {
-+ rfcomm_session_hold(s);
-+ rfcomm_schedule(RFCOMM_SCHED_RX);
-+ } else
-+ sock_release(nsock);
-+}
-+
-+static inline void rfcomm_check_connection(struct rfcomm_session *s)
-+{
-+ struct sock *sk = s->sock->sk;
-+
-+ BT_DBG("%p state %ld", s, s->state);
-+
-+ switch(sk->state) {
-+ case BT_CONNECTED:
-+ s->state = BT_CONNECT;
-+
-+ /* We can adjust MTU on outgoing sessions.
-+ * L2CAP MTU minus UIH header and FCS. */
-+ s->mtu = min(l2cap_pi(sk)->omtu, l2cap_pi(sk)->imtu) - 5;
-+
-+ rfcomm_send_sabm(s, 0);
-+ break;
-+
-+ case BT_CLOSED:
-+ s->state = BT_CLOSED;
-+ rfcomm_session_close(s, sk->err);
-+ break;
-+ }
-+}
-+
-+static inline void rfcomm_process_sessions(void)
-+{
-+ struct list_head *p, *n;
-+
-+ rfcomm_lock();
-+
-+ list_for_each_safe(p, n, &session_list) {
-+ struct rfcomm_session *s;
-+ s = list_entry(p, struct rfcomm_session, list);
-+
-+ if (s->state == BT_LISTEN) {
-+ rfcomm_accept_connection(s);
-+ continue;
-+ }
-+
-+ rfcomm_session_hold(s);
-+
-+ switch (s->state) {
-+ case BT_BOUND:
-+ rfcomm_check_connection(s);
-+ break;
-+
-+ default:
-+ rfcomm_process_rx(s);
-+ break;
-+ }
-+
-+ rfcomm_process_dlcs(s);
-+
-+ rfcomm_session_put(s);
-+ }
-+
-+ rfcomm_unlock();
-+}
-+
-+static void rfcomm_worker(void)
-+{
-+ BT_DBG("");
-+
-+ daemonize(); reparent_to_init();
-+ set_fs(KERNEL_DS);
-+
-+ while (!atomic_read(&terminate)) {
-+ BT_DBG("worker loop event 0x%lx", rfcomm_event);
-+
-+ if (!test_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event)) {
-+ /* No pending events. Let's sleep.
-+ * Incomming connections and data will wake us up. */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule();
-+ }
-+
-+ /* Process stuff */
-+ clear_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event);
-+ rfcomm_process_sessions();
-+ }
-+ set_current_state(TASK_RUNNING);
-+ return;
-+}
-+
-+static int rfcomm_add_listener(bdaddr_t *ba)
-+{
-+ struct sockaddr_l2 addr;
-+ struct l2cap_options opts;
-+ struct socket *sock;
-+ struct rfcomm_session *s;
-+ int size, err = 0;
-+
-+ /* Create socket */
-+ err = rfcomm_l2sock_create(&sock);
-+ if (err < 0) {
-+ BT_ERR("Create socket failed %d", err);
-+ return err;
-+ }
-+
-+ /* Bind socket */
-+ bacpy(&addr.l2_bdaddr, ba);
-+ addr.l2_family = AF_BLUETOOTH;
-+ addr.l2_psm = htobs(RFCOMM_PSM);
-+ err = sock->ops->bind(sock, (struct sockaddr *) &addr, sizeof(addr));
-+ if (err < 0) {
-+ BT_ERR("Bind failed %d", err);
-+ goto failed;
-+ }
-+
-+ /* Set L2CAP options */
-+ size = sizeof(opts);
-+ sock->ops->getsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, (void *)&opts, &size);
-+
-+ opts.imtu = RFCOMM_MAX_L2CAP_MTU;
-+ sock->ops->setsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, (void *)&opts, size);
-+
-+ /* Start listening on the socket */
-+ err = sock->ops->listen(sock, 10);
-+ if (err) {
-+ BT_ERR("Listen failed %d", err);
-+ goto failed;
-+ }
-+
-+ /* Add listening session */
-+ s = rfcomm_session_add(sock, BT_LISTEN);
-+ if (!s)
-+ goto failed;
-+
-+ rfcomm_session_hold(s);
-+ return 0;
-+failed:
-+ sock_release(sock);
-+ return err;
-+}
-+
-+static void rfcomm_kill_listener(void)
-+{
-+ struct rfcomm_session *s;
-+ struct list_head *p, *n;
-+
-+ BT_DBG("");
-+
-+ list_for_each_safe(p, n, &session_list) {
-+ s = list_entry(p, struct rfcomm_session, list);
-+ rfcomm_session_del(s);
-+ }
-+}
-+
-+static int rfcomm_run(void *unused)
-+{
-+ rfcomm_thread = current;
-+
-+ atomic_inc(&running);
-+
-+ daemonize(); reparent_to_init();
-+
-+ sigfillset(&current->blocked);
-+ set_fs(KERNEL_DS);
-+
-+ sprintf(current->comm, "krfcommd");
-+
-+ BT_DBG("");
-+
-+ rfcomm_add_listener(BDADDR_ANY);
-+
-+ rfcomm_worker();
-+
-+ rfcomm_kill_listener();
-+
-+ atomic_dec(&running);
-+ return 0;
-+}
-+
-+/* ---- Proc fs support ---- */
-+static int rfcomm_dlc_dump(char *buf)
-+{
-+ struct rfcomm_session *s;
-+ struct sock *sk;
-+ struct list_head *p, *pp;
-+ char *ptr = buf;
-+
-+ rfcomm_lock();
-+
-+ list_for_each(p, &session_list) {
-+ s = list_entry(p, struct rfcomm_session, list);
-+ sk = s->sock->sk;
-+
-+ list_for_each(pp, &s->dlcs) {
-+ struct rfcomm_dlc *d;
-+ d = list_entry(pp, struct rfcomm_dlc, list);
-+
-+ ptr += sprintf(ptr, "dlc %s %s %ld %d %d %d %d\n",
-+ batostr(&bluez_pi(sk)->src), batostr(&bluez_pi(sk)->dst),
-+ d->state, d->dlci, d->mtu, d->rx_credits, d->tx_credits);
-+ }
-+ }
-+
-+ rfcomm_unlock();
-+
-+ return ptr - buf;
-+}
-+
-+extern int rfcomm_sock_dump(char *buf);
-+
-+static int rfcomm_read_proc(char *buf, char **start, off_t offset, int count, int *eof, void *priv)
-+{
-+ char *ptr = buf;
-+ int len;
-+
-+ BT_DBG("count %d, offset %ld", count, offset);
-+
-+ ptr += rfcomm_dlc_dump(ptr);
-+ ptr += rfcomm_sock_dump(ptr);
-+ len = ptr - buf;
-+
-+ if (len <= count + offset)
-+ *eof = 1;
-+
-+ *start = buf + offset;
-+ len -= offset;
-+
-+ if (len > count)
-+ len = count;
-+ if (len < 0)
-+ len = 0;
-+
-+ return len;
-+}
-+
-+/* ---- Initialization ---- */
-+int __init rfcomm_init(void)
-+{
-+ l2cap_load();
-+
-+ kernel_thread(rfcomm_run, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
-+
-+ rfcomm_init_sockets();
-+
-+#ifdef CONFIG_BLUEZ_RFCOMM_TTY
-+ rfcomm_init_ttys();
-+#endif
-+
-+ create_proc_read_entry("bluetooth/rfcomm", 0, 0, rfcomm_read_proc, NULL);
-+
-+ BT_INFO("BlueZ RFCOMM ver %s", VERSION);
-+ BT_INFO("Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>");
-+ BT_INFO("Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>");
-+ return 0;
-+}
-+
-+void rfcomm_cleanup(void)
-+{
-+ /* Terminate working thread.
-+ * ie. Set terminate flag and wake it up */
-+ atomic_inc(&terminate);
-+ rfcomm_schedule(RFCOMM_SCHED_STATE);
-+
-+ /* Wait until thread is running */
-+ while (atomic_read(&running))
-+ schedule();
-+
-+ remove_proc_entry("bluetooth/rfcomm", NULL);
-+
-+#ifdef CONFIG_BLUEZ_RFCOMM_TTY
-+ rfcomm_cleanup_ttys();
-+#endif
-+
-+ rfcomm_cleanup_sockets();
-+ return;
-+}
-+
-+module_init(rfcomm_init);
-+module_exit(rfcomm_cleanup);
-+
-+MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>, Marcel Holtmann <marcel@holtmann.org>");
-+MODULE_DESCRIPTION("BlueZ RFCOMM ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/rfcomm/crc.c linux-2.4.18-mh15/net/bluetooth/rfcomm/crc.c
---- linux-2.4.18/net/bluetooth/rfcomm/crc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/rfcomm/crc.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,71 @@
-+/*
-+ RFCOMM implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
-+ Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * RFCOMM FCS calculation.
-+ *
-+ * $Id: crc.c,v 1.2 2002/09/21 09:54:32 holtmann Exp $
-+ */
-+
-+/* reversed, 8-bit, poly=0x07 */
-+unsigned char rfcomm_crc_table[256] = {
-+ 0x00, 0x91, 0xe3, 0x72, 0x07, 0x96, 0xe4, 0x75,
-+ 0x0e, 0x9f, 0xed, 0x7c, 0x09, 0x98, 0xea, 0x7b,
-+ 0x1c, 0x8d, 0xff, 0x6e, 0x1b, 0x8a, 0xf8, 0x69,
-+ 0x12, 0x83, 0xf1, 0x60, 0x15, 0x84, 0xf6, 0x67,
-+
-+ 0x38, 0xa9, 0xdb, 0x4a, 0x3f, 0xae, 0xdc, 0x4d,
-+ 0x36, 0xa7, 0xd5, 0x44, 0x31, 0xa0, 0xd2, 0x43,
-+ 0x24, 0xb5, 0xc7, 0x56, 0x23, 0xb2, 0xc0, 0x51,
-+ 0x2a, 0xbb, 0xc9, 0x58, 0x2d, 0xbc, 0xce, 0x5f,
-+
-+ 0x70, 0xe1, 0x93, 0x02, 0x77, 0xe6, 0x94, 0x05,
-+ 0x7e, 0xef, 0x9d, 0x0c, 0x79, 0xe8, 0x9a, 0x0b,
-+ 0x6c, 0xfd, 0x8f, 0x1e, 0x6b, 0xfa, 0x88, 0x19,
-+ 0x62, 0xf3, 0x81, 0x10, 0x65, 0xf4, 0x86, 0x17,
-+
-+ 0x48, 0xd9, 0xab, 0x3a, 0x4f, 0xde, 0xac, 0x3d,
-+ 0x46, 0xd7, 0xa5, 0x34, 0x41, 0xd0, 0xa2, 0x33,
-+ 0x54, 0xc5, 0xb7, 0x26, 0x53, 0xc2, 0xb0, 0x21,
-+ 0x5a, 0xcb, 0xb9, 0x28, 0x5d, 0xcc, 0xbe, 0x2f,
-+
-+ 0xe0, 0x71, 0x03, 0x92, 0xe7, 0x76, 0x04, 0x95,
-+ 0xee, 0x7f, 0x0d, 0x9c, 0xe9, 0x78, 0x0a, 0x9b,
-+ 0xfc, 0x6d, 0x1f, 0x8e, 0xfb, 0x6a, 0x18, 0x89,
-+ 0xf2, 0x63, 0x11, 0x80, 0xf5, 0x64, 0x16, 0x87,
-+
-+ 0xd8, 0x49, 0x3b, 0xaa, 0xdf, 0x4e, 0x3c, 0xad,
-+ 0xd6, 0x47, 0x35, 0xa4, 0xd1, 0x40, 0x32, 0xa3,
-+ 0xc4, 0x55, 0x27, 0xb6, 0xc3, 0x52, 0x20, 0xb1,
-+ 0xca, 0x5b, 0x29, 0xb8, 0xcd, 0x5c, 0x2e, 0xbf,
-+
-+ 0x90, 0x01, 0x73, 0xe2, 0x97, 0x06, 0x74, 0xe5,
-+ 0x9e, 0x0f, 0x7d, 0xec, 0x99, 0x08, 0x7a, 0xeb,
-+ 0x8c, 0x1d, 0x6f, 0xfe, 0x8b, 0x1a, 0x68, 0xf9,
-+ 0x82, 0x13, 0x61, 0xf0, 0x85, 0x14, 0x66, 0xf7,
-+
-+ 0xa8, 0x39, 0x4b, 0xda, 0xaf, 0x3e, 0x4c, 0xdd,
-+ 0xa6, 0x37, 0x45, 0xd4, 0xa1, 0x30, 0x42, 0xd3,
-+ 0xb4, 0x25, 0x57, 0xc6, 0xb3, 0x22, 0x50, 0xc1,
-+ 0xba, 0x2b, 0x59, 0xc8, 0xbd, 0x2c, 0x5e, 0xcf
-+};
-diff -urN linux-2.4.18/net/bluetooth/rfcomm/Makefile linux-2.4.18-mh15/net/bluetooth/rfcomm/Makefile
---- linux-2.4.18/net/bluetooth/rfcomm/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/rfcomm/Makefile 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,11 @@
-+#
-+# Makefile for the Linux Bluetooth RFCOMM layer
-+#
-+
-+O_TARGET := rfcomm.o
-+
-+obj-y := core.o sock.o crc.o
-+obj-$(CONFIG_BLUEZ_RFCOMM_TTY) += tty.o
-+obj-m += $(O_TARGET)
-+
-+include $(TOPDIR)/Rules.make
-diff -urN linux-2.4.18/net/bluetooth/rfcomm/sock.c linux-2.4.18-mh15/net/bluetooth/rfcomm/sock.c
---- linux-2.4.18/net/bluetooth/rfcomm/sock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/rfcomm/sock.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,847 @@
-+/*
-+ RFCOMM implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
-+ Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * RFCOMM sockets.
-+ *
-+ * $Id: sock.c,v 1.30 2002/10/18 20:12:12 maxk Exp $
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/init.h>
-+#include <linux/skbuff.h>
-+#include <linux/interrupt.h>
-+#include <linux/socket.h>
-+#include <linux/skbuff.h>
-+#include <linux/list.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/rfcomm.h>
-+
-+#ifndef CONFIG_BLUEZ_RFCOMM_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+static struct proto_ops rfcomm_sock_ops;
-+
-+static struct bluez_sock_list rfcomm_sk_list = {
-+ lock: RW_LOCK_UNLOCKED
-+};
-+
-+static void rfcomm_sock_close(struct sock *sk);
-+static void rfcomm_sock_kill(struct sock *sk);
-+
-+/* ---- DLC callbacks ----
-+ *
-+ * called under rfcomm_dlc_lock()
-+ */
-+static void rfcomm_sk_data_ready(struct rfcomm_dlc *d, struct sk_buff *skb)
-+{
-+ struct sock *sk = d->owner;
-+ if (!sk)
-+ return;
-+
-+ atomic_add(skb->len, &sk->rmem_alloc);
-+ skb_queue_tail(&sk->receive_queue, skb);
-+ sk->data_ready(sk, skb->len);
-+
-+ if (atomic_read(&sk->rmem_alloc) >= sk->rcvbuf)
-+ rfcomm_dlc_throttle(d);
-+}
-+
-+static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err)
-+{
-+ struct sock *sk = d->owner, *parent;
-+ if (!sk)
-+ return;
-+
-+ BT_DBG("dlc %p state %ld err %d", d, d->state, err);
-+
-+ bh_lock_sock(sk);
-+
-+ if (err)
-+ sk->err = err;
-+ sk->state = d->state;
-+
-+ parent = bluez_pi(sk)->parent;
-+ if (!parent) {
-+ if (d->state == BT_CONNECTED)
-+ rfcomm_session_getaddr(d->session, &bluez_pi(sk)->src, NULL);
-+ sk->state_change(sk);
-+ } else
-+ parent->data_ready(parent, 0);
-+
-+ bh_unlock_sock(sk);
-+}
-+
-+/* ---- Socket functions ---- */
-+static struct sock *__rfcomm_get_sock_by_addr(u8 channel, bdaddr_t *src)
-+{
-+ struct sock *sk;
-+
-+ for (sk = rfcomm_sk_list.head; sk; sk = sk->next) {
-+ if (rfcomm_pi(sk)->channel == channel &&
-+ !bacmp(&bluez_pi(sk)->src, src))
-+ break;
-+ }
-+
-+ return sk;
-+}
-+
-+/* Find socket with channel and source bdaddr.
-+ * Returns closest match.
-+ */
-+static struct sock *__rfcomm_get_sock_by_channel(int state, u8 channel, bdaddr_t *src)
-+{
-+ struct sock *sk, *sk1 = NULL;
-+
-+ for (sk = rfcomm_sk_list.head; sk; sk = sk->next) {
-+ if (state && sk->state != state)
-+ continue;
-+
-+ if (rfcomm_pi(sk)->channel == channel) {
-+ /* Exact match. */
-+ if (!bacmp(&bluez_pi(sk)->src, src))
-+ break;
-+
-+ /* Closest match */
-+ if (!bacmp(&bluez_pi(sk)->src, BDADDR_ANY))
-+ sk1 = sk;
-+ }
-+ }
-+ return sk ? sk : sk1;
-+}
-+
-+/* Find socket with given address (channel, src).
-+ * Returns locked socket */
-+static inline struct sock *rfcomm_get_sock_by_channel(int state, u8 channel, bdaddr_t *src)
-+{
-+ struct sock *s;
-+ read_lock(&rfcomm_sk_list.lock);
-+ s = __rfcomm_get_sock_by_channel(state, channel, src);
-+ if (s) bh_lock_sock(s);
-+ read_unlock(&rfcomm_sk_list.lock);
-+ return s;
-+}
-+
-+static void rfcomm_sock_destruct(struct sock *sk)
-+{
-+ struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc;
-+
-+ BT_DBG("sk %p dlc %p", sk, d);
-+
-+ skb_queue_purge(&sk->receive_queue);
-+ skb_queue_purge(&sk->write_queue);
-+
-+ rfcomm_dlc_lock(d);
-+ rfcomm_pi(sk)->dlc = NULL;
-+
-+ /* Detach DLC if it's owned by this socket */
-+ if (d->owner == sk)
-+ d->owner = NULL;
-+ rfcomm_dlc_unlock(d);
-+
-+ rfcomm_dlc_put(d);
-+
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static void rfcomm_sock_cleanup_listen(struct sock *parent)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("parent %p", parent);
-+
-+ /* Close not yet accepted dlcs */
-+ while ((sk = bluez_accept_dequeue(parent, NULL))) {
-+ rfcomm_sock_close(sk);
-+ rfcomm_sock_kill(sk);
-+ }
-+
-+ parent->state = BT_CLOSED;
-+ parent->zapped = 1;
-+}
-+
-+/* Kill socket (only if zapped and orphan)
-+ * Must be called on unlocked socket.
-+ */
-+static void rfcomm_sock_kill(struct sock *sk)
-+{
-+ if (!sk->zapped || sk->socket)
-+ return;
-+
-+ BT_DBG("sk %p state %d refcnt %d", sk, sk->state, atomic_read(&sk->refcnt));
-+
-+ /* Kill poor orphan */
-+ bluez_sock_unlink(&rfcomm_sk_list, sk);
-+ sk->dead = 1;
-+ sock_put(sk);
-+}
-+
-+static void __rfcomm_sock_close(struct sock *sk)
-+{
-+ struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc;
-+
-+ BT_DBG("sk %p state %d socket %p", sk, sk->state, sk->socket);
-+
-+ switch (sk->state) {
-+ case BT_LISTEN:
-+ rfcomm_sock_cleanup_listen(sk);
-+ break;
-+
-+ case BT_CONNECT:
-+ case BT_CONNECT2:
-+ case BT_CONFIG:
-+ case BT_CONNECTED:
-+ rfcomm_dlc_close(d, 0);
-+
-+ default:
-+ sk->zapped = 1;
-+ break;
-+ }
-+}
-+
-+/* Close socket.
-+ * Must be called on unlocked socket.
-+ */
-+static void rfcomm_sock_close(struct sock *sk)
-+{
-+ lock_sock(sk);
-+ __rfcomm_sock_close(sk);
-+ release_sock(sk);
-+}
-+
-+static void rfcomm_sock_init(struct sock *sk, struct sock *parent)
-+{
-+ BT_DBG("sk %p", sk);
-+
-+ if (parent)
-+ sk->type = parent->type;
-+}
-+
-+static struct sock *rfcomm_sock_alloc(struct socket *sock, int proto, int prio)
-+{
-+ struct rfcomm_dlc *d;
-+ struct sock *sk;
-+
-+ sk = sk_alloc(PF_BLUETOOTH, prio, 1);
-+ if (!sk)
-+ return NULL;
-+
-+ d = rfcomm_dlc_alloc(prio);
-+ if (!d) {
-+ sk_free(sk);
-+ return NULL;
-+ }
-+ d->data_ready = rfcomm_sk_data_ready;
-+ d->state_change = rfcomm_sk_state_change;
-+
-+ rfcomm_pi(sk)->dlc = d;
-+ d->owner = sk;
-+
-+ bluez_sock_init(sock, sk);
-+
-+ sk->zapped = 0;
-+
-+ sk->destruct = rfcomm_sock_destruct;
-+ sk->sndtimeo = RFCOMM_CONN_TIMEOUT;
-+
-+ sk->sndbuf = RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 10;
-+ sk->rcvbuf = RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 10;
-+
-+ sk->protocol = proto;
-+ sk->state = BT_OPEN;
-+
-+ bluez_sock_link(&rfcomm_sk_list, sk);
-+
-+ BT_DBG("sk %p", sk);
-+
-+ MOD_INC_USE_COUNT;
-+ return sk;
-+}
-+
-+static int rfcomm_sock_create(struct socket *sock, int protocol)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("sock %p", sock);
-+
-+ sock->state = SS_UNCONNECTED;
-+
-+ if (sock->type != SOCK_STREAM && sock->type != SOCK_RAW)
-+ return -ESOCKTNOSUPPORT;
-+
-+ sock->ops = &rfcomm_sock_ops;
-+
-+ if (!(sk = rfcomm_sock_alloc(sock, protocol, GFP_KERNEL)))
-+ return -ENOMEM;
-+
-+ rfcomm_sock_init(sk, NULL);
-+ return 0;
-+}
-+
-+static int rfcomm_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
-+{
-+ struct sockaddr_rc *sa = (struct sockaddr_rc *) addr;
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p %s", sk, batostr(&sa->rc_bdaddr));
-+
-+ if (!addr || addr->sa_family != AF_BLUETOOTH)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_OPEN) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ write_lock_bh(&rfcomm_sk_list.lock);
-+
-+ if (sa->rc_channel && __rfcomm_get_sock_by_addr(sa->rc_channel, &sa->rc_bdaddr)) {
-+ err = -EADDRINUSE;
-+ } else {
-+ /* Save source address */
-+ bacpy(&bluez_pi(sk)->src, &sa->rc_bdaddr);
-+ rfcomm_pi(sk)->channel = sa->rc_channel;
-+ sk->state = BT_BOUND;
-+ }
-+
-+ write_unlock_bh(&rfcomm_sk_list.lock);
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int rfcomm_sock_connect(struct socket *sock, struct sockaddr *addr, int alen, int flags)
-+{
-+ struct sockaddr_rc *sa = (struct sockaddr_rc *) addr;
-+ struct sock *sk = sock->sk;
-+ struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc;
-+ int err = 0;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (addr->sa_family != AF_BLUETOOTH || alen < sizeof(struct sockaddr_rc))
-+ return -EINVAL;
-+
-+ if (sk->state != BT_OPEN && sk->state != BT_BOUND)
-+ return -EBADFD;
-+
-+ if (sk->type != SOCK_STREAM)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ sk->state = BT_CONNECT;
-+ bacpy(&bluez_pi(sk)->dst, &sa->rc_bdaddr);
-+ rfcomm_pi(sk)->channel = sa->rc_channel;
-+
-+ err = rfcomm_dlc_open(d, &bluez_pi(sk)->src, &sa->rc_bdaddr, sa->rc_channel);
-+ if (!err)
-+ err = bluez_sock_wait_state(sk, BT_CONNECTED,
-+ sock_sndtimeo(sk, flags & O_NONBLOCK));
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int rfcomm_sock_listen(struct socket *sock, int backlog)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p backlog %d", sk, backlog);
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_BOUND) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ sk->max_ack_backlog = backlog;
-+ sk->ack_backlog = 0;
-+ sk->state = BT_LISTEN;
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int rfcomm_sock_accept(struct socket *sock, struct socket *newsock, int flags)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ struct sock *sk = sock->sk, *nsk;
-+ long timeo;
-+ int err = 0;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_LISTEN) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+
-+ BT_DBG("sk %p timeo %ld", sk, timeo);
-+
-+ /* Wait for an incoming connection. (wake-one). */
-+ add_wait_queue_exclusive(sk->sleep, &wait);
-+ while (!(nsk = bluez_accept_dequeue(sk, newsock))) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ if (!timeo) {
-+ err = -EAGAIN;
-+ break;
-+ }
-+
-+ release_sock(sk);
-+ timeo = schedule_timeout(timeo);
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_LISTEN) {
-+ err = -EBADFD;
-+ break;
-+ }
-+
-+ if (signal_pending(current)) {
-+ err = sock_intr_errno(timeo);
-+ break;
-+ }
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+
-+ if (err)
-+ goto done;
-+
-+ newsock->state = SS_CONNECTED;
-+
-+ BT_DBG("new socket %p", nsk);
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int rfcomm_sock_getname(struct socket *sock, struct sockaddr *addr, int *len, int peer)
-+{
-+ struct sockaddr_rc *sa = (struct sockaddr_rc *) addr;
-+ struct sock *sk = sock->sk;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ sa->rc_family = AF_BLUETOOTH;
-+ sa->rc_channel = rfcomm_pi(sk)->channel;
-+ if (peer)
-+ bacpy(&sa->rc_bdaddr, &bluez_pi(sk)->dst);
-+ else
-+ bacpy(&sa->rc_bdaddr, &bluez_pi(sk)->src);
-+
-+ *len = sizeof(struct sockaddr_rc);
-+ return 0;
-+}
-+
-+static int rfcomm_sock_sendmsg(struct socket *sock, struct msghdr *msg, int len,
-+ struct scm_cookie *scm)
-+{
-+ struct sock *sk = sock->sk;
-+ struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc;
-+ struct sk_buff *skb;
-+ int err, size;
-+ int sent = 0;
-+
-+ if (msg->msg_flags & MSG_OOB)
-+ return -EOPNOTSUPP;
-+
-+ if (sk->shutdown & SEND_SHUTDOWN)
-+ return -EPIPE;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ lock_sock(sk);
-+
-+ while (len) {
-+ size = min_t(uint, len, d->mtu);
-+
-+ skb = sock_alloc_send_skb(sk, size + RFCOMM_SKB_RESERVE,
-+ msg->msg_flags & MSG_DONTWAIT, &err);
-+ if (!skb)
-+ break;
-+ skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE);
-+
-+ err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
-+ if (err) {
-+ kfree_skb(skb);
-+ sent = err;
-+ break;
-+ }
-+
-+ err = rfcomm_dlc_send(d, skb);
-+ if (err < 0) {
-+ kfree_skb(skb);
-+ break;
-+ }
-+
-+ sent += size;
-+ len -= size;
-+ }
-+
-+ release_sock(sk);
-+
-+ return sent ? sent : err;
-+}
-+
-+static long rfcomm_sock_data_wait(struct sock *sk, long timeo)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+
-+ add_wait_queue(sk->sleep, &wait);
-+ for (;;) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (skb_queue_len(&sk->receive_queue) || sk->err || (sk->shutdown & RCV_SHUTDOWN) ||
-+ signal_pending(current) || !timeo)
-+ break;
-+
-+ set_bit(SOCK_ASYNC_WAITDATA, &sk->socket->flags);
-+ release_sock(sk);
-+ timeo = schedule_timeout(timeo);
-+ lock_sock(sk);
-+ clear_bit(SOCK_ASYNC_WAITDATA, &sk->socket->flags);
-+ }
-+
-+ __set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+ return timeo;
-+}
-+
-+static int rfcomm_sock_recvmsg(struct socket *sock, struct msghdr *msg, int size,
-+ int flags, struct scm_cookie *scm)
-+{
-+ struct sock *sk = sock->sk;
-+ int target, err = 0, copied = 0;
-+ long timeo;
-+
-+ if (flags & MSG_OOB)
-+ return -EOPNOTSUPP;
-+
-+ msg->msg_namelen = 0;
-+
-+ BT_DBG("sk %p size %d", sk, size);
-+
-+ lock_sock(sk);
-+
-+ target = sock_rcvlowat(sk, flags & MSG_WAITALL, size);
-+ timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT);
-+
-+ do {
-+ struct sk_buff *skb;
-+ int chunk;
-+
-+ skb = skb_dequeue(&sk->receive_queue);
-+ if (!skb) {
-+ if (copied >= target)
-+ break;
-+
-+ if ((err = sock_error(sk)) != 0)
-+ break;
-+ if (sk->shutdown & RCV_SHUTDOWN)
-+ break;
-+
-+ err = -EAGAIN;
-+ if (!timeo)
-+ break;
-+
-+ timeo = rfcomm_sock_data_wait(sk, timeo);
-+
-+ if (signal_pending(current)) {
-+ err = sock_intr_errno(timeo);
-+ goto out;
-+ }
-+ continue;
-+ }
-+
-+ chunk = min_t(unsigned int, skb->len, size);
-+ if (memcpy_toiovec(msg->msg_iov, skb->data, chunk)) {
-+ skb_queue_head(&sk->receive_queue, skb);
-+ if (!copied)
-+ copied = -EFAULT;
-+ break;
-+ }
-+ copied += chunk;
-+ size -= chunk;
-+
-+ if (!(flags & MSG_PEEK)) {
-+ atomic_sub(chunk, &sk->rmem_alloc);
-+
-+ skb_pull(skb, chunk);
-+ if (skb->len) {
-+ skb_queue_head(&sk->receive_queue, skb);
-+ break;
-+ }
-+ kfree_skb(skb);
-+
-+ } else {
-+ /* put message back and return */
-+ skb_queue_head(&sk->receive_queue, skb);
-+ break;
-+ }
-+ } while (size);
-+
-+out:
-+ if (atomic_read(&sk->rmem_alloc) <= (sk->rcvbuf >> 2))
-+ rfcomm_dlc_unthrottle(rfcomm_pi(sk)->dlc);
-+
-+ release_sock(sk);
-+ return copied ? : err;
-+}
-+
-+static int rfcomm_sock_setsockopt(struct socket *sock, int level, int optname, char *optval, int optlen)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ lock_sock(sk);
-+
-+ switch (optname) {
-+ default:
-+ err = -ENOPROTOOPT;
-+ break;
-+ };
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int rfcomm_sock_getsockopt(struct socket *sock, int level, int optname, char *optval, int *optlen)
-+{
-+ struct sock *sk = sock->sk;
-+ int len, err = 0;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (get_user(len, optlen))
-+ return -EFAULT;
-+
-+ lock_sock(sk);
-+
-+ switch (optname) {
-+ default:
-+ err = -ENOPROTOOPT;
-+ break;
-+ };
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int rfcomm_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
-+{
-+ struct sock *sk = sock->sk;
-+ int err;
-+
-+ lock_sock(sk);
-+
-+#ifdef CONFIG_BLUEZ_RFCOMM_TTY
-+ err = rfcomm_dev_ioctl(sk, cmd, arg);
-+#else
-+ err = -EOPNOTSUPP;
-+#endif
-+
-+ release_sock(sk);
-+
-+ return err;
-+}
-+
-+static int rfcomm_sock_shutdown(struct socket *sock, int how)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (!sk) return 0;
-+
-+ lock_sock(sk);
-+ if (!sk->shutdown) {
-+ sk->shutdown = SHUTDOWN_MASK;
-+ __rfcomm_sock_close(sk);
-+
-+ if (sk->linger)
-+ err = bluez_sock_wait_state(sk, BT_CLOSED, sk->lingertime);
-+ }
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int rfcomm_sock_release(struct socket *sock)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (!sk)
-+ return 0;
-+
-+ err = rfcomm_sock_shutdown(sock, 2);
-+
-+ sock_orphan(sk);
-+ rfcomm_sock_kill(sk);
-+ return err;
-+}
-+
-+/* ---- RFCOMM core layer callbacks ----
-+ *
-+ * called under rfcomm_lock()
-+ */
-+int rfcomm_connect_ind(struct rfcomm_session *s, u8 channel, struct rfcomm_dlc **d)
-+{
-+ struct sock *sk, *parent;
-+ bdaddr_t src, dst;
-+ int result = 0;
-+
-+ BT_DBG("session %p channel %d", s, channel);
-+
-+ rfcomm_session_getaddr(s, &src, &dst);
-+
-+ /* Check if we have socket listening on this channel */
-+ parent = rfcomm_get_sock_by_channel(BT_LISTEN, channel, &src);
-+ if (!parent)
-+ return 0;
-+
-+ /* Check for backlog size */
-+ if (parent->ack_backlog > parent->max_ack_backlog) {
-+ BT_DBG("backlog full %d", parent->ack_backlog);
-+ goto done;
-+ }
-+
-+ sk = rfcomm_sock_alloc(NULL, BTPROTO_RFCOMM, GFP_ATOMIC);
-+ if (!sk)
-+ goto done;
-+
-+ rfcomm_sock_init(sk, parent);
-+ bacpy(&bluez_pi(sk)->src, &src);
-+ bacpy(&bluez_pi(sk)->dst, &dst);
-+ rfcomm_pi(sk)->channel = channel;
-+
-+ sk->state = BT_CONFIG;
-+ bluez_accept_enqueue(parent, sk);
-+
-+ /* Accept connection and return socket DLC */
-+ *d = rfcomm_pi(sk)->dlc;
-+ result = 1;
-+
-+done:
-+ bh_unlock_sock(parent);
-+ return result;
-+}
-+
-+/* ---- Proc fs support ---- */
-+int rfcomm_sock_dump(char *buf)
-+{
-+ struct bluez_sock_list *list = &rfcomm_sk_list;
-+ struct rfcomm_pinfo *pi;
-+ struct sock *sk;
-+ char *ptr = buf;
-+
-+ write_lock_bh(&list->lock);
-+
-+ for (sk = list->head; sk; sk = sk->next) {
-+ pi = rfcomm_pi(sk);
-+ ptr += sprintf(ptr, "sk %s %s %d %d\n",
-+ batostr(&bluez_pi(sk)->src), batostr(&bluez_pi(sk)->dst),
-+ sk->state, rfcomm_pi(sk)->channel);
-+ }
-+
-+ write_unlock_bh(&list->lock);
-+
-+ return ptr - buf;
-+}
-+
-+static struct proto_ops rfcomm_sock_ops = {
-+ family: PF_BLUETOOTH,
-+ release: rfcomm_sock_release,
-+ bind: rfcomm_sock_bind,
-+ connect: rfcomm_sock_connect,
-+ listen: rfcomm_sock_listen,
-+ accept: rfcomm_sock_accept,
-+ getname: rfcomm_sock_getname,
-+ sendmsg: rfcomm_sock_sendmsg,
-+ recvmsg: rfcomm_sock_recvmsg,
-+ shutdown: rfcomm_sock_shutdown,
-+ setsockopt: rfcomm_sock_setsockopt,
-+ getsockopt: rfcomm_sock_getsockopt,
-+ ioctl: rfcomm_sock_ioctl,
-+ poll: bluez_sock_poll,
-+ socketpair: sock_no_socketpair,
-+ mmap: sock_no_mmap
-+};
-+
-+static struct net_proto_family rfcomm_sock_family_ops = {
-+ family: PF_BLUETOOTH,
-+ create: rfcomm_sock_create
-+};
-+
-+int rfcomm_init_sockets(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_register(BTPROTO_RFCOMM, &rfcomm_sock_family_ops))) {
-+ BT_ERR("Can't register RFCOMM socket layer");
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+void rfcomm_cleanup_sockets(void)
-+{
-+ int err;
-+
-+ /* Unregister socket, protocol and notifier */
-+ if ((err = bluez_sock_unregister(BTPROTO_RFCOMM)))
-+ BT_ERR("Can't unregister RFCOMM socket layer %d", err);
-+}
-diff -urN linux-2.4.18/net/bluetooth/rfcomm/tty.c linux-2.4.18-mh15/net/bluetooth/rfcomm/tty.c
---- linux-2.4.18/net/bluetooth/rfcomm/tty.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/rfcomm/tty.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,960 @@
-+/*
-+ RFCOMM implementation for Linux Bluetooth stack (BlueZ).
-+ Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
-+ Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
-+
-+ 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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * RFCOMM TTY.
-+ *
-+ * $Id: tty.c,v 1.26 2002/10/18 20:12:12 maxk Exp $
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/tty.h>
-+#include <linux/tty_driver.h>
-+#include <linux/tty_flip.h>
-+
-+#include <linux/slab.h>
-+#include <linux/skbuff.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/rfcomm.h>
-+
-+#ifndef CONFIG_BLUEZ_RFCOMM_DEBUG
-+#undef BT_DBG
-+#define BT_DBG(D...)
-+#endif
-+
-+#define RFCOMM_TTY_MAGIC 0x6d02 /* magic number for rfcomm struct */
-+#define RFCOMM_TTY_PORTS RFCOMM_MAX_DEV /* whole lotta rfcomm devices */
-+#define RFCOMM_TTY_MAJOR 216 /* device node major id of the usb/bluetooth.c driver */
-+#define RFCOMM_TTY_MINOR 0
-+
-+struct rfcomm_dev {
-+ struct list_head list;
-+ atomic_t refcnt;
-+
-+ char name[12];
-+ int id;
-+ unsigned long flags;
-+ int opened;
-+ int err;
-+
-+ bdaddr_t src;
-+ bdaddr_t dst;
-+ u8 channel;
-+
-+ uint modem_status;
-+
-+ struct rfcomm_dlc *dlc;
-+ struct tty_struct *tty;
-+ wait_queue_head_t wait;
-+ struct tasklet_struct wakeup_task;
-+
-+ atomic_t wmem_alloc;
-+};
-+
-+static LIST_HEAD(rfcomm_dev_list);
-+static rwlock_t rfcomm_dev_lock = RW_LOCK_UNLOCKED;
-+
-+static void rfcomm_dev_data_ready(struct rfcomm_dlc *dlc, struct sk_buff *skb);
-+static void rfcomm_dev_state_change(struct rfcomm_dlc *dlc, int err);
-+static void rfcomm_dev_modem_status(struct rfcomm_dlc *dlc, u8 v24_sig);
-+
-+static void rfcomm_tty_wakeup(unsigned long arg);
-+
-+/* ---- Device functions ---- */
-+static void rfcomm_dev_destruct(struct rfcomm_dev *dev)
-+{
-+ struct rfcomm_dlc *dlc = dev->dlc;
-+
-+ BT_DBG("dev %p dlc %p", dev, dlc);
-+
-+ rfcomm_dlc_lock(dlc);
-+ /* Detach DLC if it's owned by this dev */
-+ if (dlc->owner == dev)
-+ dlc->owner = NULL;
-+ rfcomm_dlc_unlock(dlc);
-+
-+ rfcomm_dlc_put(dlc);
-+ kfree(dev);
-+
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static inline void rfcomm_dev_hold(struct rfcomm_dev *dev)
-+{
-+ atomic_inc(&dev->refcnt);
-+}
-+
-+static inline void rfcomm_dev_put(struct rfcomm_dev *dev)
-+{
-+ /* The reason this isn't actually a race, as you no
-+ doubt have a little voice screaming at you in your
-+ head, is that the refcount should never actually
-+ reach zero unless the device has already been taken
-+ off the list, in rfcomm_dev_del(). And if that's not
-+ true, we'll hit the BUG() in rfcomm_dev_destruct()
-+ anyway. */
-+ if (atomic_dec_and_test(&dev->refcnt))
-+ rfcomm_dev_destruct(dev);
-+}
-+
-+static struct rfcomm_dev *__rfcomm_dev_get(int id)
-+{
-+ struct rfcomm_dev *dev;
-+ struct list_head *p;
-+
-+ list_for_each(p, &rfcomm_dev_list) {
-+ dev = list_entry(p, struct rfcomm_dev, list);
-+ if (dev->id == id)
-+ return dev;
-+ }
-+
-+ return NULL;
-+}
-+
-+static inline struct rfcomm_dev *rfcomm_dev_get(int id)
-+{
-+ struct rfcomm_dev *dev;
-+
-+ read_lock(&rfcomm_dev_lock);
-+
-+ dev = __rfcomm_dev_get(id);
-+ if (dev)
-+ rfcomm_dev_hold(dev);
-+
-+ read_unlock(&rfcomm_dev_lock);
-+
-+ return dev;
-+}
-+
-+static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc)
-+{
-+ struct rfcomm_dev *dev;
-+ struct list_head *head = &rfcomm_dev_list, *p;
-+ int err = 0;
-+
-+ BT_DBG("id %d channel %d", req->dev_id, req->channel);
-+
-+ dev = kmalloc(sizeof(struct rfcomm_dev), GFP_KERNEL);
-+ if (!dev)
-+ return -ENOMEM;
-+ memset(dev, 0, sizeof(struct rfcomm_dev));
-+
-+ write_lock_bh(&rfcomm_dev_lock);
-+
-+ if (req->dev_id < 0) {
-+ dev->id = 0;
-+
-+ list_for_each(p, &rfcomm_dev_list) {
-+ if (list_entry(p, struct rfcomm_dev, list)->id != dev->id)
-+ break;
-+
-+ dev->id++;
-+ head = p;
-+ }
-+ } else {
-+ dev->id = req->dev_id;
-+
-+ list_for_each(p, &rfcomm_dev_list) {
-+ struct rfcomm_dev *entry = list_entry(p, struct rfcomm_dev, list);
-+
-+ if (entry->id == dev->id) {
-+ err = -EADDRINUSE;
-+ goto out;
-+ }
-+
-+ if (entry->id > dev->id - 1)
-+ break;
-+
-+ head = p;
-+ }
-+ }
-+
-+ if ((dev->id < 0) || (dev->id > RFCOMM_MAX_DEV - 1)) {
-+ err = -ENFILE;
-+ goto out;
-+ }
-+
-+ sprintf(dev->name, "rfcomm%d", dev->id);
-+
-+ list_add(&dev->list, head);
-+ atomic_set(&dev->refcnt, 1);
-+
-+ bacpy(&dev->src, &req->src);
-+ bacpy(&dev->dst, &req->dst);
-+ dev->channel = req->channel;
-+
-+ dev->flags = req->flags &
-+ ((1 << RFCOMM_RELEASE_ONHUP) | (1 << RFCOMM_REUSE_DLC));
-+
-+ init_waitqueue_head(&dev->wait);
-+ tasklet_init(&dev->wakeup_task, rfcomm_tty_wakeup, (unsigned long) dev);
-+
-+ rfcomm_dlc_lock(dlc);
-+ dlc->data_ready = rfcomm_dev_data_ready;
-+ dlc->state_change = rfcomm_dev_state_change;
-+ dlc->modem_status = rfcomm_dev_modem_status;
-+
-+ dlc->owner = dev;
-+ dev->dlc = dlc;
-+ rfcomm_dlc_unlock(dlc);
-+
-+ MOD_INC_USE_COUNT;
-+
-+out:
-+ write_unlock_bh(&rfcomm_dev_lock);
-+
-+ if (err) {
-+ kfree(dev);
-+ return err;
-+ } else
-+ return dev->id;
-+}
-+
-+static void rfcomm_dev_del(struct rfcomm_dev *dev)
-+{
-+ BT_DBG("dev %p", dev);
-+
-+ write_lock_bh(&rfcomm_dev_lock);
-+ list_del_init(&dev->list);
-+ write_unlock_bh(&rfcomm_dev_lock);
-+
-+ rfcomm_dev_put(dev);
-+}
-+
-+/* ---- Send buffer ---- */
-+
-+static inline unsigned int rfcomm_room(struct rfcomm_dlc *dlc)
-+{
-+ /* We can't let it be zero, because we don't get a callback
-+ when tx_credits becomes nonzero, hence we'd never wake up */
-+ return dlc->mtu * (dlc->tx_credits?:1);
-+}
-+
-+static void rfcomm_wfree(struct sk_buff *skb)
-+{
-+ struct rfcomm_dev *dev = (void *) skb->sk;
-+ atomic_sub(skb->truesize, &dev->wmem_alloc);
-+ if (test_bit(RFCOMM_TTY_ATTACHED, &dev->flags))
-+ tasklet_schedule(&dev->wakeup_task);
-+ rfcomm_dev_put(dev);
-+}
-+
-+static inline void rfcomm_set_owner_w(struct sk_buff *skb, struct rfcomm_dev *dev)
-+{
-+ rfcomm_dev_hold(dev);
-+ atomic_add(skb->truesize, &dev->wmem_alloc);
-+ skb->sk = (void *) dev;
-+ skb->destructor = rfcomm_wfree;
-+}
-+
-+static struct sk_buff *rfcomm_wmalloc(struct rfcomm_dev *dev, unsigned long size, int force, int priority)
-+{
-+ if (force || atomic_read(&dev->wmem_alloc) < rfcomm_room(dev->dlc)) {
-+ struct sk_buff *skb = alloc_skb(size, priority);
-+ if (skb) {
-+ rfcomm_set_owner_w(skb, dev);
-+ return skb;
-+ }
-+ }
-+ return NULL;
-+}
-+
-+/* ---- Device IOCTLs ---- */
-+
-+#define NOCAP_FLAGS ((1 << RFCOMM_REUSE_DLC) | (1 << RFCOMM_RELEASE_ONHUP))
-+
-+static int rfcomm_create_dev(struct sock *sk, unsigned long arg)
-+{
-+ struct rfcomm_dev_req req;
-+ struct rfcomm_dlc *dlc;
-+ int id;
-+
-+ if (copy_from_user(&req, (void *) arg, sizeof(req)))
-+ return -EFAULT;
-+
-+ BT_DBG("sk %p dev_id %id flags 0x%x", sk, req.dev_id, req.flags);
-+
-+ if (req.flags != NOCAP_FLAGS && !capable(CAP_NET_ADMIN))
-+ return -EPERM;
-+
-+ if (req.flags & (1 << RFCOMM_REUSE_DLC)) {
-+ /* Socket must be connected */
-+ if (sk->state != BT_CONNECTED)
-+ return -EBADFD;
-+
-+ dlc = rfcomm_pi(sk)->dlc;
-+ rfcomm_dlc_hold(dlc);
-+ } else {
-+ dlc = rfcomm_dlc_alloc(GFP_KERNEL);
-+ if (!dlc)
-+ return -ENOMEM;
-+ }
-+
-+ id = rfcomm_dev_add(&req, dlc);
-+ if (id < 0) {
-+ rfcomm_dlc_put(dlc);
-+ return id;
-+ }
-+
-+ if (req.flags & (1 << RFCOMM_REUSE_DLC)) {
-+ /* DLC is now used by device.
-+ * Socket must be disconnected */
-+ sk->state = BT_CLOSED;
-+ }
-+
-+ return id;
-+}
-+
-+static int rfcomm_release_dev(unsigned long arg)
-+{
-+ struct rfcomm_dev_req req;
-+ struct rfcomm_dev *dev;
-+
-+ if (copy_from_user(&req, (void *) arg, sizeof(req)))
-+ return -EFAULT;
-+
-+ BT_DBG("dev_id %id flags 0x%x", req.dev_id, req.flags);
-+
-+ if (!(dev = rfcomm_dev_get(req.dev_id)))
-+ return -ENODEV;
-+
-+ if (dev->flags != NOCAP_FLAGS && !capable(CAP_NET_ADMIN)) {
-+ rfcomm_dev_put(dev);
-+ return -EPERM;
-+ }
-+
-+ if (req.flags & (1 << RFCOMM_HANGUP_NOW))
-+ rfcomm_dlc_close(dev->dlc, 0);
-+
-+ rfcomm_dev_del(dev);
-+ rfcomm_dev_put(dev);
-+ return 0;
-+}
-+
-+static int rfcomm_get_dev_list(unsigned long arg)
-+{
-+ struct rfcomm_dev_list_req *dl;
-+ struct rfcomm_dev_info *di;
-+ struct list_head *p;
-+ int n = 0, size, err;
-+ u16 dev_num;
-+
-+ BT_DBG("");
-+
-+ if (get_user(dev_num, (u16 *) arg))
-+ return -EFAULT;
-+
-+ if (!dev_num || dev_num > (PAGE_SIZE * 4) / sizeof(*di))
-+ return -EINVAL;
-+
-+ size = sizeof(*dl) + dev_num * sizeof(*di);
-+
-+ if (!(dl = kmalloc(size, GFP_KERNEL)))
-+ return -ENOMEM;
-+
-+ di = dl->dev_info;
-+
-+ read_lock_bh(&rfcomm_dev_lock);
-+
-+ list_for_each(p, &rfcomm_dev_list) {
-+ struct rfcomm_dev *dev = list_entry(p, struct rfcomm_dev, list);
-+ (di + n)->id = dev->id;
-+ (di + n)->flags = dev->flags;
-+ (di + n)->state = dev->dlc->state;
-+ (di + n)->channel = dev->channel;
-+ bacpy(&(di + n)->src, &dev->src);
-+ bacpy(&(di + n)->dst, &dev->dst);
-+ if (++n >= dev_num)
-+ break;
-+ }
-+
-+ read_unlock_bh(&rfcomm_dev_lock);
-+
-+ dl->dev_num = n;
-+ size = sizeof(*dl) + n * sizeof(*di);
-+
-+ err = copy_to_user((void *) arg, dl, size);
-+ kfree(dl);
-+
-+ return err ? -EFAULT : 0;
-+}
-+
-+static int rfcomm_get_dev_info(unsigned long arg)
-+{
-+ struct rfcomm_dev *dev;
-+ struct rfcomm_dev_info di;
-+ int err = 0;
-+
-+ BT_DBG("");
-+
-+ if (copy_from_user(&di, (void *)arg, sizeof(di)))
-+ return -EFAULT;
-+
-+ if (!(dev = rfcomm_dev_get(di.id)))
-+ return -ENODEV;
-+
-+ di.flags = dev->flags;
-+ di.channel = dev->channel;
-+ di.state = dev->dlc->state;
-+ bacpy(&di.src, &dev->src);
-+ bacpy(&di.dst, &dev->dst);
-+
-+ if (copy_to_user((void *)arg, &di, sizeof(di)))
-+ err = -EFAULT;
-+
-+ rfcomm_dev_put(dev);
-+ return err;
-+}
-+
-+int rfcomm_dev_ioctl(struct sock *sk, unsigned int cmd, unsigned long arg)
-+{
-+ BT_DBG("cmd %d arg %ld", cmd, arg);
-+
-+ switch (cmd) {
-+ case RFCOMMCREATEDEV:
-+ return rfcomm_create_dev(sk, arg);
-+
-+ case RFCOMMRELEASEDEV:
-+ return rfcomm_release_dev(arg);
-+
-+ case RFCOMMGETDEVLIST:
-+ return rfcomm_get_dev_list(arg);
-+
-+ case RFCOMMGETDEVINFO:
-+ return rfcomm_get_dev_info(arg);
-+ }
-+
-+ return -EINVAL;
-+}
-+
-+/* ---- DLC callbacks ---- */
-+static void rfcomm_dev_data_ready(struct rfcomm_dlc *dlc, struct sk_buff *skb)
-+{
-+ struct rfcomm_dev *dev = dlc->owner;
-+ struct tty_struct *tty;
-+
-+ if (!dev || !(tty = dev->tty)) {
-+ kfree_skb(skb);
-+ return;
-+ }
-+
-+ BT_DBG("dlc %p tty %p len %d", dlc, tty, skb->len);
-+
-+ if (test_bit(TTY_DONT_FLIP, &tty->flags)) {
-+ register int i;
-+ for (i = 0; i < skb->len; i++) {
-+ if (tty->flip.count >= TTY_FLIPBUF_SIZE)
-+ tty_flip_buffer_push(tty);
-+
-+ tty_insert_flip_char(tty, skb->data[i], 0);
-+ }
-+ tty_flip_buffer_push(tty);
-+ } else
-+ tty->ldisc.receive_buf(tty, skb->data, NULL, skb->len);
-+
-+ kfree_skb(skb);
-+}
-+
-+static void rfcomm_dev_state_change(struct rfcomm_dlc *dlc, int err)
-+{
-+ struct rfcomm_dev *dev = dlc->owner;
-+ if (!dev)
-+ return;
-+
-+ BT_DBG("dlc %p dev %p err %d", dlc, dev, err);
-+
-+ dev->err = err;
-+ wake_up_interruptible(&dev->wait);
-+
-+ if (dlc->state == BT_CLOSED) {
-+ if (!dev->tty) {
-+ if (test_bit(RFCOMM_RELEASE_ONHUP, &dev->flags)) {
-+ rfcomm_dev_hold(dev);
-+ rfcomm_dev_del(dev);
-+
-+ /* We have to drop DLC lock here, otherwise
-+ rfcomm_dev_put() will dead lock if it's
-+ the last reference. */
-+ rfcomm_dlc_unlock(dlc);
-+ rfcomm_dev_put(dev);
-+ rfcomm_dlc_lock(dlc);
-+ }
-+ } else
-+ tty_hangup(dev->tty);
-+ }
-+}
-+
-+static void rfcomm_dev_modem_status(struct rfcomm_dlc *dlc, u8 v24_sig)
-+{
-+ struct rfcomm_dev *dev = dlc->owner;
-+ if (!dev)
-+ return;
-+
-+ BT_DBG("dlc %p dev %p v24_sig 0x%02x", dlc, dev, v24_sig);
-+
-+ dev->modem_status =
-+ ((v24_sig & RFCOMM_V24_RTC) ? (TIOCM_DSR | TIOCM_DTR) : 0) |
-+ ((v24_sig & RFCOMM_V24_RTR) ? (TIOCM_RTS | TIOCM_CTS) : 0) |
-+ ((v24_sig & RFCOMM_V24_IC) ? TIOCM_RI : 0) |
-+ ((v24_sig & RFCOMM_V24_DV) ? TIOCM_CD : 0);
-+}
-+
-+/* ---- TTY functions ---- */
-+static void rfcomm_tty_wakeup(unsigned long arg)
-+{
-+ struct rfcomm_dev *dev = (void *) arg;
-+ struct tty_struct *tty = dev->tty;
-+ if (!tty)
-+ return;
-+
-+ BT_DBG("dev %p tty %p", dev, tty);
-+
-+ if (test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags) && tty->ldisc.write_wakeup)
-+ (tty->ldisc.write_wakeup)(tty);
-+
-+ wake_up_interruptible(&tty->write_wait);
-+#ifdef SERIAL_HAVE_POLL_WAIT
-+ wake_up_interruptible(&tty->poll_wait);
-+#endif
-+}
-+
-+static int rfcomm_tty_open(struct tty_struct *tty, struct file *filp)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ struct rfcomm_dev *dev;
-+ struct rfcomm_dlc *dlc;
-+ int err, id;
-+
-+ id = MINOR(tty->device) - tty->driver.minor_start;
-+
-+ BT_DBG("tty %p id %d", tty, id);
-+
-+ /* We don't leak this refcount. For reasons which are not entirely
-+ clear, the TTY layer will call our ->close() method even if the
-+ open fails. We decrease the refcount there, and decreasing it
-+ here too would cause breakage. */
-+ dev = rfcomm_dev_get(id);
-+ if (!dev)
-+ return -ENODEV;
-+
-+ BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), dev->channel, dev->opened);
-+
-+ if (dev->opened++ != 0)
-+ return 0;
-+
-+ dlc = dev->dlc;
-+
-+ /* Attach TTY and open DLC */
-+
-+ rfcomm_dlc_lock(dlc);
-+ tty->driver_data = dev;
-+ dev->tty = tty;
-+ rfcomm_dlc_unlock(dlc);
-+ set_bit(RFCOMM_TTY_ATTACHED, &dev->flags);
-+
-+ err = rfcomm_dlc_open(dlc, &dev->src, &dev->dst, dev->channel);
-+ if (err < 0)
-+ return err;
-+
-+ /* Wait for DLC to connect */
-+ add_wait_queue(&dev->wait, &wait);
-+ while (1) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (dlc->state == BT_CLOSED) {
-+ err = -dev->err;
-+ break;
-+ }
-+
-+ if (dlc->state == BT_CONNECTED)
-+ break;
-+
-+ if (signal_pending(current)) {
-+ err = -EINTR;
-+ break;
-+ }
-+
-+ schedule();
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&dev->wait, &wait);
-+
-+ return err;
-+}
-+
-+static void rfcomm_tty_close(struct tty_struct *tty, struct file *filp)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ if (!dev)
-+ return;
-+
-+ BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc, dev->opened);
-+
-+ if (--dev->opened == 0) {
-+ /* Close DLC and dettach TTY */
-+ rfcomm_dlc_close(dev->dlc, 0);
-+
-+ clear_bit(RFCOMM_TTY_ATTACHED, &dev->flags);
-+ tasklet_kill(&dev->wakeup_task);
-+
-+ rfcomm_dlc_lock(dev->dlc);
-+ tty->driver_data = NULL;
-+ dev->tty = NULL;
-+ rfcomm_dlc_unlock(dev->dlc);
-+ }
-+
-+ rfcomm_dev_put(dev);
-+}
-+
-+static int rfcomm_tty_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ struct rfcomm_dlc *dlc = dev->dlc;
-+ struct sk_buff *skb;
-+ int err = 0, sent = 0, size;
-+
-+ BT_DBG("tty %p from_user %d count %d", tty, from_user, count);
-+
-+ while (count) {
-+ size = min_t(uint, count, dlc->mtu);
-+
-+ if (from_user)
-+ skb = rfcomm_wmalloc(dev, size + RFCOMM_SKB_RESERVE, 0, GFP_KERNEL);
-+ else
-+ skb = rfcomm_wmalloc(dev, size + RFCOMM_SKB_RESERVE, 0, GFP_ATOMIC);
-+
-+ if (!skb)
-+ break;
-+
-+ skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE);
-+
-+ if (from_user)
-+ copy_from_user(skb_put(skb, size), buf + sent, size);
-+ else
-+ memcpy(skb_put(skb, size), buf + sent, size);
-+
-+ if ((err = rfcomm_dlc_send(dlc, skb)) < 0) {
-+ kfree_skb(skb);
-+ break;
-+ }
-+
-+ sent += size;
-+ count -= size;
-+ }
-+
-+ return sent ? sent : err;
-+}
-+
-+static void rfcomm_tty_put_char(struct tty_struct *tty, unsigned char ch)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ struct rfcomm_dlc *dlc = dev->dlc;
-+ struct sk_buff *skb;
-+
-+ BT_DBG("tty %p char %x", tty, ch);
-+
-+ skb = rfcomm_wmalloc(dev, 1 + RFCOMM_SKB_RESERVE, 1, GFP_ATOMIC);
-+
-+ if (!skb)
-+ return;
-+
-+ skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE);
-+
-+ *(char *)skb_put(skb, 1) = ch;
-+
-+ if ((rfcomm_dlc_send(dlc, skb)) < 0)
-+ kfree_skb(skb);
-+}
-+
-+static int rfcomm_tty_write_room(struct tty_struct *tty)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ int room;
-+
-+ BT_DBG("tty %p", tty);
-+
-+ room = rfcomm_room(dev->dlc) - atomic_read(&dev->wmem_alloc);
-+ if (room < 0)
-+ room = 0;
-+
-+ return room;
-+}
-+
-+static int rfcomm_tty_set_modem_status(uint cmd, struct rfcomm_dlc *dlc, uint status)
-+{
-+ u8 v24_sig, mask;
-+
-+ BT_DBG("dlc %p cmd 0x%02x", dlc, cmd);
-+
-+ if (cmd == TIOCMSET)
-+ v24_sig = 0;
-+ else
-+ rfcomm_dlc_get_modem_status(dlc, &v24_sig);
-+
-+ mask = ((status & TIOCM_DSR) ? RFCOMM_V24_RTC : 0) |
-+ ((status & TIOCM_DTR) ? RFCOMM_V24_RTC : 0) |
-+ ((status & TIOCM_RTS) ? RFCOMM_V24_RTR : 0) |
-+ ((status & TIOCM_CTS) ? RFCOMM_V24_RTR : 0) |
-+ ((status & TIOCM_RI) ? RFCOMM_V24_IC : 0) |
-+ ((status & TIOCM_CD) ? RFCOMM_V24_DV : 0);
-+
-+ if (cmd == TIOCMBIC)
-+ v24_sig &= ~mask;
-+ else
-+ v24_sig |= mask;
-+
-+ rfcomm_dlc_set_modem_status(dlc, v24_sig);
-+ return 0;
-+}
-+
-+static int rfcomm_tty_ioctl(struct tty_struct *tty, struct file *filp, unsigned int cmd, unsigned long arg)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ struct rfcomm_dlc *dlc = dev->dlc;
-+ uint status;
-+ int err;
-+
-+ BT_DBG("tty %p cmd 0x%02x", tty, cmd);
-+
-+ switch (cmd) {
-+ case TCGETS:
-+ BT_DBG("TCGETS is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ case TCSETS:
-+ BT_DBG("TCSETS is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ case TIOCMGET:
-+ BT_DBG("TIOCMGET");
-+
-+ return put_user(dev->modem_status, (unsigned int *)arg);
-+
-+ case TIOCMSET: /* Turns on and off the lines as specified by the mask */
-+ case TIOCMBIS: /* Turns on the lines as specified by the mask */
-+ case TIOCMBIC: /* Turns off the lines as specified by the mask */
-+ if ((err = get_user(status, (unsigned int *)arg)))
-+ return err;
-+ return rfcomm_tty_set_modem_status(cmd, dlc, status);
-+
-+ case TIOCMIWAIT:
-+ BT_DBG("TIOCMIWAIT");
-+ break;
-+
-+ case TIOCGICOUNT:
-+ BT_DBG("TIOCGICOUNT");
-+ break;
-+
-+ case TIOCGSERIAL:
-+ BT_ERR("TIOCGSERIAL is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ case TIOCSSERIAL:
-+ BT_ERR("TIOCSSERIAL is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ case TIOCSERGSTRUCT:
-+ BT_ERR("TIOCSERGSTRUCT is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ case TIOCSERGETLSR:
-+ BT_ERR("TIOCSERGETLSR is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ case TIOCSERCONFIG:
-+ BT_ERR("TIOCSERCONFIG is not supported");
-+ return -ENOIOCTLCMD;
-+
-+ default:
-+ return -ENOIOCTLCMD; /* ioctls which we must ignore */
-+
-+ }
-+
-+ return -ENOIOCTLCMD;
-+}
-+
-+#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))
-+
-+static void rfcomm_tty_set_termios(struct tty_struct *tty, struct termios *old)
-+{
-+ BT_DBG("tty %p", tty);
-+
-+ if ((tty->termios->c_cflag == old->c_cflag) &&
-+ (RELEVANT_IFLAG(tty->termios->c_iflag) == RELEVANT_IFLAG(old->c_iflag)))
-+ return;
-+
-+ /* handle turning off CRTSCTS */
-+ if ((old->c_cflag & CRTSCTS) && !(tty->termios->c_cflag & CRTSCTS)) {
-+ BT_DBG("turning off CRTSCTS");
-+ }
-+}
-+
-+static void rfcomm_tty_throttle(struct tty_struct *tty)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+
-+ BT_DBG("tty %p dev %p", tty, dev);
-+
-+ rfcomm_dlc_throttle(dev->dlc);
-+}
-+
-+static void rfcomm_tty_unthrottle(struct tty_struct *tty)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+
-+ BT_DBG("tty %p dev %p", tty, dev);
-+
-+ rfcomm_dlc_unthrottle(dev->dlc);
-+}
-+
-+static int rfcomm_tty_chars_in_buffer(struct tty_struct *tty)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ struct rfcomm_dlc *dlc = dev->dlc;
-+
-+ BT_DBG("tty %p dev %p", tty, dev);
-+
-+ if (skb_queue_len(&dlc->tx_queue))
-+ return dlc->mtu;
-+
-+ return 0;
-+}
-+
-+static void rfcomm_tty_flush_buffer(struct tty_struct *tty)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ if (!dev)
-+ return;
-+
-+ BT_DBG("tty %p dev %p", tty, dev);
-+
-+ skb_queue_purge(&dev->dlc->tx_queue);
-+
-+ if (test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags) && tty->ldisc.write_wakeup)
-+ tty->ldisc.write_wakeup(tty);
-+}
-+
-+static void rfcomm_tty_send_xchar(struct tty_struct *tty, char ch)
-+{
-+ BT_DBG("tty %p ch %c", tty, ch);
-+}
-+
-+static void rfcomm_tty_wait_until_sent(struct tty_struct *tty, int timeout)
-+{
-+ BT_DBG("tty %p timeout %d", tty, timeout);
-+}
-+
-+static void rfcomm_tty_hangup(struct tty_struct *tty)
-+{
-+ struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
-+ if (!dev)
-+ return;
-+
-+ BT_DBG("tty %p dev %p", tty, dev);
-+
-+ rfcomm_tty_flush_buffer(tty);
-+
-+ if (test_bit(RFCOMM_RELEASE_ONHUP, &dev->flags))
-+ rfcomm_dev_del(dev);
-+}
-+
-+static int rfcomm_tty_read_proc(char *buf, char **start, off_t offset, int len, int *eof, void *unused)
-+{
-+ return 0;
-+}
-+
-+/* ---- TTY structure ---- */
-+static int rfcomm_tty_refcount; /* If we manage several devices */
-+
-+static struct tty_struct *rfcomm_tty_table[RFCOMM_TTY_PORTS];
-+static struct termios *rfcomm_tty_termios[RFCOMM_TTY_PORTS];
-+static struct termios *rfcomm_tty_termios_locked[RFCOMM_TTY_PORTS];
-+
-+static struct tty_driver rfcomm_tty_driver = {
-+ magic: TTY_DRIVER_MAGIC,
-+ driver_name: "rfcomm",
-+#ifdef CONFIG_DEVFS_FS
-+ name: "bluetooth/rfcomm/%d",
-+#else
-+ name: "rfcomm",
-+#endif
-+ major: RFCOMM_TTY_MAJOR,
-+ minor_start: RFCOMM_TTY_MINOR,
-+ num: RFCOMM_TTY_PORTS,
-+ type: TTY_DRIVER_TYPE_SERIAL,
-+ subtype: SERIAL_TYPE_NORMAL,
-+ flags: TTY_DRIVER_REAL_RAW,
-+
-+ refcount: &rfcomm_tty_refcount,
-+ table: rfcomm_tty_table,
-+ termios: rfcomm_tty_termios,
-+ termios_locked: rfcomm_tty_termios_locked,
-+
-+ open: rfcomm_tty_open,
-+ close: rfcomm_tty_close,
-+ put_char: rfcomm_tty_put_char,
-+ write: rfcomm_tty_write,
-+ write_room: rfcomm_tty_write_room,
-+ chars_in_buffer: rfcomm_tty_chars_in_buffer,
-+ flush_buffer: rfcomm_tty_flush_buffer,
-+ ioctl: rfcomm_tty_ioctl,
-+ throttle: rfcomm_tty_throttle,
-+ unthrottle: rfcomm_tty_unthrottle,
-+ set_termios: rfcomm_tty_set_termios,
-+ send_xchar: rfcomm_tty_send_xchar,
-+ stop: NULL,
-+ start: NULL,
-+ hangup: rfcomm_tty_hangup,
-+ wait_until_sent: rfcomm_tty_wait_until_sent,
-+ read_proc: rfcomm_tty_read_proc,
-+};
-+
-+int rfcomm_init_ttys(void)
-+{
-+ int i;
-+
-+ /* Initalize our global data */
-+ for (i = 0; i < RFCOMM_TTY_PORTS; i++)
-+ rfcomm_tty_table[i] = NULL;
-+
-+ /* Register the TTY driver */
-+ rfcomm_tty_driver.init_termios = tty_std_termios;
-+ rfcomm_tty_driver.init_termios.c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL;
-+ rfcomm_tty_driver.flags = TTY_DRIVER_REAL_RAW;
-+
-+ if (tty_register_driver(&rfcomm_tty_driver)) {
-+ BT_ERR("Can't register RFCOMM TTY driver");
-+ return -1;
-+ }
-+
-+ return 0;
-+}
-+
-+void rfcomm_cleanup_ttys(void)
-+{
-+ tty_unregister_driver(&rfcomm_tty_driver);
-+ return;
-+}
-diff -urN linux-2.4.18/net/bluetooth/sco.c linux-2.4.18-mh15/net/bluetooth/sco.c
---- linux-2.4.18/net/bluetooth/sco.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.18-mh15/net/bluetooth/sco.c 2004-08-01 16:26:23.000000000 +0200
-@@ -0,0 +1,1019 @@
-+/*
-+ BlueZ - Bluetooth protocol stack for Linux
-+ Copyright (C) 2000-2001 Qualcomm Incorporated
-+
-+ Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.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;
-+
-+ 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 OF THIRD PARTY RIGHTS.
-+ IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
-+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+
-+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
-+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
-+ SOFTWARE IS DISCLAIMED.
-+*/
-+
-+/*
-+ * BlueZ SCO sockets.
-+ *
-+ * $Id: sco.c,v 1.4 2002/07/22 20:32:54 maxk Exp $
-+ */
-+#define VERSION "0.3"
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/kernel.h>
-+#include <linux/major.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/poll.h>
-+#include <linux/fcntl.h>
-+#include <linux/init.h>
-+#include <linux/skbuff.h>
-+#include <linux/interrupt.h>
-+#include <linux/socket.h>
-+#include <linux/skbuff.h>
-+#include <linux/proc_fs.h>
-+#include <linux/list.h>
-+#include <net/sock.h>
-+
-+#include <asm/system.h>
-+#include <asm/uaccess.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+#include <net/bluetooth/sco.h>
-+
-+#ifndef SCO_DEBUG
-+#undef BT_DBG
-+#define BT_DBG( A... )
-+#endif
-+
-+static struct proto_ops sco_sock_ops;
-+
-+static struct bluez_sock_list sco_sk_list = {
-+ lock: RW_LOCK_UNLOCKED
-+};
-+
-+static inline int sco_chan_add(struct sco_conn *conn, struct sock *sk, struct sock *parent);
-+static void sco_chan_del(struct sock *sk, int err);
-+static inline struct sock * sco_chan_get(struct sco_conn *conn);
-+
-+static int sco_conn_del(struct hci_conn *conn, int err);
-+
-+static void sco_sock_close(struct sock *sk);
-+static void sco_sock_kill(struct sock *sk);
-+
-+/* ----- SCO timers ------ */
-+static void sco_sock_timeout(unsigned long arg)
-+{
-+ struct sock *sk = (struct sock *) arg;
-+
-+ BT_DBG("sock %p state %d", sk, sk->state);
-+
-+ bh_lock_sock(sk);
-+ sk->err = ETIMEDOUT;
-+ sk->state_change(sk);
-+ bh_unlock_sock(sk);
-+
-+ sco_sock_kill(sk);
-+ sock_put(sk);
-+}
-+
-+static void sco_sock_set_timer(struct sock *sk, long timeout)
-+{
-+ BT_DBG("sock %p state %d timeout %ld", sk, sk->state, timeout);
-+
-+ if (!mod_timer(&sk->timer, jiffies + timeout))
-+ sock_hold(sk);
-+}
-+
-+static void sco_sock_clear_timer(struct sock *sk)
-+{
-+ BT_DBG("sock %p state %d", sk, sk->state);
-+
-+ if (timer_pending(&sk->timer) && del_timer(&sk->timer))
-+ __sock_put(sk);
-+}
-+
-+static void sco_sock_init_timer(struct sock *sk)
-+{
-+ init_timer(&sk->timer);
-+ sk->timer.function = sco_sock_timeout;
-+ sk->timer.data = (unsigned long)sk;
-+}
-+
-+/* -------- SCO connections --------- */
-+static struct sco_conn *sco_conn_add(struct hci_conn *hcon, __u8 status)
-+{
-+ struct hci_dev *hdev = hcon->hdev;
-+ struct sco_conn *conn;
-+
-+ if ((conn = hcon->sco_data))
-+ return conn;
-+
-+ if (status)
-+ return conn;
-+
-+ if (!(conn = kmalloc(sizeof(struct sco_conn), GFP_ATOMIC)))
-+ return NULL;
-+ memset(conn, 0, sizeof(struct sco_conn));
-+
-+ spin_lock_init(&conn->lock);
-+
-+ hcon->sco_data = conn;
-+ conn->hcon = hcon;
-+
-+ conn->src = &hdev->bdaddr;
-+ conn->dst = &hcon->dst;
-+
-+ if (hdev->sco_mtu > 0)
-+ conn->mtu = hdev->sco_mtu;
-+ else
-+ conn->mtu = 60;
-+
-+ BT_DBG("hcon %p conn %p", hcon, conn);
-+
-+ MOD_INC_USE_COUNT;
-+ return conn;
-+}
-+
-+static int sco_conn_del(struct hci_conn *hcon, int err)
-+{
-+ struct sco_conn *conn;
-+ struct sock *sk;
-+
-+ if (!(conn = hcon->sco_data))
-+ return 0;
-+
-+ BT_DBG("hcon %p conn %p, err %d", hcon, conn, err);
-+
-+ /* Kill socket */
-+ if ((sk = sco_chan_get(conn))) {
-+ bh_lock_sock(sk);
-+ sco_sock_clear_timer(sk);
-+ sco_chan_del(sk, err);
-+ bh_unlock_sock(sk);
-+ sco_sock_kill(sk);
-+ }
-+
-+ hcon->sco_data = NULL;
-+ kfree(conn);
-+
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+int sco_connect(struct sock *sk)
-+{
-+ bdaddr_t *src = &bluez_pi(sk)->src;
-+ bdaddr_t *dst = &bluez_pi(sk)->dst;
-+ struct sco_conn *conn;
-+ struct hci_conn *hcon;
-+ struct hci_dev *hdev;
-+ int err = 0;
-+
-+ BT_DBG("%s -> %s", batostr(src), batostr(dst));
-+
-+ if (!(hdev = hci_get_route(dst, src)))
-+ return -EHOSTUNREACH;
-+
-+ hci_dev_lock_bh(hdev);
-+
-+ err = -ENOMEM;
-+
-+ hcon = hci_connect(hdev, SCO_LINK, dst);
-+ if (!hcon)
-+ goto done;
-+
-+ conn = sco_conn_add(hcon, 0);
-+ if (!conn) {
-+ hci_conn_put(hcon);
-+ goto done;
-+ }
-+
-+ /* Update source addr of the socket */
-+ bacpy(src, conn->src);
-+
-+ err = sco_chan_add(conn, sk, NULL);
-+ if (err)
-+ goto done;
-+
-+ if (hcon->state == BT_CONNECTED) {
-+ sco_sock_clear_timer(sk);
-+ sk->state = BT_CONNECTED;
-+ } else {
-+ sk->state = BT_CONNECT;
-+ sco_sock_set_timer(sk, sk->sndtimeo);
-+ }
-+done:
-+ hci_dev_unlock_bh(hdev);
-+ hci_dev_put(hdev);
-+ return err;
-+}
-+
-+static inline int sco_send_frame(struct sock *sk, struct msghdr *msg, int len)
-+{
-+ struct sco_conn *conn = sco_pi(sk)->conn;
-+ struct sk_buff *skb;
-+ int err, count;
-+
-+ /* Check outgoing MTU */
-+ if (len > conn->mtu)
-+ return -EINVAL;
-+
-+ BT_DBG("sk %p len %d", sk, len);
-+
-+ count = MIN(conn->mtu, len);
-+ if (!(skb = bluez_skb_send_alloc(sk, count, msg->msg_flags & MSG_DONTWAIT, &err)))
-+ return err;
-+
-+ if (memcpy_fromiovec(skb_put(skb, count), msg->msg_iov, count)) {
-+ err = -EFAULT;
-+ goto fail;
-+ }
-+
-+ if ((err = hci_send_sco(conn->hcon, skb)) < 0)
-+ goto fail;
-+
-+ return count;
-+
-+fail:
-+ kfree_skb(skb);
-+ return err;
-+}
-+
-+static inline void sco_recv_frame(struct sco_conn *conn, struct sk_buff *skb)
-+{
-+ struct sock *sk = sco_chan_get(conn);
-+
-+ if (!sk)
-+ goto drop;
-+
-+ BT_DBG("sk %p len %d", sk, skb->len);
-+
-+ if (sk->state != BT_CONNECTED)
-+ goto drop;
-+
-+ if (!sock_queue_rcv_skb(sk, skb))
-+ return;
-+
-+drop:
-+ kfree_skb(skb);
-+ return;
-+}
-+
-+/* -------- Socket interface ---------- */
-+static struct sock *__sco_get_sock_by_addr(bdaddr_t *ba)
-+{
-+ struct sock *sk;
-+
-+ for (sk = sco_sk_list.head; sk; sk = sk->next) {
-+ if (!bacmp(&bluez_pi(sk)->src, ba))
-+ break;
-+ }
-+
-+ return sk;
-+}
-+
-+/* Find socket listening on source bdaddr.
-+ * Returns closest match.
-+ */
-+static struct sock *sco_get_sock_listen(bdaddr_t *src)
-+{
-+ struct sock *sk, *sk1 = NULL;
-+
-+ read_lock(&sco_sk_list.lock);
-+
-+ for (sk = sco_sk_list.head; sk; sk = sk->next) {
-+ if (sk->state != BT_LISTEN)
-+ continue;
-+
-+ /* Exact match. */
-+ if (!bacmp(&bluez_pi(sk)->src, src))
-+ break;
-+
-+ /* Closest match */
-+ if (!bacmp(&bluez_pi(sk)->src, BDADDR_ANY))
-+ sk1 = sk;
-+ }
-+
-+ read_unlock(&sco_sk_list.lock);
-+
-+ return sk ? sk : sk1;
-+}
-+
-+static void sco_sock_destruct(struct sock *sk)
-+{
-+ BT_DBG("sk %p", sk);
-+
-+ skb_queue_purge(&sk->receive_queue);
-+ skb_queue_purge(&sk->write_queue);
-+
-+ MOD_DEC_USE_COUNT;
-+}
-+
-+static void sco_sock_cleanup_listen(struct sock *parent)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("parent %p", parent);
-+
-+ /* Close not yet accepted channels */
-+ while ((sk = bluez_accept_dequeue(parent, NULL))) {
-+ sco_sock_close(sk);
-+ sco_sock_kill(sk);
-+ }
-+
-+ parent->state = BT_CLOSED;
-+ parent->zapped = 1;
-+}
-+
-+/* Kill socket (only if zapped and orphan)
-+ * Must be called on unlocked socket.
-+ */
-+static void sco_sock_kill(struct sock *sk)
-+{
-+ if (!sk->zapped || sk->socket)
-+ return;
-+
-+ BT_DBG("sk %p state %d", sk, sk->state);
-+
-+ /* Kill poor orphan */
-+ bluez_sock_unlink(&sco_sk_list, sk);
-+ sk->dead = 1;
-+ sock_put(sk);
-+}
-+
-+/* Close socket.
-+ * Must be called on unlocked socket.
-+ */
-+static void sco_sock_close(struct sock *sk)
-+{
-+ struct sco_conn *conn;
-+
-+ sco_sock_clear_timer(sk);
-+
-+ lock_sock(sk);
-+
-+ conn = sco_pi(sk)->conn;
-+
-+ BT_DBG("sk %p state %d conn %p socket %p", sk, sk->state, conn, sk->socket);
-+
-+ switch (sk->state) {
-+ case BT_LISTEN:
-+ sco_sock_cleanup_listen(sk);
-+ break;
-+
-+ case BT_CONNECTED:
-+ case BT_CONFIG:
-+ case BT_CONNECT:
-+ case BT_DISCONN:
-+ sco_chan_del(sk, ECONNRESET);
-+ break;
-+
-+ default:
-+ sk->zapped = 1;
-+ break;
-+ };
-+
-+ release_sock(sk);
-+}
-+
-+static void sco_sock_init(struct sock *sk, struct sock *parent)
-+{
-+ BT_DBG("sk %p", sk);
-+
-+ if (parent)
-+ sk->type = parent->type;
-+}
-+
-+static struct sock *sco_sock_alloc(struct socket *sock, int proto, int prio)
-+{
-+ struct sock *sk;
-+
-+ if (!(sk = sk_alloc(PF_BLUETOOTH, prio, 1)))
-+ return NULL;
-+
-+ bluez_sock_init(sock, sk);
-+
-+ sk->zapped = 0;
-+
-+ sk->destruct = sco_sock_destruct;
-+ sk->sndtimeo = SCO_CONN_TIMEOUT;
-+
-+ sk->protocol = proto;
-+ sk->state = BT_OPEN;
-+
-+ sco_sock_init_timer(sk);
-+
-+ bluez_sock_link(&sco_sk_list, sk);
-+
-+ MOD_INC_USE_COUNT;
-+ return sk;
-+}
-+
-+static int sco_sock_create(struct socket *sock, int protocol)
-+{
-+ struct sock *sk;
-+
-+ BT_DBG("sock %p", sock);
-+
-+ sock->state = SS_UNCONNECTED;
-+
-+ if (sock->type != SOCK_SEQPACKET)
-+ return -ESOCKTNOSUPPORT;
-+
-+ sock->ops = &sco_sock_ops;
-+
-+ if (!(sk = sco_sock_alloc(sock, protocol, GFP_KERNEL)))
-+ return -ENOMEM;
-+
-+ sco_sock_init(sk, NULL);
-+ return 0;
-+}
-+
-+static int sco_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
-+{
-+ struct sockaddr_sco *sa = (struct sockaddr_sco *) addr;
-+ struct sock *sk = sock->sk;
-+ bdaddr_t *src = &sa->sco_bdaddr;
-+ int err = 0;
-+
-+ BT_DBG("sk %p %s", sk, batostr(&sa->sco_bdaddr));
-+
-+ if (!addr || addr->sa_family != AF_BLUETOOTH)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_OPEN) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ write_lock_bh(&sco_sk_list.lock);
-+
-+ if (bacmp(src, BDADDR_ANY) && __sco_get_sock_by_addr(src)) {
-+ err = -EADDRINUSE;
-+ } else {
-+ /* Save source address */
-+ bacpy(&bluez_pi(sk)->src, &sa->sco_bdaddr);
-+ sk->state = BT_BOUND;
-+ }
-+
-+ write_unlock_bh(&sco_sk_list.lock);
-+
-+done:
-+ release_sock(sk);
-+
-+ return err;
-+}
-+
-+static int sco_sock_connect(struct socket *sock, struct sockaddr *addr, int alen, int flags)
-+{
-+ struct sockaddr_sco *sa = (struct sockaddr_sco *) addr;
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (addr->sa_family != AF_BLUETOOTH || alen < sizeof(struct sockaddr_sco))
-+ return -EINVAL;
-+
-+ if (sk->state != BT_OPEN && sk->state != BT_BOUND)
-+ return -EBADFD;
-+
-+ if (sk->type != SOCK_SEQPACKET)
-+ return -EINVAL;
-+
-+ lock_sock(sk);
-+
-+ /* Set destination address and psm */
-+ bacpy(&bluez_pi(sk)->dst, &sa->sco_bdaddr);
-+
-+ if ((err = sco_connect(sk)))
-+ goto done;
-+
-+ err = bluez_sock_wait_state(sk, BT_CONNECTED,
-+ sock_sndtimeo(sk, flags & O_NONBLOCK));
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int sco_sock_listen(struct socket *sock, int backlog)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p backlog %d", sk, backlog);
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_BOUND || sock->type != SOCK_SEQPACKET) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ sk->max_ack_backlog = backlog;
-+ sk->ack_backlog = 0;
-+ sk->state = BT_LISTEN;
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int sco_sock_accept(struct socket *sock, struct socket *newsock, int flags)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ struct sock *sk = sock->sk, *ch;
-+ long timeo;
-+ int err = 0;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_LISTEN) {
-+ err = -EBADFD;
-+ goto done;
-+ }
-+
-+ timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK);
-+
-+ BT_DBG("sk %p timeo %ld", sk, timeo);
-+
-+ /* Wait for an incoming connection. (wake-one). */
-+ add_wait_queue_exclusive(sk->sleep, &wait);
-+ while (!(ch = bluez_accept_dequeue(sk, newsock))) {
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ if (!timeo) {
-+ err = -EAGAIN;
-+ break;
-+ }
-+
-+ release_sock(sk);
-+ timeo = schedule_timeout(timeo);
-+ lock_sock(sk);
-+
-+ if (sk->state != BT_LISTEN) {
-+ err = -EBADFD;
-+ break;
-+ }
-+
-+ if (signal_pending(current)) {
-+ err = sock_intr_errno(timeo);
-+ break;
-+ }
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(sk->sleep, &wait);
-+
-+ if (err)
-+ goto done;
-+
-+ newsock->state = SS_CONNECTED;
-+
-+ BT_DBG("new socket %p", ch);
-+
-+done:
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int sco_sock_getname(struct socket *sock, struct sockaddr *addr, int *len, int peer)
-+{
-+ struct sockaddr_sco *sa = (struct sockaddr_sco *) addr;
-+ struct sock *sk = sock->sk;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ addr->sa_family = AF_BLUETOOTH;
-+ *len = sizeof(struct sockaddr_sco);
-+
-+ if (peer)
-+ bacpy(&sa->sco_bdaddr, &bluez_pi(sk)->dst);
-+ else
-+ bacpy(&sa->sco_bdaddr, &bluez_pi(sk)->src);
-+
-+ return 0;
-+}
-+
-+static int sco_sock_sendmsg(struct socket *sock, struct msghdr *msg, int len, struct scm_cookie *scm)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (sk->err)
-+ return sock_error(sk);
-+
-+ if (msg->msg_flags & MSG_OOB)
-+ return -EOPNOTSUPP;
-+
-+ lock_sock(sk);
-+
-+ if (sk->state == BT_CONNECTED)
-+ err = sco_send_frame(sk, msg, len);
-+ else
-+ err = -ENOTCONN;
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int sco_sock_setsockopt(struct socket *sock, int level, int optname, char *optval, int optlen)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ lock_sock(sk);
-+
-+ switch (optname) {
-+ default:
-+ err = -ENOPROTOOPT;
-+ break;
-+ };
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+int sco_sock_getsockopt(struct socket *sock, int level, int optname, char *optval, int *optlen)
-+{
-+ struct sock *sk = sock->sk;
-+ struct sco_options opts;
-+ struct sco_conninfo cinfo;
-+ int len, err = 0;
-+
-+ BT_DBG("sk %p", sk);
-+
-+ if (get_user(len, optlen))
-+ return -EFAULT;
-+
-+ lock_sock(sk);
-+
-+ switch (optname) {
-+ case SCO_OPTIONS:
-+ if (sk->state != BT_CONNECTED) {
-+ err = -ENOTCONN;
-+ break;
-+ }
-+
-+ opts.mtu = sco_pi(sk)->conn->mtu;
-+
-+ BT_DBG("mtu %d", opts.mtu);
-+
-+ len = MIN(len, sizeof(opts));
-+ if (copy_to_user(optval, (char *)&opts, len))
-+ err = -EFAULT;
-+
-+ break;
-+
-+ case SCO_CONNINFO:
-+ if (sk->state != BT_CONNECTED) {
-+ err = -ENOTCONN;
-+ break;
-+ }
-+
-+ cinfo.hci_handle = sco_pi(sk)->conn->hcon->handle;
-+
-+ len = MIN(len, sizeof(cinfo));
-+ if (copy_to_user(optval, (char *)&cinfo, len))
-+ err = -EFAULT;
-+
-+ break;
-+
-+ default:
-+ err = -ENOPROTOOPT;
-+ break;
-+ };
-+
-+ release_sock(sk);
-+ return err;
-+}
-+
-+static int sco_sock_release(struct socket *sock)
-+{
-+ struct sock *sk = sock->sk;
-+ int err = 0;
-+
-+ BT_DBG("sock %p, sk %p", sock, sk);
-+
-+ if (!sk)
-+ return 0;
-+
-+ sco_sock_close(sk);
-+ if (sk->linger) {
-+ lock_sock(sk);
-+ err = bluez_sock_wait_state(sk, BT_CLOSED, sk->lingertime);
-+ release_sock(sk);
-+ }
-+
-+ sock_orphan(sk);
-+ sco_sock_kill(sk);
-+ return err;
-+}
-+
-+static void __sco_chan_add(struct sco_conn *conn, struct sock *sk, struct sock *parent)
-+{
-+ BT_DBG("conn %p", conn);
-+
-+ sco_pi(sk)->conn = conn;
-+ conn->sk = sk;
-+
-+ if (parent)
-+ bluez_accept_enqueue(parent, sk);
-+}
-+
-+static inline int sco_chan_add(struct sco_conn *conn, struct sock *sk, struct sock *parent)
-+{
-+ int err = 0;
-+
-+ sco_conn_lock(conn);
-+ if (conn->sk) {
-+ err = -EBUSY;
-+ } else {
-+ __sco_chan_add(conn, sk, parent);
-+ }
-+ sco_conn_unlock(conn);
-+ return err;
-+}
-+
-+static inline struct sock * sco_chan_get(struct sco_conn *conn)
-+{
-+ struct sock *sk = NULL;
-+ sco_conn_lock(conn);
-+ sk = conn->sk;
-+ sco_conn_unlock(conn);
-+ return sk;
-+}
-+
-+/* Delete channel.
-+ * Must be called on the locked socket. */
-+static void sco_chan_del(struct sock *sk, int err)
-+{
-+ struct sco_conn *conn;
-+
-+ conn = sco_pi(sk)->conn;
-+
-+ BT_DBG("sk %p, conn %p, err %d", sk, conn, err);
-+
-+ if (conn) {
-+ sco_conn_lock(conn);
-+ conn->sk = NULL;
-+ sco_pi(sk)->conn = NULL;
-+ sco_conn_unlock(conn);
-+ hci_conn_put(conn->hcon);
-+ }
-+
-+ sk->state = BT_CLOSED;
-+ sk->err = err;
-+ sk->state_change(sk);
-+
-+ sk->zapped = 1;
-+}
-+
-+static void sco_conn_ready(struct sco_conn *conn)
-+{
-+ struct sock *parent, *sk;
-+
-+ BT_DBG("conn %p", conn);
-+
-+ sco_conn_lock(conn);
-+
-+ if ((sk = conn->sk)) {
-+ sco_sock_clear_timer(sk);
-+ bh_lock_sock(sk);
-+ sk->state = BT_CONNECTED;
-+ sk->state_change(sk);
-+ bh_unlock_sock(sk);
-+ } else {
-+ parent = sco_get_sock_listen(conn->src);
-+ if (!parent)
-+ goto done;
-+
-+ bh_lock_sock(parent);
-+
-+ sk = sco_sock_alloc(NULL, BTPROTO_SCO, GFP_ATOMIC);
-+ if (!sk) {
-+ bh_unlock_sock(parent);
-+ goto done;
-+ }
-+
-+ sco_sock_init(sk, parent);
-+
-+ bacpy(&bluez_pi(sk)->src, conn->src);
-+ bacpy(&bluez_pi(sk)->dst, conn->dst);
-+
-+ hci_conn_hold(conn->hcon);
-+ __sco_chan_add(conn, sk, parent);
-+
-+ sk->state = BT_CONNECTED;
-+
-+ /* Wake up parent */
-+ parent->data_ready(parent, 1);
-+
-+ bh_unlock_sock(parent);
-+ }
-+
-+done:
-+ sco_conn_unlock(conn);
-+}
-+
-+/* ----- SCO interface with lower layer (HCI) ----- */
-+int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 type)
-+{
-+ BT_DBG("hdev %s, bdaddr %s", hdev->name, batostr(bdaddr));
-+
-+ /* Always accept connection */
-+ return HCI_LM_ACCEPT;
-+}
-+
-+int sco_connect_cfm(struct hci_conn *hcon, __u8 status)
-+{
-+ BT_DBG("hcon %p bdaddr %s status %d", hcon, batostr(&hcon->dst), status);
-+
-+ if (hcon->type != SCO_LINK)
-+ return 0;
-+
-+ if (!status) {
-+ struct sco_conn *conn;
-+
-+ conn = sco_conn_add(hcon, status);
-+ if (conn)
-+ sco_conn_ready(conn);
-+ } else
-+ sco_conn_del(hcon, bterr(status));
-+
-+ return 0;
-+}
-+
-+int sco_disconn_ind(struct hci_conn *hcon, __u8 reason)
-+{
-+ BT_DBG("hcon %p reason %d", hcon, reason);
-+
-+ if (hcon->type != SCO_LINK)
-+ return 0;
-+
-+ sco_conn_del(hcon, bterr(reason));
-+ return 0;
-+}
-+
-+int sco_recv_scodata(struct hci_conn *hcon, struct sk_buff *skb)
-+{
-+ struct sco_conn *conn = hcon->sco_data;
-+
-+ if (!conn)
-+ goto drop;
-+
-+ BT_DBG("conn %p len %d", conn, skb->len);
-+
-+ if (skb->len) {
-+ sco_recv_frame(conn, skb);
-+ return 0;
-+ }
-+
-+drop:
-+ kfree_skb(skb);
-+ return 0;
-+}
-+
-+/* ----- Proc fs support ------ */
-+static int sco_sock_dump(char *buf, struct bluez_sock_list *list)
-+{
-+ struct sco_pinfo *pi;
-+ struct sock *sk;
-+ char *ptr = buf;
-+
-+ write_lock_bh(&list->lock);
-+
-+ for (sk = list->head; sk; sk = sk->next) {
-+ pi = sco_pi(sk);
-+ ptr += sprintf(ptr, "%s %s %d\n",
-+ batostr(&bluez_pi(sk)->src), batostr(&bluez_pi(sk)->dst),
-+ sk->state);
-+ }
-+
-+ write_unlock_bh(&list->lock);
-+
-+ ptr += sprintf(ptr, "\n");
-+
-+ return ptr - buf;
-+}
-+
-+static int sco_read_proc(char *buf, char **start, off_t offset, int count, int *eof, void *priv)
-+{
-+ char *ptr = buf;
-+ int len;
-+
-+ BT_DBG("count %d, offset %ld", count, offset);
-+
-+ ptr += sco_sock_dump(ptr, &sco_sk_list);
-+ len = ptr - buf;
-+
-+ if (len <= count + offset)
-+ *eof = 1;
-+
-+ *start = buf + offset;
-+ len -= offset;
-+
-+ if (len > count)
-+ len = count;
-+ if (len < 0)
-+ len = 0;
-+
-+ return len;
-+}
-+
-+static struct proto_ops sco_sock_ops = {
-+ family: PF_BLUETOOTH,
-+ release: sco_sock_release,
-+ bind: sco_sock_bind,
-+ connect: sco_sock_connect,
-+ listen: sco_sock_listen,
-+ accept: sco_sock_accept,
-+ getname: sco_sock_getname,
-+ sendmsg: sco_sock_sendmsg,
-+ recvmsg: bluez_sock_recvmsg,
-+ poll: bluez_sock_poll,
-+ socketpair: sock_no_socketpair,
-+ ioctl: sock_no_ioctl,
-+ shutdown: sock_no_shutdown,
-+ setsockopt: sco_sock_setsockopt,
-+ getsockopt: sco_sock_getsockopt,
-+ mmap: sock_no_mmap
-+};
-+
-+static struct net_proto_family sco_sock_family_ops = {
-+ family: PF_BLUETOOTH,
-+ create: sco_sock_create
-+};
-+
-+static struct hci_proto sco_hci_proto = {
-+ name: "SCO",
-+ id: HCI_PROTO_SCO,
-+ connect_ind: sco_connect_ind,
-+ connect_cfm: sco_connect_cfm,
-+ disconn_ind: sco_disconn_ind,
-+ recv_scodata: sco_recv_scodata,
-+};
-+
-+int __init sco_init(void)
-+{
-+ int err;
-+
-+ if ((err = bluez_sock_register(BTPROTO_SCO, &sco_sock_family_ops))) {
-+ BT_ERR("Can't register SCO socket layer");
-+ return err;
-+ }
-+
-+ if ((err = hci_register_proto(&sco_hci_proto))) {
-+ BT_ERR("Can't register SCO protocol");
-+ return err;
-+ }
-+
-+ create_proc_read_entry("bluetooth/sco", 0, 0, sco_read_proc, NULL);
-+
-+ BT_INFO("BlueZ SCO ver %s Copyright (C) 2000,2001 Qualcomm Inc", VERSION);
-+ BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
-+ return 0;
-+}
-+
-+void sco_cleanup(void)
-+{
-+ int err;
-+
-+ remove_proc_entry("bluetooth/sco", NULL);
-+
-+ /* Unregister socket, protocol and notifier */
-+ if ((err = bluez_sock_unregister(BTPROTO_SCO)))
-+ BT_ERR("Can't unregister SCO socket layer %d", err);
-+
-+ if ((err = hci_unregister_proto(&sco_hci_proto)))
-+ BT_ERR("Can't unregister SCO protocol %d", err);
-+}
-+
-+module_init(sco_init);
-+module_exit(sco_cleanup);
-+
-+MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>");
-+MODULE_DESCRIPTION("BlueZ SCO ver " VERSION);
-+MODULE_LICENSE("GPL");
-diff -urN linux-2.4.18/net/bluetooth/syms.c linux-2.4.18-mh15/net/bluetooth/syms.c
---- linux-2.4.18/net/bluetooth/syms.c 2001-09-07 18:28:38.000000000 +0200
-+++ linux-2.4.18-mh15/net/bluetooth/syms.c 2004-08-01 16:26:23.000000000 +0200
-@@ -25,7 +25,7 @@
- /*
- * BlueZ symbols.
- *
-- * $Id: syms.c,v 1.1 2001/07/12 19:31:24 maxk Exp $
-+ * $Id: syms.c,v 1.1 2002/03/08 21:06:59 maxk Exp $
- */
-
- #include <linux/config.h>
-@@ -39,25 +39,28 @@
- #include <linux/socket.h>
-
- #include <net/bluetooth/bluetooth.h>
--#include <net/bluetooth/bluez.h>
- #include <net/bluetooth/hci_core.h>
-
- /* HCI Core */
- EXPORT_SYMBOL(hci_register_dev);
- EXPORT_SYMBOL(hci_unregister_dev);
-+EXPORT_SYMBOL(hci_suspend_dev);
-+EXPORT_SYMBOL(hci_resume_dev);
-+
- EXPORT_SYMBOL(hci_register_proto);
- EXPORT_SYMBOL(hci_unregister_proto);
--EXPORT_SYMBOL(hci_register_notifier);
--EXPORT_SYMBOL(hci_unregister_notifier);
-
-+EXPORT_SYMBOL(hci_get_route);
- EXPORT_SYMBOL(hci_connect);
--EXPORT_SYMBOL(hci_disconnect);
- EXPORT_SYMBOL(hci_dev_get);
-+EXPORT_SYMBOL(hci_conn_auth);
-+EXPORT_SYMBOL(hci_conn_encrypt);
-
- EXPORT_SYMBOL(hci_recv_frame);
- EXPORT_SYMBOL(hci_send_acl);
- EXPORT_SYMBOL(hci_send_sco);
--EXPORT_SYMBOL(hci_send_raw);
-+EXPORT_SYMBOL(hci_send_cmd);
-+EXPORT_SYMBOL(hci_si_event);
-
- /* BlueZ lib */
- EXPORT_SYMBOL(bluez_dump);
-@@ -68,5 +71,11 @@
- /* BlueZ sockets */
- EXPORT_SYMBOL(bluez_sock_register);
- EXPORT_SYMBOL(bluez_sock_unregister);
-+EXPORT_SYMBOL(bluez_sock_init);
- EXPORT_SYMBOL(bluez_sock_link);
- EXPORT_SYMBOL(bluez_sock_unlink);
-+EXPORT_SYMBOL(bluez_sock_recvmsg);
-+EXPORT_SYMBOL(bluez_sock_poll);
-+EXPORT_SYMBOL(bluez_accept_enqueue);
-+EXPORT_SYMBOL(bluez_accept_dequeue);
-+EXPORT_SYMBOL(bluez_sock_wait_state);
-diff -urN linux-2.4.18/net/netsyms.c linux-2.4.18-mh15/net/netsyms.c
---- linux-2.4.18/net/netsyms.c 2002-02-25 20:38:14.000000000 +0100
-+++ linux-2.4.18-mh15/net/netsyms.c 2004-08-01 16:26:23.000000000 +0200
-@@ -159,6 +159,7 @@
- EXPORT_SYMBOL(put_cmsg);
- EXPORT_SYMBOL(sock_kmalloc);
- EXPORT_SYMBOL(sock_kfree_s);
-+EXPORT_SYMBOL(sockfd_lookup);
-
- #ifdef CONFIG_FILTER
- EXPORT_SYMBOL(sk_run_filter);
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bt950_cs.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bt950_cs.patch
deleted file mode 100644
index c29f0d02f2..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/bt950_cs.patch
+++ /dev/null
@@ -1,1174 +0,0 @@
-diff -Nur linux-orig/drivers/bluetooth/bt950_cs.c linux/drivers/bluetooth/bt950_cs.c
---- linux-orig/drivers/bluetooth/bt950_cs.c 1970-01-01 03:00:00.000000000 +0300
-+++ linux/drivers/bluetooth/bt950_cs.c 2004-02-04 09:55:04.000000000 +0300
-@@ -0,0 +1,1133 @@
-+/*
-+ *
-+ * Driver for Bluetooth cards with OXCF950 UART interface
-+ *
-+ * Copyright (C) 2001-2002 Marcel Holtmann <marcel@holtmann.org>
-+ * Albert Rybalkin <albertr@iral.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;
-+ *
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ *
-+ * The initial developer of the original code is David A. Hinds
-+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
-+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+
-+#ifdef CONFIG_MODVERSIONS
-+#ifndef MODVERSIONS
-+#define MODVERSIONS
-+#endif
-+#include <linux/modversions.h>
-+#endif
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/types.h>
-+#include <linux/sched.h>
-+#include <linux/timer.h>
-+#include <linux/errno.h>
-+#include <linux/ptrace.h>
-+#include <linux/ioport.h>
-+#include <linux/spinlock.h>
-+#include <linux/delay.h>
-+
-+#include <linux/skbuff.h>
-+#include <linux/string.h>
-+#include <linux/serial.h>
-+#include <linux/serial_reg.h>
-+#include <asm/system.h>
-+#include <asm/bitops.h>
-+#include <asm/io.h>
-+
-+#include <pcmcia/version.h>
-+#include <pcmcia/cs_types.h>
-+#include <pcmcia/cs.h>
-+#include <pcmcia/cistpl.h>
-+#include <pcmcia/ciscode.h>
-+#include <pcmcia/ds.h>
-+#include <pcmcia/cisreg.h>
-+
-+#include <net/bluetooth/bluetooth.h>
-+#include <net/bluetooth/hci_core.h>
-+
-+/* Default baud rate: 57600, 115200, 230400 or 460800 */
-+#define DEFAULT_BAUD_RATE 460800
-+
-+
-+/* ======================== Module parameters ======================== */
-+
-+
-+/* Bit map of interrupts to choose from */
-+static u_int irq_mask = 0x86bc;
-+static int irq_list[4] = { -1 };
-+static long baud_rate = DEFAULT_BAUD_RATE;
-+
-+MODULE_PARM(irq_mask, "i");
-+MODULE_PARM(irq_list, "1-4i");
-+MODULE_PARM(baud_rate, "l");
-+
-+MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>, Albert Rybalkin <albertr@iral.com>");
-+MODULE_DESCRIPTION("BlueZ driver for Bluetooth cards with OXCF950 UART interface");
-+MODULE_LICENSE("GPL");
-+
-+
-+
-+/* ======================== Local structures ======================== */
-+
-+
-+typedef struct bt950_info_t {
-+ dev_link_t link;
-+ dev_node_t node;
-+
-+ struct hci_dev hdev;
-+
-+ spinlock_t lock; /* For serializing operations */
-+
-+ struct sk_buff_head txq;
-+ unsigned long tx_state;
-+
-+ unsigned long rx_state;
-+ unsigned long rx_count;
-+ struct sk_buff *rx_skb;
-+} bt950_info_t;
-+
-+
-+static void bt950_config(dev_link_t *link);
-+static void bt950_release(u_long arg);
-+static int bt950_event(event_t event, int priority, event_callback_args_t *args);
-+
-+static dev_info_t dev_info = "bt950_cs";
-+
-+static dev_link_t *bt950_attach(void);
-+static void bt950_detach(dev_link_t *);
-+
-+static dev_link_t *dev_list = NULL;
-+
-+/* Transmit states */
-+#define XMIT_SENDING 1
-+#define XMIT_WAKEUP 2
-+#define XMIT_WAITING 8
-+
-+/* Receiver states */
-+#define RECV_WAIT_PACKET_TYPE 0
-+#define RECV_WAIT_EVENT_HEADER 1
-+#define RECV_WAIT_ACL_HEADER 2
-+#define RECV_WAIT_SCO_HEADER 3
-+#define RECV_WAIT_DATA 4
-+
-+/* Special packet types */
-+#define PKT_BAUD_RATE_57600 0x80
-+#define PKT_BAUD_RATE_115200 0x81
-+#define PKT_BAUD_RATE_230400 0x82
-+#define PKT_BAUD_RATE_460800 0x83
-+
-+/* 950-specific stuff */
-+#define MAX_WAIT 0xFFFF
-+#define FIFO_SIZE 128
-+
-+#define TR_TX_INT 0x10 /* TTL: TX interrupt trigger level (0-127) */
-+#define TR_RX_INT 0x40 /* RTL: RX interrupt trigger level (1-127) */
-+#define TR_CTL_LO 0x08 /* FCL: auto flow control LOWER trigger level (0-127) */
-+#define TR_CTL_HI 0x60 /* FCH: auto flow control HIGH trigger level (1-127) */
-+
-+/* 950-specific registers and values we use. It should
-+ * eventually go to include/linux/serial_reg.h */
-+#define UART_IER_CTS 0x80 /* enable CTS interrupt */
-+#define UART_IER_RTS 0x40 /* enable RTS interrupt */
-+#define UART_IER_SLP 0x10 /* enable sleep mode */
-+#define UART_LCR_650 0xBF /* enable 650-compatible registers access */
-+#define UART_LSR_DE 0x80 /* data error */
-+#define UART_LSR_ERR (UART_LSR_OE|UART_LSR_PE|UART_LSR_FE|UART_LSR_BI|UART_LSR_DE)
-+#define UART_IIR_RXTOUT 0x0C /* RX timeout interrupt */
-+#define UART_IIR_CTSRTS 0x20 /* CTS or RTS change interrupt */
-+#define UART_IIR_RTS 0x40
-+#define UART_IIR_CTS 0x80
-+#define UART_IIR_MASK 0x3E /* interrupt mask */
-+#define UART_SRT 0x0D /* soft reset register */
-+
-+
-+
-+/* ======================== Interrupt handling ======================== */
-+
-+
-+static int bt950_write(unsigned int iobase, int fifo_size, const unsigned char *buf, int len)
-+{
-+ int i, actual = 0;
-+
-+ /* Activate DTR and RTS */
-+ outb(UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2, iobase + UART_MCR);
-+
-+ /* Wait for CTS flow control */
-+ for (i = MAX_WAIT; i; i--)
-+ if (inb(iobase + UART_MSR) & UART_MSR_CTS)
-+ break;
-+
-+ if (!i) {
-+ printk(KERN_WARNING "bt950_cs: Timeout waiting for CTS on write.\n");
-+ return 0;
-+ }
-+
-+ /* The TX FIFO should be empty */
-+ for (i = MAX_WAIT; i; i--)
-+ if (inb(iobase + UART_LSR) & UART_LSR_THRE)
-+ break;
-+
-+ if (!i) {
-+ printk(KERN_WARNING "bt950_cs: Timeout waiting for empty TX FIFO on write.\n");
-+ return 0;
-+ }
-+
-+ /* Fill FIFO with current frame */
-+ while ((fifo_size-- > 0) && (actual < len)) {
-+ /* Transmit next byte */
-+ outb(buf[actual], iobase + UART_TX);
-+ actual++;
-+ }
-+
-+ return actual;
-+}
-+
-+
-+static void bt950_write_wakeup(bt950_info_t *info)
-+{
-+ unsigned char lcr;
-+ unsigned int divisor;
-+
-+ if (!info) {
-+ printk(KERN_WARNING "bt950_cs: Call of write_wakeup for unknown device.\n");
-+ return;
-+ }
-+
-+ if (test_and_set_bit(XMIT_SENDING, &(info->tx_state))) {
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+ return;
-+ }
-+
-+ do {
-+ register unsigned int iobase = info->link.io.BasePort1;
-+ register struct sk_buff *skb;
-+ register int len;
-+
-+ clear_bit(XMIT_WAKEUP, &(info->tx_state));
-+
-+ if (!(info->link.state & DEV_PRESENT))
-+ return;
-+
-+ if (!(skb = skb_dequeue(&(info->txq))))
-+ break;
-+
-+ if (skb->pkt_type & 0x80) {
-+ /* Disable RTS */
-+ outb((inb(iobase + UART_MCR) & ~UART_MCR_RTS), iobase + UART_MCR);
-+ }
-+
-+ /* Send frame */
-+ len = bt950_write(iobase, FIFO_SIZE, skb->data, skb->len);
-+
-+ set_bit(XMIT_WAKEUP, &(info->tx_state));
-+
-+ if (skb->pkt_type & 0x80) {
-+
-+ wait_queue_head_t wait;
-+
-+ switch (skb->pkt_type) {
-+
-+ case PKT_BAUD_RATE_460800:
-+ divisor = 1;
-+ break;
-+
-+ case PKT_BAUD_RATE_230400:
-+ divisor = 2;
-+ break;
-+
-+ case PKT_BAUD_RATE_115200:
-+ divisor = 4;
-+ break;
-+
-+ case PKT_BAUD_RATE_57600:
-+ /* Fall through... */
-+
-+ default:
-+ divisor = 8;
-+ break;
-+ }
-+
-+ /* Wait until the command reaches the baseband */
-+ init_waitqueue_head(&wait);
-+ interruptible_sleep_on_timeout(&wait, HZ / 10);
-+
-+ /* Set baud on baseband */
-+ /* Enable divisor latch access */
-+ lcr = inb(iobase + UART_LCR) & 0x3F;
-+ outb(lcr | UART_LCR_DLAB, iobase + UART_LCR);
-+
-+ /* Setup divisor latch */
-+ outb(divisor & 0x00FF, iobase + UART_DLL); /* divisor latch LOW byte */
-+ outb((divisor & 0xFF00) >> 8, iobase + UART_DLM); /* divisor latch HI byte */
-+
-+ /* Disable divisor latch access */
-+ outb(lcr, iobase + UART_LCR);
-+
-+ /* Enable RTS */
-+ outb((inb(iobase + UART_MCR) | UART_MCR_RTS), iobase + UART_MCR);
-+
-+ /* Wait before the next HCI packet can be send */
-+ interruptible_sleep_on_timeout(&wait, HZ);
-+
-+ }
-+
-+ if (len == skb->len) {
-+ kfree_skb(skb);
-+ } else {
-+ skb_pull(skb, len);
-+ skb_queue_head(&(info->txq), skb);
-+ }
-+
-+ info->hdev.stat.byte_tx += len;
-+
-+ } while (test_bit(XMIT_WAKEUP, &(info->tx_state)));
-+
-+ clear_bit(XMIT_SENDING, &(info->tx_state));
-+}
-+
-+
-+static inline void bt950_receive(bt950_info_t *info)
-+{
-+ unsigned int iobase;
-+ int boguscount = 0;
-+
-+ if (!info) {
-+ printk(KERN_ERR "bt950_cs: Call of receive for unknown device.\n");
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ /* Fixme: BUG? */
-+ inb(iobase + UART_MCR);
-+
-+ do {
-+ info->hdev.stat.byte_rx++;
-+
-+ /* Allocate packet */
-+ if (info->rx_skb == NULL) {
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ if (!(info->rx_skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_ERR "bt950_cs: Can't allocate mem for new packet.\n");
-+ return;
-+ }
-+ }
-+
-+ if (info->rx_state == RECV_WAIT_PACKET_TYPE) {
-+
-+ info->rx_skb->dev = (void *)&(info->hdev);
-+ info->rx_skb->pkt_type = inb(iobase + UART_RX);
-+
-+ switch (info->rx_skb->pkt_type) {
-+
-+ case HCI_EVENT_PKT:
-+ info->rx_state = RECV_WAIT_EVENT_HEADER;
-+ info->rx_count = HCI_EVENT_HDR_SIZE;
-+ break;
-+
-+ case HCI_ACLDATA_PKT:
-+ info->rx_state = RECV_WAIT_ACL_HEADER;
-+ info->rx_count = HCI_ACL_HDR_SIZE;
-+ break;
-+
-+ case HCI_SCODATA_PKT:
-+ info->rx_state = RECV_WAIT_SCO_HEADER;
-+ info->rx_count = HCI_SCO_HDR_SIZE;
-+ break;
-+
-+ default:
-+ /* Unknown packet */
-+ printk(KERN_WARNING "bt950_cs: Unknown HCI packet with type 0x%02X received.\n", info->rx_skb->pkt_type);
-+ info->hdev.stat.err_rx++;
-+
-+ kfree_skb(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ } else {
-+
-+ *skb_put(info->rx_skb, 1) = inb(iobase + UART_RX);
-+ info->rx_count--;
-+
-+ if (info->rx_count == 0) {
-+
-+ int dlen;
-+ hci_event_hdr *eh;
-+ hci_acl_hdr *ah;
-+ hci_sco_hdr *sh;
-+
-+
-+ switch (info->rx_state) {
-+
-+ case RECV_WAIT_EVENT_HEADER:
-+ eh = (hci_event_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = eh->plen;
-+ break;
-+
-+ case RECV_WAIT_ACL_HEADER:
-+ ah = (hci_acl_hdr *)(info->rx_skb->data);
-+ dlen = __le16_to_cpu(ah->dlen);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = dlen;
-+ break;
-+
-+ case RECV_WAIT_SCO_HEADER:
-+ sh = (hci_sco_hdr *)(info->rx_skb->data);
-+ info->rx_state = RECV_WAIT_DATA;
-+ info->rx_count = sh->dlen;
-+ break;
-+
-+ case RECV_WAIT_DATA:
-+ hci_recv_frame(info->rx_skb);
-+ info->rx_skb = NULL;
-+ break;
-+
-+ }
-+
-+ }
-+
-+ }
-+
-+ /* Make sure we don't stay here too long */
-+ if (boguscount++ > 16)
-+ break;
-+
-+ } while (inb(iobase + UART_LSR) & UART_LSR_DR);
-+}
-+
-+
-+static void bt950_interrupt(int irq, void *dev_inst, struct pt_regs *regs)
-+{
-+ bt950_info_t *info = dev_inst;
-+ unsigned int iobase;
-+ int boguscount = 0;
-+ int iir, lsr;
-+
-+ if (!info) {
-+ printk(KERN_ERR "bt950_cs: Call of irq %d for unknown device.\n", irq);
-+ return;
-+ }
-+
-+ iobase = info->link.io.BasePort1;
-+
-+ spin_lock(&(info->lock));
-+
-+ iir = inb(iobase + UART_IIR);
-+
-+ while (!(iir & UART_IIR_NO_INT)) {
-+
-+ switch (iir & UART_IIR_ID) {
-+ case UART_IIR_RLSI:
-+ /* Clear RLSI interrupt */
-+ lsr = inb(iobase + UART_LSR);
-+ printk(KERN_NOTICE "bt950_cs: RLSI interrupt, LSR=%#x\n", lsr);
-+ /* Fixme: we need to process errors ... */
-+ break;
-+ case UART_IIR_RDI:
-+ /* Receive interrupt */
-+ bt950_receive(info);
-+ break;
-+ case UART_IIR_THRI:
-+ /* Transmitter ready for data */
-+ bt950_write_wakeup(info);
-+ break;
-+ default:
-+ printk(KERN_NOTICE "bt950_cs: Unhandled IIR=%#x\n", iir);
-+ break;
-+ }
-+
-+ /* Make sure we don't stay here too long */
-+ if (boguscount++ > 100)
-+ break;
-+
-+ iir = inb(iobase + UART_IIR);
-+
-+ }
-+
-+ spin_unlock(&(info->lock));
-+}
-+
-+/* ======================== Device specific HCI commands ======================== */
-+
-+
-+static int bt950_hci_set_baud_rate(struct hci_dev *hdev, int baud)
-+{
-+ bt950_info_t *info = (bt950_info_t *)(hdev->driver_data);
-+ struct sk_buff *skb;
-+
-+ /* Ericsson baud rate command */
-+ unsigned char cmd[] = { HCI_COMMAND_PKT, 0x09, 0xfc, 0x01, 0x03 };
-+
-+ if (!(skb = bluez_skb_alloc(HCI_MAX_FRAME_SIZE, GFP_ATOMIC))) {
-+ printk(KERN_WARNING "bt950_cs: Can't allocate mem for new packet.\n");
-+ return -1;
-+ }
-+
-+ switch (baud) {
-+ case 460800:
-+ cmd[4] = 0x00;
-+ skb->pkt_type = PKT_BAUD_RATE_460800;
-+ break;
-+ case 230400:
-+ cmd[4] = 0x01;
-+ skb->pkt_type = PKT_BAUD_RATE_230400;
-+ break;
-+ case 115200:
-+ cmd[4] = 0x02;
-+ skb->pkt_type = PKT_BAUD_RATE_115200;
-+ break;
-+ case 57600:
-+ /* Fall through... */
-+ default:
-+ baud = 57600;
-+ cmd[4] = 0x03;
-+ skb->pkt_type = PKT_BAUD_RATE_57600;
-+ break;
-+ }
-+
-+ memcpy(skb_put(skb, sizeof(cmd)), cmd, sizeof(cmd));
-+
-+ skb_queue_tail(&(info->txq), skb);
-+
-+ printk(KERN_WARNING "bt950_cs: setting baud rate: %d.\n", baud);
-+
-+ bt950_write_wakeup(info);
-+
-+ return 0;
-+}
-+
-+
-+/* ======================== HCI interface ======================== */
-+
-+
-+static int bt950_hci_flush(struct hci_dev *hdev)
-+{
-+ bt950_info_t *info = (bt950_info_t *)(hdev->driver_data);
-+
-+ /* Drop TX queue */
-+ skb_queue_purge(&(info->txq));
-+
-+ return 0;
-+}
-+
-+
-+static int bt950_hci_open(struct hci_dev *hdev)
-+{
-+ bt950_hci_set_baud_rate(hdev, baud_rate);
-+ set_bit(HCI_RUNNING, &(hdev->flags));
-+
-+ return 0;
-+}
-+
-+
-+static int bt950_hci_close(struct hci_dev *hdev)
-+{
-+ if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
-+ return 0;
-+
-+ bt950_hci_flush(hdev);
-+
-+ return 0;
-+}
-+
-+
-+static int bt950_hci_send_frame(struct sk_buff *skb)
-+{
-+ bt950_info_t *info;
-+ struct hci_dev *hdev = (struct hci_dev *)(skb->dev);
-+
-+ if (!hdev) {
-+ printk(KERN_ERR "bt950_cs: Frame for unknown HCI device (hdev=NULL).");
-+ return -ENODEV;
-+ }
-+
-+ info = (bt950_info_t *)(hdev->driver_data);
-+
-+ switch (skb->pkt_type) {
-+ case HCI_COMMAND_PKT:
-+ hdev->stat.cmd_tx++;
-+ break;
-+ case HCI_ACLDATA_PKT:
-+ hdev->stat.acl_tx++;
-+ break;
-+ case HCI_SCODATA_PKT:
-+ hdev->stat.sco_tx++;
-+ break;
-+ };
-+
-+ /* Prepend skb with frame type */
-+ memcpy(skb_push(skb, 1), &(skb->pkt_type), 1);
-+ skb_queue_tail(&(info->txq), skb);
-+
-+ bt950_write_wakeup(info);
-+
-+ return 0;
-+}
-+
-+
-+static void bt950_hci_destruct(struct hci_dev *hdev)
-+{
-+}
-+
-+
-+static int bt950_hci_ioctl(struct hci_dev *hdev, unsigned int cmd, unsigned long arg)
-+{
-+ return -ENOIOCTLCMD;
-+}
-+
-+
-+
-+/* ======================== Card services HCI interaction ======================== */
-+
-+
-+static int bt950_setup_uart(bt950_info_t *info)
-+{
-+ unsigned long flags;
-+ unsigned int iobase = info->link.io.BasePort1;
-+ unsigned char lcr, ier = UART_IER_RDI | UART_IER_RLSI | UART_IER_SLP;
-+ unsigned int divisor = 8; /* Fixme: divisor == 0x0c ??? */
-+ unsigned char id1, id2, id3, rev;
-+ register int i;
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Disable interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ /* Activate RTS and OUT2 */
-+ /* Fixme: is OUT2 used to enable interrupts? */
-+ outb(UART_MCR_RTS | UART_MCR_OUT2, iobase + UART_MCR);
-+
-+ /* Setup the FIFO's */
-+ outb(0, iobase + UART_FCR);
-+ inb(iobase + UART_RX);
-+ outb(UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR |
-+ UART_FCR_CLEAR_XMIT | UART_FCR_TRIGGER_14, iobase + UART_FCR);
-+
-+ /* Disable divisor latch access */
-+ lcr = inb(iobase + UART_LCR) & 0x3F; /* mask out UART_LCR_DLAB and UART_LCR_SBC */
-+ outb(lcr, iobase + UART_LCR);
-+
-+ /* Read up to 4 bytes from RX FIFO */
-+ for (i = 0; i < 4; i++) {
-+ inb(iobase + UART_RX);
-+ if (!(inb(iobase + UART_LSR) & UART_LSR_DR))
-+ break;
-+ }
-+
-+ /* Wait if CTS/DSR/DCD changing */
-+ for (i = 1; i < 0x3E8; i++) {
-+ if (!(inb(iobase + UART_MSR) & UART_MSR_ANY_DELTA))
-+ break;
-+ }
-+
-+ /* Enable divisor latch access */
-+ outb(lcr | UART_LCR_DLAB, iobase + UART_LCR);
-+
-+ /* Setup divisor latch */
-+ outb(divisor & 0x00FF, iobase + UART_DLL); /* divisor latch LOW byte */
-+ outb((divisor & 0xFF00) >> 8, iobase + UART_DLM); /* divisor latch HIGH byte */
-+
-+ /* Disable divisor latch access */
-+ outb(lcr, iobase + UART_LCR);
-+
-+ /* Setup interrupts, enable sleep mode */
-+ outb(ier, iobase + UART_IER); /* we don't want to handle TX interrupts */
-+
-+ /* Skip pending interrupts */
-+ for (i = 0; i < 4; i++) {
-+ if (inb(iobase + UART_IIR) & UART_IIR_NO_INT)
-+ break;
-+ }
-+
-+ /* 8N1 */
-+ lcr = UART_LCR_WLEN8;
-+ outb(lcr, iobase + UART_LCR);
-+
-+ /* Setup CTS/RTS flow control and 950 enhanced mode */
-+ outb(UART_LCR_650, iobase + UART_LCR);
-+ outb(UART_EFR_CTS | UART_EFR_RTS | UART_EFR_ECB,
-+ iobase + UART_EFR);
-+ outb(lcr, iobase + UART_LCR);
-+
-+ /* Read core id and revision */
-+ outb(UART_ACR, iobase + UART_EMSR);
-+ outb(UART_ACR_ICRRD, iobase + UART_LSR); /* enable ICR read access, we don't need to save the old value of ACR */
-+
-+ outb(UART_ID1, iobase + UART_EMSR);
-+ id1 = inb(iobase + UART_LSR);
-+
-+ outb(UART_ID2, iobase + UART_EMSR);
-+ id2 = inb(iobase + UART_LSR);
-+
-+ outb(UART_ID3, iobase + UART_EMSR);
-+ id3 = inb(iobase + UART_LSR);
-+
-+ outb(UART_REV, iobase + UART_EMSR);
-+ rev = inb(iobase + UART_LSR);
-+
-+ if (id1 != 0x16 || id2 != 0xC9 || id3 != 0x50) {
-+ printk(KERN_ERR "bt950_cs: Unknown UART core %02X%02X%02X found.\n", id1, id2, id3);
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+ return -ENODEV;
-+ }
-+
-+
-+ /* Init ICR registers */
-+ outb(UART_TTL, iobase + UART_EMSR);
-+ outb(TR_TX_INT, iobase + UART_LSR); /* TX interrupt trigger level (0-127) */
-+
-+ outb(UART_RTL, iobase + UART_EMSR);
-+ outb(TR_RX_INT, iobase + UART_LSR); /* RX interrupt trigger level (1-127) */
-+
-+ outb(UART_FCL, iobase + UART_EMSR);
-+ outb(TR_CTL_LO, iobase + UART_LSR); /* auto flow control LOWER trigger level (0-127) */
-+
-+ outb(UART_FCH, iobase + UART_EMSR);
-+ outb(TR_CTL_HI, iobase + UART_LSR); /* auto flow control HIGH trigger level (1-127) */
-+
-+ outb(UART_ACR, iobase + UART_EMSR);
-+ outb(UART_ACR_TLENB, iobase + UART_LSR); /* disable ICR read access, enable trigger levels */
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+
-+ return 0;
-+}
-+
-+
-+static void bt950_stop_uart(bt950_info_t *info)
-+{
-+ unsigned long flags;
-+ unsigned int iobase = info->link.io.BasePort1;
-+
-+ spin_lock_irqsave(&(info->lock), flags);
-+
-+ /* Disable interrupts */
-+ outb(0, iobase + UART_IER);
-+
-+ /* Set RTS and OUT2 low */
-+ outb(0, iobase + UART_MCR);
-+
-+ spin_unlock_irqrestore(&(info->lock), flags);
-+}
-+
-+
-+static int bt950_open(bt950_info_t *info)
-+{
-+ struct hci_dev *hdev;
-+ int err;
-+
-+ spin_lock_init(&(info->lock));
-+
-+ skb_queue_head_init(&(info->txq));
-+
-+ info->rx_state = RECV_WAIT_PACKET_TYPE;
-+ info->rx_count = 0;
-+ info->rx_skb = NULL;
-+
-+ /* Setup hardware */
-+ if ((err = bt950_setup_uart(info)) < 0)
-+ return err;
-+
-+ /* Timeout before it is safe to send the first HCI packet */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ schedule_timeout(HZ);
-+
-+
-+ /* Initialize and register HCI device */
-+
-+ hdev = &(info->hdev);
-+
-+ hdev->type = HCI_PCCARD;
-+ hdev->driver_data = info;
-+
-+ hdev->open = bt950_hci_open;
-+ hdev->close = bt950_hci_close;
-+ hdev->flush = bt950_hci_flush;
-+ hdev->send = bt950_hci_send_frame;
-+ hdev->destruct = bt950_hci_destruct;
-+ hdev->ioctl = bt950_hci_ioctl;
-+
-+ if (hci_register_dev(hdev) < 0) {
-+ printk(KERN_ERR "bt950_cs: Can't register HCI device %s.\n", hdev->name);
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+static int bt950_close(bt950_info_t *info)
-+{
-+ struct hci_dev *hdev = &(info->hdev);
-+
-+ bt950_hci_close(hdev);
-+
-+ /* Stop hardware */
-+ bt950_stop_uart(info);
-+
-+ if (hci_unregister_dev(hdev) < 0)
-+ printk(KERN_ERR "bt950_cs: Can't unregister HCI device %s.\n", hdev->name);
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Card services ======================== */
-+
-+
-+static void cs_error(client_handle_t handle, int func, int ret)
-+{
-+ error_info_t err = { func, ret };
-+
-+ CardServices(ReportError, handle, &err);
-+}
-+
-+
-+static dev_link_t *bt950_attach(void)
-+{
-+ bt950_info_t *info;
-+ client_reg_t client_reg;
-+ dev_link_t *link;
-+ int i, ret;
-+
-+ /* Create new info device */
-+ info = kmalloc(sizeof(*info), GFP_KERNEL);
-+ if (!info)
-+ return NULL;
-+ memset(info, 0, sizeof(*info));
-+
-+ link = &info->link;
-+ link->priv = info;
-+
-+ link->release.function = &bt950_release;
-+ link->release.data = (u_long)link;
-+ link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-+ link->io.NumPorts1 = 8;
-+ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
-+ link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID;
-+
-+ if (irq_list[0] == -1)
-+ link->irq.IRQInfo2 = irq_mask;
-+ else
-+ for (i = 0; i < 4; i++)
-+ link->irq.IRQInfo2 |= 1 << irq_list[i];
-+
-+ link->irq.Handler = bt950_interrupt;
-+ link->irq.Instance = info;
-+
-+ link->conf.Attributes = CONF_ENABLE_IRQ;
-+ link->conf.IntType = INT_MEMORY_AND_IO;
-+ link->conf.Present =
-+ PRESENT_OPTION | PRESENT_STATUS | PRESENT_PIN_REPLACE |
-+ PRESENT_COPY;
-+
-+ /* Register with Card Services */
-+ link->next = dev_list;
-+ dev_list = link;
-+ client_reg.dev_info = &dev_info;
-+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
-+ client_reg.EventMask =
-+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
-+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
-+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
-+ client_reg.event_handler = &bt950_event;
-+ client_reg.Version = 0x0210;
-+ client_reg.event_callback_args.client_data = link;
-+
-+ ret = CardServices(RegisterClient, &link->handle, &client_reg);
-+ if (ret != CS_SUCCESS) {
-+ cs_error(link->handle, RegisterClient, ret);
-+ bt950_detach(link);
-+ return NULL;
-+ }
-+
-+ return link;
-+}
-+
-+
-+static void bt950_detach(dev_link_t *link)
-+{
-+ bt950_info_t *info = link->priv;
-+ dev_link_t **linkp;
-+ int ret;
-+
-+ /* Locate device structure */
-+ for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-+ if (*linkp == link)
-+ break;
-+
-+ if (*linkp == NULL)
-+ return;
-+
-+ del_timer(&link->release);
-+ if (link->state & DEV_CONFIG)
-+ bt950_release((u_long) link);
-+
-+ if (link->handle) {
-+ ret = CardServices(DeregisterClient, link->handle);
-+ if (ret != CS_SUCCESS)
-+ cs_error(link->handle, DeregisterClient, ret);
-+ }
-+
-+ /* Unlink device structure, free bits */
-+ *linkp = link->next;
-+
-+ kfree(info);
-+}
-+
-+
-+static int get_tuple(int fn, client_handle_t handle, tuple_t *tuple, cisparse_t *parse)
-+{
-+ int i;
-+
-+ i = CardServices(fn, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return CS_NO_MORE_ITEMS;
-+
-+ i = CardServices(GetTupleData, handle, tuple);
-+ if (i != CS_SUCCESS)
-+ return i;
-+
-+ return CardServices(ParseTuple, handle, tuple, parse);
-+}
-+
-+
-+#define first_tuple(a, b, c) get_tuple(GetFirstTuple, a, b, c)
-+#define next_tuple(a, b, c) get_tuple(GetNextTuple, a, b, c)
-+
-+static void bt950_config(dev_link_t *link)
-+{
-+ static ioaddr_t base[4] = { 0x2f8, 0x3e8, 0x2e8, 0x0 };
-+ client_handle_t handle = link->handle;
-+ bt950_info_t *info = link->priv;
-+ tuple_t tuple;
-+ u_short buf[256];
-+ cisparse_t parse;
-+ cistpl_cftable_entry_t *cf = &parse.cftable_entry;
-+ config_info_t config;
-+ int i, j, try, last_ret, last_fn;
-+
-+ tuple.TupleData = (cisdata_t *)buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+
-+ /* Get configuration register information */
-+ tuple.DesiredTuple = CISTPL_CONFIG;
-+ last_ret = first_tuple(handle, &tuple, &parse);
-+ if (last_ret != CS_SUCCESS) {
-+ last_fn = ParseTuple;
-+ goto cs_failed;
-+ }
-+ link->conf.ConfigBase = parse.config.base;
-+ link->conf.Present = parse.config.rmask[0];
-+
-+ /* Configure card */
-+ link->state |= DEV_CONFIG;
-+ i = CardServices(GetConfigurationInfo, handle, &config);
-+ link->conf.Vcc = config.Vcc;
-+
-+ /* First pass: look for a config entry that looks normal. */
-+ tuple.TupleData = (cisdata_t *) buf;
-+ tuple.TupleOffset = 0;
-+ tuple.TupleDataMax = 255;
-+ tuple.Attributes = 0;
-+ tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
-+ /* Two tries: without IO aliases, then with aliases */
-+ for (try = 0; try < 2; try++) {
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if (i != CS_SUCCESS)
-+ goto next_entry;
-+ if (cf->vpp1.present & (1 << CISTPL_POWER_VNOM))
-+ link->conf.Vpp1 = link->conf.Vpp2 = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000;
-+ if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) && (cf->io.win[0].base != 0)) {
-+ link->conf.ConfigIndex = cf->index;
-+ link->io.BasePort1 = cf->io.win[0].base;
-+ link->io.IOAddrLines = (try == 0) ? 16 : cf->io.flags & CISTPL_IO_LINES_MASK;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ goto found_port;
-+ }
-+next_entry:
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+ }
-+
-+ /* Second pass: try to find an entry that isn't picky about
-+ its base address, then try to grab any standard serial port
-+ address, and finally try to get any free port. */
-+ i = first_tuple(handle, &tuple, &parse);
-+ while (i != CS_NO_MORE_ITEMS) {
-+ if ((i == CS_SUCCESS) && (cf->io.nwin > 0)
-+ && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) {
-+ link->conf.ConfigIndex = cf->index;
-+ for (j = 0; j < 5; j++) {
-+ link->io.BasePort1 = base[j];
-+ link->io.IOAddrLines = base[j] ? 16 : 3;
-+ i = CardServices(RequestIO, link->handle, &link->io);
-+ if (i == CS_SUCCESS)
-+ goto found_port;
-+ }
-+ }
-+ i = next_tuple(handle, &tuple, &parse);
-+ }
-+
-+found_port:
-+ if (i != CS_SUCCESS) {
-+ printk(KERN_ERR "bt950_cs: No usable port range found. Giving up.\n");
-+ cs_error(link->handle, RequestIO, i);
-+ goto failed;
-+ }
-+
-+ i = CardServices(RequestIRQ, link->handle, &link->irq);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestIRQ, i);
-+ link->irq.AssignedIRQ = 0;
-+ }
-+
-+ i = CardServices(RequestConfiguration, link->handle, &link->conf);
-+ if (i != CS_SUCCESS) {
-+ cs_error(link->handle, RequestConfiguration, i);
-+ goto failed;
-+ }
-+
-+ MOD_INC_USE_COUNT;
-+
-+ if (bt950_open(info) != 0)
-+ goto failed;
-+
-+ strcpy(info->node.dev_name, info->hdev.name);
-+ link->dev = &info->node;
-+ link->state &= ~DEV_CONFIG_PENDING;
-+
-+ return;
-+
-+cs_failed:
-+ cs_error(link->handle, last_fn, last_ret);
-+
-+failed:
-+ bt950_release((u_long)link);
-+ link->state &= ~DEV_CONFIG_PENDING;
-+}
-+
-+
-+static void bt950_release(u_long arg)
-+{
-+ dev_link_t *link = (dev_link_t *) arg;
-+ bt950_info_t *info = link->priv;
-+
-+ if (link->state & DEV_PRESENT)
-+ bt950_close(info);
-+
-+ MOD_DEC_USE_COUNT;
-+
-+ link->dev = NULL;
-+
-+ CardServices(ReleaseConfiguration, link->handle);
-+ CardServices(ReleaseIO, link->handle, &link->io);
-+ CardServices(ReleaseIRQ, link->handle, &link->irq);
-+
-+ link->state &= ~DEV_CONFIG;
-+}
-+
-+
-+static int bt950_event(event_t event, int priority, event_callback_args_t *args)
-+{
-+ dev_link_t *link = args->client_data;
-+ bt950_info_t *info = link->priv;
-+
-+ switch (event) {
-+ case CS_EVENT_CARD_REMOVAL:
-+ link->state &= ~DEV_PRESENT;
-+ if (link->state & DEV_CONFIG) {
-+ bt950_close(info);
-+ link->state |= DEV_RELEASE_PENDING;
-+ mod_timer(&link->release, jiffies + HZ / 20);
-+ }
-+ break;
-+ case CS_EVENT_CARD_INSERTION:
-+ link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-+ bt950_config(link);
-+ break;
-+ case CS_EVENT_PM_SUSPEND:
-+ link->state |= DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_RESET_PHYSICAL:
-+ if (link->state & DEV_CONFIG) {
-+ bt950_stop_uart(info);
-+ CardServices(ReleaseConfiguration, link->handle);
-+ }
-+ break;
-+ case CS_EVENT_PM_RESUME:
-+ link->state &= ~DEV_SUSPEND;
-+ /* Fall through... */
-+ case CS_EVENT_CARD_RESET:
-+ if (link->state & DEV_CONFIG) {
-+ CardServices(RequestConfiguration, link->handle, &link->conf);
-+ bt950_setup_uart(info);
-+ }
-+ break;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+
-+/* ======================== Module initialization ======================== */
-+
-+
-+int __init init_bt950_cs(void)
-+{
-+ servinfo_t serv;
-+ int err;
-+
-+ CardServices(GetCardServicesInfo, &serv);
-+ if (serv.Revision != CS_RELEASE_CODE) {
-+ printk(KERN_NOTICE "bt950_cs: Card Services release does not match!\n");
-+// return -1;
-+ }
-+
-+ err = register_pccard_driver(&dev_info, &bt950_attach, &bt950_detach);
-+
-+ return err;
-+}
-+
-+
-+void __exit exit_bt950_cs(void)
-+{
-+ unregister_pccard_driver(&dev_info);
-+
-+ while (dev_list != NULL)
-+ bt950_detach(dev_list);
-+}
-+
-+
-+module_init(init_bt950_cs);
-+module_exit(exit_bt950_cs);
-+
-+EXPORT_NO_SYMBOLS;
-diff -Nur linux-orig/drivers/bluetooth/Config.in linux/drivers/bluetooth/Config.in
---- linux-orig/drivers/bluetooth/Config.in 2004-02-16 08:45:33.000000000 +0300
-+++ linux/drivers/bluetooth/Config.in 2004-02-16 08:50:36.000000000 +0300
-@@ -21,7 +21,7 @@
-
- dep_tristate 'HCI DTL1 (PC Card) driver' CONFIG_BLUEZ_HCIDTL1 $CONFIG_PCMCIA $CONFIG_BLUEZ
-
--dep_tristate 'HCI BT3C (PC Card) driver' CONFIG_BLUEZ_HCIBT3C $CONFIG_PCMCIA $CONFIG_BLUEZ
-+# dep_tristate 'HCI BT3C (PC Card) driver' CONFIG_BLUEZ_HCIBT3C $CONFIG_PCMCIA $CONFIG_BLUEZ
-
- dep_tristate 'HCI BlueCard (PC Card) driver' CONFIG_BLUEZ_HCIBLUECARD $CONFIG_PCMCIA $CONFIG_BLUEZ
-
-@@ -29,5 +29,7 @@
-
- dep_tristate 'HCI VHCI (Virtual HCI device) driver' CONFIG_BLUEZ_HCIVHCI $CONFIG_BLUEZ
-
-+dep_tristate 'HCI BT950 (BT950 device) driver' CONFIG_BLUEZ_BT950 $CONFIG_BLUEZ
-+
- endmenu
-
-diff -Nur linux-orig/drivers/bluetooth/Makefile linux/drivers/bluetooth/Makefile
---- linux-orig/drivers/bluetooth/Makefile 2004-02-16 08:45:33.000000000 +0300
-+++ linux/drivers/bluetooth/Makefile 2004-02-16 08:50:47.000000000 +0300
-@@ -17,10 +17,12 @@
- obj-$(CONFIG_BLUEZ_HCIBFUSB) += bfusb.o
-
- obj-$(CONFIG_BLUEZ_HCIDTL1) += dtl1_cs.o
--obj-$(CONFIG_BLUEZ_HCIBT3C) += bt3c_cs.o
-+# obj-$(CONFIG_BLUEZ_HCIBT3C) += bt3c_cs.o
- obj-$(CONFIG_BLUEZ_HCIBLUECARD) += bluecard_cs.o
- obj-$(CONFIG_BLUEZ_HCIBTUART) += btuart_cs.o
-
-+obj-$(CONFIG_BLUEZ_BT950) += bt950_cs.o
-+
- include $(TOPDIR)/Rules.make
-
- hci_uart.o: $(uart-y)
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/buffered-fbmem.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/buffered-fbmem.patch
deleted file mode 100644
index 554f118936..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/buffered-fbmem.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#
-# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux/drivers/video/fbmem.c~buffered-fbmem 2003-09-16 00:48:18.000000000 +0200
-+++ linux/drivers/video/fbmem.c 2003-09-19 00:38:00.000000000 +0200
-@@ -650,7 +650,11 @@
- pgprot_val(vma->vm_page_prot) &= ~_CACHE_MASK;
- pgprot_val(vma->vm_page_prot) |= _CACHE_UNCACHED;
- #elif defined(__arm__)
-+#ifdef CONFIG_PXA
-+ vma->vm_page_prot = pgprot_noncached_buffered(vma->vm_page_prot);
-+#else
- vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
-+#endif
- #ifdef CONFIG_POODLE_CONSISTENT_ALLOC
- vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot) | L_PTE_CACHEABLE);
- #endif
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/compile.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/compile.patch
deleted file mode 100644
index 1a19b85daa..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/compile.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- linux/include/linux/jffs2_fs_i.h.old 2003-02-01 00:24:48.000000000 -0600
-+++ linux/include/linux/jffs2_fs_i.h 2003-02-01 00:25:14.000000000 -0600
-@@ -48,9 +48,11 @@
- uint32_t nr_frags;
- #endif
-
-+#ifdef KERNEL_VERSION
- #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,2)
- struct inode vfs_inode;
- #endif
-+#endif
- };
-
- #endif /* _JFFS2_FS_I */
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-default-brightness.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-default-brightness.patch
deleted file mode 100644
index 10d0f80b7f..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-default-brightness.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/drivers/video/corgi_backlight.c~reduce-default-brightness-on-corgi
-+++ linux/drivers/video/corgi_backlight.c
-@@ -65,7 +65,7 @@
- static int is_corgibl_pm = 0;
-
- #define CORGI_LIGHT_SETTING 7 // range setting : 0(OFF) dim 1 2 3 4 5(MAX)
--#define CORGI_LIGHT_DEFAULT 6
-+#define CORGI_LIGHT_DEFAULT 3
- static int is_corgibl_blank = 0;
- int counter_step_contrast = CORGI_LIGHT_DEFAULT;
- static corgibl_limit = CORGI_LIGHT_SETTING - 1;
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-fbcon-logo.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-fbcon-logo.patch
deleted file mode 100644
index 4d3b42445b..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/corgi-fbcon-logo.patch
+++ /dev/null
@@ -1,281 +0,0 @@
---- linux/drivers/video/w100fb.c 2004-11-04 12:44:29.000000000 -0600
-+++ linux/drivers/video/w100fb.c~corgi.patch 2004-11-04 12:50:27.000000000 -0600
-@@ -982,6 +982,17 @@
- #endif
- #endif
-
-+#ifdef CONFIG_ARCH_SHARP_SL_E // English message
-+#include "corgiLogoMsg.c"
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+static int logo_msg_xoff __initdata = 400;
-+static int logo_msg_yoff __initdata = 100;
-+#else
-+static int logo_msg_xoff __initdata = 120;
-+static int logo_msg_yoff __initdata = 500;
-+#endif
-+#endif
-+
- #endif // CONFIG_ARCH_PXA_SHEPHERD
-
- #endif
---- /dev/null 2004-06-13 02:32:19.000000000 +0100
-+++ linux/drivers/video/corgiLogoMsg.c 2004-11-12 19:57:23.000000000 +0000
-@@ -0,0 +1,258 @@
-+/* Logo Screen 16bits RGB(565) data*/
-+#ifndef __initdata
-+#define __initdata
-+#endif
-+
-+static int logo_msg_width __initdata = 30;
-+static int logo_msg_height __initdata = 250;
-+static unsigned short logo_msg_data[] __initdata ={
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xad55,0x7bef,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0xc638,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x738e,0x0020,0x0000,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0x0020,0x528a,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x18c3,0x738e,0x9cf3,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x52aa,0x2104,0x0000,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0x1082,0x18e3,0xef3d,0xffff,0xffff,0xffff,0xffff,0xe73c,0xbdf7,0xdebb,0xffdf,0xffff,0xffff,0xffdf,0x6b6d,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xdebd,0xad17,0x0000,0x5a8c,0xef3e,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bb1,0xc5da,0xd67c,0xffbf,0xffff,0xef7d,0x0000,0x632c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xb558,0x0000,0x6b4e,0xf7bf,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x62ec,0xce1b,0xc5ba,0xce1b,0xffff,0xf7be,0x0000,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xc5fb,0xce1b,0xffff,0x18e3,0x2124,0xf79e,0xffff,0xffdf,0xf77e,0xef7d,0x2945,0x0000,0x10a2,0xe71c,0xdebd,0xc5ba,0xef1e,0x94b2,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xc5ba,0xdebd,0xffff,0x8c71,0x0000,0x2945,0x8430,0x9493,0x6b0e,0x2125,0x0000,0x94b2,0x0020,0x0841,0x526a,0x4209,0x3166,0x0000,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xc5ba,0xdedd,0xffff,0xffff,0x8430,0x0020,0x0000,0x0000,0x0000,0x0000,0x8410,0xffff,0xb596,0x18e3,0x0000,0x0000,0x0000,0x3186,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xcdfb,0xce1b,0xffff,0xffff,0xffff,0xe71c,0x9cd3,0x630d,0x6b4f,0xa4f6,0xffbf,0xffff,0xffff,0xffff,0xbdd8,0x9474,0xc5f9,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xce1b,0xe6fd,0xef3e,0xe6fd,0xce1b,0xc5ba,0xe71d,0xc5da,0xc5db,0xd67c,0xde9c,0xd63c,0xc5ba,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5da,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xe6dd,0xffff,0xef5e,0xcdfb,0xc5ba,0xc5ba,0xc5ba,0xce3b,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xef1e,0xe6dd,0xe71d,0xf79f,0xffff,0xffff,0xffff,0xffff,0xf79f,0xf77e,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x2124,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x4a69,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xf79f,0xffff,0xffff,0x4a69,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xce1b,0xce1b,0xffff,0x4208,0x632c,0x2945,0x0000,0x630c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x1082,0x0841,0xc618,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xd67c,0x2104,0x5aeb,0xe73c,0x2965,0x0000,0x39c7,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7bf,0xdebd,0xffff,0xffff,0xc618,0x0861,0x0861,0x94b2,0xffdf,0xffff,0xffff,0xd67c,0xc5ba,0x18e3,0x5aeb,0xffff,0xf79e,0x5aeb,0x0000,0x0861,0x8c71,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd67c,0xc5ba,0xe71d,0xffff,0xffff,0xc638,0x18e3,0x0000,0x18c3,0x6b6d,0x9494,0xc5fa,0xce1b,0x18c3,0x526a,0xffff,0xffff,0xffff,0xad55,0x10a2,0x0000,0x2124,0xef7d,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xc5fb,0xc5db,0xf77e,0xffff,0xffff,0xf79e,0x8410,0x18e3,0x0000,0x0000,0x0000,0x0861,0x0000,0x4209,0xd63c,0xffbf,0xffff,0xffff,0xef7d,0x738e,0x39c7,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xc5db,0xc5db,0xe71d,0xffff,0xffff,0xffff,0xffff,0xc618,0x6b0e,0x4209,0x2945,0x0000,0x4a6a,0xc5ba,0xc5db,0xe6fd,0xffff,0xffff,0xffff,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0x9cb5,0x8c13,0xcdfb,0xdebd,0xef5e,0xffdf,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x5aeb,0xef3e,0xc5fb,0xc5ba,0xce1b,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x528a,0xcdfb,0xc5ba,0xc5ba,0xc5ba,0xc5db,0xc5da,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffdf,0xdebd,0xd65c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x5aeb,0xffff,0xf77e,0xe6fd,0xd67c,0xce1b,0xc5ba,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xf7be,0x9492,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf79e,0xef5e,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xffff,0xbdf7,0x2124,0x0000,0x0841,0xef7d,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x528a,0xdefb,0xdefb,0xdefb,0xffdf,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffff,0x8410,0x0020,0x0020,0x6b4d,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x4a49,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5aeb,0xffdf,0x5acb,0x0000,0x18e3,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0xdefb,0x5aeb,0x4228,0x4228,0x4228,0x4228,0x4228,0x31a7,0x20e4,0x2104,0x2104,0x73ae,0x4a6a,0x0000,0x2946,0xbd79,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xd67c,0xf7bf,0xf7bf,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0xffff,0x6b4e,0x0000,0x3187,0xd65b,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd65c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xde9c,0xffff,0x9473,0x0000,0x2105,0xe73d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7bf,0xde9c,0xd65c,0xd65c,0xd65c,0xd65c,0xd65c,0xd65c,0xce1b,0xce1b,0xce1b,0xdebd,0xd67c,0x3166,0x0861,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xce1a,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xd69a,0xffff,0xffff,0xffff,0xef5e,0xc5ba,0xce3b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x4228,0xad55,0xffdf,0xd65c,0xc5fb,0xffbf,0xffff,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xce59,0x2945,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x6b6d,0x2104,0x0000,0x10a2,0x630c,0xad55,0xf79e,0xffff,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xce79,0x0000,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xdebb,0xdefb,0xdefb,0xdefb,0xdefb,0xb5b6,0x6b6d,0x31a6,0x0000,0x0841,0x39c7,0x6b6d,0x1082,0x528a,0xdefb,0xdefb,0xce59,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0x18c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x9493,0x83d1,0x7bb1,0x7bb1,0x8c32,0x94b3,0xa514,0x8430,0x2945,0x0000,0x18e3,0x9492,0x10a2,0x39c7,0x7bb1,0x94b3,0xa514,0x2945,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xf7bf,0xf7bf,0xf7bf,0xf7bf,0xef5e,0xdebd,0xbdb9,0x7b90,0x3187,0x0000,0x10a2,0x734f,0xce3b,0xf7bf,0x2104,0x5acb,0xc5ba,0xe71d,0xffff,0x7bcf,0x0841,0xf79e,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x62ee,0x0000,0x0000,0x20e4,0x7370,0xbd9a,0xc5ba,0xc5ba,0xc5ba,0x18c3,0x4209,0xc5ba,0xdebd,0xffff,0xbdd7,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xef5e,0xef3e,0xef3e,0x8411,0x18e4,0xef3e,0xb577,0x526a,0x9c94,0xc5ba,0xce1b,0xe71d,0x8c33,0x9494,0xef3e,0xce3a,0xb5b7,0xb558,0xb578,0xdefb,0xdedb,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xef1e,0xd65c,0xc5ba,0x0000,0x738e,0xffff,0xffff,0x31a7,0x39c7,0xffff,0xdefb,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x736e,0x0000,0xc5ba,0xce1b,0xe71d,0x0000,0x7bef,0xffff,0xffff,0x31a7,0x39c7,0xffff,0xdefb,0x0000,0x62ec,0x83f1,0x9cf3,0x39c7,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe71d,0xce1b,0xffff,0x7baf,0x0000,0xf77e,0xffff,0xffff,0x0000,0x73af,0xef5e,0xffff,0x4208,0x4208,0xf7bf,0xd6bb,0x0000,0x9cd3,0xf7bf,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0x0000,0x6b2e,0xd65c,0xffff,0x4208,0x3187,0xc5ba,0xacf7,0x0000,0x7bb1,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0x62cd,0x736e,0x7bef,0x0000,0x3187,0x6b2e,0x7bef,0x2104,0x3187,0xdebc,0xce3a,0x0000,0x83f1,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x3187,0xef3e,0xdefb,0x0000,0x8c32,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0x0000,0x6b2e,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x8c32,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xe6dd,0x736e,0x0000,0xc5ba,0xd65c,0xe6dd,0x0000,0x630d,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x8c32,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xc5ba,0x62cd,0x0000,0xc5ba,0xc5ba,0xc5ba,0x0000,0x62cd,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x738f,0xb537,0xdefb,0x528a,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0x0000,0x6b2e,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0xc638,0xbd98,0xd65c,0xffff,0x736e,0x5a8c,0xef3e,0xf79e,0xa514,0x8c32,0x83d1,0xa514,0xa514,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0xe71c,0xc638,0xc5ba,0xe6dd,0xffff,0xffff,0xd65c,0xd65c,0xffff,0xf7bf,0xc5ba,0xe6fd,0xf7bf,0xf7bf,0xd67c,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0xffff,0xffff,0xc5ba,0xe6dd,0xffff,0xffff,0xd65c,0xd65c,0xffff,0xf7bf,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0xdefb,0xdedb,0xf77e,0xffbf,0xffff,0xffff,0xdebd,0xdebd,0xffff,0xffff,0xef3e,0xef3e,0xef3e,0xef3e,0xef3e,0xef5e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xf77e,0xffff,0x5aeb,0x0000,0x39e7,0x8c71,0xbdf7,0xdefb,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x2965,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7bf,0xf7bf,0xffff,0xffff,0xffff,0xe73c,0xb5b6,0x9492,0x7bef,0x630c,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x528a,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xd65c,0xbdd8,0x9493,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0xad75,0xffff,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe71d,0xce3b,0xc5ba,0x2945,0x1082,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x4209,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x736e,0x0000,0xb577,0xde9c,0xde9c,0xd67c,0x9473,0x18e3,0xbdd9,0xde9c,0xde9c,0xde9c,0x4a4a,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf79f,0xef1e,0xffff,0xc618,0x0000,0x8430,0xffff,0xf7be,0x2965,0x528a,0x0000,0xdefb,0xa514,0x73af,0x7bef,0x2965,0x0861,0x738f,0xad75,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd63c,0xcdfb,0xffff,0xffff,0x18e3,0x39e7,0xffff,0x7bcf,0x0000,0x5aeb,0x0000,0xdefb,0x4a6a,0x0000,0x0000,0x0000,0x0000,0x0000,0x8410,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xf79e,0xffff,0x73ae,0x0000,0xbdb7,0x0020,0x4a69,0xa514,0x0000,0xdefb,0x4a6a,0x10a3,0xdefb,0x4a69,0x10a3,0xce3a,0xd69a,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xe6fd,0xffff,0xdefb,0x0000,0x10a2,0x0000,0xce59,0x9493,0x0000,0xc5f9,0x4a2a,0x18c3,0xe6dd,0x52ab,0x18c3,0xef3e,0xdefb,0x0000,0x39c7,0x5aeb,0xdedb,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xcdfb,0xd65c,0xffff,0xe6dd,0x39c8,0x0000,0x3187,0xf7bf,0x8c32,0x0000,0xacf7,0x4209,0x18c3,0xc5ba,0x528a,0x18c3,0xef3e,0xdefb,0x0000,0x0000,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xf79e,0xc5db,0x630d,0x0000,0x62ed,0xf7bf,0x8c32,0x0000,0xd6bb,0x4a4a,0x18c3,0xf7bf,0x5acb,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5ba,0xcdfb,0xbd9a,0x1082,0x0000,0x1082,0xef7e,0x8c32,0x0000,0xdefb,0x4a6a,0x18c3,0xffff,0x5acb,0x18c3,0xd65c,0xbdb8,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd67c,0xc5ba,0x8411,0x0000,0x6b4d,0x0000,0x8410,0x8c32,0x0000,0xdefb,0x4a6a,0x18c3,0xffff,0x5acb,0x18c3,0xc5ba,0xacf7,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0x39a7,0x1082,0xe6fd,0x4a2a,0x0861,0x736e,0x0000,0xdefb,0x4a6a,0x0020,0x4228,0x18c3,0x0020,0x39e8,0x94b2,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xc5fb,0xb558,0x0000,0x5acb,0xef3e,0xb559,0x2104,0x0020,0x0000,0xdefb,0x62ed,0x18c3,0x2104,0x0861,0x0000,0x18e4,0x8c71,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0x9452,0x0000,0x9493,0xef3e,0xc5ba,0xce59,0x0841,0x0000,0xdefb,0xde9c,0xce1b,0xffff,0x5acb,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5fb,0x5aeb,0x0000,0xb558,0xe6fd,0xc5ba,0xf7bf,0xa515,0x62ed,0xc5fa,0xcdfb,0xc5db,0xd65c,0x528a,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffdf,0xc5da,0xde9c,0x5aeb,0x2124,0xce1b,0xc5db,0xc5ba,0xf7bf,0xdebd,0xce1b,0xce1b,0xc5db,0xc5da,0xce1b,0x7bcf,0x4209,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xef3e,0xffff,0xef7d,0xf79f,0xc5db,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xf7bf,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffdf,0xffff,0xffff,0xffff,0xf77e,0xe6dd,0xffdf,0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xf7bf,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xffff,0xffff,0xffff,0xef5d,0x9cd3,0x7bef,0xa534,0xef7d,0xffff,0xe6fd,0xde9c,0xffff,0xf7bf,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffdf,0xffff,0xffff,0xffff,0xad55,0x0861,0x0000,0x0000,0x0000,0x1082,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x2104,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0841,0x1082,0xa534,0xdefb,0xad75,0x2965,0x0000,0x94b2,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x6b4e,0x0000,0xa535,0xffdf,0xffff,0xffff,0xf79e,0x2965,0x0841,0xdefb,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5db,0x4209,0x0000,0xbd9a,0xc5fb,0xef1e,0xffff,0xffff,0xd69a,0x0000,0x630c,0xe71d,0xce1b,0xffbf,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5db,0xc5fb,0x83f0,0x0000,0x4a6a,0x8c32,0x9474,0xb576,0xc638,0xc638,0x3186,0x0861,0xad56,0x9474,0xbdf8,0x630c,0x0000,0xad55,0xc638,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xef5e,0xf79e,0x4a49,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0xffff,0xffff,0xd6ba,0xad75,0x9cd3,0x7bb1,0x8c32,0xa514,0x8430,0x0000,0x528a,0x7bb1,0x9cf3,0x528a,0x0000,0x8c71,0xa514,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xd67c,0xef5e,0xef3d,0xf77e,0xf77e,0xf77e,0xce3b,0xc5db,0xf77e,0xef5e,0x0000,0x5aac,0xc5ba,0xef3e,0x7baf,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5ba,0x4a2a,0x20e4,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x18c3,0x3187,0xc5ba,0xc5ba,0x62cd,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x41e8,0x0841,0xef3e,0xef3e,0xef3e,0xe6fd,0xc5ba,0xde9c,0xef3e,0x18e4,0x39a7,0xc5ba,0xe6fd,0x738f,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xef5d,0xffff,0xffff,0xffff,0xc5ba,0xdebc,0xffff,0x1082,0x4229,0xc5ba,0xf7bf,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0x8c71,0x0000,0xb596,0xffff,0xffff,0xffff,0xce1b,0xd65c,0xdefb,0x0000,0x630d,0xc5ba,0xf7bf,0xe71c,0xc638,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5db,0xffff,0xd69a,0x0000,0x5acb,0xffff,0xffff,0xffff,0xce1b,0xd65c,0x8410,0x0000,0xa515,0xc5ba,0xf7bf,0xffff,0x94b2,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffdf,0xffff,0x2965,0x0020,0xc618,0xffff,0xffff,0xc5fb,0xad57,0x0861,0x2124,0xdebc,0xc5ba,0xf7bf,0x8c71,0x0000,0x39e7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xef5e,0xffff,0xce59,0x0020,0x0861,0x73ae,0x9cf3,0x526b,0x0020,0x0861,0xc638,0xffbf,0xf77e,0x7bef,0x0000,0x2124,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79f,0xc5ba,0xde9c,0xffff,0xffff,0xb5b6,0x2104,0x0000,0x0000,0x0000,0x3186,0xd69a,0xffff,0xffff,0xce5a,0x18a3,0x39e7,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xce3b,0xc5da,0xf77e,0xffff,0xffff,0xffff,0xce39,0x9474,0xb578,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xbd98,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xc5da,0xc5db,0xdedd,0xef3e,0xdebc,0xc5db,0xc5db,0xf77e,0xffff,0xffff,0xe6dd,0xc5ba,0xce1b,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5e,0xce1b,0xc5ba,0xc5ba,0xc5ba,0xd63b,0xf79f,0xd6ba,0xffff,0xffdf,0xcdfb,0xd65c,0xffdf,0xef5d,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79f,0xf77e,0xffbf,0xffff,0x9cd3,0x0020,0xad55,0xffff,0xffbf,0xffff,0xffdf,0x39e7,0x4a69,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc618,0x18c3,0x0000,0x8430,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x3186,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x73ae,0x5aeb,0x5aeb,0x5aeb,0x5acb,0x5aeb,0x5aeb,0x4228,0x0000,0x0000,0x4228,0xe71c,0xffff,0xffdf,0x7bef,0x0000,0x1082,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0x7bef,0xef7d,0xffff,0xbdf7,0x2104,0x0000,0x2965,0xd69a,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xcdfb,0xc5ba,0xe6fd,0xffff,0xffff,0xffff,0xad57,0x2925,0x0000,0x1082,0xd69a,0xffff,0xf7be,0x8410,0x0841,0xdedb,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdebd,0xde9c,0xde9c,0xde9c,0xde9c,0xde9c,0xde9c,0xd65c,0xc5ba,0xc5ba,0xd65c,0xffbf,0xffff,0xffff,0xe6dd,0x83d1,0x39a7,0xe6fd,0xffff,0xffff,0xffff,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x3187,0x7bb1,0xe6dd,0xffdf,0x5aeb,0x2104,0xce1b,0xc5ba,0xa516,0x7bcf,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0x6b0d,0xc5ba,0xc5fb,0x5acb,0x2104,0xffff,0xe6dd,0x7bb1,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa534,0x4228,0xffdf,0x0000,0x7bef,0xef3e,0xd65c,0x5aeb,0x2104,0xffff,0xffff,0x9cf4,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x5aeb,0x0000,0x10a3,0xd6ba,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x2104,0xe6dd,0xffdf,0xa514,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0x39a8,0xc61a,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x18e4,0xc5ba,0xf7bf,0xa514,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xb577,0xa514,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x10a3,0x9474,0xbdf8,0x7bef,0x0000,0xad55,0xc638,0xef7d,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xd67c,0xacf7,0xcdfb,0xf79f,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0x20e4,0x4a4a,0xffbf,0xffff,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x1082,0x7bb1,0x9cf3,0x632c,0x0000,0x8c71,0xa514,0xe73c,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x18e4,0x5aeb,0xffff,0xffff,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xcdfb,0xf77e,0x5aab,0x18e3,0xc5ba,0xef3e,0x9cb3,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xffff,0x2104,0x4228,0xc638,0xc638,0x9474,0xad56,0xc638,0x0000,0x528b,0x9474,0x9474,0x31a7,0x18c3,0xc5ba,0xc5ba,0x7bb1,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x4a69,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x18e3,0xc5ba,0xe6fd,0x9493,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0xf79e,0xa534,0xa514,0xa514,0x7bb1,0x8c52,0xa514,0x0000,0x4209,0x83d1,0xa514,0x39c7,0x18e4,0xc5ba,0xf7bf,0xa514,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xd65c,0xf77e,0xf77e,0xf77e,0xf77e,0xf77e,0xc5ba,0xde9c,0xf77e,0x0000,0x6b2e,0xce1b,0xffff,0x5aeb,0x18e4,0xc5ba,0xf7bf,0xb5b6,0x4228,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd67c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xffff,0xdedb,0xb5b7,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xef3e,0xef3e,0xef3e,0xef3e,0xef3e,0xc5ba,0xd67c,0xef3e,0xef3e,0xd65c,0xce1b,0xffff,0xffff,0xef3e,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc5ba,0xe6dd,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xffff,0xef5e,0xa4d5,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0xad75,0xef5d,0xf79e,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0x0841,0x4a69,0x9cf3,0xe73c,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0x18c3,0x1082,0x0000,0x0000,0x3186,0x5aeb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0xd6bb,0xef5e,0xffff,0xf79e,0x3186,0x0020,0xce79,0xa4f4,0x41e9,0x0841,0x0000,0x0000,0x0861,0x528a,0x9492,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b6d,0x0000,0xbdb8,0xc5ba,0xc5db,0xd67c,0xce5a,0x0861,0x4208,0xf77e,0xc5ba,0xe6fd,0x94b2,0x0000,0x18e3,0x0000,0x0000,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0861,0xdebc,0xc5ba,0xcdfb,0xc5fb,0xc5ba,0x62ed,0x0000,0xa4f5,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xef5d,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xe6dd,0xffbf,0x2965,0x31a6,0xffff,0xce3b,0xc5da,0xf79e,0xef3e,0xce1a,0x0020,0x4209,0xc5ba,0xc5db,0xa4f5,0x0000,0x9cf4,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xf7bf,0x2104,0x4228,0xffff,0xffbf,0xc5db,0xd65c,0xffff,0xffff,0x4229,0x10a2,0xc5ba,0xcdfb,0x9474,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5db,0xffff,0x2104,0x4228,0xffff,0xffff,0xe6dd,0xc5ba,0xf77e,0xffff,0x738e,0x0000,0xb558,0xef3e,0xc5f8,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce3b,0xce3b,0xffff,0x4208,0x18e3,0xffff,0xffff,0xffdf,0xc5db,0xde9c,0xffff,0x7bef,0x0000,0xacf7,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xd65c,0xffff,0x632c,0x0000,0xef5d,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0x6b4d,0x0000,0xb559,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xd65c,0xffff,0xad55,0x0000,0x9cd3,0xffff,0xffff,0xdebd,0xc5ba,0xffdf,0x2124,0x2104,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0xf7be,0x10a2,0x2104,0xf79e,0xffff,0xe6dd,0xc5ba,0xa4f4,0x0000,0x6b4d,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebc,0xc5ba,0xffdf,0xffff,0x9492,0x0000,0x4228,0xdedb,0xde9c,0x83d1,0x0861,0x10a2,0xdedc,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xe71d,0xffff,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x1082,0xc618,0xf77e,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xc5fb,0xce1b,0xffff,0xffff,0xffff,0xbdd7,0x630d,0x4209,0x7bd0,0xef5d,0xffff,0xf77e,0xc5ba,0xef3e,0xe71c,0x7bef,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xd65c,0xf7bf,0xffff,0xef3e,0xc5db,0xc5fb,0xffdf,0xffff,0xffff,0xf77e,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5fb,0xf77e,0xffff,0xe71c,0x8430,0xbdd8,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7e,0xdebd,0xde9c,0xe71d,0xffdf,0xffff,0xe73c,0x18c3,0x0000,0x0020,0xb557,0xf79f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b4d,0x0000,0x73ae,0x0020,0x3186,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xc619,0x0020,0x528a,0xffff,0x7bcf,0x0000,0x94b2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xcdfb,0x41e9,0x0000,0xc639,0xffff,0xf7be,0x2104,0x1082,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdebc,0x9474,0x0000,0x39c8,0xce3b,0xffff,0xffff,0xb596,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5ba,0x2104,0x0020,0xc5f9,0xc5ba,0xe71d,0xffff,0xffff,0x52aa,0x0000,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd67c,0x62cd,0x0000,0x6b6d,0xffff,0xce1b,0xc5fb,0xffbf,0xffff,0xe71c,0x1082,0x10a2,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0x9cb5,0x0000,0x18c3,0xef7d,0xffff,0xef5e,0xc5ba,0xd67c,0xffff,0xffff,0x94b2,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc5fa,0x2105,0x0000,0xad55,0xffff,0xffff,0xffff,0xd67c,0xc5ba,0xef3e,0xffff,0xffff,0x39c7,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0x524b,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffbf,0xc5fb,0xc5fb,0xffdf,0xffff,0xdedb,0x0841,0x0861,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79f,0x7bb1,0x0000,0x18c3,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xd67c,0xffff,0xffff,0x9492,0x0000,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce3b,0x5acd,0x0020,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5ba,0xef3e,0xffff,0xffff,0x5aeb,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xdebc,0xc5ba,0xd67c,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5db,0xc5db,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xcdfb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xd65c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5da,0xef7e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xde9c,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce79,0x528a,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x73ae,0x0000,0x0000,0x39e7,0xa534,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x5aeb,0x0861,0x0000,0x0861,0x52aa,0xa514,0xe73c,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79e,0xd67c,0xf79f,0xffff,0xffff,0xffff,0xf79e,0xa534,0x52aa,0x0861,0x0000,0x0000,0x2104,0x39c8,0x7bd0,0x8410,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xc5ba,0xd65c,0xef3e,0xffff,0xffff,0xffff,0xffff,0xf7be,0xbdd7,0x7bcf,0x39c7,0x0841,0x0000,0x0000,0x0000,0x0000,0x0000,0x18e3,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xde9c,0xc5db,0xc5ba,0xc5db,0xd67c,0xef3e,0xffdf,0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xbdf8,0x8c51,0x0000,0x4208,0x4a69,0x2945,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd4,0x1082,0x0841,0x528c,0xbd79,0xce1b,0xd67c,0xe6fd,0xe6dd,0xc5ba,0xe6fd,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x0841,0x0020,0x10a2,0x1082,0xd65b,0xd65c,0xc5db,0x9474,0x62cd,0xb559,0xc5ba,0x9474,0x0000,0x94b3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x9cf3,0xffdf,0xbdf7,0xffff,0xffff,0xffff,0x7bf0,0x0000,0x9454,0xd65c,0xa4f5,0x0000,0x94b3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5fb,0x4a29,0x0000,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x0000,0x7bb1,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffbf,0xc5db,0xc5da,0x3187,0x10a3,0xffdf,0xffff,0xffff,0xf77e,0xe6dd,0xffdf,0xce79,0x0000,0x62ed,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xef1e,0x4228,0x2104,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xf77e,0xdefb,0x0000,0x62cd,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0x4228,0x18e3,0xffff,0xffff,0xffff,0xef5e,0xc5ba,0xef3e,0xdefb,0x0000,0x62cd,0xef3e,0xe71c,0x7bef,0xd69a,0xf7be,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0x5acb,0x0000,0xffdf,0xffff,0xffff,0xf79e,0xc5ba,0xe6fd,0xc638,0x0000,0x7370,0xef3e,0xffff,0xe71c,0x630c,0x10a2,0x4a69,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xce1b,0xffff,0x738e,0x0000,0xd69a,0xffff,0xffff,0xf7bf,0xc5ba,0xe6dd,0xad55,0x0000,0x8c12,0xef3e,0xffff,0xf79e,0x1082,0x528a,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0xa534,0x0000,0x94b2,0xffff,0xffff,0xf7bf,0xc5ba,0xe6dd,0x9cf3,0x2104,0xbdd9,0xf79f,0xffff,0xffdf,0xf7be,0xffff,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0xdedb,0x5aeb,0xbdf7,0xffff,0xffff,0xf77e,0xc5ba,0xe71d,0xffff,0xffff,0xffbf,0xde9c,0xc5fb,0xd67c,0xbdf7,0x4a69,0x0020,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xf79f,0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xef5e,0xffff,0xffff,0xffff,0xc5fb,0xd67c,0xef5e,0xa534,0x18e3,0x73ae,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xe71d,0xffff,0xffff,0xffff,0xffff,0xffff,0xef1e,0xce1b,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xde9c,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xd67c,0xc5da,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xa534,0x528a,0x4228,0x738e,0xe71c,0xffff,0xffff,0xffff,0xef3e,0xcdfb,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x0861,0x18c3,0x0000,0x18c3,0xdedb,0xffff,0xffff,0xffff,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x632c,0xf7be,0xffff,0xb5b6,0x0841,0x3186,0xffff,0xffff,0xffff,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0x10a2,0x20e4,0xdebc,0xffbf,0xffff,0xffff,0x73ae,0x0000,0xbdd7,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd67c,0x9474,0x0000,0x7370,0xc5ba,0xcdfb,0xf7bf,0xffff,0xd6ba,0x0000,0x6b6d,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0x7bd0,0x0000,0xd69a,0xef5e,0xc5db,0xce3b,0xffff,0xffff,0x1082,0x4a49,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xcdfb,0xce1b,0x6b6d,0x0000,0xf79e,0xffff,0xdedd,0xc5ba,0xef7e,0xffff,0x2104,0x4228,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xe71d,0x5aeb,0x0000,0xffff,0xffff,0xf7bf,0xc5ba,0xdebd,0xffff,0x10a2,0x4a69,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xf79f,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xc5fb,0xd65c,0xe71c,0x0000,0x6b6d,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xffff,0x6b6d,0x0000,0xe73c,0xffff,0xffff,0xce1b,0xd65c,0x9cd3,0x0000,0xb596,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xdedb,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0x9492,0x0000,0xbdf7,0xffff,0xffff,0xc5fb,0xd67c,0x2965,0x1082,0xf7be,0xc5ba,0xde9c,0xd69a,0x0000,0x0841,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0xbdf7,0x0000,0x8430,0xffff,0xffbf,0xc5ba,0x8c52,0x0000,0x8410,0xf7be,0x7370,0x2945,0x0000,0x0000,0x18c3,0x6b6d,0xb596,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xffdf,0xf7be,0x4228,0x6b4d,0xffff,0xe71d,0xbd79,0x18c3,0x1082,0x6b6d,0x10a2,0x0000,0x0861,0x632d,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xf77e,0xffff,0xffff,0xffff,0xffff,0xce3b,0x5aac,0x0000,0x0000,0x0000,0x2124,0x7370,0xbd9a,0xc5ba,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xe6fd,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0x9cb4,0x0000,0x2945,0x8c33,0xc5ba,0xc5ba,0xcdfb,0xdebd,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xdebc,0xffff,0xffff,0xffff,0xcdfb,0xc5fb,0xdebd,0x9474,0xc5ba,0xc5fb,0xdebc,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xe71d,0xffff,0xffff,0xc5ba,0xde9c,0xffff,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5e,0xc5ba,0xce3b,0xef5e,0xffff,0xffff,0xffff,0xffff,0xc5ba,0xde9c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc5ba,0xde9c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0xb596,0x9cf3,0x7bef,0x7bef,0x736e,0x73af,0xa514,0xad55,0xc638,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x632c,0x18c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x31a6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x0020,0x0000,0x18e3,0x632c,0xa514,0xc638,0xdefb,0xdefb,0xdefb,0xd69a,0xc638,0x9cf3,0x738e,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0020,0x18c3,0x9cd4,0xe6fd,0xe6dd,0xe6dd,0xe6dd,0xe6dd,0xef3e,0xef3e,0xf77e,0xffbf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x8c32,0x0000,0x4a2a,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce3b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5da,0xa4d6,0x0000,0x0000,0x4a49,0xb576,0xef7e,0xf7bf,0xf7bf,0xf79f,0xf77e,0xef1e,0xdebd,0xe6fd,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5da,0xcdfb,0xef3e,0x94b2,0x1082,0x0000,0x0000,0x2104,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xde9c,0xffff,0xffff,0xef7d,0x94b2,0x4208,0x7bcf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79f,0xc5ba,0xc5ba,0xd67c,0xef7e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5fb,0xc5ba,0xc5ba,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xe71d,0xd65c,0xe6dd,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x8410,0x18e3,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xad55,0x52aa,0x0841,0x0000,0x0841,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xd69a,0xbdd7,0x94b2,0x6b4d,0x39c7,0x0020,0x0000,0x0000,0x2104,0x8c51,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0x0000,0x0000,0x0000,0x0000,0x2945,0x630d,0x9c94,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8410,0x4228,0x630c,0x8430,0xad35,0xc5fa,0xc5db,0xc5ba,0xc5db,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xf79f,0xef7e,0xe71d,0xdebc,0xd63c,0xc5da,0xc5ba,0xc5ba,0xce1b,0xe6fd,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xdebd,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0xd65c,0xde9c,0xe6fd,0xef5e,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0x8c51,0x7bef,0x7bef,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xe6dd,0xe6dd,0x8c71,0x7bef,0x7bef,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xe6dd,0xe6dd,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle
deleted file mode 100644
index e318a9f427..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle
+++ /dev/null
@@ -1,1158 +0,0 @@
-#
-# Automatically generated by make menuconfig: don't edit
-#
-CONFIG_ARM=y
-# CONFIG_EISA is not set
-# CONFIG_SBUS is not set
-# CONFIG_MCA is not set
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_GENERIC_BUST_SPINLOCK is not set
-# CONFIG_GENERIC_ISA_DMA is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-# CONFIG_OBSOLETE is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_ANAKIN is not set
-# CONFIG_ARCH_ARCA5K is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_MX1ADS is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_SHARK is not set
-
-#
-# Archimedes/A5000 Implementations
-#
-# CONFIG_ARCH_ARC is not set
-# CONFIG_ARCH_A5K is not set
-
-#
-# Footbridge Implementations
-#
-# CONFIG_ARCH_CATS is not set
-# CONFIG_ARCH_PERSONAL_SERVER is not set
-# CONFIG_ARCH_EBSA285_ADDIN is not set
-# CONFIG_ARCH_EBSA285_HOST is not set
-# CONFIG_ARCH_NETWINDER is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_ASSABET_NEPONSET is not set
-# CONFIG_SA1100_ADSBITSY is not set
-# CONFIG_SA1100_BRUTUS is not set
-# CONFIG_SA1100_CEP is not set
-# CONFIG_SA1100_CERF is not set
-# CONFIG_SA1100_COLLIE is not set
-# CONFIG_LOCOMO is not set
-# CONFIG_COLLIE_TS is not set
-# CONFIG_COLLIE_TR0 is not set
-# CONFIG_COLLIE_TR1 is not set
-# CONFIG_COLLIE_DEV is not set
-# CONFIG_COLLIE_G is not set
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
-# CONFIG_SA1100_H3XXX is not set
-# CONFIG_SA1100_EXTENEX1 is not set
-# CONFIG_SA1100_FLEXANET is not set
-# CONFIG_SA1100_FREEBIRD is not set
-# CONFIG_SA1100_FRODO is not set
-# CONFIG_SA1100_GRAPHICSCLIENT is not set
-# CONFIG_SA1100_GRAPHICSMASTER is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HUW_WEBPANEL is not set
-# CONFIG_SA1100_ITSY is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_NANOENGINE is not set
-# CONFIG_SA1100_OMNIMETER is not set
-# CONFIG_SA1100_PANGOLIN is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_PT_SYSTEM3 is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SHERMAN is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_PFS168 is not set
-# CONFIG_SA1100_VICTOR is not set
-# CONFIG_SA1100_XP860 is not set
-# CONFIG_SA1100_YOPY is not set
-# CONFIG_SA1100_USB is not set
-# CONFIG_SA1100_USB_NETLINK is not set
-# CONFIG_SA1100_USB_CHAR is not set
-# CONFIG_H3600_SLEEVE is not set
-
-#
-# Intel PXA250/210 Implementations
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_PXA_CERF is not set
-# CONFIG_COTULLA_DMA is not set
-# CONFIG_SABINAL_DISCOVERY is not set
-# CONFIG_ARCH_SABINAL is not set
-CONFIG_ARCH_PXA_POODLE=y
-# CONFIG_POODLE_TR0 is not set
-# CONFIG_ARCH_PXA_CORGI is not set
-# CONFIG_CORGI_TR0 is not set
-# CONFIG_CORGI_LCD_BUFF is not set
-# CONFIG_ARCH_PXA_SHEPHERD is not set
-# CONFIG_ARCH_PXA_HUSKY is not set
-# CONFIG_ARCH_PXA_BOXER is not set
-# CONFIG_ARCH_PXA_TOSA is not set
-# CONFIG_ARCH_PXA_TOSA_SKIP is not set
-CONFIG_ARCH_SHARP_SL=y
-CONFIG_SL_CCCR_CHANGE=y
-CONFIG_SL_CCCR242=y
-CONFIG_ARCH_SHARP_SL_E=y
-# CONFIG_ARCH_SHARP_SL_V is not set
-# CONFIG_ARCH_SHARP_SL_G is not set
-# CONFIG_ARCH_SHARP_SL_J is not set
-# CONFIG_ARCH_SHARP_SL_S is not set
-# CONFIG_ARCH_SHARP_SL_I is not set
-# CONFIG_PXA_USB is not set
-# CONFIG_PXA_USB_NETLINK is not set
-# CONFIG_PXA_USB_CHAR is not set
-
-#
-# CLPS711X/EP721X Implementations
-#
-# CONFIG_ARCH_AUTCPU12 is not set
-# CONFIG_ARCH_CDB89712 is not set
-# CONFIG_ARCH_CLEP7312 is not set
-# CONFIG_ARCH_EDB7211 is not set
-# CONFIG_ARCH_P720T is not set
-# CONFIG_ARCH_FORTUNET is not set
-# CONFIG_ARCH_EP7211 is not set
-# CONFIG_ARCH_EP7212 is not set
-# CONFIG_ARCH_ACORN is not set
-# CONFIG_FOOTBRIDGE is not set
-# CONFIG_FOOTBRIDGE_HOST is not set
-# CONFIG_FOOTBRIDGE_ADDIN is not set
-CONFIG_CPU_32=y
-# CONFIG_CPU_26 is not set
-# CONFIG_CPU_32v3 is not set
-# CONFIG_CPU_32v4 is not set
-# CONFIG_CPU_ARM610 is not set
-# CONFIG_CPU_ARM710 is not set
-# CONFIG_CPU_ARM720T is not set
-# CONFIG_CPU_ARM920T is not set
-# CONFIG_CPU_ARM922T is not set
-# CONFIG_PLD is not set
-# CONFIG_CPU_ARM926T is not set
-# CONFIG_CPU_ARM1020 is not set
-# CONFIG_CPU_SA110 is not set
-# CONFIG_CPU_SA1100 is not set
-CONFIG_CPU_32v5=y
-CONFIG_CPU_XSCALE=y
-CONFIG_BATT=y
-CONFIG_XSCALE_CACHE_ERRATA=y
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_FCSE=y
-# CONFIG_DISCONTIGMEM is not set
-# CONFIG_PREEMPT is not set
-
-#
-# General setup
-#
-# CONFIG_PCI is not set
-# CONFIG_ISA is not set
-# CONFIG_ISA_DMA is not set
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_HOTPLUG=y
-
-#
-# PCMCIA/CardBus support
-#
-CONFIG_PCMCIA=y
-# CONFIG_I82092 is not set
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-# CONFIG_PCMCIA_CLPS6700 is not set
-# CONFIG_PCMCIA_SA1100 is not set
-CONFIG_PCMCIA_PXA=y
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_PM=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-CONFIG_APM_CPU_IDLE=y
-CONFIG_APM_DISPLAY_BLANK=y
-CONFIG_APM_RTC_IS_GMT=y
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="<see .oe file>"
-# CONFIG_SHARPSL_BOOTLDR_PARAMS is not set
-CONFIG_ALIGNMENT_TRAP=y
-CONFIG_FREEPG_SIGNAL=y
-CONFIG_OOM_KILL_SURVIVAL=y
-CONFIG_DEVICEINFO=m
-CONFIG_POODLE_DEVICEINFO=m
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_GEN_PROBE is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_LUBBOCK is not set
-# CONFIG_MTD_NORA is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_CDB89712 is not set
-# CONFIG_MTD_SA1100 is not set
-# CONFIG_MTD_DC21285 is not set
-# CONFIG_MTD_IQ80310 is not set
-# CONFIG_MTD_FORTUNET is not set
-# CONFIG_MTD_PXA_CERF is not set
-# CONFIG_MTD_EPXA10DB is not set
-# CONFIG_MTD_AUTCPU12 is not set
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_DISCOVERY is not set
-CONFIG_MTD_SHARP_SL=y
-# CONFIG_MTD_PCI is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDROM_SA1100 is not set
-# CONFIG_MTD_MTDRAM_SA1100 is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_MTDRAM_SHARP_SL is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_ECC=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_POST_BADBLOCK=y
-# CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
-CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
-CONFIG_MTD_NAND_PAGE_CACHE=y
-CONFIG_MTD_NAND_SHARP_SL_POODLE=y
-CONFIG_MTD_NAND_SHARP_SL=y
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_INITRD=y
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_FILTER=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_IP_NF_CONNTRACK is not set
-# CONFIG_IP_NF_QUEUE is not set
-# CONFIG_IP_NF_IPTABLES is not set
-# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_IPSEC is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
-# CONFIG_SUNLANCE is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_NET_PCI is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=y
-# CONFIG_PPP_SYNC_TTY is not set
-# CONFIG_PPP_DEFLATE is not set
-CONFIG_PPP_BSDCOMP=y
-CONFIG_PPP_MPPE=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-# CONFIG_STRIP is not set
-# CONFIG_WAVELAN is not set
-# CONFIG_ARLAN is not set
-# CONFIG_AIRONET4500 is not set
-# CONFIG_AIRONET4500_NONCS is not set
-# CONFIG_AIRONET4500_PROC is not set
-# CONFIG_HERMES is not set
-# CONFIG_PCMCIA_HERMES is not set
-# CONFIG_AIRO_CS is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-# CONFIG_SHAPER is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# PCMCIA network device support
-#
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=y
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_ARCNET_COM20020_CS is not set
-# CONFIG_PCMCIA_IBMTR is not set
-# CONFIG_NET_PCMCIA_RADIO is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-CONFIG_IRDA=y
-# CONFIG_IRLAN is not set
-CONFIG_IRNET=m
-CONFIG_IRCOMM=y
-# CONFIG_IRDA_ULTRA is not set
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-CONFIG_IRTTY_SIR=y
-# CONFIG_IRPORT_SIR is not set
-# CONFIG_DONGLE is not set
-# CONFIG_USB_IRDA is not set
-# CONFIG_NSC_FIR is not set
-# CONFIG_WINBOND_FIR is not set
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VLSI_FIR is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-CONFIG_IDE=y
-
-#
-# IDE, ATA and ATAPI Block devices
-#
-CONFIG_BLK_DEV_IDE=y
-# CONFIG_BLK_DEV_HD_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_IDEDISK=y
-# CONFIG_IDEDISK_MULTI_MODE is not set
-# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
-# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
-# CONFIG_BLK_DEV_IDEDISK_IBM is not set
-# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
-# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
-# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
-# CONFIG_BLK_DEV_IDEDISK_WD is not set
-# CONFIG_BLK_DEV_COMMERIAL is not set
-# CONFIG_BLK_DEV_TIVO is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_BLK_DEV_CMD640 is not set
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_ISAPNP is not set
-# CONFIG_IDE_CHIPSETS is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_DMA_NONPCI is not set
-# CONFIG_BLK_DEV_IDE_MODES is not set
-# CONFIG_BLK_DEV_ATARAID is not set
-# CONFIG_BLK_DEV_ATARAID_PDC is not set
-# CONFIG_BLK_DEV_ATARAID_HPT is not set
-
-#
-# SCSI support
-#
-# CONFIG_SCSI is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-CONFIG_INPUT=m
-CONFIG_INPUT_KEYBDEV=m
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-CONFIG_INPUT_UINPUT=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_SERIAL=y
-# CONFIG_SERIAL_CONSOLE is not set
-CONFIG_SERIAL_SL_SERIES=y
-# CONFIG_SL_TS_PRESSURE is not set
-# CONFIG_BOOT_PRESSURE_ON is not set
-# CONFIG_SL7X0_POWER_KEY_OFF is not set
-# CONFIG_BOOT_POWER_KEY_OFF is not set
-# CONFIG_SL_3BUTTON_PATCH is not set
-# CONFIG_BOOT_3BUTTON_PATCH_ON is not set
-# CONFIG_SL_WRITE_TS is not set
-# CONFIG_BLUETOOTH_SL is not set
-# CONFIG_KBD_DEV_FILE is not set
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
-# CONFIG_SERIAL_AMBA is not set
-# CONFIG_SERIAL_AMBA_CONSOLE is not set
-# CONFIG_SERIAL_CLPS711X is not set
-# CONFIG_SERIAL_CLPS711X_CONSOLE is not set
-# CONFIG_SERIAL_21285 is not set
-# CONFIG_SERIAL_21285_OLD is not set
-# CONFIG_SERIAL_21285_CONSOLE is not set
-# CONFIG_SERIAL_UART00 is not set
-# CONFIG_SERIAL_UART00_CONSOLE is not set
-# CONFIG_SERIAL_SA1100 is not set
-# CONFIG_SERIAL_SA1100_CONSOLE is not set
-# CONFIG_SERIAL_8250 is not set
-# CONFIG_SERIAL_8250_CONSOLE is not set
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_MANY_PORTS is not set
-# CONFIG_SERIAL_8250_SHARE_IRQ is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-# CONFIG_SERIAL_8250_MULTIPORT is not set
-# CONFIG_SERIAL_8250_HUB6 is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# L3 serial bus support
-#
-# CONFIG_L3 is not set
-# CONFIG_L3_ALGOBIT is not set
-# CONFIG_L3_BIT_SA1100_GPIO is not set
-# CONFIG_L3_SA1111 is not set
-# CONFIG_BIT_SA1100_GPIO is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-# CONFIG_INPUT_NS558 is not set
-# CONFIG_INPUT_LIGHTNING is not set
-# CONFIG_INPUT_PCIGAME is not set
-# CONFIG_INPUT_CS461X is not set
-# CONFIG_INPUT_EMU10K1 is not set
-# CONFIG_INPUT_SERIO is not set
-# CONFIG_INPUT_SERPORT is not set
-# CONFIG_INPUT_ANALOG is not set
-# CONFIG_INPUT_A3D is not set
-# CONFIG_INPUT_ADI is not set
-# CONFIG_INPUT_COBRA is not set
-# CONFIG_INPUT_GF2K is not set
-# CONFIG_INPUT_GRIP is not set
-# CONFIG_INPUT_INTERACT is not set
-# CONFIG_INPUT_TMDC is not set
-# CONFIG_INPUT_SIDEWINDER is not set
-# CONFIG_INPUT_IFORCE_USB is not set
-# CONFIG_INPUT_IFORCE_232 is not set
-# CONFIG_INPUT_WARRIOR is not set
-# CONFIG_INPUT_MAGELLAN is not set
-# CONFIG_INPUT_SPACEORB is not set
-# CONFIG_INPUT_SPACEBALL is not set
-# CONFIG_INPUT_STINGER is not set
-# CONFIG_INPUT_DB9 is not set
-# CONFIG_INPUT_GAMECON is not set
-# CONFIG_INPUT_TURBOGRAFX is not set
-# CONFIG_QIC02_TAPE is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_INTEL_RNG is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-CONFIG_COTULLA_RTC=y
-CONFIG_ADS7846_TS=y
-# CONFIG_TOSA_TS is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-
-#
-# PCMCIA character devices
-#
-CONFIG_PCMCIA_SERIAL_CS=y
-CONFIG_PCMCIA_CHRDEV=y
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FS_SYNC is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=y
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_NAND=y
-CONFIG_JFFS2_PROC_FS=y
-CONFIG_JFFS2_NODEMERGE=y
-CONFIG_JFFS2_DYNFRAGTREE=y
-CONFIG_CRAMFS=y
-CONFIG_TMPFS=y
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-CONFIG_MINIX_FS=y
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-CONFIG_SUNRPC=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_POSIX=y
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-CONFIG_ZLIB_FS_INFLATE=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-CONFIG_SMB_NLS=y
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-CONFIG_NLS_CODEPAGE_932=y
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Console drivers
-#
-CONFIG_PC_KEYMAP=y
-# CONFIG_VGA_CONSOLE is not set
-
-#
-# Frame-buffer support
-#
-CONFIG_FB=y
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_UNICON is not set
-# CONFIG_FB_COLLIE is not set
-# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
-# CONFIG_FB_CLPS711X is not set
-# CONFIG_FB_SA1100 is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_COTULLA is not set
-CONFIG_FB_POODLE=y
-CONFIG_POODLE_CONSISTENT_ALLOC=y
-# CONFIG_FB_CORGI is not set
-# CONFIG_FB_TOSA is not set
-# CONFIG_SHARP_LOGO_SCREEN is not set
-# CONFIG_SL_SYSCLK100 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FBCON_ADVANCED=y
-# CONFIG_FBCON_MFB is not set
-# CONFIG_FBCON_CFB2 is not set
-# CONFIG_FBCON_CFB4 is not set
-# CONFIG_FBCON_CFB8 is not set
-CONFIG_FBCON_CFB16=y
-# CONFIG_FBCON_CFB24 is not set
-# CONFIG_FBCON_CFB32 is not set
-# CONFIG_FBCON_AFB is not set
-# CONFIG_FBCON_ILBM is not set
-# CONFIG_FBCON_IPLAN2P2 is not set
-# CONFIG_FBCON_IPLAN2P4 is not set
-# CONFIG_FBCON_IPLAN2P8 is not set
-# CONFIG_FBCON_MAC is not set
-# CONFIG_FBCON_VGA_PLANES is not set
-# CONFIG_FBCON_VGA is not set
-# CONFIG_FBCON_HGA is not set
-CONFIG_FBCON_ROTATE_R=y
-# CONFIG_FBCON_ROTATE_L is not set
-# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-CONFIG_FBCON_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_5x8 is not set
-CONFIG_FONT_4x6=y
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-# CONFIG_SOUND_BT878 is not set
-# CONFIG_SOUND_COLLIE_SSP is not set
-# CONFIG_SOUND_COLLIE_TC35143 is not set
-# CONFIG_SOUND_CMPCI is not set
-# CONFIG_SOUND_EMU10K1 is not set
-# CONFIG_MIDI_EMU10K1 is not set
-# CONFIG_SOUND_FUSION is not set
-# CONFIG_SOUND_CS4281 is not set
-# CONFIG_SOUND_ES1370 is not set
-# CONFIG_SOUND_ES1371 is not set
-# CONFIG_SOUND_ESSSOLO1 is not set
-# CONFIG_SOUND_MAESTRO is not set
-# CONFIG_SOUND_MAESTRO3 is not set
-# CONFIG_SOUND_ICH is not set
-# CONFIG_SOUND_RME96XX is not set
-# CONFIG_SOUND_SONICVIBES is not set
-# CONFIG_SOUND_TRIDENT is not set
-# CONFIG_SOUND_MSNDCLAS is not set
-# CONFIG_SOUND_MSNDPIN is not set
-# CONFIG_SOUND_VIA82CXXX is not set
-# CONFIG_MIDI_VIA82CXXX is not set
-# CONFIG_SOUND_OSS is not set
-# CONFIG_SOUND_WAVEARTIST is not set
-# CONFIG_SOUND_PXA_AC97 is not set
-CONFIG_SOUND_POODLE=y
-# CONFIG_SOUND_CORGI is not set
-# CONFIG_SOUND_TOSA is not set
-# CONFIG_BUZZER_TOSA is not set
-# CONFIG_SOUND_TVMIXER is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-# CONFIG_MCP is not set
-# CONFIG_MCP_SA1100 is not set
-# CONFIG_MCP_UCB1200 is not set
-# CONFIG_MCP_UCB1200_AUDIO is not set
-# CONFIG_MCP_UCB1200_TS is not set
-# CONFIG_MCP_UCB1400_TS is not set
-
-#
-# USB support
-#
-CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_LONG_TIMEOUT is not set
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-# CONFIG_USB_OHCI is not set
-# CONFIG_USB_OHCI_SA1111 is not set
-# CONFIG_USB_OHCI_TC6393 is not set
-# CONFIG_USB_USE_INTERNAL_MEMORY is not set
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_STORAGE is not set
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_HP8200e is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_HID is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-# CONFIG_USB_SERIAL_GENERIC is not set
-# CONFIG_USB_SERIAL_BELKIN is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-# CONFIG_USB_SERIAL_VISOR is not set
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_OMNINET is not set
-# CONFIG_USB_RIO500 is not set
-
-#
-# USB Device Support
-#
-CONFIG_USBD=m
-CONFIG_USBD_VENDORID=04DD
-CONFIG_USBD_PRODUCTID=8006
-CONFIG_USBD_PRODUCT_NAME="SL-5600"
-CONFIG_USBD_MANUFACTURER="Sharp"
-# CONFIG_USBD_USE_SERIAL_NUMBER is not set
-CONFIG_USBD_SELFPOWERED=y
-CONFIG_USBD_MONITOR=m
-# CONFIG_USBD_PROCFS is not set
-
-#
-# Network Function
-#
-CONFIG_USBD_NET=m
-CONFIG_USBD_NET_VENDORID=04DD
-CONFIG_USBD_NET_PRODUCTID=8006
-CONFIG_USBD_NET_IFNAME="usbd"
-CONFIG_USBD_NET_OUT_ENDPOINT=1
-CONFIG_USBD_NET_OUT_PKTSIZE=64
-CONFIG_USBD_NET_IN_ENDPOINT=2
-CONFIG_USBD_NET_IN_PKTSIZE=64
-CONFIG_USBD_NET_INT_ENDPOINT=3
-CONFIG_USBD_NET_INT_PKTSIZE=16
-# CONFIG_USBD_NET_ALWAYSUP is not set
-# CONFIG_USBD_NET_SAFE is not set
-CONFIG_USBD_NET_MDLM=y
-# CONFIG_USBD_NET_CDC is not set
-CONFIG_USBD_NET_REMOTE_MACADDR="400001000002"
-CONFIG_USBD_NET_REMOTE_OUI=400002
-CONFIG_USBD_MAC_AS_SERIAL_NUMBER=y
-CONFIG_USBD_NET_LOCAL_MACADDR="400001000001"
-CONFIG_USBD_NET_LOCAL_OUI=400001
-
-#
-# Serial Function
-#
-# CONFIG_USBD_SERIAL is not set
-
-#
-# Mass Storage Function
-#
-CONFIG_USBD_STORAGE=m
-CONFIG_USBD_STORAGE_VENDORID=0000
-CONFIG_USBD_STORAGE_PRODUCTID=0000
-CONFIG_USBD_STORAGE_OUT_ENDPOINT=1
-CONFIG_USBD_STORAGE_OUT_PKTSIZE=64
-CONFIG_USBD_STORAGE_IN_ENDPOINT=2
-CONFIG_USBD_STORAGE_IN_PKTSIZE=64
-CONFIG_USBD_STORAGE_INT_ENDPOINT=3
-CONFIG_USBD_STORAGE_INT_PKTSIZE=16
-CONFIG_USBD_STORAGE_DEF_DEVICE_NAME="/dev/hda1"
-
-#
-# USB Device Bus Interface Support
-#
-CONFIG_USBD_PXA_BUS=m
-# CONFIG_USBD_GENERIC_BUS is not set
-
-#
-# Bluetooth support
-#
-CONFIG_BLUEZ=m
-CONFIG_BLUEZ_L2CAP=m
-CONFIG_BLUEZ_SCO=m
-CONFIG_BLUEZ_RFCOMM=m
-CONFIG_BLUEZ_RFCOMM_TTY=y
-CONFIG_BLUEZ_BNEP=m
-CONFIG_BLUEZ_BNEP_MC_FILTER=y
-CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
-# CONFIG_BLUEZ_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BLUEZ_HCIUSB=m
-CONFIG_BLUEZ_HCIUSB_SCO=y
-CONFIG_BLUEZ_HCIUART=m
-CONFIG_BLUEZ_HCIUART_H4=y
-CONFIG_BLUEZ_HCIUART_BCSP=y
-CONFIG_BLUEZ_HCIUART_BCSP_TXCRC=y
-CONFIG_BLUEZ_HCIBFUSB=m
-CONFIG_BLUEZ_HCIDTL1=m
-CONFIG_BLUEZ_HCIBLUECARD=m
-CONFIG_BLUEZ_HCIBTUART=m
-CONFIG_BLUEZ_HCIVHCI=m
-CONFIG_BLUEZ_BT950=m
-
-#
-# Kernel hacking
-#
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_COREDUMP_SIGNAL is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_NO_PGT_CACHE is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_DC21285_PORT is not set
-# CONFIG_DEBUG_CLPS711X_UART2 is not set
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle255 b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle255
deleted file mode 100644
index 5115729ed7..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-poodle255
+++ /dev/null
@@ -1,1158 +0,0 @@
-#
-# Automatically generated by make menuconfig: don't edit
-#
-CONFIG_ARM=y
-# CONFIG_EISA is not set
-# CONFIG_SBUS is not set
-# CONFIG_MCA is not set
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_GENERIC_BUST_SPINLOCK is not set
-# CONFIG_GENERIC_ISA_DMA is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-# CONFIG_OBSOLETE is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_ANAKIN is not set
-# CONFIG_ARCH_ARCA5K is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_MX1ADS is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_SHARK is not set
-
-#
-# Archimedes/A5000 Implementations
-#
-# CONFIG_ARCH_ARC is not set
-# CONFIG_ARCH_A5K is not set
-
-#
-# Footbridge Implementations
-#
-# CONFIG_ARCH_CATS is not set
-# CONFIG_ARCH_PERSONAL_SERVER is not set
-# CONFIG_ARCH_EBSA285_ADDIN is not set
-# CONFIG_ARCH_EBSA285_HOST is not set
-# CONFIG_ARCH_NETWINDER is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_ASSABET_NEPONSET is not set
-# CONFIG_SA1100_ADSBITSY is not set
-# CONFIG_SA1100_BRUTUS is not set
-# CONFIG_SA1100_CEP is not set
-# CONFIG_SA1100_CERF is not set
-# CONFIG_SA1100_COLLIE is not set
-# CONFIG_LOCOMO is not set
-# CONFIG_COLLIE_TS is not set
-# CONFIG_COLLIE_TR0 is not set
-# CONFIG_COLLIE_TR1 is not set
-# CONFIG_COLLIE_DEV is not set
-# CONFIG_COLLIE_G is not set
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
-# CONFIG_SA1100_H3XXX is not set
-# CONFIG_SA1100_EXTENEX1 is not set
-# CONFIG_SA1100_FLEXANET is not set
-# CONFIG_SA1100_FREEBIRD is not set
-# CONFIG_SA1100_FRODO is not set
-# CONFIG_SA1100_GRAPHICSCLIENT is not set
-# CONFIG_SA1100_GRAPHICSMASTER is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HUW_WEBPANEL is not set
-# CONFIG_SA1100_ITSY is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_NANOENGINE is not set
-# CONFIG_SA1100_OMNIMETER is not set
-# CONFIG_SA1100_PANGOLIN is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_PT_SYSTEM3 is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SHERMAN is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_PFS168 is not set
-# CONFIG_SA1100_VICTOR is not set
-# CONFIG_SA1100_XP860 is not set
-# CONFIG_SA1100_YOPY is not set
-# CONFIG_SA1100_USB is not set
-# CONFIG_SA1100_USB_NETLINK is not set
-# CONFIG_SA1100_USB_CHAR is not set
-# CONFIG_H3600_SLEEVE is not set
-
-#
-# Intel PXA250/210 Implementations
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_PXA_CERF is not set
-# CONFIG_COTULLA_DMA is not set
-# CONFIG_SABINAL_DISCOVERY is not set
-# CONFIG_ARCH_SABINAL is not set
-CONFIG_ARCH_PXA_POODLE=y
-# CONFIG_POODLE_TR0 is not set
-# CONFIG_ARCH_PXA_CORGI is not set
-# CONFIG_CORGI_TR0 is not set
-# CONFIG_CORGI_LCD_BUFF is not set
-# CONFIG_ARCH_PXA_SHEPHERD is not set
-# CONFIG_ARCH_PXA_HUSKY is not set
-# CONFIG_ARCH_PXA_BOXER is not set
-# CONFIG_ARCH_PXA_TOSA is not set
-# CONFIG_ARCH_PXA_TOSA_SKIP is not set
-CONFIG_ARCH_SHARP_SL=y
-CONFIG_SL_CCCR_CHANGE=y
-CONFIG_SL_CCCR242=y
-CONFIG_ARCH_SHARP_SL_E=y
-# CONFIG_ARCH_SHARP_SL_V is not set
-# CONFIG_ARCH_SHARP_SL_G is not set
-# CONFIG_ARCH_SHARP_SL_J is not set
-# CONFIG_ARCH_SHARP_SL_S is not set
-# CONFIG_ARCH_SHARP_SL_I is not set
-# CONFIG_PXA_USB is not set
-# CONFIG_PXA_USB_NETLINK is not set
-# CONFIG_PXA_USB_CHAR is not set
-
-#
-# CLPS711X/EP721X Implementations
-#
-# CONFIG_ARCH_AUTCPU12 is not set
-# CONFIG_ARCH_CDB89712 is not set
-# CONFIG_ARCH_CLEP7312 is not set
-# CONFIG_ARCH_EDB7211 is not set
-# CONFIG_ARCH_P720T is not set
-# CONFIG_ARCH_FORTUNET is not set
-# CONFIG_ARCH_EP7211 is not set
-# CONFIG_ARCH_EP7212 is not set
-# CONFIG_ARCH_ACORN is not set
-# CONFIG_FOOTBRIDGE is not set
-# CONFIG_FOOTBRIDGE_HOST is not set
-# CONFIG_FOOTBRIDGE_ADDIN is not set
-CONFIG_CPU_32=y
-# CONFIG_CPU_26 is not set
-# CONFIG_CPU_32v3 is not set
-# CONFIG_CPU_32v4 is not set
-# CONFIG_CPU_ARM610 is not set
-# CONFIG_CPU_ARM710 is not set
-# CONFIG_CPU_ARM720T is not set
-# CONFIG_CPU_ARM920T is not set
-# CONFIG_CPU_ARM922T is not set
-# CONFIG_PLD is not set
-# CONFIG_CPU_ARM926T is not set
-# CONFIG_CPU_ARM1020 is not set
-# CONFIG_CPU_SA110 is not set
-# CONFIG_CPU_SA1100 is not set
-CONFIG_CPU_32v5=y
-CONFIG_CPU_XSCALE=y
-CONFIG_BATT=y
-#CONFIG_XSCALE_CACHE_ERRATA is not set
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_FCSE=y
-# CONFIG_DISCONTIGMEM is not set
-# CONFIG_PREEMPT is not set
-
-#
-# General setup
-#
-# CONFIG_PCI is not set
-# CONFIG_ISA is not set
-# CONFIG_ISA_DMA is not set
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_HOTPLUG=y
-
-#
-# PCMCIA/CardBus support
-#
-CONFIG_PCMCIA=y
-# CONFIG_I82092 is not set
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-# CONFIG_PCMCIA_CLPS6700 is not set
-# CONFIG_PCMCIA_SA1100 is not set
-CONFIG_PCMCIA_PXA=y
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_PM=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-CONFIG_APM_CPU_IDLE=y
-CONFIG_APM_DISPLAY_BLANK=y
-CONFIG_APM_RTC_IS_GMT=y
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="<see .oe file>"
-# CONFIG_SHARPSL_BOOTLDR_PARAMS is not set
-CONFIG_ALIGNMENT_TRAP=y
-CONFIG_FREEPG_SIGNAL=y
-CONFIG_OOM_KILL_SURVIVAL=y
-CONFIG_DEVICEINFO=m
-CONFIG_POODLE_DEVICEINFO=m
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_GEN_PROBE is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_LUBBOCK is not set
-# CONFIG_MTD_NORA is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_CDB89712 is not set
-# CONFIG_MTD_SA1100 is not set
-# CONFIG_MTD_DC21285 is not set
-# CONFIG_MTD_IQ80310 is not set
-# CONFIG_MTD_FORTUNET is not set
-# CONFIG_MTD_PXA_CERF is not set
-# CONFIG_MTD_EPXA10DB is not set
-# CONFIG_MTD_AUTCPU12 is not set
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_DISCOVERY is not set
-CONFIG_MTD_SHARP_SL=y
-# CONFIG_MTD_PCI is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDROM_SA1100 is not set
-# CONFIG_MTD_MTDRAM_SA1100 is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_MTDRAM_SHARP_SL is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_ECC=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_POST_BADBLOCK=y
-# CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
-CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
-CONFIG_MTD_NAND_PAGE_CACHE=y
-CONFIG_MTD_NAND_SHARP_SL_POODLE=y
-CONFIG_MTD_NAND_SHARP_SL=y
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_INITRD=y
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_FILTER=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_IP_NF_CONNTRACK is not set
-# CONFIG_IP_NF_QUEUE is not set
-# CONFIG_IP_NF_IPTABLES is not set
-# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_IPSEC is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
-# CONFIG_SUNLANCE is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_NET_PCI is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=y
-# CONFIG_PPP_SYNC_TTY is not set
-# CONFIG_PPP_DEFLATE is not set
-CONFIG_PPP_BSDCOMP=y
-CONFIG_PPP_MPPE=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-# CONFIG_STRIP is not set
-# CONFIG_WAVELAN is not set
-# CONFIG_ARLAN is not set
-# CONFIG_AIRONET4500 is not set
-# CONFIG_AIRONET4500_NONCS is not set
-# CONFIG_AIRONET4500_PROC is not set
-# CONFIG_HERMES is not set
-# CONFIG_PCMCIA_HERMES is not set
-# CONFIG_AIRO_CS is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-# CONFIG_SHAPER is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# PCMCIA network device support
-#
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=y
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_ARCNET_COM20020_CS is not set
-# CONFIG_PCMCIA_IBMTR is not set
-# CONFIG_NET_PCMCIA_RADIO is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-CONFIG_IRDA=y
-# CONFIG_IRLAN is not set
-CONFIG_IRNET=m
-CONFIG_IRCOMM=y
-# CONFIG_IRDA_ULTRA is not set
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-CONFIG_IRTTY_SIR=y
-# CONFIG_IRPORT_SIR is not set
-# CONFIG_DONGLE is not set
-# CONFIG_USB_IRDA is not set
-# CONFIG_NSC_FIR is not set
-# CONFIG_WINBOND_FIR is not set
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VLSI_FIR is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-CONFIG_IDE=y
-
-#
-# IDE, ATA and ATAPI Block devices
-#
-CONFIG_BLK_DEV_IDE=y
-# CONFIG_BLK_DEV_HD_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_IDEDISK=y
-# CONFIG_IDEDISK_MULTI_MODE is not set
-# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
-# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
-# CONFIG_BLK_DEV_IDEDISK_IBM is not set
-# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
-# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
-# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
-# CONFIG_BLK_DEV_IDEDISK_WD is not set
-# CONFIG_BLK_DEV_COMMERIAL is not set
-# CONFIG_BLK_DEV_TIVO is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_BLK_DEV_CMD640 is not set
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_ISAPNP is not set
-# CONFIG_IDE_CHIPSETS is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_DMA_NONPCI is not set
-# CONFIG_BLK_DEV_IDE_MODES is not set
-# CONFIG_BLK_DEV_ATARAID is not set
-# CONFIG_BLK_DEV_ATARAID_PDC is not set
-# CONFIG_BLK_DEV_ATARAID_HPT is not set
-
-#
-# SCSI support
-#
-# CONFIG_SCSI is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-CONFIG_INPUT=m
-CONFIG_INPUT_KEYBDEV=m
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-CONFIG_INPUT_UINPUT=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_SERIAL=y
-# CONFIG_SERIAL_CONSOLE is not set
-CONFIG_SERIAL_SL_SERIES=y
-# CONFIG_SL_TS_PRESSURE is not set
-# CONFIG_BOOT_PRESSURE_ON is not set
-# CONFIG_SL7X0_POWER_KEY_OFF is not set
-# CONFIG_BOOT_POWER_KEY_OFF is not set
-# CONFIG_SL_3BUTTON_PATCH is not set
-# CONFIG_BOOT_3BUTTON_PATCH_ON is not set
-# CONFIG_SL_WRITE_TS is not set
-# CONFIG_BLUETOOTH_SL is not set
-# CONFIG_KBD_DEV_FILE is not set
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
-# CONFIG_SERIAL_AMBA is not set
-# CONFIG_SERIAL_AMBA_CONSOLE is not set
-# CONFIG_SERIAL_CLPS711X is not set
-# CONFIG_SERIAL_CLPS711X_CONSOLE is not set
-# CONFIG_SERIAL_21285 is not set
-# CONFIG_SERIAL_21285_OLD is not set
-# CONFIG_SERIAL_21285_CONSOLE is not set
-# CONFIG_SERIAL_UART00 is not set
-# CONFIG_SERIAL_UART00_CONSOLE is not set
-# CONFIG_SERIAL_SA1100 is not set
-# CONFIG_SERIAL_SA1100_CONSOLE is not set
-# CONFIG_SERIAL_8250 is not set
-# CONFIG_SERIAL_8250_CONSOLE is not set
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_MANY_PORTS is not set
-# CONFIG_SERIAL_8250_SHARE_IRQ is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-# CONFIG_SERIAL_8250_MULTIPORT is not set
-# CONFIG_SERIAL_8250_HUB6 is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# L3 serial bus support
-#
-# CONFIG_L3 is not set
-# CONFIG_L3_ALGOBIT is not set
-# CONFIG_L3_BIT_SA1100_GPIO is not set
-# CONFIG_L3_SA1111 is not set
-# CONFIG_BIT_SA1100_GPIO is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-# CONFIG_INPUT_NS558 is not set
-# CONFIG_INPUT_LIGHTNING is not set
-# CONFIG_INPUT_PCIGAME is not set
-# CONFIG_INPUT_CS461X is not set
-# CONFIG_INPUT_EMU10K1 is not set
-# CONFIG_INPUT_SERIO is not set
-# CONFIG_INPUT_SERPORT is not set
-# CONFIG_INPUT_ANALOG is not set
-# CONFIG_INPUT_A3D is not set
-# CONFIG_INPUT_ADI is not set
-# CONFIG_INPUT_COBRA is not set
-# CONFIG_INPUT_GF2K is not set
-# CONFIG_INPUT_GRIP is not set
-# CONFIG_INPUT_INTERACT is not set
-# CONFIG_INPUT_TMDC is not set
-# CONFIG_INPUT_SIDEWINDER is not set
-# CONFIG_INPUT_IFORCE_USB is not set
-# CONFIG_INPUT_IFORCE_232 is not set
-# CONFIG_INPUT_WARRIOR is not set
-# CONFIG_INPUT_MAGELLAN is not set
-# CONFIG_INPUT_SPACEORB is not set
-# CONFIG_INPUT_SPACEBALL is not set
-# CONFIG_INPUT_STINGER is not set
-# CONFIG_INPUT_DB9 is not set
-# CONFIG_INPUT_GAMECON is not set
-# CONFIG_INPUT_TURBOGRAFX is not set
-# CONFIG_QIC02_TAPE is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_INTEL_RNG is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-CONFIG_COTULLA_RTC=y
-CONFIG_ADS7846_TS=y
-# CONFIG_TOSA_TS is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-
-#
-# PCMCIA character devices
-#
-CONFIG_PCMCIA_SERIAL_CS=y
-CONFIG_PCMCIA_CHRDEV=y
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FS_SYNC is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=y
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_NAND=y
-CONFIG_JFFS2_PROC_FS=y
-CONFIG_JFFS2_NODEMERGE=y
-CONFIG_JFFS2_DYNFRAGTREE=y
-CONFIG_CRAMFS=y
-CONFIG_TMPFS=y
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-CONFIG_MINIX_FS=y
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-CONFIG_SUNRPC=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_POSIX=y
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-CONFIG_ZLIB_FS_INFLATE=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-CONFIG_SMB_NLS=y
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-CONFIG_NLS_CODEPAGE_932=y
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Console drivers
-#
-CONFIG_PC_KEYMAP=y
-# CONFIG_VGA_CONSOLE is not set
-
-#
-# Frame-buffer support
-#
-CONFIG_FB=y
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_UNICON is not set
-# CONFIG_FB_COLLIE is not set
-# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
-# CONFIG_FB_CLPS711X is not set
-# CONFIG_FB_SA1100 is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_COTULLA is not set
-CONFIG_FB_POODLE=y
-CONFIG_POODLE_CONSISTENT_ALLOC=y
-# CONFIG_FB_CORGI is not set
-# CONFIG_FB_TOSA is not set
-# CONFIG_SHARP_LOGO_SCREEN is not set
-# CONFIG_SL_SYSCLK100 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FBCON_ADVANCED=y
-# CONFIG_FBCON_MFB is not set
-# CONFIG_FBCON_CFB2 is not set
-# CONFIG_FBCON_CFB4 is not set
-# CONFIG_FBCON_CFB8 is not set
-CONFIG_FBCON_CFB16=y
-# CONFIG_FBCON_CFB24 is not set
-# CONFIG_FBCON_CFB32 is not set
-# CONFIG_FBCON_AFB is not set
-# CONFIG_FBCON_ILBM is not set
-# CONFIG_FBCON_IPLAN2P2 is not set
-# CONFIG_FBCON_IPLAN2P4 is not set
-# CONFIG_FBCON_IPLAN2P8 is not set
-# CONFIG_FBCON_MAC is not set
-# CONFIG_FBCON_VGA_PLANES is not set
-# CONFIG_FBCON_VGA is not set
-# CONFIG_FBCON_HGA is not set
-CONFIG_FBCON_ROTATE_R=y
-# CONFIG_FBCON_ROTATE_L is not set
-# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-CONFIG_FBCON_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_5x8 is not set
-CONFIG_FONT_4x6=y
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-# CONFIG_SOUND_BT878 is not set
-# CONFIG_SOUND_COLLIE_SSP is not set
-# CONFIG_SOUND_COLLIE_TC35143 is not set
-# CONFIG_SOUND_CMPCI is not set
-# CONFIG_SOUND_EMU10K1 is not set
-# CONFIG_MIDI_EMU10K1 is not set
-# CONFIG_SOUND_FUSION is not set
-# CONFIG_SOUND_CS4281 is not set
-# CONFIG_SOUND_ES1370 is not set
-# CONFIG_SOUND_ES1371 is not set
-# CONFIG_SOUND_ESSSOLO1 is not set
-# CONFIG_SOUND_MAESTRO is not set
-# CONFIG_SOUND_MAESTRO3 is not set
-# CONFIG_SOUND_ICH is not set
-# CONFIG_SOUND_RME96XX is not set
-# CONFIG_SOUND_SONICVIBES is not set
-# CONFIG_SOUND_TRIDENT is not set
-# CONFIG_SOUND_MSNDCLAS is not set
-# CONFIG_SOUND_MSNDPIN is not set
-# CONFIG_SOUND_VIA82CXXX is not set
-# CONFIG_MIDI_VIA82CXXX is not set
-# CONFIG_SOUND_OSS is not set
-# CONFIG_SOUND_WAVEARTIST is not set
-# CONFIG_SOUND_PXA_AC97 is not set
-CONFIG_SOUND_POODLE=y
-# CONFIG_SOUND_CORGI is not set
-# CONFIG_SOUND_TOSA is not set
-# CONFIG_BUZZER_TOSA is not set
-# CONFIG_SOUND_TVMIXER is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-# CONFIG_MCP is not set
-# CONFIG_MCP_SA1100 is not set
-# CONFIG_MCP_UCB1200 is not set
-# CONFIG_MCP_UCB1200_AUDIO is not set
-# CONFIG_MCP_UCB1200_TS is not set
-# CONFIG_MCP_UCB1400_TS is not set
-
-#
-# USB support
-#
-CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_LONG_TIMEOUT is not set
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-# CONFIG_USB_OHCI is not set
-# CONFIG_USB_OHCI_SA1111 is not set
-# CONFIG_USB_OHCI_TC6393 is not set
-# CONFIG_USB_USE_INTERNAL_MEMORY is not set
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_STORAGE is not set
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_HP8200e is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_HID is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-# CONFIG_USB_SERIAL_GENERIC is not set
-# CONFIG_USB_SERIAL_BELKIN is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-# CONFIG_USB_SERIAL_VISOR is not set
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_OMNINET is not set
-# CONFIG_USB_RIO500 is not set
-
-#
-# USB Device Support
-#
-CONFIG_USBD=m
-CONFIG_USBD_VENDORID=04DD
-CONFIG_USBD_PRODUCTID=8006
-CONFIG_USBD_PRODUCT_NAME="SL-5600"
-CONFIG_USBD_MANUFACTURER="Sharp"
-# CONFIG_USBD_USE_SERIAL_NUMBER is not set
-CONFIG_USBD_SELFPOWERED=y
-CONFIG_USBD_MONITOR=m
-# CONFIG_USBD_PROCFS is not set
-
-#
-# Network Function
-#
-CONFIG_USBD_NET=m
-CONFIG_USBD_NET_VENDORID=04DD
-CONFIG_USBD_NET_PRODUCTID=8006
-CONFIG_USBD_NET_IFNAME="usbd"
-CONFIG_USBD_NET_OUT_ENDPOINT=1
-CONFIG_USBD_NET_OUT_PKTSIZE=64
-CONFIG_USBD_NET_IN_ENDPOINT=2
-CONFIG_USBD_NET_IN_PKTSIZE=64
-CONFIG_USBD_NET_INT_ENDPOINT=3
-CONFIG_USBD_NET_INT_PKTSIZE=16
-# CONFIG_USBD_NET_ALWAYSUP is not set
-# CONFIG_USBD_NET_SAFE is not set
-CONFIG_USBD_NET_MDLM=y
-# CONFIG_USBD_NET_CDC is not set
-CONFIG_USBD_NET_REMOTE_MACADDR="400001000002"
-CONFIG_USBD_NET_REMOTE_OUI=400002
-CONFIG_USBD_MAC_AS_SERIAL_NUMBER=y
-CONFIG_USBD_NET_LOCAL_MACADDR="400001000001"
-CONFIG_USBD_NET_LOCAL_OUI=400001
-
-#
-# Serial Function
-#
-# CONFIG_USBD_SERIAL is not set
-
-#
-# Mass Storage Function
-#
-CONFIG_USBD_STORAGE=m
-CONFIG_USBD_STORAGE_VENDORID=0000
-CONFIG_USBD_STORAGE_PRODUCTID=0000
-CONFIG_USBD_STORAGE_OUT_ENDPOINT=1
-CONFIG_USBD_STORAGE_OUT_PKTSIZE=64
-CONFIG_USBD_STORAGE_IN_ENDPOINT=2
-CONFIG_USBD_STORAGE_IN_PKTSIZE=64
-CONFIG_USBD_STORAGE_INT_ENDPOINT=3
-CONFIG_USBD_STORAGE_INT_PKTSIZE=16
-CONFIG_USBD_STORAGE_DEF_DEVICE_NAME="/dev/hda1"
-
-#
-# USB Device Bus Interface Support
-#
-CONFIG_USBD_PXA_BUS=m
-# CONFIG_USBD_GENERIC_BUS is not set
-
-#
-# Bluetooth support
-#
-CONFIG_BLUEZ=m
-CONFIG_BLUEZ_L2CAP=m
-CONFIG_BLUEZ_SCO=m
-CONFIG_BLUEZ_RFCOMM=m
-CONFIG_BLUEZ_RFCOMM_TTY=y
-CONFIG_BLUEZ_BNEP=m
-CONFIG_BLUEZ_BNEP_MC_FILTER=y
-CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
-# CONFIG_BLUEZ_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BLUEZ_HCIUSB=m
-CONFIG_BLUEZ_HCIUSB_SCO=y
-CONFIG_BLUEZ_HCIUART=m
-CONFIG_BLUEZ_HCIUART_H4=y
-CONFIG_BLUEZ_HCIUART_BCSP=y
-CONFIG_BLUEZ_HCIUART_BCSP_TXCRC=y
-CONFIG_BLUEZ_HCIBFUSB=m
-CONFIG_BLUEZ_HCIDTL1=m
-CONFIG_BLUEZ_HCIBLUECARD=m
-CONFIG_BLUEZ_HCIBTUART=m
-CONFIG_BLUEZ_HCIVHCI=m
-CONFIG_BLUEZ_BT950=m
-
-#
-# Kernel hacking
-#
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_COREDUMP_SIGNAL is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_NO_PGT_CACHE is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_DC21285_PORT is not set
-# CONFIG_DEBUG_CLPS711X_UART2 is not set
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa
deleted file mode 100644
index aa7f25a2a4..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa
+++ /dev/null
@@ -1,1379 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_ARM=y
-# CONFIG_EISA is not set
-# CONFIG_SBUS is not set
-# CONFIG_MCA is not set
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_GENERIC_BUST_SPINLOCK is not set
-# CONFIG_GENERIC_ISA_DMA is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-# CONFIG_OBSOLETE is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_ANAKIN is not set
-# CONFIG_ARCH_ARCA5K is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_MX1ADS is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_SHARK is not set
-
-#
-# Archimedes/A5000 Implementations
-#
-
-#
-# Archimedes/A5000 Implementations (select only ONE)
-#
-# CONFIG_ARCH_ARC is not set
-# CONFIG_ARCH_A5K is not set
-
-#
-# Footbridge Implementations
-#
-# CONFIG_ARCH_CATS is not set
-# CONFIG_ARCH_PERSONAL_SERVER is not set
-# CONFIG_ARCH_EBSA285_ADDIN is not set
-# CONFIG_ARCH_EBSA285_HOST is not set
-# CONFIG_ARCH_NETWINDER is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_ASSABET_NEPONSET is not set
-# CONFIG_SA1100_ADSBITSY is not set
-# CONFIG_SA1100_BRUTUS is not set
-# CONFIG_SA1100_CEP is not set
-# CONFIG_SA1100_CERF is not set
-# CONFIG_SA1100_COLLIE is not set
-# CONFIG_LOCOMO is not set
-# CONFIG_COLLIE_TS is not set
-# CONFIG_COLLIE_TR0 is not set
-# CONFIG_COLLIE_TR1 is not set
-# CONFIG_COLLIE_DEV is not set
-# CONFIG_COLLIE_G is not set
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
-# CONFIG_SA1100_H3XXX is not set
-# CONFIG_SA1100_EXTENEX1 is not set
-# CONFIG_SA1100_FLEXANET is not set
-# CONFIG_SA1100_FREEBIRD is not set
-# CONFIG_SA1100_FRODO is not set
-# CONFIG_SA1100_GRAPHICSCLIENT is not set
-# CONFIG_SA1100_GRAPHICSMASTER is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HUW_WEBPANEL is not set
-# CONFIG_SA1100_ITSY is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_NANOENGINE is not set
-# CONFIG_SA1100_OMNIMETER is not set
-# CONFIG_SA1100_PANGOLIN is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_PT_SYSTEM3 is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SHERMAN is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_PFS168 is not set
-# CONFIG_SA1100_VICTOR is not set
-# CONFIG_SA1100_XP860 is not set
-# CONFIG_SA1100_YOPY is not set
-# CONFIG_SA1100_USB is not set
-# CONFIG_SA1100_USB_NETLINK is not set
-# CONFIG_SA1100_USB_CHAR is not set
-# CONFIG_H3600_SLEEVE is not set
-
-#
-# Intel PXA250/210 Implementations
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_PXA_CERF is not set
-# CONFIG_COTULLA_DMA is not set
-# CONFIG_SABINAL_DISCOVERY is not set
-# CONFIG_ARCH_SABINAL is not set
-# CONFIG_ARCH_PXA_POODLE is not set
-# CONFIG_POODLE_TR0 is not set
-# CONFIG_ARCH_PXA_CORGI is not set
-# CONFIG_CORGI_TR0 is not set
-CONFIG_ARCH_PXA_TOSA=y
-CONFIG_ARCH_PXA_TOSA_SKIP=y
-CONFIG_ARCH_SHARP_SL=y
-CONFIG_SL_CCCR_CHANGE=y
-# CONFIG_SL_CCCR242 is not set
-# CONFIG_SL_CCCR162 is not set
-
-#
-# Language type
-#
-CONFIG_ARCH_SHARP_SL_E=y
-# CONFIG_ARCH_SHARP_SL_V is not set
-# CONFIG_ARCH_SHARP_SL_G is not set
-# CONFIG_ARCH_SHARP_SL_J is not set
-# CONFIG_ARCH_SHARP_SL_S is not set
-# CONFIG_ARCH_SHARP_SL_I is not set
-# CONFIG_PXA_USB is not set
-# CONFIG_PXA_USB_NETLINK is not set
-# CONFIG_PXA_USB_CHAR is not set
-
-#
-# CLPS711X/EP721X Implementations
-#
-# CONFIG_ARCH_AUTCPU12 is not set
-# CONFIG_ARCH_CDB89712 is not set
-# CONFIG_ARCH_CLEP7312 is not set
-# CONFIG_ARCH_EDB7211 is not set
-# CONFIG_ARCH_P720T is not set
-# CONFIG_ARCH_FORTUNET is not set
-# CONFIG_ARCH_EP7211 is not set
-# CONFIG_ARCH_EP7212 is not set
-# CONFIG_ARCH_ACORN is not set
-# CONFIG_FOOTBRIDGE is not set
-# CONFIG_FOOTBRIDGE_HOST is not set
-# CONFIG_FOOTBRIDGE_ADDIN is not set
-CONFIG_CPU_32=y
-# CONFIG_CPU_26 is not set
-
-#
-# Processor Type
-#
-# CONFIG_CPU_32v3 is not set
-# CONFIG_CPU_32v4 is not set
-# CONFIG_CPU_ARM610 is not set
-# CONFIG_CPU_ARM710 is not set
-# CONFIG_CPU_ARM720T is not set
-# CONFIG_CPU_ARM920T is not set
-# CONFIG_CPU_ARM922T is not set
-# CONFIG_PLD is not set
-# CONFIG_CPU_ARM926T is not set
-# CONFIG_CPU_ARM1020 is not set
-# CONFIG_CPU_SA110 is not set
-# CONFIG_CPU_SA1100 is not set
-CONFIG_CPU_32v5=y
-CONFIG_CPU_XSCALE=y
-CONFIG_BATT=y
-# CONFIG_XSCALE_CACHE_ERRATA is not set
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_FCSE=y
-# CONFIG_DISCONTIGMEM is not set
-# CONFIG_PREEMPT is not set
-
-#
-# General setup
-#
-# CONFIG_PCI is not set
-# CONFIG_ISA is not set
-# CONFIG_ISA_DMA is not set
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZWBOOT_ROM_BSS=0
-CONFIG_HOTPLUG=y
-
-#
-# PCMCIA/CardBus support
-#
-CONFIG_PCMCIA=y
-# CONFIG_I82092 is not set
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-# CONFIG_PCMCIA_CLPS6700 is not set
-# CONFIG_PCMCIA_SA1100 is not set
-CONFIG_PCMCIA_PXA=y
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-
-#
-# At least one math emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_PM=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-CONFIG_APM_CPU_IDLE=y
-CONFIG_APM_DISPLAY_BLANK=y
-CONFIG_APM_RTC_IS_GMT=y
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="<see .oe file>"
-# CONFIG_SHARPSL_BOOTLDR_PARAMS is not set
-CONFIG_ALIGNMENT_TRAP=y
-CONFIG_FREEPG_SIGNAL=y
-CONFIG_OOM_KILL_SURVIVAL=y
-CONFIG_DEVICEINFO=m
-CONFIG_CORGI_DEVICEINFO=m
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_GEN_PROBE is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_LUBBOCK is not set
-# CONFIG_MTD_NORA is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_CDB89712 is not set
-# CONFIG_MTD_SA1100 is not set
-# CONFIG_MTD_DC21285 is not set
-# CONFIG_MTD_IQ80310 is not set
-# CONFIG_MTD_FORTUNET is not set
-# CONFIG_MTD_PXA_CERF is not set
-# CONFIG_MTD_EPXA10DB is not set
-# CONFIG_MTD_AUTCPU12 is not set
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_DISCOVERY is not set
-CONFIG_MTD_SHARP_SL=y
-# CONFIG_MTD_PCI is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDROM_SA1100 is not set
-# CONFIG_MTD_MTDRAM_SA1100 is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_MTDRAM_SHARP_SL is not set
-# CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_ECC=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_POST_BADBLOCK=y
-# CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
-CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
-CONFIG_MTD_NAND_PAGE_CACHE=y
-CONFIG_MTD_NAND_SHARP_SL_TC6393=y
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_FILTER=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-CONFIG_SYN_COOKIES=y
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_IP_NF_CONNTRACK is not set
-# CONFIG_IP_NF_QUEUE is not set
-CONFIG_IP_NF_IPTABLES=y
-# CONFIG_IP_NF_MATCH_LIMIT is not set
-# CONFIG_IP_NF_MATCH_MAC is not set
-# CONFIG_IP_NF_MATCH_MARK is not set
-# CONFIG_IP_NF_MATCH_MULTIPORT is not set
-# CONFIG_IP_NF_MATCH_TOS is not set
-# CONFIG_IP_NF_MATCH_AH_ESP is not set
-# CONFIG_IP_NF_MATCH_LENGTH is not set
-# CONFIG_IP_NF_MATCH_TTL is not set
-# CONFIG_IP_NF_MATCH_TCPMSS is not set
-# CONFIG_IP_NF_MATCH_UNCLEAN is not set
-# CONFIG_IP_NF_MATCH_OWNER is not set
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_TARGET_REJECT=y
-# CONFIG_IP_NF_TARGET_MIRROR is not set
-# CONFIG_IP_NF_MANGLE is not set
-CONFIG_IP_NF_TARGET_LOG=y
-# CONFIG_IP_NF_TARGET_ULOG is not set
-# CONFIG_IP_NF_TARGET_TCPMSS is not set
-CONFIG_IPV6=y
-
-#
-# IPv6: Netfilter Configuration
-#
-# CONFIG_IP6_NF_QUEUE is not set
-CONFIG_IP6_NF_IPTABLES=y
-# CONFIG_IP6_NF_MATCH_LIMIT is not set
-# CONFIG_IP6_NF_MATCH_MAC is not set
-# CONFIG_IP6_NF_MATCH_MULTIPORT is not set
-# CONFIG_IP6_NF_MATCH_OWNER is not set
-# CONFIG_IP6_NF_MATCH_MARK is not set
-CONFIG_IP6_NF_FILTER=y
-CONFIG_IP6_NF_TARGET_LOG=y
-# CONFIG_IP6_NF_MANGLE is not set
-# CONFIG_KHTTPD is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-
-#
-#
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-CONFIG_IPSEC=m
-
-#
-# IPSec options (Openswan)
-#
-CONFIG_IPSEC_IPIP=y
-CONFIG_IPSEC_AH=y
-# CONFIG_IPSEC_AUTH_HMAC_MD5 is not set
-CONFIG_IPSEC_AUTH_HMAC_SHA1=y
-CONFIG_IPSEC_ESP=y
-CONFIG_IPSEC_ENC_3DES=y
-# CONFIG_IPSEC_ENC_AES is not set
-CONFIG_IPSEC_ALG=y
-CONFIG_IPSEC_IPCOMP=y
-CONFIG_IPSEC_DEBUG=y
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
-# CONFIG_SUNLANCE is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_NET_PCI is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=y
-# CONFIG_PPP_SYNC_TTY is not set
-# CONFIG_PPP_DEFLATE is not set
-CONFIG_PPP_BSDCOMP=y
-CONFIG_PPP_MPPE=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-# CONFIG_STRIP is not set
-# CONFIG_WAVELAN is not set
-# CONFIG_ARLAN is not set
-# CONFIG_AIRONET4500 is not set
-# CONFIG_AIRONET4500_NONCS is not set
-# CONFIG_AIRONET4500_PROC is not set
-# CONFIG_HERMES is not set
-
-#
-# Wireless Pcmcia cards support
-#
-# CONFIG_PCMCIA_HERMES is not set
-# CONFIG_AIRO_CS is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-# CONFIG_SHAPER is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# PCMCIA network device support
-#
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=y
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_ARCNET_COM20020_CS is not set
-# CONFIG_PCMCIA_IBMTR is not set
-# CONFIG_NET_PCMCIA_RADIO is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-CONFIG_IRDA=y
-
-#
-# IrDA protocols
-#
-# CONFIG_IRLAN is not set
-CONFIG_IRNET=m
-CONFIG_IRCOMM=y
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=y
-# CONFIG_IRPORT_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_NSC_FIR is not set
-# CONFIG_WINBOND_FIR is not set
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VLSI_FIR is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-CONFIG_IDE=y
-
-#
-# IDE, ATA and ATAPI Block devices
-#
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_HD_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_IDEDISK=y
-# CONFIG_IDEDISK_MULTI_MODE is not set
-# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
-# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
-# CONFIG_BLK_DEV_IDEDISK_IBM is not set
-# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
-# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
-# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
-# CONFIG_BLK_DEV_IDEDISK_WD is not set
-# CONFIG_BLK_DEV_COMMERIAL is not set
-# CONFIG_BLK_DEV_TIVO is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_CMD640 is not set
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_ISAPNP is not set
-# CONFIG_IDE_CHIPSETS is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_DMA_NONPCI is not set
-# CONFIG_BLK_DEV_IDE_MODES is not set
-# CONFIG_BLK_DEV_ATARAID is not set
-# CONFIG_BLK_DEV_ATARAID_PDC is not set
-# CONFIG_BLK_DEV_ATARAID_HPT is not set
-
-#
-# SCSI support
-#
-CONFIG_SCSI=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_SD_EXTRA_DEVS=40
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_DEBUG_QUEUES is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AHA1740 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_MEGARAID is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_DMA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_NCR53C7xx is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PCI2000 is not set
-# CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_SIM710 is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# PCMCIA SCSI adapter support
-#
-# CONFIG_SCSI_PCMCIA is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_KEYBDEV=y
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-CONFIG_INPUT_UINPUT=y
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_SERIAL=y
-# CONFIG_SERIAL_CONSOLE is not set
-CONFIG_SERIAL_SL_SERIES=y
-CONFIG_BLUETOOTH_SL=y
-# CONFIG_KBD_DEV_FILE is not set
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
-# CONFIG_SERIAL_AMBA is not set
-# CONFIG_SERIAL_AMBA_CONSOLE is not set
-# CONFIG_SERIAL_CLPS711X is not set
-# CONFIG_SERIAL_CLPS711X_CONSOLE is not set
-# CONFIG_SERIAL_21285 is not set
-# CONFIG_SERIAL_21285_OLD is not set
-# CONFIG_SERIAL_21285_CONSOLE is not set
-# CONFIG_SERIAL_UART00 is not set
-# CONFIG_SERIAL_UART00_CONSOLE is not set
-# CONFIG_SERIAL_SA1100 is not set
-# CONFIG_SERIAL_SA1100_CONSOLE is not set
-# CONFIG_SERIAL_8250 is not set
-# CONFIG_SERIAL_8250_CONSOLE is not set
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_MANY_PORTS is not set
-# CONFIG_SERIAL_8250_SHARE_IRQ is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-# CONFIG_SERIAL_8250_MULTIPORT is not set
-# CONFIG_SERIAL_8250_HUB6 is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# L3 serial bus support
-#
-# CONFIG_L3 is not set
-# CONFIG_L3_ALGOBIT is not set
-# CONFIG_L3_BIT_SA1100_GPIO is not set
-
-#
-# Other L3 adapters
-#
-# CONFIG_L3_SA1111 is not set
-# CONFIG_BIT_SA1100_GPIO is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-# CONFIG_INPUT_NS558 is not set
-# CONFIG_INPUT_LIGHTNING is not set
-# CONFIG_INPUT_PCIGAME is not set
-# CONFIG_INPUT_CS461X is not set
-# CONFIG_INPUT_EMU10K1 is not set
-# CONFIG_INPUT_SERIO is not set
-# CONFIG_INPUT_SERPORT is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_ANALOG is not set
-# CONFIG_INPUT_A3D is not set
-# CONFIG_INPUT_ADI is not set
-# CONFIG_INPUT_COBRA is not set
-# CONFIG_INPUT_GF2K is not set
-# CONFIG_INPUT_GRIP is not set
-# CONFIG_INPUT_INTERACT is not set
-# CONFIG_INPUT_TMDC is not set
-# CONFIG_INPUT_SIDEWINDER is not set
-# CONFIG_INPUT_IFORCE_USB is not set
-# CONFIG_INPUT_IFORCE_232 is not set
-# CONFIG_INPUT_WARRIOR is not set
-# CONFIG_INPUT_MAGELLAN is not set
-# CONFIG_INPUT_SPACEORB is not set
-# CONFIG_INPUT_SPACEBALL is not set
-# CONFIG_INPUT_STINGER is not set
-# CONFIG_INPUT_DB9 is not set
-# CONFIG_INPUT_GAMECON is not set
-# CONFIG_INPUT_TURBOGRAFX is not set
-# CONFIG_QIC02_TAPE is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_INTEL_RNG is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-CONFIG_COTULLA_RTC=y
-# CONFIG_ADS7846_TS is not set
-CONFIG_TOSA_TS=y
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-# these shouldnt be here
-CONFIG_TOSA_POWER_KEY_OFF=y
-CONFIG_BOOT_TOSA_POWER_KEY_OFF=y
-CONFIG_SL7X0_POWER_KEY_OFF=y
-CONFIG_BOOT_POWER_KEY_OFF=y
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-
-#
-# PCMCIA character devices
-#
-CONFIG_PCMCIA_SERIAL_CS=y
-CONFIG_PCMCIA_CHRDEV=y
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FS_SYNC is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=y
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_NAND=y
-CONFIG_JFFS2_PROC_FS=y
-CONFIG_JFFS2_NODEMERGE=y
-CONFIG_JFFS2_DYNFRAGTREE=y
-CONFIG_CRAMFS=y
-CONFIG_TMPFS=y
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-CONFIG_MINIX_FS=y
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-CONFIG_SUNRPC=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_POSIX=y
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-CONFIG_ZLIB_FS_INFLATE=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-CONFIG_SMB_NLS=y
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-CONFIG_NLS_CODEPAGE_932=y
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Console drivers
-#
-CONFIG_PC_KEYMAP=y
-# CONFIG_VGA_CONSOLE is not set
-
-#
-# Frame-buffer support
-#
-CONFIG_FB=y
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_UNICON is not set
-# CONFIG_FB_COLLIE is not set
-# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
-# CONFIG_FB_CLPS711X is not set
-# CONFIG_FB_SA1100 is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_COTULLA is not set
-# CONFIG_FB_POODLE is not set
-# CONFIG_FB_CORGI is not set
-CONFIG_FB_TOSA=y
-# CONFIG_SHARP_LOGO_SCREEN is not set
-# CONFIG_SL_SYSCLK100 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FBCON_ADVANCED=y
-# CONFIG_FBCON_MFB is not set
-# CONFIG_FBCON_CFB2 is not set
-# CONFIG_FBCON_CFB4 is not set
-# CONFIG_FBCON_CFB8 is not set
-CONFIG_FBCON_CFB16=y
-# CONFIG_FBCON_CFB24 is not set
-# CONFIG_FBCON_CFB32 is not set
-# CONFIG_FBCON_AFB is not set
-# CONFIG_FBCON_ILBM is not set
-# CONFIG_FBCON_IPLAN2P2 is not set
-# CONFIG_FBCON_IPLAN2P4 is not set
-# CONFIG_FBCON_IPLAN2P8 is not set
-# CONFIG_FBCON_MAC is not set
-# CONFIG_FBCON_VGA_PLANES is not set
-# CONFIG_FBCON_VGA is not set
-# CONFIG_FBCON_HGA is not set
-# CONFIG_FBCON_ROTATE_R is not set
-# CONFIG_FBCON_ROTATE_L is not set
-# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-CONFIG_FBCON_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-# CONFIG_SOUND_BT878 is not set
-# CONFIG_SOUND_COLLIE_SSP is not set
-# CONFIG_SOUND_COLLIE_TC35143 is not set
-# CONFIG_SOUND_CMPCI is not set
-# CONFIG_SOUND_EMU10K1 is not set
-# CONFIG_MIDI_EMU10K1 is not set
-# CONFIG_SOUND_FUSION is not set
-# CONFIG_SOUND_CS4281 is not set
-# CONFIG_SOUND_ES1370 is not set
-# CONFIG_SOUND_ES1371 is not set
-# CONFIG_SOUND_ESSSOLO1 is not set
-# CONFIG_SOUND_MAESTRO is not set
-# CONFIG_SOUND_MAESTRO3 is not set
-# CONFIG_SOUND_ICH is not set
-# CONFIG_SOUND_RME96XX is not set
-# CONFIG_SOUND_SONICVIBES is not set
-# CONFIG_SOUND_TRIDENT is not set
-# CONFIG_SOUND_MSNDCLAS is not set
-# CONFIG_SOUND_MSNDPIN is not set
-# CONFIG_SOUND_VIA82CXXX is not set
-# CONFIG_MIDI_VIA82CXXX is not set
-# CONFIG_SOUND_OSS is not set
-# CONFIG_SOUND_WAVEARTIST is not set
-# CONFIG_SOUND_PXA_AC97 is not set
-# CONFIG_SOUND_POODLE is not set
-# CONFIG_SOUND_CORGI is not set
-CONFIG_SOUND_TOSA=y
-CONFIG_BUZZER_TOSA=y
-# CONFIG_SOUND_TVMIXER is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-# CONFIG_MCP is not set
-# CONFIG_MCP_SA1100 is not set
-# CONFIG_MCP_UCB1200 is not set
-# CONFIG_MCP_UCB1200_AUDIO is not set
-# CONFIG_MCP_UCB1200_TS is not set
-# CONFIG_MCP_UCB1400_TS is not set
-
-#
-# USB support
-#
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_LONG_TIMEOUT is not set
-
-#
-# USB Controllers
-#
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-# CONFIG_USB_OHCI is not set
-# CONFIG_USB_OHCI_SA1111 is not set
-CONFIG_USB_OHCI_TC6393=m
-CONFIG_USB_USE_INTERNAL_MEMORY=y
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_BLUETOOTH is not set
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-CONFIG_USB_STORAGE_ISD200=y
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_HP8200e is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-CONFIG_USB_ACM=m
-# CONFIG_USB_PRINTER is not set
-
-#
-# USB Human Interface Devices (HID)
-#
-CONFIG_USB_HID=m
-# CONFIG_USB_HIDDEV is not set
-CONFIG_USB_KBD=m
-CONFIG_USB_MOUSE=m
-# CONFIG_USB_WACOM is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-
-#
-# Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network adaptors
-#
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-# CONFIG_USB_SERIAL_GENERIC is not set
-# CONFIG_USB_SERIAL_BELKIN is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-# CONFIG_USB_SERIAL_VISOR is not set
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_OMNINET is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_RIO500 is not set
-
-#
-# USB Device Support
-#
-CONFIG_USBD=m
-CONFIG_USBD_VENDORID=04DD
-CONFIG_USBD_PRODUCTID=9032
-CONFIG_USBD_PRODUCT_NAME="SL-6000"
-CONFIG_USBD_MANUFACTURER="Sharp"
-# CONFIG_USBD_USE_SERIAL_NUMBER is not set
-CONFIG_USBD_SELFPOWERED=y
-CONFIG_USBD_MONITOR=m
-
-#
-#
-#
-CONFIG_USBD_PROCFS=y
-
-#
-# USB Device functions
-#
-
-#
-# Network Function
-#
-CONFIG_USBD_NET=m
-CONFIG_USBD_NET_VENDORID=04DD
-CONFIG_USBD_NET_PRODUCTID=9032
-CONFIG_USBD_NET_IFNAME="usbd"
-CONFIG_USBD_NET_OUT_ENDPOINT=1
-CONFIG_USBD_NET_OUT_PKTSIZE=64
-CONFIG_USBD_NET_IN_ENDPOINT=2
-CONFIG_USBD_NET_IN_PKTSIZE=64
-CONFIG_USBD_NET_INT_ENDPOINT=3
-CONFIG_USBD_NET_INT_PKTSIZE=16
-# CONFIG_USBD_NET_ALWAYSUP is not set
-# CONFIG_USBD_NET_SAFE is not set
-CONFIG_USBD_NET_MDLM=y
-# CONFIG_USBD_NET_CDC is not set
-CONFIG_USBD_NET_REMOTE_MACADDR="400002000001"
-CONFIG_USBD_NET_REMOTE_OUI=400002
-CONFIG_USBD_MAC_AS_SERIAL_NUMBER=y
-CONFIG_USBD_NET_LOCAL_MACADDR="400001000001"
-CONFIG_USBD_NET_LOCAL_OUI=400001
-
-#
-# Serial Function
-#
-# CONFIG_USBD_SERIAL is not set
-
-#
-# Mass Storage Function
-#
-CONFIG_USBD_STORAGE=m
-CONFIG_USBD_STORAGE_VENDORID=0000
-CONFIG_USBD_STORAGE_PRODUCTID=0000
-CONFIG_USBD_STORAGE_OUT_ENDPOINT=1
-CONFIG_USBD_STORAGE_OUT_PKTSIZE=64
-CONFIG_USBD_STORAGE_IN_ENDPOINT=2
-CONFIG_USBD_STORAGE_IN_PKTSIZE=64
-CONFIG_USBD_STORAGE_INT_ENDPOINT=3
-CONFIG_USBD_STORAGE_INT_PKTSIZE=16
-CONFIG_USBD_STORAGE_DEF_DEVICE_NAME=""
-
-#
-# USB Device bus interfaces
-#
-
-#
-# USB Device Bus Interface Support
-#
-CONFIG_USBD_PXA_BUS=m
-# CONFIG_USBD_GENERIC_BUS is not set
-
-#
-# Bluetooth support
-#
-CONFIG_BLUEZ=y
-CONFIG_BLUEZ_L2CAP=y
-CONFIG_BLUEZ_SCO=y
-CONFIG_BLUEZ_RFCOMM=y
-CONFIG_BLUEZ_RFCOMM_TTY=y
-CONFIG_BLUEZ_BNEP=y
-CONFIG_BLUEZ_BNEP_MC_FILTER=y
-CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
-# CONFIG_BLUEZ_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BLUEZ_HCIUSB=m
-CONFIG_BLUEZ_HCIUSB_SCO=y
-CONFIG_BLUEZ_HCIUART=y
-CONFIG_BLUEZ_HCIUART_H4=y
-CONFIG_BLUEZ_HCIUART_BCSP=y
-CONFIG_BLUEZ_HCIUART_BCSP_TXCRC=y
-CONFIG_BLUEZ_HCIBFUSB=m
-CONFIG_BLUEZ_HCIDTL1=m
-CONFIG_BLUEZ_HCIBLUECARD=m
-CONFIG_BLUEZ_HCIBTUART=m
-CONFIG_BLUEZ_HCIVHCI=m
-CONFIG_BLUEZ_BT950=m
-
-#
-# Kernel hacking
-#
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_COREDUMP_SIGNAL is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_NO_PGT_CACHE is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_DC21285_PORT is not set
-# CONFIG_DEBUG_CLPS711X_UART2 is not set
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/deviceinfo.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/deviceinfo.patch
deleted file mode 100644
index 58343c5b55..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/deviceinfo.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- linux/arch/arm/mach-pxa/Makefile.old 2004-09-24 20:49:09.000000000 +0930
-+++ linux/arch/arm/mach-pxa/Makefile 2004-09-24 20:49:11.000000000 +0930
-@@ -94,6 +94,23 @@
- endif
- endif
-
-+ifeq ($(CONFIG_DEVICEINFO),m)
-+ obj-$(CONFIG_DEVICEINFO) += devinfo.o
-+ ifeq ($(CONFIG_SABINAL_DISCOVERY),y)
-+ devinfo-objs-m += deviceinfo.o
-+ devinfo-objs-$(CONFIG_DISCOVERY_DEVICEINFO) += discovery_deviceinfo.o
-+ endif
-+ ifeq ($(CONFIG_ARCH_PXA_POODLE),y)
-+ devinfo-objs-m += sharpsl_deviceinfo.o
-+ endif
-+ ifeq ($(CONFIG_ARCH_PXA_CORGI),y)
-+ devinfo-objs-m += sharpsl_deviceinfo.o
-+ endif
-+ ifeq ($(CONFIG_ARCH_PXA_TOSA),y)
-+ devinfo-objs-m += sharpsl_deviceinfo.o
-+ endif
-+endif
-+
- obj-m += registers.o
-
- include $(TOPDIR)/Rules.make
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/disable-pcmcia-probe.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/disable-pcmcia-probe.patch
deleted file mode 100644
index 79ba036323..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/disable-pcmcia-probe.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux/drivers/pcmcia/Config.in~disable-pcmcia-probe 2003-05-13 11:18:23.000000000 +0200
-+++ linux/drivers/pcmcia/Config.in 2004-05-27 13:59:50.000000000 +0200
-@@ -15,9 +15,6 @@
- tristate 'PCMCIA/CardBus support' CONFIG_PCMCIA
- if [ "$CONFIG_PCMCIA" != "n" ]; then
- # yes, I really mean the following...
-- if [ "$CONFIG_ISA" = "y" -o "$CONFIG_ARCH_SA1100" = "y" ]; then
-- define_bool CONFIG_PCMCIA_PROBE y
-- fi
- if [ "$CONFIG_PCI" != "n" ]; then
- bool ' CardBus support' CONFIG_CARDBUS
- fi
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/dumb-hack-for-wlan-ng.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/dumb-hack-for-wlan-ng.patch
deleted file mode 100644
index 2c412fdbb3..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/dumb-hack-for-wlan-ng.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/arch/arm/tools/Makefile~dumb-hack-for-wlan-ng
-+++ linux/arch/arm/tools/Makefile
-@@ -16,7 +16,7 @@
- # any errors that occur along the way.
-
- constants.h: constants-hdr getconstants.c
-- $(CC) $(CFLAGS) -S -o $@.tmp.1 getconstants.c
-+ arm-linux-gcc-2.95 $(CFLAGS) -S -o $@.tmp.1 getconstants.c
- sed 's/^\(#define .* \)[#$$]\(.*\)/\1\2/;/^#define/!d' $@.tmp.1 > $@.tmp.2
- cat constants-hdr $@.tmp.2 > $@
- $(RM) $@.tmp*
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch
deleted file mode 100644
index b1ea85018b..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/drivers/char/corgi_keyb.c~enable-sysrq
-+++ linux/drivers/char/corgi_keyb.c
-@@ -23,7 +23,7 @@
- #include <linux/init.h>
- #include <linux/poll.h>
- #include <linux/wait.h>
--#include <asm/arch/keyboard.h>
-+#include <asm/keyboard.h>
- #include <asm/uaccess.h>
- #include <linux/tqueue.h>
- #include <linux/kbd_ll.h>
-@@ -46,6 +46,18 @@
- #endif
-
- /*
-+ * This is the KeyCode [not ScanCode!] to ASCII Code mapping table
-+ */
-+
-+#ifdef CONFIG_MAGIC_SYSRQ
-+static unsigned char corgi_sysrq_xlate[128] =
-+ "\000abcdefghijklmno" /* 00-0f */
-+ "pqrstuvwxyz\000\000\000\000\000" /* 10-1f */
-+ " \000\000\000\000\000\000\000\0001234567" /* 20-2f */
-+ "890\000\000\000\000\000\000\000\000\000\000\000\000\000"; /* 30-3f */
-+#endif
-+
-+/*
- * common logical driver definition
- */
- extern void sharppda_kbd_press(int keycode);
-@@ -251,7 +263,13 @@
- corgi_wakeup_button_init();
- #endif // USE_WAKEUP_BUTTON
-
-- printk("keyboard initilaized.\n");
-+ printk("keyboard initialized.\n");
-+#ifdef CONFIG_MAGIC_SYSRQ
-+ k_sysrq_key = 0x28; // KEY_HOME
-+ k_sysrq_xlate = corgi_sysrq_xlate;
-+ printk("magic_sysrq initialized.\n");
-+#endif
-+
- }
-
- int corgi_kbd_translate(unsigned char scancode, unsigned char *keycode_p)
---- linux/drivers/char/keyboard.c~enable-sysrq
-+++ linux/drivers/char/keyboard.c
-@@ -366,7 +366,7 @@
- #ifdef CONFIG_MAGIC_SYSRQ /* Handle the SysRq Hack */
- if (keycode == SYSRQ_KEY) {
- sysrq_pressed = !up_flag;
-- goto out;
-+ // goto out;
- } else if (sysrq_pressed) {
- if (!up_flag) {
- handle_sysrq(kbd_sysrq_xlate[keycode], kbd_pt_regs, kbd, tty);
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/fix_tosa_apm.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/fix_tosa_apm.patch
deleted file mode 100644
index 092b0dcf49..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/fix_tosa_apm.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/arch/arm/mach-pxa/sharpsl_apm.c~fix_tosa_apm.patch
-+++ linux/arch/arm/mach-pxa/sharpsl_apm.c
-@@ -254,6 +254,8 @@
- int magic;
- struct apm_user * next;
- int suser: 1;
-+ int reader: 1;
-+ int writer: 1;
- int suspend_wait: 1;
- int suspend_result;
- int suspends_pending;
-@@ -1596,12 +1598,12 @@
- {
- struct apm_user * as;
-
-- DPRINTK("event=%d\n",event);
-+ DPRINTK("event=%d, sender=%p\n",event,sender);
-
- if (user_list == NULL)
- return;
- for (as = user_list; as != NULL; as = as->next) {
-- if (as == sender)
-+ if ((as == sender) || (!as->reader))
- continue;
- as->event_head = (as->event_head + 1) % APM_MAX_EVENTS;
- if (as->event_head == as->event_tail) {
-@@ -1611,8 +1613,8 @@
- as->event_tail = (as->event_tail + 1) % APM_MAX_EVENTS;
- }
- as->events[as->event_head] = event;
-- if (!as->suser)
-- continue;
-+ if ((!as->suser) || (!as->writer))
-+ continue;
- switch (event) {
- case APM_SYS_SUSPEND:
- case APM_USER_SUSPEND:
-@@ -1630,9 +1632,8 @@
- #ifdef SHARPSL_NEW_IDLE
- current->nice = save_nice;
- current->counter = save_counter;
--#else
-- wake_up_interruptible(&apm_waitqueue);
- #endif
-+ wake_up_interruptible(&apm_waitqueue);
- }
-
- static unsigned long get_cmos_time(void)
-@@ -2532,6 +2533,8 @@
- * privileged operation -- cevans
- */
- as->suser = capable(CAP_SYS_ADMIN);
-+ as->writer = (filp->f_mode & FMODE_WRITE) == FMODE_WRITE;
-+ as->reader = (filp->f_mode & FMODE_READ) == FMODE_READ;
- as->next = user_list;
- user_list = as;
- filp->private_data = as;
-@@ -3000,6 +3003,9 @@
- #endif
- #endif
-
-+ suspends_pending = 0;
-+ standbys_pending = 0;
-+
- apm_proc = create_proc_info_entry("apm", 0, NULL, apm_get_info);
- if (apm_proc)
- SET_MODULE_OWNER(apm_proc);
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/idecs.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/idecs.patch
deleted file mode 100644
index 62038c34e2..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/idecs.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- linux/drivers/ide/ide-cs.c 2003-02-28 17:04:00.000000000 -0600
-+++ linux.new/drivers/ide/ide-cs.c 2003-02-28 17:18:53.000000000 -0600
-@@ -2,7 +2,7 @@
-
- A driver for PCMCIA IDE/ATA disk cards
-
-- ide_cs.c 1.26 1999/11/16 02:10:49
-+ ide-cs.c 1.26 1999/11/16 02:10:49
-
- The contents of this file are subject to the Mozilla Public
- License Version 1.1 (the "License"); you may not use this file
-@@ -66,7 +66,7 @@
- MODULE_PARM(pc_debug, "i");
- #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args)
- static char *version =
--"ide_cs.c 1.26 1999/11/16 02:10:49 (David Hinds)";
-+"ide-cs.c 1.26 1999/11/16 02:10:49 (David Hinds)";
- #else
- #define DEBUG(n, args...)
- #endif
-@@ -110,7 +110,7 @@
- static int ide_event(event_t event, int priority,
- event_callback_args_t *args);
-
--static dev_info_t dev_info = "ide_cs";
-+static dev_info_t dev_info = "ide-cs";
-
- static dev_link_t *ide_attach(void);
- static void ide_detach(dev_link_t *);
-@@ -356,7 +356,7 @@
- }
-
- if (hd < 0) {
-- printk(KERN_NOTICE "ide_cs: ide_register() at 0x%03x & 0x%03x"
-+ printk(KERN_NOTICE "ide-cs: ide_register() at 0x%03x & 0x%03x"
- ", irq %u failed\n", io_base, ctl_base,
- link->irq.AssignedIRQ);
- goto failed;
-@@ -369,7 +369,7 @@
- info->node.minor = 0;
- info->hd = hd;
- link->dev = &info->node;
-- printk(KERN_INFO "ide_cs: %s: Vcc = %d.%d, Vpp = %d.%d\n",
-+ printk(KERN_INFO "ide-cs: %s: Vcc = %d.%d, Vpp = %d.%d\n",
- info->node.dev_name, link->conf.Vcc/10, link->conf.Vcc%10,
- link->conf.Vpp1/10, link->conf.Vpp1%10);
-
-@@ -409,9 +409,9 @@
- MOD_DEC_USE_COUNT;
- }
-
-- request_region(link->io.BasePort1, link->io.NumPorts1,"ide_cs");
-+ request_region(link->io.BasePort1, link->io.NumPorts1,"ide-cs");
- if (link->io.NumPorts2)
-- request_region(link->io.BasePort2, link->io.NumPorts2,"ide_cs");
-+ request_region(link->io.BasePort2, link->io.NumPorts2,"ide-cs");
-
- info->ndev = 0;
- link->dev = NULL;
-@@ -508,7 +508,7 @@
- DEBUG(0, "%s\n", version);
- CardServices(GetCardServicesInfo, &serv);
- if (serv.Revision != CS_RELEASE_CODE) {
-- printk(KERN_NOTICE "ide_cs: Card Services release "
-+ printk(KERN_NOTICE "ide-cs: Card Services release "
- "does not match!\n");
- return -1;
- }
-@@ -518,7 +518,7 @@
-
- static void __exit exit_ide_cs(void)
- {
-- DEBUG(0, "ide_cs: unloading\n");
-+ DEBUG(0, "ide-cs: unloading\n");
- unregister_pccard_driver(&dev_info);
- while (dev_list != NULL)
- ide_detach(dev_list);
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/initsh.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/initsh.patch
deleted file mode 100644
index a672631194..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/initsh.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- linux/init/main.c 2002-02-25 13:38:13.000000000 -0600
-+++ linux.new/init/main.c 2003-03-16 11:49:45.000000000 -0600
-@@ -830,8 +830,10 @@
- * trying to recover a really broken machine.
- */
-
-- if (execute_command)
-+ if (execute_command) {
-+ argv_init[0] = execute_command;
- execve(execute_command,argv_init,envp_init);
-+ }
- execve("/sbin/init",argv_init,envp_init);
- execve("/etc/init",argv_init,envp_init);
- execve("/bin/init",argv_init,envp_init);
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keyboard-ctrl+alt.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keyboard-ctrl+alt.patch
deleted file mode 100644
index 93a80bae3c..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keyboard-ctrl+alt.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-
-#
-# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux/drivers/char/corgi_rawmap.h~keyboard-ctrl+alt 2003-09-15 14:30:08.000000000 +0200
-+++ linux/drivers/char/corgi_rawmap.h 2003-09-16 00:45:39.000000000 +0200
-@@ -55,7 +55,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_C, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_NormalUpper[(NR_KEYCODES+1)] = {
-@@ -66,7 +66,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_C, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_2ndLower[(NR_KEYCODES+1)] = {
-@@ -77,7 +77,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_C, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_2ndUpper[(NR_KEYCODES+1)] = {
-@@ -88,7 +88,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_PRINTSCREEN, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_NumlockLower[(NR_KEYCODES+1)] = {
-@@ -99,7 +99,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_C, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_NumlockUpper[(NR_KEYCODES+1)] = {
-@@ -110,7 +110,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_C, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_Num2ndLower[(NR_KEYCODES+1)] = {
-@@ -121,7 +121,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_C, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
- static unsigned char rawkeytable_table_Num2ndUpper[(NR_KEYCODES+1)] = {
-@@ -132,7 +132,7 @@
- SLKEY_ACTIVITY, SLKEY_W, SLKEY_S, SLKEY_F, SLKEY_V, SLKEY_H, SLKEY_M, SLKEY_L, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_CONTACTS, SLKEY_A, SLKEY_D, SLKEY_PRINTSCREEN, SLKEY_B, SLKEY_N, SLKEY_PERIOD, KEY_IGN, SLKEY_ENTER, KEY_IGN, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_MAIL, SLKEY_Z, SLKEY_X, SLKEY_MINUS, SLKEY_SPACE, SLKEY_COMMA, KEY_IGN, SLKEY_UP, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-- SLKEY_HOME, SLKEY_KANA, SLKEY_ZENHAN, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+ SLKEY_HOME, SLKEY_LCONTROL, SLKEY_LALT, SLKEY_F9, SLKEY_F4, SLKEY_F2, SLKEY_LEFT, SLKEY_DOWN, SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
- SLKEY_OFF, SLKEY_EXSELECT, SLKEY_EXCANCEL, SLKEY_EXJOGDOWN, SLKEY_EXJOGUP, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN};
-
-
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keymap-more-sane.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keymap-more-sane.patch
deleted file mode 100644
index a58dd13fbd..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/keymap-more-sane.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- linux/drivers/char/corgi_keymap.map~keymap-more-sane 2003-08-30 01:05:14.000000000 +0200
-+++ linux/drivers/char/corgi_keymap.map 2003-09-03 20:44:27.000000000 +0200
-@@ -71,9 +71,11 @@
- # (Cancel:34) F9 -> Escape
- keycode 34 = Escape
- keycode 35 = Left
-+ alt keycode 35 = Decr_Console
- keycode 36 = Up
- keycode 37 = Down
- keycode 38 = Right
-+ alt keycode 38 = Incr_Console
- # (OK:39) F4 -> Return
- keycode 39 = Return
- keycode 40 =
-@@ -100,7 +102,7 @@
- keycode 60 = Shift_Lock
- keycode 61 = at
- keycode 62 = question
--keycode 63 = comma slash
-+keycode 63 = slash comma
- alt keycode 63 = less
- keycode 64 = period question
- alt keycode 64 = greater
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/logo.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/logo.patch
deleted file mode 100644
index fd8084254c..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/logo.patch
+++ /dev/null
@@ -1,2598 +0,0 @@
---- linux/drivers/video/fbcon.c 2003-02-27 21:47:36.000000000 -0600
-+++ linux.new/drivers/video/fbcon.c 2003-02-27 18:39:39.000000000 -0600
-@@ -126,8 +126,8 @@
- #define LOGO_H (320-16)
- #define LOGO_W 240
- #else
--#define LOGO_H 80
--#define LOGO_W 80
-+#define LOGO_H 52
-+#define LOGO_W 240
- #endif
- #define LOGO_LINE (LOGO_W/8)
- #if defined(CONFIG_SHARP_LOGO_SCREEN)
---- linux/include/linux/linux_logo.h 2001-06-11 21:15:27.000000000 -0500
-+++ linux.new/include/linux/linux_logo.h 2003-02-27 15:58:15.000000000 -0600
-@@ -1,4 +1,4 @@
--/* $Id: linux_logo.h,v 1.5 1998/07/30 16:30:58 jj Exp $
-+/* linux_logo.h created with fblogo, 2002/12/29 02:43:36
- * include/linux/linux_logo.h: This is a linux logo
- * to be displayed on boot.
- *
-@@ -7,907 +7,1673 @@
- *
- * You can put anything here, but:
- * LINUX_LOGO_COLORS has to be less than 224
-- * image size has to be 80x80
-- * values have to start from 0x20
-- * (i.e. RGB(linux_logo_red[0],
-- * linux_logo_green[0],
-- * linux_logo_blue[0]) is color 0x20)
-- * BW image has to be 80x80 as well, with MS bit
-- * on the left
-- * Serial_console ascii image can be any size,
-- * but should contain %s to display the version
-+ * Generated by fblogo version 0.5.0
-+ *
-+ *
-+ * Remember to modify drivers/video/fbcon.c:
-+ * Change "#define LOGO_H 80" to "#define LOGO_H 52"
-+ * Change "#define LOGO_W 80" to "#define LOGO_W 240"
- */
-
- #ifndef __HAVE_ARCH_LINUX_LOGO
--#define LINUX_LOGO_COLORS 187
-+#define LINUX_LOGO_COLORS 223
- #endif
--
- #ifdef INCLUDE_LINUX_LOGO_DATA
--
- #ifndef __HAVE_ARCH_LINUX_LOGO
--
- unsigned char linux_logo_red[] __initdata = {
-- 0x00, 0x06, 0x0a, 0x0e, 0x16, 0x1a, 0x1e, 0x22,
-- 0x12, 0x00, 0x2a, 0x36, 0x42, 0x4e, 0x4a, 0x56,
-- 0x26, 0x46, 0x2e, 0x32, 0x52, 0x3a, 0x02, 0x65,
-- 0x5e, 0x3e, 0x74, 0x8a, 0xa2, 0x9a, 0x86, 0xc6,
-- 0xc3, 0x65, 0xbb, 0xd2, 0xda, 0xd6, 0xe2, 0xf6,
-- 0xfd, 0xae, 0x7b, 0xdd, 0xea, 0x6a, 0xaa, 0xe7,
-- 0xbe, 0x5a, 0xee, 0x9e, 0x95, 0x80, 0x76, 0x79,
-- 0x62, 0x36, 0x9a, 0xe2, 0xec, 0xe1, 0xb8, 0xd7,
-- 0xaf, 0x25, 0xbc, 0xc0, 0xef, 0xea, 0xe8, 0xe8,
-- 0xf5, 0xf1, 0xda, 0xd3, 0x79, 0xdb, 0xf4, 0xf6,
-- 0xf6, 0xf6, 0xe2, 0x3d, 0xb4, 0xce, 0xe6, 0xee,
-- 0xf6, 0x68, 0xd8, 0xec, 0xf5, 0xc6, 0xc8, 0x9c,
-- 0x89, 0xd2, 0xee, 0xcb, 0xb9, 0xd2, 0x66, 0x5e,
-- 0x8b, 0xbe, 0xa8, 0xd5, 0xca, 0xb6, 0xae, 0x9c,
-- 0xc5, 0xbe, 0xbe, 0xca, 0x90, 0xb2, 0x9a, 0xa8,
-- 0xb6, 0xf2, 0xce, 0xfa, 0xb2, 0x6e, 0xa6, 0x12,
-- 0x4a, 0x8e, 0xf2, 0xf6, 0xf6, 0xee, 0xb5, 0xe4,
-- 0xf1, 0x26, 0x9a, 0xea, 0xf6, 0xe0, 0xd2, 0x16,
-- 0x9a, 0x2e, 0x70, 0xd6, 0x46, 0x7c, 0xb4, 0x62,
-- 0xd6, 0xa3, 0x74, 0xa7, 0xa2, 0xca, 0xe0, 0xae,
-- 0xbe, 0xce, 0xa3, 0x8e, 0x6d, 0x8e, 0x32, 0xaf,
-- 0x50, 0x9e, 0x5b, 0x8a, 0x98, 0x82, 0x7a, 0x82,
-- 0x56, 0x7c, 0x8a, 0x56, 0x5e, 0x86, 0x6a, 0x52,
-- 0x59, 0x64, 0x5e,
-+ 0x00, 0x02, 0x06, 0x0A, 0x56, 0xA6, 0xBE, 0xBA,
-+ 0xB6, 0x92, 0x3E, 0x1A, 0x8A, 0xF3, 0xFB, 0xEE,
-+ 0xC6, 0x62, 0x4A, 0x12, 0x26, 0x0E, 0x76, 0xDA,
-+ 0x6E, 0x32, 0x8E, 0x1E, 0x2A, 0xCE, 0xE2, 0x36,
-+ 0x66, 0xA2, 0x2E, 0x9E, 0xCA, 0x6A, 0x5A, 0x82,
-+ 0x7E, 0xE9, 0xD2, 0xDE, 0x22, 0x72, 0xAE, 0xD6,
-+ 0x86, 0x3A, 0x52, 0x9A, 0xAA, 0x16, 0x46, 0x4E,
-+ 0x42, 0xC2, 0x96, 0x7A, 0x5E, 0xB2, 0x32, 0x7E,
-+ 0x3A, 0x16, 0x02, 0x02, 0x06, 0x1F, 0x02, 0x02,
-+ 0x06, 0x02, 0x22, 0x3A, 0x35, 0x16, 0x0A, 0x02,
-+ 0x2A, 0x3E, 0x39, 0x32, 0x2A, 0x1E, 0x16, 0x06,
-+ 0x22, 0x22, 0x1E, 0x16, 0x6E, 0x82, 0x6E, 0x2E,
-+ 0x1E, 0x2E, 0x1E, 0x0A, 0x3A, 0xDA, 0xFE, 0xFA,
-+ 0xFA, 0xE2, 0x6A, 0x3A, 0x1A, 0xFA, 0xF6, 0x9E,
-+ 0x02, 0x6E, 0xFE, 0xF6, 0x3E, 0x66, 0x52, 0x1B,
-+ 0xD6, 0x5A, 0xEE, 0xC6, 0x72, 0x36, 0x22, 0x1E,
-+ 0x02, 0x96, 0xF6, 0xDE, 0xA2, 0xD6, 0x39, 0x0E,
-+ 0xAA, 0x52, 0x5A, 0xD2, 0xDE, 0x61, 0x46, 0xDE,
-+ 0x7A, 0x57, 0x9E, 0xBA, 0xB6, 0x4A, 0x5A, 0xA6,
-+ 0x96, 0x23, 0x1E, 0x12, 0x9A, 0x4E, 0x76, 0xAE,
-+ 0x2E, 0xBE, 0x86, 0x48, 0xA6, 0x52, 0x06, 0x2E,
-+ 0x56, 0x13, 0x2A, 0x4A, 0x36, 0x56, 0x2E, 0x1E,
-+ 0x46, 0x3A, 0x66, 0x02, 0x3D, 0x3E, 0x2E, 0x3E,
-+ 0x4A, 0x32, 0x52, 0x72, 0x76, 0x67, 0x68, 0x5A,
-+ 0x3A, 0x1A, 0x0E, 0x2E, 0x4E, 0x02, 0x3E, 0x0A,
-+ 0x28, 0x42, 0x10, 0x26, 0x8E, 0x0A, 0x86, 0xC2,
-+ 0x02, 0x6E, 0x92, 0x02, 0x42, 0x02, 0xBE, 0x4E,
-+ 0x02, 0x22, 0x02, 0x3E, 0x3A, 0x32
- };
-
- unsigned char linux_logo_green[] __initdata = {
-- 0x00, 0x06, 0x0a, 0x0e, 0x16, 0x1a, 0x1e, 0x22,
-- 0x12, 0x00, 0x2a, 0x36, 0x42, 0x4e, 0x4a, 0x56,
-- 0x26, 0x46, 0x2e, 0x32, 0x52, 0x3a, 0x02, 0x65,
-- 0x5e, 0x3e, 0x74, 0x8a, 0xa2, 0x9a, 0x86, 0xc6,
-- 0xc3, 0x62, 0xbb, 0xd2, 0xda, 0xd6, 0xe2, 0xf6,
-- 0xfd, 0xae, 0x7b, 0xdd, 0xea, 0x6a, 0xaa, 0xe7,
-- 0xbe, 0x5a, 0xee, 0x9e, 0x95, 0x80, 0x62, 0x5c,
-- 0x4e, 0x26, 0x72, 0xaa, 0xba, 0xaf, 0x90, 0xae,
-- 0x92, 0x1a, 0xa4, 0x85, 0xb6, 0xbe, 0xc3, 0xc8,
-- 0xcf, 0xd0, 0xc2, 0xce, 0x57, 0xa2, 0xd6, 0xda,
-- 0xda, 0xd7, 0xb8, 0x2a, 0x7b, 0x91, 0xae, 0xca,
-- 0xda, 0x45, 0x9e, 0xb2, 0xd7, 0x9b, 0x90, 0x76,
-- 0x5c, 0xa2, 0xbe, 0xa6, 0x85, 0x96, 0x4e, 0x46,
-- 0x66, 0x92, 0x7a, 0x9a, 0x96, 0x9d, 0x9a, 0x6b,
-- 0x8a, 0x8e, 0xb2, 0xca, 0x90, 0xa6, 0x79, 0x7c,
-- 0xb6, 0xf2, 0xce, 0xfa, 0xb2, 0x6e, 0xa6, 0x0e,
-- 0x36, 0x86, 0xba, 0xbe, 0xe6, 0xcc, 0x8e, 0xb8,
-- 0xc4, 0x1e, 0x8e, 0xae, 0xba, 0xb2, 0xa6, 0x12,
-- 0x7a, 0x20, 0x64, 0xaa, 0x2f, 0x70, 0x85, 0x46,
-- 0xa6, 0x6e, 0x51, 0x72, 0x92, 0xa2, 0xa6, 0x87,
-- 0x96, 0xa2, 0x85, 0x7a, 0x6a, 0x6e, 0x22, 0x76,
-- 0x36, 0x76, 0x3c, 0x6e, 0x63, 0x53, 0x66, 0x62,
-- 0x42, 0x50, 0x56, 0x42, 0x56, 0x56, 0x56, 0x3e,
-- 0x51, 0x52, 0x56,
-+ 0x00, 0x02, 0x06, 0x0A, 0x56, 0xA6, 0xBE, 0xBA,
-+ 0xB6, 0x92, 0x3E, 0x1A, 0x8A, 0xF3, 0xFB, 0xEE,
-+ 0xC6, 0x62, 0x4A, 0x12, 0x26, 0x0E, 0x76, 0xDA,
-+ 0x6E, 0x32, 0x8E, 0x1E, 0x2A, 0xCE, 0xE2, 0x36,
-+ 0x66, 0xA2, 0x2E, 0x9E, 0xCA, 0x6A, 0x5A, 0x82,
-+ 0x7E, 0xE9, 0xD2, 0xDE, 0x22, 0x72, 0xAE, 0xD6,
-+ 0x86, 0x3A, 0x52, 0x9A, 0xAA, 0x16, 0x46, 0x4E,
-+ 0x42, 0xC2, 0x96, 0x7A, 0x5E, 0xB2, 0x2E, 0x7E,
-+ 0x3A, 0x3E, 0x6A, 0xA2, 0x92, 0x30, 0x95, 0x76,
-+ 0x4E, 0x86, 0x36, 0x7E, 0x9A, 0x6E, 0x42, 0x56,
-+ 0x5A, 0xC2, 0xBE, 0xB2, 0xAA, 0x9A, 0x63, 0x1E,
-+ 0xA2, 0x9E, 0x96, 0x5A, 0x3A, 0x42, 0x4A, 0x52,
-+ 0x91, 0x46, 0x4E, 0x62, 0x22, 0x4A, 0x6E, 0x86,
-+ 0x92, 0x9A, 0x52, 0x4A, 0x76, 0x7A, 0x9E, 0x76,
-+ 0x62, 0x32, 0x5E, 0xAE, 0x3E, 0x66, 0x52, 0x81,
-+ 0xA6, 0x5A, 0xEE, 0xC6, 0x72, 0x5C, 0x6A, 0x8A,
-+ 0x36, 0x3E, 0xBA, 0xBA, 0xA2, 0xD6, 0xAA, 0x4E,
-+ 0x8A, 0x4E, 0x5A, 0xD2, 0xDE, 0x64, 0x32, 0x9A,
-+ 0x5E, 0x57, 0x9E, 0xBA, 0xB6, 0x52, 0x62, 0xA6,
-+ 0x9A, 0x47, 0x3E, 0x56, 0x02, 0x1A, 0x76, 0xAE,
-+ 0x4A, 0x02, 0x02, 0x38, 0x02, 0x4A, 0x46, 0x86,
-+ 0x1E, 0x2E, 0x7A, 0xD2, 0x5E, 0x26, 0x92, 0x62,
-+ 0xCA, 0x42, 0x66, 0x26, 0x67, 0xB6, 0x62, 0x92,
-+ 0x9E, 0x72, 0xB2, 0xF2, 0xFE, 0xDE, 0xFE, 0xFE,
-+ 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x8A, 0x2A,
-+ 0x42, 0x52, 0x6A, 0x26, 0x8E, 0x26, 0x86, 0xC2,
-+ 0xE2, 0x6E, 0x92, 0xBE, 0x42, 0xC6, 0xBE, 0x4E,
-+ 0xEE, 0x5A, 0xEA, 0x3E, 0x4A, 0x32
- };
-
- unsigned char linux_logo_blue[] __initdata = {
-- 0x00, 0x06, 0x0a, 0x0e, 0x16, 0x1a, 0x1e, 0x22,
-- 0x12, 0x01, 0x2a, 0x36, 0x42, 0x4e, 0x4a, 0x56,
-- 0x26, 0x46, 0x2e, 0x32, 0x52, 0x3a, 0x06, 0x65,
-- 0x5e, 0x3e, 0x74, 0x8a, 0xa2, 0x9a, 0x86, 0xc6,
-- 0xc3, 0x59, 0xbb, 0xd2, 0xda, 0xd6, 0xe2, 0xf6,
-- 0xfd, 0xae, 0x7b, 0xdd, 0xea, 0x6a, 0xaa, 0xe7,
-- 0xbe, 0x5a, 0xee, 0x9e, 0x95, 0x80, 0x2e, 0x08,
-- 0x0a, 0x06, 0x0a, 0x0b, 0x0b, 0x0f, 0x0c, 0x0f,
-- 0x3d, 0x09, 0x73, 0x09, 0x0d, 0x0a, 0x10, 0x1e,
-- 0x2d, 0x13, 0x86, 0xba, 0x19, 0x0a, 0x36, 0x3c,
-- 0x26, 0x14, 0x0d, 0x06, 0x07, 0x0a, 0x0b, 0x0f,
-- 0x4a, 0x06, 0x0a, 0x0c, 0x2b, 0x0a, 0x0b, 0x0a,
-- 0x06, 0x0a, 0x0a, 0x11, 0x0b, 0x0a, 0x0a, 0x1e,
-- 0x0f, 0x0d, 0x0a, 0x0b, 0x22, 0x6a, 0x72, 0x0b,
-- 0x0b, 0x22, 0x90, 0xca, 0x90, 0x92, 0x3c, 0x2c,
-- 0xb6, 0xf2, 0xce, 0xfa, 0xb2, 0x6e, 0xa6, 0x06,
-- 0x0e, 0x6a, 0x0e, 0x0e, 0xbe, 0x5b, 0x2c, 0x3e,
-- 0x0e, 0x0a, 0x5a, 0x0d, 0x0e, 0x3e, 0x0a, 0x06,
-- 0x2e, 0x06, 0x4e, 0x36, 0x06, 0x58, 0x24, 0x06,
-- 0x3a, 0x08, 0x08, 0x07, 0x5e, 0x45, 0x0a, 0x32,
-- 0x2e, 0x2a, 0x43, 0x48, 0x5f, 0x2e, 0x06, 0x06,
-- 0x07, 0x24, 0x06, 0x32, 0x06, 0x06, 0x46, 0x2e,
-- 0x22, 0x06, 0x06, 0x1e, 0x4c, 0x06, 0x3a, 0x22,
-- 0x42, 0x34, 0x42,
-+ 0x00, 0x02, 0x06, 0x0A, 0x56, 0xA6, 0xBE, 0xBA,
-+ 0xB6, 0x92, 0x3E, 0x1A, 0x8A, 0xF3, 0xFB, 0xEE,
-+ 0xC6, 0x62, 0x4A, 0x12, 0x26, 0x0E, 0x76, 0xDA,
-+ 0x6E, 0x32, 0x8E, 0x1E, 0x2A, 0xCE, 0xE2, 0x36,
-+ 0x66, 0xA2, 0x2E, 0x9E, 0xCA, 0x6A, 0x5A, 0x82,
-+ 0x7E, 0xE9, 0xD2, 0xDE, 0x22, 0x72, 0xAE, 0xD6,
-+ 0x86, 0x3A, 0x52, 0x9A, 0xAA, 0x16, 0x46, 0x4E,
-+ 0x42, 0xC2, 0x96, 0x7A, 0x5E, 0xB2, 0x1A, 0x06,
-+ 0x1A, 0x2A, 0x36, 0x52, 0x46, 0x23, 0x4D, 0x3E,
-+ 0x2A, 0x42, 0x2A, 0x5A, 0x69, 0x42, 0x26, 0x2E,
-+ 0x42, 0x7E, 0x7C, 0x72, 0x6A, 0x5E, 0x3B, 0x12,
-+ 0x62, 0x5E, 0x5A, 0x36, 0x26, 0x1E, 0x26, 0x42,
-+ 0x56, 0x3A, 0x36, 0x36, 0x1E, 0x2E, 0x2A, 0x22,
-+ 0x22, 0x1A, 0x16, 0x42, 0x46, 0x26, 0x1E, 0x12,
-+ 0x32, 0x2A, 0x2E, 0x16, 0x2A, 0x1A, 0x2E, 0x4E,
-+ 0x12, 0x22, 0x02, 0x02, 0x12, 0x4A, 0x46, 0x52,
-+ 0x1E, 0x1E, 0x16, 0x0E, 0x02, 0x02, 0x6F, 0x2E,
-+ 0x0E, 0x1A, 0x06, 0x02, 0x02, 0x04, 0x22, 0x16,
-+ 0x0E, 0x12, 0x02, 0x02, 0x02, 0x0A, 0x5A, 0x02,
-+ 0x02, 0x1B, 0x2E, 0x32, 0x02, 0x02, 0x02, 0x02,
-+ 0x16, 0x02, 0x02, 0x10, 0x02, 0x02, 0x26, 0x5A,
-+ 0x02, 0x1F, 0x52, 0x8E, 0x22, 0x02, 0x5E, 0x3E,
-+ 0x86, 0x0E, 0x16, 0x16, 0x52, 0x7A, 0x4A, 0x66,
-+ 0x72, 0x52, 0x82, 0xB2, 0xBA, 0xA4, 0xB2, 0xAA,
-+ 0x9E, 0x8E, 0x88, 0x96, 0xA6, 0x82, 0x62, 0x1A,
-+ 0x34, 0x4A, 0x31, 0x16, 0x02, 0x1A, 0x02, 0x02,
-+ 0x72, 0x02, 0x02, 0x5E, 0x1A, 0x62, 0x02, 0x0E,
-+ 0x76, 0x1E, 0x76, 0x1E, 0x0A, 0x02
- };
-
- unsigned char linux_logo[] __initdata = {
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x22, 0x22,
-- 0x22, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
-- 0x26, 0x26, 0x25, 0x28, 0x23, 0x22, 0x21, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x21, 0x23, 0x25, 0x2a, 0x2b, 0x2c, 0x2d, 0x2d,
-- 0x2d, 0x2e, 0x2c, 0x2b, 0x2a, 0x25, 0x28, 0x22,
-- 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x24, 0x2a, 0x2c, 0x2f, 0x2c, 0x30, 0x30, 0x24,
-- 0x25, 0x27, 0x2b, 0x2c, 0x2f, 0x31, 0x32, 0x25,
-- 0x23, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x25,
-- 0x33, 0x34, 0x35, 0x21, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x21, 0x2b, 0x2f, 0x2c,
-- 0x30, 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x24, 0x33,
-- 0x2d, 0x27, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x21, 0x31,
-- 0x2d, 0x32, 0x24, 0x21, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x21, 0x28, 0x2a, 0x34,
-- 0x25, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x23, 0x32, 0x27, 0x21, 0x36,
-- 0x2a, 0x2d, 0x2a, 0x28, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x20, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x22, 0x26, 0x2c, 0x35,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x25, 0x2f, 0x37, 0x32, 0x22,
-- 0x36, 0x35, 0x31, 0x27, 0x22, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x23, 0x2a, 0x2f, 0x22,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x26, 0x38, 0x38, 0x35, 0x25,
-- 0x36, 0x21, 0x2d, 0x2b, 0x24, 0x21, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x21, 0x24, 0x39, 0x39, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x25, 0x2b, 0x30, 0x28, 0x22,
-- 0x36, 0x36, 0x27, 0x34, 0x30, 0x23, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x21, 0x26, 0x2d, 0x26, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x22, 0x22, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x2d, 0x33, 0x28, 0x21, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x30, 0x2f, 0x23, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x2b, 0x2c, 0x25, 0x21, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x2a, 0x34, 0x36, 0x36,
-- 0x36, 0x21, 0x22, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x21, 0x23, 0x22, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x28, 0x34, 0x27, 0x22, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x32, 0x2f, 0x36, 0x36,
-- 0x21, 0x21, 0x24, 0x27, 0x21, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x28, 0x27, 0x22, 0x33, 0x24, 0x36,
-- 0x36, 0x36, 0x36, 0x22, 0x2f, 0x2a, 0x23, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x29, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x32, 0x2f, 0x36, 0x36,
-- 0x30, 0x3a, 0x38, 0x24, 0x24, 0x36, 0x36, 0x36,
-- 0x23, 0x2f, 0x3b, 0x3c, 0x3d, 0x30, 0x25, 0x21,
-- 0x36, 0x36, 0x36, 0x36, 0x2f, 0x32, 0x23, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x32, 0x2f, 0x36, 0x23,
-- 0x3e, 0x3f, 0x40, 0x3a, 0x22, 0x36, 0x36, 0x21,
-- 0x41, 0x42, 0x43, 0x44, 0x45, 0x3e, 0x23, 0x21,
-- 0x36, 0x36, 0x36, 0x36, 0x2f, 0x33, 0x28, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x29, 0x20, 0x29, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x32, 0x2f, 0x36, 0x2b,
-- 0x44, 0x40, 0x46, 0x47, 0x35, 0x36, 0x36, 0x26,
-- 0x43, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x2e, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x31, 0x35, 0x24, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x32, 0x34, 0x36, 0x4d,
-- 0x4e, 0x25, 0x2f, 0x46, 0x4a, 0x22, 0x23, 0x32,
-- 0x4f, 0x50, 0x21, 0x31, 0x51, 0x52, 0x53, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x31, 0x35, 0x24, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x29, 0x20, 0x29, 0x29, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x2a, 0x2f, 0x21, 0x3a,
-- 0x4d, 0x21, 0x31, 0x54, 0x55, 0x28, 0x30, 0x2b,
-- 0x4b, 0x4d, 0x36, 0x23, 0x32, 0x50, 0x3f, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x2e, 0x39, 0x24, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x29, 0x20, 0x29, 0x20, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x2a, 0x38, 0x23, 0x37,
-- 0x55, 0x36, 0x28, 0x3a, 0x56, 0x57, 0x57, 0x58,
-- 0x3c, 0x4d, 0x36, 0x36, 0x36, 0x40, 0x40, 0x21,
-- 0x36, 0x36, 0x36, 0x36, 0x2e, 0x39, 0x24, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x29, 0x29, 0x29, 0x20, 0x29, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x30, 0x51, 0x23, 0x35,
-- 0x43, 0x25, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e,
-- 0x5f, 0x60, 0x61, 0x36, 0x31, 0x47, 0x3b, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x31, 0x2c, 0x25, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x30, 0x2f, 0x23, 0x22,
-- 0x40, 0x62, 0x63, 0x5d, 0x64, 0x65, 0x66, 0x67,
-- 0x68, 0x69, 0x66, 0x5e, 0x6a, 0x6b, 0x2a, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x33, 0x2e, 0x26, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x27, 0x2f, 0x23, 0x36,
-- 0x6c, 0x63, 0x6d, 0x64, 0x5c, 0x66, 0x69, 0x6e,
-- 0x6f, 0x70, 0x71, 0x69, 0x69, 0x72, 0x6c, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x33, 0x34, 0x27, 0x22,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x27, 0x34, 0x26, 0x73,
-- 0x74, 0x75, 0x76, 0x64, 0x65, 0x77, 0x69, 0x78,
-- 0x70, 0x71, 0x71, 0x71, 0x72, 0x5f, 0x5e, 0x21,
-- 0x36, 0x36, 0x36, 0x36, 0x25, 0x38, 0x2a, 0x23,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x26, 0x2d, 0x33, 0x79,
-- 0x63, 0x7a, 0x7b, 0x5c, 0x66, 0x69, 0x6e, 0x7c,
-- 0x71, 0x71, 0x69, 0x7d, 0x7e, 0x7a, 0x7f, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x21, 0x51, 0x2b, 0x28,
-- 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x26, 0x2d, 0x32, 0x24,
-- 0x80, 0x81, 0x64, 0x82, 0x77, 0x69, 0x71, 0x71,
-- 0x69, 0x83, 0x84, 0x85, 0x7a, 0x85, 0x86, 0x36,
-- 0x21, 0x2b, 0x23, 0x36, 0x36, 0x39, 0x2e, 0x26,
-- 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x27, 0x2d, 0x33, 0x21,
-- 0x87, 0x88, 0x89, 0x72, 0x67, 0x66, 0x5f, 0x89,
-- 0x8a, 0x63, 0x85, 0x8b, 0x8c, 0x8d, 0x41, 0x36,
-- 0x36, 0x2d, 0x3a, 0x35, 0x36, 0x24, 0x51, 0x32,
-- 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x30, 0x2f, 0x33, 0x21,
-- 0x55, 0x8e, 0x8f, 0x8a, 0x7d, 0x5e, 0x90, 0x7e,
-- 0x75, 0x75, 0x90, 0x62, 0x40, 0x3f, 0x49, 0x23,
-- 0x36, 0x24, 0x3a, 0x3a, 0x24, 0x36, 0x2e, 0x31,
-- 0x26, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x21, 0x28, 0x33, 0x37, 0x25, 0x22,
-- 0x3b, 0x50, 0x8e, 0x8f, 0x90, 0x7e, 0x90, 0x63,
-- 0x74, 0x91, 0x92, 0x42, 0x93, 0x4b, 0x45, 0x2c,
-- 0x36, 0x36, 0x33, 0x39, 0x21, 0x36, 0x22, 0x51,
-- 0x33, 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x22, 0x27, 0x2e, 0x2e, 0x36, 0x21,
-- 0x94, 0x3f, 0x50, 0x95, 0x96, 0x8f, 0x8f, 0x97,
-- 0x8e, 0x42, 0x50, 0x43, 0x47, 0x48, 0x48, 0x98,
-- 0x21, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x39,
-- 0x2e, 0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x22, 0x24, 0x2b, 0x38, 0x28, 0x36, 0x32,
-- 0x4c, 0x4b, 0x50, 0x50, 0x50, 0x42, 0x42, 0x50,
-- 0x50, 0x40, 0x45, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x34, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x23,
-- 0x2f, 0x2b, 0x24, 0x21, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x21, 0x28, 0x32, 0x51, 0x32, 0x28, 0x21, 0x98,
-- 0x48, 0x47, 0x9a, 0x50, 0x50, 0x50, 0x50, 0x50,
-- 0x9a, 0x4f, 0x9b, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x93, 0x23, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x2a, 0x2f, 0x2a, 0x28, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x23, 0x30, 0x2e, 0x2c, 0x36, 0x21, 0x51, 0x9b,
-- 0x48, 0x48, 0x52, 0x3f, 0x50, 0x50, 0x40, 0x4b,
-- 0x47, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x34, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x2d, 0x31, 0x27, 0x23, 0x21, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23,
-- 0x27, 0x2c, 0x2d, 0x21, 0x36, 0x28, 0x44, 0x48,
-- 0x48, 0x48, 0x48, 0x47, 0x46, 0x4f, 0x47, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x9c, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x28, 0x51, 0x39, 0x26, 0x22, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x25,
-- 0x35, 0x51, 0x28, 0x36, 0x36, 0x9d, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x9b, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x4f, 0x28, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x28, 0x38, 0x2b, 0x25, 0x22, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x24, 0x33,
-- 0x51, 0x25, 0x36, 0x36, 0x23, 0x40, 0x9b, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x9b, 0x99, 0x2b, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x30, 0x2f, 0x33, 0x24, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x21, 0x23, 0x30, 0x34,
-- 0x27, 0x36, 0x36, 0x36, 0x2a, 0x40, 0x47, 0x48,
-- 0x48, 0x48, 0x48, 0x9b, 0x99, 0x99, 0x9b, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x9b, 0x47, 0x52,
-- 0x46, 0x4f, 0x37, 0x21, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x30, 0x34, 0x2a, 0x23,
-- 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x22, 0x25, 0x39, 0x2c,
-- 0x36, 0x36, 0x36, 0x21, 0x31, 0x4e, 0x9a, 0x4c,
-- 0x47, 0x9b, 0x9b, 0x52, 0x46, 0x4f, 0x52, 0x9b,
-- 0x9b, 0x9b, 0x47, 0x4f, 0x45, 0x9a, 0x93, 0x93,
-- 0x3f, 0x93, 0x98, 0x28, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x39, 0x2c, 0x26,
-- 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x23, 0x2a, 0x34, 0x28,
-- 0x36, 0x36, 0x36, 0x22, 0x38, 0x98, 0x44, 0x99,
-- 0x9b, 0x48, 0x48, 0x9b, 0x4c, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x47, 0x52, 0x46, 0x43, 0x93,
-- 0x40, 0x40, 0x43, 0x53, 0x21, 0x23, 0x33, 0x23,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x21, 0x2f, 0x32,
-- 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x21, 0x24, 0x2b, 0x31, 0x36,
-- 0x36, 0x22, 0x36, 0x24, 0x9e, 0x4f, 0x9b, 0x48,
-- 0x48, 0x48, 0x48, 0x9b, 0x99, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x47,
-- 0x4f, 0x9a, 0x3f, 0x46, 0x38, 0x36, 0x21, 0x30,
-- 0x26, 0x36, 0x36, 0x36, 0x36, 0x36, 0x39, 0x2c,
-- 0x25, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x22, 0x26, 0x2e, 0x33, 0x36,
-- 0x25, 0x25, 0x36, 0x4d, 0x52, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x47, 0x44, 0x93, 0x43, 0x23, 0x36, 0x36,
-- 0x26, 0x24, 0x36, 0x36, 0x36, 0x36, 0x28, 0x2f,
-- 0x2a, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x23, 0x2a, 0x51, 0x24, 0x36,
-- 0x2a, 0x36, 0x28, 0x44, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x9b, 0x4b, 0x44, 0x37, 0x36, 0x23,
-- 0x28, 0x30, 0x22, 0x36, 0x36, 0x36, 0x36, 0x2d,
-- 0x35, 0x24, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x21, 0x28, 0x2b, 0x34, 0x36, 0x25,
-- 0x24, 0x36, 0x4a, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x9b, 0x52, 0x3f, 0x21, 0x30,
-- 0x35, 0x25, 0x30, 0x36, 0x36, 0x36, 0x36, 0x32,
-- 0x2d, 0x26, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x22, 0x26, 0x2e, 0x35, 0x36, 0x2a,
-- 0x36, 0x24, 0x4f, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x9b, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x47, 0x32, 0x30,
-- 0x2a, 0x23, 0x30, 0x23, 0x36, 0x36, 0x36, 0x21,
-- 0x2f, 0x32, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x21, 0x23, 0x2a, 0x51, 0x28, 0x28, 0x25,
-- 0x36, 0x3a, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x9b, 0x52, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x38, 0x21,
-- 0x36, 0x36, 0x22, 0x27, 0x36, 0x36, 0x36, 0x36,
-- 0x2e, 0x35, 0x24, 0x21, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x22, 0x25, 0x2c, 0x34, 0x36, 0x30, 0x21,
-- 0x23, 0x43, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x47, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x94, 0x36,
-- 0x36, 0x36, 0x36, 0x32, 0x36, 0x36, 0x36, 0x36,
-- 0x2a, 0x2e, 0x26, 0x22, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x21, 0x23, 0x2a, 0x51, 0x25, 0x21, 0x2a, 0x36,
-- 0x2e, 0x9b, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x99, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x98, 0x36,
-- 0x36, 0x36, 0x36, 0x32, 0x36, 0x36, 0x36, 0x36,
-- 0x22, 0x2f, 0x30, 0x22, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x22, 0x25, 0x2c, 0x34, 0x36, 0x24, 0x28, 0x36,
-- 0x54, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4c, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x9a, 0x36,
-- 0x36, 0x36, 0x36, 0x30, 0x36, 0x36, 0x36, 0x36,
-- 0x21, 0x2f, 0x32, 0x23, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x28, 0x32, 0x2f, 0x28, 0x36, 0x27, 0x22, 0x21,
-- 0x43, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4c, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4b, 0x21,
-- 0x36, 0x36, 0x21, 0x26, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x34, 0x2b, 0x28, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x25, 0x2c, 0x39, 0x36, 0x36, 0x30, 0x22, 0x25,
-- 0x52, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x52, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4f, 0x21,
-- 0x36, 0x36, 0x22, 0x26, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x2c, 0x35, 0x24, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x30, 0x2d, 0x21, 0x36, 0x36, 0x32, 0x23, 0x2a,
-- 0x47, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4c, 0x22,
-- 0x36, 0x36, 0x24, 0x23, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x2c, 0x39, 0x24, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x28,
-- 0x33, 0x2e, 0x36, 0x36, 0x23, 0x31, 0x27, 0x39,
-- 0x9b, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x47, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4c, 0x23,
-- 0x36, 0x36, 0x26, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x2c, 0x39, 0x24, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x28,
-- 0x2b, 0x39, 0x36, 0x36, 0x36, 0x26, 0x32, 0x31,
-- 0x9b, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x47, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x46, 0x22,
-- 0x36, 0x21, 0x26, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x2c, 0x35, 0x24, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x24,
-- 0x35, 0x39, 0x36, 0x36, 0x36, 0x36, 0x26, 0x2d,
-- 0x9b, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x47, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x9a, 0x36,
-- 0x24, 0x27, 0x9f, 0x24, 0x25, 0x28, 0x21, 0x36,
-- 0x36, 0x34, 0x2b, 0x28, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x25,
-- 0x39, 0x4d, 0xa0, 0x84, 0x81, 0x57, 0x21, 0x39,
-- 0x52, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x47, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x53, 0x28,
-- 0x23, 0x36, 0x36, 0x36, 0x21, 0x28, 0x2c, 0x30,
-- 0x21, 0x38, 0x33, 0x28, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x21, 0x22, 0x22, 0x28, 0x30,
-- 0x2d, 0xa1, 0x7a, 0xa2, 0xa3, 0xa3, 0x7f, 0x22,
-- 0x51, 0x52, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x9b, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0xa4, 0xa5, 0xa5, 0xa6, 0x61,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x30, 0x32,
-- 0x25, 0x4d, 0x2b, 0x28, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x21, 0x23, 0x24, 0x26, 0x30, 0x33, 0x31,
-- 0x4d, 0x91, 0x5b, 0xa2, 0xa3, 0xa3, 0xa3, 0x5a,
-- 0x21, 0x2e, 0x46, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4f, 0x9b, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0xa7, 0xa8, 0x69, 0x66, 0xa9,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x21, 0x26, 0x25,
-- 0x83, 0xaa, 0x2c, 0x25, 0x21, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x21, 0x28, 0x30, 0x35, 0x2d, 0x2f, 0x37, 0x4a,
-- 0x60, 0x85, 0xab, 0xac, 0xa3, 0xa3, 0xa3, 0x82,
-- 0x86, 0x36, 0x32, 0x3f, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x4c, 0x99, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0xad, 0xa2, 0xa8, 0xae, 0xaf,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x21, 0x57,
-- 0x77, 0x66, 0x34, 0x27, 0x22, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x23, 0x30, 0x31, 0xb0, 0x91, 0x7e, 0x90, 0x90,
-- 0x8b, 0x5b, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0x5d, 0xb1, 0x36, 0x24, 0x53, 0x9b, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x9b, 0x99, 0xad, 0x64, 0x5c, 0x8b, 0xb1,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x73, 0x5d,
-- 0x82, 0x5c, 0xb2, 0x2a, 0x23, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x24, 0x2b, 0xb0, 0x8b, 0x5b, 0x76, 0x5b, 0x5b,
-- 0x7b, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa8, 0x5e, 0x22, 0x36, 0x21, 0x3a, 0x99, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x4f, 0x3f, 0xb3, 0x7b, 0x7b, 0x85, 0x80,
-- 0x9f, 0x36, 0x36, 0x36, 0x21, 0xb4, 0x7e, 0x7b,
-- 0x64, 0x64, 0xb5, 0x35, 0x24, 0x21, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x26, 0x31, 0xb6, 0x5b, 0x64, 0xa2, 0xa2, 0xac,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0x66, 0xb7, 0x36, 0x36, 0x36, 0x2c, 0x4b,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x9a, 0x3f, 0xb8, 0x76, 0x76, 0x7a, 0x63,
-- 0xb9, 0xba, 0x86, 0xba, 0xbb, 0x90, 0x5b, 0x64,
-- 0xa2, 0xa2, 0xbc, 0x2d, 0x27, 0x23, 0x21, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x26, 0x2d, 0x91, 0x5b, 0x64, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa8, 0x83, 0xaf, 0x36, 0x36, 0x36, 0x30,
-- 0x44, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x9b, 0x9a, 0x3f, 0xbd, 0x5b, 0x7b, 0xbe, 0x85,
-- 0x7e, 0x90, 0x63, 0x90, 0x85, 0x5b, 0xa2, 0xa3,
-- 0xa3, 0xac, 0x5d, 0xb5, 0x39, 0x26, 0x23, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x26, 0x2d, 0xbf, 0xbe, 0x64, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa8, 0x88, 0x36, 0x36, 0x36, 0x36,
-- 0x2d, 0x9b, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x9b, 0x45, 0x3f, 0xc0, 0x6d, 0x7b, 0xab, 0xbe,
-- 0x7a, 0x8b, 0x8b, 0x7a, 0x5b, 0x64, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa2, 0xc1, 0x37, 0x35, 0x26, 0x23,
-- 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x26, 0x2e, 0xbf, 0x7a, 0x7b, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa8, 0x72, 0x73, 0x36, 0x36, 0x36,
-- 0x24, 0x52, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x46, 0x42, 0xb6, 0x7a, 0x7b, 0x64, 0x7b,
-- 0x76, 0x5b, 0x5b, 0x76, 0x7b, 0xa2, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xac, 0x64, 0xc1, 0x4d, 0x2c, 0x27,
-- 0x23, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x25, 0x31, 0xc2, 0x8b, 0x7b, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa8, 0x89, 0x9f, 0x36, 0x36,
-- 0x32, 0x47, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x4b, 0x2f, 0x8f, 0x7a, 0x7b, 0xa2, 0xac,
-- 0xa2, 0x64, 0x64, 0xa2, 0xa2, 0xac, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa2, 0x5d, 0xc3, 0x2c,
-- 0x26, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x25, 0x31, 0xc2, 0x85, 0x7b, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0x66, 0x57, 0x27, 0x4d,
-- 0x4b, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x99, 0x34, 0x9f, 0xb9, 0x7a, 0x7b, 0xa2, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa2, 0xc2,
-- 0x32, 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
-- 0x26, 0x2d, 0xc2, 0x85, 0x7b, 0xac, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa8, 0x5f, 0x92, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x44,
-- 0x35, 0x36, 0xaf, 0xbb, 0x7a, 0x7b, 0xac, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xac, 0xa2, 0xc0,
-- 0x2b, 0x24, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23,
-- 0x30, 0x2f, 0xb6, 0x8b, 0x7b, 0xac, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0x66, 0x89, 0x45,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x48, 0x9b, 0x4e, 0x25,
-- 0x36, 0x36, 0x61, 0xb9, 0x6d, 0x64, 0xac, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xac, 0x7b, 0xbe, 0xc3,
-- 0x32, 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x28,
-- 0x33, 0xc4, 0x63, 0xbe, 0xa2, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa2, 0x72, 0x81, 0xc5,
-- 0x46, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-- 0x48, 0x48, 0x48, 0x48, 0x3f, 0x2c, 0x36, 0x36,
-- 0x36, 0x36, 0xc6, 0x8f, 0x6d, 0x64, 0xac, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa2, 0xab, 0x8b, 0xb0, 0x2c,
-- 0x26, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x24,
-- 0x35, 0x96, 0x75, 0xab, 0xa2, 0xac, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xac, 0x7b, 0x81, 0xb9,
-- 0x73, 0x3b, 0x44, 0x9b, 0x48, 0x48, 0x48, 0x9b,
-- 0x99, 0x43, 0x94, 0x2c, 0x21, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x73, 0xb9, 0x7a, 0x7b, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0x64, 0x76, 0x7a, 0x91, 0xb5, 0x31, 0x30,
-- 0x28, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x24,
-- 0x39, 0x97, 0x75, 0xbe, 0x7b, 0x64, 0xa2, 0xa2,
-- 0xac, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0x7b, 0x7a, 0xc7,
-- 0xc8, 0x36, 0x21, 0x26, 0x2b, 0x39, 0x33, 0x30,
-- 0x23, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x21, 0xc8, 0xbb, 0x8b, 0x7b, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa2, 0x64, 0x64,
-- 0x76, 0x85, 0xbf, 0xb5, 0x34, 0x2b, 0x27, 0x28,
-- 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x28,
-- 0x33, 0xc9, 0x63, 0x7e, 0x7a, 0x6d, 0xbe, 0x5b,
-- 0x76, 0x7b, 0x64, 0x64, 0xa2, 0xac, 0xa3, 0xa3,
-- 0xa3, 0xa3, 0xa3, 0xa3, 0xac, 0x76, 0x85, 0xb9,
-- 0x79, 0x22, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x21, 0xca, 0xbb, 0x75, 0x76, 0xa2, 0xa3,
-- 0xa3, 0xa3, 0xac, 0xa2, 0x64, 0x76, 0xbe, 0x8b,
-- 0xb6, 0xb5, 0x2f, 0x35, 0x30, 0x24, 0x22, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23,
-- 0x27, 0x31, 0xcb, 0xc9, 0xbb, 0x74, 0x63, 0x90,
-- 0x7e, 0x75, 0x8b, 0x6d, 0xbe, 0x76, 0x64, 0xa2,
-- 0xac, 0xac, 0xac, 0xac, 0x64, 0x7a, 0x84, 0xcc,
-- 0x79, 0x9f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-- 0x36, 0x21, 0xc8, 0xcc, 0x63, 0x6d, 0x7b, 0x64,
-- 0xac, 0xa2, 0x64, 0x7b, 0xbe, 0x75, 0x63, 0x96,
-- 0x38, 0x39, 0x2a, 0x24, 0x23, 0x21, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x28, 0x27, 0x35, 0x2d, 0x41, 0xb5, 0xc5, 0x8f,
-- 0xb9, 0xbb, 0xc7, 0x74, 0x84, 0x90, 0x85, 0x6d,
-- 0x5b, 0x7b, 0x7b, 0xab, 0x6d, 0x90, 0xb9, 0xcd,
-- 0xca, 0x22, 0x36, 0x36, 0x28, 0x30, 0x30, 0x30,
-- 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x25, 0x36,
-- 0x36, 0x21, 0xb4, 0x80, 0xc7, 0x7e, 0x6d, 0x76,
-- 0xab, 0x76, 0x6d, 0x85, 0x63, 0xb9, 0xb5, 0x34,
-- 0x33, 0x26, 0x23, 0x21, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x21, 0x23, 0x24, 0x27, 0x2a, 0x35, 0x2e, 0x2f,
-- 0x41, 0xce, 0xcf, 0x6c, 0x80, 0xcc, 0xb9, 0x74,
-- 0x84, 0x90, 0x75, 0x7e, 0x74, 0x8f, 0xcd, 0x79,
-- 0xc6, 0x2b, 0x9d, 0x41, 0x2f, 0x34, 0x2d, 0x2d,
-- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x34, 0x2f, 0x38,
-- 0x4d, 0x37, 0xd0, 0xd1, 0x8f, 0x74, 0x63, 0x7e,
-- 0x75, 0x7e, 0x63, 0xc7, 0x88, 0xc4, 0x31, 0x2a,
-- 0x24, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x21, 0x22, 0x23, 0x24, 0x26, 0x30,
-- 0x33, 0x39, 0x2e, 0x51, 0x41, 0xb2, 0x6c, 0xd1,
-- 0x80, 0xcc, 0xcc, 0xcc, 0xd2, 0xd1, 0xb7, 0xd3,
-- 0x41, 0x34, 0x35, 0x32, 0x30, 0x27, 0x27, 0x27,
-- 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x30, 0x2a,
-- 0x2b, 0x34, 0xd4, 0xca, 0xd5, 0x8f, 0xbb, 0xc7,
-- 0xc7, 0xbb, 0xcc, 0x6c, 0x41, 0x39, 0x27, 0x28,
-- 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x22,
-- 0x28, 0x24, 0x26, 0x2a, 0x33, 0x2c, 0x2f, 0x41,
-- 0xd6, 0xb7, 0x79, 0x79, 0x79, 0xca, 0xd7, 0x51,
-- 0x39, 0x30, 0x24, 0x23, 0x22, 0x22, 0x22, 0x22,
-- 0x22, 0x22, 0x21, 0x22, 0x22, 0x22, 0x22, 0x23,
-- 0x24, 0x2a, 0x31, 0xd8, 0xc8, 0x79, 0xd1, 0x80,
-- 0xd5, 0xba, 0xd9, 0x2f, 0x35, 0x26, 0x23, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x21, 0x22, 0x23, 0x28, 0x25, 0x30, 0x2b,
-- 0x31, 0x2f, 0xd4, 0xd8, 0xd8, 0x2f, 0x2e, 0x33,
-- 0x26, 0x23, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x21, 0x28, 0x27, 0x35, 0x34, 0xd8, 0xd8, 0xd8,
-- 0xda, 0xd4, 0x2e, 0x33, 0x25, 0x23, 0x21, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x23, 0x28,
-- 0x26, 0x30, 0x32, 0x2b, 0x33, 0x2a, 0x26, 0x28,
-- 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x21, 0x23, 0x25, 0x30, 0x33, 0x35, 0x35,
-- 0x2b, 0x2a, 0x26, 0x28, 0x22, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
-- 0x21, 0x22, 0x23, 0x28, 0x28, 0x23, 0x22, 0x21,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x21, 0x23, 0x28, 0x24, 0x24,
-- 0x28, 0x23, 0x22, 0x21, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x23, 0x33, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x23, 0x61, 0x62, 0x2B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x35, 0x61, 0x63, 0x64, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x65, 0x66, 0x66, 0x67, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3B,
-+ 0x3B, 0x68, 0x64, 0x69, 0x62, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x22, 0x23, 0x23, 0x55, 0x6A, 0x6B,
-+ 0x6C, 0x6D, 0x6E, 0x6F, 0x6F, 0x33, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23,
-+ 0x22, 0x23, 0x35, 0x33, 0x3B, 0x70, 0x71, 0x72,
-+ 0x73, 0x74, 0x75, 0x76, 0x77, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x23, 0x23, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x23, 0x55,
-+ 0x2B, 0x34, 0x34, 0x42, 0x70, 0x71, 0x73, 0x78,
-+ 0x78, 0x78, 0x79, 0x7A, 0x7B, 0x34, 0x22, 0x21,
-+ 0x55, 0x33, 0x23, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x22, 0x3B, 0x7C, 0x7D, 0x7E, 0x34, 0x35,
-+ 0x21, 0x21, 0x21, 0x21, 0x35, 0x3B, 0x4C, 0x3C,
-+ 0x42, 0x3F, 0x56, 0x7F, 0x71, 0x74, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x79, 0x80, 0x81, 0x3C, 0x82,
-+ 0x83, 0x62, 0x61, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x23, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A,
-+ 0x3B, 0x21, 0x55, 0x55, 0x2B, 0x34, 0x39, 0x3F,
-+ 0x2A, 0x57, 0x8B, 0x72, 0x74, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x75, 0x8C, 0x6F, 0x63,
-+ 0x63, 0x66, 0x61, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x84, 0x85, 0x86, 0x8D, 0x88, 0x8E, 0x8F, 0x5E,
-+ 0x3C, 0x34, 0x3B, 0x34, 0x3F, 0x2A, 0x58, 0x57,
-+ 0x52, 0x46, 0x6C, 0x73, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x79, 0x7A, 0x6E, 0x69,
-+ 0x69, 0x90, 0x34, 0x33, 0x22, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23,
-+ 0x91, 0x92, 0x8D, 0x87, 0x8E, 0x93, 0x8A, 0x35,
-+ 0x94, 0x95, 0x96, 0x56, 0x32, 0x32, 0x52, 0x5C,
-+ 0x4D, 0x82, 0x72, 0x78, 0x78, 0x78, 0x78, 0x79,
-+ 0x97, 0x78, 0x78, 0x78, 0x78, 0x75, 0x6D, 0x6F,
-+ 0x62, 0x65, 0x34, 0x4C, 0x33, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x2B,
-+ 0x91, 0x86, 0x87, 0x88, 0x93, 0x98, 0x60, 0x3F,
-+ 0x99, 0x9A, 0x9A, 0x9B, 0x9C, 0x57, 0x5C, 0x36,
-+ 0x9D, 0x9E, 0x6D, 0x78, 0x78, 0x78, 0x97, 0x6E,
-+ 0x9F, 0x78, 0x78, 0x78, 0x78, 0x79, 0x80, 0xA0,
-+ 0x61, 0x51, 0x51, 0x3C, 0x4C, 0x55, 0x35, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x3B, 0x22,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x4C,
-+ 0xA1, 0x8D, 0x88, 0x8E, 0xA2, 0xA3, 0x94, 0x42,
-+ 0x51, 0xA4, 0x9A, 0x9A, 0x9A, 0xA5, 0x9C, 0x2A,
-+ 0xA6, 0x74, 0x8C, 0x75, 0x97, 0xA7, 0x76, 0x75,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x75, 0x6E,
-+ 0x46, 0x52, 0x56, 0x3F, 0x42, 0x34, 0x33, 0x35,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x22, 0x21, 0x21, 0x22,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x52, 0x3A,
-+ 0x5A, 0x53, 0x53, 0x29, 0x43, 0x50, 0x53, 0x5A,
-+ 0x5A, 0x29, 0x5A, 0x43, 0x53, 0x5D, 0x44, 0x2A,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x55,
-+ 0x7D, 0x87, 0x8E, 0x93, 0xA8, 0xA9, 0xAA, 0x2A,
-+ 0x57, 0x94, 0xA4, 0x9B, 0xAB, 0xAC, 0x9A, 0x9B,
-+ 0xAD, 0x76, 0x79, 0x78, 0x75, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x75, 0x6D,
-+ 0x46, 0x5C, 0x57, 0x56, 0x51, 0x42, 0x4C, 0x55,
-+ 0x23, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x23, 0x24, 0x25, 0x26, 0x26, 0x27, 0x28, 0x27,
-+ 0x29, 0x2A, 0x2B, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x38, 0x30,
-+ 0x59, 0x3D, 0x3D, 0x3D, 0x27, 0x27, 0x26, 0x5D,
-+ 0x27, 0x27, 0x54, 0x37, 0x2E, 0x4A, 0x36, 0x2B,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0xAE, 0x88, 0xAF, 0xB0, 0xAA, 0x2A, 0x39, 0x34,
-+ 0x4C, 0x5C, 0x58, 0xB1, 0xB2, 0xB3, 0xAB, 0xA5,
-+ 0x9A, 0xB4, 0xB5, 0x8C, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x79, 0x80,
-+ 0xB6, 0x38, 0x5C, 0x57, 0x56, 0x3F, 0x42, 0x3B,
-+ 0x55, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23,
-+ 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x32,
-+ 0x31, 0x2C, 0x26, 0x2C, 0x33, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x34,
-+ 0x32, 0x2B, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x33,
-+ 0x33, 0x55, 0x55, 0x55, 0x23, 0x23, 0x35, 0x23,
-+ 0x23, 0x35, 0x2B, 0x4E, 0x4F, 0x2A, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x55, 0x38, 0x25,
-+ 0x2C, 0x52, 0x34, 0x22, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x55, 0x8A, 0x8F, 0x39, 0x34, 0x3C, 0x57, 0x32,
-+ 0x46, 0x42, 0x52, 0x4A, 0x51, 0xAA, 0xB7, 0xB3,
-+ 0xAB, 0xAC, 0xAC, 0xB8, 0xB9, 0x79, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x79, 0x7A,
-+ 0xBA, 0x70, 0x7B, 0xBB, 0x82, 0x56, 0x3F, 0x34,
-+ 0x4C, 0x55, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35, 0x36,
-+ 0x2D, 0x37, 0x38, 0x2A, 0x2B, 0x21, 0x21, 0x21,
-+ 0x21, 0x22, 0x39, 0x3A, 0x2C, 0x3B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x33, 0x3C, 0x22, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x24, 0x3D,
-+ 0x3E, 0x25, 0x3C, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x33, 0x29, 0x26, 0x2A, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x54, 0x3E, 0x28,
-+ 0x28, 0x59, 0x59, 0x48, 0x51, 0x3F, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x2B, 0x56, 0x4D, 0x29, 0x5B, 0x34,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x55, 0x60, 0x3F, 0x42, 0x51, 0x32, 0x52,
-+ 0x40, 0x38, 0x40, 0x46, 0x42, 0xBC, 0xBD, 0xBE,
-+ 0xBF, 0x9B, 0xAB, 0x9B, 0xC0, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x75,
-+ 0xA7, 0x63, 0x63, 0x66, 0x6F, 0x58, 0x56, 0x39,
-+ 0x34, 0x2B, 0x23, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x2F,
-+ 0x3D, 0x3F, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x40, 0x41, 0x3B, 0x21,
-+ 0x21, 0x22, 0x42, 0x38, 0x43, 0x44, 0x3A, 0x45,
-+ 0x34, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x46, 0x30, 0x47,
-+ 0x2A, 0x48, 0x48, 0x21, 0x21, 0x21, 0x21, 0x22,
-+ 0x23, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x22, 0x34, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x22, 0x4D, 0x44, 0x2A, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x50, 0x4A, 0x57, 0x35,
-+ 0x35, 0x2B, 0x56, 0x27, 0x4B, 0x5D, 0x35, 0x21,
-+ 0x21, 0x21, 0x21, 0x3B, 0x52, 0x23, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x2B,
-+ 0x55, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3B, 0x38,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33,
-+ 0x3C, 0x42, 0x21, 0x33, 0x24, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33,
-+ 0x2B, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x33, 0x38, 0x59, 0x37, 0x27, 0x27, 0x4A, 0x47,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x23, 0x4C, 0x4C, 0x2A, 0x56, 0x46, 0x31,
-+ 0x4D, 0x36, 0x50, 0x5A, 0x35, 0xC1, 0xC1, 0xC2,
-+ 0xC3, 0xB7, 0xB3, 0xBE, 0x76, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x75,
-+ 0x6D, 0x62, 0x69, 0x6F, 0x58, 0x46, 0x32, 0x2A,
-+ 0x39, 0x34, 0x35, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x3B, 0x44, 0x49,
-+ 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x23, 0x29, 0x48, 0x22,
-+ 0x42, 0x3A, 0x4A, 0x49, 0x4B, 0x2E, 0x4B, 0x3E,
-+ 0x4A, 0x2C, 0x34, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x30, 0x40, 0x22,
-+ 0x21, 0x32, 0x3A, 0x22, 0x21, 0x21, 0x21, 0x39,
-+ 0x36, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22,
-+ 0x31, 0x4F, 0x2A, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x31, 0x59, 0x2A, 0x22, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x55, 0x27, 0x24, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x4C, 0x44, 0x27, 0x35, 0x21,
-+ 0x21, 0x21, 0x21, 0x2A, 0x26, 0x2B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3A,
-+ 0x40, 0x21, 0x21, 0x21, 0x21, 0x21, 0x51, 0x49,
-+ 0x35, 0x21, 0x21, 0x21, 0x21, 0x22, 0x58, 0x25,
-+ 0x5A, 0x57, 0x21, 0x4C, 0x3D, 0x34, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x38,
-+ 0x47, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x3A, 0x4B, 0x53, 0x56, 0x55, 0x33, 0x42, 0x56,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x55, 0x4C, 0x42, 0x2A, 0x57, 0x5C, 0x38,
-+ 0x36, 0x47, 0x5A, 0xB6, 0x77, 0xC4, 0xC1, 0xC1,
-+ 0xC4, 0xC5, 0xB7, 0xB9, 0x79, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x75,
-+ 0x97, 0xC6, 0x68, 0x57, 0x4D, 0x38, 0x46, 0x32,
-+ 0x51, 0x42, 0x2B, 0x35, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x4D, 0x2D, 0x38,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x4C, 0x4E, 0x3C,
-+ 0x47, 0x4F, 0x50, 0x51, 0x3F, 0x44, 0x42, 0x34,
-+ 0x52, 0x53, 0x28, 0x2A, 0x22, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x48, 0x54, 0x33, 0x21,
-+ 0x23, 0x3A, 0x3A, 0x22, 0x21, 0x21, 0x21, 0x2A,
-+ 0x26, 0x33, 0x21, 0x21, 0x21, 0x21, 0x23, 0x45,
-+ 0x37, 0x3D, 0x41, 0x22, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x31,
-+ 0x59, 0x3F, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3C, 0x28, 0x33, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x23, 0x27, 0x5B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3C, 0x54, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x4C, 0x4B,
-+ 0x46, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3B, 0x49,
-+ 0x2B, 0x21, 0x21, 0x21, 0x23, 0x40, 0x43, 0x32,
-+ 0x35, 0x21, 0x21, 0x33, 0x28, 0x4C, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x4F,
-+ 0x5B, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x50,
-+ 0x44, 0x39, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x23, 0x3B, 0x34, 0x3F, 0x58, 0x46, 0x40, 0x36,
-+ 0x50, 0x41, 0x4D, 0xC7, 0x65, 0xC2, 0xC1, 0xC1,
-+ 0xC8, 0xBF, 0xB1, 0x97, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x79,
-+ 0x80, 0xC9, 0x36, 0x50, 0x36, 0x38, 0x31, 0x32,
-+ 0x56, 0x39, 0x34, 0x33, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x2B, 0x3D, 0x28, 0x35,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x40, 0x4D,
-+ 0x55, 0x2B, 0x21, 0x21, 0x2B, 0x28, 0x3B, 0x21,
-+ 0x21, 0x22, 0x52, 0x27, 0x56, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x23, 0x2A, 0x30, 0x3F, 0x21, 0x22,
-+ 0x57, 0x44, 0x58, 0x21, 0x21, 0x21, 0x21, 0x56,
-+ 0x37, 0x2B, 0x21, 0x21, 0x21, 0x21, 0x56, 0x3E,
-+ 0x36, 0x2A, 0x59, 0x23, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x50, 0x3D,
-+ 0x42, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x40, 0x5A, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x56, 0x49, 0x24, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x42, 0x54, 0x33, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x4D, 0x59,
-+ 0x55, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35, 0x4A,
-+ 0x51, 0x21, 0x21, 0x33, 0x47, 0x47, 0x33, 0x21,
-+ 0x21, 0x21, 0x21, 0x55, 0x27, 0x3B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x32, 0x4B,
-+ 0x4C, 0x21, 0x21, 0x21, 0x21, 0x21, 0x34, 0x44,
-+ 0x3F, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x33, 0x4C, 0x3C, 0x51, 0x57, 0x5C, 0x38, 0x38,
-+ 0x9D, 0xCA, 0x61, 0xCB, 0xCC, 0xCD, 0xC4, 0xC8,
-+ 0xA4, 0x9C, 0x76, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x79,
-+ 0x7A, 0x7F, 0x41, 0x29, 0x47, 0x38, 0x40, 0x57,
-+ 0x32, 0x51, 0x42, 0x2B, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x57, 0x49, 0x32, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x57, 0x27,
-+ 0x35, 0x21, 0x21, 0x21, 0x2B, 0x59, 0x2A, 0x21,
-+ 0x21, 0x21, 0x21, 0x56, 0x54, 0x2B, 0x21, 0x21,
-+ 0x21, 0x21, 0x4C, 0x2E, 0x5A, 0x23, 0x55, 0x5B,
-+ 0x49, 0x3A, 0x22, 0x21, 0x21, 0x21, 0x21, 0x32,
-+ 0x3E, 0x3B, 0x21, 0x21, 0x21, 0x35, 0x54, 0x53,
-+ 0x23, 0x55, 0x4F, 0x55, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x25, 0x44, 0x42,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x23, 0x41, 0x46, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x23, 0x53, 0x2F, 0x2A, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x32, 0x28, 0x33, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x35, 0x59, 0x5B,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x54,
-+ 0x57, 0x21, 0x35, 0x53, 0x47, 0x23, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3C, 0x44, 0x3B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x41, 0x43,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3F, 0x29,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x55, 0x4C, 0x3F, 0x2A, 0x46, 0x31, 0x36, 0x46,
-+ 0x71, 0x97, 0xCE, 0xCB, 0xCF, 0xA4, 0x9C, 0xA4,
-+ 0xAD, 0x76, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x80, 0x8C,
-+ 0x7A, 0xA7, 0x36, 0x50, 0x3A, 0x36, 0x38, 0x52,
-+ 0x32, 0x2A, 0x3F, 0x2B, 0x22, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x22, 0x5A, 0x5A, 0x23, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x52, 0x28,
-+ 0x35, 0x21, 0x21, 0x21, 0x55, 0x30, 0x56, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x5B, 0x45, 0x21, 0x21,
-+ 0x21, 0x21, 0x2B, 0x2E, 0x25, 0x47, 0x3D, 0x2D,
-+ 0x25, 0x4C, 0x21, 0x21, 0x21, 0x21, 0x21, 0x39,
-+ 0x44, 0x55, 0x21, 0x21, 0x21, 0x46, 0x59, 0x3B,
-+ 0x21, 0x23, 0x30, 0x34, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x2A, 0x28, 0x4E, 0x42, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x3C, 0x3D, 0x42, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x51, 0x4B, 0x49, 0x39, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x5C, 0x25, 0x23, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x38, 0x4B, 0x3B,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x54,
-+ 0x56, 0x21, 0x5B, 0x3A, 0x35, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x51, 0x59, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x32, 0x2D, 0x42,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x4C, 0x3A,
-+ 0x23, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x2B, 0x3C, 0x39, 0x56, 0x46, 0x40, 0x36, 0xB6,
-+ 0x73, 0x82, 0xCB, 0xD0, 0x75, 0xD1, 0xD2, 0xD1,
-+ 0x8C, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x74, 0xCE,
-+ 0x9E, 0x6E, 0xD3, 0xC6, 0x6F, 0x81, 0x38, 0x5C,
-+ 0x52, 0x58, 0x39, 0x4C, 0x35, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x4C, 0x4A, 0x40, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x36, 0x3A,
-+ 0x21, 0x21, 0x21, 0x21, 0x55, 0x27, 0x3F, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x25, 0x3B, 0x21,
-+ 0x21, 0x21, 0x42, 0x2E, 0x2D, 0x2D, 0x26, 0x46,
-+ 0x35, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x51,
-+ 0x44, 0x55, 0x21, 0x21, 0x35, 0x25, 0x40, 0x21,
-+ 0x21, 0x22, 0x4E, 0x58, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x39, 0x59, 0x38, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x56, 0x59, 0x23, 0x21, 0x21, 0x21,
-+ 0x21, 0x4C, 0x54, 0x5B, 0x59, 0x4C, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x57, 0x3A, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x4D, 0x49, 0x26, 0x23,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x53,
-+ 0x32, 0x51, 0x27, 0x42, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x42, 0x25, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x24, 0x37, 0x3E, 0x35,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x48,
-+ 0x48, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33,
-+ 0x3B, 0x39, 0x3F, 0x32, 0x5C, 0x38, 0x47, 0xD4,
-+ 0x7A, 0xC7, 0xCB, 0xD0, 0x74, 0x80, 0x8C, 0x9F,
-+ 0x80, 0x79, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x73, 0x72, 0xD5, 0xCA, 0x61, 0xD3, 0x40, 0x5C,
-+ 0x46, 0x58, 0x51, 0x42, 0x33, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x39, 0x4B, 0x58, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x2A, 0x3D, 0x51,
-+ 0x21, 0x21, 0x21, 0x21, 0x55, 0x28, 0x42, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x47, 0x52, 0x21,
-+ 0x21, 0x21, 0x58, 0x59, 0x42, 0x3C, 0x35, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x57,
-+ 0x4E, 0x23, 0x21, 0x22, 0x4D, 0x54, 0x35, 0x21,
-+ 0x21, 0x21, 0x5A, 0x46, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x22, 0x56, 0x59, 0x36, 0x35, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x36, 0x5B, 0x21, 0x21, 0x21, 0x21,
-+ 0x23, 0x53, 0x48, 0x3F, 0x27, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x24, 0x47, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x22, 0x40, 0x27, 0x29, 0x29, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x47,
-+ 0x40, 0x41, 0x5C, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x39, 0x41, 0x23, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x32, 0x26, 0x47, 0x28, 0x22,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x2B,
-+ 0x53, 0x28, 0x36, 0x42, 0x23, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x4C, 0x39, 0x58, 0x32, 0x31, 0x38, 0x47, 0xD4,
-+ 0xCF, 0xD0, 0x6C, 0x9E, 0xD6, 0x6B, 0xD7, 0xD8,
-+ 0xD7, 0x6B, 0xCF, 0x7B, 0x80, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x74, 0x72, 0xD0, 0xA6, 0x70, 0x51,
-+ 0x46, 0x56, 0x51, 0x42, 0x55, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x5C, 0x27, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x32, 0x37, 0x54, 0x33,
-+ 0x21, 0x21, 0x21, 0x21, 0x2B, 0x44, 0x2A, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x52, 0x2C, 0x21,
-+ 0x21, 0x21, 0x47, 0x36, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x52,
-+ 0x54, 0x23, 0x21, 0x24, 0x4F, 0x46, 0x21, 0x21,
-+ 0x21, 0x21, 0x38, 0x2C, 0x22, 0x21, 0x21, 0x21,
-+ 0x21, 0x42, 0x55, 0x21, 0x21, 0x21, 0x21, 0x33,
-+ 0x45, 0x54, 0x56, 0x22, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x22, 0x53, 0x24, 0x21, 0x21, 0x21, 0x21,
-+ 0x46, 0x5D, 0x4C, 0x52, 0x4E, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x31, 0x48, 0x22, 0x21, 0x21,
-+ 0x21, 0x22, 0x46, 0x54, 0x3B, 0x45, 0x29, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x47,
-+ 0x28, 0x28, 0x55, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x51, 0x41, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x56, 0x54, 0x39, 0x56, 0x28, 0x22,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x23, 0x34, 0x50, 0x30, 0x4E, 0x40, 0x34, 0x22,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x4C, 0x39, 0x58, 0x52, 0x5C, 0x38, 0x47, 0x9D,
-+ 0xC9, 0xD9, 0xDA, 0xDB, 0xDC, 0xDC, 0xDC, 0xDC,
-+ 0xDC, 0xDC, 0xDC, 0xDD, 0x6B, 0x7B, 0x75, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x74, 0x71, 0xD0, 0x3F,
-+ 0x52, 0x57, 0x2A, 0x42, 0x2B, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x47, 0x3A, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x35, 0x45, 0x4A, 0x2C, 0x3B, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x2B, 0x30, 0x56, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x58, 0x29, 0x21,
-+ 0x21, 0x21, 0x53, 0x3F, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31,
-+ 0x43, 0x22, 0x3B, 0x28, 0x48, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x56, 0x25, 0x35, 0x21, 0x21, 0x21,
-+ 0x39, 0x54, 0x34, 0x21, 0x21, 0x21, 0x35, 0x3A,
-+ 0x30, 0x57, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x33, 0x39, 0x21, 0x21,
-+ 0x21, 0x35, 0x25, 0x3F, 0x21, 0x21, 0x21, 0x56,
-+ 0x30, 0x58, 0x21, 0x24, 0x43, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x4D, 0x29, 0x22, 0x21, 0x21,
-+ 0x22, 0x32, 0x26, 0x42, 0x21, 0x46, 0x2C, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x48,
-+ 0x2E, 0x36, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x56, 0x28, 0x35, 0x21, 0x21,
-+ 0x21, 0x3F, 0x27, 0x32, 0x21, 0x51, 0x25, 0x22,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x22, 0x39, 0x38, 0x25, 0x54, 0x50,
-+ 0x58, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33,
-+ 0x4C, 0x3F, 0x56, 0x52, 0x31, 0x4D, 0x47, 0x39,
-+ 0xD8, 0xDC, 0xDC, 0xDC, 0xDE, 0xDF, 0xDF, 0xDF,
-+ 0xDF, 0xDF, 0xDE, 0xDE, 0xDC, 0xDD, 0xD6, 0x97,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x75, 0x97, 0x56,
-+ 0x46, 0x57, 0x2A, 0x42, 0x2B, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x38, 0x29, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x35, 0x5B, 0x3D, 0x40, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x2B, 0x59, 0x3F, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x40, 0x5A, 0x21,
-+ 0x21, 0x22, 0x5D, 0x34, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x5B,
-+ 0x2C, 0x33, 0x29, 0x28, 0x3B, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x34, 0x59, 0x3C, 0x21, 0x21, 0x2B,
-+ 0x53, 0x36, 0x22, 0x21, 0x21, 0x34, 0x5A, 0x28,
-+ 0x3F, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x40, 0x41, 0x23, 0x21,
-+ 0x21, 0x3B, 0x28, 0x2B, 0x21, 0x21, 0x2A, 0x44,
-+ 0x38, 0x22, 0x21, 0x24, 0x50, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x50, 0x25, 0x23, 0x21, 0x23,
-+ 0x45, 0x5D, 0x52, 0x21, 0x21, 0x40, 0x50, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x50,
-+ 0x2D, 0x39, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x46, 0x30, 0x33, 0x21, 0x22,
-+ 0x24, 0x4E, 0x45, 0x22, 0x21, 0x58, 0x25, 0x22,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x3C, 0x48,
-+ 0x27, 0x39, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x34, 0x3F, 0x58, 0x57, 0x31, 0x4D, 0x47, 0x56,
-+ 0xDB, 0xDC, 0xDE, 0xE0, 0xE1, 0xE2, 0xE2, 0xE2,
-+ 0xE2, 0xE2, 0xE1, 0xE3, 0xE4, 0xDE, 0xDC, 0x6B,
-+ 0x8C, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x80, 0xA7, 0x38,
-+ 0x46, 0x56, 0x2A, 0x39, 0x3B, 0x23, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x32, 0x44, 0x34, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x3F,
-+ 0x4D, 0x41, 0x29, 0x42, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x2B, 0x44, 0x46, 0x34,
-+ 0x2B, 0x55, 0x55, 0x2B, 0x56, 0x59, 0x36, 0x21,
-+ 0x21, 0x22, 0x59, 0x2B, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x55, 0x5C, 0x21, 0x21, 0x21, 0x40,
-+ 0x50, 0x4D, 0x4F, 0x32, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x55, 0x44, 0x31, 0x22, 0x3B, 0x5A,
-+ 0x41, 0x55, 0x21, 0x35, 0x57, 0x4A, 0x2E, 0x48,
-+ 0x57, 0x32, 0x3F, 0x55, 0x35, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x25, 0x47, 0x22, 0x21,
-+ 0x21, 0x4C, 0x28, 0x35, 0x21, 0x34, 0x30, 0x3A,
-+ 0x23, 0x21, 0x21, 0x58, 0x3A, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x4D, 0x4E, 0x35, 0x33, 0x48,
-+ 0x44, 0x56, 0x21, 0x21, 0x21, 0x58, 0x41, 0x23,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x29,
-+ 0x4A, 0x23, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x32, 0x44, 0x2B, 0x23, 0x45,
-+ 0x3D, 0x31, 0x22, 0x21, 0x21, 0x4C, 0x27, 0x35,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x53, 0x53, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x34, 0x3F, 0x58, 0x57, 0x40, 0x38, 0x47, 0xD4,
-+ 0xDC, 0xDE, 0xE0, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE2, 0xE1, 0xDF, 0xDC,
-+ 0xE6, 0x8C, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x80, 0x2A, 0x40,
-+ 0x46, 0x58, 0x2A, 0x42, 0x34, 0x34, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x2B, 0x54, 0x5A, 0x34, 0x23,
-+ 0x35, 0x23, 0x35, 0x33, 0x2B, 0x24, 0x54, 0x4B,
-+ 0x59, 0x5C, 0x23, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x4B, 0x44, 0x59,
-+ 0x27, 0x26, 0x26, 0x4A, 0x3E, 0x41, 0x55, 0x21,
-+ 0x21, 0x22, 0x41, 0x39, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x34, 0x53, 0x4D, 0x21, 0x21, 0x21, 0x5C,
-+ 0x4B, 0x4F, 0x40, 0x22, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x48, 0x30, 0x50, 0x26, 0x54,
-+ 0x34, 0x21, 0x55, 0x4E, 0x2D, 0x2F, 0x4F, 0x37,
-+ 0x3E, 0x4B, 0x4B, 0x30, 0x27, 0x53, 0x2C, 0x57,
-+ 0x42, 0x4C, 0x55, 0x22, 0x22, 0x22, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x39, 0x4A, 0x3F, 0x21, 0x21,
-+ 0x21, 0x55, 0x53, 0x55, 0x2A, 0x26, 0x54, 0x33,
-+ 0x21, 0x21, 0x21, 0x51, 0x54, 0x3B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x51, 0x3D, 0x46, 0x5A, 0x4F,
-+ 0x52, 0x21, 0x21, 0x21, 0x21, 0x22, 0x27, 0x31,
-+ 0x33, 0x23, 0x42, 0x4C, 0x21, 0x21, 0x21, 0x5B,
-+ 0x54, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3B, 0x44, 0x45, 0x48, 0x4B,
-+ 0x38, 0x22, 0x21, 0x21, 0x21, 0x21, 0x53, 0x48,
-+ 0x33, 0x23, 0x34, 0x3C, 0x22, 0x57, 0x4D, 0x33,
-+ 0x21, 0x21, 0x21, 0x21, 0x22, 0x23, 0x34, 0x40,
-+ 0x44, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x3B, 0x42, 0x2A, 0x57, 0x31, 0x38, 0x5C, 0xD8,
-+ 0xDC, 0xE4, 0xE2, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE2, 0xE0,
-+ 0xDE, 0xCA, 0x9F, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x80, 0x76, 0x57, 0x5C,
-+ 0x31, 0x6E, 0x34, 0x3C, 0xC9, 0x3B, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x33, 0x5B, 0x30, 0x25,
-+ 0x5D, 0x5A, 0x53, 0x27, 0x26, 0x59, 0x36, 0x56,
-+ 0x55, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x3D, 0x2A, 0x55,
-+ 0x42, 0x51, 0x56, 0x24, 0x2A, 0x35, 0x21, 0x21,
-+ 0x21, 0x21, 0x45, 0x53, 0x3B, 0x22, 0x22, 0x35,
-+ 0x46, 0x59, 0x54, 0x55, 0x21, 0x21, 0x21, 0x31,
-+ 0x2D, 0x47, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x33, 0x50, 0x5D, 0x45, 0x55,
-+ 0x21, 0x21, 0x34, 0x4F, 0x29, 0x58, 0x33, 0x4C,
-+ 0x39, 0x3C, 0x2A, 0x40, 0x48, 0x54, 0x3D, 0x3D,
-+ 0x37, 0x4A, 0x59, 0x29, 0x5B, 0x36, 0x52, 0x2A,
-+ 0x42, 0x3C, 0x32, 0x30, 0x41, 0x35, 0x21, 0x21,
-+ 0x21, 0x33, 0x41, 0x26, 0x4B, 0x5A, 0x35, 0x21,
-+ 0x21, 0x21, 0x21, 0x3C, 0x3E, 0x41, 0x23, 0x21,
-+ 0x21, 0x21, 0x21, 0x23, 0x41, 0x49, 0x30, 0x32,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x52, 0x4F,
-+ 0x5D, 0x41, 0x27, 0x58, 0x21, 0x21, 0x21, 0x5B,
-+ 0x41, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x47, 0x49, 0x4F, 0x5C,
-+ 0x23, 0x21, 0x21, 0x21, 0x21, 0x21, 0x39, 0x4A,
-+ 0x28, 0x43, 0x27, 0x5C, 0x35, 0x25, 0x49, 0x5B,
-+ 0x58, 0x52, 0x5C, 0x38, 0x48, 0x41, 0x4A, 0x4B,
-+ 0x50, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x35,
-+ 0x3B, 0x3C, 0x2A, 0x32, 0x5C, 0x40, 0x32, 0xDD,
-+ 0xDC, 0xE3, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE1, 0xE0, 0xBB, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x80, 0xE7, 0x58, 0x52,
-+ 0x5C, 0x67, 0xE7, 0x6C, 0xE8, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x23, 0x39, 0x5C,
-+ 0x29, 0x5A, 0x4D, 0x5C, 0x2A, 0x2B, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x44, 0x42, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x33, 0x27, 0x30, 0x5A, 0x2C, 0x25,
-+ 0x4B, 0x50, 0x3B, 0x21, 0x21, 0x21, 0x21, 0x33,
-+ 0x2C, 0x3B, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x4C, 0x22, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x55, 0x2B,
-+ 0x39, 0x32, 0x4D, 0x29, 0x26, 0x3D, 0x2D, 0x2D,
-+ 0x4B, 0x4B, 0x2F, 0x30, 0x42, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x3B, 0x29, 0x2C, 0x55, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x23, 0x50, 0x4D, 0x22, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x2B, 0x32, 0x3B, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x51,
-+ 0x48, 0x45, 0x34, 0x21, 0x21, 0x21, 0x21, 0x38,
-+ 0x44, 0x35, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x33, 0x32, 0x34, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3C,
-+ 0x5B, 0x4D, 0x42, 0x21, 0x21, 0x34, 0x4D, 0x47,
-+ 0x5A, 0x5D, 0x27, 0x4E, 0x25, 0x3A, 0x5C, 0x42,
-+ 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23,
-+ 0x2B, 0x34, 0x51, 0x56, 0x46, 0x40, 0xE9, 0xDA,
-+ 0xDD, 0xE1, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE2, 0xEA, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x76, 0xD3, 0x67, 0x39,
-+ 0x3C, 0xCF, 0xD5, 0x9F, 0x3B, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x28, 0x2B, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3C, 0x53, 0x44, 0x3D, 0x43,
-+ 0x57, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x35, 0x55, 0x3F, 0x2A,
-+ 0x57, 0x24, 0x3F, 0x3B, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x22, 0x22, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x55,
-+ 0x3C, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x22, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x55, 0x4C, 0x3F, 0x58, 0x46, 0x31, 0x8B, 0xAD,
-+ 0xCC, 0xE2, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xEA, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x97, 0x35, 0x6E, 0xC6, 0x82,
-+ 0xA6, 0x73, 0x75, 0xBA, 0x2B, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x34, 0x44, 0x3B, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x23, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x33, 0x34, 0xEB, 0x34, 0x57, 0x5C, 0x4C, 0xA4,
-+ 0xEC, 0x64, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0x83, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x80, 0xED, 0xCF, 0xCE, 0x78, 0x78,
-+ 0x78, 0x7A, 0x6D, 0x34, 0x22, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x55, 0x25, 0x55, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x23, 0x34, 0xEE, 0xEF, 0x5F, 0x96, 0x23, 0xB3,
-+ 0xBF, 0xB5, 0xF0, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xBB, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x9F, 0x78, 0x78, 0x78, 0x78,
-+ 0x80, 0x9F, 0x65, 0x33, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x28, 0x55, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x22, 0x4C, 0xF1, 0xA5, 0xAC, 0xAB, 0x60, 0xB3,
-+ 0xB3, 0xF2, 0xEA, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xF3, 0x6D, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x80, 0x61, 0x34, 0x23, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x3B, 0x25, 0x22, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x2B, 0x5E,
-+ 0x4C, 0x3B, 0xF4, 0xA5, 0x9B, 0x9B, 0xB4, 0xEF,
-+ 0xEF, 0xBF, 0xAD, 0xF5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0x67, 0x75, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x80,
-+ 0xA7, 0x3F, 0x55, 0x22, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x4E, 0x23, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x2B, 0x5F,
-+ 0x9B, 0xD2, 0x3C, 0xB7, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xB3, 0xB8, 0xEA, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0xF0, 0xBB, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x80, 0x82,
-+ 0x34, 0x3B, 0x33, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x5D, 0x23, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x60,
-+ 0xAB, 0xA5, 0xB8, 0xB1, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xF6, 0xB7, 0xB5, 0xF0, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5,
-+ 0x67, 0x80, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x78, 0x80, 0x9F, 0xBA, 0x42,
-+ 0x4C, 0x2B, 0x22, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x3A, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x55,
-+ 0xF2, 0x9B, 0x9B, 0xB4, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xEF, 0xB4, 0x5F, 0x63, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xF5,
-+ 0x76, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x78, 0x78, 0x80, 0x6D, 0x65, 0x3C, 0x34,
-+ 0x3B, 0x35, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x2A, 0x29, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23,
-+ 0xF7, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xEF, 0xB3, 0xB8, 0xEA, 0xE5, 0xE5, 0xE5,
-+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xF8, 0x68,
-+ 0x7A, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x78, 0x80, 0x97, 0x82, 0x39, 0x39, 0x34, 0x3B,
-+ 0x33, 0x23, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x2A, 0x29, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x3B, 0xB8, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xEF, 0xF6, 0xB2, 0xF9, 0xFA, 0xFA, 0xFA,
-+ 0xFA, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0x6F, 0x97,
-+ 0x80, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
-+ 0x8C, 0x61, 0x39, 0x2A, 0x3F, 0x3C, 0x4C, 0x55,
-+ 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x4C, 0x31, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x22, 0xFB, 0xF6, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xEF, 0xB3, 0xB2, 0xF9, 0xF3, 0xF3, 0xF3,
-+ 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0x90, 0x6D, 0x97,
-+ 0x8C, 0x6D, 0x76, 0xBB, 0xC6, 0xB9, 0xC0, 0xFC,
-+ 0xAD, 0xFB, 0x2A, 0x58, 0x42, 0x4C, 0x55, 0x33,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x33, 0xD2, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF,
-+ 0xEF, 0xEF, 0xB4, 0xB8, 0xEB, 0xE8, 0x7F, 0xD6,
-+ 0xD6, 0xD6, 0xD6, 0x9D, 0x9D, 0x52, 0xEB, 0x5F,
-+ 0x5F, 0x5F, 0xF2, 0xA4, 0xBF, 0xBF, 0xB4, 0xBF,
-+ 0xEE, 0x56, 0x2A, 0x42, 0x4C, 0x2B, 0x33, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x4C, 0xBE, 0xF6, 0xEF, 0xEF, 0xEF,
-+ 0xF6, 0xB4, 0xB2, 0xF1, 0x3C, 0x56, 0x46, 0x5C,
-+ 0x31, 0x38, 0x40, 0x40, 0x4D, 0x4D, 0xB8, 0xAC,
-+ 0xBF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xB4,
-+ 0xB1, 0x39, 0x39, 0x3B, 0x2B, 0x23, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3B, 0xAD, 0xA4, 0xBF, 0xBF,
-+ 0xB7, 0xB2, 0xEE, 0x5E, 0x39, 0x51, 0x2A, 0x32,
-+ 0x52, 0x46, 0x5C, 0x31, 0x31, 0x2A, 0xA5, 0xEF,
-+ 0xFD, 0xB4, 0xEF, 0xF6, 0xF6, 0xEF, 0xF6, 0xB2,
-+ 0x3F, 0x34, 0x2B, 0x55, 0x23, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x33, 0xEB, 0xF7, 0xAA,
-+ 0xAA, 0xF7, 0xEB, 0x55, 0x3B, 0x3C, 0x39, 0x51,
-+ 0x2A, 0x56, 0x32, 0x57, 0x57, 0x2A, 0x96, 0x3C,
-+ 0x2A, 0xEE, 0xEF, 0x5F, 0xD2, 0xEF, 0xB4, 0xAA,
-+ 0x42, 0x55, 0x35, 0x22, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x3B,
-+ 0x3B, 0x35, 0x21, 0x23, 0x33, 0x3B, 0x4C, 0x3C,
-+ 0x39, 0x3F, 0x51, 0x2A, 0x51, 0x51, 0x58, 0x32,
-+ 0x56, 0xF4, 0xB1, 0x42, 0x3C, 0xF2, 0x9C, 0x3F,
-+ 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x33, 0x55,
-+ 0x3B, 0x4C, 0x4C, 0x3C, 0x42, 0x42, 0x3C, 0x34,
-+ 0x34, 0x3F, 0x4C, 0x3B, 0x4C, 0x3B, 0x3C, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x35, 0x33, 0x55, 0x33, 0x33, 0x33, 0x55, 0x2B,
-+ 0x2B, 0x35, 0x35, 0x35, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
- };
-
- #endif /* !__HAVE_ARCH_LINUX_LOGO */
-@@ -994,7 +1760,7 @@
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- };
-
- #endif /* !__HAVE_ARCH_LINUX_LOGOBW */
-@@ -1401,7 +2167,7 @@
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-
- #endif /* !__HAVE_ARCH_LINUX_LOGO16 */
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/mkdep.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/mkdep.patch
deleted file mode 100644
index 4daeaa11be..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/mkdep.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux/Makefile~mkdep 2003-12-19 09:36:51.000000000 -0800
-+++ linux/Makefile 2003-12-19 09:57:44.000000000 -0800
-@@ -458,7 +458,7 @@
-
- dep-files: scripts/mkdep archdep include/linux/version.h
- scripts/mkdep -- init/*.c > .depend
-- scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
-+ $(foreach, dir, $(FINDHPATH), scripts/mkdep -- `find $(dir) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` >> .hdepend)
- $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)"
- ifdef CONFIG_MODVERSIONS
- $(MAKE) update-modverfile
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/module_licence.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/module_licence.patch
deleted file mode 100644
index e70fc28031..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/module_licence.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/drivers/usb/device/bi/sa1100.c~modulelicence
-+++ linux/drivers/usb/device/bi/sa1100.c
-@@ -43,6 +43,7 @@
- #include "../usbd-build.h"
- #include "../usbd-module.h"
-
-+MODULE_LICENSE("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("USB Device SA-1100 Bus Interface");
-
---- linux/drivers/usb/device/usbd.c~modulelicence
-+++ linux/drivers/usb/device/usbd.c
-@@ -72,6 +72,7 @@
- #include "usbd-build.h"
- #include "usbd-module.h"
-
-+MODULE_LICENSE("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("USB Device Core Support");
-
---- linux/drivers/usb/device/usbd-monitor.c~modulelicence
-+++ linux/drivers/usb/device/usbd-monitor.c
-@@ -35,6 +35,7 @@
- #include "usbd-build.h"
- #include "usbd-module.h"
-
-+MODULE_LICENSE("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("USB Device Monitor");
- USBD_MODULE_INFO ("usbd_monitor 0.3");
---- linux/drivers/usb/device/net_fd/net-fd.c~modulelicence
-+++ linux/drivers/usb/device/net_fd/net-fd.c
-@@ -33,6 +33,7 @@
- #include "../usbd-build.h"
- #include "../usbd-module.h"
-
-+MODULE_LICENSE("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("USB Device Network Function");
-
---- linux/arch/arm/mach-sa1100/deviceinfo.c~modulelicence
-+++ linux/arch/arm/mach-sa1100/deviceinfo.c
-@@ -28,6 +28,7 @@
-
- #define MODULE_NAME "deviceinfo"
- #define DEVINFO_DIRNAME "deviceinfo"
-+MODULE_LICENSE("GPL");
-
- static int proc_read_deviceinfo(struct file * file, char * buf,
- size_t nbytes, loff_t *ppos);
---- linux/arch/arm/mach-sa1100/gpio.c~modulelicence
-+++ linux/arch/arm/mach-sa1100/gpio.c
-@@ -15,7 +15,7 @@
-
- #include <asm/hardware.h>
-
--
-+MODULE_LICENSE("GPL");
-
- static int proc_gpio_read(char *page, char **start, off_t off,
- int count, int *eof, void *data)
---- linux/drivers/usb/device/serial_fd/serial.c~modulelicence
-+++ linux/drivers/usb/device/serial_fd/serial.c
-@@ -80,6 +80,7 @@
- #include "../usbd-module.h"
-
-
-+MODULE_LICENSE("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("USB Device Serial Function");
-
---- linux/drivers/usb/device/usbd-serialnumber.c~modulelicence
-+++ linux/drivers/usb/device/usbd-serialnumber.c
-@@ -33,6 +33,7 @@
- #include "usbd-build.h"
- #include "usbd-module.h"
-
-+MODULE_LICENSE("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("USB Device Monitor");
- USBD_MODULE_INFO ("usbd_monitor 0.2-alpha");
---- linux/drivers/usb/device/bi/pxa.c~modulelicence
-+++ linux/drivers/usb/device/bi/pxa.c
-@@ -48,6 +48,7 @@
- #include "../usbd-build.h"
- #include "../usbd-module.h"
-
-+MODULE_LICENSE ("GPL");
- MODULE_AUTHOR ("sl@lineo.com, tbr@lineo.com");
- MODULE_DESCRIPTION ("Xscale USB Device Bus Interface");
-
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch
deleted file mode 100644
index ebde460369..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch
+++ /dev/null
@@ -1,75444 +0,0 @@
-diff -Nur linux_c860_org/CREDITS linux/CREDITS
---- linux_c860_org/CREDITS 2002-08-26 14:43:17.000000000 +0900
-+++ linux/CREDITS 2004-06-10 21:09:10.000000000 +0900
-@@ -981,8 +981,8 @@
-
- N: Nigel Gamble
- E: nigel@nrg.org
--E: nigel@sgi.com
- D: Interrupt-driven printer driver
-+D: Preemptible kernel
- S: 120 Alley Way
- S: Mountain View, California 94040
- S: USA
-diff -Nur linux_c860_org/Documentation/Configure.help linux/Documentation/Configure.help
---- linux_c860_org/Documentation/Configure.help 2002-10-09 10:20:29.000000000 +0900
-+++ linux/Documentation/Configure.help 2004-06-10 21:09:10.000000000 +0900
-@@ -266,6 +266,29 @@
- If you have a system with several CPUs, you do not need to say Y
- here: the local APIC will be used automatically.
-
-+Preemptible Kernel
-+CONFIG_PREEMPT
-+ This option reduces the latency of the kernel when reacting to
-+ real-time or interactive events by allowing a low priority process to
-+ be preempted even if it is in kernel mode executing a system call.
-+ This allows applications to run more reliably even when the system is
-+ under load.
-+
-+ Say Y here if you are building a kernel for a desktop, embedded or
-+ real-time system. Say N if you are unsure.
-+
-+Break Selected Locks
-+CONFIG_LOCK_BREAK
-+ This option will break certain locks in high-latency regions
-+ throughout the kernel. It is intended for use in conjunction with
-+ the preemptible kernel (CONFIG_PREEMPT). Since in-kernel preemption
-+ can not occur while locks are held, temporarily releasing and then
-+ reacquiring long-held locks will further improve system response.
-+
-+ Say Y if you are compiling for a system with strict latency
-+ requirements such as an embedded, real-time, or audio processing
-+ system. Say N otherwise.
-+
- Kernel math emulation
- CONFIG_MATH_EMULATION
- Linux can emulate a math coprocessor (used for floating point
-diff -Nur linux_c860_org/Documentation/preempt-locking.txt linux/Documentation/preempt-locking.txt
---- linux_c860_org/Documentation/preempt-locking.txt 1970-01-01 09:00:00.000000000 +0900
-+++ linux/Documentation/preempt-locking.txt 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,104 @@
-+ Proper Locking Under a Preemptible Kernel:
-+ Keeping Kernel Code Preempt-Safe
-+ Robert Love <rml@tech9.net>
-+ Last Updated: 22 Jan 2002
-+
-+
-+INTRODUCTION
-+
-+
-+A preemptible kernel creates new locking issues. The issues are the same as
-+those under SMP: concurrency and reentrancy. Thankfully, the Linux preemptible
-+kernel model leverages existing SMP locking mechanisms. Thus, the kernel
-+requires explicit additional locking for very few additional situations.
-+
-+This document is for all kernel hackers. Developing code in the kernel
-+requires protecting these situations.
-+
-+
-+RULE #1: Per-CPU data structures need explicit protection
-+
-+
-+Two similar problems arise. An example code snippet:
-+
-+ struct this_needs_locking tux[NR_CPUS];
-+ tux[smp_processor_id()] = some_value;
-+ /* task is preempted here... */
-+ something = tux[smp_processor_id()];
-+
-+First, since the data is per-CPU, it may not have explicit SMP locking, but
-+require it otherwise. Second, when a preempted task is finally rescheduled,
-+the previous value of smp_processor_id may not equal the current. You must
-+protect these situations by disabling preemption around them.
-+
-+
-+RULE #2: CPU state must be protected.
-+
-+
-+Under preemption, the state of the CPU must be protected. This is arch-
-+dependent, but includes CPU structures and state not preserved over a context
-+switch. For example, on x86, entering and exiting FPU mode is now a critical
-+section that must occur while preemption is disabled. Think what would happen
-+if the kernel is executing a floating-point instruction and is then preempted.
-+Remember, the kernel does not save FPU state except for user tasks. Therefore,
-+upon preemption, the FPU registers will be sold to the lowest bidder. Thus,
-+preemption must be disabled around such regions.
-+
-+Note, some FPU functions are already explicitly preempt safe. For example,
-+kernel_fpu_begin and kernel_fpu_end will disable and enable preemption.
-+However, math_state_restore must be called with preemption disabled.
-+
-+
-+RULE #3: Lock acquire and release must be performed by same task
-+
-+
-+A lock acquired in one task must be released by the same task. This
-+means you can't do oddball things like acquire a lock and go off to
-+play while another task releases it. If you want to do something
-+like this, acquire and release the task in the same code path and
-+have the caller wait on an event by the other task.
-+
-+
-+SOLUTION
-+
-+
-+Data protection under preemption is achieved by disabling preemption for the
-+duration of the critical region.
-+
-+preempt_enable() decrement the preempt counter
-+preempt_disable() increment the preempt counter
-+preempt_enable_no_resched() decrement, but do not immediately preempt
-+preempt_get_count() return the preempt counter
-+
-+The functions are nestable. In other words, you can call preempt_disable
-+n-times in a code path, and preemption will not be reenabled until the n-th
-+call to preempt_enable. The preempt statements define to nothing if
-+preemption is not enabled.
-+
-+Note that you do not need to explicitly prevent preemption if you are holding
-+any locks or interrupts are disabled, since preemption is implicitly disabled
-+in those cases.
-+
-+Example:
-+
-+ cpucache_t *cc; /* this is per-CPU */
-+ preempt_disable();
-+ cc = cc_data(searchp);
-+ if (cc && cc->avail) {
-+ __free_block(searchp, cc_entry(cc), cc->avail);
-+ cc->avail = 0;
-+ }
-+ preempt_enable();
-+ return 0;
-+
-+Notice how the preemption statements must encompass every reference of the
-+critical variables. Another example:
-+
-+ int buf[NR_CPUS];
-+ set_cpu_val(buf);
-+ if (buf[smp_processor_id()] == -1) printf(KERN_INFO "wee!\n");
-+ spin_lock(&buf_lock);
-+ /* ... */
-+
-+This code is not preempt-safe, but see how easily we can fix it by simply
-+moving the spin_lock up two lines.
-diff -Nur linux_c860_org/MAINTAINERS linux/MAINTAINERS
---- linux_c860_org/MAINTAINERS 2002-08-26 14:43:17.000000000 +0900
-+++ linux/MAINTAINERS 2004-06-10 21:09:10.000000000 +0900
-@@ -1255,6 +1255,14 @@
- M: mostrows@styx.uwaterloo.ca
- S: Maintained
-
-+PREEMPTIBLE KERNEL
-+P: Robert M. Love
-+M: rml@tech9.net
-+L: linux-kernel@vger.kernel.org
-+L: kpreempt-tech@lists.sourceforge.net
-+W: http://tech9.net/rml/linux
-+S: Supported
-+
- PROMISE DC4030 CACHING DISK CONTROLLER DRIVER
- P: Peter Denison
- M: promise@pnd-pc.demon.co.uk
-diff -Nur linux_c860_org/arch/alpha/kernel/entry.S linux/arch/alpha/kernel/entry.S
---- linux_c860_org/arch/alpha/kernel/entry.S 2002-08-26 14:39:34.000000000 +0900
-+++ linux/arch/alpha/kernel/entry.S 2004-06-10 21:09:10.000000000 +0900
-@@ -231,12 +231,12 @@
- .end kernel_clone
-
- /*
-- * kernel_thread(fn, arg, clone_flags)
-+ * arch_kernel_thread(fn, arg, clone_flags)
- */
- .align 3
- .globl kernel_thread
- .ent kernel_thread
--kernel_thread:
-+arch_kernel_thread:
- ldgp $29,0($27) /* we can be called from a module */
- .frame $30, 4*8, $26
- subq $30,4*8,$30
-diff -Nur linux_c860_org/arch/arm/boot/compressed/head-xscale.S linux/arch/arm/boot/compressed/head-xscale.S
---- linux_c860_org/arch/arm/boot/compressed/head-xscale.S 2002-12-18 19:27:19.000000000 +0900
-+++ linux/arch/arm/boot/compressed/head-xscale.S 2004-06-10 21:09:10.000000000 +0900
-@@ -5,6 +5,7 @@
- *
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/config.h>
-@@ -51,3 +52,7 @@
- #ifdef CONFIG_ARCH_PXA_CORGI
- mov r7, #MACH_TYPE_CORGI
- #endif
-+
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+ mov r7, #MACH_TYPE_TOSA
-+#endif
-diff -Nur linux_c860_org/arch/arm/config.in linux/arch/arm/config.in
---- linux_c860_org/arch/arm/config.in 2003-10-09 14:41:35.000000000 +0900
-+++ linux/arch/arm/config.in 2004-06-10 21:10:22.000000000 +0900
-@@ -196,16 +196,33 @@
- dep_bool ' Using Trial 0' CONFIG_POODLE_TR0 $CONFIG_ARCH_PXA_POODLE
- dep_bool ' SHARP Corgi' CONFIG_ARCH_PXA_CORGI $CONFIG_ARCH_PXA
- dep_bool ' Using Trial 0' CONFIG_CORGI_TR0 $CONFIG_ARCH_PXA_CORGI
-+dep_bool ' LCD Bufferable (EXPERIMENTAL)' CONFIG_CORGI_LCD_BUFF $CONFIG_ARCH_PXA_CORGI
- dep_bool ' SHARP Shepherd' CONFIG_ARCH_PXA_SHEPHERD $CONFIG_ARCH_PXA_CORGI
- dep_bool ' SHARP Husky' CONFIG_ARCH_PXA_HUSKY $CONFIG_ARCH_PXA_SHEPHERD
- dep_bool ' SHARP Boxer' CONFIG_ARCH_PXA_BOXER $CONFIG_ARCH_PXA_HUSKY
-+dep_bool ' SHARP Tosa' CONFIG_ARCH_PXA_TOSA $CONFIG_ARCH_PXA
-+dep_bool ' SHARP Tosa skipping' CONFIG_ARCH_PXA_TOSA_SKIP $CONFIG_ARCH_PXA_TOSA
-
- if [ "$CONFIG_SA1100_COLLIE" = "y" -o "$CONFIG_SABINAL_DISCOVERY" = "y" -o \
-- "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then
-+ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" -o \
-+ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then
- define_bool CONFIG_ARCH_SHARP_SL y
- fi
-
--if [ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then
-+
-+if [ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" -o \
-+ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then
-+ bool 'Use clock change(cccr_change) enable (EXPERIMENTAL)' CONFIG_SL_CCCR_CHANGE
-+ if [ "$CONFIG_SL_CCCR162" != "y" -a "$CONFIG_SL_CCCR_CHANGE" = "y" ]; then
-+ bool 'Boot CCCR=0x242 (EXPERIMENTAL)' CONFIG_SL_CCCR242
-+ fi
-+ if [ "$CONFIG_SL_CCCR242" != "y" -a "$CONFIG_SL_CCCR_CHANGE" = "y" ]; then
-+ bool 'Boot CCCR=0x162 (DANGEROUS ESPECIALLY FOR SL-C700)' CONFIG_SL_CCCR162
-+ fi
-+fi
-+
-+if [ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" -o \
-+ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then
- comment 'Language type'
- choice 'Language type' \
- "English CONFIG_ARCH_SHARP_SL_E \
-@@ -472,7 +489,10 @@
- else
- define_bool CONFIG_DISCONTIGMEM n
- fi
--
-+dep_bool 'Preemptible Kernel' CONFIG_PREEMPT $CONFIG_CPU_32
-+if [ "$CONFIG_PREEMPT" = "y" ]; then
-+ bool 'Break selected locks' CONFIG_LOCK_BREAK
-+fi
- endmenu
-
- mainmenu_option next_comment
-@@ -628,6 +648,9 @@
- if [ "$CONFIG_DEVICEINFO" = "m" -a "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then
- define_tristate CONFIG_CORGI_DEVICEINFO m
- fi
-+if [ "$CONFIG_DEVICEINFO" = "m" -a "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then
-+ define_tristate CONFIG_TOSA_DEVICEINFO m
-+fi
- endmenu
-
- source drivers/parport/Config.in
-diff -Nur linux_c860_org/arch/arm/def-configs/boxer-j linux/arch/arm/def-configs/boxer-j
---- linux_c860_org/arch/arm/def-configs/boxer-j 2003-11-07 11:37:08.000000000 +0900
-+++ linux/arch/arm/def-configs/boxer-j 2004-06-10 21:09:10.000000000 +0900
-@@ -299,6 +299,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/corgi linux/arch/arm/def-configs/corgi
---- linux_c860_org/arch/arm/def-configs/corgi 2002-11-26 15:25:56.000000000 +0900
-+++ linux/arch/arm/def-configs/corgi 2004-06-10 21:09:10.000000000 +0900
-@@ -295,6 +295,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/corgi_cramfs linux/arch/arm/def-configs/corgi_cramfs
---- linux_c860_org/arch/arm/def-configs/corgi_cramfs 2002-10-21 10:17:42.000000000 +0900
-+++ linux/arch/arm/def-configs/corgi_cramfs 2004-06-10 21:09:10.000000000 +0900
-@@ -297,6 +297,7 @@
- CONFIG_MTD_NAND_POST_BADBLOCK=y
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- # CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS is not set
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/corgi_initrd linux/arch/arm/def-configs/corgi_initrd
---- linux_c860_org/arch/arm/def-configs/corgi_initrd 2002-10-21 10:17:42.000000000 +0900
-+++ linux/arch/arm/def-configs/corgi_initrd 2004-06-10 21:09:10.000000000 +0900
-@@ -297,6 +297,7 @@
- CONFIG_MTD_NAND_POST_BADBLOCK=y
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- # CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS is not set
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/husky linux/arch/arm/def-configs/husky
---- linux_c860_org/arch/arm/def-configs/husky 2003-05-20 09:48:12.000000000 +0900
-+++ linux/arch/arm/def-configs/husky 2004-06-10 21:09:10.000000000 +0900
-@@ -298,6 +298,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/husky-j linux/arch/arm/def-configs/husky-j
---- linux_c860_org/arch/arm/def-configs/husky-j 2003-05-20 09:48:12.000000000 +0900
-+++ linux/arch/arm/def-configs/husky-j 2004-06-10 21:09:10.000000000 +0900
-@@ -298,6 +298,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/poodle linux/arch/arm/def-configs/poodle
---- linux_c860_org/arch/arm/def-configs/poodle 2002-11-26 15:25:56.000000000 +0900
-+++ linux/arch/arm/def-configs/poodle 2004-06-10 21:09:10.000000000 +0900
-@@ -295,6 +295,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_POODLE=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/poodle-j linux/arch/arm/def-configs/poodle-j
---- linux_c860_org/arch/arm/def-configs/poodle-j 2002-11-26 15:25:56.000000000 +0900
-+++ linux/arch/arm/def-configs/poodle-j 2004-06-10 21:09:10.000000000 +0900
-@@ -295,6 +295,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_POODLE=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/poodle_cramfs linux/arch/arm/def-configs/poodle_cramfs
---- linux_c860_org/arch/arm/def-configs/poodle_cramfs 2002-10-21 10:16:27.000000000 +0900
-+++ linux/arch/arm/def-configs/poodle_cramfs 2004-06-10 21:09:10.000000000 +0900
-@@ -298,6 +298,7 @@
- CONFIG_MTD_NAND_POST_BADBLOCK=y
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- # CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS is not set
-+CONFIG_MTD_NAND_SHARP_SL_POODLE=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/shepherd linux/arch/arm/def-configs/shepherd
---- linux_c860_org/arch/arm/def-configs/shepherd 2003-04-04 08:55:58.000000000 +0900
-+++ linux/arch/arm/def-configs/shepherd 2004-06-10 21:09:10.000000000 +0900
-@@ -297,6 +297,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/shepherd-j linux/arch/arm/def-configs/shepherd-j
---- linux_c860_org/arch/arm/def-configs/shepherd-j 2003-04-04 08:56:28.000000000 +0900
-+++ linux/arch/arm/def-configs/shepherd-j 2004-06-10 21:09:10.000000000 +0900
-@@ -297,6 +297,7 @@
- # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
- CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
- CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_CORGI=y
- CONFIG_MTD_NAND_SHARP_SL=y
-
- #
-diff -Nur linux_c860_org/arch/arm/def-configs/tosa-j linux/arch/arm/def-configs/tosa-j
---- linux_c860_org/arch/arm/def-configs/tosa-j 1970-01-01 09:00:00.000000000 +0900
-+++ linux/arch/arm/def-configs/tosa-j 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,1156 @@
-+#
-+# Automatically generated by make menuconfig: don't edit
-+#
-+CONFIG_ARM=y
-+# CONFIG_EISA is not set
-+# CONFIG_SBUS is not set
-+# CONFIG_MCA is not set
-+CONFIG_UID16=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-+# CONFIG_GENERIC_BUST_SPINLOCK is not set
-+# CONFIG_GENERIC_ISA_DMA is not set
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+# CONFIG_OBSOLETE is not set
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+# CONFIG_MODVERSIONS is not set
-+CONFIG_KMOD=y
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_ANAKIN is not set
-+# CONFIG_ARCH_ARCA5K is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+CONFIG_ARCH_PXA=y
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_CAMELOT is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_MX1ADS is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_SHARK is not set
-+
-+#
-+# Archimedes/A5000 Implementations
-+#
-+# CONFIG_ARCH_ARC is not set
-+# CONFIG_ARCH_A5K is not set
-+
-+#
-+# Footbridge Implementations
-+#
-+# CONFIG_ARCH_CATS is not set
-+# CONFIG_ARCH_PERSONAL_SERVER is not set
-+# CONFIG_ARCH_EBSA285_ADDIN is not set
-+# CONFIG_ARCH_EBSA285_HOST is not set
-+# CONFIG_ARCH_NETWINDER is not set
-+
-+#
-+# SA11x0 Implementations
-+#
-+# CONFIG_SA1100_ASSABET is not set
-+# CONFIG_ASSABET_NEPONSET is not set
-+# CONFIG_SA1100_ADSBITSY is not set
-+# CONFIG_SA1100_BRUTUS is not set
-+# CONFIG_SA1100_CEP is not set
-+# CONFIG_SA1100_CERF is not set
-+# CONFIG_SA1100_COLLIE is not set
-+# CONFIG_LOCOMO is not set
-+# CONFIG_COLLIE_TS is not set
-+# CONFIG_COLLIE_TR0 is not set
-+# CONFIG_COLLIE_TR1 is not set
-+# CONFIG_COLLIE_DEV is not set
-+# CONFIG_COLLIE_G is not set
-+# CONFIG_SA1100_H3100 is not set
-+# CONFIG_SA1100_H3600 is not set
-+# CONFIG_SA1100_H3800 is not set
-+# CONFIG_SA1100_H3XXX is not set
-+# CONFIG_SA1100_EXTENEX1 is not set
-+# CONFIG_SA1100_FLEXANET is not set
-+# CONFIG_SA1100_FREEBIRD is not set
-+# CONFIG_SA1100_FRODO is not set
-+# CONFIG_SA1100_GRAPHICSCLIENT is not set
-+# CONFIG_SA1100_GRAPHICSMASTER is not set
-+# CONFIG_SA1100_BADGE4 is not set
-+# CONFIG_SA1100_JORNADA720 is not set
-+# CONFIG_SA1100_HUW_WEBPANEL is not set
-+# CONFIG_SA1100_ITSY is not set
-+# CONFIG_SA1100_LART is not set
-+# CONFIG_SA1100_NANOENGINE is not set
-+# CONFIG_SA1100_OMNIMETER is not set
-+# CONFIG_SA1100_PANGOLIN is not set
-+# CONFIG_SA1100_PLEB is not set
-+# CONFIG_SA1100_PT_SYSTEM3 is not set
-+# CONFIG_SA1100_SHANNON is not set
-+# CONFIG_SA1100_SHERMAN is not set
-+# CONFIG_SA1100_SIMPAD is not set
-+# CONFIG_SA1100_PFS168 is not set
-+# CONFIG_SA1100_VICTOR is not set
-+# CONFIG_SA1100_XP860 is not set
-+# CONFIG_SA1100_YOPY is not set
-+# CONFIG_SA1100_USB is not set
-+# CONFIG_SA1100_USB_NETLINK is not set
-+# CONFIG_SA1100_USB_CHAR is not set
-+# CONFIG_H3600_SLEEVE is not set
-+
-+#
-+# Intel PXA250/210 Implementations
-+#
-+# CONFIG_ARCH_LUBBOCK is not set
-+# CONFIG_ARCH_PXA_IDP is not set
-+# CONFIG_ARCH_PXA_CERF is not set
-+# CONFIG_COTULLA_DMA is not set
-+# CONFIG_SABINAL_DISCOVERY is not set
-+# CONFIG_ARCH_SABINAL is not set
-+# CONFIG_ARCH_PXA_POODLE is not set
-+# CONFIG_POODLE_TR0 is not set
-+# CONFIG_ARCH_PXA_CORGI is not set
-+# CONFIG_CORGI_TR0 is not set
-+# CONFIG_ARCH_PXA_SHEPHERD is not set
-+# CONFIG_ARCH_PXA_HUSKY is not set
-+CONFIG_ARCH_PXA_TOSA=y
-+CONFIG_ARCH_PXA_TOSA_SKIP=y
-+CONFIG_ARCH_SHARP_SL=y
-+# CONFIG_ARCH_SHARP_SL_E is not set
-+# CONFIG_ARCH_SHARP_SL_V is not set
-+# CONFIG_ARCH_SHARP_SL_G is not set
-+CONFIG_ARCH_SHARP_SL_J=y
-+# CONFIG_ARCH_SHARP_SL_S is not set
-+# CONFIG_ARCH_SHARP_SL_I is not set
-+# CONFIG_PXA_USB is not set
-+# CONFIG_PXA_USB_NETLINK is not set
-+# CONFIG_PXA_USB_CHAR is not set
-+
-+#
-+# CLPS711X/EP721X Implementations
-+#
-+# CONFIG_ARCH_AUTCPU12 is not set
-+# CONFIG_ARCH_CDB89712 is not set
-+# CONFIG_ARCH_CLEP7312 is not set
-+# CONFIG_ARCH_EDB7211 is not set
-+# CONFIG_ARCH_P720T is not set
-+# CONFIG_ARCH_FORTUNET is not set
-+# CONFIG_ARCH_EP7211 is not set
-+# CONFIG_ARCH_EP7212 is not set
-+# CONFIG_ARCH_ACORN is not set
-+# CONFIG_FOOTBRIDGE is not set
-+# CONFIG_FOOTBRIDGE_HOST is not set
-+# CONFIG_FOOTBRIDGE_ADDIN is not set
-+CONFIG_CPU_32=y
-+# CONFIG_CPU_26 is not set
-+# CONFIG_CPU_32v3 is not set
-+# CONFIG_CPU_32v4 is not set
-+# CONFIG_CPU_ARM610 is not set
-+# CONFIG_CPU_ARM710 is not set
-+# CONFIG_CPU_ARM720T is not set
-+# CONFIG_CPU_ARM920T is not set
-+# CONFIG_CPU_ARM922T is not set
-+# CONFIG_PLD is not set
-+# CONFIG_CPU_ARM926T is not set
-+# CONFIG_CPU_ARM1020 is not set
-+# CONFIG_CPU_SA110 is not set
-+# CONFIG_CPU_SA1100 is not set
-+CONFIG_CPU_32v5=y
-+CONFIG_CPU_XSCALE=y
-+CONFIG_BATT=y
-+# CONFIG_XSCALE_CACHE_ERRATA is not set
-+CONFIG_ARM_THUMB=y
-+CONFIG_ARM_FCSE=y
-+# CONFIG_DISCONTIGMEM is not set
-+
-+#
-+# General setup
-+#
-+# CONFIG_PCI is not set
-+# CONFIG_ISA is not set
-+# CONFIG_ISA_DMA is not set
-+# CONFIG_ZBOOT_ROM is not set
-+CONFIG_ZBOOT_ROM_TEXT=0
-+CONFIG_ZBOOT_ROM_BSS=0
-+CONFIG_HOTPLUG=y
-+
-+#
-+# PCMCIA/CardBus support
-+#
-+CONFIG_PCMCIA=y
-+# CONFIG_I82092 is not set
-+# CONFIG_I82365 is not set
-+# CONFIG_TCIC is not set
-+# CONFIG_PCMCIA_CLPS6700 is not set
-+# CONFIG_PCMCIA_SA1100 is not set
-+CONFIG_PCMCIA_PXA=y
-+CONFIG_NET=y
-+CONFIG_SYSVIPC=y
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+CONFIG_SYSCTL=y
-+CONFIG_FPE_NWFPE=y
-+# CONFIG_FPE_FASTFPE is not set
-+CONFIG_KCORE_ELF=y
-+# CONFIG_KCORE_AOUT is not set
-+CONFIG_BINFMT_AOUT=y
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_BINFMT_MISC is not set
-+CONFIG_PM=y
-+CONFIG_APM=y
-+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-+CONFIG_APM_CPU_IDLE=y
-+CONFIG_APM_DISPLAY_BLANK=y
-+CONFIG_APM_RTC_IS_GMT=y
-+# CONFIG_ARTHUR is not set
-+CONFIG_CMDLINE="console=ttyS0 root=/dev/mtdblock2"
-+CONFIG_SHARPSL_BOOTLDR_PARAMS=y
-+CONFIG_ALIGNMENT_TRAP=y
-+CONFIG_FREEPG_SIGNAL=y
-+CONFIG_OOM_KILL_SURVIVAL=y
-+CONFIG_DEVICEINFO=y
-+
-+#
-+# Parallel port support
-+#
-+# CONFIG_PARPORT is not set
-+
-+#
-+# Memory Technology Devices (MTD)
-+#
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_CONCAT is not set
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_PARTS is not set
-+CONFIG_MTD_CHAR=y
-+CONFIG_MTD_BLOCK=y
-+# CONFIG_FTL is not set
-+# CONFIG_NFTL is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+# CONFIG_MTD_CFI is not set
-+# CONFIG_MTD_JEDECPROBE is not set
-+# CONFIG_MTD_GEN_PROBE is not set
-+# CONFIG_MTD_CFI_INTELEXT is not set
-+# CONFIG_MTD_CFI_AMDSTD is not set
-+# CONFIG_MTD_CFI_STAA is not set
-+# CONFIG_MTD_RAM is not set
-+CONFIG_MTD_ROM=y
-+# CONFIG_MTD_ABSENT is not set
-+# CONFIG_MTD_OBSOLETE_CHIPS is not set
-+# CONFIG_MTD_AMDSTD is not set
-+# CONFIG_MTD_SHARP is not set
-+# CONFIG_MTD_JEDEC is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_PHYSMAP is not set
-+# CONFIG_MTD_LUBBOCK is not set
-+# CONFIG_MTD_NORA is not set
-+# CONFIG_MTD_ARM_INTEGRATOR is not set
-+# CONFIG_MTD_CDB89712 is not set
-+# CONFIG_MTD_SA1100 is not set
-+# CONFIG_MTD_DC21285 is not set
-+# CONFIG_MTD_IQ80310 is not set
-+# CONFIG_MTD_FORTUNET is not set
-+# CONFIG_MTD_PXA_CERF is not set
-+# CONFIG_MTD_EPXA10DB is not set
-+# CONFIG_MTD_AUTCPU12 is not set
-+# CONFIG_MTD_EDB7312 is not set
-+# CONFIG_MTD_IMPA7 is not set
-+# CONFIG_MTD_DISCOVERY is not set
-+CONFIG_MTD_SHARP_SL=y
-+# CONFIG_MTD_PCI is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_PMC551 is not set
-+# CONFIG_MTD_SLRAM is not set
-+# CONFIG_MTD_MTDROM_SA1100 is not set
-+# CONFIG_MTD_MTDRAM_SA1100 is not set
-+# CONFIG_MTD_MTDRAM is not set
-+# CONFIG_MTD_MTDRAM_SHARP_SL is not set
-+# CONFIG_MTD_BLKMTD is not set
-+# CONFIG_MTD_DOC1000 is not set
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOCPROBE is not set
-+
-+#
-+# NAND Flash Device Drivers
-+#
-+CONFIG_MTD_NAND=y
-+CONFIG_MTD_NAND_ECC=y
-+CONFIG_MTD_NAND_VERIFY_WRITE=y
-+CONFIG_MTD_NAND_POST_BADBLOCK=y
-+# CONFIG_MTD_NAND_ERASE_BY_FORCE is not set
-+CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y
-+CONFIG_MTD_NAND_PAGE_CACHE=y
-+CONFIG_MTD_NAND_SHARP_SL_TC6393=y
-+# CONFIG_MTD_NAND_SHARP_SL is not set
-+
-+#
-+# Plug and Play configuration
-+#
-+# CONFIG_PNP is not set
-+# CONFIG_ISAPNP is not set
-+
-+#
-+# Block devices
-+#
-+# CONFIG_BLK_DEV_FD is not set
-+# CONFIG_BLK_DEV_XD is not set
-+# CONFIG_PARIDE is not set
-+# CONFIG_BLK_CPQ_DA is not set
-+# CONFIG_BLK_CPQ_CISS_DA is not set
-+# CONFIG_BLK_DEV_DAC960 is not set
-+# CONFIG_BLK_DEV_COLLIE_MMCSD is not set
-+CONFIG_BLK_DEV_SL_MMCSD=m
-+CONFIG_BLK_DEV_SL_MMCSD_PSAVE=y
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_NBD is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_SIZE=8192
-+CONFIG_BLK_DEV_INITRD=y
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+# CONFIG_BLK_DEV_MD is not set
-+# CONFIG_MD_LINEAR is not set
-+# CONFIG_MD_RAID0 is not set
-+# CONFIG_MD_RAID1 is not set
-+# CONFIG_MD_RAID5 is not set
-+# CONFIG_MD_MULTIPATH is not set
-+# CONFIG_BLK_DEV_LVM is not set
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+CONFIG_PACKET_MMAP=y
-+CONFIG_NETLINK_DEV=y
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+# CONFIG_FILTER is not set
-+CONFIG_UNIX=y
-+CONFIG_INET=y
-+# CONFIG_IP_MULTICAST is not set
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+# CONFIG_IP_PNP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_INET_ECN is not set
-+# CONFIG_SYN_COOKIES is not set
-+
-+#
-+# IP: Netfilter Configuration
-+#
-+# CONFIG_IP_NF_CONNTRACK is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+# CONFIG_IP_NF_IPTABLES is not set
-+# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-+# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_KHTTPD is not set
-+# CONFIG_ATM is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_LLC is not set
-+# CONFIG_NET_DIVERT is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_FASTROUTE is not set
-+# CONFIG_NET_HW_FLOWCONTROL is not set
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network device support
-+#
-+CONFIG_NETDEVICES=y
-+
-+#
-+# ARCnet devices
-+#
-+# CONFIG_ARCNET is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_ETHERTAP is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+# CONFIG_ARM_AM79C961A is not set
-+# CONFIG_SUNLANCE is not set
-+# CONFIG_SUNBMAC is not set
-+# CONFIG_SUNQE is not set
-+# CONFIG_SUNGEM is not set
-+# CONFIG_NET_VENDOR_3COM is not set
-+# CONFIG_LANCE is not set
-+# CONFIG_NET_VENDOR_SMC is not set
-+# CONFIG_NET_VENDOR_RACAL is not set
-+# CONFIG_NET_ISA is not set
-+# CONFIG_NET_PCI is not set
-+# CONFIG_NET_POCKET is not set
-+
-+#
-+# Ethernet (1000 Mbit)
-+#
-+# CONFIG_ACENIC is not set
-+# CONFIG_DL2K is not set
-+# CONFIG_MYRI_SBUS is not set
-+# CONFIG_NS83820 is not set
-+# CONFIG_HAMACHI is not set
-+# CONFIG_YELLOWFIN is not set
-+# CONFIG_SK98LIN is not set
-+# CONFIG_FDDI is not set
-+# CONFIG_HIPPI is not set
-+# CONFIG_PLIP is not set
-+CONFIG_PPP=y
-+# CONFIG_PPP_MULTILINK is not set
-+# CONFIG_PPP_FILTER is not set
-+CONFIG_PPP_ASYNC=y
-+# CONFIG_PPP_SYNC_TTY is not set
-+# CONFIG_PPP_DEFLATE is not set
-+CONFIG_PPP_BSDCOMP=y
-+# CONFIG_PPPOE is not set
-+# CONFIG_SLIP is not set
-+
-+#
-+# Wireless LAN (non-hamradio)
-+#
-+CONFIG_NET_RADIO=y
-+# CONFIG_STRIP is not set
-+# CONFIG_WAVELAN is not set
-+# CONFIG_ARLAN is not set
-+# CONFIG_AIRONET4500 is not set
-+# CONFIG_AIRONET4500_NONCS is not set
-+# CONFIG_AIRONET4500_PROC is not set
-+CONFIG_HERMES=y
-+CONFIG_PCMCIA_HERMES=y
-+# CONFIG_AIRO_CS is not set
-+CONFIG_NET_WIRELESS=y
-+
-+#
-+# Token Ring devices
-+#
-+# CONFIG_TR is not set
-+# CONFIG_NET_FC is not set
-+# CONFIG_RCPCI is not set
-+# CONFIG_SHAPER is not set
-+
-+#
-+# Wan interfaces
-+#
-+# CONFIG_WAN is not set
-+
-+#
-+# PCMCIA network device support
-+#
-+CONFIG_NET_PCMCIA=y
-+# CONFIG_PCMCIA_3C589 is not set
-+# CONFIG_PCMCIA_3C574 is not set
-+# CONFIG_PCMCIA_FMVJ18X is not set
-+CONFIG_PCMCIA_PCNET=y
-+# CONFIG_PCMCIA_AXNET is not set
-+# CONFIG_PCMCIA_NMCLAN is not set
-+# CONFIG_PCMCIA_SMC91C92 is not set
-+# CONFIG_PCMCIA_XIRC2PS is not set
-+# CONFIG_ARCNET_COM20020_CS is not set
-+# CONFIG_PCMCIA_IBMTR is not set
-+# CONFIG_NET_PCMCIA_RADIO is not set
-+
-+#
-+# Amateur Radio support
-+#
-+# CONFIG_HAMRADIO is not set
-+
-+#
-+# IrDA (infrared) support
-+#
-+CONFIG_IRDA=y
-+# CONFIG_IRLAN is not set
-+# CONFIG_IRNET is not set
-+CONFIG_IRCOMM=y
-+# CONFIG_IRDA_ULTRA is not set
-+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-+CONFIG_IRDA_FAST_RR=y
-+# CONFIG_IRDA_DEBUG is not set
-+
-+#
-+# Infrared-port device drivers
-+#
-+CONFIG_IRTTY_SIR=y
-+# CONFIG_IRPORT_SIR is not set
-+# CONFIG_DONGLE is not set
-+# CONFIG_USB_IRDA is not set
-+# CONFIG_NSC_FIR is not set
-+# CONFIG_WINBOND_FIR is not set
-+# CONFIG_TOSHIBA_FIR is not set
-+# CONFIG_SMC_IRCC_FIR is not set
-+# CONFIG_ALI_FIR is not set
-+# CONFIG_VLSI_FIR is not set
-+
-+#
-+# ATA/IDE/MFM/RLL support
-+#
-+CONFIG_IDE=y
-+
-+#
-+# IDE, ATA and ATAPI Block devices
-+#
-+CONFIG_BLK_DEV_IDE=y
-+# CONFIG_BLK_DEV_HD_IDE is not set
-+# CONFIG_BLK_DEV_HD is not set
-+CONFIG_BLK_DEV_IDEDISK=y
-+# CONFIG_IDEDISK_MULTI_MODE is not set
-+# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
-+# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
-+# CONFIG_BLK_DEV_IDEDISK_IBM is not set
-+# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
-+# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
-+# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
-+# CONFIG_BLK_DEV_IDEDISK_WD is not set
-+# CONFIG_BLK_DEV_COMMERIAL is not set
-+# CONFIG_BLK_DEV_TIVO is not set
-+CONFIG_BLK_DEV_IDECS=y
-+# CONFIG_BLK_DEV_IDECD is not set
-+# CONFIG_BLK_DEV_IDETAPE is not set
-+# CONFIG_BLK_DEV_IDEFLOPPY is not set
-+# CONFIG_BLK_DEV_IDESCSI is not set
-+# CONFIG_BLK_DEV_CMD640 is not set
-+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-+# CONFIG_BLK_DEV_ISAPNP is not set
-+# CONFIG_IDE_CHIPSETS is not set
-+# CONFIG_IDEDMA_AUTO is not set
-+# CONFIG_DMA_NONPCI is not set
-+# CONFIG_BLK_DEV_IDE_MODES is not set
-+# CONFIG_BLK_DEV_ATARAID is not set
-+# CONFIG_BLK_DEV_ATARAID_PDC is not set
-+# CONFIG_BLK_DEV_ATARAID_HPT is not set
-+
-+#
-+# SCSI support
-+#
-+CONFIG_SCSI=y
-+CONFIG_BLK_DEV_SD=y
-+CONFIG_SD_EXTRA_DEVS=40
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_SCSI_DEBUG_QUEUES is not set
-+# CONFIG_SCSI_MULTI_LUN is not set
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_SCSI_7000FASST is not set
-+# CONFIG_SCSI_ACARD is not set
-+# CONFIG_SCSI_AHA152X is not set
-+# CONFIG_SCSI_AHA1542 is not set
-+# CONFIG_SCSI_AHA1740 is not set
-+# CONFIG_SCSI_AACRAID is not set
-+# CONFIG_SCSI_AIC7XXX is not set
-+# CONFIG_SCSI_AIC7XXX_OLD is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_SCSI_ADVANSYS is not set
-+# CONFIG_SCSI_IN2000 is not set
-+# CONFIG_SCSI_AM53C974 is not set
-+# CONFIG_SCSI_MEGARAID is not set
-+# CONFIG_SCSI_BUSLOGIC is not set
-+# CONFIG_SCSI_DMX3191D is not set
-+# CONFIG_SCSI_DTC3280 is not set
-+# CONFIG_SCSI_EATA is not set
-+# CONFIG_SCSI_EATA_DMA is not set
-+# CONFIG_SCSI_EATA_PIO is not set
-+# CONFIG_SCSI_FUTURE_DOMAIN is not set
-+# CONFIG_SCSI_GDTH is not set
-+# CONFIG_SCSI_GENERIC_NCR5380 is not set
-+# CONFIG_SCSI_INITIO is not set
-+# CONFIG_SCSI_INIA100 is not set
-+# CONFIG_SCSI_NCR53C406A is not set
-+# CONFIG_SCSI_NCR53C7xx is not set
-+# CONFIG_SCSI_PAS16 is not set
-+# CONFIG_SCSI_PCI2000 is not set
-+# CONFIG_SCSI_PCI2220I is not set
-+# CONFIG_SCSI_PSI240I is not set
-+# CONFIG_SCSI_QLOGIC_FAS is not set
-+# CONFIG_SCSI_SIM710 is not set
-+# CONFIG_SCSI_SYM53C416 is not set
-+# CONFIG_SCSI_T128 is not set
-+# CONFIG_SCSI_U14_34F is not set
-+# CONFIG_SCSI_DEBUG is not set
-+
-+#
-+# PCMCIA SCSI adapter support
-+#
-+# CONFIG_SCSI_PCMCIA is not set
-+
-+#
-+# I2O device support
-+#
-+# CONFIG_I2O is not set
-+# CONFIG_I2O_BLOCK is not set
-+# CONFIG_I2O_LAN is not set
-+# CONFIG_I2O_SCSI is not set
-+# CONFIG_I2O_PROC is not set
-+
-+#
-+# ISDN subsystem
-+#
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input core support
-+#
-+CONFIG_INPUT=y
-+CONFIG_INPUT_KEYBDEV=y
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-+CONFIG_INPUT_JOYDEV=m
-+CONFIG_INPUT_EVDEV=m
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_SERIAL=y
-+# CONFIG_SERIAL_CONSOLE is not set
-+CONFIG_SERIAL_SL_SERIES=y
-+CONFIG_BLUETOOTH_SL=y
-+# CONFIG_SERIAL_EXTENDED is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_ANAKIN is not set
-+# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
-+# CONFIG_SERIAL_AMBA is not set
-+# CONFIG_SERIAL_AMBA_CONSOLE is not set
-+# CONFIG_SERIAL_CLPS711X is not set
-+# CONFIG_SERIAL_CLPS711X_CONSOLE is not set
-+# CONFIG_SERIAL_21285 is not set
-+# CONFIG_SERIAL_21285_OLD is not set
-+# CONFIG_SERIAL_21285_CONSOLE is not set
-+# CONFIG_SERIAL_UART00 is not set
-+# CONFIG_SERIAL_UART00_CONSOLE is not set
-+# CONFIG_SERIAL_SA1100 is not set
-+# CONFIG_SERIAL_SA1100_CONSOLE is not set
-+# CONFIG_SERIAL_8250 is not set
-+# CONFIG_SERIAL_8250_CONSOLE is not set
-+# CONFIG_SERIAL_8250_EXTENDED is not set
-+# CONFIG_SERIAL_8250_MANY_PORTS is not set
-+# CONFIG_SERIAL_8250_SHARE_IRQ is not set
-+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-+# CONFIG_SERIAL_8250_MULTIPORT is not set
-+# CONFIG_SERIAL_8250_HUB6 is not set
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_UNIX98_PTY_COUNT=256
-+
-+#
-+# I2C support
-+#
-+# CONFIG_I2C is not set
-+
-+#
-+# L3 serial bus support
-+#
-+# CONFIG_L3 is not set
-+# CONFIG_L3_ALGOBIT is not set
-+# CONFIG_L3_BIT_SA1100_GPIO is not set
-+# CONFIG_L3_SA1111 is not set
-+# CONFIG_BIT_SA1100_GPIO is not set
-+
-+#
-+# Mice
-+#
-+# CONFIG_BUSMOUSE is not set
-+# CONFIG_MOUSE is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_GAMEPORT is not set
-+# CONFIG_INPUT_NS558 is not set
-+# CONFIG_INPUT_LIGHTNING is not set
-+# CONFIG_INPUT_PCIGAME is not set
-+# CONFIG_INPUT_CS461X is not set
-+# CONFIG_INPUT_EMU10K1 is not set
-+# CONFIG_INPUT_SERIO is not set
-+# CONFIG_INPUT_SERPORT is not set
-+# CONFIG_INPUT_ANALOG is not set
-+# CONFIG_INPUT_A3D is not set
-+# CONFIG_INPUT_ADI is not set
-+# CONFIG_INPUT_COBRA is not set
-+# CONFIG_INPUT_GF2K is not set
-+# CONFIG_INPUT_GRIP is not set
-+# CONFIG_INPUT_INTERACT is not set
-+# CONFIG_INPUT_TMDC is not set
-+# CONFIG_INPUT_SIDEWINDER is not set
-+# CONFIG_INPUT_IFORCE_USB is not set
-+# CONFIG_INPUT_IFORCE_232 is not set
-+# CONFIG_INPUT_WARRIOR is not set
-+# CONFIG_INPUT_MAGELLAN is not set
-+# CONFIG_INPUT_SPACEORB is not set
-+# CONFIG_INPUT_SPACEBALL is not set
-+# CONFIG_INPUT_STINGER is not set
-+# CONFIG_INPUT_DB9 is not set
-+# CONFIG_INPUT_GAMECON is not set
-+# CONFIG_INPUT_TURBOGRAFX is not set
-+# CONFIG_QIC02_TAPE is not set
-+
-+#
-+# Watchdog Cards
-+#
-+# CONFIG_WATCHDOG is not set
-+# CONFIG_INTEL_RNG is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_RTC is not set
-+CONFIG_COTULLA_RTC=y
-+# CONFIG_ADS7846_TS is not set
-+CONFIG_TOSA_TS=y
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_APPLICOM is not set
-+
-+#
-+# Ftape, the floppy tape device driver
-+#
-+# CONFIG_FTAPE is not set
-+# CONFIG_AGP is not set
-+# CONFIG_DRM is not set
-+
-+#
-+# PCMCIA character devices
-+#
-+CONFIG_PCMCIA_SERIAL_CS=y
-+CONFIG_PCMCIA_CHRDEV=y
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# File systems
-+#
-+# CONFIG_QUOTA is not set
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+CONFIG_FS_SYNC=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_REISERFS_CHECK is not set
-+# CONFIG_REISERFS_PROC_INFO is not set
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_ADFS_FS_RW is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EXT3_FS is not set
-+# CONFIG_JBD is not set
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FAT_FS=y
-+# CONFIG_MSDOS_FS is not set
-+# CONFIG_UMSDOS_FS is not set
-+CONFIG_VFAT_FS=y
-+# CONFIG_EFS_FS is not set
-+# CONFIG_JFFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_NAND=y
-+CONFIG_JFFS2_PROC_FS=y
-+CONFIG_JFFS2_NODEMERGE=y
-+CONFIG_JFFS2_DYNFRAGTREE=y
-+CONFIG_CRAMFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_RAMFS is not set
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_JOLIET is not set
-+# CONFIG_ZISOFS is not set
-+CONFIG_MINIX_FS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_NTFS_FS is not set
-+# CONFIG_NTFS_RW is not set
-+# CONFIG_HPFS_FS is not set
-+CONFIG_PROC_FS=y
-+# CONFIG_DEVFS_FS is not set
-+# CONFIG_DEVFS_MOUNT is not set
-+# CONFIG_DEVFS_DEBUG is not set
-+CONFIG_DEVPTS_FS=y
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_QNX4FS_RW is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_EXT2_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UDF_FS is not set
-+# CONFIG_UDF_RW is not set
-+# CONFIG_UFS_FS is not set
-+# CONFIG_UFS_FS_WRITE is not set
-+
-+#
-+# Network File Systems
-+#
-+# CONFIG_CODA_FS is not set
-+# CONFIG_INTERMEZZO_FS is not set
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_ROOT_NFS is not set
-+# CONFIG_NFSD is not set
-+# CONFIG_NFSD_V3 is not set
-+CONFIG_SUNRPC=y
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_SMB_FS=y
-+# CONFIG_SMB_NLS_DEFAULT is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_NCPFS_PACKET_SIGNING is not set
-+# CONFIG_NCPFS_IOCTL_LOCKING is not set
-+# CONFIG_NCPFS_STRONG is not set
-+# CONFIG_NCPFS_NFS_NS is not set
-+# CONFIG_NCPFS_OS2_NS is not set
-+# CONFIG_NCPFS_SMALLDOS is not set
-+# CONFIG_NCPFS_NLS is not set
-+# CONFIG_NCPFS_EXTRAS is not set
-+# CONFIG_ZISOFS_FS is not set
-+CONFIG_ZLIB_FS_INFLATE=y
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+CONFIG_SMB_NLS=y
-+CONFIG_NLS=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+CONFIG_NLS_CODEPAGE_850=y
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+CONFIG_NLS_CODEPAGE_932=y
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+CONFIG_NLS_UTF8=y
-+
-+#
-+# Console drivers
-+#
-+CONFIG_PC_KEYMAP=y
-+# CONFIG_VGA_CONSOLE is not set
-+
-+#
-+# Frame-buffer support
-+#
-+CONFIG_FB=y
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FB_COLLIE is not set
-+# CONFIG_FB_ACORN is not set
-+# CONFIG_FB_ANAKIN is not set
-+# CONFIG_FB_CLPS711X is not set
-+# CONFIG_FB_SA1100 is not set
-+# CONFIG_FB_PXA is not set
-+# CONFIG_FB_COTULLA is not set
-+# CONFIG_FB_POODLE is not set
-+# CONFIG_FB_CORGI is not set
-+CONFIG_FB_TOSA=y
-+CONFIG_SHARP_LOGO_SCREEN=y
-+# CONFIG_FB_CYBER2000 is not set
-+# CONFIG_FB_VIRTUAL is not set
-+CONFIG_FBCON_ADVANCED=y
-+# CONFIG_FBCON_MFB is not set
-+# CONFIG_FBCON_CFB2 is not set
-+# CONFIG_FBCON_CFB4 is not set
-+# CONFIG_FBCON_CFB8 is not set
-+CONFIG_FBCON_CFB16=y
-+# CONFIG_FBCON_CFB24 is not set
-+# CONFIG_FBCON_CFB32 is not set
-+# CONFIG_FBCON_AFB is not set
-+# CONFIG_FBCON_ILBM is not set
-+# CONFIG_FBCON_IPLAN2P2 is not set
-+# CONFIG_FBCON_IPLAN2P4 is not set
-+# CONFIG_FBCON_IPLAN2P8 is not set
-+# CONFIG_FBCON_MAC is not set
-+# CONFIG_FBCON_VGA_PLANES is not set
-+# CONFIG_FBCON_VGA is not set
-+# CONFIG_FBCON_HGA is not set
-+# CONFIG_FBCON_ROTATE_R is not set
-+# CONFIG_FBCON_ROTATE_L is not set
-+# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-+CONFIG_FBCON_FONTS=y
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+
-+#
-+# Sound
-+#
-+CONFIG_SOUND=y
-+# CONFIG_SOUND_BT878 is not set
-+# CONFIG_SOUND_COLLIE_SSP is not set
-+# CONFIG_SOUND_COLLIE_TC35143 is not set
-+# CONFIG_SOUND_CMPCI is not set
-+# CONFIG_SOUND_EMU10K1 is not set
-+# CONFIG_MIDI_EMU10K1 is not set
-+# CONFIG_SOUND_FUSION is not set
-+# CONFIG_SOUND_CS4281 is not set
-+# CONFIG_SOUND_ES1370 is not set
-+# CONFIG_SOUND_ES1371 is not set
-+# CONFIG_SOUND_ESSSOLO1 is not set
-+# CONFIG_SOUND_MAESTRO is not set
-+# CONFIG_SOUND_MAESTRO3 is not set
-+# CONFIG_SOUND_ICH is not set
-+# CONFIG_SOUND_RME96XX is not set
-+# CONFIG_SOUND_SONICVIBES is not set
-+# CONFIG_SOUND_TRIDENT is not set
-+# CONFIG_SOUND_MSNDCLAS is not set
-+# CONFIG_SOUND_MSNDPIN is not set
-+# CONFIG_SOUND_VIA82CXXX is not set
-+# CONFIG_MIDI_VIA82CXXX is not set
-+# CONFIG_SOUND_OSS is not set
-+# CONFIG_SOUND_WAVEARTIST is not set
-+# CONFIG_SOUND_PXA_AC97 is not set
-+# CONFIG_SOUND_POODLE is not set
-+# CONFIG_SOUND_CORGI is not set
-+CONFIG_SOUND_TOSA=y
-+CONFIG_BUZZER_TOSA=y
-+# CONFIG_SOUND_TVMIXER is not set
-+
-+#
-+# Multimedia Capabilities Port drivers
-+#
-+# CONFIG_MCP is not set
-+# CONFIG_MCP_SA1100 is not set
-+# CONFIG_MCP_UCB1200 is not set
-+# CONFIG_MCP_UCB1200_AUDIO is not set
-+# CONFIG_MCP_UCB1200_TS is not set
-+# CONFIG_MCP_UCB1400_TS is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_BANDWIDTH is not set
-+# CONFIG_USB_LONG_TIMEOUT is not set
-+# CONFIG_USB_UHCI is not set
-+# CONFIG_USB_UHCI_ALT is not set
-+# CONFIG_USB_OHCI is not set
-+# CONFIG_USB_OHCI_SA1111 is not set
-+CONFIG_USB_OHCI_TC6393=m
-+CONFIG_USB_USE_INTERNAL_MEMORY=y
-+# CONFIG_USB_AUDIO is not set
-+# CONFIG_USB_BLUETOOTH is not set
-+CONFIG_USB_STORAGE=m
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+CONFIG_USB_STORAGE_ISD200=y
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_HP8200e is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+CONFIG_USB_ACM=m
-+# CONFIG_USB_PRINTER is not set
-+CONFIG_USB_HID=m
-+# CONFIG_USB_HIDDEV is not set
-+CONFIG_USB_KBD=m
-+CONFIG_USB_MOUSE=m
-+# CONFIG_USB_WACOM is not set
-+# CONFIG_USB_DC2XX is not set
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_SCANNER is not set
-+# CONFIG_USB_MICROTEK is not set
-+# CONFIG_USB_HPUSBSCSI is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_CDCETHER is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_USB_USS720 is not set
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+# CONFIG_USB_SERIAL_GENERIC is not set
-+# CONFIG_USB_SERIAL_BELKIN is not set
-+# CONFIG_USB_SERIAL_WHITEHEAT is not set
-+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-+# CONFIG_USB_SERIAL_EMPEG is not set
-+# CONFIG_USB_SERIAL_FTDI_SIO is not set
-+# CONFIG_USB_SERIAL_VISOR is not set
-+# CONFIG_USB_SERIAL_IPAQ is not set
-+# CONFIG_USB_SERIAL_IR is not set
-+# CONFIG_USB_SERIAL_EDGEPORT is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-+# CONFIG_USB_SERIAL_KEYSPAN is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-+# CONFIG_USB_SERIAL_MCT_U232 is not set
-+# CONFIG_USB_SERIAL_KLSI is not set
-+# CONFIG_USB_SERIAL_PL2303 is not set
-+# CONFIG_USB_SERIAL_CYBERJACK is not set
-+# CONFIG_USB_SERIAL_XIRCOM is not set
-+# CONFIG_USB_SERIAL_OMNINET is not set
-+# CONFIG_USB_RIO500 is not set
-+
-+#
-+# USB Device Support
-+#
-+CONFIG_USBD=m
-+CONFIG_USBD_VENDORID=04DD
-+CONFIG_USBD_PRODUCTID=9032
-+CONFIG_USBD_PRODUCT_NAME="SL-6000"
-+CONFIG_USBD_MANUFACTURER="Sharp"
-+# CONFIG_USBD_USE_SERIAL_NUMBER is not set
-+CONFIG_USBD_SELFPOWERED=y
-+CONFIG_USBD_MONITOR=m
-+CONFIG_USBD_PROCFS=y
-+
-+#
-+# Network Function
-+#
-+CONFIG_USBD_NET=m
-+CONFIG_USBD_NET_VENDORID=04DD
-+CONFIG_USBD_NET_PRODUCTID=9032
-+CONFIG_USBD_NET_IFNAME="usbd"
-+CONFIG_USBD_NET_OUT_ENDPOINT=1
-+CONFIG_USBD_NET_OUT_PKTSIZE=64
-+CONFIG_USBD_NET_IN_ENDPOINT=2
-+CONFIG_USBD_NET_IN_PKTSIZE=64
-+CONFIG_USBD_NET_INT_ENDPOINT=3
-+CONFIG_USBD_NET_INT_PKTSIZE=16
-+# CONFIG_USBD_NET_ALWAYSUP is not set
-+# CONFIG_USBD_NET_SAFE is not set
-+CONFIG_USBD_NET_MDLM=y
-+# CONFIG_USBD_NET_CDC is not set
-+CONFIG_USBD_NET_REMOTE_MACADDR=""
-+CONFIG_USBD_NET_REMOTE_OUI=400002
-+CONFIG_USBD_MAC_AS_SERIAL_NUMBER=y
-+CONFIG_USBD_NET_LOCAL_MACADDR="400001000001"
-+CONFIG_USBD_NET_LOCAL_OUI=400001
-+
-+#
-+# Serial Function
-+#
-+# CONFIG_USBD_SERIAL is not set
-+
-+#
-+# USB Device Bus Interface Support
-+#
-+CONFIG_USBD_PXA_BUS=m
-+# CONFIG_USBD_GENERIC_BUS is not set
-+
-+#
-+# Bluetooth support
-+#
-+# CONFIG_BLUEZ is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_DEBUG_USER is not set
-+# CONFIG_DEBUG_COREDUMP_SIGNAL is not set
-+# CONFIG_DEBUG_INFO is not set
-+# CONFIG_NO_PGT_CACHE is not set
-+# CONFIG_DEBUG_KERNEL is not set
-+# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_WAITQ is not set
-+# CONFIG_DEBUG_BUGVERBOSE is not set
-+# CONFIG_DEBUG_ERRORS is not set
-+# CONFIG_DEBUG_LL is not set
-+# CONFIG_DEBUG_DC21285_PORT is not set
-+# CONFIG_DEBUG_CLPS711X_UART2 is not set
-diff -Nur linux_c860_org/arch/arm/kernel/entry-armv.S linux/arch/arm/kernel/entry-armv.S
---- linux_c860_org/arch/arm/kernel/entry-armv.S 2002-12-18 19:27:21.000000000 +0900
-+++ linux/arch/arm/kernel/entry-armv.S 2004-06-10 21:09:10.000000000 +0900
-@@ -769,6 +769,12 @@
- add r4, sp, #S_SP
- mov r6, lr
- stmia r4, {r5, r6, r7, r8, r9} @ save sp_SVC, lr_SVC, pc, cpsr, old_ro
-+#ifdef CONFIG_PREEMPT
-+ get_current_task r9
-+ ldr r8, [r9, #TSK_PREEMPT]
-+ add r8, r8, #1
-+ str r8, [r9, #TSK_PREEMPT]
-+#endif
- 1: get_irqnr_and_base r0, r6, r5, lr
- movne r1, sp
- @
-@@ -776,6 +782,25 @@
- @
- adrsvc ne, lr, 1b
- bne do_IRQ
-+#ifdef CONFIG_PREEMPT
-+2: ldr r8, [r9, #TSK_PREEMPT]
-+ subs r8, r8, #1
-+ bne 3f
-+ ldr r7, [r9, #TSK_NEED_RESCHED]
-+ teq r7, #0
-+ beq 3f
-+ ldr r6, .LCirqstat
-+ ldr r0, [r6, #IRQSTAT_BH_COUNT]
-+ teq r0, #0
-+ bne 3f
-+ mov r0, #MODE_SVC
-+ msr cpsr_c, r0 @ enable interrupts
-+ bl SYMBOL_NAME(preempt_schedule)
-+ mov r0, #I_BIT | MODE_SVC
-+ msr cpsr_c, r0 @ disable interrupts
-+ b 2b
-+3: str r8, [r9, #TSK_PREEMPT]
-+#endif
- ldr r0, [sp, #S_PSR] @ irqs are already disabled
- msr spsr, r0
- ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr
-@@ -833,6 +858,9 @@
- .LCprocfns: .word SYMBOL_NAME(processor)
- #endif
- .LCfp: .word SYMBOL_NAME(fp_enter)
-+#ifdef CONFIG_PREEMPT
-+.LCirqstat: .word SYMBOL_NAME(irq_stat)
-+#endif
-
- irq_prio_table
-
-@@ -873,6 +901,12 @@
- stmdb r8, {sp, lr}^
- alignment_trap r4, r7, __temp_irq
- zero_fp
-+ get_current_task tsk
-+#ifdef CONFIG_PREEMPT
-+ ldr r0, [tsk, #TSK_PREEMPT]
-+ add r0, r0, #1
-+ str r0, [tsk, #TSK_PREEMPT]
-+#endif
- 1: get_irqnr_and_base r0, r6, r5, lr
- movne r1, sp
- adrsvc ne, lr, 1b
-@@ -880,8 +914,12 @@
- @ routine called with r0 = irq number, r1 = struct pt_regs *
- @
- bne do_IRQ
-+#ifdef CONFIG_PREEMPT
-+ ldr r0, [tsk, #TSK_PREEMPT]
-+ sub r0, r0, #1
-+ str r0, [tsk, #TSK_PREEMPT]
-+#endif
- mov why, #0
-- get_current_task tsk
- b ret_to_user
-
- .align 5
-diff -Nur linux_c860_org/arch/arm/kernel/process.c linux/arch/arm/kernel/process.c
---- linux_c860_org/arch/arm/kernel/process.c 2003-06-18 16:12:25.000000000 +0900
-+++ linux/arch/arm/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -382,7 +382,7 @@
- * a system call from a "real" process, but the process memory space will
- * not be free'd until both the parent and the child have exited.
- */
--pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
- {
- pid_t __ret;
-
-diff -Nur linux_c860_org/arch/arm/kernel/time.c linux/arch/arm/kernel/time.c
---- linux_c860_org/arch/arm/kernel/time.c 2002-08-26 14:39:49.000000000 +0900
-+++ linux/arch/arm/kernel/time.c 2004-06-10 21:09:10.000000000 +0900
-@@ -15,6 +15,7 @@
- * fixed set_rtc_mmss, fixed time.year for >= 2000, new mktime
- * 1998-12-20 Updated NTP code according to technical memorandum Jan '96
- * "A Kernel Model for Precision Timekeeping" by Dave Mills
-+ * 1-Nov-2003 Sharp Corporation for Tosa
- */
- #include <linux/config.h>
- #include <linux/module.h>
-@@ -149,6 +150,15 @@
- #define do_leds()
- #endif
-
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#define AVOID_ROLLBACK
-+#ifdef AVOID_ROLLBACK
-+int rollback_cancel = 0;
-+static unsigned long last_sec = 0;
-+static unsigned long last_usec = 0;
-+#endif
-+#endif
-+
- void do_gettimeofday(struct timeval *tv)
- {
- unsigned long flags;
-@@ -172,6 +182,25 @@
- sec++;
- }
-
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#ifdef AVOID_ROLLBACK
-+ if (rollback_cancel && last_sec) {
-+ if (last_sec>sec && last_sec-sec<4 ) {
-+ //X printk("ERROR: time was fixed!(-%d sec)\n",last_sec-sec);
-+ sec = last_sec;
-+ usec = last_usec+1;
-+ } else if (last_sec==sec) {
-+ if (last_usec>usec) { // usec is always fixed.
-+ //X printk("ERROR: time was fixed!!(-%d usec)\n",last_usec-usec);
-+ usec = last_usec+1;
-+ }
-+ }
-+ }
-+ last_sec = sec;
-+ last_usec = usec;
-+#endif
-+#endif
-+
- tv->tv_sec = sec;
- tv->tv_usec = usec;
- }
-@@ -199,6 +228,13 @@
- time_maxerror = NTP_PHASE_LIMIT;
- time_esterror = NTP_PHASE_LIMIT;
- write_unlock_irq(&xtime_lock);
-+
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#ifdef AVOID_ROLLBACK
-+ last_sec = 0;
-+ last_usec = 0;
-+#endif
-+#endif
- }
-
- static struct irqaction timer_irq = {
-diff -Nur linux_c860_org/arch/arm/kernel/traps.c linux/arch/arm/kernel/traps.c
---- linux_c860_org/arch/arm/kernel/traps.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/arch/arm/kernel/traps.c 2004-06-10 21:09:10.000000000 +0900
-@@ -14,6 +14,7 @@
- *
- * Change Log
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- *
- */
- #include <linux/config.h>
-@@ -35,7 +36,7 @@
- #include <asm/unistd.h>
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- #include <asm/mach-types.h>
- #include <asm/hardware.h>
- #include <asm/memory.h>
-@@ -292,10 +293,12 @@
- mm_segment_t fs;
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+#if CONFIG_PM
- extern sharpsl_fataloff(void);
- sharpsl_fataloff();
- #endif
-+#endif
-
- console_verbose();
-
-diff -Nur linux_c860_org/arch/arm/mach-pxa/Makefile linux/arch/arm/mach-pxa/Makefile
---- linux_c860_org/arch/arm/mach-pxa/Makefile 2002-11-14 10:33:31.000000000 +0900
-+++ linux/arch/arm/mach-pxa/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -16,7 +16,8 @@
-
- export-objs := generic.o irq.o dma.o sa1111.o \
- usb_ctl.o usb_recv.o usb_send.o \
-- discovery.o cotulla_dma.o pxa_ssp.o
-+ discovery.o cotulla_dma.o pxa_ssp.o tosa.o \
-+ tosa_ac97.o
-
- # Common support (must be linked before board specific support)
- obj-y += generic.o irq.o
-@@ -33,6 +34,8 @@
- obj-$(CONFIG_SABINAL_DISCOVERY) += discovery.o discovery_arch.o pxa_ssp.o
- obj-$(CONFIG_ARCH_PXA_POODLE) += poodle.o m62332.o pxa_ssp.o poodle_buzzer.o
- obj-$(CONFIG_ARCH_PXA_CORGI) += corgi.o pxa_ssp.o poodle_buzzer.o
-+obj-$(CONFIG_ARCH_PXA_TOSA) += tosa.o pxa_nssp.o tosa_ac97.o
-+obj-$(CONFIG_BUZZER_TOSA) += tosa_buzzer.o
-
- # Support for blinky lights
- leds-y := leds.o
-@@ -66,6 +69,10 @@
- obj-$(CONFIG_BATT) += sharpsl_battery.o sharpsl_param.o
- export-objs += sharpsl_battery.o
- endif
-+ ifeq ($(CONFIG_ARCH_PXA_TOSA),y)
-+ obj-$(CONFIG_BATT) += tosa_battery.o sharpsl_param.o
-+ export-objs += tosa_battery.o
-+ endif
- else
- obj-$(CONFIG_PM) += pm.o sleep.o
- endif
-@@ -82,6 +89,9 @@
- ifeq ($(CONFIG_ARCH_PXA_CORGI),y)
- devinfo-objs-m += sharpsl_deviceinfo.o
- endif
-+ ifeq ($(CONFIG_ARCH_PXA_TOSA),y)
-+ devinfo-objs-m += sharpsl_deviceinfo.o
-+ endif
- endif
-
- obj-m += registers.o
-diff -Nur linux_c860_org/arch/arm/mach-pxa/corgi.c linux/arch/arm/mach-pxa/corgi.c
---- linux_c860_org/arch/arm/mach-pxa/corgi.c 2003-06-18 16:12:25.000000000 +0900
-+++ linux/arch/arm/mach-pxa/corgi.c 2004-06-10 21:09:10.000000000 +0900
-@@ -298,7 +298,11 @@
-
- static struct map_desc corgi_io_desc[] __initdata = {
- /* virtual physical length domain r w c b */
-+#if defined(CONFIG_CORGI_LCD_BUFF)
-+ { 0xf1000000, 0x08000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 1 }, /* LCDC (readable for Qt driver) */
-+#else
- { 0xf1000000, 0x08000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* LCDC (readable for Qt driver) */
-+#endif
- { 0xf2000000, 0x10800000, 0x00001000, DOMAIN_IO, 0, 1, 0, 0 }, /* SCOOP */
- { 0xf2100000, 0x0C000000, 0x00001000, DOMAIN_IO, 0, 1, 0, 0 }, /* Nand Flash */
- { 0xef000000, 0x00000000, 0x00800000, DOMAIN_IO, 1, 1, 1, 0 }, /* Boot Flash */
-diff -Nur linux_c860_org/arch/arm/mach-pxa/pxa_nssp.c linux/arch/arm/mach-pxa/pxa_nssp.c
---- linux_c860_org/arch/arm/mach-pxa/pxa_nssp.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/arch/arm/mach-pxa/pxa_nssp.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,57 @@
-+/*
-+ * linux/arch/arm/mach-pxa/pxa_nssp.c
-+ *
-+ * NSSP read routines for tosa (SHARP)
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/interrupt.h>
-+#include <linux/random.h>
-+#include <linux/proc_fs.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <asm/hardware.h>
-+
-+static spinlock_t pxa_nssp_lock = SPIN_LOCK_UNLOCKED;
-+static unsigned long flag;
-+static unsigned char initialized = 0;
-+
-+void pxa_nssp_output(unsigned char reg, unsigned char data)
-+{
-+ int i;
-+ unsigned char dat = ( ((reg << 5) & 0xe0) | (data & 0x1f) );
-+
-+ spin_lock_irqsave(&pxa_nssp_lock, flag);
-+
-+ GPCR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK);
-+ GPCR(GPIO_TG_SPI_CS) |= GPIO_bit(GPIO_TG_SPI_CS);
-+ for(i = 0; i < 8; i++) {
-+ if( !(dat & (1<<(7-i))) )
-+ GPCR(GPIO_TG_SPI_MOSI) |= GPIO_bit(GPIO_TG_SPI_MOSI);
-+ else
-+ GPSR(GPIO_TG_SPI_MOSI) |= GPIO_bit(GPIO_TG_SPI_MOSI);
-+ GPSR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK);
-+ GPCR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK);
-+ }
-+ GPSR(GPIO_TG_SPI_CS) |= GPIO_bit(GPIO_TG_SPI_CS);
-+ spin_unlock_irqrestore(&pxa_nssp_lock, flag);
-+}
-+
-+void pxa_nssp_init(void)
-+{
-+ /* initialize SSP */
-+ set_GPIO_mode(GPIO_TG_SPI_SCLK | GPIO_OUT);
-+ set_GPIO_mode(GPIO_TG_SPI_CS | GPIO_OUT);
-+ set_GPIO_mode(GPIO_TG_SPI_MOSI | GPIO_OUT);
-+ GPSR(GPIO_TG_SPI_CS) |= GPIO_bit(GPIO_TG_SPI_CS);
-+ GPCR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK);
-+}
-diff -Nur linux_c860_org/arch/arm/mach-pxa/registers.c linux/arch/arm/mach-pxa/registers.c
---- linux_c860_org/arch/arm/mach-pxa/registers.c 2002-09-18 18:42:27.000000000 +0900
-+++ linux/arch/arm/mach-pxa/registers.c 2004-06-10 21:09:10.000000000 +0900
-@@ -5,7 +5,10 @@
- This code is based on SA1110's register moniter
-
- ****************************************************************************/
--
-+/*
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ */
- /****************************************************************************
-
- registers.c: Register monitor of SA-1110
-@@ -66,6 +69,7 @@
- #include <linux/ioport.h>
- #include <asm/uaccess.h> /* to copy to/from userspace */
- #include <asm/arch/hardware.h>
-+#include <asm/io.h>
-
- //typedef unsigned long Word;
-
-@@ -74,6 +78,10 @@
- #define USE_LOCOMO
- #elif defined(CONFIG_ARCH_PXA_CORGI)
- #define USE_SCOOP
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#define USE_SCOOP
-+#define USE_SCOOP2
-+#define USE_KUROHYO
- #endif
-
- #define MODULE_NAME "regmon"
-@@ -83,6 +91,12 @@
- #ifdef USE_SCOOP
- #define SCOOP_DIRNAME "scoop"
- #endif
-+#ifdef USE_SCOOP2
-+#define SCOOP2_DIRNAME "scoop2"
-+#endif
-+#ifdef USE_KUROHYO
-+#define KUROHYO_DIRNAME "kurohyo"
-+#endif
- #ifdef USE_LOCOMO
- #define LOCOMO_DIRNAME "locomo"
- #endif
-@@ -183,6 +197,223 @@
- SCP_REG(current_reg->phyaddr)=newRegValue;
- return (count+endp-buffer);
- }
-+#endif
-+#ifdef USE_SCOOP2
-+static ssize_t proc_scoop2_read_reg(struct file * file, char * buf,
-+ size_t nbytes, loff_t *ppos);
-+static ssize_t proc_scoop2_write_reg(struct file * file, const char * buffer,
-+ size_t count, loff_t *ppos);
-+
-+
-+static struct file_operations proc_scoop2_reg_operations = {
-+ read: proc_scoop2_read_reg,
-+ write: proc_scoop2_write_reg
-+};
-+
-+typedef struct scoop2_reg_entry {
-+ u32 phyaddr;
-+ char* name;
-+ char* description;
-+ unsigned short low_ino;
-+} scoop2_reg_entry_t;
-+
-+
-+static scoop2_reg_entry_t scoop2_regs[] =
-+{
-+/* { phyaddr, name, description } */
-+ { 0x00, "MCR", " " },
-+ { 0x04, "CDR", " " },
-+ { 0x08, "CSR", " " },
-+ { 0x0C, "CPR", " " },
-+ { 0x10, "CCR", " " },
-+ { 0x14, "IRR", " " },
-+ { 0x18, "IMR", " " },
-+ { 0x1C, "ISR", " " },
-+ { 0x20, "GPCR", " " },
-+ { 0x24, "GPWR", " " },
-+ { 0x28, "GPRR", " " }
-+};
-+
-+
-+#define NUM_OF_SCOOP2_REG_ENTRY (sizeof(scoop2_regs)/sizeof(scoop2_reg_entry_t))
-+
-+
-+static int proc_scoop2_read_reg(struct file * file, char * buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ char outputbuf[15];
-+ int count;
-+ int i;
-+ scoop2_reg_entry_t* current_reg=NULL;
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ for (i=0;i<NUM_OF_SCOOP2_REG_ENTRY;i++) {
-+ if (scoop2_regs[i].low_ino==i_ino) {
-+ current_reg = &scoop2_regs[i];
-+ break;
-+ }
-+ }
-+ if (current_reg==NULL)
-+ return -EINVAL;
-+
-+ count = sprintf(outputbuf, "0x%04X\n",SCP_JC_REG(current_reg->phyaddr));
-+ *ppos+=count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t proc_scoop2_write_reg(struct file * file, const char * buffer,
-+ size_t count, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ scoop2_reg_entry_t* current_reg=NULL;
-+ int i;
-+ unsigned long newRegValue;
-+ char *endp;
-+
-+ for (i=0;i<NUM_OF_SCOOP2_REG_ENTRY;i++) {
-+ if (scoop2_regs[i].low_ino==i_ino) {
-+ current_reg = &scoop2_regs[i];
-+ break;
-+ }
-+ }
-+ if (current_reg==NULL)
-+ return -EINVAL;
-+
-+ newRegValue = simple_strtoul(buffer,&endp,0);
-+ SCP_JC_REG(current_reg->phyaddr)=newRegValue;
-+ return (count+endp-buffer);
-+}
-+
-+#endif
-+#ifdef USE_KUROHYO
-+static ssize_t proc_kurohyo_read_reg(struct file * file, char * buf,
-+ size_t nbytes, loff_t *ppos);
-+static ssize_t proc_kurohyo_write_reg(struct file * file, const char * buffer,
-+ size_t count, loff_t *ppos);
-+
-+
-+static struct file_operations proc_kurohyo_reg_operations = {
-+ read: proc_kurohyo_read_reg,
-+ write: proc_kurohyo_write_reg
-+};
-+
-+typedef struct kurohyo_reg_entry {
-+ u32 phyaddr;
-+ char* name;
-+ char* description;
-+ unsigned short low_ino;
-+} kurohyo_reg_entry_t;
-+
-+
-+static kurohyo_reg_entry_t kurohyo_regs[] =
-+{
-+/* { phyaddr, name, description } */
-+ { 0x000, "PINTST", " " },
-+ { 0x008, "VHLIN", " " },
-+ { 0x00A, "CMDADR_L", " " },
-+ { 0x00C, "CMDADR_H", " " },
-+ { 0x00E, "CMDFIF", " " },
-+ { 0x010, "CMDFINT", " " },
-+ { 0x012, "BINTMSK", " " },
-+ { 0x014, "BINTST", " " },
-+ { 0x016, "FIPT", " " },
-+ { 0x018, "DMAST", " " },
-+ { 0x01C, "COMD_L", " "},
-+ { 0x01E, "COMD_H", " "},
-+ { 0x022, "FIFOR", " "},
-+ { 0x024, "COMSMD", " "},
-+
-+ { 0x100, "PLCNT", " " },
-+ { 0x102, "PLCST", " " },
-+ { 0x108, "PLIST", " " },
-+ { 0x10A, "PLIEN", " " },
-+ { 0x10C, "PLSEN", " " },
-+ { 0x122, "PLDSA_L", " " },
-+ { 0x124, "PLDSA_H", " " },
-+ { 0x12A, "PLPIT_L", " " },
-+ { 0x12C, "PLPIT_H", " " },
-+ { 0x12E, "PLGMD", " " },
-+ { 0x140, "PLHT", " " },
-+ { 0x142, "PLHDS", " " },
-+ { 0x144, "PLHSS", " " },
-+ { 0x146, "PLHSE", " " },
-+ { 0x14C, "PLHPX", " " },
-+ { 0x150, "PLVT", " " },
-+ { 0x152, "PLVDS", " " },
-+ { 0x154, "PLVSS", " " },
-+ { 0x156, "PLVSE", " " },
-+ { 0x160, "PLCLN", " " },
-+ { 0x162, "PLILN", " " },
-+ { 0x164, "PLMOD", " " },
-+ { 0x166, "MISC", " " },
-+ { 0x16A, "PWHSP", " " },
-+ { 0x16C, "PWVDS", " " },
-+ { 0x16E, "PWVDE", " " },
-+ { 0x170, "PWVSP", " " },
-+ { 0x180, "VWADR_L", " " },
-+ { 0x182, "VWADR_H", " " },
-+};
-+
-+
-+#define NUM_OF_KUROHYO_REG_ENTRY (sizeof(kurohyo_regs)/sizeof(kurohyo_reg_entry_t))
-+
-+#define KUROHYO_LCD_INNER_ADDRESS (TC6393_SYS_BASE+TC6393_GC_INTERNAL_REG_BASE)
-+
-+static int proc_kurohyo_read_reg(struct file * file, char * buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ char outputbuf[15];
-+ int count;
-+ int i;
-+ kurohyo_reg_entry_t* current_reg=NULL;
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ for (i=0;i<NUM_OF_KUROHYO_REG_ENTRY;i++) {
-+ if (kurohyo_regs[i].low_ino==i_ino) {
-+ current_reg = &kurohyo_regs[i];
-+ break;
-+ }
-+ }
-+ if (current_reg==NULL)
-+ return -EINVAL;
-+
-+ count = sprintf(outputbuf, "0x%04X\n",readw(KUROHYO_LCD_INNER_ADDRESS + current_reg->phyaddr));
-+ *ppos+=count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t proc_kurohyo_write_reg(struct file * file, const char * buffer,
-+ size_t count, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ kurohyo_reg_entry_t* current_reg=NULL;
-+ int i;
-+ unsigned long newRegValue;
-+ char *endp;
-+
-+ for (i=0;i<NUM_OF_KUROHYO_REG_ENTRY;i++) {
-+ if (kurohyo_regs[i].low_ino==i_ino) {
-+ current_reg = &kurohyo_regs[i];
-+ break;
-+ }
-+ }
-+ if (current_reg==NULL)
-+ return -EINVAL;
-+
-+ newRegValue = simple_strtoul(buffer,&endp,0);
-+ writew(newRegValue,KUROHYO_LCD_INNER_ADDRESS + current_reg->phyaddr);
-+ return (count+endp-buffer);
-+}
-
- #endif
-
-@@ -814,6 +1045,14 @@
- static struct proc_dir_entry *scoop_regdir;
- static struct proc_dir_entry *scoopdir;
- #endif
-+#ifdef USE_SCOOP2
-+static struct proc_dir_entry *scoop2_regdir;
-+static struct proc_dir_entry *scoop2dir;
-+#endif
-+#ifdef USE_KUROHYO
-+static struct proc_dir_entry *kurohyo_regdir;
-+static struct proc_dir_entry *kurohyodir;
-+#endif
-
- #ifdef USE_LOCOMO
- static struct proc_dir_entry *locomo_regdir;
-@@ -879,6 +1118,62 @@
- }
- }
- #endif
-+#ifdef USE_SCOOP2
-+ scoop2dir = proc_mkdir(SCOOP2_DIRNAME, &proc_root);
-+ if (scoop2dir == NULL) {
-+ printk(KERN_ERR MODULE_NAME": can't create /proc/" SCOOP2_DIRNAME "\n");
-+ return(-ENOMEM);
-+ }
-+
-+ scoop2_regdir = proc_mkdir(REG_DIRNAME, scoop2dir);
-+ if (scoop2_regdir == NULL) {
-+ printk(KERN_ERR MODULE_NAME": can't create /proc/" SCOOP2_DIRNAME "/" REG_DIRNAME "\n");
-+ return(-ENOMEM);
-+ }
-+
-+ for(i=0;i<NUM_OF_SCOOP2_REG_ENTRY;i++) {
-+ entry = create_proc_entry(scoop2_regs[i].name,
-+ S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH,
-+ scoop2_regdir);
-+ if(entry) {
-+ scoop2_regs[i].low_ino = entry->low_ino;
-+ entry->proc_fops = &proc_scoop2_reg_operations;
-+ } else {
-+ printk( KERN_ERR MODULE_NAME
-+ ": can't create /proc/" REG_DIRNAME
-+ "/%s\n", scoop2_regs[i].name);
-+ return(-ENOMEM);
-+ }
-+ }
-+#endif
-+#ifdef USE_KUROHYO
-+ kurohyodir = proc_mkdir(KUROHYO_DIRNAME, &proc_root);
-+ if (kurohyodir == NULL) {
-+ printk(KERN_ERR MODULE_NAME": can't create /proc/" KUROHYO_DIRNAME "\n");
-+ return(-ENOMEM);
-+ }
-+
-+ kurohyo_regdir = proc_mkdir(REG_DIRNAME, kurohyodir);
-+ if (kurohyo_regdir == NULL) {
-+ printk(KERN_ERR MODULE_NAME": can't create /proc/" KUROHYO_DIRNAME "/" REG_DIRNAME "\n");
-+ return(-ENOMEM);
-+ }
-+
-+ for(i=0;i<NUM_OF_KUROHYO_REG_ENTRY;i++) {
-+ entry = create_proc_entry(kurohyo_regs[i].name,
-+ S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH,
-+ kurohyo_regdir);
-+ if(entry) {
-+ kurohyo_regs[i].low_ino = entry->low_ino;
-+ entry->proc_fops = &proc_kurohyo_reg_operations;
-+ } else {
-+ printk( KERN_ERR MODULE_NAME
-+ ": can't create /proc/" REG_DIRNAME
-+ "/%s\n", kurohyo_regs[i].name);
-+ return(-ENOMEM);
-+ }
-+ }
-+#endif
-
- #ifdef USE_LOCOMO
- locomodir = proc_mkdir(LOCOMO_DIRNAME, &proc_root);
-@@ -925,6 +1220,18 @@
- remove_proc_entry(REG_DIRNAME, scoopdir);
- remove_proc_entry(SCOOP_DIRNAME, &proc_root);
- #endif
-+#ifdef USE_SCOOP2
-+ for(i=0;i<NUM_OF_SCOOP2_REG_ENTRY;i++)
-+ remove_proc_entry(scoop2_regs[i].name,scoop2_regdir);
-+ remove_proc_entry(REG_DIRNAME, scoop2dir);
-+ remove_proc_entry(SCOOP2_DIRNAME, &proc_root);
-+#endif
-+#ifdef USE_KUROHYO
-+ for(i=0;i<NUM_OF_KUROHYO_REG_ENTRY;i++)
-+ remove_proc_entry(kurohyo_regs[i].name,kurohyo_regdir);
-+ remove_proc_entry(REG_DIRNAME, kurohyodir);
-+ remove_proc_entry(KUROHYO_DIRNAME, &proc_root);
-+#endif
- #ifdef USE_LOCOMO
- for(i=0;i<NUM_OF_LOCOMO_REG_ENTRY;i++)
- remove_proc_entry(locomo_regs[i].name,locomo_regdir);
-diff -Nur linux_c860_org/arch/arm/mach-pxa/sharpsl_apm.c linux/arch/arm/mach-pxa/sharpsl_apm.c
---- linux_c860_org/arch/arm/mach-pxa/sharpsl_apm.c 2003-06-18 16:12:25.000000000 +0900
-+++ linux/arch/arm/mach-pxa/sharpsl_apm.c 2004-06-10 21:09:10.000000000 +0900
-@@ -49,6 +49,8 @@
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
- * 16-Jan-2003 SHARP sleep_on -> interruptible_sleep_on
- * 13-Mar-2003 SHARP for PXA255
-+ * 29-Jan-2004 Sharp Corporation for Tosa
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/config.h>
-@@ -72,6 +74,12 @@
- #include <asm/system.h>
- #include <asm/hardware.h>
-
-+extern int errno;
-+
-+// unistd.h is included for the configuration ioctl stuff
-+#define __KERNEL_SYSCALLS__ 1
-+#include <asm/unistd.h>
-+
- #ifdef CONFIG_ARCH_SHARP_SL
- #include <asm/irq.h>
- #include <asm/arch/irqs.h>
-@@ -91,7 +99,7 @@
- #define KBDOWN (0)
-
- #ifdef CONFIG_APM_CPU_IDLE
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- #define SHARPSL_NEW_IDLE
- #endif
- #endif
-@@ -99,9 +107,17 @@
- #if defined(CONFIG_SABINAL_DISCOVERY)
- extern int discovery_get_main_battery(void);
- #define get_main_battery discovery_get_main_battery
--#elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+
- extern int sharpsl_get_main_battery(void);
- #define get_main_battery sharpsl_get_main_battery
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+extern int sharpsl_jacket_battery;
-+extern int sharpsl_jacket_exist;
-+extern int sharpsl_get_cardslot_error(void);
-+#endif
-+
- #ifdef SHARPSL_NEW_IDLE
- static int chg_freq_mode = 0;
- #endif
-@@ -119,17 +135,25 @@
- extern int HWR_flag;
- #endif
-
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+extern unsigned int cccr_clkparam;
-+#endif
-+
- #if defined(CONFIG_SABINAL_DISCOVERY)
- #define SHARPSL_AC_LINE_STATUS (( ASIC3_GPIO_PSTS_D & AC_IN )? APM_AC_OFFLINE : APM_AC_ONLINE)
- #define BACKPACK_IN_DETECT() ( ASIC3_GPIO_PSTS_D & BACKPACK_DETECT ) /* 0: exist , 1: not in */
- #else
- #define SHARPSL_BATTERY_OK (( GPLR(GPIO_MAIN_BAT_LOW) & GPIO_bit(GPIO_MAIN_BAT_LOW) ) ? 1 : 0) /* 1: OK / 0: FATAL */
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#define SHARPSL_AC_LINE_STATUS ((GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN)) ? APM_AC_OFFLINE : APM_AC_ONLINE)
-+#else
- #define SHARPSL_AC_LINE_STATUS ((GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN)) ? APM_AC_ONLINE : APM_AC_OFFLINE)
- #endif
-+#endif
-
-
- /// ioctl
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- static u32 apm_event_mask = (APM_EVT_POWER_BUTTON);
- #else
- static u32 apm_event_mask = (APM_EVT_POWER_BUTTON | APM_EVT_BATTERY_STATUS);
-@@ -151,6 +175,7 @@
-
- #endif
-
-+#define DEBUG
- #ifdef DEBUG
- #define DPRINTK(x, args...) printk(__FUNCTION__ ": " x,##args)
- #else
-@@ -339,6 +364,7 @@
- };
- #define ERROR_COUNT (sizeof(error_table)/sizeof(lookup_t))
-
-+#define APP_NAME_LIST "/etc/suspend.lst"
- /*
- * Function
- */
-@@ -347,6 +373,8 @@
- static int set_power_state(u_short what, u_short state);
- #ifndef CONFIG_SABINAL_DISCOVERY
- extern int sharpsl_main_battery;
-+extern int sharpsl_backup_battery;
-+extern int sharpsl_bu_battery;
- #endif
- static int apm_get_power_status(u_char *ac_line_status,
- u_char *battery_status,
-@@ -440,7 +468,8 @@
-
- #if defined(CONFIG_ARCH_PXA_POODLE)
- if (irq == IRQ_GPIO_ON_KEY) { /* suspend */
-- //DPRINTK("irq=%d count=%d sharpsl_suspend_request%d\n",irq, count, sharpsl_suspend_request);
-+
-+ DPRINTK("irq=%d count=%d sharpsl_suspend_request%d\n",irq, count, sharpsl_suspend_request);
- if ( GPLR(GPIO_ON_KEY) & GPIO_bit(GPIO_ON_KEY) ) {
- /* release */
- count = 0;
-@@ -623,24 +652,75 @@
- struct task_struct* p = NULL;
- struct task_struct* tsk = current;
-
-+ int fd,x;
-+ mm_segment_t old_fs = get_fs ();
-+ char line_buffer[256];
-+
- if (! spin_trylock(&lock))
- return;
-+
-+ // Try opening the send sig application name list
-+ set_fs(KERNEL_DS);
-+// printk("open sig file\n");
-+ fd = open(APP_NAME_LIST, O_RDONLY, 0);
-+ set_fs(old_fs);
-
- /* send signal to all procs except for kernel-threads */
- read_lock(&tasklist_lock);
-- for_each_task(p) {
-- struct siginfo si;
-
-- if (p->pid == 1 || p->pid == tsk->pid || is_kernel_thread(p))
-- continue;
-+ if(fd < 0){
-+ for_each_task(p) {
-+ struct siginfo si;
-+
-+ if (p->pid == 1 || p->pid == tsk->pid || is_kernel_thread(p))
-+ continue;
-+ if (!strcmp(p->comm,"cardmgr")) { //Send sig to cardmgr
-+// printk ("Send SIG to application\n");
-+ si.si_signo = signo;
-+ si.si_errno = 0;
-+ si.si_code = SI_KERNEL;
-+ si.si_pid = tsk->pid;
-+ si.si_uid = tsk->uid;
-+ send_sig_info(signo, &si, p);
-+ }
-+ }
-+
-+ }else {
-+ for(;;){
-+ memset(line_buffer, '\0', 256);
-+ set_fs(KERNEL_DS);
-+ for (x = 0; x < 256; x++) {
-+ if (!read(fd, &line_buffer[x], 1))
-+ goto sig_send_done;
-+ if (line_buffer[x] == '\n' || line_buffer[x] == '\r')
-+ break;
-+ }
-+ set_fs(old_fs);
-+
-+ for_each_task(p) {
-+ struct siginfo si;
-+
-+ if (p->pid == 1 || p->pid == tsk->pid || is_kernel_thread(p))
-+ continue;
-+ if (!strncmp(p->comm,line_buffer,strlen(p->comm))) { //Send sig to cardmgr
-+// printk ("Send SIG to application\n");
-+ si.si_signo = signo;
-+ si.si_errno = 0;
-+ si.si_code = SI_KERNEL;
-+ si.si_pid = tsk->pid;
-+ si.si_uid = tsk->uid;
-+ send_sig_info(signo, &si, p);
-+ }
-+ }
-+ }
-
-- si.si_signo = signo;
-- si.si_errno = 0;
-- si.si_code = SI_KERNEL;
-- si.si_pid = tsk->pid;
-- si.si_uid = tsk->uid;
-- send_sig_info(signo, &si, p);
-+ sig_send_done:
-+// printk("close sig\n");
-+ close(fd);
- }
-+
-+
-+
- read_unlock(&tasklist_lock);
-
- if (signo == SIGSTOP) {
-@@ -652,16 +732,58 @@
- schedule();
- set_current_state(state);
-
-+ set_fs(KERNEL_DS);
-+ fd = open(APP_NAME_LIST, O_RDONLY, 0);
-+// printk("open sigstop\n");
-+ set_fs(old_fs);
-+
- read_lock(&tasklist_lock);
-- for_each_task(p) {
-- if (p->pid == 1 || p->pid == tsk->pid || is_kernel_thread(p))
-- continue;
-
-- if (p->state != TASK_STOPPED) {
-- read_unlock(&tasklist_lock);
-- goto retry;
-+ if(fd < 0){
-+ for_each_task(p) {
-+ if (p->pid == 1 || p->pid == tsk->pid || is_kernel_thread(p))
-+ continue;
-+ if (!strcmp(p->comm,"cardmgr")) {
-+// printk ("Check application stopped\n");
-+
-+ if (p->state != TASK_STOPPED) {
-+ read_unlock(&tasklist_lock);
-+ goto retry;
-+ }
-+ }
- }
-+ }else {
-+
-+ for(;;){
-+ memset(line_buffer, '\0', 256);
-+ old_fs = get_fs();
-+ set_fs(KERNEL_DS);
-+ for (x = 0; x < 256; x++) {
-+ if (!read(fd, &line_buffer[x], 1))
-+ goto sig_stop_done;
-+ if (line_buffer[x] == '\n' || line_buffer[x] == '\r')
-+ break;
-+ }
-+ set_fs(old_fs);
-+
-+ for_each_task(p) {
-+ if (p->pid == 1 || p->pid == tsk->pid || is_kernel_thread(p))
-+ continue;
-+ if (!strncmp(p->comm,line_buffer,strlen(p->comm))) {
-+// printk ("Check application stopped\n");
-+
-+ if (p->state != TASK_STOPPED) {
-+ read_unlock(&tasklist_lock);
-+ goto retry;
-+ }
-+ }
-+ }
-+ }
-+ sig_stop_done:
-+// printk("close sigstop\n");
-+ close(fd);
- }
-+
- read_unlock(&tasklist_lock);
- }
-
-@@ -711,7 +833,11 @@
- }
-
- static spinlock_t locklockFCS = SPIN_LOCK_UNLOCKED;
-+#if 0 // for debug
-+static unsigned long lockFCS = 0x80000000;
-+#else
- static unsigned long lockFCS = 0;
-+#endif
- static int change_lockFCS = 0;
- static spinlock_t lock_power_mode = SPIN_LOCK_UNLOCKED;
- static unsigned long power_mode = 0;
-@@ -986,6 +1112,49 @@
-
- EXPORT_SYMBOL(lock_FCS);
-
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+static ssize_t cccr_change_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[32];
-+ int count;
-+
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "0x%08X\n", (unsigned int)cccr_clkparam);
-+ count++;
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count+1))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t cccr_change_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ unsigned int param=0;
-+
-+ sscanf(buf,"%x",&param);
-+ if (param) {
-+ printk("Change CCCR = %x.\n",param);
-+ cccr_clkparam = param;
-+ sharpsl_chg_freq = param;
-+ cpu_xscale_sl_change_speed_num();
-+ cccr_reg = CCCR;
-+ printk("Changed CCCR = %x.\n",cccr_reg);
-+
-+ }
-+ return nbytes;
-+}
-+
-+static struct file_operations proc_cccr_change_params_operations = {
-+ read: cccr_change_read_params,
-+ write: cccr_change_write_params,
-+};
-+#endif
-+
- #ifdef CONFIG_APM_CPU_IDLE
- #ifdef SHARPSL_NEW_IDLE
- static int save_icmr;
-@@ -1021,21 +1190,35 @@
- if ( !chg_freq_mode ) {
- //LCM_LPT1 = 0x0080;
- // if (!lockFCS || ((lockFCS == LOCK_FCS_FFUART) && (!(FFMSR & MSR_DSR)))) {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if (!lockFCS) {
-+#else
- #if defined(CONFIG_ARCH_SHARP_SL_J)
- if (!(lockFCS & ~LOCK_FCS_FFUART)) {
- #else
- if (!lockFCS) {
- #endif
-+#endif
- #if defined(CONFIG_ARCH_PXA_POODLE)
- while(1) {
- if ( !( LCCR0 & 0x1 ) || ( GPLR(74) & GPIO_bit(74)) ) break;
- }
- #endif
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ CKEN &= ~CKEN2_AC97;
-+#endif
-+
- if ( cccr_reg == 0x145 ) {
- cpu_xscale_sl_change_speed_121();
- } else {
- cpu_xscale_change_speed_121();
- }
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ CKEN |= CKEN2_AC97;
-+#endif
-+
- }
- }
- chg_freq_mode = 1;
-@@ -1100,22 +1283,46 @@
- }
- #endif
- MDREFR &= ~MDREFR_APD;
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ CKEN &= ~CKEN2_AC97;
-+#endif
-+
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- if ( cccr_reg == 0x161 ) {
- cpu_xscale_sl_change_speed_161();
- }
- else if ( cccr_reg == 0x145 ) {
- cpu_xscale_sl_change_speed_145();
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ } else {
-+ cccr_clkparam = (unsigned int)cccr_reg;
-+ cpu_xscale_sl_change_speed_num();
-+ }
-+#else
- } else {
- cpu_xscale_change_speed_241();
- }
-+#endif
- #else
- if ( cccr_reg == 0x145 ) {
- cpu_xscale_sl_change_speed_145();
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ } else {
-+ cccr_clkparam = (unsigned int)cccr_reg;
-+ cpu_xscale_sl_change_speed_num();
-+ }
-+#else
- } else {
- cpu_xscale_change_speed_241();
- }
- #endif
-+#endif
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ CKEN |= CKEN2_AC97;
-+#endif
-+
- } else {
- MDREFR &= ~MDREFR_APD;
- }
-@@ -1281,6 +1488,11 @@
- u_short *battery_life)
- {
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+u_char dumm_status;
-+u_short dumm_life;
-+#endif
-+
- #ifdef CONFIG_SABINAL_DISCOVERY
- discovery_apm_get_power_status(ac_line_status,
- battery_status, battery_flag, battery_percentage, battery_life);
-@@ -1290,7 +1502,11 @@
- #if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
- sharpsl_apm_get_power_status(ac_line_status,
- battery_status, battery_flag, battery_percentage, battery_life);
--
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ sharpsl_apm_get_power_status(ac_line_status,
-+ battery_status,&dumm_status,&dumm_status,battery_flag,
-+ battery_percentage,&dumm_status,&dumm_status,
-+ battery_life,&dumm_life,&dumm_life);
- #endif
- return APM_SUCCESS;
- }
-@@ -1302,12 +1518,15 @@
- u_short *battery_life)
- {
-
--#ifdef CONFIG_SABINAL_DISCOVERY
--
-+#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_TOSA)
-+#if defined(CONFIG_SABINAL_DISCOVERY)
- discovery_apm_get_bp_status(ac_line_status,
- battery_status, battery_flag, battery_percentage, battery_life);
--
-+#else
-+ sharpsl_apm_get_bp_status(ac_line_status,
-+ battery_status, battery_flag, battery_percentage, battery_life);
- #endif // CONFIG_SABINAL_DISCOVERY
-+#endif
- return APM_SUCCESS;
- }
-
-@@ -1475,6 +1694,9 @@
- is_goto_suspend = 1;
- #ifdef CONFIG_PCMCIA
- pcmcia_set_detect_interrupt(0, 0, 1);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ pcmcia_set_detect_interrupt(1, 0, 1);
-+#endif
- #endif
- send_sig_to_all_procs(SIGSTOP);
- /* map all suspends to ACPI D3 */
-@@ -1498,6 +1720,9 @@
- resume_handling = 1;
- #ifdef CONFIG_PCMCIA
- pcmcia_set_detect_interrupt(0, 1, 0);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ pcmcia_set_detect_interrupt(1, 1, 0);
-+#endif
- #endif
-
- #ifdef CONFIG_SABINAL_DISCOVERY
-@@ -1533,6 +1758,9 @@
- send_sig_to_all_procs(SIGCONT);
- #ifdef CONFIG_PCMCIA
- pcmcia_set_detect_interrupt(0, 1, 1);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ pcmcia_set_detect_interrupt(1, 1, 1);
-+#endif
- #endif
- resume_handling = 0;
-
-@@ -1681,8 +1909,9 @@
- if (send_event(event)) {
- queue_event(event, NULL);
- waiting_for_resume = 1;
-- if (suspends_pending <= 0)
-+ if (suspends_pending <= 0){
- (void) suspend();
-+ }
- }
- break;
-
-@@ -1833,7 +2062,7 @@
-
- for (;;) {
- /* Nothing to do, just sleep for the timeout */
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- timeout = 2*timeout;
- if (timeout > APM_CHECK_TIMEOUT)
- #endif
-@@ -1863,7 +2092,7 @@
-
- for (;;) {
- /* Nothing to do, just sleep for the timeout */
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- timeout = 2*timeout;
- if (timeout > APM_CHECK_TIMEOUT)
- #endif
-@@ -2012,6 +2241,7 @@
- else
- queue_event(APM_USER_SUSPEND, as);
- if (suspends_pending <= 0) {
-+
- if (suspend() != APM_SUCCESS)
- return -EIO;
- } else {
-@@ -2040,7 +2270,7 @@
- case APM_IOC_GET_REGISTER: {
- } break;
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- case APM_IOC_RESET_PM: {
- extern int sharpsl_main_bk_flag;
- sharpsl_main_bk_flag = 1;
-@@ -2114,11 +2344,14 @@
-
- case APM_IOC_BATTERY_BACK_CHK: {
- //return collie_backup_battery;
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+ return sharpsl_bu_battery;
-+#endif
- } break;
-
- case APM_IOC_BATTERY_MAIN_CHK: {
- #ifndef CONFIG_SABINAL_DISCOVERY
-- return sharpsl_main_battery;
-+ return sharpsl_main_battery;
- #endif
- } break;
-
-@@ -2132,7 +2365,7 @@
- return 1;
- } break;
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- case APM_IOC_SFREQ: {
- int freq;
- get_user(freq, (unsigned int *)(arg));
-@@ -2179,11 +2412,11 @@
- unsigned long flags;
-
- sleeping = 1;
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- sharpsl_off_mode = 1;
- #endif
- save_flags_cli(flags);
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- sharpsl_restart_nonstop();
- #else
- sharpsl_restart();
-@@ -2213,7 +2446,25 @@
- apm_event_mask = arg;
- return tmp;
- }
-+
-+ case APM_IOC_GET_CARDSLOT_ERROR: {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ return sharpsl_get_cardslot_error();
-+#endif
-+ }
-+
-+ case APM_IOC_BATTERY_JACKET_CHK: {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ return sharpsl_jacket_battery;
-+#endif
-+ } break;
-+
-+ case APM_IOC_GET_JACKET_STATE:
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ return sharpsl_jacket_exist;
-+#endif
- #endif
-+
- default:
- return -EINVAL;
- }
-@@ -2236,8 +2487,9 @@
- }
- if (as->suspends_pending > 0) {
- suspends_pending -= as->suspends_pending;
-- if (suspends_pending <= 0)
-+ if (suspends_pending <= 0){
- (void) suspend();
-+ }
- }
- if (user_list == as)
- user_list = as->next;
-@@ -2367,7 +2619,7 @@
- }
-
-
--#ifdef CONFIG_SABINAL_DISCOVERY
-+#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_TOSA)
- static int apm_bp_get_info(char *buf, char **start, off_t fpos, int length)
- {
- char * p;
-@@ -2446,8 +2698,7 @@
- }
- #endif
-
--
--#ifdef CONFIG_SABINAL_DISCOVERY
-+#if defined(CONFIG_SABINAL_DISCOVERY)
- static int discovery_key_check(void *unused)
- {
-
-@@ -2457,18 +2708,28 @@
-
- while(1) {
-
-- interruptiblee_sleep_on(&fl_key);
-+ interruptible_sleep_on(&fl_key);
-
- while(1) {
- interruptible_sleep_on_timeout((wait_queue_head_t*)&queue, KEY_TICK );
-- if ( (ASIC3_GPIO_PSTS_A & PWR_ON_KEY) != 0 ) { //key up
-- break;
-- }
-+#ifdef CONFIG_SABINAL_DISCOVERY
-+ if ( (ASIC3_GPIO_PSTS_A & PWR_ON_KEY) != 0 ) { //key up
-+ break;
-+ }
-+#else
-+ if ( GPLR(GPIO_ON_KEY) & GPIO_bit(GPIO_ON_KEY) ) {
-+ break;
-+ }
-+#endif
- if ( ( jiffies - on_press_time ) < 0 ) {
-
- if ( ( jiffies + (0xffffffff - on_press_time) ) > FLONT_LIGHT_TOGGLE_TIME ) {
- if ( apm_event_mask & APM_EVT_POWER_BUTTON ) {
-+#ifdef CONFIG_SABINAL_DISCOVERY
- discoveryfl_blank_power_button();
-+#else
-+ sharpslfl_blank_power_button();
-+#endif
- } else {
- handle_scancode(SLKEY_FRONTLIGHT|KBDOWN , 1);
- handle_scancode(SLKEY_FRONTLIGHT|KBUP , 0);
-@@ -2480,7 +2741,11 @@
- if ( ( jiffies - on_press_time ) > FLONT_LIGHT_TOGGLE_TIME ) {
-
- if ( apm_event_mask & APM_EVT_POWER_BUTTON ) {
-+#ifdef CONFIG_SABINAL_DISCOVERY
- discoveryfl_blank_power_button();
-+#else
-+ tosa_l_blank_power_button();
-+#endif
- } else {
- handle_scancode(SLKEY_FRONTLIGHT|KBDOWN , 1);
- handle_scancode(SLKEY_FRONTLIGHT|KBUP , 0);
-@@ -2623,6 +2888,7 @@
- struct proc_dir_entry *apm_proc;
- struct proc_dir_entry *lock_fcs_proc;
- struct proc_dir_entry *power_mode_proc;
-+ struct proc_dir_entry *cccr_change_proc;
-
- apm_info.bios = apm_bios_info;
- if (apm_info.bios.version == 0) {
-@@ -2640,19 +2906,35 @@
- }
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+#if defined(CONFIG_SL_CCCR242)
-+ sharpsl_chg_freq = (unsigned int)0x00000242;
-+ cccr_clkparam = (unsigned int)sharpsl_chg_freq;
-+ cpu_xscale_sl_change_speed_num();
-+#elif defined(CONFIG_SL_CCCR162)
-+ sharpsl_chg_freq = (unsigned int)0x00000162;
-+ cccr_clkparam = (unsigned int)sharpsl_chg_freq;
-+ cpu_xscale_sl_change_speed_num();
-+#else
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- sharpsl_chg_freq = (unsigned int)0x00000161;
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ cccr_clkparam = (unsigned int)sharpsl_chg_freq;
-+#endif
- cpu_xscale_sl_change_speed_161();
- #else
- #if 1 // default 400MHz
- sharpsl_chg_freq = (unsigned int)0x00000241;
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ cccr_clkparam = (unsigned int)sharpsl_chg_freq;
-+#endif
- #else
- cpu_xscale_sl_change_speed_145_without_lcd();
- #endif
- #endif
-+#endif
- cccr_reg = CCCR;
-- printk("FCS : CCCR = %x\n",cccr_reg);
-+// printk("FCS : CCCR = %x\n",cccr_reg);
- #endif
-
- /*
-@@ -2732,11 +3014,19 @@
- power_mode_proc->proc_fops = &proc_power_mode_params_operations;
- }
-
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ cccr_change_proc = create_proc_entry("cccr_change", 0, NULL);
-+ if (cccr_change_proc) {
-+ cccr_change_proc->proc_fops = &proc_cccr_change_params_operations;
-+ }
-+#endif
-+
- kernel_thread(apm_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-
--#ifdef CONFIG_SABINAL_DISCOVERY
-+#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_TOSA)
-+#if defined(CONFIG_SABINAL_DISCOVERY)
- kernel_thread( discovery_key_check, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
--
-+#endif
- {
- struct proc_dir_entry *apm_proc_backpack;
-
-diff -Nur linux_c860_org/arch/arm/mach-pxa/sharpsl_deviceinfo.c linux/arch/arm/mach-pxa/sharpsl_deviceinfo.c
---- linux_c860_org/arch/arm/mach-pxa/sharpsl_deviceinfo.c 2002-11-14 19:27:18.000000000 +0900
-+++ linux/arch/arm/mach-pxa/sharpsl_deviceinfo.c 2004-06-10 21:09:10.000000000 +0900
-@@ -14,6 +14,10 @@
- * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
- */
-
- #include <linux/config.h>
-@@ -63,7 +67,10 @@
- {"serial", "device individual id"},
- {"checksum", "ROM checksum"},
- {"bootstr", "boot string"},
-- {"hardno", "hardware number"}
-+ {"hardno", "hardware number"},
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ {"equipment", "built-in equipment"},
-+#endif
- };
-
- #define NUM_OF_DEVICEINFO_ENTRY (sizeof(deviceinfo)/sizeof(deviceinfo_entry_t))
-diff -Nur linux_c860_org/arch/arm/mach-pxa/sharpsl_param.c linux/arch/arm/mach-pxa/sharpsl_param.c
---- linux_c860_org/arch/arm/mach-pxa/sharpsl_param.c 2002-10-23 14:09:20.000000000 +0900
-+++ linux/arch/arm/mach-pxa/sharpsl_param.c 2004-06-10 21:09:10.000000000 +0900
-@@ -16,11 +16,12 @@
- * GNU General Public License for more details.
- *
- * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- *
- */
- #include <linux/types.h>
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- #include <asm/arch/sharpsl_param.h>
- #endif
-
-@@ -28,7 +29,7 @@
- sharpsl_flash_param_info sharpsl_flash_param;
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- int sharpsl_get_comadj()
- {
- if ( sharpsl_flash_param.comadj_keyword == FLASH_COMADJ_MAJIC ) {
-@@ -39,7 +40,7 @@
- }
- #endif
-
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- int sharpsl_get_phadadj()
- {
- if ( sharpsl_flash_param.phad_keyword == FLASH_PHAD_MAJIC ) {
-@@ -51,7 +52,7 @@
- #endif
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- void sharpsl_get_param(void)
- {
- // get comadj
-diff -Nur linux_c860_org/arch/arm/mach-pxa/sharpsl_power.c linux/arch/arm/mach-pxa/sharpsl_power.c
---- linux_c860_org/arch/arm/mach-pxa/sharpsl_power.c 2003-10-09 14:47:25.000000000 +0900
-+++ linux/arch/arm/mach-pxa/sharpsl_power.c 2004-06-10 21:09:10.000000000 +0900
-@@ -35,6 +35,8 @@
- * 16-Jan-2003 SHARP sleep_on -> interruptible_sleep_on
- * 09-Apr-2003 SHARP for Shaphard (software reset)
- * October-2003 SHARP for boxer
-+ * 28-Nov-2003 Sharp Corporation for Tosa
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- *
- */
-
-@@ -42,12 +44,17 @@
- /*
- * Debug macros
- */
-+//#define DEBUG 1
- #ifdef DEBUG
- # define DPRINTK(fmt, args...) printk("%s: " fmt, __FUNCTION__ , ## args)
- #else
- # define DPRINTK(fmt, args...)
- #endif
-
-+//#define WUPSRC_DEBUG
-+#ifdef WUPSRC_DEBUG
-+unsigned int debug1,debug2,debug3,debug4;
-+#endif
-
- #include <linux/config.h>
- #include <linux/module.h>
-@@ -82,8 +89,15 @@
- #include <asm/arch/keyboard_poodle.h>
- #elif defined(CONFIG_ARCH_PXA_CORGI)
- #include <asm/arch/keyboard_corgi.h>
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#include <asm/arch/keyboard_tosa.h>
-+#include <linux/ac97_codec.h>
- #endif
-
-+#ifdef LOGICAL_WAKEUP_SRC
-+#include <asm/arch/sharpsl_wakeup.h>
-+unsigned long logical_wakeup_src_mask = IDPM_WAKEUP_REC|IDPM_WAKEUP_SYNC;
-+#endif
- #include "sharpsl_param.h"
-
-
-@@ -116,9 +130,16 @@
- extern int cpu_pxa_do_suspend(void);
- extern unsigned short chkFatalBatt(void);
- extern int sharpsl_off_charge_battery(void);
--void pxa_ssp_init(void);
-+extern int charge_status;
-
- #if defined(CONFIG_ARCH_PXA_POODLE)
-+void pxa_ssp_init(void);
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+void tosa_ac97_init(void);
-+int pxa_ac97_get(struct ac97_codec **codec, unsigned char *ac97_on);
-+static unsigned char ac97_on = 0;
-+#endif
-+#if defined(CONFIG_ARCH_PXA_POODLE)
- #define PWER_RTC 0x80000000
- #define R_WAKEUP_SRC (GPIO_bit(GPIO_AC_IN) | GPIO_bit(GPIO_CF_STSCHG) /*|
- GPIO_bit(GPIO_CHRG_FULL) */ )
-@@ -139,6 +160,32 @@
- GPIO_bit(GPIO_AC_IN) | GPIO_bit(GPIO_MAIN_BAT_LOW))
- #define WAKEUP_SRC ( R_WAKEUP_SRC | F_WAKEUP_SRC | PWER_RTC )
- #define WAKEUP_DEF_SRC ( WAKEUP_SRC );
-+
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+/*
-+<F_WAKEUP_SRC>
-+GPIO_POWERON (0)
-+GPIO_AC_IN (2)
-+GPIO_RECORD_BTN (3)
-+GPIO_SYNC (4)
-+GPIO_USB_IN (5)
-+GPIO_JACKET_DETECT (7)
-+GPIO_nSD_DETECT (9)
-+GPIO_nSD_INT (10)
-+GPIO_BAT1_CRG (12)
-+GPIO_CF_CD (13)
-+GPIO_BAT0_CRG (14)
-+*/
-+#define PWER_RTC 0x80000000
-+#define R_WAKEUP_SRC (GPIO_bit(GPIO_AC_IN) | GPIO_bit(GPIO_JACKET_DETECT))
-+#define F_WAKEUP_SRC (GPIO_bit(GPIO_POWERON) | GPIO_bit(GPIO_RESET) | \
-+ GPIO_bit(GPIO_AC_IN) | GPIO_bit(GPIO_RECORD_BTN) | \
-+ GPIO_bit(GPIO_SYNC) | GPIO_bit(GPIO_USB_IN) | \
-+ GPIO_bit(GPIO_JACKET_DETECT) )
-+#define WAKEUP_SRC ( R_WAKEUP_SRC | F_WAKEUP_SRC | PWER_RTC )
-+#define WAKEUP_DEF_SRC ( GPIO_bit(GPIO_POWERON) | GPIO_bit(GPIO_RESET) | \
-+ GPIO_bit(GPIO_AC_IN) | GPIO_bit(GPIO_JACKET_DETECT) | \
-+ GPIO_bit(GPIO_RECORD_BTN) | GPIO_bit(GPIO_SYNC) )
- #endif
-
- #if defined(CONFIG_SABINAL_DISCOVERY)
-@@ -148,6 +195,7 @@
- u32 sharpsl_emergency_off = 0;
- unsigned int sharpsl_chg_freq = 0x0145;
- static DECLARE_WAIT_QUEUE_HEAD(wq_off);
-+static DECLARE_WAIT_QUEUE_HEAD(key_off);
- int sharpsl_off_mode = 0;
- int sharpsl_off_state = 0;
- int pass_charge_flag = 0;
-@@ -158,18 +206,26 @@
- extern int corgi_wakeup_remocon_hook(void);
- #endif
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- extern unsigned long cccr_reg;
- static int sharpsl_alarm_flag;
- #endif
-
-+//@@#if defined(CONFIG_ARCH_PXA_TOSA)
-+//@@extern int sharpsl_get_jacket_status(void);
-+//@@#endif
-+
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+extern unsigned int cccr_clkparam;
-+#endif
-+
- void PrintParamTable(void);
-
- #ifdef CONFIG_SABINAL_DISCOVERY
- static u32 alarm_enable=0;
- #endif
-
--#ifdef CONFIG_ARCH_PXA_SHEPHERD
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- int sharpsl_restart(void)
- {
- return sharpsl_restart_core(0);
-@@ -183,16 +239,23 @@
- int sharpsl_restart_core(int nonstop_flag)
- {
- int flag = 1;
--
-+#if !defined(CONFIG_ARCH_PXA_TOSA)
- if (nonstop_flag) {
- SCP_REG_GPWR |= SCP_LED_GREEN;
- }
- else {
- SCP_REG_GPWR &= ~SCP_LED_GREEN;
- }
--
-+#endif
- RCSR = 0xf;
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if( nonstop_flag && ((MSC0 & 0xffff0000) == 0x7ff00000) )
-+ MSC0 = (MSC0 & 0xffff)|0x7ee00000;
-+ // GPIO reset
-+ set_GPIO_mode(GPIO_ON_RESET | GPIO_OUT);
-+ GPCR(GPIO_ON_RESET) |= GPIO_bit(GPIO_ON_RESET);
-+#else
- OSMR3 = OSCR+0x100;
- OWER = 0x01;
- OIER |= 0x08;
-@@ -200,7 +263,7 @@
- while(1) {
- if ( flag++ > 0x20000000 ) break;
- }
--
-+#endif
- return 0;
- }
- #else
-@@ -258,17 +321,47 @@
-
- #if !defined(CONFIG_SABINAL_DISCOVERY)
-
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- int sharpsl_wakeup_check_charge(void)
- {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ unsigned int pfer;
-+ unsigned int prer;
-+
-+ pfer = F_WAKEUP_SRC & apm_wakeup_src_mask & WAKEUP_SRC;
-+ prer = R_WAKEUP_SRC & apm_wakeup_src_mask & WAKEUP_SRC;
-+ //printk("pfer = %08x",pfer);
-+ //printk("prer = %08x",prer);
-+
-+ pfer &= ~(F_WAKEUP_SRC & R_WAKEUP_SRC);
-+ prer &= ~(F_WAKEUP_SRC & R_WAKEUP_SRC);
-+ //printk("pfer = %08x",pfer);
-+ //printk("prer = %08x",prer);
-+
-+ pfer = ~GPLR0 & pfer;
-+ prer = GPLR0 & prer;
-+ //printk("pfer = %08x",pfer);
-+ //printk("prer = %08x",prer);
-+
-+ if(pfer != 0 || prer != 0){
-+ apm_wakeup_factor = pfer | prer;
-+ return 0; // wakeup
-+ }
-+
-+ if ( ( ( RTAR - RCNR ) < 20 ) && ( RTSR & RTSR_ALE ) ) {
-+ return -1; // go off.
-+ }
-+
-+ return 1; // continue.
-+#else
- unsigned int temp;
-
- temp = ~GPLR0 & ( GPIO_bit(GPIO_AC_IN) | GPIO_bit(GPIO_KEY_INT) | GPIO_bit(GPIO_WAKEUP) );
- if ( temp != 0 ) {
- apm_wakeup_factor = temp;
- }
--
- return temp;
-+#endif
- }
- #endif
-
-@@ -276,31 +369,71 @@
- {
- int i;
- u32 gplr;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ int batt_fault = ((PSSR & 0x02) != 0);
-+#endif
-
- /* setting GPIO */
- GPDR0 = sys_ctx.gpdr0;
- GAFR0_L = sys_ctx.gafr0_l;
- GPDR0 &= ~WAKEUP_SRC;
-- GAFR0_L &= ~WAKEUP_SRC;
-+// GAFR0_L &= ~WAKEUP_SRC;
- gplr = GPLR0;
-
-+#ifdef WUPSRC_DEBUG
-+ debug1 = PEDR;
-+ debug2 = WAKEUP_SRC;
-+ debug3 = apm_wakeup_src_mask;
-+ debug4 = PSSR;
-+#endif
- apm_wakeup_factor = PEDR & WAKEUP_SRC & apm_wakeup_src_mask;
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- apm_wakeup_factor &= ~0x80000000; /* clear ALARM */
- if ( ( RTSR & 0x1 ) && ( RTSR & RTSR_ALE ) )
- #else
- if ( RTSR & 0x1 )
- #endif
- apm_wakeup_factor |= 0x80000000; /* ALARM */
-+
-+
- PEDR = WAKEUP_SRC;
-
-- if ( !apm_wakeup_factor )
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if(batt_fault) PSSR = 0x02; /* clear BFS bit */
-+#endif
-+
-+ if ( !apm_wakeup_factor ){
- return 0; /* no wakeup factor */
-+ }
-
- #if defined(CONFIG_ARCH_PXA_CORGI)
- gplr &= ~GPIO_bit(GPIO_KEY_INT);
- #endif
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ //if(PSSR & 0x02){
-+ if(batt_fault){
-+ // Asserted battery fault.
-+ // It must have changed the main battery.
-+ if(GPIO_bit(GPIO_POWERON) & apm_wakeup_factor){
-+ int change_ac_status = 0;
-+ if ( apm_wakeup_src_mask & GPIO_bit(GPIO_AC_IN)){
-+ if ( !charge_status && ( gplr & GPIO_bit(GPIO_AC_IN) ) == 0)
-+ change_ac_status = 1;
-+
-+ if ( charge_status && ( gplr & GPIO_bit(GPIO_AC_IN) ) != 0)
-+ change_ac_status = 1;
-+ }
-+ if(change_ac_status)
-+ apm_wakeup_factor |= GPIO_bit(GPIO_AC_IN);
-+
-+ return apm_wakeup_factor;
-+ }
-+ if(GPIO_bit(GPIO_RESET) & apm_wakeup_factor){
-+ return apm_wakeup_factor;
-+ }
-+ }
-+#endif
- /* Faulty operation check */
- for (i = 0; i <= 15; i++) {
- #if defined(CONFIG_ARCH_PXA_CORGI)
-@@ -329,27 +462,56 @@
- u32 gplr = GPLR0;
- int is_resume = 0;
-
-+ DPRINTK("GPLR0 = %x\n",gplr);
-+#ifdef WUPSRC_DEBUG
-+ printk("PEDR=%08x\n",debug1);
-+ printk("src=%08x\n",debug2);
-+ printk("src_mask=%08x\n",debug3);
-+ printk("PSSR=%08x->%08x\n",debug4,PSSR);
-+#endif
- if ( (apm_wakeup_factor & GPIO_bit(GPIO_AC_IN)) &&
- sharpsl_battery_charge_hook ) {
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( !(gplr & GPIO_bit(GPIO_AC_IN)) ) {
-+#else
- if ( gplr & GPIO_bit(GPIO_AC_IN) ) {
-+#endif
- sharpsl_battery_charge_hook(2); /* charge on */
- } else
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( gplr & GPIO_bit(GPIO_AC_IN) ) {
-+#else
- if ( !( gplr & GPIO_bit(GPIO_AC_IN) ) ) {
-+#endif
- sharpsl_battery_charge_hook(1); /* charge off */
- }
- }
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( (apm_wakeup_factor & GPIO_bit(GPIO_BAT0_CRG)) &&
-+ sharpsl_battery_charge_hook ) {
-+ sharpsl_battery_charge_hook(0); /* tosa: main battery full */
-+ }
-+ if ( (apm_wakeup_factor & GPIO_bit(GPIO_BAT1_CRG)) &&
-+ sharpsl_battery_charge_hook ) {
-+ sharpsl_battery_charge_hook(3); /* tosa: jacket battery full */
-+ }
-+#else
- if ( (apm_wakeup_factor & GPIO_bit(GPIO_CHRG_FULL)) &&
- sharpsl_battery_charge_hook ) {
- sharpsl_battery_charge_hook(0); /* charge off */
- }
-+#endif
-+
- #if defined(CONFIG_ARCH_PXA_POODLE)
- if ( apm_wakeup_factor & GPIO_bit(GPIO_ON_KEY) )
- is_resume |= GPIO_bit(GPIO_ON_KEY);
- #endif
- #if defined(CONFIG_ARCH_PXA_CORGI)
- if ( apm_wakeup_factor & GPIO_bit(GPIO_KEY_INT) ) {
-- if (sharppda_kbd_is_wakeup())
-+ if (sharppda_kbd_is_wakeup()){
- is_resume |= GPIO_bit(GPIO_KEY_INT);
-+ }
- }
- #if defined(CONFIG_ARCH_PXA_SHEPHERD)
- if ((apm_wakeup_factor & GPIO_bit(GPIO_MAIN_BAT_LOW)) &&
-@@ -373,14 +535,15 @@
- ( sharpsl_battery_charge_hook )) {
- sharpsl_battery_charge_hook(1); /* charge off */
- }
--
- #else
- if ( apm_wakeup_factor & GPIO_bit(GPIO_MAIN_BAT_LOW) )
- apm_wakeup_src_mask = 0;
- #endif
- #endif
-+#if !defined(CONFIG_ARCH_PXA_TOSA)
- if ( apm_wakeup_factor & GPIO_bit(GPIO_WAKEUP) )
- is_resume |= GPIO_bit(GPIO_WAKEUP);
-+#endif
- #if defined(CONFIG_ARCH_PXA_POODLE)
- if ( (apm_wakeup_factor & GPIO_bit(GPIO_GA_INT)) && (LCM_KIC & 1) ) {
- LCM_KIC &= ~0x100;
-@@ -397,28 +560,116 @@
- #endif
- #if defined(CONFIG_ARCH_PXA_CORGI)
- if ( apm_wakeup_factor & GPIO_bit(GPIO_AK_INT) ) {
-- if ( corgi_wakeup_remocon_hook() )
-+ if ( corgi_wakeup_remocon_hook() ){
- is_resume |= GPIO_bit(GPIO_AK_INT);
-+ }
-+ }
-+#endif
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( (apm_wakeup_factor & GPIO_bit(GPIO_AC_IN)) ) {
-+#ifdef LOGICAL_WAKEUP_SRC
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_AC) {
-+ is_resume |= GPIO_bit(GPIO_AC_IN);
-+ }
-+#endif
-+ }
-+ if (apm_wakeup_factor & GPIO_bit(GPIO_POWERON)) { // function key
-+ if (sharppda_kbd_is_wakeup()){
-+ is_resume |= GPIO_bit(GPIO_POWERON);
-+ }
-+ }
-+ if (apm_wakeup_factor & GPIO_bit(GPIO_RECORD_BTN)) { // rec key
-+ if (sharppda_kbd_is_wakeup()){
-+ is_resume |= GPIO_bit(GPIO_RECORD_BTN);
-+ }
-+ }
-+ if (apm_wakeup_factor & GPIO_bit(GPIO_SYNC)) { // sync key
-+ if (sharppda_kbd_is_wakeup()){
-+ is_resume |= GPIO_bit(GPIO_SYNC);
-+ }
-+ }
-+ if (apm_wakeup_factor & GPIO_bit(GPIO_USB_IN)) {
-+#ifdef LOGICAL_WAKEUP_SRC
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_USBD) {
-+ is_resume |= GPIO_bit(GPIO_USB_IN);
-+ }
-+#endif
-+ }
-+ if (apm_wakeup_factor & GPIO_bit(GPIO_JACKET_DETECT)){
-+ sharpsl_battery_charge_hook(4);
-+#ifdef LOGICAL_WAKEUP_SRC
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_JACKET) {
-+ is_resume |= GPIO_bit(GPIO_JACKET_DETECT);
-+ }
-+#endif
- }
- #endif
-
-- DPRINTK("alarm flag = %8x\n",sharpsl_alarm_flag);
-- if ( ( apm_wakeup_factor & PWER_RTC ) && !sharpsl_alarm_flag)
-+ if ( ( apm_wakeup_factor & PWER_RTC ) && !sharpsl_alarm_flag){
- is_resume |= PWER_RTC;
-+ }
-
- return is_resume;
- }
- #endif
-
--
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#define BATTERY_CHECK_TIME (60*5) // 5 min
-+#else
- #define BATTERY_CHECK_TIME 60*10 // 10 min
--extern int charge_status;
-+#endif
-+
-+//extern int charge_status;
- extern int sharpsl_off_charge;
-
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#if 0 /////////////////////////////////////////////////////////
-+static void tc6393_susx(void)
-+{
-+#if 1
-+ reset_scoop_jc_gpio(SCP_JC_TC3693_L3V_ON);
-+// reset_scoop_jc_gpio(SCP_JC_TC6393_SUSPEND);
-+// reset_scoop_gpio(SCP_TC6393_REST_IN);
-+#endif
-+
-+// TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_CARD_VCC_ON;
-+// TC6393_SYS_REG(TC6393_SYS_GPODSR1) = 0; /* CARD_VCC_OFF */
-+#if 1
-+// TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_GPO_OE;
-+// TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_CARD_VCC_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_CARD_VCC_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_GPO_OE;
-+#endif
-+}
-+
-+static void tc6393_resx(void)
-+{
-+ set_GPIO_mode(GPIO11_3_6MHz_MD);
-+ set_GPIO_mode(GPIO18_RDY_MD);
-+ mdelay(1);
-+ set_scoop_jc_gpio(SCP_JC_TC6393_SUSPEND);
-+ mdelay(10);
-+ set_scoop_gpio(SCP_TC6393_REST_IN);
-+ //set_scoop_jc_gpio(SCP_JC_TC3693_L3V_ON);
-+ TC6393_SYS_REG(TC6393_SYS_FER) = 0;
-+ /* clock setting */
-+ TC6393_SYS_REG(TC6393_SYS_PLL2CR) = 0x0cc1;
-+ TC6393_SYS_REG(TC6393_SYS_CCR) = 0x1310;
-+ TC6393_SYS_REG(TC6393_SYS_MCR) = 0x80AA;
-+ /* GPIO */
-+ TC6393_SYS_REG(TC6393_SYS_GPER) = 0x0030; /* 15-0 GPO */
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_GPO_OE;
-+ /* 15-0 GPO set H */
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) = TC6393_CARD_VCC_ON;
-+}
-+#endif ///////////////////////////////////////////////
-+#endif
-
- int pxa_suspend(void)
- {
-+
- unsigned long flags;
- #if defined (CONFIG_SABINAL_DISCOVERY)
- unsigned long RTAR_buffer;
-@@ -426,10 +677,11 @@
- #else
- unsigned long RTAR_buffer;
- unsigned long RTAR_buffer2;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ unsigned long RCNR_buffer;
-+#endif
- #endif
-
--
--
- #ifndef CONFIG_SABINAL_DISCOVERY
- sharpsl_off_state = 1;
-
-@@ -459,13 +711,22 @@
- cpu_xscale_sl_change_speed_145_without_lcd();
- cccr_reg = CCCR;
- break;
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- case 0x161:
- if ( CCCR == 0x0161 ) break;
- cpu_xscale_sl_change_speed_161();
- cccr_reg = CCCR;
- break;
- #endif
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ default:
-+ if ( (sharpsl_chg_freq & 0xffff) !=0 ){
-+ cccr_clkparam = (unsigned int)(sharpsl_chg_freq & 0xffff);
-+ cpu_xscale_sl_change_speed_num();
-+ cccr_reg = CCCR;
-+ }
-+ break;
-+#endif
- }
- sharpsl_chg_freq &= 0x0000ffff;
- mdelay(500);
-@@ -473,7 +734,7 @@
- }
- #endif
-
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- if (sharpsl_off_mode == 2) sharpsl_restart(); /* off in maintenance */
- #endif
-
-@@ -553,7 +814,7 @@
- ASIC3_GPIO_INTSTAT_D = 0;
- #endif
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- if ( CCCR != 0x241 ) {
- cpu_xscale_sl_change_speed_241_without_lcd();
- }
-@@ -561,20 +822,39 @@
- DPRINTK("FCS : CCCR = %x\n",cccr_reg);
- #endif
-
--
--DO_SUSPEND:
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ // check jacket status.
-+ sharpsl_request_dac_init(); // in sharpsl_battery.c
-+ if(sharpsl_battery_charge_hook)
-+ sharpsl_battery_charge_hook(4); // check jacket.
-+#endif
-
-+DO_SUSPEND:
-
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+ DPRINTK("pass_charge_flag = %d\n",pass_charge_flag);
- if ( !pass_charge_flag ) {
- // not charging and AC-IN !
-- if ( !charge_status && ( GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN)) != 0 ) {
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ DPRINTK("check AC-adaptor\n");
-+ if ( !charge_status && ( GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN) ) == 0){
-+#else
-+ if ( !charge_status && ( GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN)) != 0){
-+#endif
- DPRINTK("kick charging\n");
- charge_status = 1;
- sharpsl_off_charge_battery();
- }
- }
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ tosa_check_ac_and_jacket_state();
-+ DPRINTK("ac97&tc6393 down\n");
-+ tc6393_suspend();
-+ tosa_ac97_exit();
-+#endif
-+
- if ( charge_status ) {
- if ( ( ( RTAR - RCNR ) < ( BATTERY_CHECK_TIME + 30 ) ) && ( RTSR & RTSR_ALE ) ) {
- // maybe alarm will occur
-@@ -611,6 +891,8 @@
- } else {
- PGSR1 &= ~GPIO_bit(GPIO43_BTTXD);
- }
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+// non
- #endif
-
- #endif
-@@ -657,12 +939,12 @@
- LCM_ICR &= ~0x100;
- #endif
-
--#if !defined(CONFIG_SABINAL_DISCOVERY)
-+#if !defined(CONFIG_SABINAL_DISCOVERY)
- /* Scoop suspend */
- sys_ctx.scp_gpwr = SCP_REG_GPWR;
- SCP_REG_GPWR = 0;
--#endif
-
-+#endif
- sys_ctx.gpdr0 = GPDR0;
- sys_ctx.gpdr1 = GPDR1;
- sys_ctx.gpdr2 = GPDR2;
-@@ -718,7 +1000,9 @@
- PWER = WAKEUP_SRC & apm_wakeup_src_mask;
- PRER = R_WAKEUP_SRC & apm_wakeup_src_mask;
- PFER = F_WAKEUP_SRC & apm_wakeup_src_mask;
-+
- PEDR = WAKEUP_SRC & apm_wakeup_src_mask;
-+
- for (i = 0; i <=15; i++) {
- if ( PRER & PFER & GPIO_bit(i) ) {
- if ( GPLR0 & GPIO_bit(i) )
-@@ -728,14 +1012,13 @@
- }
- }
-
--
- /* Clear reset status */
- RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR;
-
- /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
- PCFR = PCFR_OPDE;
-
--#ifdef CONFIG_ARCH_PXA_CORGI
-+#if defined(CONFIG_ARCH_PXA_CORGI)
- /* GPIO Sleep Register */
- PGSR2 = (PGSR2 & ~GPIO_ALL_STROBE_BIT) | GPIO_STROBE_BIT(0);
-
-@@ -747,6 +1030,19 @@
- #endif
- GPDR1 = 0x00FFAFC3;
- GPDR2 = 0x0001C004;
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ /* GPIO Sleep Register */
-+ PGSR1 = (PGSR1 & ~GPIO_LOW_STROBE_BIT);
-+ PGSR2 = (PGSR2 & ~GPIO_HIGH_STROBE_BIT);
-+#ifdef LOGICAL_WAKEUP_SRC
-+ if (logical_wakeup_src_mask &
-+ (IDPM_WAKEUP_ADDRESSBOOK|IDPM_WAKEUP_CALENDAR|IDPM_WAKEUP_MENU|IDPM_WAKEUP_MAIL)) {
-+ PGSR1 |= GPIO_STROBE_BIT(4);
-+ }
-+#endif
-+ GPDR0 = 0xC3810940;
-+ GPDR1 = 0xFCFFAB82;
-+ GPDR2 = 0x000F501f;
- #endif
- }
- #endif
-@@ -764,7 +1060,6 @@
-
- #if !defined(CONFIG_SABINAL_DISCOVERY)
- sharpsl_wakeup_check();
--
- FFMCR = sys_ctx.ffmcr;
- FFSPR = sys_ctx.ffspr;
- FFLCR = sys_ctx.fflcr;
-@@ -847,15 +1142,42 @@
- #endif
-
- #if !defined(CONFIG_SABINAL_DISCOVERY)
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( sharpsl_alarm_flag ) {
-+ RCNR_buffer = RCNR;
-+ }
-+ DPRINTK("ac97&tc6393 up\n");
-+ tosa_ac97_init();
-+ pxa_ac97_get(&codec,&ac97_on); // initialize 'codec' pointer
-+ i2c_init(1);
-+ tc6393_resume();
-+
-+ sharpsl_request_dac_init(); // in sharpsl_battery.c
-+#else
- pxa_ssp_init();
-+#endif
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- if ( sharpsl_alarm_flag ) {
- RTAR_buffer2 = RTAR;
- RTAR = RTAR_buffer;
- DPRINTK("back the ALARM Time\n");
- }
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( sharpsl_alarm_flag && ( RCNR_buffer == RTAR_buffer2 ) ) {
-+ //printk("RCNR_buffer=%d\n",RCNR_buffer);
-+ if(sharpsl_battery_charge_hook)
-+ sharpsl_battery_charge_hook(5);
-+#if 1
-+ if(tosa_check_charge_full(BATTERY_CHECK_TIME) < 0) {
-+ goto DO_SUSPEND;
-+ }
-+#else
-+ goto DO_SUSPEND;
-+#endif
-+ }
-+#else
- if ( sharpsl_alarm_flag && ( RCNR == RTAR_buffer2 ) ) {
- if ( sharpsl_off_charge_battery() ) {
- DPRINTK("charge timer \n");
-@@ -863,6 +1185,7 @@
- }
- }
- #endif
-+#endif
-
- /* ----- hardware resume ----- */
- if ( !sharpsl_wakeup_hook() ) {
-@@ -877,6 +1200,19 @@
- printk("return to suspend (fatal) ....\n");
- goto DO_SUSPEND;
- }
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( (GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN)) == 0){
-+ if(sharpsl_off_charge_battery() < 0){
-+ printk("return to suspend (no main batt) ....\n");
-+ goto DO_SUSPEND;
-+ }
-+ }
-+
-+ if ( ( (GPLR(GPIO_BAT_LOCKED) & GPIO_bit(GPIO_BAT_LOCKED)) == 0 )
-+ || ( !sharpsl_off_mode && chkFatalBatt() == 0 ) ) {
-+ printk("return to suspend (fatal) ....\n");
-+ goto DO_SUSPEND;
-+ }
- #else
- if ( ( (GPLR(GPIO_MAIN_BAT_LOW) & GPIO_bit(GPIO_MAIN_BAT_LOW)) == 0 )
- || ( chkFatalBatt() == 0 ) ) {
-@@ -888,7 +1224,7 @@
- #endif
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- PMCR = 0x01;
-
- if ( sharpsl_off_mode )
-@@ -896,24 +1232,33 @@
- #endif
-
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- if ( sharpsl_chg_freq == 0x0145 ) {
- cpu_xscale_sl_change_speed_145_without_lcd();
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- }
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
- else if ( sharpsl_chg_freq == 0x0161 ) {
- cpu_xscale_sl_change_speed_161();
-+#endif
-+#if defined(CONFIG_SL_CCCR_CHANGE)
- }
-+ else if ( sharpsl_chg_freq != 0x0 ){
-+ cccr_clkparam = (unsigned int)sharpsl_chg_freq;
-+ cpu_xscale_sl_change_speed_num();
- #endif
-+ }
-+
- cccr_reg = CCCR;
- printk("FCS : CCCR = %x\n",cccr_reg);
- #if defined(CONFIG_ARCH_PXA_SHEPHERD) && !defined(CONFIG_ARCH_SHARP_SL_J)
- sharpsl_off_charge = 1;
- #else
-+
- sharpsl_off_charge = 0;
- #endif
- #endif
-
-+
- #if 1 // ensure that OS Timer irq occurs
- OSMR0 = sys_ctx.oscr + LATCH;
- #else
-@@ -1004,16 +1349,14 @@
- int pm_do_suspend(void)
- {
- int retval;
--
-- DPRINTK("yea\n");
--
- retval = pm_send_all(PM_SUSPEND, (void *)2);
-- if (retval)
-+ if (retval)
- return retval;
-
- retval = pxa_suspend();
-
- retval = pm_send_all(PM_RESUME, (void *)0);
-+
- if (retval)
- return retval;
-
-@@ -1040,7 +1383,7 @@
-
-
-
--int pxa_fatal_suspend(void)
-+static int pxa_fatal_suspend(void)
- {
- unsigned long flags;
- unsigned long RTAR_buffer;
-@@ -1056,7 +1399,7 @@
- save_flags_cli(flags);
- clf();
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- if ( CCCR != 0x241 ) {
- cpu_xscale_sl_change_speed_241_without_lcd();
- }
-@@ -1092,6 +1435,8 @@
- PGSR1 &= ~GPIO_bit(GPIO43_BTTXD);
- }
- #endif
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+// non
- #endif
-
- #if defined(CONFIG_ARCH_PXA_POODLE)
-@@ -1145,6 +1490,7 @@
- PRER = R_WAKEUP_SRC & apm_wakeup_src_mask;
- PFER = F_WAKEUP_SRC & apm_wakeup_src_mask;
- PEDR = WAKEUP_SRC & apm_wakeup_src_mask;
-+
- for (i = 0; i <=15; i++) {
- if ( PRER & PFER & GPIO_bit(i) ) {
- if ( GPLR0 & GPIO_bit(i) )
-@@ -1154,14 +1500,14 @@
- }
- }
-
--
- /* Clear reset status */
- RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR;
-
- /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
- PCFR = PCFR_OPDE;
-
--#ifdef CONFIG_ARCH_PXA_CORGI
-+
-+#if defined(CONFIG_ARCH_PXA_CORGI)
- /* GPIO Sleep Register */
- PGSR2 = (PGSR2 & ~GPIO_ALL_STROBE_BIT) | GPIO_STROBE_BIT(0);
-
-@@ -1172,6 +1518,19 @@
- #endif
- GPDR1 = 0x00FFAFC3;
- GPDR2 = 0x0001C004;
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ /* GPIO Sleep Register */
-+ PGSR1 = (PGSR1 & ~GPIO_LOW_STROBE_BIT);
-+ PGSR2 = (PGSR2 & ~GPIO_HIGH_STROBE_BIT);
-+#ifdef LOGICAL_WAKEUP_SRC
-+ if (logical_wakeup_src_mask &
-+ (IDPM_WAKEUP_ADDRESSBOOK|IDPM_WAKEUP_CALENDAR|IDPM_WAKEUP_MENU|IDPM_WAKEUP_MAIL)) {
-+ PGSR1 |= GPIO_STROBE_BIT(4);
-+ }
-+#endif
-+ GPDR0 = 0xC3810940;
-+ GPDR1 = 0xFCFFAB82;
-+ GPDR2 = 0x000F501f;
- #endif
- }
- #endif
-@@ -1228,14 +1587,20 @@
- }
- #endif
-
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- #define SCP_INIT_DATA(adr,dat) (((adr)<<16)|(dat))
- #define SCP_INIT_DATA_END ((unsigned long)-1)
- void sharpsl_corgi_fataloff(void)
- {
- #ifdef CONFIG_PM
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ tc6393_fatal_off();
-+ tc6393_suspend();
-+ tosa_ac97_exit();
-+#else
- w100_fatal_off();
- #endif
-+#endif
-
- {
- static const unsigned long scp_init[] =
-@@ -1253,12 +1618,37 @@
- SCP_INIT_DATA(SCP_GPWR,SCP_IO_OUT), // 24
- SCP_INIT_DATA_END
- };
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ static const unsigned long scp_jc_init[] =
-+ {
-+ SCP_INIT_DATA(SCP_MCR,0x0140), // 00
-+ SCP_INIT_DATA(SCP_MCR,0x0100),
-+ SCP_INIT_DATA(SCP_CDR,0x0000), // 04
-+ SCP_INIT_DATA(SCP_CPR,0x0000), // 0C
-+ SCP_INIT_DATA(SCP_CCR,0x0000), // 10
-+ SCP_INIT_DATA(SCP_IMR,0x0000), // 18
-+ SCP_INIT_DATA(SCP_IRM,0x00FF), // 14
-+ SCP_INIT_DATA(SCP_ISR,0x0000), // 1C
-+ SCP_INIT_DATA(SCP_IRM,0x0000),
-+ SCP_INIT_DATA(SCP_GPCR,SCP_JC_IO_DIR), // 20
-+ SCP_INIT_DATA(SCP_GPWR,SCP_JC_IO_OUT), // 24
-+ SCP_INIT_DATA_END
-+ };
-+#endif
- int i;
- for(i=0; scp_init[i] != SCP_INIT_DATA_END; i++)
- {
- int adr = scp_init[i] >> 16;
- SCP_REG(adr) = scp_init[i] & 0xFFFF;
- }
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ for(i=0; scp_jc_init[i] != SCP_INIT_DATA_END; i++)
-+ {
-+ int adr = scp_jc_init[i] >> 16;
-+ SCP_JC_REG(adr) = scp_jc_init[i] & 0xFFFF;
-+ }
-+#endif
-+
- }
-
- }
-@@ -1267,6 +1657,10 @@
-
- void sharpsl_fataloff(void)
- {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ return;
-+#endif
-+
- if ( PSSR & 0x02 ) {
-
- printk("PSSR = %8x\n",PSSR);
-@@ -1278,19 +1672,18 @@
- PSPR = 0x00;
- RCSR = 0xf;
-
-- printk("off\n");
- pxa_fatal_suspend();
-- printk("off 2\n");
- #endif
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- sharpsl_corgi_fataloff();
-
- PSPR = 0x00;
- RCSR = 0xf;
-
-- printk("off\n");
- pxa_fatal_suspend();
-- printk("off 2\n");
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ sharpsl_restart();
-+#endif
- #endif
- }
- }
-@@ -1308,15 +1701,14 @@
- interruptible_sleep_on(&wq_off);
- DPRINTK("start off sequence ! \n");
-
--#if !defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if !defined(CONFIG_ARCH_PXA_SHEPHERD) && !defined(CONFIG_ARCH_PXA_TOSA)
- sharpsl_off_mode = 1;
- #endif
--
- handle_scancode(SLKEY_OFF|KBDOWN , 1);
- mdelay(10);
- handle_scancode(SLKEY_OFF|KBUP , 0);
-
--#if !defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if !defined(CONFIG_ARCH_PXA_SHEPHERD) && !defined(CONFIG_ARCH_PXA_TOSA)
- // wait off signal
- // if can not recieve off siganl , so force off.
- time_cnt = jiffies;
-@@ -1333,7 +1725,50 @@
- return 0;
- }
-
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+static int key_suspend_thread(void* unused)
-+{
-+ int time_cnt = 0;
-+
-+ // daemonize();
-+ strcpy(current->comm, "off_thread");
-+ sigfillset(&current->blocked);
-+
-+ while(1) {
-+ sleep_on(&key_off);
-+ printk("start off sequence ! \n");
-+
-+ handle_scancode(SLKEY_OFF|KBDOWN , 1);
-+ mdelay(10);
-+ handle_scancode(SLKEY_OFF|KBUP , 0);
-+
-+ // wait off signal
-+ // if can not recieve off siganl , so force off.
-+// time_cnt = jiffies;
-+// while(1) {
-+// if ( ( jiffies - time_cnt ) > 500 ) break;
-+// schedule();
-+// }
-+
-+ // maybe apps is dead, so we have to restart.
-+ pm_do_suspend();
-+ }
-+ return 0;
-+}
-+
-+void slc7x0_key_suspend(void)
-+{
-+ apm_wakeup_src_mask = 0;
-+ wake_up(&key_off);
-+}
-+
-+EXPORT_SYMBOL(slc7x0_key_suspend);
-+
-+#endif
-+
-+
-+
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- static struct timer_list bat_switch_timer;
-
- void sharpsl_emerge_restart(void)
-@@ -1347,10 +1782,16 @@
- void sharpsl_emerge_off(int irq, void *dev_id, struct pt_regs *regs)
- {
-
-+ DPRINTK("DBG:sharpsl_emerge_off [non-battery]\n");
-+
- /* noise ? */
- mdelay(10);
-- if ( 0x1234ABCD != regs &&
-- GPLR(GPIO_MAIN_BAT_LOW) & GPIO_bit(GPIO_MAIN_BAT_LOW) ) {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if ( 0x1234ABCD != regs && GPLR(GPIO_BAT_LOCKED) & GPIO_bit(GPIO_BAT_LOCKED) )
-+#else
-+ if ( 0x1234ABCD != regs && GPLR(GPIO_MAIN_BAT_LOW) & GPIO_bit(GPIO_MAIN_BAT_LOW) )
-+#endif
-+ {
- #if defined(CONFIG_ARCH_PXA_SHEPHERD)
- sharpsl_battery_charge_hook(1); /* charge off */
- if (sharppda_kbd_resetcheck()) {
-@@ -1364,11 +1805,10 @@
- return;
- }
-
--#if defined(CONFIG_ARCH_PXA_CORGI) && !defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if (defined(CONFIG_ARCH_PXA_CORGI)) && !defined(CONFIG_ARCH_PXA_SHEPHERD) && !defined(CONFIG_ARCH_PXA_TOSA)
- if (!(GPLR(GPIO_MAIN_BAT_LOW) & GPIO_bit(GPIO_MAIN_BAT_LOW)))
- apm_wakeup_src_mask = 0;
- #endif
--
- wake_up(&wq_off);
-
- }
-@@ -1386,6 +1826,8 @@
- /* Set transition detect */
- #ifdef CONFIG_ARCH_PXA_SHEPHERD
- set_GPIO_IRQ_edge( GPIO_MAIN_BAT_LOW , GPIO_BOTH_EDGES );
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ set_GPIO_IRQ_edge( GPIO_BAT_LOCKED , GPIO_BOTH_EDGES );
- #else
- set_GPIO_IRQ_edge( GPIO_MAIN_BAT_LOW , GPIO_FALLING_EDGE );
- #endif
-@@ -1394,17 +1836,29 @@
- /* this registration can be done in init/main.c. */
- if(1){
- int err;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ err = request_irq(IRQ_GPIO_BAT_LOCKED,sharpsl_emerge_off , SA_INTERRUPT, "batok", NULL);
-+#else
- err = request_irq(IRQ_GPIO_MAIN_BAT_LOW,sharpsl_emerge_off , SA_INTERRUPT, "batok", NULL);
-+#endif
- if( err ){
- printk("batok install error %d\n",err);
- }else{
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ enable_irq(IRQ_GPIO_BAT_LOCKED);
-+#else
- enable_irq(IRQ_GPIO_MAIN_BAT_LOW);
-+#endif
- printk("batok installed\n");
- }
- }
-
- kernel_thread(sharpsl_off_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+ kernel_thread(key_suspend_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+#endif
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
-+//#if defined(CONFIG_ARCH_PXA_SHEPHERD)
- init_timer(&bat_switch_timer);
- bat_switch_timer.function = sharpsl_emerge_restart;
- #endif
-@@ -1464,12 +1918,55 @@
-
- void set_apm_wakeup_src_mask(u32 SetValue)
- {
-+#ifdef LOGICAL_WAKEUP_SRC
-+ logical_wakeup_src_mask = 0;
-+ // RTC
-+ if (SetValue&IDPM_WAKEUP_RTC) {
-+ apm_wakeup_src_mask |= GPIO_bit(31);
-+ logical_wakeup_src_mask |= IDPM_WAKEUP_RTC;
-+ } else apm_wakeup_src_mask &= ~GPIO_bit(31);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ // Sync key
-+ if (SetValue&IDPM_WAKEUP_SYNC) {
-+ apm_wakeup_src_mask |= GPIO_bit(GPIO_SYNC);
-+ logical_wakeup_src_mask |= IDPM_WAKEUP_SYNC;
-+ } else apm_wakeup_src_mask &= ~GPIO_bit(GPIO_SYNC);
-+ // Record key
-+ if (SetValue&IDPM_WAKEUP_REC) {
-+ apm_wakeup_src_mask |= GPIO_bit(GPIO_RECORD_BTN);
-+ logical_wakeup_src_mask |= IDPM_WAKEUP_REC;
-+ } else apm_wakeup_src_mask &= ~GPIO_bit(GPIO_RECORD_BTN);
-+ // USBD
-+ if (SetValue&IDPM_WAKEUP_USBD) {
-+ apm_wakeup_src_mask |= GPIO_bit(GPIO_USB_IN);
-+ logical_wakeup_src_mask |= IDPM_WAKEUP_USBD;
-+ } else apm_wakeup_src_mask &= ~GPIO_bit(GPIO_USB_IN);
-+ // only Logical
-+ if (SetValue&IDPM_WAKEUP_AC) logical_wakeup_src_mask |= IDPM_WAKEUP_AC;
-+ if (SetValue&IDPM_WAKEUP_JACKET) logical_wakeup_src_mask |= IDPM_WAKEUP_JACKET;
-+ if (SetValue&IDPM_WAKEUP_CALENDAR) logical_wakeup_src_mask |= IDPM_WAKEUP_CALENDAR;
-+ if (SetValue&IDPM_WAKEUP_ADDRESSBOOK) logical_wakeup_src_mask |= IDPM_WAKEUP_ADDRESSBOOK;
-+ if (SetValue&IDPM_WAKEUP_MAIL) logical_wakeup_src_mask |= IDPM_WAKEUP_MAIL;
-+ if (SetValue&IDPM_WAKEUP_MENU) logical_wakeup_src_mask |= IDPM_WAKEUP_MENU;
-+#ifdef WUPSRC_DEBUG
-+ printk("set_wakeup_src=%08x->%08x[%08x]\n",SetValue,logical_wakeup_src_mask,apm_wakeup_src_mask);
-+#endif
-+#endif
-+#else
- apm_wakeup_src_mask = SetValue;
-+#endif
- }
-
- u32 get_apm_wakeup_src_mask(void)
- {
-+#ifdef LOGICAL_WAKEUP_SRC
-+#ifdef WUPSRC_DEBUG
-+ printk("get_wakeup_src=%08x\n",logical_wakeup_src_mask);
-+#endif
-+ return (u32)logical_wakeup_src_mask;
-+#else
- return (u32)apm_wakeup_src_mask;
-+#endif
- }
-
- u32 get_apm_wakeup_factor(void)
-diff -Nur linux_c860_org/arch/arm/mach-pxa/sharpsl_suspend.S linux/arch/arm/mach-pxa/sharpsl_suspend.S
---- linux_c860_org/arch/arm/mach-pxa/sharpsl_suspend.S 2003-06-18 16:12:25.000000000 +0900
-+++ linux/arch/arm/mach-pxa/sharpsl_suspend.S 2004-06-10 21:09:10.000000000 +0900
-@@ -34,6 +34,7 @@
- * 12-Dec-2002 Lineo Japan, Inc.
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
- * 14-Mar-2003 Sharp for PXA255
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/linkage.h>
-@@ -59,10 +60,17 @@
-
- .global sleep_param
- .global sleep_param_p
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ .global cccr_clkparam
-+#endif
-
- sleep_param: .word 0 @ virtual address of parameter array
- sleep_param_p: .word 0 @ physical address of parameter array
-
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+cccr_clkparam: .word 0
-+#endif
-+
- IC_BASE: .word io_p2v(0x40D00000)
-
-
-@@ -228,7 +236,7 @@
- str r1, [r0] @ turn off all GPIOs
- #endif
-
-- ldr r3, sleep_param
-+ ldr r3, sleep_param
- ldr r2, =Awake_address @ store Virtual return address
- str r2, [r3], #4
-
-@@ -1053,7 +1061,7 @@
- .align 5
- .text
-
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
-
- ENTRY(cpu_xscale_sl_change_speed_161)
- stmfd sp!, {r0, r1, r2, r3, r4, lr}
-@@ -1081,3 +1089,30 @@
- .text
-
- #endif
-+
-+#if defined(CONFIG_SL_CCCR_CHANGE)
-+ENTRY(cpu_xscale_sl_change_speed_num)
-+ stmfd sp!, {r0, r1, r2, r3, r4, lr}
-+
-+ ldr r0, CMR_BASE
-+ ldr r1, cccr_clkparam
-+ str r1, [r0, #CMR_CCCR]
-+
-+ ldr r0, MD_BASE
-+ ldr r2, [r0, #MD_MDREFR]
-+
-+ bl CodeOnCache_num
-+
-+ .align 5
-+ .text
-+CodeOnCache_num:
-+ mov r1, #0x2
-+ mcr p14, 0, r1, c6, c0, 0
-+ str r2, [r0, #MD_MDREFR]
-+ ldr r2, [r0, #MD_MDREFR]
-+
-+ ldmfd sp!, {r0, r1, r2, r3, r4, pc}
-+
-+ .align 5
-+ .text
-+#endif
-diff -Nur linux_c860_org/arch/arm/mach-pxa/tosa.c linux/arch/arm/mach-pxa/tosa.c
---- linux_c860_org/arch/arm/mach-pxa/tosa.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/arch/arm/mach-pxa/tosa.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,483 @@
-+/*
-+ * arch/arm/mach-pxa/tosa.c
-+ *
-+ * Support for the SHARP Tosa Board.
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on:
-+ * linux/arch/arm/mach-pxa/lubbock.c
-+ *
-+ * Support for the Intel DBPXA250 Development Platform.
-+ *
-+ * Author: Nicolas Pitre
-+ * Created: Jun 15, 2001
-+ * Copyright: MontaVista Software Inc.
-+ *
-+ * 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.
-+ *
-+ * Change Log
-+ * 26-Dec-2003 Sharp Corporation for Tosa
-+ *
-+ */
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/major.h>
-+#include <linux/fs.h>
-+#include <linux/interrupt.h>
-+#include <linux/sched.h>
-+#include <linux/delay.h>
-+
-+#include <asm/types.h>
-+#include <asm/setup.h>
-+#include <asm/memory.h>
-+#include <asm/mach-types.h>
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/irq.h>
-+
-+#include "generic.h"
-+#include <linux/ac97_codec.h>
-+#include <linux/pm.h>
-+#ifdef CONFIG_PM
-+static struct pm_dev *ga_pm_dev;
-+extern int pxa_suspend(void);
-+#endif
-+
-+extern void sharpsl_get_param(void);
-+extern void sharpsl_charge_start(void);
-+//extern unsigned short chkFatalBatt(void);
-+extern void pxa_nssp_init(void);
-+extern void tosa_ac97_init(void);
-+extern void i2c_init(int reset);
-+
-+unsigned short reset_scoop_gpio(unsigned short);
-+
-+static void tc6393_IRQ_demux( int irq, void *dev_id, struct pt_regs *regs )
-+{
-+ int req, i;
-+
-+ while ( (req = (TC6393_SYS_REG(TC6393_SYS_ISR)
-+ & ~(TC6393_SYS_REG(TC6393_SYS_IMR)))) ) {
-+ for (i = 0; i <= 7; i++) {
-+ if ((req & (0x0001<<i))) {
-+ switch (TC6393_IRQ(i)) {
-+ case TC6393_IRQ_USBINT:
-+#if 0
-+ if (!(TC6393_USB_REG(TC6393_USB_SVPMCS) & TC6393_USB_PM_PMES))
-+ continue;
-+#endif
-+ break;
-+ }
-+ do_IRQ( TC6393_IRQ(i) , regs );
-+ }
-+ }
-+ break;
-+ }
-+}
-+
-+static struct irqaction tc6393_irq = {
-+ name: "TC6393",
-+ handler: tc6393_IRQ_demux,
-+ flags: SA_INTERRUPT
-+};
-+
-+static void tc6393_mask_and_ack_irq(unsigned int irq)
-+{
-+ TC6393_SYS_REG(TC6393_SYS_IMR) |= (0x0001 << (irq - TC6393_IRQ(0)));
-+ switch (irq) {
-+ case TC6393_IRQ_USBINT:
-+ TC6393_USB_REG(TC6393_USB_SVPMCS) |= TC6393_USB_PM_PMES;
-+ break;
-+ }
-+}
-+
-+static void tc6393_mask_irq(unsigned int irq)
-+{
-+ TC6393_SYS_REG(TC6393_SYS_IMR) |= (0x0001 << (irq - TC6393_IRQ(0)));
-+}
-+
-+static void tc6393_unmask_irq(unsigned int irq)
-+{
-+ TC6393_SYS_REG(TC6393_SYS_IMR) &= ~(0x0001 << (irq - TC6393_IRQ(0)));
-+}
-+
-+static void __init scoop_init(void)
-+{
-+
-+#define SCP_INIT_DATA(adr,dat) (((adr)<<16)|(dat))
-+#define SCP_INIT_DATA_END ((unsigned long)-1)
-+ static const unsigned long scp_init[] =
-+ {
-+ SCP_INIT_DATA(SCP_MCR,0x0140), // 00
-+ SCP_INIT_DATA(SCP_MCR,0x0100),
-+ SCP_INIT_DATA(SCP_CDR,0x0000), // 04
-+ SCP_INIT_DATA(SCP_CPR,0x0000), // 0C
-+ SCP_INIT_DATA(SCP_CCR,0x0000), // 10
-+ SCP_INIT_DATA(SCP_IMR,0x0000), // 18
-+ SCP_INIT_DATA(SCP_IRM,0x00FF), // 14
-+ SCP_INIT_DATA(SCP_ISR,0x0000), // 1C
-+ SCP_INIT_DATA(SCP_IRM,0x0000),
-+ SCP_INIT_DATA(SCP_GPCR,SCP_IO_DIR), // 20
-+ SCP_INIT_DATA(SCP_GPWR,SCP_IO_OUT), // 24
-+ SCP_INIT_DATA_END
-+ };
-+ int i;
-+ for(i=0; scp_init[i] != SCP_INIT_DATA_END; i++)
-+ {
-+ int adr = scp_init[i] >> 16;
-+ SCP_REG(adr) = scp_init[i] & 0xFFFF;
-+ }
-+}
-+
-+static spinlock_t scoop_lock = SPIN_LOCK_UNLOCKED;
-+
-+unsigned short set_scoop_gpio(unsigned short bit)
-+{
-+ unsigned short gpio_bit;
-+ unsigned long flag;
-+
-+ spin_lock_irqsave(&scoop_lock, flag);
-+ gpio_bit = SCP_REG_GPWR | bit;
-+ SCP_REG_GPWR = gpio_bit;
-+ spin_unlock_irqrestore(&scoop_lock, flag);
-+
-+ return gpio_bit;
-+}
-+EXPORT_SYMBOL(set_scoop_gpio);
-+
-+unsigned short reset_scoop_gpio(unsigned short bit)
-+{
-+ unsigned short gpio_bit;
-+ unsigned long flag;
-+
-+ spin_lock_irqsave(&scoop_lock, flag);
-+ gpio_bit = SCP_REG_GPWR & ~bit;
-+ SCP_REG_GPWR = gpio_bit;
-+ spin_unlock_irqrestore(&scoop_lock, flag);
-+
-+ return gpio_bit;
-+}
-+EXPORT_SYMBOL(reset_scoop_gpio);
-+
-+
-+static void __init scoop_jc_init(void)
-+{
-+ static const unsigned long scp_jc_init[] =
-+ {
-+ SCP_INIT_DATA(SCP_MCR,0x0140), // 00
-+ SCP_INIT_DATA(SCP_MCR,0x0100),
-+ SCP_INIT_DATA(SCP_CDR,0x0000), // 04
-+ SCP_INIT_DATA(SCP_CPR,0x0000), // 0C
-+ SCP_INIT_DATA(SCP_CCR,0x0000), // 10
-+ SCP_INIT_DATA(SCP_IMR,0x0000), // 18
-+ SCP_INIT_DATA(SCP_IRM,0x00FF), // 14
-+ SCP_INIT_DATA(SCP_ISR,0x0000), // 1C
-+ SCP_INIT_DATA(SCP_IRM,0x0000),
-+ SCP_INIT_DATA(SCP_GPCR,SCP_JC_IO_DIR), // 20
-+ SCP_INIT_DATA(SCP_GPWR,SCP_JC_IO_OUT), // 24
-+ SCP_INIT_DATA_END
-+ };
-+ int i;
-+ for(i=0; scp_jc_init[i] != SCP_INIT_DATA_END; i++) {
-+ int adr = scp_jc_init[i] >> 16;
-+ SCP_JC_REG(adr) = scp_jc_init[i] & 0xFFFF;
-+ }
-+
-+ reset_scoop_gpio(SCP_IR_POWERDWN);
-+}
-+
-+static spinlock_t scoop_jc_lock = SPIN_LOCK_UNLOCKED;
-+
-+unsigned short set_scoop_jc_gpio(unsigned short bit)
-+{
-+ unsigned short gpio_bit;
-+ unsigned long flag;
-+
-+ spin_lock_irqsave(&scoop_jc_lock, flag);
-+ gpio_bit = SCP_JC_REG_GPWR | bit;
-+ SCP_JC_REG_GPWR = gpio_bit;
-+ spin_unlock_irqrestore(&scoop_jc_lock, flag);
-+
-+ return gpio_bit;
-+}
-+EXPORT_SYMBOL(set_scoop_jc_gpio);
-+
-+unsigned short reset_scoop_jc_gpio(unsigned short bit)
-+{
-+ unsigned short gpio_bit;
-+ unsigned long flag;
-+
-+ spin_lock_irqsave(&scoop_jc_lock, flag);
-+ gpio_bit = SCP_JC_REG_GPWR & ~bit;
-+ SCP_JC_REG_GPWR = gpio_bit;
-+ spin_unlock_irqrestore(&scoop_jc_lock, flag);
-+
-+ return gpio_bit;
-+}
-+EXPORT_SYMBOL(reset_scoop_jc_gpio);
-+
-+static void tc6393_init(void)
-+{
-+ reset_scoop_jc_gpio(SCP_JC_TC3693_L3V_ON);
-+ reset_scoop_jc_gpio(SCP_JC_TC6393_SUSPEND);
-+ reset_scoop_gpio(SCP_TC6393_REST_IN);
-+ set_GPIO_mode(GPIO11_3_6MHz_MD);
-+ set_GPIO_mode(GPIO18_RDY_MD);
-+ mdelay(1);
-+ set_scoop_jc_gpio(SCP_JC_TC6393_SUSPEND);
-+ mdelay(10);
-+ set_scoop_gpio(SCP_TC6393_REST_IN);
-+ set_scoop_jc_gpio(SCP_JC_TC3693_L3V_ON);
-+
-+ printk("init TC6369 Revision %d\n", TC6393_SYS_REG(TC6393_SYS_RIDR));
-+ TC6393_SYS_REG(TC6393_SYS_FER) = 0;
-+
-+ /* clock setting */
-+ TC6393_SYS_REG(TC6393_SYS_PLL2CR) = 0x0cc1;
-+ //TC6393_SYS_REG(TC6393_SYS_ConfigCR) = 0x1;
-+ //TC6393_SYS_REG(TC6393_SYS_PLL1CR1) = 0xdf00;
-+ //TC6393_SYS_REG(TC6393_SYS_PLL1CR2) = 0x002c;
-+ //TC6393_SYS_REG(TC6393_SYS_ConfigCR) = 0x0;
-+ TC6393_SYS_REG(TC6393_SYS_CCR) = 0x1310;
-+
-+ TC6393_SYS_REG(TC6393_SYS_MCR) = 0x80AA;
-+
-+ /* GPIO */
-+ TC6393_SYS_REG(TC6393_SYS_GPER) = 0x3300; /* 15-0 GPO */
-+// TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_GPO_OE;
-+// TC6393_SYS_REG(TC6393_SYS_GPODSR1) = TC6393_CARD_VCC_ON;/* 15-0 GPO set */
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) = TC6393_CARD_VCC_ON | TC6393_CHARGE_OFF_JC;/* 15-0 GPO set */
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) = TC6393_GPO_OE;
-+
-+}
-+
-+void tc6393_resume(void)
-+{
-+ tc6393_init();
-+}
-+EXPORT_SYMBOL(tc6393_resume);
-+
-+void tc6393_suspend(void)
-+{
-+ reset_scoop_jc_gpio(SCP_JC_TC3693_L3V_ON);
-+ reset_scoop_gpio(SCP_TC6393_REST_IN);
-+ reset_scoop_jc_gpio(SCP_JC_TC6393_SUSPEND);
-+ set_GPIO_mode(GPIO11_3_6MHz|GPIO_OUT);
-+ GPSR0 = GPIO_bit(GPIO11_3_6MHz);
-+}
-+EXPORT_SYMBOL(tc6393_suspend);
-+
-+#ifdef CONFIG_PM
-+static int ga_pm_callback(struct pm_dev* pm_dev, pm_request_t req, void *data)
-+{
-+ switch (req) {
-+ case PM_SUSPEND:
-+ break;
-+ case PM_RESUME:
-+ break;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+void resume_init(void)
-+{
-+// MSC0 = 0x02da02da; //msc0
-+// MSC1 = 0x7FFC7FFC; //msc1
-+// MSC2 = 0x7FF47FFC; //msc2
-+
-+// GPDR0=0xDB828000;
-+// GPDR1=0xFFB6A887;
-+// GPDR2=0x0001FFFF;
-+
-+// PGSR0 = 0x01008000; //Sleep State
-+// PGSR1 = 0x00160802; //Sleep State
-+// PGSR2 = 0x0001C000; //Sleep State
-+
-+#if 0
-+ GRER0 = (GRER0 | 1); //raising
-+ GFER0 = (GFER0 | 1); //failing
-+
-+ ICLR = 0;
-+
-+ ICMR |= (1 << 10); //bit10, gpio02_80 enable
-+ ICMR |= (1 << 8); //bit8, gpio00 enable
-+
-+ ICCR = 1; //Only enabled and unmasked will bring the Cotulla out of IDLE mode.
-+#endif
-+
-+ CKEN |= 0x03;
-+ CKEN |= CKEN3_SSP;
-+ CKEN |= CKEN1_PWM1;
-+}
-+
-+static int __init tosa_hw_init(void)
-+{
-+
-+ /* scoop initialize */
-+ scoop_init();
-+ scoop_jc_init();
-+
-+ /* initialize I2C */
-+ i2c_init(1);
-+
-+ /* TC6393 initialize */
-+ tc6393_init();
-+
-+ /* initialize SSP & CS */
-+ pxa_nssp_init();
-+
-+ /* initialize AC97 */
-+ tosa_ac97_init();
-+
-+ return 0;
-+}
-+
-+static void __init tosa_init_irq(void)
-+{
-+ int irq;
-+
-+ pxa_init_irq();
-+
-+ /* setup extra tosa irqs */
-+ TC6393_SYS_REG(TC6393_SYS_IRR) = 0;
-+ TC6393_SYS_REG(TC6393_SYS_IMR) = 0xbf;
-+ for (irq = TC6393_IRQ(0); irq <= TC6393_IRQ(7); irq++) {
-+ irq_desc[irq].valid = 1;
-+ irq_desc[irq].probe_ok = 1;
-+ irq_desc[irq].mask_ack = tc6393_mask_and_ack_irq;
-+ irq_desc[irq].mask = tc6393_mask_irq;
-+ irq_desc[irq].unmask = tc6393_unmask_irq;
-+ }
-+ GPDR(GPIO_TC6393_INT) &= ~GPIO_bit(GPIO_TC6393_INT);
-+ set_GPIO_IRQ_edge( GPIO_TC6393_INT, GPIO_FALLING_EDGE );
-+ setup_arm_irq( IRQ_GPIO_TC6393_INT, &tc6393_irq );
-+
-+ tosa_hw_init();
-+}
-+
-+static int __init tosa_init(void)
-+{
-+#ifdef CONFIG_PM
-+ extern u32 sharpsl_emergency_off;
-+#endif
-+
-+ // enable batt_fault
-+ PMCR = 0x01;
-+
-+ /* charge check */
-+ if ((GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN)) == 0) {
-+ sharpsl_charge_start();
-+ }
-+
-+ //sharpsl_kick_jacket_check_queue();
-+
-+ printk("RCSR = %d\n",RCSR);
-+
-+#ifdef CONFIG_PM
-+ /* fatal check */
-+#ifndef CONFIG_ARCH_PXA_TOSA_SKIP
-+ if ( !(GPLR(GPIO_MAIN_BAT_LOW) & GPIO_bit(GPIO_MAIN_BAT_LOW)) ) {
-+ printk("corgi.c : main batt low\n");
-+ sharpsl_emergency_off = 1;
-+ pxa_suspend();
-+ }
-+#endif /* CONFIG_ARCH_PXA_TOSA_SKIP */
-+
-+ if ( RCSR == 0x01 || RCSR == 0x6) {
-+ printk("full reset !\n");
-+ sharpsl_emergency_off = 1;
-+ }
-+
-+ ga_pm_dev = pm_register(PM_SYS_DEV, 0, ga_pm_callback);
-+#endif
-+
-+ return 0;
-+}
-+
-+__initcall(tosa_init);
-+
-+static void __init fixup_tosa(struct machine_desc *desc,
-+ struct param_struct *params,
-+ char **cmdline, struct meminfo *mi)
-+{
-+ SET_BANK (0, 0xa0000000, 64*1024*1024);
-+ mi->nr_banks = 1;
-+#if defined(CONFIG_BLK_DEV_INITRD)
-+ setup_ramdisk (1, 0, 0, 8192);
-+ setup_initrd (__phys_to_virt(0xa1000000), 4*1024*1024);
-+ ROOT_DEV = MKDEV(RAMDISK_MAJOR,0);
-+#elif defined(CONFIG_MTD)
-+ ROOT_DEV = MKDEV(31, 0); /* /dev/mtdblock0 */
-+#endif
-+
-+#ifdef CONFIG_SHARPSL_BOOTLDR_PARAMS
-+ if (params->u1.s.page_size != PAGE_SIZE) {
-+ params->u1.s.page_size = PAGE_SIZE;
-+ params->u1.s.nr_pages = 32 * 1024 * 1024 / PAGE_SIZE;
-+ params->u1.s.ramdisk_size = 0;
-+ params->u1.s.flags = FLAG_READONLY | FLAG_RDLOAD | FLAG_RDPROMPT;
-+ params->u1.s.rootdev = ROOT_DEV;
-+ params->u1.s.initrd_start = 0;
-+ params->u1.s.initrd_size = 0;
-+ params->u1.s.rd_start = 0;
-+ params->u1.s.system_rev = 0;
-+ params->u1.s.system_serial_low = 0;
-+ params->u1.s.system_serial_high = 0;
-+ strcpy(params->commandline, CONFIG_CMDLINE);
-+ }
-+#endif
-+
-+ sharpsl_get_param();
-+}
-+
-+static struct map_desc tosa_io_desc[] __initdata = {
-+ /* virtual physical length domain r w c b */
-+ /* TC6393 (LCDC, USBC, NANDC) */
-+ { 0xf1000000, TOSA_LCDC_PHYS, 0x00400000, DOMAIN_IO, 1, 1, 0, 0 },
-+ /* SCOOP2 for internel CF */
-+ { 0xf2000000, TOSA_CF_PHYS, 0x00001000, DOMAIN_IO, 0, 1, 0, 0 },
-+ /* SCOOP2 for Jacket CF */
-+ { 0xf2200000, TOSA_SCOOP_PHYS, 0x00001000, DOMAIN_IO, 0, 1, 0, 0 },
-+ /* Nor Flash */
-+ { 0xef000000, 0x00000000, 0x00800000, DOMAIN_IO, 1, 1, 1, 0 },
-+ LAST_DESC
-+};
-+
-+static void __init tosa_map_io(void)
-+{
-+ pxa_map_io();
-+ iotable_init(tosa_io_desc);
-+
-+ set_GPIO_mode(GPIO_ON_RESET | GPIO_IN);
-+
-+ /* setup sleep mode values */
-+ PWER = 0x00000002;
-+ PFER = 0x00000000;
-+ PRER = 0x00000002;
-+ PGSR0 = 0x00000000;
-+ PGSR1 = 0x00FF0002;
-+ PGSR2 = 0x00014000;
-+ PCFR |= PCFR_OPDE;
-+}
-+
-+MACHINE_START(TOSA, "SHARP Tosa")
-+ MAINTAINER("Lineo uSolutions, Inc.")
-+ BOOT_MEM(0xa0000000, 0x40000000, io_p2v(0x40000000))
-+#ifdef CONFIG_SHARPSL_BOOTLDR_PARAMS
-+ BOOT_PARAMS(0xa0000100)
-+#endif
-+ FIXUP(fixup_tosa)
-+ MAPIO(tosa_map_io)
-+ INITIRQ(tosa_init_irq)
-+MACHINE_END
-+
-diff -Nur linux_c860_org/arch/arm/mach-pxa/tosa_ac97.c linux/arch/arm/mach-pxa/tosa_ac97.c
---- linux_c860_org/arch/arm/mach-pxa/tosa_ac97.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/arch/arm/mach-pxa/tosa_ac97.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,587 @@
-+/*
-+ * linux/asm/arch/mach-pxa/tosa_ac97.c
-+ *
-+ * AC97 interface for the Tosa chip
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on:
-+ * linux/drivers/sound/pxa-ac97.c -- AC97 interface for the Cotula chip
-+ * Author: Nicolas Pitre
-+ * Created: Aug 15, 2001
-+ * Copyright: MontaVista Software Inc.
-+ *
-+ * linux/drivers/sound/ac97_codec.c -- Generic AC97 mixer/modem module
-+ * Derived from ac97 mixer in maestro and trident driver.
-+ * Copyright 2000 Silicon Integrated System Corporation
-+ *
-+ * ChangeLong:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
-+ * 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.
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/bitops.h>
-+#include <linux/slab.h>
-+#include <linux/pci.h>
-+#include <linux/completion.h>
-+#include <linux/delay.h>
-+#include <linux/poll.h>
-+#include <linux/sound.h>
-+#include <linux/soundcard.h>
-+#include <linux/ac97_codec.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/uaccess.h>
-+#include <asm/semaphore.h>
-+#include <asm/dma.h>
-+
-+#include <asm/arch/tosa_wm9712.h>
-+
-+#ifdef CONFIG_PM
-+#include <asm/sharp_apm.h>
-+#endif
-+
-+#define CODEC_ID_BUFSZ 14
-+
-+typedef struct {
-+ unsigned short ctl_val, pdown_val;
-+} power_mode_t;
-+
-+static power_mode_t pwr_values[] = {
-+ { 0x6F00, 0x7FFF }, // Off
-+ { 0x4600, 0x73FF }, // Rec with no HP
-+ { 0x4100, 0x1F77 }, // Play with no HP
-+ { 0x4600, 0x73FF }, // Rec with Stereo HP
-+ { 0x0100, 0x1CEF }, // Play with Stereo HP
-+ { 0x4600, 0x73FF }, // Rec with Mic HP
-+ { 0x0100, 0x1EEF }, // Play with Mic HP
-+ { 0x4700, 0x7FFF }, // Tablet (waiting for pen-down)
-+ { 0x4700, 0x7FFF }, // Tablet (continuous conversion)
-+ { 0x4700, 0x7BFF }, // Enable MICBIAS for detecting Mic HP
-+ { 0x0000, 0x0000 }, // Full power
-+};
-+static const int num_of_pwr_values = sizeof(pwr_values)/sizeof(pwr_values[0]);
-+
-+static power_mode_t power_mode_status[NUM_OF_WM9712_DEV];
-+static power_mode_t cur_power_status;
-+
-+struct ac97_codec *codec;
-+
-+static struct completion CAR_completion;
-+static DECLARE_MUTEX(CAR_mutex);
-+
-+/************************************************************
-+ * Debug
-+ ************************************************************/
-+#define DBG_LEVEL 0
-+#define DBG_L1 1
-+#define DBG_L2 2
-+#define DBG_L3 3
-+#define DEBUG(level, x, args...) \
-+ if ( level <= DBG_LEVEL ) printk("%s: " x,__FUNCTION__ ,##args)
-+
-+/************************************************************
-+ * AC97 Sequense
-+ ************************************************************/
-+typedef struct {
-+ u16 val;
-+ u8 seq;
-+} ac97_seq_t;
-+static volatile u32 *ac97_addr = NULL;
-+static ac97_seq_t ac97_seq;
-+
-+#define AC97_SEQ_READ1 0x01
-+#define AC97_SEQ_READ2 0x02
-+#define AC97_SEQ_READ_DONE 0x03
-+#define AC97_SEQ_WRITE_DONE 0x04
-+
-+/************************************************************
-+ * AC97 IDs
-+ ************************************************************/
-+typedef struct {
-+ u32 id;
-+ char *name;
-+ struct ac97_ops *ops;
-+ int flags;
-+} ac97_ids_t;
-+
-+static struct ac97_ops null_ops = { NULL, NULL, NULL };
-+
-+static ac97_ids_t ac97_ids[] = {
-+ { 0x574D4C12, "Wolfson WM9711/WM9712", &null_ops },
-+};
-+
-+/************************************************************
-+ * Timer interrupt for AC97 lost interrupt
-+ ************************************************************/
-+static unsigned char ac97_timer_on = 0;
-+static struct timer_list ac97_timer;
-+static void ac97_timer_set(unsigned long);
-+static void ac97_timer_clear(void);
-+
-+static void ac97_timer_func(unsigned long data)
-+{
-+ ac97_timer_on = 0;
-+ if ( (ac97_seq.seq == AC97_SEQ_READ_DONE) ||
-+ (ac97_seq.seq == AC97_SEQ_WRITE_DONE) ) {
-+ DEBUG(DBG_L2, "CAR_completion\n");
-+ complete(&CAR_completion);
-+ ac97_timer_set(data);
-+ } else {
-+ printk(KERN_WARNING "AC97: lost interrupt(%08lx)\n", data);
-+ ac97_timer_set(data);
-+ }
-+}
-+
-+static void ac97_timer_clear(void)
-+{
-+ if ( ac97_timer_on )
-+ del_timer(&ac97_timer);
-+ ac97_timer_on = 0;
-+}
-+
-+static void ac97_timer_set(unsigned long val)
-+{
-+ ac97_timer_clear();
-+ init_timer(&ac97_timer);
-+ ac97_timer.data = val;
-+ ac97_timer.function = ac97_timer_func;
-+ ac97_timer.expires = jiffies + HZ;
-+ add_timer(&ac97_timer);
-+ ac97_timer_on = 1;
-+}
-+
-+/************************************************************
-+ * AC97 functions
-+ ************************************************************/
-+#define AC97_TIMEOUT_VAL 0x10000
-+static u16 pxa_ac97_read(struct ac97_codec *codec, u8 reg)
-+{
-+ down(&CAR_mutex);
-+ lock_FCS(LOCK_FCS_AC97_SUB, 1);
-+ if ( !(CAR & CAR_CAIP) ) {
-+ ac97_addr = (volatile u32 *)&PAC_REG_BASE + (reg >> 1);
-+#ifdef USE_AC97_INTERRUPT
-+ ac97_seq.val = -1;
-+ ac97_seq.seq = AC97_SEQ_READ1;
-+
-+ init_completion(&CAR_completion);
-+
-+ ac97_timer_set(ac97_seq.seq);
-+
-+ (void)*ac97_addr;
-+ wait_for_completion(&CAR_completion);
-+
-+ ac97_timer_clear();
-+#else
-+ {
-+ u16 data=0;
-+ int timeout;
-+ // dummy
-+ GSR |= GSR_RDCS;
-+ GSR |= GSR_SDONE;
-+ data = *ac97_addr;
-+ timeout = 0;
-+ while((GSR & GSR_SDONE)==0 && timeout++<AC97_TIMEOUT_VAL);
-+ if ((GSR & GSR_RDCS)!=0 || timeout>=AC97_TIMEOUT_VAL) {
-+ GSR |= GSR_RDCS;
-+ printk(KERN_CRIT __FUNCTION__": AC97 is busy.\n");
-+ lock_FCS(LOCK_FCS_AC97_SUB, 0);
-+ up(&CAR_mutex);
-+ return data;
-+ }
-+
-+ // actual read
-+ GSR |= GSR_SDONE;
-+ data = *ac97_addr;
-+ timeout = 0;
-+ while((GSR & GSR_SDONE)==0 && timeout++<AC97_TIMEOUT_VAL);
-+ if ((GSR & GSR_RDCS)!=0 || timeout>=AC97_TIMEOUT_VAL) {
-+ GSR |= GSR_RDCS;
-+ printk(KERN_CRIT __FUNCTION__": AC97 is busy.\n");
-+ }
-+ lock_FCS(LOCK_FCS_AC97_SUB, 0);
-+ up(&CAR_mutex);
-+ return data;
-+ }
-+#endif // end USE_AC97_INTERRUPT
-+ } else {
-+ printk(KERN_CRIT __FUNCTION__": CAR_CAIP already set\n");
-+ }
-+ lock_FCS(LOCK_FCS_AC97_SUB, 0);
-+ up(&CAR_mutex);
-+ return ac97_seq.val;
-+}
-+
-+static void pxa_ac97_write(struct ac97_codec *codec, u8 reg, u16 val)
-+{
-+ down(&CAR_mutex);
-+ lock_FCS(LOCK_FCS_AC97_SUB, 1);
-+ if ( !(CAR & CAR_CAIP) ) {
-+ ac97_addr = (volatile u32 *)&PAC_REG_BASE + (reg >> 1);
-+#ifdef USE_AC97_INTERRUPT
-+ ac97_seq.val = val;
-+ ac97_seq.seq = AC97_SEQ_WRITE_DONE;
-+ init_completion(&CAR_completion);
-+
-+ ac97_timer_set(ac97_seq.seq);
-+
-+ *ac97_addr = ac97_seq.val;
-+ wait_for_completion(&CAR_completion);
-+
-+ ac97_timer_clear();
-+#else
-+ {
-+ int timeout=0;
-+ GSR |= GSR_CDONE;
-+ *ac97_addr = val;
-+ while((GSR & GSR_CDONE)==0 && timeout++<AC97_TIMEOUT_VAL);
-+ if (timeout>=AC97_TIMEOUT_VAL) {
-+ printk(KERN_CRIT __FUNCTION__": AC97 is busy.\n");
-+ }
-+ }
-+#endif // end USE_AC97_INTERRUPT
-+ } else {
-+ printk(KERN_CRIT __FUNCTION__": CAR_CAIP already set\n");
-+ }
-+ lock_FCS(LOCK_FCS_AC97_SUB, 0);
-+ up(&CAR_mutex);
-+}
-+
-+static void pxa_ac97_bit_clear(struct ac97_codec *codec, u8 reg, u16 val)
-+{
-+ unsigned short dat = codec->codec_read(codec, reg);
-+ dat &= ~val;
-+ codec->codec_write(codec, reg, dat);
-+}
-+
-+static void pxa_ac97_bit_set(struct ac97_codec *codec, u8 reg, u16 val)
-+{
-+ unsigned short dat = codec->codec_read(codec, reg);
-+ dat |= val;
-+ codec->codec_write(codec, reg, dat);
-+}
-+
-+static void pxa_ac97_irq(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+ if (GSR & (GSR_SDONE|GSR_CDONE)) {
-+ GSR = GSR_SDONE|GSR_CDONE;
-+
-+ ac97_timer_set(ac97_seq.seq);
-+
-+ switch ( ac97_seq.seq ) {
-+ case AC97_SEQ_READ1:
-+ ac97_seq.seq = AC97_SEQ_READ2;
-+ (void)*ac97_addr;
-+ break;
-+ case AC97_SEQ_READ2:
-+ ac97_seq.seq = AC97_SEQ_READ_DONE;
-+ if ( GSR & GSR_RDCS ) {
-+ GSR |= GSR_RDCS;
-+ printk(KERN_CRIT __FUNCTION__": read codec register timeout.\n");
-+ }
-+ ac97_seq.val = *ac97_addr;
-+ break;
-+ case AC97_SEQ_READ_DONE:
-+ udelay(20);
-+ complete(&CAR_completion);
-+ break;
-+ case AC97_SEQ_WRITE_DONE:
-+ complete(&CAR_completion);
-+ break;
-+ }
-+ }
-+}
-+
-+static struct ac97_codec pxa_ac97_codec = {
-+ codec_read: pxa_ac97_read,
-+ codec_write: pxa_ac97_write,
-+ codec_bit_clear: pxa_ac97_bit_clear,
-+ codec_bit_set: pxa_ac97_bit_set,
-+};
-+
-+static DECLARE_MUTEX(pxa_ac97_mutex);
-+static int pxa_ac97_refcount = 0;
-+
-+static char *codec_id(u16 id1, u16 id2, char *buf)
-+{
-+ if(id1&0x8080) {
-+ snprintf(buf, CODEC_ID_BUFSZ, "0x%04x:0x%04x", id1, id2);
-+ } else {
-+ buf[0] = (id1 >> 8);
-+ buf[1] = (id1 & 0xFF);
-+ buf[2] = (id2 >> 8);
-+ snprintf(buf+3, CODEC_ID_BUFSZ - 3, "%d", id2&0xFF);
-+ }
-+ return buf;
-+}
-+
-+static int ac97_check_modem(struct ac97_codec *codec)
-+{
-+ /* Check for an AC97 1.0 soft modem (ID1) */
-+ if(codec->codec_read(codec, AC97_RESET) & 2)
-+ return 1;
-+ /* Check for an AC97 2.x soft modem */
-+ codec->codec_write(codec, AC97_EXTENDED_MODEM_ID, 0L);
-+ if(codec->codec_read(codec, AC97_EXTENDED_MODEM_ID) & 1)
-+ return 1;
-+ return 0;
-+}
-+
-+static int ac97_probe(struct ac97_codec *codec)
-+{
-+ u16 id1, id2;
-+ u16 audio;
-+ int i;
-+ char cidbuf[CODEC_ID_BUFSZ];
-+
-+ codec->codec_write(codec, AC97_RESET, 0L);
-+
-+ /* also according to spec, we wait for codec-ready state */
-+ if ( codec->codec_wait ) codec->codec_wait(codec);
-+ else udelay(10);
-+
-+ if ( (audio = codec->codec_read(codec, AC97_RESET)) & 0x8000 ) {
-+ printk(KERN_ERR "ac97_codec: %s ac97 codec not present\n",
-+ (codec->id & 0x2) ? (codec->id&1 ? "4th" : "Tertiary")
-+ : (codec->id&1 ? "Secondary": "Primary"));
-+ return 0;
-+ }
-+
-+ /* probe for Modem Codec */
-+ codec->modem = ac97_check_modem(codec);
-+ codec->name = NULL;
-+ codec->codec_ops = &null_ops;
-+
-+ id1 = codec->codec_read(codec, AC97_VENDOR_ID1);
-+ id2 = codec->codec_read(codec, AC97_VENDOR_ID2);
-+ for (i = 0; i < ARRAY_SIZE(ac97_ids); i++) {
-+ if (ac97_ids[i].id == ((id1 << 16) | id2)) {
-+ codec->type = ac97_ids[i].id;
-+ codec->name = ac97_ids[i].name;
-+ codec->codec_ops = ac97_ids[i].ops;
-+ codec->flags = ac97_ids[i].flags;
-+ break;
-+ }
-+ }
-+
-+ /* A device which thinks its a modem but isnt */
-+ if ( codec->flags & AC97_DELUDED_MODEM )
-+ codec->modem = 0;
-+
-+ if ( codec->name == NULL )
-+ codec->name = "Unknown";
-+ printk(KERN_INFO "ac97_codec: AC97 %s codec, id: %s (%s)\n",
-+ codec->modem ? "Modem" : (audio ? "Audio" : ""),
-+ codec_id(id1, id2, cidbuf), codec->name);
-+ return 1;
-+}
-+
-+int pxa_ac97_get(struct ac97_codec **codec, unsigned char *ac97_on)
-+{
-+ if ( *ac97_on != 0 ) return 0;
-+
-+ *codec = NULL;
-+ down(&pxa_ac97_mutex);
-+
-+ DEBUG(DBG_L1, "count(%d)\n", pxa_ac97_refcount);
-+ pxa_ac97_refcount++;
-+ up(&pxa_ac97_mutex);
-+ *codec = &pxa_ac97_codec;
-+ *ac97_on = 1;
-+
-+ return 0;
-+}
-+
-+void pxa_ac97_put(unsigned char *ac97_on)
-+{
-+ if ( *ac97_on == 0 ) return;
-+ down(&pxa_ac97_mutex);
-+ pxa_ac97_refcount--;
-+ DEBUG(DBG_L1, "count(%d)\n", pxa_ac97_refcount);
-+ up(&pxa_ac97_mutex);
-+ *ac97_on = 0;
-+}
-+
-+unsigned int ac97_set_dac_rate(struct ac97_codec *codec, unsigned int rate)
-+{
-+ unsigned int new_rate = rate;
-+ u32 dacp;
-+ u32 mast_vol, phone_vol, mono_vol, pcm_vol;
-+ u32 mute_vol = 0x8000; /* The mute volume? */
-+
-+ if( rate != codec->codec_read(codec, AC97_PCM_FRONT_DAC_RATE) ) {
-+ /* Mute several registers */
-+ mast_vol = codec->codec_read(codec, AC97_MASTER_VOL_STEREO);
-+ mono_vol = codec->codec_read(codec, AC97_MASTER_VOL_MONO);
-+ phone_vol = codec->codec_read(codec, AC97_HEADPHONE_VOL);
-+ pcm_vol = codec->codec_read(codec, AC97_PCMOUT_VOL);
-+ codec->codec_write(codec, AC97_MASTER_VOL_STEREO, mute_vol);
-+ codec->codec_write(codec, AC97_MASTER_VOL_MONO, mute_vol);
-+ codec->codec_write(codec, AC97_HEADPHONE_VOL, mute_vol);
-+ codec->codec_write(codec, AC97_PCMOUT_VOL, mute_vol);
-+
-+ /* Power down the DAC */
-+ dacp=codec->codec_read(codec, AC97_POWER_CONTROL);
-+ codec->codec_write(codec, AC97_POWER_CONTROL, dacp|0x0200);
-+ /* Load the rate and read the effective rate */
-+ codec->codec_write(codec, AC97_PCM_FRONT_DAC_RATE, rate);
-+ new_rate=codec->codec_read(codec, AC97_PCM_FRONT_DAC_RATE);
-+ /* Power it back up */
-+ codec->codec_write(codec, AC97_POWER_CONTROL, dacp);
-+
-+ /* Restore volumes */
-+ codec->codec_write(codec, AC97_MASTER_VOL_STEREO, mast_vol);
-+ codec->codec_write(codec, AC97_MASTER_VOL_MONO, mono_vol);
-+ codec->codec_write(codec, AC97_HEADPHONE_VOL, phone_vol);
-+ codec->codec_write(codec, AC97_PCMOUT_VOL, pcm_vol);
-+ }
-+ return new_rate;
-+}
-+
-+unsigned int ac97_set_adc_rate(struct ac97_codec *codec, unsigned int rate)
-+{
-+ unsigned int new_rate = rate;
-+ u32 dacp;
-+ if( rate != codec->codec_read(codec, AC97_PCM_LR_ADC_RATE) ) {
-+ /* Power "Up" the ADC */
-+ dacp=codec->codec_read(codec, AC97_POWER_CONTROL);
-+ dacp &= ~(0x1<<8);
-+ codec->codec_write(codec, AC97_POWER_CONTROL, dacp);
-+
-+ codec->codec_write(codec, AC97_PCM_LR_ADC_RATE, rate);
-+ new_rate=codec->codec_read(codec, AC97_PCM_LR_ADC_RATE);
-+
-+ /* Power it back up */
-+ codec->codec_write(codec, AC97_POWER_CONTROL, dacp);
-+ }
-+ return new_rate;
-+}
-+
-+void wm9712_power_mode(int dev, int mode)
-+{
-+ int i;
-+ power_mode_t new_power_status;
-+ dev %= NUM_OF_WM9712_DEV;
-+ mode %= num_of_pwr_values;
-+ // printk("wm9712_power_mode(%d,%d)\n",dev,mode);
-+ power_mode_status[dev] = pwr_values[mode];
-+ // create new state
-+ new_power_status = power_mode_status[0];
-+ for (i=1; i<NUM_OF_WM9712_DEV; i++) {
-+ new_power_status.ctl_val &= power_mode_status[i].ctl_val;
-+ new_power_status.pdown_val &= power_mode_status[i].pdown_val;
-+ }
-+ // compare with current state
-+ if (new_power_status.pdown_val != cur_power_status.pdown_val) {
-+ ac97_write(AC97_POWERDOWN, new_power_status.pdown_val);
-+ cur_power_status.pdown_val = new_power_status.pdown_val;
-+ // printk("change status PWDOWN = %04X\n", cur_power_status.pdown_val);
-+ }
-+ if (new_power_status.ctl_val != cur_power_status.ctl_val) {
-+ ac97_write(AC97_POWER_CONTROL, new_power_status.ctl_val);
-+ cur_power_status.ctl_val = new_power_status.ctl_val;
-+ // printk("change status PW_CTRL = %04X\n", cur_power_status.ctl_val);
-+ }
-+
-+}
-+
-+void tosa_ac97_init(void)
-+{
-+ int i;
-+ int ret,timeo;
-+
-+ lock_FCS(LOCK_FCS_AC97, 1);
-+ codec = NULL;
-+ pxa_ac97_refcount = 0;
-+ set_GPIO_mode(GPIO31_SYNC_AC97_MD);
-+ set_GPIO_mode(GPIO30_SDATA_OUT_AC97_MD);
-+ set_GPIO_mode(GPIO28_BITCLK_AC97_MD);
-+ set_GPIO_mode(GPIO29_SDATA_IN_AC97_MD);
-+ set_GPIO_mode(GPIO20_DREQ0_MD);
-+
-+ for (i=0; i<NUM_OF_WM9712_DEV; i++) {
-+ power_mode_status[i].ctl_val = pwr_values[WM9712_PWR_OFF].ctl_val;
-+ power_mode_status[i].pdown_val = pwr_values[WM9712_PWR_OFF].pdown_val;
-+ }
-+ memset(&cur_power_status,0,sizeof(cur_power_status));
-+
-+#if 1 // move from ac97_get
-+ CKEN |= CKEN2_AC97;
-+ /* AC97 power on sequense */
-+ while ( 1 ) {
-+ GCR = 0;
-+ udelay(100);
-+ GCR |= GCR_COLD_RST;
-+ udelay(5);
-+ GCR |= GCR_WARM_RST;
-+ udelay(5);
-+ for ( timeo = 0x10000; timeo > 0; timeo-- ) {
-+ if ( GSR & GSR_PCR ) break;
-+ //X schedule();
-+ mdelay(5);
-+ }
-+ if( timeo > 0 ) break;
-+ printk(KERN_WARNING "AC97 power on retry!!\n");
-+ }
-+
-+#ifdef USE_AC97_INTERRUPT
-+ if( (ret = request_irq(IRQ_AC97, pxa_ac97_irq, 0, "AC97", NULL)) ) {
-+ lock_FCS(LOCK_FCS_AC97, 0);
-+ return ret;
-+ }
-+ }
-+#endif
-+
-+ if ( (ret = ac97_probe(&pxa_ac97_codec)) != 1 ) {
-+#ifdef USE_AC97_INTERRUPT
-+ free_irq(IRQ_AC97, NULL);
-+#endif
-+ GCR = GCR_ACLINK_OFF;
-+ CKEN &= ~CKEN2_AC97;
-+ lock_FCS(LOCK_FCS_AC97, 0);
-+ return ret;
-+ }
-+ pxa_ac97_write(&pxa_ac97_codec, AC97_EXTENDED_STATUS, 1);
-+ /*
-+ * Setting AC97 GPIO
-+ * i/o function
-+ * GPIO1: input EAR_IN signal
-+ * GPIO2: output IRQ signal
-+ * GPIO3: output PENDOWN signal
-+ * GPIO4: input MASK signal
-+ * GPIO5: input DETECT MIC signal
-+ */
-+ pxa_ac97_bit_clear(&pxa_ac97_codec, AC97_GPIO_FUNC,
-+ ((1<<2)|(1<<3)|(1<<4)|(1<<5)));
-+ pxa_ac97_bit_clear(&pxa_ac97_codec, AC97_GPIO_CONFIG,(1<<2)|(1<<3));
-+ pxa_ac97_bit_set(&pxa_ac97_codec, AC97_GPIO_CONFIG, (1<<1)|(1<<4)|(1<<5));
-+#endif
-+ codec = &pxa_ac97_codec;
-+ lock_FCS(LOCK_FCS_AC97, 0);
-+}
-+
-+void tosa_ac97_exit(void)
-+{
-+#if 1 // move from ac97_put
-+ GCR = GCR_ACLINK_OFF;
-+ CKEN &= ~CKEN2_AC97;
-+#ifdef USE_AC97_INTERRUPT
-+ free_irq(IRQ_AC97, NULL);
-+#endif
-+ pxa_ac97_refcount = 0;
-+#endif
-+}
-+
-+EXPORT_SYMBOL(ac97_set_dac_rate);
-+EXPORT_SYMBOL(ac97_set_adc_rate);
-+EXPORT_SYMBOL(pxa_ac97_get);
-+EXPORT_SYMBOL(pxa_ac97_put);
-+EXPORT_SYMBOL(wm9712_power_mode);
-diff -Nur linux_c860_org/arch/arm/mach-pxa/tosa_battery.c linux/arch/arm/mach-pxa/tosa_battery.c
---- linux_c860_org/arch/arm/mach-pxa/tosa_battery.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/arch/arm/mach-pxa/tosa_battery.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,2603 @@
-+/*
-+ * linux/arch/arm/mach-pxa/tosa_battery.c
-+ *
-+ * Based on
-+ * linux/arch/arm/mach-sa1100/collie_battery.c
-+ * linux/arch/arm/mach-pxa/sharpsl_battery.c
-+ *
-+ * Battery routines for tosa (SHARP)
-+ *
-+ * Copyright (C) 2004 SHARP
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * ChangeLog:
-+ *
-+ */
-+
-+
-+/* this driver support the following functions
-+ * - apm_get_power_status
-+ * - charge proc
-+ */
-+
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include <linux/poll.h>
-+#include <linux/types.h>
-+#include <linux/stddef.h>
-+#include <linux/timer.h>
-+#include <linux/fcntl.h>
-+#include <linux/slab.h>
-+#include <linux/stat.h>
-+#include <linux/proc_fs.h>
-+#include <linux/miscdevice.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/pm.h>
-+#include <linux/kernel.h>
-+#include <linux/smp_lock.h>
-+#include <linux/apm_bios.h>
-+#include <linux/delay.h>
-+
-+#include <asm/io.h>
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/mach/irq.h>
-+#include <asm/hardirq.h>
-+
-+#include <asm/sharp_char.h>
-+#include <asm/sharp_keycode.h>
-+#include <linux/ac97_codec.h>
-+#include <asm/arch/tosa_wm9712.h>
-+#include <asm/arch/keyboard_tosa.h>
-+#include <asm/arch/tosa.h>
-+#include <video/tosa_backlight.h>
-+#include <asm/arch/sharpsl_battery.h>
-+
-+#define TOSA_BATTERY_FAILSAFE_LOWBAT
-+#define TOSA_BATTERY_AD_OFFSET (0)
-+
-+#define TOSA_OFF_CHARGE_FAILSAFE
-+
-+#define TOSA_FOR_ENGLISH
-+
-+#ifdef DEBUG
-+#define DPRINTK(x, args...) printk(x,##args)
-+#else
-+#define DPRINTK(x, args...) if ( msglevel & 1 ) printk(x,##args);
-+#endif
-+
-+#ifdef DEBUG2
-+#define DPRINTK2(x, args...) printk( x,##args)
-+#else
-+#define DPRINTK2(x, args...) if ( msglevel & 2 ) printk(x,##args);
-+#endif
-+
-+#ifdef DEBUG3
-+#define DPRINTK3(x, args...) printk( x,##args)
-+#else
-+#define DPRINTK3(x, args...) if ( msglevel & 4 ) printk(x,##args);
-+#endif
-+
-+#ifdef DEBUG4
-+#define DPRINTK4(x, args...) printk( x,##args)
-+#else
-+#define DPRINTK4(x, args...) if ( msglevel & 8 ) printk(x,##args);
-+#endif
-+
-+#ifdef TOSA_FOR_ENGLISH
-+#ifdef DEBUG5
-+#define DPRINTK5(x, args...) printk( x,##args)
-+#else
-+#define DPRINTK5(x, args...) if ( msglevel & 16 ) printk("[CHKCHGFULL]: "x,##args);
-+#endif
-+#endif // TOSA_FOR_ENGLISH
-+
-+#define CHECK_LOG (0) // for DEBUG
-+#if CHECK_LOG
-+int gStartTime = 0;
-+#endif
-+
-+/*
-+ * The battery device is one of the misc char devices.
-+ * This is its minor number.
-+ */
-+#define BATTERY_MINOR_DEV 215
-+
-+#define SEL_MAIN 0
-+#define SEL_JACKET 1
-+#define SEL_BU 2
-+
-+static void tosa_charge_on_off(int,int);
-+
-+#define CHARGE_ON() ( { CHARGE_0_ON(); CHARGE_1_ON(); } )
-+#define CHARGE_OFF() ( { CHARGE_0_OFF(); CHARGE_1_OFF(); } )
-+
-+#define CHARGE_0_ON() tosa_charge_on_off(SEL_MAIN, 1)
-+#define CHARGE_0_OFF() tosa_charge_on_off(SEL_MAIN, 0)
-+
-+#define CHARGE_1_ON() tosa_charge_on_off(SEL_JACKET, 1)
-+#define CHARGE_1_OFF() tosa_charge_on_off(SEL_JACKET, 0)
-+
-+extern void sharpsl_charge_err_off(void);
-+#define CHARGE_LED_ON() set_led_status(SHARP_LED_CHARGER,LED_CHARGER_CHARGING)
-+#define CHARGE_LED_OFF() set_led_status(SHARP_LED_CHARGER,LED_CHARGER_OFF)
-+#define CHARGE_LED_ERR() set_led_status(SHARP_LED_CHARGER,LED_CHARGER_ERROR)
-+#define CHARGE_LED_ERR_OFF() sharpsl_charge_err_off()
-+
-+#define SHARPSL_BATTERY_STATUS_HIGH APM_BATTERY_STATUS_HIGH
-+#define SHARPSL_BATTERY_STATUS_LOW APM_BATTERY_STATUS_LOW
-+#define SHARPSL_BATTERY_STATUS_VERYLOW APM_BATTERY_STATUS_VERY_LOW
-+#define SHARPSL_BATTERY_STATUS_CRITICAL APM_BATTERY_STATUS_CRITICAL
-+
-+#define APM_BATL_CLOSE 0
-+#define APM_BATL_OPEN 1
-+#define SHARPSL_BAT_LOCKED_STATUS \
-+ (( GPLR(GPIO_BAT_LOCKED) & GPIO_bit(GPIO_BAT_LOCKED) ) ? APM_BATL_CLOSE : APM_BATL_OPEN)
-+
-+static int tosa_ac_line_status(int);
-+#define SHARPSL_AC_LINE_STATUS tosa_ac_line_status(20 /* msec */)
-+
-+#define SHARPSL_MAIN_BATT_FATAL \
-+ (( GPLR(GPIO_BAT0_LOW) & GPIO_bit(GPIO_BAT0_LOW) ) ? 0 : 1 )
-+
-+#define SHARPSL_JACKET_BATT_FATAL \
-+ (( GPLR(GPIO_BAT1_LOW) & GPIO_bit(GPIO_BAT1_LOW) ) ? 0 : 1 )
-+
-+#define SHARPSL_MAIN_BATT_FULL \
-+ (( GPLR(GPIO_BAT0_CRG) & GPIO_bit(GPIO_BAT0_CRG) ) ? 1 : 0 )
-+
-+#define SHARPSL_JACKET_BATT_FULL \
-+ (( GPLR(GPIO_BAT1_CRG) & GPIO_bit(GPIO_BAT1_CRG) ) ? 1 : 0 )
-+
-+
-+#define SHARPSL_APO_DEFAULT ( ( 3 * 60 ) * SHARPSL_PM_TICK ) // 3 min
-+#define SHARPSL_LPO_DEFAULT ( 20 * SHARPSL_PM_TICK ) // 20 sec
-+
-+
-+#define SHARPSL_PM_TICK ( HZ ) // 1 sec
-+#define SHARPSL_BATCHK_TIME ( SHARPSL_PM_TICK ) // 1 sec
-+#define SHARPSL_MAIN_GOOD_COUNT ( HZ / SHARPSL_PM_TICK ) // 1 sec
-+#define SHARPSL_MAIN_NOGOOD_COUNT ( HZ / SHARPSL_PM_TICK ) // 1 sec
-+
-+#define SHARPSL_BATTERY_CK_TIME ( 10*60*1*100 ) // 10min ( base jiffies )
-+#define TOSA_TEMP_READ_WAIT_TIME (5) // 5msec [Fix]
-+#define TOSA_BATTERY_READ_WAIT_TIME (5) // 5msec [Fix]
-+#define TOSA_DISCHARGE_WAIT_TIME (10) // 10msec
-+
-+#define TOSA_MAIN_BATTERY_EXIST_THRESH (3600) // 2.9V [Fix]
-+#define TOSA_JACKET_BATTERY_EXIST_THRESH (3600) // 2.9V [Fix]
-+
-+#define TOSA_MAIN_BATTERY_ERR_THRESH (1200) // 2.9V [Fix]
-+#define TOSA_JACKET_BATTERY_ERR_THRESH (1200) // 2.9V [Fix]
-+
-+
-+#define TOSA_MAIN_BATT_FATAL_ACIN_VOLT (1572+TOSA_BATTERY_AD_OFFSET) // 3.80V [Fix]
-+#define TOSA_JACKET_BATT_FATAL_ACIN_VOLT (1572+TOSA_BATTERY_AD_OFFSET) // 3.80V [Fix]
-+#define TOSA_MAIN_BATT_FATAL_NOACIN_VOLT (1551+TOSA_BATTERY_AD_OFFSET) // 3.75V [Fix]
-+#define TOSA_JACKET_BATT_FATAL_NOACIN_VOLT (1551+TOSA_BATTERY_AD_OFFSET) // 3.75V [Fix]
-+
-+
-+#define TOSA_JC_CHECK_WAIT_TIME 10 // 10*10mS Jacket Check [Fix]
-+#define TOSA_JC_CHECK_TIMES 5 // 5 times
-+
-+#define SHARPSL_TOSA_WAIT_CO_TIME 20 // 20 Sec
-+ //NOTICE !! you want to change this value , so you must change
-+ // alarm check mirgin time ( +30 ) in the sharpsl_power.c.
-+
-+#define SHARPSL_CAUTION_CONTRAST TOSA_BL_CAUTION_CONTRAST
-+#define SHARPSL_RESET_CONTRAST TOSA_BL_RESET_CONTRAST
-+#define SHARPSL_LIMIT_CONTRAST(x) tosa_bl_set_limit_contrast(x)
-+
-+#define CHARGE_STEP1 1
-+#define CHARGE_STEP2 2
-+#define CHARGE_STEP3 3
-+#define CHARGE_STEP4 4
-+#define CHARGE_STEP5 5
-+#define CHARGE_STEP6 6
-+#define CHARGE_STEP7 7
-+#define CHARGE_STEP_END 10
-+#define CHARGE_STEP_EXIT 11
-+#define CHARGE_STEP_ERROR 12
-+#define SHARPSL_CHARGE_RETRY_CNT 1 // 10 min
-+#define SHARPSL_AFTER_CHARGE_CNT 0 // 0
-+
-+#define SHARPSL_CNV_VALUE_NUM 10
-+#define SHARPSL_CNV_TEMP_NUM 10
-+
-+
-+typedef struct BatteryThresh {
-+ int voltage;
-+ int percentage;
-+ int status;
-+} BATTERY_THRESH;
-+
-+/*** prototype *********************************************************************/
-+static int tosa_get_jacket_status(void);
-+static void tosa_request_off(void);
-+static int tosa_battery_thread_main(void);
-+static int tosa_get_sel_battery(int); //[Fix]
-+static int tosa_read_battery(int); //[Fix]
-+static int tosa_read_temp(int); //[Fix]
-+static int tosa_read_battery_avg(int);
-+static int tosa_read_temp_avg(int); //[Fix]
-+static int tosa_check_battery_error(int,int);
-+static int tosa_check_battery_exist(int,int); //[Fix]
-+static int tosa_check_main_battery_error(void);
-+static int tosa_check_jacket_battery_error(void);
-+static int tosa_check_main_battery_not_exist(void); //[Fix]
-+static int tosa_check_jacket_battery_not_exist(void); //[Fix]
-+static int tosa_read_main_battery(void);
-+static int tosa_read_jacket_battery(void);
-+static int tosa_read_backup_battery(void);
-+static int tosa_check_main_batt_fatal(void);
-+static int tosa_check_jacket_batt_fatal(void);
-+static void tosa_charge_start(void); //[Fix]
-+static void tosa_charge_stop(void); //[Fix]
-+static void tosa_reset_battery_info(void);
-+static void tosa_jacket_kick_timer(void);
-+static void tosa_jacket_interrupt(int,void *,struct pt_regs *);
-+static void tosa_ac_interrupt(int,void *,struct pt_regs *);
-+static void tosa_main_batt_fatal_interrupt(int,void *,struct pt_regs *);
-+static void tosa_jacket_batt_fatal_interrupt(int,void *,struct pt_regs *);
-+static int tosa_cnv_battery(int,int);
-+static void tosa_get_all_battery(void); //[Fix]
-+static int tosa_get_sel_charge_percent(int,int);
-+static BATTERY_THRESH *tosa_get_sel_level(int,int);
-+static int tosa_get_dac_value(int); //[Fix]
-+static int get_select_val(int *);
-+static int tosa_get_jacket_status_for_on(void);
-+static void tosa_off_jc_card_limit(void);
-+
-+
-+/* thread */
-+static int tosa_charge_on(void*);
-+static int tosa_charge_off(void*);
-+static int tosa_battery_thread(void*);
-+static int tosa_fatal_check(void*);
-+static int tosa_jacket_check(void*);
-+
-+
-+/*** extern ***********************************************************************/
-+extern u32 apm_wakeup_src_mask;
-+extern int counter_step_contrast;
-+extern void handle_scancode(unsigned char,int);
-+extern unsigned long ssp_get_dac_val(unsigned long,int);
-+extern int sharpsl_is_power_mode_sensitive_battery(void);
-+extern int ac97_ad_input(int,unsigned short *);
-+extern int set_led_status(int,int);
-+extern unsigned short set_scoop_jc_gpio(unsigned short);
-+extern unsigned short reset_scoop_jc_gpio(unsigned short);
-+
-+#ifdef CONFIG_PM
-+extern int pass_charge_flag;
-+//extern int counter_step_save;
-+#endif
-+
-+/*** variables ********************************************************************/
-+
-+/* BL 5-3 */
-+BATTERY_THRESH sharpsl_main_battery_thresh_fl[] = {
-+ { 1663, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1605, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1564, 50, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1510, 25, SHARPSL_BATTERY_STATUS_LOW},
-+ { 1435, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
-+};
-+
-+/* BL 2-0 */
-+BATTERY_THRESH sharpsl_main_battery_thresh_nofl[] = {
-+ { 1679, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1617, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1576, 50, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1530, 25, SHARPSL_BATTERY_STATUS_LOW},
-+ { 1448, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
-+};
-+
-+/* BL 5-3 */
-+BATTERY_THRESH sharpsl_jacket_battery_thresh_fl[] = {
-+ { 1663, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1605, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1564, 50, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1510, 25, SHARPSL_BATTERY_STATUS_LOW},
-+ { 1435, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
-+};
-+
-+/* BL 2-0 */
-+BATTERY_THRESH sharpsl_jacket_battery_thresh_nofl[] = {
-+ { 1679, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1617, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1576, 50, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 1530, 25, SHARPSL_BATTERY_STATUS_LOW},
-+ { 1448, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
-+};
-+
-+BATTERY_THRESH sharpsl_bu_battery_thresh_fl[] = {
-+ { 3226, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 0, 0, SHARPSL_BATTERY_STATUS_VERYLOW},
-+};
-+
-+BATTERY_THRESH sharpsl_bu_battery_thresh_nofl[] = {
-+ { 3226, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 0, 0, SHARPSL_BATTERY_STATUS_VERYLOW},
-+};
-+
-+
-+#if 1
-+static struct file_operations sharpsl_battery_fops = {
-+};
-+#else
-+static struct file_operations sharpsl_battery_fops = {
-+ owner: THIS_MODULE,
-+ read: do_read,
-+ poll: do_poll,
-+ ioctl: do_ioctl,
-+ open: do_open,
-+ release: do_release,
-+};
-+#endif
-+
-+static struct miscdevice battery_device = {
-+ BATTERY_MINOR_DEV,
-+ "battery",
-+ &sharpsl_battery_fops
-+};
-+
-+
-+int charge_status = 0; /* charge status 1 : charge 0: not charge */
-+int sharpsl_off_charge = 0; /* 0: on , 1 : off */
-+
-+unsigned int APOCnt = SHARPSL_APO_DEFAULT;
-+unsigned int APOCntWk = 0;
-+unsigned int LPOCnt = SHARPSL_LPO_DEFAULT;
-+unsigned int LPOCntWk = 0;
-+static DECLARE_WAIT_QUEUE_HEAD(battery_queue);
-+static int msglevel;
-+
-+int sharpsl_main_battery = SHARPSL_BATTERY_STATUS_HIGH;
-+int sharpsl_main_battery_percentage = 100;
-+int sharpsl_jacket_battery = SHARPSL_BATTERY_STATUS_HIGH;
-+int sharpsl_jacket_battery_percentage = 100;
-+int sharpsl_bu_battery = SHARPSL_BATTERY_STATUS_HIGH;
-+int sharpsl_bu_battery_percentage = 100;
-+
-+int sharpsl_bat_locked = 0;
-+
-+int sharpsl_jacket_exist = 0;
-+int sharpsl_jacket_batt_exist = 0;
-+static int tosa_jacket_status_change = 0;
-+static int tosa_jacket_check_only = 0;
-+static int tosa_cardslot_error = 0;
-+#define ERR_CARDSLOT_CF1 (0x1<<0)
-+#define ERR_CARDSLOT_CF2 (0x1<<1)
-+#define ERR_CARDSLOT_SD (0x1<<2)
-+
-+int sharpsl_ac_status = APM_AC_OFFLINE;
-+
-+static int MainCntWk = SHARPSL_MAIN_GOOD_COUNT;
-+static int MainCnt = SHARPSL_MAIN_NOGOOD_COUNT;
-+static int back_ac_status = -1;
-+
-+static int back_battery_status = -1;
-+static int back_jacket_battery_status = -1;
-+static int back_bu_battery_status = -1;
-+static int sharpsl_check_time = SHARPSL_BATCHK_TIME;
-+
-+static int sharpsl_main_status_bk = SHARPSL_BATTERY_STATUS_HIGH;
-+static int sharpsl_main_percent_bk = 100;
-+static int sharpsl_jacket_status_bk = SHARPSL_BATTERY_STATUS_HIGH;
-+static int sharpsl_jacket_percent_bk = 100;
-+static int sharpsl_bu_status_bk = SHARPSL_BATTERY_STATUS_HIGH;
-+static int sharpsl_bu_percent_bk = 100;
-+
-+int sharpsl_main_bk_flag = 0;
-+
-+static struct timer_list ac_kick_timer;
-+static struct timer_list jacket_kick_timer;
-+
-+#ifdef CONFIG_PM
-+static struct pm_dev *battery_pm_dev; /* registered PM device */
-+#endif
-+
-+static int battery_off_flag = 0; /* charge : suspend while get adc */
-+static int is_ac_adaptor = 0; /* AC adaptor in/out */
-+
-+static DECLARE_WAIT_QUEUE_HEAD(charge_on_queue);
-+static DECLARE_WAIT_QUEUE_HEAD(charge_off_queue);
-+static DECLARE_WAIT_QUEUE_HEAD(battery_waitqueue);
-+static DECLARE_WAIT_QUEUE_HEAD(fatal_chk_queue);
-+static DECLARE_WAIT_QUEUE_HEAD(jacket_chk_queue);
-+
-+static int is_enabled_off = 1;
-+
-+int sharpsl_charge_cnt = 0;
-+int sharpsl_charge_dummy_cnt = 1;
-+
-+static int sharpsl_ad_main[SHARPSL_CNV_VALUE_NUM+1];
-+static int sharpsl_ad_index_main = 0;
-+static int sharpsl_ad_jacket[SHARPSL_CNV_VALUE_NUM+1];
-+static int sharpsl_ad_index_jacket = 0;
-+static int sharpsl_ad_bu[SHARPSL_CNV_VALUE_NUM+1];
-+static int sharpsl_ad_index_bu = 0;
-+
-+static int tosa_jacket_check_count = 0;
-+static unsigned int tosa_jacket_state = 0;
-+static int tosa_dac_init = 0;
-+
-+
-+static int sharpsl_change_battery_status = 0;
-+
-+static int tosa_jc_card_limit_sel = 0;
-+
-+static int tosa_off_main_batt_full = 0;
-+static int tosa_off_jacket_batt_full = 0;
-+
-+static int tosa_off_check_jacket_req = 0;
-+
-+// for DEBUG
-+static int sharpsl_debug_flag = 0;
-+
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+#define TOSA_CHARGE_FULL_MAX_TIME (4*60*60) // 4H
-+#define TOSA_CHARGE_FULL_DIFF_VOLT (20) // about 50mV
-+static int tosa_charge_full_enable = 0;
-+static int tosa_charge_full_counter = 0;
-+static int tosa_charge_full_main_batt = 0;
-+static int tosa_charge_full_jacket_batt = 0;
-+#endif //TOSA_OFF_CHARGE_FAILSAFE
-+
-+#ifdef TOSA_FOR_ENGLISH
-+static int tosa_charge_full_state = 0;
-+static int tosa_decide_charge_full_counter = 0;
-+int logo_lang = 0; // (default): En , (1): Jp
-+#define TOSA_DECIDE_CHARGE_FULL_COUNTER ( 60*100 ) // 1min ( base jiffies )
-+#define DISCONNECT_AC (0)
-+#define CONNECT_AC (1)
-+#define DETECT_CHARGE_FULL (2)
-+#define DECIDE_CHARGE_FULL (3)
-+#define GET_CHARGE_FULL_STATE() tosa_charge_full_state
-+#define SET_CHARGE_FULL_STATE(state) (tosa_charge_full_state = state)
-+#define IS_ENGLISH_MODEL() (logo_lang != 1)
-+#endif // TOSA_FOR_ENGLISH
-+
-+void set_jacketslot_error( int on )
-+{
-+ if (on) {
-+ if (!(tosa_cardslot_error&ERR_CARDSLOT_CF2)) {
-+ tosa_cardslot_error |= ERR_CARDSLOT_CF2;
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ }
-+ } else {
-+ if (tosa_cardslot_error&ERR_CARDSLOT_CF2) {
-+ tosa_cardslot_error &= ~ERR_CARDSLOT_CF2;
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ }
-+ }
-+}
-+
-+int current_cardslot_error( int num )
-+{
-+ if (num==0) {
-+ return (tosa_cardslot_error & ERR_CARDSLOT_CF1)?1:0;
-+ } else { // slot 1
-+ return (tosa_cardslot_error & ERR_CARDSLOT_CF2)?1:0;
-+ }
-+}
-+
-+/*** apm subroutines ***********************************************************/
-+static int tosa_get_jacket_status(void)
-+{
-+ if (tosa_jacket_check_count == 0){
-+ tosa_jacket_state = GPLR(GPIO_JACKET_DETECT) & GPIO_bit(GPIO_JACKET_DETECT);
-+ tosa_jacket_check_count++;
-+ return 0;
-+ }
-+
-+ if (tosa_jacket_state == (GPLR(GPIO_JACKET_DETECT) & GPIO_bit(GPIO_JACKET_DETECT))){
-+ if (tosa_jacket_check_count++ >= TOSA_JC_CHECK_TIMES){
-+ if (tosa_jacket_state){
-+ sharpsl_jacket_exist = 0; // non-exsistent (unit)
-+ sharpsl_jacket_batt_exist = 0; // non-exststent (battery)
-+ DPRINTK2("[BATT] jacket was removed.\n");
-+ }else{
-+ sharpsl_jacket_exist = 1; // exsistent (unit)
-+ DPRINTK2("JACKET STATUS [ EXIST ]\n");
-+ if(!tosa_check_jacket_battery_not_exist()){
-+ sharpsl_jacket_batt_exist = 1; // exsistent (battery)
-+ DPRINTK2("JACKET BATTERY STATUS [ EXIST ]\n");
-+ }else{
-+ sharpsl_jacket_batt_exist = 0; // non-exststent (battery)
-+ DPRINTK2("JACKET BATTERY STATUS [ NOT EXIST ]\n");
-+ }
-+ }
-+ // jacket battery charge control.
-+ if(sharpsl_jacket_batt_exist){
-+ CHARGE_1_ON();
-+ }else{
-+ CHARGE_1_OFF();
-+ }
-+
-+ tosa_jacket_status_change = 1; // jacket status is changed.
-+
-+ if(!tosa_jacket_check_only){
-+ sharpsl_change_battery_status = 1; // change status
-+ wake_up_interruptible(&battery_waitqueue);
-+ }
-+
-+ tosa_jacket_check_count = 0;
-+ return 1;
-+ }
-+ }else{
-+ tosa_jacket_check_count = 0;
-+ }
-+ return 0;
-+}
-+
-+static int tosa_get_jacket_status_for_on(void)
-+{
-+ tosa_jacket_check_count = 0;
-+ tosa_jacket_check_only = 1;
-+ while(1){
-+ if(tosa_get_jacket_status()){
-+ mdelay(TOSA_JC_CHECK_WAIT_TIME*10);
-+ break;
-+ }
-+ mdelay(TOSA_JC_CHECK_WAIT_TIME*10);
-+ }
-+ tosa_jacket_check_only = 0;
-+ return 0;
-+}
-+
-+int sharpsl_apm_get_power_status(u_char *ac_line_status,
-+ u_char *battery_main_status,
-+ u_char *battery_jacket_status,
-+ u_char *battery_bu_status,
-+ u_char *battery_flag,
-+ u_char *battery_main_percentage,
-+ u_char *battery_jacket_percentage,
-+ u_char *battery_bu_percentage,
-+ u_short *battery_main_life,
-+ u_short *battery_jacket_life,
-+ u_short *battery_bu_life)
-+
-+{
-+ // set ac status
-+ *ac_line_status = sharpsl_ac_status;
-+
-+ // set battery_status main
-+ *battery_main_status = sharpsl_main_battery;
-+ *battery_jacket_status = sharpsl_jacket_battery;
-+ *battery_bu_status = sharpsl_bu_battery;
-+
-+ // set battery percentage
-+ *battery_main_percentage = sharpsl_main_battery_percentage;
-+ *battery_jacket_percentage = sharpsl_jacket_battery_percentage;
-+ *battery_bu_percentage = sharpsl_bu_battery_percentage;
-+
-+ if ( *ac_line_status == APM_AC_ONLINE ){
-+ *battery_main_percentage = 100;
-+ *battery_jacket_percentage = 100;
-+ *battery_bu_percentage = 100;
-+ }
-+
-+ // set battery_flag
-+ if ( *battery_main_status == SHARPSL_BATTERY_STATUS_VERYLOW ){
-+ *battery_flag = (1 << 5);
-+ }else{
-+ *battery_flag = (1 << *battery_main_status);
-+ }
-+
-+ // chk charge status
-+#ifdef TOSA_FOR_ENGLISH
-+ if ( charge_status && (!IS_ENGLISH_MODEL() || (GET_CHARGE_FULL_STATE() != DECIDE_CHARGE_FULL))) {
-+#else
-+ if ( charge_status ) {
-+#endif // TOSA_FOR_ENGLISH
-+ *battery_main_status = APM_BATTERY_STATUS_CHARGING;
-+ *battery_jacket_status = APM_BATTERY_STATUS_CHARGING;
-+ *battery_bu_status = APM_BATTERY_STATUS_CHARGING;
-+ *battery_flag = (1 << 3);
-+ // charging now, so can not get battery percentage.
-+ *battery_main_percentage = -1;
-+ *battery_jacket_percentage = -1;
-+ *battery_bu_percentage = -1;
-+ }
-+
-+ // set battery life
-+ *battery_main_life = APM_BATTERY_LIFE_UNKNOWN;
-+ *battery_jacket_life = APM_BATTERY_LIFE_UNKNOWN;
-+ *battery_bu_life = APM_BATTERY_LIFE_UNKNOWN;
-+
-+ return APM_SUCCESS;
-+}
-+
-+
-+int sharpsl_apm_get_bp_status(u_char *ac_line_status,
-+ u_char *battery_status,
-+ u_char *battery_flag,
-+ u_char *battery_percentage,
-+ u_short *battery_life)
-+{
-+ *ac_line_status = APM_AC_OFFLINE;//collie_ac_status;
-+
-+ if ( sharpsl_jacket_batt_exist ){
-+ /* In charging stage ,battery status */
-+ if ( charge_status ){
-+#ifdef TOSA_FOR_ENGLISH
-+ if ( IS_ENGLISH_MODEL() && (GET_CHARGE_FULL_STATE() == DECIDE_CHARGE_FULL) ) {
-+ *battery_status = SHARPSL_BATTERY_STATUS_HIGH;
-+ *battery_percentage = 100;
-+ *battery_flag = (1 << SHARPSL_BATTERY_STATUS_HIGH);
-+ }else{
-+#endif // TOSA_FOR_ENGLISH
-+ *battery_status = APM_BATTERY_STATUS_CHARGING;
-+ *battery_flag = (1 << 3);//0x08;
-+ /* set battery percentage */
-+ *battery_percentage = -1;
-+#ifdef TOSA_FOR_ENGLISH
-+ }
-+#endif // TOSA_FOR_ENGLISH
-+ }else{
-+ *battery_status = sharpsl_jacket_battery;
-+ if( !(*battery_status) ){
-+ *battery_flag = 0x01;
-+ }else if(*battery_status == APM_BATTERY_STATUS_VERY_LOW){
-+ *battery_flag = 0x20;
-+ }else{
-+ *battery_flag = *battery_status << 1;
-+ }
-+ /* set battery percentage */
-+ *battery_percentage = sharpsl_jacket_battery_percentage;
-+ }
-+ }else{
-+ *battery_status = APM_BATTERY_STATUS_FAULT;
-+ *battery_flag = APM_BATTERY_STATUS_FAULT << 1;
-+ /* set battery percentage */
-+ *battery_percentage = 0;
-+ }
-+
-+ /* set battery life */
-+ *battery_life = APM_BATTERY_LIFE_UNKNOWN;
-+
-+ return APM_SUCCESS;
-+}
-+
-+
-+/*** battery main thread ***********************************************************/
-+// waitms : waitms*10 msec wait
-+// flag : 0 : check battery w/o reflcting battery status.
-+// 1 : check battery w/ reflcting battery status.
-+// 2 : check battery w/ refresh battery status.
-+void sharpsl_kick_battery_check(int before_waitms,int after_waitms,int flag)
-+{
-+ MainCntWk = MainCnt + 1;
-+
-+ // before check battery
-+ mdelay(before_waitms*10);
-+
-+ switch (flag) {
-+ case 0:
-+ tosa_battery_thread_main();
-+ break;
-+ case 1:
-+ if ( sharpsl_main_bk_flag == 0 ) {
-+ sharpsl_main_bk_flag = 1;
-+ tosa_battery_thread_main();
-+ sharpsl_main_bk_flag = 0;
-+ } else {
-+ tosa_battery_thread_main();
-+ }
-+ break;
-+ case 2:
-+ back_battery_status = -1;
-+ back_jacket_battery_status = -1;
-+ back_bu_battery_status = -1;
-+ tosa_battery_thread_main();
-+ break;
-+ }
-+
-+ // after check battery
-+ mdelay(after_waitms*10);
-+}
-+
-+static void tosa_request_off(void)
-+{
-+ is_enabled_off = 0;
-+ handle_scancode(SLKEY_OFF|KBDOWN , 1);
-+ mdelay(10);
-+ handle_scancode(SLKEY_OFF|KBUP , 0);
-+}
-+
-+static int tosa_battery_thread_main(void)
-+{
-+ // start battery check
-+ if ((jiffies > SHARPSL_BATTERY_CK_TIME) && (sharpsl_main_bk_flag == 0)) {
-+ sharpsl_main_bk_flag = 1;
-+ DPRINTK2("start check battery ! \n");
-+ }
-+
-+ // get ac status. if change ac status , chk main battery.
-+ sharpsl_ac_status = SHARPSL_AC_LINE_STATUS;
-+ if ( back_ac_status != sharpsl_ac_status ) {
-+ MainCntWk = MainCnt + 1; // chk battery
-+ sharpsl_change_battery_status = 1; // change status
-+ wake_up_interruptible(&battery_waitqueue);
-+ }
-+ back_ac_status = sharpsl_ac_status;
-+
-+ // get battery status.
-+ tosa_get_all_battery();
-+
-+ if ( sharpsl_ac_status == APM_AC_ONLINE ){
-+ set_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // non-limited
-+ tosa_jc_card_limit_sel = 0;
-+ }else if( !sharpsl_jacket_batt_exist ){
-+ reset_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // limited
-+ tosa_jc_card_limit_sel = 1;
-+ }else if(!sharpsl_main_bk_flag){
-+ //default.
-+ set_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // non-limited
-+ tosa_jc_card_limit_sel = 0;
-+ }else if (sharpsl_jacket_battery == SHARPSL_BATTERY_STATUS_VERYLOW ||
-+ sharpsl_jacket_battery == SHARPSL_BATTERY_STATUS_CRITICAL){
-+ reset_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // limited
-+ tosa_jc_card_limit_sel = 1;
-+ }else {
-+ set_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // non-limited
-+ tosa_jc_card_limit_sel = 0;
-+ }
-+
-+ // if battery is low , backlight driver become to save power.
-+ if ( ( ( sharpsl_main_battery == SHARPSL_BATTERY_STATUS_VERYLOW ) ||
-+ ( sharpsl_main_battery == SHARPSL_BATTERY_STATUS_CRITICAL ) ) &&
-+ ( (sharpsl_main_battery != back_battery_status) || (sharpsl_jacket_battery != back_jacket_battery_status) ) &&
-+ ( sharpsl_main_bk_flag ) &&
-+ ( ( !sharpsl_jacket_batt_exist ) || ( tosa_jc_card_limit_sel ) ) ) {
-+ SHARPSL_LIMIT_CONTRAST(SHARPSL_CAUTION_CONTRAST);
-+ } else if ( (sharpsl_main_battery != back_battery_status) ||
-+ (sharpsl_jacket_battery != back_jacket_battery_status) ) {
-+ SHARPSL_LIMIT_CONTRAST(SHARPSL_RESET_CONTRAST);
-+ }
-+
-+ back_battery_status = sharpsl_main_battery;
-+ back_jacket_battery_status = sharpsl_jacket_battery;
-+ back_bu_battery_status = sharpsl_bu_battery;
-+
-+ // good or ac in --> GOOD_COUNT
-+ // low or very low --> NOGOOD_COUNT
-+ if ( ( sharpsl_main_battery == SHARPSL_BATTERY_STATUS_HIGH ) || ( sharpsl_ac_status == APM_AC_ONLINE ) )
-+ MainCnt = SHARPSL_MAIN_GOOD_COUNT;
-+ else
-+ MainCnt = SHARPSL_MAIN_NOGOOD_COUNT;
-+ DPRINTK("[BATT] MainCnt = %d\n",MainCnt);
-+
-+ if(tosa_jacket_status_change && sharpsl_main_bk_flag){
-+ int battlow = 1;
-+
-+ tosa_jacket_status_change = 0; // status clear.
-+
-+ // main battery low irq control.
-+ if(tosa_check_main_batt_fatal()){
-+ DPRINTK2("[BATT] IRQ: Disable BAT0\n");
-+ disable_irq(IRQ_GPIO_BAT0_LOW);
-+ }else{
-+ DPRINTK2("[BATT] IRQ: Enable BAT0\n");
-+ enable_irq(IRQ_GPIO_BAT0_LOW);
-+ battlow = 0;
-+ }
-+
-+ // jacket battery low irq control.
-+ if(sharpsl_jacket_batt_exist){
-+ if(tosa_check_jacket_batt_fatal()){
-+ // jacket battery is fatal.
-+ DPRINTK2("[BATT] IRQ: Disable BAT1 (jacket battery fatal)\n");
-+ disable_irq(IRQ_GPIO_BAT1_LOW);
-+ }else{
-+ DPRINTK2("[BATT] IRQ: Enable BAT1 (status change)\n");
-+ enable_irq(IRQ_GPIO_BAT1_LOW);
-+ battlow = 0;
-+ }
-+ }else{
-+ // no jacket.
-+ DPRINTK2("[BATT] IRQ: Disable BAT1 (no jacket battery)\n");
-+ disable_irq(IRQ_GPIO_BAT1_LOW);
-+ }
-+ if(battlow)
-+ tosa_request_off();
-+ }
-+
-+#ifdef TOSA_BATTERY_FAILSAFE_LOWBAT
-+ // check critical ( check fatal )
-+ if ( ( sharpsl_main_battery == SHARPSL_BATTERY_STATUS_CRITICAL ) &&
-+ is_enabled_off && sharpsl_main_bk_flag ) {
-+
-+ if( !sharpsl_jacket_batt_exist ){
-+ tosa_request_off();
-+ DPRINTK2("[BATT] <* Fail-Safe *> Fatal Off by ADC \n");
-+ }else{
-+ if( sharpsl_jacket_battery == SHARPSL_BATTERY_STATUS_CRITICAL ){
-+ tosa_request_off();
-+ DPRINTK2("[BATT] <* Fail-Safe *>Fatal Off by ADC \n");
-+ }
-+ }
-+ }
-+#endif
-+
-+ DPRINTK("[BATT] LOWBAT0=%d\n",tosa_check_main_batt_fatal());
-+ DPRINTK("[BATT] LOWBAT1=%d\n",tosa_check_jacket_batt_fatal());
-+
-+#ifdef TOSA_BATTERY_FAILSAFE
-+ if( sharpsl_jacket_batt_exist ){
-+ // jacket battery exists. (main battery always exists.)
-+ if( sharpsl_main_bk_flag && is_enabled_off &&
-+ tosa_check_main_batt_fatal() && tosa_check_jacket_batt_fatal() ){
-+
-+ tosa_request_off();
-+ DPRINTK("Fatal Off by DETECTOR\n");
-+ }
-+ }else{
-+ if( sharpsl_main_bk_flag && is_enabled_off &&
-+ ( ( GPLR(GPIO_BAT0_LOW) & GPIO_bit(GPIO_BAT0_LOW) ) == 0 ) ){
-+ tosa_request_off();
-+ DPRINTK("Fatal Off by DETECTOR\n");
-+ }
-+ }
-+#endif
-+
-+ if(TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_CHARGE_OFF){
-+ CHARGE_0_ON();
-+ }else{
-+ }
-+
-+#ifdef TOSA_FOR_ENGLISH
-+ if(IS_ENGLISH_MODEL() && sharpsl_main_bk_flag){
-+
-+ int detected_charge_full = 0;
-+
-+ // In other than the Japanese version,
-+ // the following processings are performed.
-+ // Charging LED is switched off on a full charge.
-+
-+ switch(GET_CHARGE_FULL_STATE()){
-+ case DISCONNECT_AC:
-+ DPRINTK5("DISCONNECT_AC\n");
-+ if( sharpsl_ac_status == APM_AC_ONLINE ){
-+ DPRINTK5("* (%d) ac in !\n",tosa_charge_full_state);
-+ SET_CHARGE_FULL_STATE(CONNECT_AC);
-+ }
-+ break;
-+ case CONNECT_AC:
-+ DPRINTK5("CONNECT_AC\n");
-+ if( sharpsl_ac_status == APM_AC_OFFLINE ){
-+ DPRINTK5("* (%d) ac out !\n",tosa_charge_full_state);
-+ SET_CHARGE_FULL_STATE(DISCONNECT_AC);
-+ break;
-+ }
-+
-+ DPRINTK5("* (%d) ac in !\n",tosa_charge_full_state);
-+ DPRINTK5("* TC6393_SYS_GPOOECR1 = %08x\n",TC6393_SYS_REG(TC6393_SYS_GPOOECR1));
-+ DPRINTK5("* TC6393_SYS_GPODSR1 = %08x\n",TC6393_SYS_REG(TC6393_SYS_GPODSR1));
-+ tosa_decide_charge_full_counter = 0;
-+ detected_charge_full = SHARPSL_MAIN_BATT_FULL;
-+ DPRINTK5("* (%d) main charge full = %d!\n",tosa_charge_full_state,detected_charge_full);
-+ if( detected_charge_full && sharpsl_jacket_exist && sharpsl_jacket_batt_exist ){
-+ detected_charge_full = SHARPSL_JACKET_BATT_FULL;
-+ DPRINTK5("* (%d) jacket charge full = %d!\n",tosa_charge_full_state,detected_charge_full);
-+ }
-+ if( detected_charge_full ){
-+ SET_CHARGE_FULL_STATE(DETECT_CHARGE_FULL);
-+ tosa_decide_charge_full_counter = jiffies;
-+ break;
-+ }
-+ break;
-+ case DETECT_CHARGE_FULL:
-+ DPRINTK5("DETECT_CHARGE_FULL !\n",tosa_charge_full_state);
-+ DPRINTK5("* TC6393_SYS_GPOOECR1 = %08x\n",TC6393_SYS_REG(TC6393_SYS_GPOOECR1));
-+ DPRINTK5("* TC6393_SYS_GPODSR1 = %08x\n",TC6393_SYS_REG(TC6393_SYS_GPODSR1));
-+ if( sharpsl_ac_status == APM_AC_OFFLINE ){
-+ DPRINTK5("* (%d) ac out !\n",tosa_charge_full_state);
-+ SET_CHARGE_FULL_STATE(DISCONNECT_AC);
-+ break;
-+ }
-+ DPRINTK5("* (%d) c = %d \n",tosa_charge_full_state,(jiffies - tosa_decide_charge_full_counter));
-+ detected_charge_full = SHARPSL_MAIN_BATT_FULL;
-+ DPRINTK5("* (%d) main charge full = %d!\n",tosa_charge_full_state,detected_charge_full);
-+ if( detected_charge_full && sharpsl_jacket_exist && sharpsl_jacket_batt_exist ){
-+ detected_charge_full = SHARPSL_JACKET_BATT_FULL;
-+ DPRINTK5("* (%d) jacket charge full = %d!\n",tosa_charge_full_state,detected_charge_full);
-+ }
-+ if( !detected_charge_full ){
-+ DPRINTK5("* (%d) canceled charge full !\n",tosa_charge_full_state);
-+ SET_CHARGE_FULL_STATE(CONNECT_AC);
-+ break;
-+ }
-+
-+ if((jiffies - tosa_decide_charge_full_counter) > TOSA_DECIDE_CHARGE_FULL_COUNTER){
-+ DPRINTK5("* (%d) fixed charge full !\n",tosa_charge_full_state);
-+ CHARGE_LED_OFF();
-+ SET_CHARGE_FULL_STATE(DECIDE_CHARGE_FULL);
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ break;
-+ }
-+ break;
-+ case DECIDE_CHARGE_FULL:
-+ DPRINTK5("DECIDE_CHARGE_FULL !\n",tosa_charge_full_state);
-+ if( sharpsl_ac_status == APM_AC_OFFLINE ){
-+ DPRINTK5("* (%d)ac out !\n",tosa_charge_full_state);
-+ CHARGE_LED_OFF();
-+ SET_CHARGE_FULL_STATE(DISCONNECT_AC);
-+ break;
-+ }
-+ detected_charge_full = SHARPSL_MAIN_BATT_FULL;
-+ DPRINTK5("* (%d) main charge full = %d!\n",tosa_charge_full_state,detected_charge_full);
-+ if( detected_charge_full && sharpsl_jacket_exist && sharpsl_jacket_batt_exist ){
-+ detected_charge_full = SHARPSL_JACKET_BATT_FULL;
-+ DPRINTK5("* (%d) jacket charge full = %d!\n",tosa_charge_full_state,detected_charge_full);
-+ }
-+ if( !detected_charge_full ){
-+ DPRINTK5("* (%d)canceled charge full !\n",tosa_charge_full_state);
-+ CHARGE_LED_ON();
-+ SET_CHARGE_FULL_STATE(CONNECT_AC);
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ break;
-+ }
-+ break;
-+ default:
-+ DPRINTK5("* (%d)error state !\n",tosa_charge_full_state);
-+ SET_CHARGE_FULL_STATE(DISCONNECT_AC);
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ break;
-+ }
-+ }
-+#endif // TOSA_FOR_ENGLISH
-+ return 0;
-+}
-+
-+
-+static int tosa_battery_thread(void* unused)
-+{
-+ strcpy(current->comm, "sharpsl_bat");
-+ sharpsl_check_time = SHARPSL_BATCHK_TIME;
-+
-+ while(1) {
-+ interruptible_sleep_on_timeout((wait_queue_head_t*)&battery_queue, sharpsl_check_time );
-+
-+ // AC adapter is inserted , but charging not start.
-+ // SW can not confirm inserted AC adapter, so kick !
-+ if ( ( charge_status == 0 ) && ( sharpsl_ac_status == APM_AC_ONLINE )) {
-+ wake_up(&charge_on_queue);
-+ } else if ( ( charge_status == 1 ) && ( sharpsl_ac_status == APM_AC_OFFLINE )) {
-+ wake_up(&charge_off_queue);
-+ }
-+
-+ /* check battery ! */
-+ tosa_battery_thread_main();
-+ }
-+ return 0;
-+}
-+
-+
-+
-+// TOSA-FUNCTIONS
-+
-+static void tosa_charge_on_off(int nsel,int on)
-+{
-+ switch(nsel) {
-+ case SEL_MAIN:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= TC6393_CHARGE_OFF;
-+ if(on){
-+ if((TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_CHARGE_OFF) != TC6393_CHARGE_OFF){
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_CHARGE_OFF;
-+ mdelay(1);
-+ }
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_CHARGE_OFF;
-+ mdelay(1);
-+ }else{
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_CHARGE_OFF;
-+ }
-+ break;
-+ case SEL_JACKET:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= TC6393_CHARGE_OFF_JC;
-+ if(on){
-+ if((TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_CHARGE_OFF_JC) != TC6393_CHARGE_OFF_JC){
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_CHARGE_OFF_JC;
-+ mdelay(1);
-+ }
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_CHARGE_OFF_JC;
-+ mdelay(1);
-+ }else{
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_CHARGE_OFF_JC;
-+ }
-+ break;
-+ default:
-+ printk("%s: parameter error !\n",__func__);
-+ break;
-+ }
-+}
-+
-+//
-+// 0:main 1:jacket 2:backup
-+//
-+static int tosa_get_sel_battery(int nsel) //[Fix]
-+{
-+ int i = 0;
-+ BATTERY_THRESH *thresh;
-+ int voltage;
-+
-+ while(1) {
-+ voltage = tosa_read_battery(nsel);
-+ if ( voltage > 0 ) break;
-+ if ( i++ > 5 ) {
-+ switch(nsel) {
-+ case SEL_MAIN:
-+ voltage = sharpsl_main_battery_thresh_fl[0].voltage + TOSA_BATTERY_AD_OFFSET;
-+ break;
-+ case SEL_JACKET:
-+ voltage = sharpsl_jacket_battery_thresh_fl[0].voltage + TOSA_BATTERY_AD_OFFSET;
-+ break;
-+ case SEL_BU:
-+ voltage = sharpsl_bu_battery_thresh_fl[0].voltage + TOSA_BATTERY_AD_OFFSET;
-+ break;
-+ }
-+ printk("please fix me! can not read battery[%d] \n",nsel);
-+ break;
-+ }
-+ }
-+
-+ voltage = tosa_cnv_battery(nsel,voltage);
-+ thresh = tosa_get_sel_level(nsel,voltage);
-+
-+ switch(nsel) {
-+ case SEL_MAIN:
-+ if ( sharpsl_main_bk_flag == 0 ) {
-+ return sharpsl_main_battery;
-+ }
-+ sharpsl_main_battery = thresh->status;
-+ sharpsl_main_battery_percentage = thresh->percentage;
-+ break;
-+ case SEL_JACKET:
-+ if ( sharpsl_main_bk_flag == 0 ) {
-+ return sharpsl_jacket_battery;
-+ }
-+ sharpsl_jacket_battery = thresh->status;
-+ sharpsl_jacket_battery_percentage = thresh->percentage;
-+ break;
-+ case SEL_BU:
-+ sharpsl_bu_battery = thresh->status;
-+ sharpsl_bu_battery_percentage = thresh->percentage;
-+ break;
-+ }
-+
-+ // Value is kept until it will operate OFF and AC, once low AD comes out.
-+ switch(nsel){
-+ case SEL_MAIN:
-+ if ( sharpsl_main_battery_percentage < sharpsl_main_percent_bk ) {
-+ sharpsl_main_status_bk = sharpsl_main_battery;
-+ sharpsl_main_percent_bk = sharpsl_main_battery_percentage;
-+
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ } else {
-+ sharpsl_main_battery = sharpsl_main_status_bk;
-+ sharpsl_main_battery_percentage = sharpsl_main_percent_bk;
-+ }
-+ return sharpsl_main_battery;
-+ break;
-+ case SEL_JACKET:
-+ if ( sharpsl_jacket_battery_percentage < sharpsl_jacket_percent_bk) {
-+ sharpsl_jacket_status_bk = sharpsl_jacket_battery;
-+ sharpsl_jacket_percent_bk = sharpsl_jacket_battery_percentage;
-+
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ } else {
-+ sharpsl_jacket_battery = sharpsl_jacket_status_bk;
-+ sharpsl_jacket_battery_percentage = sharpsl_jacket_percent_bk;
-+ }
-+ return sharpsl_jacket_battery;
-+ break;
-+ case SEL_BU:
-+ if ( sharpsl_bu_battery_percentage < sharpsl_bu_percent_bk ) {
-+ sharpsl_bu_status_bk = sharpsl_bu_battery;
-+ sharpsl_bu_percent_bk = sharpsl_bu_battery_percentage;
-+
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+ } else {
-+ sharpsl_bu_battery = sharpsl_bu_status_bk;
-+ sharpsl_bu_battery_percentage = sharpsl_bu_percent_bk;
-+ }
-+ return sharpsl_bu_battery;
-+ break;
-+ }
-+ return sharpsl_main_battery;
-+}
-+
-+// 0:main 1:jacket 2:backup
-+static int tosa_read_battery(int nsel) //[Fix]
-+{
-+ int voltage = -1;
-+
-+ switch (nsel){
-+ case SEL_MAIN:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= (TC6393_BAT0_V_ON | TC6393_BAT1_V_ON | TC6393_BAT_SW_ON);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~(TC6393_BAT1_V_ON | TC6393_BAT_SW_ON);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BAT0_V_ON;
-+ mdelay(TOSA_BATTERY_READ_WAIT_TIME);
-+ voltage = tosa_get_dac_value(BATT_V);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~(TC6393_BAT0_V_ON | TC6393_BAT1_V_ON | TC6393_BAT_SW_ON);
-+ DPRINTK("[BATT] main voltage = %d \n",voltage);
-+ break;
-+ case SEL_JACKET:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= (TC6393_BAT0_V_ON | TC6393_BAT1_V_ON | TC6393_BAT_SW_ON);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~(TC6393_BAT0_V_ON | TC6393_BAT_SW_ON);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BAT1_V_ON;
-+ mdelay(TOSA_BATTERY_READ_WAIT_TIME);
-+ voltage = tosa_get_dac_value(BATT_V);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~(TC6393_BAT0_V_ON | TC6393_BAT1_V_ON | TC6393_BAT_SW_ON);
-+ DPRINTK("[BATT] jacket voltage = %d \n",voltage);
-+ break;
-+ case SEL_BU:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= (TC6393_BU_CHRG_ON);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= (TC6393_BU_CHRG_ON);
-+ mdelay(TOSA_BATTERY_READ_WAIT_TIME);
-+ voltage = tosa_get_dac_value(BU_V);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_BU_CHRG_ON;
-+ DPRINTK("[BATT] backup voltage = %d \n",voltage);
-+ break;
-+ default:
-+ printk("%s: parameter error !\n",__func__);
-+ break;
-+ }
-+ return voltage;
-+}
-+
-+static int tosa_read_temp(int nsel) //[Fix]
-+{
-+ int temp = -1;
-+
-+ switch (nsel){
-+ case SEL_MAIN:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= TC6393_BAT0_TH_ON | TC6393_BAT1_TH_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_BAT0_TH_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BAT1_TH_ON;
-+ mdelay(TOSA_TEMP_READ_WAIT_TIME);
-+ temp = tosa_get_dac_value(BATT_TH);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~(TC6393_BAT0_TH_ON|TC6393_BAT1_TH_ON);
-+ break;
-+ case SEL_JACKET:
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= TC6393_BAT0_TH_ON | TC6393_BAT1_TH_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_BAT1_TH_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BAT0_TH_ON;
-+ mdelay(TOSA_TEMP_READ_WAIT_TIME);
-+ temp = tosa_get_dac_value(BATT_TH);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~(TC6393_BAT0_TH_ON|TC6393_BAT1_TH_ON);
-+ break;
-+ default:
-+ printk("%s: parameter error !\n",__func__);
-+ break;
-+ }
-+ return temp;
-+}
-+
-+static int tosa_read_battery_avg(int nsel)
-+{
-+ int temp,i;
-+ int buff[5];
-+
-+ for(i=0;i<5;i++) {
-+ buff[i] = tosa_read_battery(nsel);
-+ }
-+ temp = get_select_val(buff);
-+ return temp;
-+}
-+
-+static int tosa_read_temp_avg(int nsel) //[Fix]
-+{
-+ int temp,i;
-+ int buff[5];
-+
-+ for(i=0;i<5;i++) {
-+ buff[i] = tosa_read_temp(nsel);
-+ }
-+ temp = get_select_val(buff);
-+ return temp;
-+}
-+
-+static int tosa_check_battery_error(int nsel,int thresh)
-+{
-+ int temp;
-+
-+ if ( in_interrupt() ) {
-+ printk("%s: call in interrupt.\n",__func__);
-+ return 1;
-+ }
-+ temp = tosa_read_battery_avg(nsel);
-+
-+ if ( temp < thresh ) return 1; // (1) battery error!
-+
-+ return 0; // (0) battery ok!
-+}
-+
-+static int tosa_check_battery_exist(int nsel,int thresh) //[Fix]
-+{
-+ int temp;
-+
-+ if ( in_interrupt() ) {
-+ printk("%s: call in interrupt.<nsel:%d>\n",__func__,nsel);
-+ return 1;
-+ }
-+ temp = tosa_read_temp_avg(nsel);
-+ DPRINTK3("[BATT] batt exist check <nsel = %d, temp = %d>\n",nsel,temp);
-+
-+ if ( temp > thresh ) return 1; // (1) not exist
-+
-+ return 0; // (0) exist
-+}
-+
-+static int tosa_check_main_battery_error(void)
-+{
-+ // 0: not error , 1: error
-+ return tosa_check_battery_error(SEL_MAIN, TOSA_MAIN_BATTERY_ERR_THRESH);
-+}
-+
-+static int tosa_check_jacket_battery_error(void)
-+{
-+ // 0: not error , 1: error
-+ return tosa_check_battery_error(SEL_JACKET, TOSA_JACKET_BATTERY_ERR_THRESH);
-+}
-+
-+static int tosa_check_main_battery_not_exist(void) //[Fix]
-+{
-+#ifdef TOSA_BATTERY_SKIP
-+ return 0;
-+#endif //TOSA_BATTERY_SKIP
-+
-+ // 0: exist , 1: not exist
-+ return tosa_check_battery_exist(SEL_MAIN, TOSA_MAIN_BATTERY_EXIST_THRESH);
-+}
-+
-+static int tosa_check_jacket_battery_not_exist(void) //[Fix]
-+{
-+ // 0: exist , 1: not exist
-+ return tosa_check_battery_exist(SEL_JACKET, TOSA_JACKET_BATTERY_EXIST_THRESH);
-+}
-+
-+static int tosa_read_main_battery(void)
-+{
-+ return tosa_get_sel_battery(SEL_MAIN);
-+}
-+
-+static int tosa_read_jacket_battery(void)
-+{
-+ return tosa_get_sel_battery(SEL_JACKET);
-+}
-+
-+static int tosa_read_backup_battery(void)
-+{
-+ return tosa_get_sel_battery(SEL_BU);
-+}
-+
-+static int tosa_check_main_batt_fatal(void)
-+{
-+ int i;
-+ for(i=0;i<2;i++){
-+ udelay(1);
-+ if(!SHARPSL_MAIN_BATT_FATAL) return 0;
-+ }
-+ return 1; // (1) fatal
-+}
-+
-+static int tosa_check_jacket_batt_fatal(void)
-+{
-+ int i;
-+ for(i=0;i<2;i++){
-+ udelay(1);
-+ if(!SHARPSL_JACKET_BATT_FATAL) return 0;
-+ }
-+ return 1; // (1) fatal
-+}
-+
-+static void tosa_charge_start(void) //[Fix]
-+{
-+ if ( tosa_check_main_battery_not_exist() ) {
-+
-+ /* error led on */
-+ CHARGE_LED_ERR();
-+
-+ /* charge status flag reset */
-+ charge_status = 0;
-+
-+ } else {
-+
-+ /* led on */
-+ CHARGE_LED_OFF();
-+ CHARGE_LED_ON();
-+
-+ /* charge status flag set */
-+ charge_status = 1;
-+ }
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+}
-+
-+static void tosa_charge_stop(void) //[Fix]
-+{
-+ if ( tosa_check_main_battery_not_exist() ){
-+
-+ /* error led on */
-+ CHARGE_LED_ERR();
-+
-+ /* charge status flag reset */
-+ charge_status = 0;
-+
-+ }else{
-+ /* led off */
-+ CHARGE_LED_OFF();
-+
-+ /* charge status flag reset */
-+ charge_status = 0;
-+ }
-+ sharpsl_change_battery_status = 1;
-+ wake_up_interruptible(&battery_waitqueue);
-+}
-+
-+
-+static void tosa_reset_battery_info(void)
-+{
-+ sharpsl_main_status_bk = SHARPSL_BATTERY_STATUS_HIGH;
-+ sharpsl_main_percent_bk = 100;
-+ sharpsl_jacket_status_bk = SHARPSL_BATTERY_STATUS_HIGH;
-+ sharpsl_jacket_percent_bk = 100;
-+ sharpsl_bu_status_bk = SHARPSL_BATTERY_STATUS_HIGH;
-+ sharpsl_bu_percent_bk = 100;
-+
-+ sharpsl_ad_index_main = 0;
-+ sharpsl_ad_index_jacket = 0;
-+ sharpsl_ad_index_bu = 0;
-+}
-+
-+static int tosa_ac_line_status(int m_sec)
-+{
-+ int ac_status=(( GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN) ) ? APM_AC_OFFLINE : APM_AC_ONLINE);
-+ int counter=0;
-+ if(m_sec == 0) return ac_status;
-+ while(1){
-+ mdelay(1);
-+ if(ac_status == (( GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN) ) ? APM_AC_OFFLINE : APM_AC_ONLINE)){
-+ counter++;
-+ }else{
-+ ac_status = (( GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN) ) ? APM_AC_OFFLINE : APM_AC_ONLINE);
-+ counter=0;
-+ }
-+ if(counter>m_sec) break;
-+ }
-+ return ac_status;
-+}
-+
-+//////////////////////
-+
-+void sharpsl_kick_battery_check_queue(void)
-+{
-+ MainCntWk = MainCnt + 1;
-+ wake_up(&battery_queue);
-+}
-+
-+void sharpsl_kick_jacket_check_queue(void)
-+{
-+ wake_up_interruptible(&jacket_chk_queue);
-+}
-+
-+void sharpsl_charge_start(void)
-+{
-+ tosa_charge_start();
-+}
-+
-+int sharpsl_get_main_battery(void)
-+{
-+ return tosa_read_main_battery();
-+}
-+
-+void sharpsl_request_dac_init(void)
-+{
-+ tosa_dac_init = 0;
-+}
-+
-+static int tosa_charge_on(void* unused)
-+{
-+
-+ // daemonize();
-+ strcpy(current->comm, "battchrgon");
-+ sigfillset(&current->blocked);
-+
-+ while(1) {
-+ interruptible_sleep_on(&charge_on_queue);
-+
-+ if (SHARPSL_AC_LINE_STATUS == APM_AC_OFFLINE) continue;
-+
-+ // flag clear
-+ tosa_reset_battery_info();
-+
-+ is_ac_adaptor = 1;
-+
-+ tosa_charge_start();
-+ }
-+ return 0;
-+}
-+
-+
-+static int tosa_charge_off(void* unused)
-+{
-+ // daemonize();
-+ strcpy(current->comm, "battchrgoff");
-+ sigfillset(&current->blocked);
-+
-+ while(1) {
-+ interruptible_sleep_on(&charge_off_queue);
-+
-+ if (SHARPSL_AC_LINE_STATUS == APM_AC_ONLINE) continue;
-+
-+ tosa_reset_battery_info();
-+
-+ is_ac_adaptor = 0;
-+
-+ tosa_charge_stop();
-+ }
-+ return 0;
-+}
-+
-+static int tosa_fatal_check(void* unused)
-+{
-+ int is_fatal;
-+
-+ // daemonize();
-+ strcpy(current->comm, "fatalchk");
-+ sigfillset(&current->blocked);
-+
-+ while(1) {
-+ interruptible_sleep_on(&fatal_chk_queue);
-+
-+ is_fatal=0;
-+
-+ DPRINTK2("[BATT] BAT0LOW OR BAT1LOW IRQ \n");
-+ if(tosa_check_main_batt_fatal()){
-+ disable_irq(IRQ_GPIO_BAT0_LOW);
-+ DPRINTK2("[BATT] IRQ: Disable BAT0\n");
-+ is_fatal = 1;
-+ }
-+ if(sharpsl_jacket_exist && sharpsl_jacket_batt_exist){
-+ if(tosa_check_jacket_batt_fatal()){
-+ disable_irq(IRQ_GPIO_BAT1_LOW);
-+ DPRINTK2("[BATT] IRQ: Disable BAT1\n");
-+ }else{
-+ is_fatal = 0;
-+ }
-+ }
-+
-+ if(is_fatal){
-+ DPRINTK2("[BATT] FATAL OFF !!!\n");
-+ tosa_request_off();
-+ }else{
-+ DPRINTK2("[BATT] FATAL OFF CANCEL !\n");
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int tosa_jacket_check(void* unused)
-+{
-+ int sts;
-+
-+ // daemonize();
-+ strcpy(current->comm, "jacketchk");
-+ sigfillset(&current->blocked);
-+
-+ while(1) {
-+ interruptible_sleep_on(&jacket_chk_queue);
-+
-+ sts = tosa_get_jacket_status();
-+ if (sts == 0){
-+ mod_timer(&jacket_kick_timer,
-+ jiffies + HZ / 100 * TOSA_JC_CHECK_WAIT_TIME);
-+ }else{
-+ sharpsl_kick_battery_check_queue();
-+ }
-+ }
-+ return 0;
-+}
-+
-+// card error ( System must eject the card )
-+// RET = 0:no error, bit0:pcmcia slot0, bit1:pcmcia slot1, bit2:sdslot0
-+int sharpsl_get_cardslot_error(void)
-+{
-+ int cardslot_err = tosa_cardslot_error;
-+ //printk("%s:\n",__func__);
-+ tosa_cardslot_error = 0; // clear
-+ return cardslot_err;
-+}
-+
-+/*** Int ***********************************************************************/
-+
-+static void tosa_jacket_kick_timer(void)
-+{
-+ sharpsl_kick_jacket_check_queue();
-+}
-+
-+static void sharpsl_ac_kick_timer(void)
-+{
-+ int level = tosa_ac_line_status(0);
-+ int match = 0;
-+ int err = 0;
-+
-+ while(1) {
-+ if ( level == tosa_ac_line_status(0) ) {
-+ match++;
-+ } else {
-+ level = tosa_ac_line_status(0);
-+ match = 0;
-+ err++;
-+ }
-+ if ( match > 1 ) break;
-+ if ( err > 50 ) {
-+ // if ac port is not stable , so use last port data.
-+ level = tosa_ac_line_status(0);
-+ printk("err : ac port\n");
-+ break;
-+ }
-+ }
-+
-+#if 1 // Hardware Issue.
-+ if ( charge_status == 1 && level == APM_AC_OFFLINE ){
-+ // AC IN -> OUT
-+ wake_up(&charge_off_queue);
-+ }else if ( charge_status == 0 && level == APM_AC_ONLINE ){
-+ // AC OUT -> IN
-+ wake_up(&charge_on_queue);
-+ }
-+#else
-+ if ( level == APM_AC_OFFLINE ) {
-+ /* High->Low : desert */
-+ wake_up(&charge_off_queue);
-+ } else {
-+ /* Low->High : assert */
-+ wake_up(&charge_on_queue);
-+ }
-+#endif
-+
-+ sharpsl_kick_battery_check_queue();
-+}
-+
-+static void tosa_jacket_interrupt(int irq, void *dummy, struct pt_regs *fp)
-+{
-+ mod_timer(&jacket_kick_timer, jiffies + HZ / 100);
-+}
-+
-+static void tosa_ac_interrupt(int irq, void *dummy, struct pt_regs *fp)
-+{
-+ mod_timer(&ac_kick_timer, jiffies + HZ / 100);
-+}
-+
-+static void tosa_main_batt_fatal_interrupt(int irq, void *dummy, struct pt_regs *fp)
-+{
-+ wake_up_interruptible(&fatal_chk_queue);
-+}
-+
-+static void tosa_jacket_batt_fatal_interrupt(int irq, void *dummy, struct pt_regs *fp)
-+{
-+ wake_up_interruptible(&fatal_chk_queue);
-+}
-+
-+/*** get adc *********************************************************************/
-+
-+static int tosa_cnv_battery(int nsel,int ad)
-+{
-+ int ad_val = 0;
-+ int ret = -1,i;
-+
-+ switch(nsel){
-+ case SEL_MAIN:
-+ if ( sharpsl_main_battery != SHARPSL_BATTERY_STATUS_HIGH ) {
-+ sharpsl_ad_index_main = 0;
-+ return ad;
-+ }
-+ sharpsl_ad_main[sharpsl_ad_index_main] = ad;
-+ sharpsl_ad_index_main++;
-+ if ( sharpsl_ad_index_main >= SHARPSL_CNV_VALUE_NUM ) {
-+ for(i=0;i<(SHARPSL_CNV_VALUE_NUM-1);i++)
-+ sharpsl_ad_main[i] = sharpsl_ad_main[i+1];
-+ sharpsl_ad_index_main = SHARPSL_CNV_VALUE_NUM -1;
-+ }
-+ for(i=0;i<sharpsl_ad_index_main;i++)
-+ ad_val += sharpsl_ad_main[i];
-+ ret = ( ad_val / sharpsl_ad_index_main );
-+ break;
-+ case SEL_JACKET:
-+ if ( sharpsl_jacket_battery != SHARPSL_BATTERY_STATUS_HIGH ) {
-+ sharpsl_ad_index_jacket = 0;
-+ return ad;
-+ }
-+ sharpsl_ad_jacket[sharpsl_ad_index_jacket] = ad;
-+ sharpsl_ad_index_jacket++;
-+ if ( sharpsl_ad_index_jacket >= SHARPSL_CNV_VALUE_NUM ) {
-+ for(i=0;i<(SHARPSL_CNV_VALUE_NUM-1);i++)
-+ sharpsl_ad_jacket[i] = sharpsl_ad_jacket[i+1];
-+ sharpsl_ad_index_jacket = SHARPSL_CNV_VALUE_NUM -1;
-+ }
-+ for(i=0;i<sharpsl_ad_index_jacket;i++)
-+ ad_val += sharpsl_ad_jacket[i];
-+ ret = ( ad_val / sharpsl_ad_index_jacket );
-+ break;
-+ case SEL_BU:
-+ if ( sharpsl_bu_battery != SHARPSL_BATTERY_STATUS_HIGH ) {
-+ sharpsl_ad_index_bu = 0;
-+ return ad;
-+ }
-+ sharpsl_ad_bu[sharpsl_ad_index_bu] = ad;
-+ sharpsl_ad_index_bu++;
-+ if ( sharpsl_ad_index_bu >= SHARPSL_CNV_VALUE_NUM ) {
-+ for(i=0;i<(SHARPSL_CNV_VALUE_NUM-1);i++)
-+ sharpsl_ad_bu[i] = sharpsl_ad_bu[i+1];
-+ sharpsl_ad_index_bu = SHARPSL_CNV_VALUE_NUM -1;
-+ }
-+ for(i=0;i<sharpsl_ad_index_bu;i++)
-+ ad_val += sharpsl_ad_bu[i];
-+ ret = ( ad_val / sharpsl_ad_index_bu );
-+ break;
-+ default:
-+ printk("%s: parameter error !\n",__func__);
-+ break;
-+ }
-+ return ret;
-+}
-+
-+static void tosa_get_all_battery(void) //[Fix]
-+{
-+ MainCntWk++;
-+
-+ if ( MainCntWk > MainCnt ) {
-+
-+ MainCntWk = 0;
-+
-+ // check main battery status.
-+ tosa_read_main_battery();
-+
-+ // check backup battery status.
-+ tosa_read_backup_battery();
-+
-+ if (sharpsl_jacket_exist && sharpsl_jacket_batt_exist){
-+ // jacket exists , and jacket's battery exists.
-+ // check jacket battery status.
-+ tosa_read_jacket_battery();
-+ DPRINTK3("[BATT] jacket-unit is existend, and battery is existent therein.\n");
-+ }else{
-+ if(!sharpsl_jacket_exist){
-+ DPRINTK3("[BATT] jacket-unit is non-existent.\n");
-+ }else{
-+ DPRINTK3("[BATT] jacket-unit is existent, but battery is non-existent therein.\n");
-+ }
-+ }
-+
-+ }else{
-+ DPRINTK("[BATT] MainCntWk = %d\n",MainCntWk);
-+ }
-+}
-+
-+static BATTERY_THRESH *tosa_get_sel_level(int nsel, int Volt )
-+{
-+ int i;
-+ BATTERY_THRESH *thresh;
-+
-+ //DPRINTK(" volt = %d \n",Volt);
-+
-+ switch(nsel){
-+ case SEL_MAIN:
-+ if (counter_step_contrast > 2)
-+ thresh = sharpsl_main_battery_thresh_fl;
-+ else
-+ thresh = sharpsl_main_battery_thresh_nofl;
-+ break;
-+ case SEL_JACKET:
-+ if (counter_step_contrast > 2)
-+ thresh = sharpsl_jacket_battery_thresh_fl;
-+ else
-+ thresh = sharpsl_jacket_battery_thresh_nofl;
-+ break;
-+ case SEL_BU:
-+ if (counter_step_contrast > 2)
-+ thresh = sharpsl_bu_battery_thresh_fl;
-+ else
-+ thresh = sharpsl_bu_battery_thresh_nofl;
-+ break;
-+ default:
-+ printk("%s: parameter error !\n",__func__);
-+ thresh = sharpsl_main_battery_thresh_fl;
-+ break;
-+ }
-+ for (i = 0; thresh[i].voltage > 0; i++) {
-+ if (Volt >= (thresh[i].voltage + TOSA_BATTERY_AD_OFFSET))
-+ return &thresh[i];
-+ }
-+ return &thresh[i];
-+}
-+
-+/*
-+ * Translate Analog signal to Digital data
-+ */
-+static int tosa_get_dac_value(int channel) //[Fix]
-+{
-+ unsigned short indata;
-+ int voltage;
-+
-+
-+ lock_FCS(POWER_MODE_BATTERY, 1);
-+
-+ battery_off_flag = 0;
-+
-+ if (tosa_dac_init == 0){
-+ ac97_write(AC97_TS_REG2, 0xc009);
-+ ac97_write(AC97_TS_REG1, 0x0030);
-+ //ac97_bit_set(AC97_ADITFUNC1, (1<<1));
-+ set_GPIO_mode(GPIO32_SDATA_IN1_AC97_MD);
-+ tosa_dac_init = 1;
-+ }
-+
-+ wm9712_power_mode_ts(WM9712_PWR_TP_CONV);
-+ if ((voltage = ac97_ad_input(channel,&indata)) == 0){
-+ voltage = (int)(indata & 0xfff);
-+ }
-+ wm9712_power_mode_ts(WM9712_PWR_TP_WAIT);
-+
-+#ifdef TOSA_BATTERY_SKIP
-+ voltage = 0xfff; // for TEST
-+#endif //TOSA_BATTERY_SKIP
-+
-+ lock_FCS(POWER_MODE_BATTERY, 0);
-+
-+ if ( battery_off_flag )
-+ voltage = -1;
-+
-+ return voltage;
-+}
-+
-+
-+static int get_select_val(int *val)
-+{
-+ int i,j,k,temp,sum = 0;
-+
-+ // Get MAX
-+ temp = val[0];
-+ j=0;
-+ for(i=1;i<5;i++) {
-+ if ( temp < val[i] ) { temp = val[i]; j = i; }
-+ }
-+
-+ // Get MIN
-+ temp = val[4];
-+ k=4;
-+ for(i=3;i>=0;i--) {
-+ if ( temp > val[i] ) { temp = val[i]; k = i; }
-+ }
-+
-+ for(i=0;i<5;i++) {
-+ if ( i == j || i == k ) continue;
-+ sum += val[i];
-+ }
-+ return ( sum / 3 );
-+}
-+
-+
-+/*** PM *************************************************************************/
-+
-+#ifdef CONFIG_PM
-+static int Sharpsl_battery_pm_callback(struct pm_dev *pm_dev, pm_request_t req, void *data)
-+{
-+ switch (req) {
-+ case PM_SUSPEND:
-+
-+ disable_irq(IRQ_GPIO_AC_IN);
-+ disable_irq(IRQ_GPIO_JACKET_DETECT);
-+#ifndef TOSA_BATTERY_SKIP
-+ disable_irq(IRQ_GPIO_BAT0_LOW);
-+ disable_irq(IRQ_GPIO_BAT1_LOW);
-+#endif
-+
-+ // flag clear
-+ tosa_reset_battery_info();
-+
-+ tosa_off_main_batt_full = 0;
-+ tosa_off_jacket_batt_full = 0;
-+ tosa_off_check_jacket_req = 0;
-+
-+ if ( !sharpsl_main_bk_flag )
-+ sharpsl_main_battery = SHARPSL_BATTERY_STATUS_HIGH;
-+
-+ battery_off_flag = 1;
-+
-+ CHARGE_LED_OFF();
-+ charge_status = 0;
-+ pass_charge_flag = 0;
-+
-+ apm_wakeup_src_mask |= ( GPIO_bit(GPIO_AC_IN) |
-+ GPIO_bit(GPIO_JACKET_DETECT) );
-+ apm_wakeup_src_mask &= ~( GPIO_bit(GPIO_BAT0_CRG) | GPIO_bit(GPIO_BAT1_CRG) );
-+
-+ // wake up by key
-+ apm_wakeup_src_mask |= GPIO_bit(0);
-+
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ tosa_charge_full_enable = 0;
-+ tosa_charge_full_counter = 0;
-+ tosa_charge_full_main_batt = 0;
-+ tosa_charge_full_jacket_batt = 0;
-+#endif //TOSA_OFF_CHARGE_FAILSAFE
-+ break;
-+
-+ case PM_RESUME:
-+ is_enabled_off = 1;
-+ MainCntWk = MainCnt + 1; // chk battery
-+ back_battery_status = -1;
-+ back_jacket_battery_status = -1;
-+ back_bu_battery_status = -1;
-+ back_ac_status = -1;
-+ tosa_dac_init = 0;
-+ sharpsl_ad_index_main = 0;
-+ sharpsl_ad_index_jacket = 0;
-+ sharpsl_ad_index_bu = 0;
-+ tosa_off_check_jacket_req = 0;
-+#ifdef TOSA_FOR_ENGLISH
-+ if(IS_ENGLISH_MODEL()){
-+ SET_CHARGE_FULL_STATE(DISCONNECT_AC);
-+ tosa_decide_charge_full_counter = 0;
-+ }
-+#endif // TOSA_FOR_ENGLISH
-+
-+ DPRINTK("[BATT] kick ac check!\n");
-+ // AC insert , so kick the charging
-+ if (SHARPSL_AC_LINE_STATUS != APM_AC_OFFLINE) {
-+ wake_up(&charge_on_queue);
-+ } else {
-+ wake_up(&charge_off_queue);
-+ }
-+
-+ DPRINTK2("[BATT] kick jacket check!\n");
-+ tosa_get_jacket_status_for_on();
-+ tosa_off_jc_card_limit();
-+
-+ CHARGE_0_ON();
-+
-+ DPRINTK("[BATT] kick battery check!\n");
-+ sharpsl_kick_battery_check_queue();
-+
-+ DPRINTK("[BATT] enabled all irq!\n");
-+#ifndef TOSA_BATTERY_SKIP
-+ disable_irq(IRQ_GPIO_BAT1_LOW);
-+ disable_irq(IRQ_GPIO_BAT0_LOW);
-+#endif
-+ enable_irq(IRQ_GPIO_JACKET_DETECT);
-+ enable_irq(IRQ_GPIO_AC_IN);
-+ break;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+/*** check fatal battery ************************************************/
-+// Fatal : 0
-+// OK : 1
-+unsigned short chkFatalBatt(void)
-+{
-+ int volt,thresh_mbat,thresh_jbat;
-+ int charge_value;
-+
-+ DPRINTK("[BATT] check fatal battery\n");
-+
-+ if (SHARPSL_AC_LINE_STATUS != APM_AC_OFFLINE ) {
-+ thresh_mbat = TOSA_MAIN_BATT_FATAL_ACIN_VOLT;
-+ thresh_jbat = TOSA_JACKET_BATT_FATAL_ACIN_VOLT;
-+ }else{
-+ thresh_mbat = TOSA_MAIN_BATT_FATAL_NOACIN_VOLT;
-+ thresh_jbat = TOSA_JACKET_BATT_FATAL_NOACIN_VOLT;
-+ }
-+
-+ charge_value = TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_CHARGE_OFF; //Main
-+ CHARGE_0_OFF(); //Main
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= TC6393_BAT_SW_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BAT_SW_ON;
-+ mdelay(TOSA_DISCHARGE_WAIT_TIME);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_BAT_SW_ON;
-+
-+ volt = tosa_read_battery_avg(SEL_MAIN);
-+
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= charge_value;
-+ charge_value=0;
-+ mdelay(1);
-+
-+ DPRINTK3("[BATT] check batt exist(1)\n");
-+ if(tosa_check_jacket_battery_not_exist()){
-+ if( volt < thresh_mbat ){
-+ DPRINTK("[BATT] main fatal battery (no jacket)\n");
-+ return 0; // MAIN BATTERY FATAL
-+ }
-+ }else{
-+ if( volt < thresh_mbat ){
-+
-+ charge_value = TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_CHARGE_OFF_JC; //Jacket
-+ CHARGE_1_OFF(); //Jacket
-+ TC6393_SYS_REG(TC6393_SYS_GPOOECR1) |= TC6393_BAT_SW_ON;
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BAT_SW_ON;
-+ mdelay(TOSA_DISCHARGE_WAIT_TIME);
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_BAT_SW_ON;
-+
-+ volt = tosa_read_battery_avg(SEL_JACKET);
-+
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= charge_value;
-+ mdelay(1);
-+
-+ if( volt < thresh_jbat ){
-+ DPRINTK("[BATT] main & jacket fatal battery\n");
-+ return 0; // MAIN & JACKET BATTERY FATAL
-+ }
-+ }
-+ }
-+ DPRINTK("[BATT] not fatal\n");
-+
-+ return 1; // OK
-+}
-+
-+
-+/*** for suspend hook ***********************************************************/
-+#ifdef CONFIG_PM
-+int sharpsl_off_charge_battery(void)
-+{
-+ if ( tosa_check_main_battery_not_exist() ) {
-+
-+ DPRINTK("No main battery !\n");
-+
-+ // battery error!
-+ CHARGE_LED_ERR_OFF();
-+ CHARGE_LED_ERR();
-+ charge_status = 0; /* charge status flag reset */
-+
-+ // if error is occured , so led is blinking continue...
-+ while(1) {
-+ if (SHARPSL_AC_LINE_STATUS == APM_AC_OFFLINE) break;
-+ }
-+
-+ CHARGE_LED_OFF();
-+ return -1;
-+
-+ } else {
-+
-+ // charge start!
-+ CHARGE_LED_OFF();
-+ CHARGE_LED_ON(); /* led on */
-+ charge_status = 1; /* charge status flag set */
-+
-+ }
-+ return 0;
-+}
-+
-+static void tosa_off_jc_card_limit(void)
-+{
-+ if(SHARPSL_AC_LINE_STATUS != APM_AC_OFFLINE){
-+ // ac-in.
-+ set_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // non-limited
-+ tosa_jc_card_limit_sel = 0;
-+ }else if(sharpsl_jacket_exist && sharpsl_jacket_batt_exist){
-+ // ac-out, and jacket exist.
-+ int volt = tosa_read_battery_avg(SEL_JACKET);
-+ if(volt > TOSA_JACKET_BATT_FATAL_NOACIN_VOLT){
-+ set_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // non-limited
-+ tosa_jc_card_limit_sel = 0;
-+ }else{
-+ reset_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // limited
-+ tosa_jc_card_limit_sel = 1;
-+ }
-+ }else{
-+ reset_scoop_jc_gpio(SCP_JC_CARD_LIMIT_SEL); // limited
-+ tosa_jc_card_limit_sel = 1;
-+ }
-+}
-+
-+int tosa_check_charge_full(int cktime)
-+{
-+ int time;
-+ unsigned int ret;
-+ int is_all_battery_full;
-+ int jacket_state, batt_sw_state;
-+ extern int sharpsl_wakeup_check_charge(void);
-+ time = RCNR;
-+
-+ jacket_state = (GPLR(GPIO_JACKET_DETECT) & GPIO_bit(GPIO_JACKET_DETECT));
-+ batt_sw_state = SHARPSL_BAT_LOCKED_STATUS;
-+
-+#if CHECK_LOG
-+ printk("*** CHG_CHK_START: time=%d(%08x) ***\n",RCNR-gStartTime,RCNR);
-+ printk(" MAIN AD: %08x JACKET AD %08x\n",tosa_read_battery(SEL_MAIN),tosa_read_battery(SEL_JACKET));
-+ printk(" TC6393_SYS_GPODSR1=%x\n",TC6393_SYS_REG(TC6393_SYS_GPODSR1));
-+#endif
-+
-+ if(TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_CHARGE_OFF_JC /*Jacket*/){
-+ if(sharpsl_jacket_batt_exist){
-+#if CHECK_LOG
-+ printk(" jacket battery charge on !\n");
-+#endif
-+ CHARGE_1_ON();
-+ }
-+#if CHECK_LOG
-+ printk(" TC6393_SYS_GPODSR1=%x\n",TC6393_SYS_REG(TC6393_SYS_GPODSR1));
-+#endif
-+ }
-+
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ if(!tosa_charge_full_enable){
-+ tosa_charge_full_enable = 1; // @ Start!!
-+ tosa_charge_full_counter = RCNR; // @ Reset Failsafe Counter.
-+ tosa_charge_full_main_batt = tosa_read_battery(SEL_MAIN);
-+ if(sharpsl_jacket_batt_exist)
-+ tosa_charge_full_jacket_batt = tosa_read_battery(SEL_JACKET);
-+#if CHECK_LOG
-+ printk("*** CHG_FAILSAFE_COUNTER_START: time=%d(%08x) ***\n",RCNR-tosa_charge_full_counter,RCNR);
-+#endif
-+ }
-+#endif //TOSA_OFF_CHARGE_FAILSAFE
-+
-+ while(1){
-+ int jacket_batt_exist_now = 0;
-+
-+ // ac out ?
-+ if ( SHARPSL_AC_LINE_STATUS == APM_AC_OFFLINE ) {
-+ charge_status = 0;
-+ CHARGE_LED_OFF();
-+ //printk("%s: [go off] ac out !\n",__func__);
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ tosa_charge_full_enable = 0; // @ Stop!!
-+#endif
-+ ret = -1;
-+ break;
-+ }
-+
-+ // check wakeup interrupt.
-+ if ( ( ret = sharpsl_wakeup_check_charge() ) != 1 ) {
-+ break;
-+ }
-+
-+ // timeout ?
-+ if ( ( RCNR - time ) > SHARPSL_TOSA_WAIT_CO_TIME ) {
-+ //printk("%s: [go off] finished! not full !\n",__func__);
-+ ret = -1;
-+ break;
-+ }
-+
-+ // battery switch status change ?
-+ if(batt_sw_state != SHARPSL_BAT_LOCKED_STATUS){
-+ //printk("%s: [go off] battery switch status is changed !\n",__func__);
-+ ret = -1;
-+ break;
-+ }
-+
-+ // jacket detect status change ?
-+ if(jacket_state != (GPLR(GPIO_JACKET_DETECT) & GPIO_bit(GPIO_JACKET_DETECT))) {
-+ tosa_get_jacket_status_for_on();
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ tosa_charge_full_enable = 0; // @ Stop!!
-+#endif
-+ //printk("%s: [go off] jacket status is changed !\n",__func__);
-+ ret = -1;
-+ break;
-+ }
-+
-+ // battery full ?
-+ tosa_off_main_batt_full = SHARPSL_MAIN_BATT_FULL;
-+ tosa_off_jacket_batt_full = 0;
-+ if(sharpsl_jacket_exist && sharpsl_jacket_batt_exist){
-+ tosa_off_jacket_batt_full = SHARPSL_JACKET_BATT_FULL;
-+ }
-+ is_all_battery_full = 0;
-+
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ if(tosa_charge_full_enable){
-+ if((RCNR - tosa_charge_full_counter) > (TOSA_CHARGE_FULL_MAX_TIME-cktime)){
-+#if CHECK_LOG
-+ printk("*** ALL BATTERY is FULL by FAILSAFE.***\n");
-+ printk(" CHG_FAILSAFE_COUNTER: time=%d\n",RCNR - tosa_charge_full_counter);
-+#endif
-+ is_all_battery_full = 1;
-+ }
-+ }
-+#endif //TOSA_OFF_CHARGE_FAILSAFE
-+
-+ if(charge_status && tosa_off_main_batt_full){
-+ // main battery full !
-+#if CHECK_LOG
-+ printk("\n");
-+ printk(" MAIN BATTERY is FULL.\n");
-+#endif
-+ if(sharpsl_jacket_batt_exist){
-+ if(tosa_off_jacket_batt_full){
-+ // all battery full !
-+ is_all_battery_full = 1;
-+#if CHECK_LOG
-+ printk(" JACKET BATTERY is FULL.\n");
-+#endif
-+ }
-+ }else{
-+ // all battery full ! (non-jacket)
-+ is_all_battery_full = 1;
-+#if CHECK_LOG
-+ printk(" JACKET BATTERY is NON.\n");
-+#endif
-+ }
-+ }
-+#if CHECK_LOG
-+ else{
-+ printk(".");
-+ }
-+#endif
-+ if(is_all_battery_full){
-+
-+ // ac out ?
-+ if ( SHARPSL_AC_LINE_STATUS == APM_AC_OFFLINE ) {
-+ continue;
-+ }
-+
-+ // all battery full !!!!
-+ //printk("%s: [go off] all battery full !\n",__func__);
-+#if CHECK_LOG
-+ printk("\n");
-+ printk(" CHG_FAILSAFE_COUNTER: time=%d\n",RCNR - tosa_charge_full_counter);
-+ printk("*** CHG_CHK_END: t=%d (%08x) ***\n",RCNR-gStartTime,RCNR);
-+ printk("*** ALL BATTERY is FULL!! ***\n");
-+#endif
-+ CHARGE_LED_OFF(); // led off
-+ charge_status = 0;
-+ pass_charge_flag = 1;
-+ ret = -1; // go off.
-+ return ret;
-+ }
-+ }
-+
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ if(tosa_charge_full_enable){
-+ int batt_now;
-+
-+#if CHECK_LOG
-+ printk("\n");
-+ printk(" MAIN VOLTAGE CHECK: ");
-+#endif
-+ batt_now = tosa_read_battery(SEL_MAIN);
-+ if((tosa_charge_full_main_batt - batt_now) >= TOSA_CHARGE_FULL_DIFF_VOLT){
-+#if CHECK_LOG
-+ printk("[NG] (%d->%d)\n",tosa_charge_full_main_batt,batt_now);
-+ printk(" * RESTART: time=%d \n",RCNR);
-+#endif
-+ tosa_charge_full_counter = RCNR; // @ Reset Failsafe Counter.
-+ }
-+#if CHECK_LOG
-+ else{
-+ printk("[OK] (%d->%d)\n",tosa_charge_full_main_batt,batt_now);
-+ }
-+#endif
-+ tosa_charge_full_main_batt = batt_now;
-+
-+#if CHECK_LOG
-+ printk(" JACKET VOLTAGE CHECK: ");
-+#endif
-+ if(sharpsl_jacket_batt_exist){
-+ batt_now = tosa_read_battery(SEL_JACKET);
-+ if((tosa_charge_full_jacket_batt - batt_now) >= TOSA_CHARGE_FULL_DIFF_VOLT){
-+ tosa_charge_full_counter = RCNR; // @ Reset Failsafe Counter.
-+#if CHECK_LOG
-+ printk("[NG] (%d->%d)\n",tosa_charge_full_main_batt,batt_now);
-+ printk(" * RESTART: time=%d ***\n",RCNR);
-+#endif
-+ }
-+#if CHECK_LOG
-+ else{
-+ printk("[OK] (%d->%d)\n",tosa_charge_full_jacket_batt,batt_now);
-+ }
-+#endif
-+ tosa_charge_full_jacket_batt = batt_now;
-+ }
-+#if CHECK_LOG
-+ else{
-+ printk("[OK] (NON-JACKET)\n");
-+ }
-+#endif
-+ }
-+#endif //TOSA_OFF_CHARGE_FAILSAFE
-+
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+#if CHECK_LOG
-+ if(tosa_charge_full_enable){
-+ printk(" CHG_FAILSAFE_COUNTER: time=%d\n",RCNR - tosa_charge_full_counter);
-+ }
-+#endif
-+#endif
-+
-+#if CHECK_LOG
-+ printk("*** CHG_CHK_END: time=%d(%08x) ***\n",RCNR-gStartTime,RCNR);
-+ printk("\n");
-+#endif
-+
-+ pass_charge_flag = 0;
-+ return ret;
-+}
-+
-+void tosa_check_ac_and_jacket_state(void)
-+{
-+ int is_all_battery_full = 0;
-+
-+ if(!pass_charge_flag){
-+ if(SHARPSL_AC_LINE_STATUS != APM_AC_OFFLINE){
-+ sharpsl_off_charge_battery();
-+ charge_status = 1;
-+ CHARGE_LED_ON();
-+ }else{
-+ charge_status = 0;
-+ CHARGE_LED_OFF();
-+ }
-+ }
-+ if(!tosa_off_check_jacket_req){
-+ return;
-+ }
-+ tosa_off_check_jacket_req = 0;
-+ // restart charge.
-+ CHARGE_ON();
-+
-+ // check jacket.
-+ tosa_get_jacket_status_for_on();
-+ mdelay(100);
-+
-+ tosa_off_main_batt_full = 0;
-+ tosa_off_jacket_batt_full = 0;
-+ charge_status = 0;
-+
-+ if(SHARPSL_AC_LINE_STATUS != APM_AC_OFFLINE){
-+ // ac in.
-+ tosa_off_main_batt_full = SHARPSL_MAIN_BATT_FULL;
-+ if(sharpsl_jacket_exist && sharpsl_jacket_batt_exist){
-+ tosa_off_jacket_batt_full = SHARPSL_JACKET_BATT_FULL;
-+ }
-+ //sharpsl_off_charge_battery();
-+ charge_status = 1;
-+ CHARGE_LED_ON();
-+#if CHECK_LOG
-+ printk("*** CHG_START: time=0(%08x) ***\n",RCNR);
-+ gStartTime = RCNR;
-+ printk(" MAIN AD: %d JACKET AD %d\n",tosa_read_battery(SEL_MAIN),tosa_read_battery(SEL_JACKET));
-+#endif
-+ }else{
-+ // ac out.
-+ charge_status = 0;
-+ CHARGE_LED_OFF();
-+ }
-+
-+ tosa_off_jc_card_limit();
-+
-+ DPRINTK4("[BATT]sharpsl_jacket_exist = %d\n",sharpsl_jacket_exist);
-+ DPRINTK4("[BATT]sharpsl_jacket_batt_exist = %d\n",sharpsl_jacket_batt_exist);
-+ DPRINTK4("[BATT]charge_status = %d\n",charge_status);
-+ DPRINTK4("[BATT]main_batt_full = %d\n",tosa_off_main_batt_full);
-+ DPRINTK4("[BATT]jacket_batt_full = %d\n",tosa_off_jacket_batt_full);
-+
-+ pass_charge_flag = 0;
-+ return;
-+}
-+
-+void sharpsl_battery_charge_hook(int mode)
-+{
-+ switch (mode){
-+ case 0: // Main Battery Full
-+ DPRINTK4("[IRQ]main battery full.\n");
-+ break;
-+ case 1: // Charge Off
-+ DPRINTK4("[IRQ]ac out.\n");
-+ break;
-+ case 2: // Charge On
-+ DPRINTK4("[IRQ]ac in.\n");
-+ break;
-+ case 3: // Jacket Battery Full
-+ DPRINTK4("[IRQ]jacket battery full.\n");
-+ break;
-+ case 4: // Jacket Detect
-+ DPRINTK4("[IRQ]check jacket.\n");
-+ break;
-+ case 5:
-+ DPRINTK4("[IRQ]timer.(%d)\n",RCNR);
-+ tosa_check_ac_and_jacket_state();
-+ tosa_off_check_jacket_req = 0;
-+ return;
-+ break;
-+ default:
-+ return;
-+ break;
-+ }
-+#ifdef TOSA_OFF_CHARGE_FAILSAFE
-+ if(tosa_charge_full_enable){
-+ tosa_charge_full_enable = 0;
-+ }
-+#endif //TOSA_OFF_CHARGE_FAILSAFE
-+ tosa_off_check_jacket_req = 1;
-+ return;
-+}
-+
-+#endif /* CONFIG_PM */
-+
-+
-+/*** Config & Setup **********************************************************/
-+void battery_init(void)
-+{
-+ int err;
-+
-+ init_timer(&ac_kick_timer);
-+ ac_kick_timer.function = (void*)sharpsl_ac_kick_timer;
-+
-+ init_timer(&jacket_kick_timer);
-+ jacket_kick_timer.function = (void*)tosa_jacket_kick_timer;
-+
-+ GPDR(GPIO_AC_IN) &= ~GPIO_bit(GPIO_AC_IN);
-+ GPDR(GPIO_BAT0_CRG) &= ~GPIO_bit(GPIO_BAT0_CRG);
-+ GPDR(GPIO_BAT1_CRG) &= ~GPIO_bit(GPIO_BAT1_CRG);
-+
-+ GPDR(GPIO_BAT0_LOW) &= ~GPIO_bit(GPIO_BAT0_LOW);
-+ GPDR(GPIO_BAT1_LOW) &= ~GPIO_bit(GPIO_BAT1_LOW);
-+
-+ printk("SHARPSL_AC_LINE_STATUS=%x\n",SHARPSL_AC_LINE_STATUS);
-+
-+ /* Set transition detect */
-+ set_GPIO_IRQ_edge( GPIO_AC_IN , GPIO_BOTH_EDGES ); /* AC IN */
-+ set_GPIO_IRQ_edge( GPIO_JACKET_DETECT , GPIO_BOTH_EDGES );
-+#ifndef TOSA_BATTERY_SKIP
-+ set_GPIO_IRQ_edge( GPIO_BAT0_LOW , GPIO_FALLING_EDGE );
-+ set_GPIO_IRQ_edge( GPIO_BAT1_LOW , GPIO_FALLING_EDGE );
-+#endif
-+
-+ /* Register interrupt handler. */
-+ if ((err = request_irq(IRQ_GPIO_AC_IN, tosa_ac_interrupt,
-+ SA_INTERRUPT, "ACIN", tosa_ac_interrupt))) {
-+ printk("Could not get irq %d.\n", IRQ_GPIO_AC_IN);
-+ return;
-+ }
-+ if ((err = request_irq(IRQ_GPIO_JACKET_DETECT, tosa_jacket_interrupt,
-+ SA_INTERRUPT, "JACKET_DETECT", tosa_jacket_interrupt))) {
-+ printk("Could not get irq %d.\n", IRQ_GPIO_JACKET_DETECT);
-+ return;
-+ }
-+
-+#ifndef TOSA_BATTERY_SKIP
-+ if ((err = request_irq(IRQ_GPIO_BAT0_LOW, tosa_main_batt_fatal_interrupt,
-+ SA_INTERRUPT, "MAIN_FATAL", tosa_main_batt_fatal_interrupt))) {
-+ printk("Could not get irq %d.\n", IRQ_GPIO_BAT0_LOW);
-+ return;
-+ }
-+ disable_irq(IRQ_GPIO_BAT0_LOW);
-+
-+ if ((err = request_irq(IRQ_GPIO_BAT1_LOW, tosa_jacket_batt_fatal_interrupt,
-+ SA_INTERRUPT, "JACKET_FATAL", tosa_jacket_batt_fatal_interrupt))) {
-+ printk("Could not get irq %d.\n", IRQ_GPIO_BAT1_LOW);
-+ return;
-+ }
-+ disable_irq(IRQ_GPIO_BAT1_LOW);
-+#endif
-+
-+ /* regist to Misc driver */
-+ misc_register(&battery_device);
-+
-+ /* Make threads */
-+ kernel_thread(tosa_charge_on, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+ kernel_thread(tosa_charge_off, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+ kernel_thread(tosa_battery_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+ kernel_thread(tosa_fatal_check, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+ kernel_thread(tosa_jacket_check, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+
-+ tosa_get_jacket_status_for_on();
-+}
-+
-+
-+
-+#ifdef CONFIG_PROC_FS
-+struct proc_dir_entry *proc_batt;
-+
-+typedef struct sharpsl_battery_entry {
-+ int* addr;
-+ int def_value;
-+ char* name;
-+ char* description;
-+ unsigned short low_ino;
-+} sharpsl_battery_entry_t;
-+
-+static sharpsl_battery_entry_t sharpsl_battery_params[] = {
-+/* { addr, def_value, name, description }*/
-+ { &msglevel, 0, "msglevel", "debug message output level" },
-+ { &sharpsl_debug_flag , 0 , "dflag", "debug flag" },
-+ { &sharpsl_change_battery_status , 0 , "chg_status", "Change status" }
-+};
-+#define NUM_OF_BATTERY_ENTRY (sizeof(sharpsl_battery_params)/sizeof(sharpsl_battery_entry_t))
-+
-+static ssize_t sharpsl_battery_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ char outputbuf[15];
-+ int count;
-+ int i;
-+ sharpsl_battery_entry_t *current_param = NULL;
-+
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ for (i=0; i<NUM_OF_BATTERY_ENTRY; i++) {
-+ if (sharpsl_battery_params[i].low_ino==i_ino) {
-+ current_param = &sharpsl_battery_params[i];
-+ break;
-+ }
-+ }
-+ if (current_param==NULL) {
-+ return -EINVAL;
-+ }
-+ count = sprintf(outputbuf, "0x%08X\n",
-+ *((volatile Word *) current_param->addr));
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t sharpsl_battery_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ sharpsl_battery_entry_t *current_param = NULL;
-+ int i;
-+ unsigned long param;
-+ char *endp;
-+
-+ for (i=0; i<NUM_OF_BATTERY_ENTRY; i++) {
-+ if(sharpsl_battery_params[i].low_ino==i_ino) {
-+ current_param = &sharpsl_battery_params[i];
-+ break;
-+ }
-+ }
-+ if (current_param==NULL) {
-+ return -EINVAL;
-+ }
-+
-+ param = simple_strtoul(buf,&endp,0);
-+ if (param == -1) {
-+ *current_param->addr = current_param->def_value;
-+ } else {
-+ *current_param->addr = param;
-+ }
-+ return nbytes+endp-buf;
-+}
-+
-+static unsigned int sharpsl_battery_poll(struct file *fp, poll_table * wait)
-+{
-+ poll_wait(fp, &battery_waitqueue, wait);
-+ if ( sharpsl_change_battery_status ) {
-+ sharpsl_change_battery_status = 0;
-+ return POLLIN | POLLRDNORM;
-+ } else {
-+ return 0;
-+ }
-+}
-+
-+static struct file_operations proc_params_operations = {
-+ read: sharpsl_battery_read_params,
-+ write: sharpsl_battery_write_params,
-+ poll: sharpsl_battery_poll,
-+};
-+#endif
-+
-+int __init Sharpsl_battery_init(void)
-+{
-+#ifdef CONFIG_PM
-+ battery_pm_dev = pm_register(PM_SYS_DEV, 0, Sharpsl_battery_pm_callback);
-+#endif
-+
-+ battery_init();
-+
-+#ifdef CONFIG_PROC_FS
-+ {
-+ int i;
-+ struct proc_dir_entry *entry;
-+
-+ proc_batt = proc_mkdir("driver/battery", NULL);
-+ if (proc_batt == NULL) {
-+ free_irq(IRQ_GPIO_AC_IN, tosa_ac_interrupt);
-+ free_irq(IRQ_GPIO_JACKET_DETECT, tosa_jacket_interrupt);
-+#ifndef TOSA_BATTERY_SKIP
-+ free_irq(IRQ_GPIO_BAT0_LOW, tosa_main_batt_fatal_interrupt);
-+ free_irq(IRQ_GPIO_BAT1_LOW, tosa_jacket_batt_fatal_interrupt);
-+#endif
-+ misc_deregister(&battery_device);
-+ printk(KERN_ERR "can't create /proc/driver/battery\n");
-+ return -ENOMEM;
-+ }
-+ for (i=0; i<NUM_OF_BATTERY_ENTRY; i++) {
-+ entry = create_proc_entry(sharpsl_battery_params[i].name,
-+ S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH,
-+ proc_batt);
-+ if (entry) {
-+ sharpsl_battery_params[i].low_ino = entry->low_ino;
-+ entry->proc_fops = &proc_params_operations;
-+ } else {
-+ int j;
-+ for (j=0; j<i; j++) {
-+ remove_proc_entry(sharpsl_battery_params[i].name, proc_batt);
-+ }
-+ remove_proc_entry("driver/battery", &proc_root);
-+ proc_batt = 0;
-+ free_irq(IRQ_GPIO_AC_IN, tosa_ac_interrupt);
-+ free_irq(IRQ_GPIO_JACKET_DETECT, tosa_jacket_interrupt);
-+#ifndef TOSA_BATTERY_SKIP
-+ free_irq(IRQ_GPIO_BAT0_LOW, tosa_main_batt_fatal_interrupt);
-+ free_irq(IRQ_GPIO_BAT1_LOW, tosa_jacket_batt_fatal_interrupt);
-+#endif
-+ misc_deregister(&battery_device);
-+ printk(KERN_ERR "battery: can't create /proc/driver/battery\n");
-+ return -ENOMEM;
-+ }
-+ }
-+ }
-+#endif
-+ return 0;
-+}
-+
-+module_init(Sharpsl_battery_init);
-+
-+
-+
-+#ifdef MODULE
-+int init_module(void)
-+{
-+ Sharpsl_battery_init();
-+ return 0;
-+}
-+
-+void cleanup_module(void)
-+{
-+ free_irq(IRQ_GPIO_AC_IN, tosa_ac_interrupt);
-+ free_irq(IRQ_GPIO_JACKET_DETECT, tosa_jacket_interrupt);
-+#ifndef TOSA_BATTERY_SKIP
-+ free_irq(IRQ_GPIO_BAT0_LOW, tosa_main_batt_fatal_interrupt);
-+ free_irq(IRQ_GPIO_BAT1_LOW, tosa_jacket_batt_fatal_interrupt);
-+#endif
-+
-+#ifdef CONFIG_PROC_FS
-+ {
-+ int i;
-+ for (i=0; i<NUM_OF_BATTERY_ENTRY; i++) {
-+ remove_proc_entry(sharpsl_battery_params[i].name, proc_batt);
-+ }
-+ remove_proc_entry("driver/battery", NULL);
-+ proc_batt = 0;
-+ }
-+#endif
-+
-+ misc_deregister(&battery_device);
-+}
-+#endif /* MODULE */
-+
-diff -Nur linux_c860_org/arch/arm/mach-pxa/tosa_buzzer.c linux/arch/arm/mach-pxa/tosa_buzzer.c
---- linux_c860_org/arch/arm/mach-pxa/tosa_buzzer.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/arch/arm/mach-pxa/tosa_buzzer.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,279 @@
-+/*
-+ * arch/arm/mach-pxa/tosa_buzzer.c
-+ *
-+ * PXA buzzer ctrl for Tosa (SHARP)
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on collie_buzzer
-+ *
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * ChangeLog:
-+ * 16-Jan-2003 SHARP sleep_on -> interruptible_sleep_on
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
-+ */
-+#include <linux/module.h>
-+#include <linux/sched.h>
-+#include <linux/timer.h>
-+#include <linux/poll.h>
-+#include <linux/major.h>
-+#include <linux/config.h>
-+#include <linux/fcntl.h>
-+#include <linux/errno.h>
-+#include <linux/mm.h>
-+#include <linux/malloc.h>
-+#include <linux/sound.h>
-+#include <linux/init.h>
-+#include <linux/delay.h>
-+
-+#ifdef CONFIG_PM
-+#include <linux/pm.h>
-+#endif /* CONFIG_PM */
-+
-+#include <asm/system.h>
-+#include <asm/irq.h>
-+#include <asm/pgtable.h>
-+#include <asm/uaccess.h>
-+#include <asm/io.h>
-+#include <linux/soundcard.h>
-+#include <asm/proc/cache.h>
-+
-+#include <asm/sharp_char.h>
-+#include <asm/arch/tosa_wm9712.h>
-+
-+#undef DEBUG
-+//#define DEBUG
-+#ifdef DEBUG
-+#define DPRINTK( x... ) printk( ##x )
-+#else
-+#define DPRINTK( x... )
-+#endif
-+
-+/*** sound data *********************************************************/
-+#include "poodle_key.h"
-+#include "poodle_tap.h"
-+#include "poodle_alarm.h"
-+
-+/*** Some declarations ***********************************************/
-+static DECLARE_WAIT_QUEUE_HEAD(buzzer_proc);
-+static int now_playing = 0 ;
-+static int buzzer_soundid = 0;
-+static int repeat_sound = 0;
-+
-+
-+// following functions include tosa audio driver.
-+int audio_buzzer_write(const char *,int);
-+int audio_buzzer_intmode(const short *,int,int);
-+int audio_buzzer_release(void);
-+int audio_buzzer_open(int);
-+
-+/*** buzzer ******************************************************************/
-+int tosa_buz_buffer_init()
-+{
-+ return 0;
-+}
-+
-+int tosa_play_sound_by_id(int soundid,int volume)
-+{
-+
-+ switch( soundid ){
-+
-+ case SHARP_BUZ_TOUCHSOUND:
-+ if ( wm9712_busy() && !repeat_sound ) {
-+ } else {
-+ while (buzzer_soundid) schedule();
-+ buzzer_soundid = soundid;
-+ wake_up(&buzzer_proc);
-+ }
-+ break;
-+
-+ case SHARP_BUZ_KEYSOUND:
-+ if ( wm9712_busy() && !repeat_sound ) {
-+ } else {
-+ while (buzzer_soundid) schedule();
-+ buzzer_soundid = soundid;
-+ wake_up(&buzzer_proc);
-+ }
-+ break;
-+
-+ case SHARP_BUZ_SCHEDULE_ALARM:
-+ if ( wm9712_busy() ) {
-+ buzzer_soundid = soundid;
-+ wake_up(&buzzer_proc);
-+ } else {
-+ while (buzzer_soundid) schedule();
-+ buzzer_soundid = soundid;
-+ wake_up(&buzzer_proc);
-+ }
-+ break;
-+
-+ case SHARP_PDA_WARNSOUND:
-+ break;
-+
-+ case SHARP_BUZ_GOT_MAIL:
-+ case SHARP_BUZ_DAILY_ALARM:
-+ case SHARP_PDA_ERRORSOUND:
-+ case SHARP_PDA_CRITICALSOUND:
-+ break;
-+
-+ default:
-+ return -EINVAL;
-+ break;
-+ }
-+
-+ return 0;
-+}
-+int tosa_buzzer_supported(int which)
-+{
-+ switch( which ){
-+ case SHARP_BUZ_TOUCHSOUND:
-+ case SHARP_BUZ_KEYSOUND:
-+ case SHARP_BUZ_SCHEDULE_ALARM:
-+ case SHARP_BUZ_DAILY_ALARM:
-+ case SHARP_BUZ_GOT_MAIL:
-+ case SHARP_PDA_WARNSOUND:
-+ case SHARP_PDA_ERRORSOUND:
-+ case SHARP_PDA_CRITICALSOUND:
-+ break;
-+ default:
-+ return -EINVAL;
-+ break;
-+ }
-+ return 4;
-+}
-+
-+int tosa_play_sound_by_hz(unsigned int hz,unsigned int msecs,int volume)
-+{
-+ return 0;
-+}
-+
-+int current_freq;
-+static void change_freq( int new_freq )
-+{
-+ if (current_freq!=new_freq) {
-+ audio_buzzer_release();
-+ audio_buzzer_open(new_freq);
-+ current_freq = new_freq;
-+ }
-+}
-+
-+static void tosa_buzzer_thread(void)
-+{
-+ // daemonize();
-+ strcpy(current->comm, "buzzer");
-+ sigfillset(&current->blocked);
-+
-+ while(1) {
-+ if (buzzer_soundid==0) {
-+ //while(buzzer_soundid==0)
-+ interruptible_sleep_on(&buzzer_proc);
-+ } else {
-+ if (wm9712_busy()) {
-+ if (buzzer_soundid==SHARP_BUZ_SCHEDULE_ALARM) {
-+ //audio_buzzer_intmode(alarm_data,sizeof(alarm_data),44100);
-+ audio_buzzer_intmode(alarm_data,sizeof(alarm_data),8000);
-+ }
-+ buzzer_soundid=0;
-+ continue;
-+ }
-+ now_playing = 1;
-+ current_freq = key_freq;
-+ audio_buzzer_open(current_freq);
-+ while ( buzzer_soundid!=0 ) {
-+ int tmpid = buzzer_soundid;
-+ buzzer_soundid=0;
-+
-+ switch( tmpid ) {
-+
-+ case SHARP_BUZ_TOUCHSOUND:
-+ repeat_sound = 1;
-+ change_freq(tap_freq);
-+ audio_buzzer_write(tap_data, sizeof(tap_data));
-+ audio_buzzer_sync();
-+ break;
-+
-+ case SHARP_BUZ_KEYSOUND:
-+ repeat_sound = 1;
-+ change_freq(key_freq);
-+ audio_buzzer_write(key_data, sizeof(key_data));
-+ audio_buzzer_sync();
-+ break;
-+
-+ case SHARP_BUZ_SCHEDULE_ALARM:
-+ {
-+ int alarm_data_size = sizeof(alarm_data);
-+ unsigned char *alarm_data0 = alarm_data;
-+ int cnt;
-+
-+ repeat_sound = 0;
-+ //change_freq(44100);
-+ change_freq(8000);
-+ while(1) {
-+ cnt = audio_buzzer_write(alarm_data0,alarm_data_size);
-+ audio_buzzer_sync();
-+ if ( cnt <= 0 ) break;
-+ alarm_data_size -= cnt;
-+ alarm_data0 += cnt;
-+ }
-+ break;
-+ }
-+
-+ case SHARP_PDA_WARNSOUND:
-+ case SHARP_BUZ_GOT_MAIL:
-+ case SHARP_BUZ_DAILY_ALARM:
-+ case SHARP_PDA_ERRORSOUND:
-+ case SHARP_PDA_CRITICALSOUND:
-+ repeat_sound = 0;
-+ break;
-+
-+ default:
-+ repeat_sound = 0;
-+ break;
-+ } // switch
-+ } // while loop
-+ audio_buzzer_release();
-+ repeat_sound = 0;
-+ now_playing = 0;
-+ }
-+ } // while(1) loop
-+}
-+
-+
-+int tosa_buzzer_dev_init(void)
-+{
-+ kernel_thread(tosa_buzzer_thread, NULL,
-+ CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+ return 0;
-+}
-+
-+int tosa_suspend_buzzer(void)
-+{
-+#if 0
-+ printk("tosa_suspend_buzzer\n");
-+ while ( now_playing ) {
-+ schedule();
-+ }
-+#endif
-+ return 0;
-+}
-+
-+int tosa_resume_buzzer(void)
-+{
-+ return 0;
-+}
-+
-+void tosa_stop_sound()
-+{
-+ return;
-+}
-diff -Nur linux_c860_org/arch/arm/mm/fault-armv.c linux/arch/arm/mm/fault-armv.c
---- linux_c860_org/arch/arm/mm/fault-armv.c 2003-06-18 16:12:26.000000000 +0900
-+++ linux/arch/arm/mm/fault-armv.c 2004-06-10 21:09:10.000000000 +0900
-@@ -11,6 +11,7 @@
- * Change Log
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
- * 04-Apr-2003 Sharp for ARM FCSE
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- *
- */
- #include <linux/config.h>
-@@ -126,12 +127,14 @@
- }
- #endif
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+#ifdef CONFIG_PM
- {
- extern sharpsl_fataloff(void);
- sharpsl_fataloff();
- }
- #endif
-+#endif
-
- if (!inf->fn(addr, error_code, regs))
- return;
-diff -Nur linux_c860_org/arch/arm/mm/proc-xscale.S linux/arch/arm/mm/proc-xscale.S
---- linux_c860_org/arch/arm/mm/proc-xscale.S 2003-10-15 16:42:00.000000000 +0900
-+++ linux/arch/arm/mm/proc-xscale.S 2004-06-10 21:09:10.000000000 +0900
-@@ -25,6 +25,7 @@
- * 20-Mar-2003 SHARP supported PXA255
- * 04-Apr-2003 Sharp for ARM FCSE
- * 15-Oct-2003 Sharp fix icache flush
-+ * 16-Jul-2003 Sharp Corporation
- */
-
- #include <linux/config.h>
-diff -Nur linux_c860_org/arch/arm/tools/getconstants.c linux/arch/arm/tools/getconstants.c
---- linux_c860_org/arch/arm/tools/getconstants.c 2002-08-26 14:39:51.000000000 +0900
-+++ linux/arch/arm/tools/getconstants.c 2004-06-10 21:09:10.000000000 +0900
-@@ -13,6 +13,7 @@
-
- #include <asm/pgtable.h>
- #include <asm/uaccess.h>
-+#include <asm/hardirq.h>
-
- /*
- * Make sure that the compiler and target are compatible.
-@@ -39,6 +40,11 @@
- DEFN("TSS_SAVE", OFF_TSK(thread.save));
- DEFN("TSS_FPESAVE", OFF_TSK(thread.fpstate.soft.save));
-
-+#ifdef CONFIG_PREEMPT
-+DEFN("TSK_PREEMPT", OFF_TSK(preempt_count));
-+DEFN("IRQSTAT_BH_COUNT", (unsigned long)&(((irq_cpustat_t *)0)->__local_bh_count));
-+#endif
-+
- #ifdef CONFIG_CPU_32
- DEFN("TSS_DOMAIN", OFF_TSK(thread.domain));
-
-diff -Nur linux_c860_org/arch/arm/tools/mach-types linux/arch/arm/tools/mach-types
---- linux_c860_org/arch/arm/tools/mach-types 2002-08-29 12:27:22.000000000 +0900
-+++ linux/arch/arm/tools/mach-types 2004-06-10 21:09:10.000000000 +0900
-@@ -205,3 +205,4 @@
- discovery SABINAL_DISCOVERY DISCOVERY 194
- poodle ARCH_PXA_POODLE POODLE 195
- corgi ARCH_PXA_CORGI CORGI 196
-+tosa ARCH_PXA_TOSA TOSA 197
-diff -Nur linux_c860_org/arch/cris/drivers/ds1302.c linux/arch/cris/drivers/ds1302.c
---- linux_c860_org/arch/cris/drivers/ds1302.c 2002-08-26 14:39:59.000000000 +0900
-+++ linux/arch/cris/drivers/ds1302.c 2004-06-10 21:09:10.000000000 +0900
-@@ -357,6 +357,7 @@
- {
- struct rtc_time rtc_tm;
-
-+ memset(&rtc_tm, 0, sizeof (struct rtc_time));
- get_rtc_time(&rtc_tm);
- if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
- return -EFAULT;
-diff -Nur linux_c860_org/arch/i386/config.in linux/arch/i386/config.in
---- linux_c860_org/arch/i386/config.in 2002-08-26 14:45:20.000000000 +0900
-+++ linux/arch/i386/config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -186,6 +186,10 @@
- bool 'Math emulation' CONFIG_MATH_EMULATION
- bool 'MTRR (Memory Type Range Register) support' CONFIG_MTRR
- bool 'Symmetric multi-processing support' CONFIG_SMP
-+bool 'Preemptible Kernel' CONFIG_PREEMPT
-+if [ "$CONFIG_PREEMPT" = "y" ]; then
-+ bool 'Break selected locks' CONFIG_LOCK_BREAK
-+fi
- if [ "$CONFIG_SMP" != "y" ]; then
- bool 'Local APIC support on uniprocessors' CONFIG_X86_UP_APIC
- dep_bool 'IO-APIC support on uniprocessors' CONFIG_X86_UP_IOAPIC $CONFIG_X86_UP_APIC
-@@ -199,9 +203,12 @@
- bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
- fi
-
--if [ "$CONFIG_SMP" = "y" -a "$CONFIG_X86_CMPXCHG" = "y" ]; then
-- define_bool CONFIG_HAVE_DEC_LOCK y
-+if [ "$CONFIG_SMP" = "y" -o "$CONFIG_PREEMPT" = "y" ]; then
-+ if [ "$CONFIG_X86_CMPXCHG" = "y" ]; then
-+ define_bool CONFIG_HAVE_DEC_LOCK y
-+ fi
- fi
-+
- endmenu
-
- mainmenu_option next_comment
-diff -Nur linux_c860_org/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
---- linux_c860_org/arch/i386/kernel/entry.S 2002-08-26 14:39:33.000000000 +0900
-+++ linux/arch/i386/kernel/entry.S 2004-06-10 21:09:10.000000000 +0900
-@@ -71,7 +71,7 @@
- * these are offsets into the task-struct.
- */
- state = 0
--flags = 4
-+preempt_count = 4
- sigpending = 8
- addr_limit = 12
- exec_domain = 16
-@@ -79,8 +79,28 @@
- tsk_ptrace = 24
- processor = 52
-
-+/* These are offsets into the irq_stat structure
-+ * There is one per cpu and it is aligned to 32
-+ * byte boundry (we put that here as a shift count)
-+ */
-+irq_array_shift = CONFIG_X86_L1_CACHE_SHIFT
-+
-+irq_stat_local_irq_count = 4
-+irq_stat_local_bh_count = 8
-+
- ENOSYS = 38
-
-+#ifdef CONFIG_SMP
-+#define GET_CPU_INDX movl processor(%ebx),%eax; \
-+ shll $irq_array_shift,%eax
-+#define GET_CURRENT_CPU_INDX GET_CURRENT(%ebx); \
-+ GET_CPU_INDX
-+#define CPU_INDX (,%eax)
-+#else
-+#define GET_CPU_INDX
-+#define GET_CURRENT_CPU_INDX GET_CURRENT(%ebx)
-+#define CPU_INDX
-+#endif
-
- #define SAVE_ALL \
- cld; \
-@@ -247,12 +267,30 @@
- ALIGN
- ENTRY(ret_from_intr)
- GET_CURRENT(%ebx)
-+#ifdef CONFIG_PREEMPT
-+ cli
-+ decl preempt_count(%ebx)
-+#endif
- ret_from_exception:
- movl EFLAGS(%esp),%eax # mix EFLAGS and CS
- movb CS(%esp),%al
- testl $(VM_MASK | 3),%eax # return to VM86 mode or non-supervisor?
- jne ret_from_sys_call
-+#ifdef CONFIG_PREEMPT
-+ cmpl $0,preempt_count(%ebx)
-+ jnz restore_all
-+ cmpl $0,need_resched(%ebx)
-+ jz restore_all
-+ movl SYMBOL_NAME(irq_stat)+irq_stat_local_bh_count CPU_INDX,%ecx
-+ addl SYMBOL_NAME(irq_stat)+irq_stat_local_irq_count CPU_INDX,%ecx
-+ jnz restore_all
-+ incl preempt_count(%ebx)
-+ sti
-+ call SYMBOL_NAME(preempt_schedule)
-+ jmp ret_from_intr
-+#else
- jmp restore_all
-+#endif
-
- ALIGN
- reschedule:
-@@ -289,6 +327,9 @@
- GET_CURRENT(%ebx)
- call *%edi
- addl $8,%esp
-+#ifdef CONFIG_PREEMPT
-+ cli
-+#endif
- jmp ret_from_exception
-
- ENTRY(coprocessor_error)
-@@ -308,12 +349,18 @@
- movl %cr0,%eax
- testl $0x4,%eax # EM (math emulation bit)
- jne device_not_available_emulate
-+#ifdef CONFIG_PREEMPT
-+ cli
-+#endif
- call SYMBOL_NAME(math_state_restore)
- jmp ret_from_exception
- device_not_available_emulate:
- pushl $0 # temporary storage for ORIG_EIP
- call SYMBOL_NAME(math_emulate)
- addl $4,%esp
-+#ifdef CONFIG_PREEMPT
-+ cli
-+#endif
- jmp ret_from_exception
-
- ENTRY(debug)
-diff -Nur linux_c860_org/arch/i386/kernel/i387.c linux/arch/i386/kernel/i387.c
---- linux_c860_org/arch/i386/kernel/i387.c 2002-08-26 14:39:33.000000000 +0900
-+++ linux/arch/i386/kernel/i387.c 2004-06-10 21:09:10.000000000 +0900
-@@ -10,6 +10,7 @@
-
- #include <linux/config.h>
- #include <linux/sched.h>
-+#include <linux/spinlock.h>
- #include <asm/processor.h>
- #include <asm/i387.h>
- #include <asm/math_emu.h>
-@@ -65,6 +66,8 @@
- {
- struct task_struct *tsk = current;
-
-+ preempt_disable();
-+
- if (tsk->flags & PF_USEDFPU) {
- __save_init_fpu(tsk);
- return;
-diff -Nur linux_c860_org/arch/i386/kernel/process.c linux/arch/i386/kernel/process.c
---- linux_c860_org/arch/i386/kernel/process.c 2002-08-26 14:39:33.000000000 +0900
-+++ linux/arch/i386/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -485,7 +485,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval, d0;
-
-@@ -508,6 +508,7 @@
- "r" (arg), "r" (fn),
- "b" (flags | CLONE_VM)
- : "memory");
-+
- return retval;
- }
-
-diff -Nur linux_c860_org/arch/i386/kernel/smp.c linux/arch/i386/kernel/smp.c
---- linux_c860_org/arch/i386/kernel/smp.c 2002-08-26 14:39:33.000000000 +0900
-+++ linux/arch/i386/kernel/smp.c 2004-06-10 21:09:10.000000000 +0900
-@@ -354,10 +354,13 @@
-
- asmlinkage void smp_invalidate_interrupt (void)
- {
-- unsigned long cpu = smp_processor_id();
-+ unsigned long cpu;
-+
-+ preempt_disable();
-
-+ cpu = smp_processor_id();
- if (!test_bit(cpu, &flush_cpumask))
-- return;
-+ goto out;
- /*
- * This was a BUG() but until someone can quote me the
- * line from the intel manual that guarantees an IPI to
-@@ -378,6 +381,8 @@
- }
- ack_APIC_irq();
- clear_bit(cpu, &flush_cpumask);
-+out:
-+ preempt_enable();
- }
-
- static void flush_tlb_others (unsigned long cpumask, struct mm_struct *mm,
-@@ -427,17 +432,22 @@
- void flush_tlb_current_task(void)
- {
- struct mm_struct *mm = current->mm;
-- unsigned long cpu_mask = mm->cpu_vm_mask & ~(1 << smp_processor_id());
-+ unsigned long cpu_mask;
-
-+ preempt_disable();
-+ cpu_mask = mm->cpu_vm_mask & ~(1UL << smp_processor_id());
- local_flush_tlb();
- if (cpu_mask)
- flush_tlb_others(cpu_mask, mm, FLUSH_ALL);
-+ preempt_enable();
- }
-
- void flush_tlb_mm (struct mm_struct * mm)
- {
-- unsigned long cpu_mask = mm->cpu_vm_mask & ~(1 << smp_processor_id());
-+ unsigned long cpu_mask;
-
-+ preempt_disable();
-+ cpu_mask = mm->cpu_vm_mask & ~(1UL << smp_processor_id());
- if (current->active_mm == mm) {
- if (current->mm)
- local_flush_tlb();
-@@ -446,13 +456,16 @@
- }
- if (cpu_mask)
- flush_tlb_others(cpu_mask, mm, FLUSH_ALL);
-+ preempt_enable();
- }
-
- void flush_tlb_page(struct vm_area_struct * vma, unsigned long va)
- {
- struct mm_struct *mm = vma->vm_mm;
-- unsigned long cpu_mask = mm->cpu_vm_mask & ~(1 << smp_processor_id());
-+ unsigned long cpu_mask;
-
-+ preempt_disable();
-+ cpu_mask = mm->cpu_vm_mask & ~(1UL << smp_processor_id());
- if (current->active_mm == mm) {
- if(current->mm)
- __flush_tlb_one(va);
-@@ -462,6 +475,7 @@
-
- if (cpu_mask)
- flush_tlb_others(cpu_mask, mm, va);
-+ preempt_enable();
- }
-
- static inline void do_flush_tlb_all_local(void)
-diff -Nur linux_c860_org/arch/i386/kernel/traps.c linux/arch/i386/kernel/traps.c
---- linux_c860_org/arch/i386/kernel/traps.c 2002-08-26 14:39:33.000000000 +0900
-+++ linux/arch/i386/kernel/traps.c 2004-06-10 21:09:10.000000000 +0900
-@@ -694,6 +694,8 @@
- *
- * Careful.. There are problems with IBM-designed IRQ13 behaviour.
- * Don't touch unless you *really* know how it works.
-+ *
-+ * Must be called with kernel preemption disabled.
- */
- asmlinkage void math_state_restore(struct pt_regs regs)
- {
-diff -Nur linux_c860_org/arch/i386/lib/dec_and_lock.c linux/arch/i386/lib/dec_and_lock.c
---- linux_c860_org/arch/i386/lib/dec_and_lock.c 2002-08-26 14:39:33.000000000 +0900
-+++ linux/arch/i386/lib/dec_and_lock.c 2004-06-10 21:09:10.000000000 +0900
-@@ -8,6 +8,7 @@
- */
-
- #include <linux/spinlock.h>
-+#include <linux/sched.h>
- #include <asm/atomic.h>
-
- int atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock)
-diff -Nur linux_c860_org/arch/ia64/kernel/process.c linux/arch/ia64/kernel/process.c
---- linux_c860_org/arch/ia64/kernel/process.c 2002-08-26 14:39:53.000000000 +0900
-+++ linux/arch/ia64/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -182,7 +182,7 @@
- * | | <-- sp (lowest addr)
- * +---------------------+
- *
-- * Note: if we get called through kernel_thread() then the memory
-+ * Note: if we get called through arch_kernel_thread() then the memory
- * above "(highest addr)" is valid kernel stack memory that needs to
- * be copied as well.
- *
-@@ -415,7 +415,7 @@
- }
-
- pid_t
--kernel_thread (int (*fn)(void *), void *arg, unsigned long flags)
-+arch_kernel_thread (int (*fn)(void *), void *arg, unsigned long flags)
- {
- struct task_struct *parent = current;
- int result, tid;
-diff -Nur linux_c860_org/arch/m68k/bvme6000/rtc.c linux/arch/m68k/bvme6000/rtc.c
---- linux_c860_org/arch/m68k/bvme6000/rtc.c 2002-08-26 14:39:46.000000000 +0900
-+++ linux/arch/m68k/bvme6000/rtc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -54,6 +54,7 @@
- /* Ensure clock and real-time-mode-register are accessible */
- msr = rtc->msr & 0xc0;
- rtc->msr = 0x40;
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- do {
- wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
- wtime.tm_min = BCD2BIN(rtc->bcd_min);
-diff -Nur linux_c860_org/arch/m68k/kernel/process.c linux/arch/m68k/kernel/process.c
---- linux_c860_org/arch/m68k/kernel/process.c 2002-08-26 14:39:45.000000000 +0900
-+++ linux/arch/m68k/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -124,7 +124,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- int pid;
- mm_segment_t fs;
-diff -Nur linux_c860_org/arch/m68k/mvme16x/rtc.c linux/arch/m68k/mvme16x/rtc.c
---- linux_c860_org/arch/m68k/mvme16x/rtc.c 2002-08-26 14:39:47.000000000 +0900
-+++ linux/arch/m68k/mvme16x/rtc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -52,6 +52,7 @@
- cli();
- /* Ensure clock and real-time-mode-register are accessible */
- rtc->ctrl = RTC_READ;
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
- wtime.tm_min = BCD2BIN(rtc->bcd_min);
- wtime.tm_hour = BCD2BIN(rtc->bcd_hr);
-diff -Nur linux_c860_org/arch/mips/kernel/process.c linux/arch/mips/kernel/process.c
---- linux_c860_org/arch/mips/kernel/process.c 2002-08-26 14:39:37.000000000 +0900
-+++ linux/arch/mips/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -154,7 +154,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval;
-
-diff -Nur linux_c860_org/arch/mips64/kernel/process.c linux/arch/mips64/kernel/process.c
---- linux_c860_org/arch/mips64/kernel/process.c 2002-08-26 14:39:55.000000000 +0900
-+++ linux/arch/mips64/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -150,7 +150,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
- {
- int retval;
-
-diff -Nur linux_c860_org/arch/parisc/kernel/process.c linux/arch/parisc/kernel/process.c
---- linux_c860_org/arch/parisc/kernel/process.c 2002-08-26 14:39:58.000000000 +0900
-+++ linux/arch/parisc/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -118,7 +118,7 @@
- */
-
- extern pid_t __kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
--pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
- {
-
- /*
-diff -Nur linux_c860_org/arch/ppc/kernel/misc.S linux/arch/ppc/kernel/misc.S
---- linux_c860_org/arch/ppc/kernel/misc.S 2002-08-26 14:39:39.000000000 +0900
-+++ linux/arch/ppc/kernel/misc.S 2004-06-10 21:09:10.000000000 +0900
-@@ -860,9 +860,9 @@
-
- /*
- * Create a kernel thread
-- * kernel_thread(fn, arg, flags)
-+ * arch_kernel_thread(fn, arg, flags)
- */
--_GLOBAL(kernel_thread)
-+_GLOBAL(arch_kernel_thread)
- mr r6,r3 /* function */
- ori r3,r5,CLONE_VM /* flags */
- li r0,__NR_clone
-diff -Nur linux_c860_org/arch/s390/kernel/process.c linux/arch/s390/kernel/process.c
---- linux_c860_org/arch/s390/kernel/process.c 2002-08-26 14:39:56.000000000 +0900
-+++ linux/arch/s390/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -93,7 +93,7 @@
- show_trace((unsigned long *) regs->gprs[15]);
- }
-
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- int clone_arg = flags | CLONE_VM;
- int retval;
-diff -Nur linux_c860_org/arch/s390x/kernel/process.c linux/arch/s390x/kernel/process.c
---- linux_c860_org/arch/s390x/kernel/process.c 2002-08-26 14:39:59.000000000 +0900
-+++ linux/arch/s390x/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -93,7 +93,7 @@
- show_trace((unsigned long *) regs->gprs[15]);
- }
-
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- int clone_arg = flags | CLONE_VM;
- int retval;
-diff -Nur linux_c860_org/arch/sh/config.in linux/arch/sh/config.in
---- linux_c860_org/arch/sh/config.in 2002-08-26 14:45:40.000000000 +0900
-+++ linux/arch/sh/config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -125,6 +125,8 @@
- hex 'Physical memory start address' CONFIG_MEMORY_START 08000000
- hex 'Physical memory size' CONFIG_MEMORY_SIZE 00400000
- fi
-+bool 'Preemptible Kernel' CONFIG_PREEMPT
-+dep_bool 'Break selected locks' CONFIG_LOCK_BREAK $CONFIG_PREEMPT
- endmenu
-
- if [ "$CONFIG_SH_HP690" = "y" ]; then
-diff -Nur linux_c860_org/arch/sh/kernel/entry.S linux/arch/sh/kernel/entry.S
---- linux_c860_org/arch/sh/kernel/entry.S 2002-08-26 14:39:52.000000000 +0900
-+++ linux/arch/sh/kernel/entry.S 2004-06-10 21:09:10.000000000 +0900
-@@ -60,10 +60,18 @@
- /*
- * These are offsets into the task-struct.
- */
--flags = 4
-+preempt_count = 4
- sigpending = 8
- need_resched = 20
- tsk_ptrace = 24
-+flags = 84
-+
-+/*
-+ * These offsets are into irq_stat.
-+ * (Find irq_cpustat_t in asm-sh/hardirq.h)
-+ */
-+local_irq_count = 8
-+local_bh_count = 12
-
- PT_TRACESYS = 0x00000002
- PF_USEDFPU = 0x00100000
-@@ -143,7 +151,7 @@
- mov.l __INV_IMASK, r11; \
- stc sr, r10; \
- and r11, r10; \
-- stc k_g_imask, r11; \
-+ stc k_g_imask, r11; \
- or r11, r10; \
- ldc r10, sr
-
-@@ -304,8 +312,8 @@
- mov.l @(tsk_ptrace,r0), r0 ! Is current PTRACE_SYSCALL'd?
- mov #PT_TRACESYS, r1
- tst r1, r0
-- bt ret_from_syscall
-- bra syscall_ret_trace
-+ bf syscall_ret_trace
-+ bra ret_from_syscall
- nop
-
- .align 2
-@@ -505,8 +513,6 @@
- .long syscall_ret_trace
- __syscall_ret:
- .long syscall_ret
--__INV_IMASK:
-- .long 0xffffff0f ! ~(IMASK)
-
-
- .align 2
-@@ -518,7 +524,84 @@
- .align 2
- 1: .long SYMBOL_NAME(schedule)
-
-+#ifdef CONFIG_PREEMPT
-+ !
-+ ! Returning from interrupt during kernel mode: check if
-+ ! preempt_schedule should be called. If need_resched flag
-+ ! is set, preempt_count is zero, and we're not currently
-+ ! in an interrupt handler (local irq or bottom half) then
-+ ! call preempt_schedule.
-+ !
-+ ! Increment preempt_count to prevent a nested interrupt
-+ ! from reentering preempt_schedule, then decrement after
-+ ! and drop through to regular interrupt return which will
-+ ! jump back and check again in case such an interrupt did
-+ ! come in (and didn't preempt due to preempt_count).
-+ !
-+ ! NOTE: because we just checked that preempt_count was
-+ ! zero before getting to the call, can't we use immediate
-+ ! values (1 and 0) rather than inc/dec? Also, rather than
-+ ! drop through to ret_from_irq, we already know this thread
-+ ! is kernel mode, can't we go direct to ret_from_kirq? In
-+ ! fact, with proper interrupt nesting and so forth could
-+ ! the loop simply be on the need_resched w/o checking the
-+ ! other stuff again? Optimize later...
-+ !
-+ .align 2
-+ret_from_kirq:
-+ ! Nonzero preempt_count prevents scheduling
-+ stc k_current, r1
-+ mov.l @(preempt_count,r1), r0
-+ cmp/eq #0, r0
-+ bf restore_all
-+ ! Zero need_resched prevents scheduling
-+ mov.l @(need_resched,r1), r0
-+ cmp/eq #0, r0
-+ bt restore_all
-+ ! If in_interrupt(), don't schedule
-+ mov.l __irq_stat, r1
-+ mov.l @(local_irq_count,r1), r0
-+ mov.l @(local_bh_count,r1), r1
-+ or r1, r0
-+ cmp/eq #0, r0
-+ bf restore_all
-+ ! Allow scheduling using preempt_schedule
-+ ! Adjust preempt_count and SR as needed.
-+ stc k_current, r1
-+ mov.l @(preempt_count,r1), r0 ! Could replace this ...
-+ add #1, r0 ! ... and this w/mov #1?
-+ mov.l r0, @(preempt_count,r1)
-+ STI()
-+ mov.l __preempt_schedule, r0
-+ jsr @r0
-+ nop
-+ /* CLI */
-+ stc sr, r0
-+ or #0xf0, r0
-+ ldc r0, sr
-+ !
-+ stc k_current, r1
-+ mov.l @(preempt_count,r1), r0 ! Could replace this ...
-+ add #-1, r0 ! ... and this w/mov #0?
-+ mov.l r0, @(preempt_count,r1)
-+ ! Maybe should bra ret_from_kirq, or loop over need_resched?
-+ ! For now, fall through to ret_from_irq again...
-+#endif /* CONFIG_PREEMPT */
-+
- ret_from_irq:
-+ mov #OFF_SR, r0
-+ mov.l @(r0,r15), r0 ! get status register
-+ shll r0
-+ shll r0 ! kernel space?
-+#ifndef CONFIG_PREEMPT
-+ bt restore_all ! Yes, it's from kernel, go back soon
-+#else /* CONFIG_PREEMPT */
-+ bt ret_from_kirq ! From kernel: maybe preempt_schedule
-+#endif /* CONFIG_PREEMPT */
-+ !
-+ bra ret_from_syscall
-+ nop
-+
- ret_from_exception:
- mov #OFF_SR, r0
- mov.l @(r0,r15), r0 ! get status register
-@@ -564,6 +647,13 @@
- .long SYMBOL_NAME(do_signal)
- __irq_stat:
- .long SYMBOL_NAME(irq_stat)
-+#ifdef CONFIG_PREEMPT
-+__preempt_schedule:
-+ .long SYMBOL_NAME(preempt_schedule)
-+#endif /* CONFIG_PREEMPT */
-+__INV_IMASK:
-+ .long 0xffffff0f ! ~(IMASK)
-+
-
- .align 2
- restore_all:
-@@ -679,7 +769,7 @@
- __fpu_prepare_fd:
- .long SYMBOL_NAME(fpu_prepare_fd)
- __init_task_flags:
-- .long SYMBOL_NAME(init_task_union)+4
-+ .long SYMBOL_NAME(init_task_union)+flags
- __PF_USEDFPU:
- .long PF_USEDFPU
- #endif
-diff -Nur linux_c860_org/arch/sh/kernel/irq.c linux/arch/sh/kernel/irq.c
---- linux_c860_org/arch/sh/kernel/irq.c 2002-08-26 14:39:52.000000000 +0900
-+++ linux/arch/sh/kernel/irq.c 2004-06-10 21:09:10.000000000 +0900
-@@ -229,6 +229,14 @@
- struct irqaction * action;
- unsigned int status;
-
-+ /*
-+ * At this point we're now about to actually call handlers,
-+ * and interrupts might get reenabled during them... bump
-+ * preempt_count to prevent any preemption while the handler
-+ * called here is pending...
-+ */
-+ preempt_disable();
-+
- /* Get IRQ number */
- asm volatile("stc r2_bank, %0\n\t"
- "shlr2 %0\n\t"
-@@ -298,8 +306,17 @@
- desc->handler->end(irq);
- spin_unlock(&desc->lock);
-
-+
- if (softirq_pending(cpu))
- do_softirq();
-+
-+ /*
-+ * We're done with the handlers, interrupts should be
-+ * currently disabled; decrement preempt_count now so
-+ * as we return preemption may be allowed...
-+ */
-+ preempt_enable_no_resched();
-+
- return 1;
- }
-
-diff -Nur linux_c860_org/arch/sh/kernel/process.c linux/arch/sh/kernel/process.c
---- linux_c860_org/arch/sh/kernel/process.c 2002-08-26 14:39:52.000000000 +0900
-+++ linux/arch/sh/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -118,7 +118,7 @@
- * This is the mechanism for creating a new kernel thread.
- *
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- { /* Don't use this in BL=1(cli). Or else, CPU resets! */
- register unsigned long __sc0 __asm__ ("r0");
- register unsigned long __sc3 __asm__ ("r3") = __NR_clone;
-diff -Nur linux_c860_org/arch/sparc/kernel/process.c linux/arch/sparc/kernel/process.c
---- linux_c860_org/arch/sparc/kernel/process.c 2002-08-26 14:39:35.000000000 +0900
-+++ linux/arch/sparc/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -657,7 +657,7 @@
- * a system call from a "real" process, but the process memory space will
- * not be free'd until both the parent and the child have exited.
- */
--pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval;
-
-diff -Nur linux_c860_org/arch/sparc64/kernel/process.c linux/arch/sparc64/kernel/process.c
---- linux_c860_org/arch/sparc64/kernel/process.c 2002-08-26 14:39:47.000000000 +0900
-+++ linux/arch/sparc64/kernel/process.c 2004-06-10 21:09:10.000000000 +0900
-@@ -661,7 +661,7 @@
- * a system call from a "real" process, but the process memory space will
- * not be free'd until both the parent and the child have exited.
- */
--pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval;
-
-diff -Nur linux_c860_org/drivers/acorn/char/i2c.c linux/drivers/acorn/char/i2c.c
---- linux_c860_org/drivers/acorn/char/i2c.c 2002-08-26 14:45:01.000000000 +0900
-+++ linux/drivers/acorn/char/i2c.c 2004-06-10 21:09:10.000000000 +0900
-@@ -166,6 +166,7 @@
- break;
-
- case RTC_RD_TIME:
-+ memset(&rtctm, 0, sizeof(struct rtc_time));
- get_rtc_time(&rtc_raw, &year);
- rtctm.tm_sec = rtc_raw.secs;
- rtctm.tm_min = rtc_raw.mins;
-diff -Nur linux_c860_org/drivers/block/Config.in linux/drivers/block/Config.in
---- linux_c860_org/drivers/block/Config.in 2003-11-07 11:46:57.000000000 +0900
-+++ linux/drivers/block/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -37,7 +37,6 @@
- dep_tristate 'Compaq Smart Array 5xxx support' CONFIG_BLK_CPQ_CISS_DA $CONFIG_PCI
- dep_tristate 'Mylex DAC960/DAC1100 PCI RAID Controller support' CONFIG_BLK_DEV_DAC960 $CONFIG_PCI
-
--
- tristate 'Loopback device support' CONFIG_BLK_DEV_LOOP
- dep_tristate 'Network block device support' CONFIG_BLK_DEV_NBD $CONFIG_NET
-
-diff -Nur linux_c860_org/drivers/char/Config.in linux/drivers/char/Config.in
---- linux_c860_org/drivers/char/Config.in 2002-08-29 12:25:54.000000000 +0900
-+++ linux/drivers/char/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -17,10 +17,26 @@
- fi
- if [ "$CONFIG_SABINAL_DISCOVERY" = "y" -o \
- "$CONFIG_ARCH_PXA_POODLE" = "y" -o \
-- "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then
-+ "$CONFIG_ARCH_PXA_CORGI" = "y" -o \
-+ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then
- bool ' SL-series serial port support' CONFIG_SERIAL_SL_SERIES
- fi
-+ if [ "$CONFIG_SABINAL_DISCOVERY" = "y" -o \
-+ "$CONFIG_ARCH_PXA_POODLE" = "y" -o \
-+ "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then
-+ bool ' SL-series touchscreen pressure value read (EXPERIMENTAL)' CONFIG_SL_TS_PRESSURE
-+ dep_bool ' Boot On touchscreen pressure value read' CONFIG_BOOT_PRESSURE_ON $CONFIG_SL_TS_PRESSURE
-+ bool ' SL-C Series power key suspend (EXPERIMENTAL)' CONFIG_SL7X0_POWER_KEY_OFF
-+ dep_bool ' Boot On power key suspend' CONFIG_BOOT_POWER_KEY_OFF $CONFIG_SL7X0_POWER_KEY_OFF
-+ bool ' SL-C Series 3 Button touch screen (EXPERIMENTAL)' CONFIG_SL_3BUTTON_PATCH
-+ dep_bool ' Boot On 3 Button touch screen' CONFIG_BOOT_3BUTTON_PATCH_ON $CONFIG_SL_3BUTTON_PATCH
-+ bool ' SL-series write ts data (EXPERIMENTAL)' CONFIG_SL_WRITE_TS
-+ fi
-+ if [ "$CONFIG_SERIAL_SL_SERIES" = "y" ]; then
-+ bool ' SL-series Bluetooth support' CONFIG_BLUETOOTH_SL
-+ fi
- fi
-+bool 'Use Keyboard device file (EXPERIMENTAL)' CONFIG_KBD_DEV_FILE
- if [ "$CONFIG_SA1100_COLLIE" = "y" ]; then
- bool 'COLLIE serial port support' CONFIG_SERIAL_COLLIE
- dep_bool ' Console on COLLIE serial port' CONFIG_SERIAL_COLLIE_CONSOLE $CONFIG_SERIAL_COLLIE
-@@ -216,6 +232,7 @@
- if [ "$CONFIG_ARCH_SHARP_SL" = "y" ]; then
- tristate 'Cotulla Real Time Clock' CONFIG_COTULLA_RTC
- tristate 'ADS7846 Touch Pannel' CONFIG_ADS7846_TS
-+ tristate 'Tosa Touch Pannel' CONFIG_TOSA_TS
- fi
- if [ "$CONFIG_SABINAL_DISCOVERY" = "y" ]; then
- tristate 'Discovery LED ' CONFIG_DISCOVERY_LED $(CONFIG_SABINAL_DISCOVERY)
-diff -Nur linux_c860_org/drivers/char/Makefile linux/drivers/char/Makefile
---- linux_c860_org/drivers/char/Makefile 2002-10-11 21:13:44.000000000 +0900
-+++ linux/drivers/char/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -12,7 +12,8 @@
- #
- # This file contains the font map for the default (hardware) font
- #
--FONTMAPFILE = cp437.uni
-+#FONTMAPFILE = cp437.uni
-+FONTMAPFILE = direct.uni
-
- O_TARGET := char.o
-
-@@ -114,6 +115,11 @@
- KEYMAP := corgi_keymap.o
- # SERIAL =
- endif
-+ ifeq ($(CONFIG_ARCH_PXA_TOSA),y)
-+ KEYBD := tosa_keyb.o tosa_logkey.o
-+ KEYMAP := tosa_keymap.o
-+# SERIAL =
-+ endif
- endif
-
- ifeq ($(ARCH),sh)
-@@ -232,6 +238,9 @@
- obj-$(CONFIG_DISCOVERY_LED) += sharp_led.o discovery_led.o
- obj-$(CONFIG_ARCH_PXA_POODLE) += sharp_led.o sharp_kbdctl.o sharpsl_led.o sharp_buzzer.o
- obj-$(CONFIG_ARCH_PXA_CORGI) += sharp_led.o sharpsl_led.o sharp_kbdctl.o corgi_rc.o sharp_buzzer.o
-+obj-$(CONFIG_ARCH_PXA_TOSA) += sharp_led.o sharpsl_led.o sharp_kbdctl.o
-+obj-$(CONFIG_BUZZER_TOSA) += sharp_buzzer.o
-+
- obj-$(CONFIG_BUSMOUSE) += busmouse.o
- obj-$(CONFIG_DTLK) += dtlk.o
- obj-$(CONFIG_R3964) += n_r3964.o
-@@ -248,6 +257,7 @@
- obj-$(CONFIG_SA1100_RTC) += sa1100-rtc.o
- obj-$(CONFIG_COTULLA_RTC) += cotulla-rtc.o
- obj-$(CONFIG_ADS7846_TS) += ads7846_ts.o
-+obj-$(CONFIG_TOSA_TS) += tosa_ts.o
- ifeq ($(CONFIG_PPC),)
- obj-$(CONFIG_NVRAM) += nvram.o
- endif
-@@ -340,3 +350,7 @@
-
- corgi_keymap.c: corgi_keymap.map
- set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
-+
-+tosa_keymap.c: tosa_keymap.map
-+ set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
-+
-diff -Nur linux_c860_org/drivers/char/ads7846_ts.c linux/drivers/char/ads7846_ts.c
---- linux_c860_org/drivers/char/ads7846_ts.c 2003-06-18 16:12:26.000000000 +0900
-+++ linux/drivers/char/ads7846_ts.c 2004-06-10 21:09:10.000000000 +0900
-@@ -14,6 +14,7 @@
- * 31-Jul-2002 Lineo Japan, Inc. for ARCH_PXA
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
- * 27-Feb-2003 Sharp modified for Poodle
-+ * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
- *
- */
-
-@@ -85,7 +86,56 @@
- static DECLARE_WAIT_QUEUE_HEAD(queue);
- static int head, tail, sample;
- static char pendown = 0;
--unsigned long Pressure;
-+static unsigned long Pressure;
-+#if defined(CONFIG_SL_TS_PRESSURE) || defined(CONFIG_SL7X0_POWER_KEY_OFF) || \
-+ defined(CONFIG_SL_3BUTTON_PATCH) || defined(CONFIG_SL_WRITE_TS)
-+#include <linux/proc_fs.h>
-+#endif
-+
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+static unsigned long tsPressure;
-+#if defined(CONFIG_BOOT_PRESSURE_ON)
-+static unsigned int tspressure_mode = 1;
-+#else
-+static unsigned int tspressure_mode = 0;
-+#endif
-+
-+static ssize_t tspressure_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[32];
-+ int count;
-+
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "%d\n", (unsigned int)tspressure_mode);
-+ count++;
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count+1))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t tspressure_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ unsigned int param=0;
-+
-+ sscanf(buf,"%d",&param);
-+ if (tspressure_mode != param) {
-+ tspressure_mode = param;
-+ printk("tspressure = %d\n", tspressure_mode);
-+ }
-+ return nbytes;
-+}
-+
-+static struct file_operations proc_tspressure_operations = {
-+ read: tspressure_read_params,
-+ write: tspressure_write_params,
-+};
-+#endif
- #if defined(CONFIG_ARCH_PXA_CORGI)
- static char ispass = 1;
- #endif
-@@ -97,6 +147,88 @@
- static char PowerDownMode = PMPD_MODE_ACTIVE;
- #endif // CONFIG_PM
- #endif
-+
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+extern unsigned int power_key_off_mode;
-+
-+static ssize_t power_key_off_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[32];
-+ int count;
-+
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "%d\n", (unsigned int)power_key_off_mode);
-+ count++;
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count+1))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t power_key_off_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ unsigned int param=0;
-+
-+ sscanf(buf,"%d",&param);
-+ if (power_key_off_mode != param) {
-+ power_key_off_mode = param;
-+ printk("power_key_off = %d\n", power_key_off_mode);
-+ }
-+ return nbytes;
-+}
-+
-+static struct file_operations proc_power_key_off_operations = {
-+ read: power_key_off_read_params,
-+ write: power_key_off_write_params,
-+};
-+#endif
-+
-+#if defined(CONFIG_SL_3BUTTON_PATCH)
-+extern int pressure_alt;
-+extern unsigned int three_button_mode;
-+
-+static ssize_t three_button_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[32];
-+ int count;
-+
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "%d\n", (unsigned int)three_button_mode);
-+ count++;
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count+1))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t three_button_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ unsigned int param=0;
-+
-+ sscanf(buf,"%d",&param);
-+ if (three_button_mode != param) {
-+ three_button_mode = param;
-+ printk("three_button = %d\n", three_button_mode);
-+ }
-+ return nbytes;
-+}
-+
-+static struct file_operations proc_three_button_operations = {
-+ read: three_button_read_params,
-+ write: three_button_write_params,
-+};
-+#endif
-+
- //extern unsigned short touch_panel_intr;
-
- #if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-@@ -147,7 +279,7 @@
-
- //#define WAIT_AFTER_SYNC_HS 151 /* 41us */
- //#define WAIT_AFTER_SYNC_HS 142 /* 38.5us */
--static unsigned long wait_after_sync_hs = 0;
-+static long wait_after_sync_hs = 0;
- #define WAIT_AFTER_SYNC_HS wait_after_sync_hs
- #define SyncHS() while((GPLR(GPIO_HSYNC) & GPIO_bit(GPIO_HSYNC)) == 0);\
- while((GPLR(GPIO_HSYNC) & GPIO_bit(GPIO_HSYNC)) != 0);
-@@ -157,20 +289,35 @@
- #if 1
- #define WAIT_HS_333_VGA 5791 // 17.995us
- #define WAIT_HS_400_VGA 7013 // 17.615us
-+#define WAIT_HS_471_VGA 8257 // 17.615us
-+#define WAIT_HS_400_VGA_FASTSYSCLK 5260 // 17.615us
-+#define WAIT_HS_471_VGA_FASTSYSCLK 6192 // 17.615us
-+
-+#define WAIT_HS_400_VGA640 21376 // 17.615us
-+#define WAIT_HS_471_VGA640 25170 // 17.615us
-+#define WAIT_HS_400_VGA640_FASTSYSCLK 16032 // 17.615us
-+#define WAIT_HS_471_VGA640_FASTSYSCLK 18878 // 17.615us
-+
-+
- #define WAIT_HS_333_QVGA 13969 // 42.100us
- #define WAIT_HS_400_QVGA 16621 // 41.750us
-+#define WAIT_HS_471_QVGA 19571 // 41.750us
-+
- #else
- #define WAIT_HS_333_VGA 6403 // 19.3us
- #define WAIT_HS_400_VGA 7683 // 19.3us
- #define WAIT_HS_333_QVGA 13935 // 42.0us
- #define WAIT_HS_400_QVGA 16720 // 42.0us
-+
- #endif
- #define LCD_MODE_480 0
- #define LCD_MODE_320 1
- #define LCD_MODE_240 2
-+#define LCD_MODE_640 3
- extern int w100fb_lcdMode;
- extern int w100fb_isblank;
- extern unsigned long cccr_reg;
-+extern int fastsysclk_mode;
-
- static int sync_receive_data_send_cmd(int doRecive,int doSend,int sCmd)
- {
-@@ -195,21 +342,54 @@
- // 332MHz
- if (w100fb_lcdMode == LCD_MODE_480) {
- wait_time = WAIT_HS_333_VGA - wait_after_sync_hs;
-- }
-- else {
-+ }else {
- wait_time = WAIT_HS_333_QVGA - wait_after_sync_hs;
- }
-- }
-- else {
-- // 400MHz
-- if (w100fb_lcdMode == LCD_MODE_480) {
-- wait_time = WAIT_HS_400_VGA - wait_after_sync_hs;
-+ }else if(cccr_reg == 0x242 || cccr_reg == 0x162) {
-+
-+ // 471MHz
-+ if (fastsysclk_mode == 100 ){
-+ if (w100fb_lcdMode == LCD_MODE_480) {
-+ wait_time = WAIT_HS_471_VGA_FASTSYSCLK - wait_after_sync_hs;
-+ }else if(w100fb_lcdMode == LCD_MODE_640){
-+ wait_time = WAIT_HS_471_VGA640_FASTSYSCLK - wait_after_sync_hs;
-+ }else {
-+ wait_time = WAIT_HS_471_QVGA - wait_after_sync_hs;
-+ }
-+ }else {
-+ if (w100fb_lcdMode == LCD_MODE_480) {
-+ wait_time = WAIT_HS_471_VGA - wait_after_sync_hs;
-+ }else if(w100fb_lcdMode == LCD_MODE_640){
-+ wait_time = WAIT_HS_471_VGA640 - wait_after_sync_hs;
-+ }else {
-+ wait_time = WAIT_HS_471_QVGA - wait_after_sync_hs;
-+ }
- }
-- else {
-- wait_time = WAIT_HS_400_QVGA - wait_after_sync_hs;
-+
-+ }else {
-+
-+ // 400MHz
-+ if (fastsysclk_mode == 100 ){
-+ if (w100fb_lcdMode == LCD_MODE_480) {
-+ wait_time = WAIT_HS_400_VGA_FASTSYSCLK - wait_after_sync_hs;
-+ }else if(w100fb_lcdMode == LCD_MODE_640){
-+ wait_time = WAIT_HS_400_VGA640_FASTSYSCLK - wait_after_sync_hs;
-+ }else {
-+ wait_time = WAIT_HS_400_QVGA - wait_after_sync_hs;
-+ }
-+ }else {
-+ if (w100fb_lcdMode == LCD_MODE_480) {
-+ wait_time = WAIT_HS_400_VGA - wait_after_sync_hs;
-+ }else if(w100fb_lcdMode == LCD_MODE_640){
-+ wait_time = WAIT_HS_400_VGA640 - wait_after_sync_hs;
-+ }else {
-+ wait_time = WAIT_HS_400_QVGA - wait_after_sync_hs;
-+ }
- }
- }
-
-+
-+
- CCNT_ON();
-
- /* polling HSync */
-@@ -229,7 +409,7 @@
-
- /* Wait after HSync */
- CCNT(timer2);
-- if (w100fb_lcdMode != LCD_MODE_480) {
-+ if ((w100fb_lcdMode != LCD_MODE_480) && (w100fb_lcdMode != LCD_MODE_640)) {
- while((timer2-timer1) < wait_time){
- CCNT(timer2);
- }
-@@ -324,7 +504,11 @@
- ((int)((x)-(y))<(int)(d)) && \
- ((int)((y)-(x))<(int)(d)) )
- unsigned long cmd;
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ unsigned int t,x,y,z[2],z2,dummy;
-+#else
- unsigned int t,x,y,z[2];
-+#endif
- int i,j,k;
- int d = 8, c = 10;
- int err = 0;
-@@ -335,7 +519,18 @@
- (3u << ADSCTRL_ADR_SH) | (1u << ADSCTRL_STS_SH);
- t = ads7846_rw(cmd);
- z[i] = ads7846_rw(cmd);
--
-+
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode) {
-+ /* Z2 */
-+ cmd = (1u << ADSCTRL_PD0_SH) | (1u << ADSCTRL_PD1_SH) |
-+ (4u << ADSCTRL_ADR_SH) | (1u << ADSCTRL_STS_SH);
-+ dummy = ads7846_rw(cmd);
-+ udelay(1);
-+ z2 = ads7846_rw(cmd);
-+ }
-+#endif
-+
- if( i ) break;
-
- /* X-axis */
-@@ -369,6 +564,10 @@
- }
- }
- Pressure = 1;
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode)
-+ if (z[1]) tsPressure = (15000 - x * (z2 - z[1]) / z[1]) >> 4;
-+#endif
- for(i=0;i<2;i++){
- if( !z[i] )
- Pressure = 0;
-@@ -482,12 +681,19 @@
-
- // printk("x=%d,y=%d\n",tp->xd,tp->yd);
-
-- if (z1 != 0)
-+ if (z1 != 0) {
- Pressure = Rx * (tp->xd) * ((10*z2/z1) - 1*10) >> 10;
-- else
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode)
-+ tsPressure = (15000 - x[3] * (z2 - z1) / z1) >> 4;
-+ }
-+#endif
-+ else
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ tsPressure = Pressure = 0;
-+#else
- Pressure = 0;
--
--
-+#endif
- cmd = (1u << ADSCTRL_PD0_SH) | (1u << ADSCTRL_PD1_SH) |
- (4u << ADSCTRL_ADR_SH) | (1u << ADSCTRL_STS_SH);
- /* Power-Down Enable */
-@@ -566,11 +772,25 @@
- // printk("fail %d\n", fail);
-
- if (fail == TOUCH_PANEL_AVERAGE) {
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ tsPressure = Pressure = 0;
-+#else
- Pressure = 0;
-+#endif
- // printk("pen up\n");
- }
- else {
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode) {
-+ if (z1) {
-+ tsPressure = Pressure = (15000 - x * (z2 - z1) / z1) >> 4;
-+ } else
-+ tsPressure = Pressure = 0;
-+ } else
-+ tsPressure = Pressure = 1;
-+#else
- Pressure = 1;
-+#endif
- tp->xd = tx / (TOUCH_PANEL_AVERAGE - fail);
- tp->yd = ty / (TOUCH_PANEL_AVERAGE - fail);
- // printk("pen position (%d,%d)\n", tx, ty);
-@@ -742,7 +962,11 @@
-
- static void new_data(void)
- {
-+#if !defined(CONFIG_ARCH_PXA_CORGI) && !defined(CONFIG_ARCH_PXA_POODLE)
-+#if !defined(CONFIG_POODLE_TR0)
- int diff0, diff1, diff2, diff3;
-+#endif
-+#endif
-
- #ifdef CONFIG_PM
- if( PowerDownMode != PMPD_MODE_ACTIVE )
-@@ -862,6 +1086,25 @@
- }
- #endif
-
-+/// write ts data
-+#if defined(CONFIG_SL_WRITE_TS)
-+static void write_new_data(TS_EVENT write_data)
-+{
-+ write_data.millisecs = jiffies;
-+ tbuf[head++] = write_data;
-+
-+ if (head >= BUFSIZE) { head = 0; }
-+
-+ if (head == tail && ++tail >= BUFSIZE) { tail = 0; }
-+
-+ if (fasync)
-+ kill_fasync(&fasync, SIGIO, POLL_IN);
-+
-+ wake_up_interruptible(&queue);
-+}
-+#endif
-+
-+
- static void cotulla_main_ts_timer(unsigned long irq)
- {
- // ts_interrupt(irq, NULL, NULL);
-@@ -896,6 +1139,7 @@
- // printk("!(%d,%d)",pos_dt.xd,pos_dt.yd);
- tc.x = pos_dt.xd;
- tc.y = pos_dt.yd;
-+
- #if defined(CONFIG_ARCH_PXA_POODLE)
- lock_FCS(POWER_MODE_TOUCH, 1); // not enter FCS mode.
- #if defined(CONFIG_POODLE_TR0)
-@@ -907,11 +1151,53 @@
- tc.pressure = 500;
- #elif defined(CONFIG_ARCH_PXA_CORGI)
- if( pos_dt.xd && pos_dt.yd && Pressure ) {
-+#if defined(CONFIG_SL_3BUTTON_PATCH)
-+ if (three_button_mode) {
-+ switch (pressure_alt) {
-+ case 0x00:
-+ tc.pressure = 500;
-+ break;
-+ case 0x01:
-+ tc.pressure = 1000;
-+ break;
-+ case 0x02:
-+ tc.pressure = 2000;
-+ break;
-+ default:
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode)
-+ tc.pressure = Pressure;
-+ else
-+ tc.pressure = 500;
-+#else
-+ tc.pressure = 500;
-+#endif
-+ break;
-+ }
-+
-+ /* printk("pressure = %d \n",tc.pressure); */
-+ } else
-+#endif
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode)
-+ tc.pressure = Pressure;
-+ else
-+ tc.pressure = 500;
-+#else
- tc.pressure = 500;
-+#endif
-+
- #else
- if( pos_dt.xd && pos_dt.yd ){
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ if (tspressure_mode)
-+ tc.pressure = Pressure;
-+ else
-+ tc.pressure = 1;
-+#else
- tc.pressure = 1;
- #endif
-+#endif
- before_data = tc;
- pendown = 1;
- new_data();
-@@ -956,7 +1242,37 @@
- static void ts_hardware_init(void)
- {
- unsigned int dummy;
-+
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ struct proc_dir_entry *tspressure_proc;
-+#endif
-+
-+#if defined(CONFIG_SL_3BUTTON_PATCH)
-+ struct proc_dir_entry *three_button_proc;
-+#endif
-+
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+ struct proc_dir_entry *power_key_off_proc;
-+#endif
-+
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ tspressure_proc = create_proc_entry("tspressure", 0, NULL);
-+ if (tspressure_proc)
-+ tspressure_proc->proc_fops = &proc_tspressure_operations;
-+#endif
-
-+#if defined(CONFIG_SL_3BUTTON_PATCH)
-+ three_button_proc = create_proc_entry("three_button", 0, NULL);
-+ if (three_button_proc)
-+ three_button_proc->proc_fops = &proc_three_button_operations;
-+#endif
-+
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+ power_key_off_proc = create_proc_entry("power_key_off", 0, NULL);
-+ if (power_key_off_proc)
-+ power_key_off_proc->proc_fops = &proc_power_key_off_operations;
-+#endif
-+
- #if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
- pxa_ssp_init();
- #else
-@@ -1043,6 +1359,7 @@
- y_rev = 0;
- xyswap = 1;
- #else
-+#ifdef CONFIG_FBCON_ROTATE_R
- res_x = 480;
- res_y = 640;
-
-@@ -1050,7 +1367,17 @@
- x_rev = 1;
- y_rev = 0;
- xyswap = 1;
-+#else
-+ res_x = 640;
-+ res_y = 480;
-+
-+ cal_ok = 1;
-+ x_rev = 0;
-+ y_rev = 0;
-+ xyswap = 0;
-+#endif
- #endif
-+
- #else
- #ifdef USE_SL5500_QT
- res_x = 240;
-@@ -1170,7 +1497,6 @@
-
- r.pressure = t.pressure;
- r.millisecs = t.millisecs;
-- //printk("ts:ts_read(x, y, p) = (%d, %d, %d)\n", (unsigned int)r.x, (unsigned int)r.y, (unsigned int)r.pressure);
-
- copy_to_user(buffer,&r,sizeof(TS_EVENT));
- }
-@@ -1180,10 +1506,54 @@
- static ssize_t ts_write(struct file *file, const char *buffer, size_t count, loff_t *ppos)
- {
- #if defined(CONFIG_ARCH_PXA_CORGI)
-- unsigned long param;
- char *endp;
-- wait_after_sync_hs = simple_strtoul(buffer, &endp, 0);
-+#if defined(CONFIG_SL_WRITE_TS)
-+
-+ static TS_EVENT data, raw_data;
-+ char tmp[50];
-+ int len;
-+ len=49;
-+ if(len>count) len=count;
-+ copy_from_user(tmp,buffer,len);
-+ tmp[len]='\0';
-+
-+ if (sscanf(tmp,"%d %d %d %d",&data.pressure, &data.x, &data.y, &data.millisecs) == 4) {
-+// printk("pressure= %d : x= %d : y= %d : millosecs= %d\n", data.pressure, data.x, data.y, data.millisecs);
-+
-+ if (cal_ok) {
-+ raw_data.x = (x_rev) ? raw_max_x - ((raw_max_x - raw_min_x) * data.x) / res_x
-+ : raw_min_x + ((raw_max_x - raw_min_x) * data.x) / res_x;
-+
-+ raw_data.y = (y_rev) ? raw_max_y - ((raw_max_y - raw_min_y) * data.y) / res_y
-+ : raw_min_y + ((raw_max_y - raw_min_y) * data.y) / res_y;
-+
-+ } else {
-+ raw_data.x = data.x;
-+ raw_data.y = data.y;
-+ }
-+
-+ if (xyswap) {
-+ short tmp = raw_data.x;
-+ raw_data.x = raw_data.y;
-+ raw_data.y = tmp;
-+ }
-+
-+ raw_data.pressure = data.pressure;
-+ raw_data.millisecs = data.millisecs;
-+
-+ write_new_data(raw_data);
-+ return count;
-+
-+ }else {
-+#endif
-+ wait_after_sync_hs = simple_strtol(buffer, &endp, 0);
-+ printk("Wait_after_sync_hs: %d\n",(int) wait_after_sync_hs);
- return count+endp-buffer;
-+
-+#if defined(CONFIG_SL_WRITE_TS)
-+ }
-+#endif
-+
- #else
- return 0;
- #endif
-@@ -1234,6 +1604,13 @@
- case 17: /* Clear all buffer data */
- print_par();
- break;
-+#if defined(CONFIG_SL_TS_PRESSURE)
-+ case 64: /* read Pressure */
-+ if (tspressure_mode) {
-+ copy_to_user((void *)arg, &tsPressure, sizeof(tsPressure));
-+ break;
-+ }
-+#endif
- default:
- return -EINVAL;
- }
-diff -Nur linux_c860_org/drivers/char/console.c linux/drivers/char/console.c
---- linux_c860_org/drivers/char/console.c 2002-12-18 19:27:56.000000000 +0900
-+++ linux/drivers/char/console.c 2004-06-10 21:09:10.000000000 +0900
-@@ -94,6 +94,11 @@
- #include <linux/slab.h>
- #include <linux/major.h>
- #include <linux/mm.h>
-+
-+#ifdef CONFIG_UNICON
-+#include <linux/fb_doublebyte.h>
-+#endif
-+
- #include <linux/console.h>
- #include <linux/init.h>
- #include <linux/devfs_fs_kernel.h>
-@@ -118,7 +123,10 @@
-
- #include "console_macros.h"
-
--
-+#ifdef CONFIG_UNICON
-+#define video_erase_char_ext ((video_erase_char)&0xff)
-+extern unsigned short translations[][256];
-+#endif
- const struct consw *conswitchp;
-
- /* A bitmap for codes <32. A bit of 1 indicates that the code
-@@ -244,6 +252,20 @@
- p = sw->con_screen_pos(vc_cons[currcons].d, offset);
- return p;
- }
-+#ifdef CONFIG_UNICON
-+static inline unsigned short *screenpos_ext(int currcons, int offset, int viewed)
-+{
-+ unsigned short *p;
-+
-+ if (!viewed)
-+ p = (unsigned short *)(origin + offset + screenbuf_size);
-+ else if (!sw->con_screen_pos)
-+ p = (unsigned short *)(visible_origin + offset + screenbuf_size);
-+ else
-+ p = sw->con_screen_pos(vc_cons[currcons].d, -offset-1);
-+ return p;
-+}
-+#endif
-
- static inline void scrolldelta(int lines)
- {
-@@ -270,6 +292,14 @@
- s = (unsigned short *) (origin+video_size_row*(t+nr));
- scr_memcpyw(d, s, (b-t-nr) * video_size_row);
- scr_memsetw(d + (b-t-nr) * video_num_columns, video_erase_char, video_size_row*nr);
-+
-+#ifdef CONFIG_UNICON
-+ d += (screenbuf_size>>1);
-+ s += (screenbuf_size>>1);
-+ scr_memcpyw(d, s, (b-t-nr) * video_size_row);
-+ scr_memsetw(d + (b-t-nr) * video_num_columns, video_erase_char_ext, video_size_row*nr);
-+#endif
-+
- }
-
- static void
-@@ -288,6 +318,11 @@
- step = video_num_columns * nr;
- scr_memmovew(s + step, s, (b-t-nr)*video_size_row);
- scr_memsetw(s, video_erase_char, 2*step);
-+#ifdef CONFIG_UNICON
-+ s += (screenbuf_size>>1);
-+ scr_memmovew(s + step, s, (b-t-nr)*video_size_row);
-+ scr_memsetw(s, video_erase_char_ext, 2*step);
-+#endif
- }
-
- static void do_update_region(int currcons, unsigned long start, int count)
-@@ -311,6 +346,10 @@
- int startx = xx;
- u16 *q = p;
- while (xx < video_num_columns && count) {
-+#ifdef CONFIG_UNICON
-+ //line by line, so the following putcs will be assured to
-+ //handle only in-line string.
-+#endif
- if (attrib != (scr_readw(p) & 0xff00)) {
- if (p > q)
- sw->con_putcs(vc_cons[currcons].d, q, p-q, yy, startx);
-@@ -440,6 +479,39 @@
- }
-
- /* used by selection: complement pointer position */
-+#ifdef CONFIG_UNICON
-+void complement_pos(int currcons, int offset)
-+{
-+ static unsigned short *p = NULL;
-+ static unsigned short old = 0;
-+ static unsigned short oldx = 0, oldy = 0;
-+ static unsigned short *p_ext = NULL;
-+ static unsigned short old_ext = 0;
-+
-+ if (p) {
-+ scr_writew(old, p);
-+ //scr_writew(old_ext, p_ext);
-+ if (DO_UPDATE)
-+ sw->con_putc(vc_cons[currcons].d, (old_ext<<16)| old, oldy, oldx);
-+ }
-+ if (offset == -1)
-+ p = NULL;
-+ else {
-+ unsigned short new;
-+ p = screenpos(currcons, offset, 1);
-+ p_ext = screenpos_ext(currcons, offset, 1);
-+ old = scr_readw(p);
-+ old_ext = scr_readw(p_ext);
-+ new = old ^ complement_mask;
-+ scr_writew(new, p);
-+ if (DO_UPDATE) {
-+ oldx = (offset >> 1) % video_num_columns;
-+ oldy = (offset >> 1) / video_num_columns;
-+ sw->con_putc(vc_cons[currcons].d, (old_ext<<16) | new, oldy, oldx);
-+ }
-+ }
-+}
-+#else
- void complement_pos(int currcons, int offset)
- {
- static unsigned short *p;
-@@ -466,15 +538,23 @@
- }
- }
- }
--
-+#endif
- static void insert_char(int currcons, unsigned int nr)
- {
- unsigned short *p, *q = (unsigned short *) pos;
-
- p = q + video_num_columns - nr - x;
-- while (--p >= q)
-+ while (--p >= q) {
- scr_writew(scr_readw(p), p + nr);
-+#ifdef CONFIG_UNICON
-+ scr_writew(scr_readw(p+(screenbuf_size>>1)),p+(screenbuf_size>>1)+nr);
-+#endif
-+ }
- scr_memsetw(q, video_erase_char, nr*2);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw(q+(screenbuf_size>>1),video_erase_char_ext,nr*2);
-+#endif
-+
- need_wrap = 0;
- if (DO_UPDATE) {
- unsigned short oldattr = attr;
-@@ -482,8 +562,9 @@
- video_num_columns-x-nr);
- attr = video_erase_char >> 8;
- while (nr--)
-- sw->con_putc(vc_cons[currcons].d,
-+ sw->con_putc(vc_cons[currcons].d,
- video_erase_char,y,x+nr);
-+
- attr = oldattr;
- }
- }
-@@ -492,12 +573,17 @@
- {
- unsigned int i = x;
- unsigned short *p = (unsigned short *) pos;
--
- while (++i <= video_num_columns - nr) {
- scr_writew(scr_readw(p+nr), p);
-+#ifdef CONFIG_UNICON
-+ scr_writew(scr_readw(p+nr+(screenbuf_size>>1)),p+(screenbuf_size>>1));
-+#endif
- p++;
- }
- scr_memsetw(p, video_erase_char, nr*2);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw(p+(screenbuf_size>>1), video_erase_char_ext, nr*2);
-+#endif
- need_wrap = 0;
- if (DO_UPDATE) {
- unsigned short oldattr = attr;
-@@ -506,8 +592,8 @@
- attr = video_erase_char >> 8;
- while (nr--)
- sw->con_putc(vc_cons[currcons].d,
-- video_erase_char, y,
-- video_num_columns-1-nr);
-+ video_erase_char, y,
-+ video_num_columns-1-nr);
- attr = oldattr;
- }
- }
-@@ -528,7 +614,11 @@
- if ((type & 0x40) && ((i & 0x700) == ((i & 0x7000) >> 4))) i ^= 0x0700;
- scr_writew(i, (u16 *) pos);
- if (DO_UPDATE)
-+#ifndef CONFIG_UNICON
- sw->con_putc(vc_cons[currcons].d, i, y, x);
-+#else
-+ sw->con_putc(vc_cons[currcons].d, scr_readw((u16 *) pos+ (screenbuf_size>>1))<<16 | (i & 0xffff), y, x);
-+#endif
- }
-
- static void hide_cursor(int currcons)
-@@ -538,7 +628,11 @@
- if (softcursor_original != -1) {
- scr_writew(softcursor_original,(u16 *) pos);
- if (DO_UPDATE)
-+#ifndef CONFIG_UNICON
- sw->con_putc(vc_cons[currcons].d, softcursor_original, y, x);
-+#else
-+ sw->con_putc(vc_cons[currcons].d, scr_readw((u16 *) pos+ (screenbuf_size>>1))<<16 | softcursor_original, y, x);
-+#endif
- softcursor_original = -1;
- }
- sw->con_cursor(vc_cons[currcons].d,CM_ERASE);
-@@ -685,7 +779,11 @@
- visual_init(currcons, 1);
- if (!*vc_cons[currcons].d->vc_uni_pagedir_loc)
- con_set_default_unimap(currcons);
-+#ifndef CONFIG_UNICON
- q = (long)kmalloc(screenbuf_size, GFP_KERNEL);
-+#else
-+ q = (long)kmalloc(screenbuf_size*2,GFP_KERNEL);
-+#endif
- if (!q) {
- kfree((char *) p);
- vc_cons[currcons].d = NULL;
-@@ -727,7 +825,11 @@
- (cc == video_num_columns && ll == video_num_lines))
- newscreens[currcons] = NULL;
- else {
-+#ifndef CONFIG_UNICON
- unsigned short *p = (unsigned short *) kmalloc(ss, GFP_USER);
-+#else
-+ unsigned short *p = (unsigned short *) kmalloc(ss*2, GFP_USER);
-+#endif
- if (!p) {
- for (i = first; i< currcons; i++)
- if (newscreens[i])
-@@ -769,13 +871,23 @@
-
- while (ol < scr_end) {
- scr_memcpyw((unsigned short *) nl, (unsigned short *) ol, rlth);
-+#ifdef CONFIG_UNICON
-+ scr_memcpyw((unsigned short *) (nl + ss), (unsigned short*) (ol + oss), rlth);
-+#endif
- if (rrem)
- scr_memsetw((void *)(nl + rlth), video_erase_char, rrem);
-+#ifdef CONFIG_UNICON
-+ if (rrem)
-+ scr_memsetw((void *)(nl + rlth + ss), video_erase_char_ext, rrem);
-+#endif
- ol += osr;
- nl += sr;
- }
- if (nlend > nl)
- scr_memsetw((void *) nl, video_erase_char, nlend - nl);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw((void *) (nl + ss), video_erase_char_ext, nlend - nl);
-+#endif
- if (kmalloced)
- kfree(screenbuf);
- screenbuf = newscreens[currcons];
-@@ -998,6 +1110,9 @@
- return;
- }
- scr_memsetw(start, video_erase_char, 2*count);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw(start + (screenbuf_size>>1), video_erase_char_ext, 2*count);
-+#endif
- need_wrap = 0;
- }
-
-@@ -1032,6 +1147,9 @@
- return;
- }
- scr_memsetw(start, video_erase_char, 2 * count);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw(start + (screenbuf_size>>1), video_erase_char_ext, 2*count);
-+#endif
- need_wrap = 0;
- }
-
-@@ -1044,6 +1162,9 @@
- count = (vpar > video_num_columns-x) ? (video_num_columns-x) : vpar;
-
- scr_memsetw((unsigned short *) pos, video_erase_char, 2 * count);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw((unsigned short *) pos + (screenbuf_size>>1), video_erase_char_ext, 2*count);
-+#endif
- if (DO_UPDATE)
- sw->con_clear(vc_cons[currcons].d, y, x, 1, count);
- need_wrap = 0;
-@@ -1720,7 +1841,12 @@
- if (ques) {
- clear_selection();
- if (par[0])
-+#ifndef CONFIG_UNICON
- complement_mask = par[0]<<8 | par[1];
-+#else
-+ // force the low byte to be zero
-+ complement_mask = par[0]<<8;
-+#endif
- else
- complement_mask = s_complement_mask;
- return 0;
-@@ -1966,6 +2092,11 @@
- const unsigned char *orig_buf;
- int orig_count;
-
-+#ifdef CONFIG_UNICON
-+#define GB_LEFT 0x8000
-+#define GB_RIGHT 0xc000
-+#endif
-+
- if (in_interrupt())
- return count;
-
-@@ -2076,6 +2207,56 @@
- ((attr << 8) & ~himask) + ((tc & 0x100) ? himask : 0) + (tc & 0xff) :
- (attr << 8) + tc,
- (u16 *) pos);
-+#ifdef CONFIG_UNICON
-+#define HIGH_WORD ((u16 *) ((long)pos + screenbuf_size))
-+#define HIGH_WORD_PREV ((u16 *) ((long)pos - 2 + screenbuf_size))
-+#define HIGH_WORD_NEXT ((u16 *) ((long)pos + 2 + screenbuf_size))
-+ /*
-+ * following condiction we do not tread the char as
-+ * double byte.
-+ * 1. default encoding is NULL. The encode module not
-+ * install yet.
-+ * 2. Current char set is not the default one. We are
-+ * possible drawing a table lines right now.
-+ * -Chris
-+ */
-+
-+ if (doublebyte_default && translate == translations[0]
-+ && (pos==origin||!(scr_readw(HIGH_WORD_PREV)&DB_HALF_MASK))
-+ && doublebyte_default->is_left(tc)){
-+ /*possible the left char of the Double Byte
-+ , but we don't know yet, because the right
-+ char is unknow right now. So mark it as
-+ Half char, the possible candidate
-+ -Chris
-+ */
-+ scr_writew(DB_HALF_MASK,HIGH_WORD);
-+
-+ } else if(doublebyte_default&& translate == translations
-+ && scr_readw(HIGH_WORD_PREV)==DB_HALF_MASK
-+ && doublebyte_default->is_right(tc)) {
-+ scr_writew(DB_LEFT|(tc & 0xff),HIGH_WORD_PREV);
-+ scr_writew(DB_RIGHT|(scr_readw((u16*)(pos-2))&0xff),HIGH_WORD);
-+ if (DO_UPDATE && draw_x < 0) {
-+ draw_from = pos-2 ;
-+ if (x>0) {
-+ draw_x = x-1;
-+ } else {
-+ draw_to = pos;
-+ draw_x = video_num_columns -1;
-+ y--;
-+ FLUSH
-+ y++;
-+ draw_x = 0;
-+ draw_from = pos;
-+ }
-+ }
-+ } else {
-+ /*normal ASCII or table lines, clean hight byte*/
-+ scr_writew(0,HIGH_WORD);
-+ }
-+
-+#endif
- if (DO_UPDATE && draw_x < 0) {
- draw_x = x;
- draw_from = pos;
-@@ -2234,6 +2415,9 @@
- continue;
- }
- scr_writew((attr << 8) + c, (unsigned short *) pos);
-+#ifdef CONFIG_UNICON
-+ scr_writew(0,(unsigned short *) pos + (screenbuf_size>>1));
-+#endif
- cnt++;
- if (myx == video_num_columns - 1) {
- need_wrap = 1;
-@@ -2591,7 +2775,11 @@
- vt_cons[currcons] = (struct vt_struct *)
- alloc_bootmem(sizeof(struct vt_struct));
- visual_init(currcons, 1);
-+#ifdef CONFIG_UNICON
-+ screenbuf = (unsigned short *) alloc_bootmem(screenbuf_size * 2);
-+#else
- screenbuf = (unsigned short *) alloc_bootmem(screenbuf_size);
-+#endif
- kmalloced = 0;
- vc_init(currcons, video_num_lines, video_num_columns,
- currcons || !sw->con_save_screen);
-@@ -3064,7 +3252,12 @@
- gotoxy(currcons, p[0], p[1]);
- set_cursor(currcons);
- }
--
-+#ifdef CONFIG_UNICON
-+/*
-+Now, the unicon doesn't support vcs!
-+To support it, first change the vc_screen.c!
-+*/
-+#endif
- u16 vcs_scr_readw(int currcons, const u16 *org)
- {
- if ((unsigned long)org == pos && softcursor_original != -1)
-@@ -3106,6 +3299,15 @@
- /*
- * Visible symbols for modules
- */
-+#ifdef CONFIG_UNICON
-+int (*Unicon_fnKeyHook)
-+ (struct tty_struct *tty, unsigned char ch, char flag) = NULL;
-+int (*Unicon_fnLowerKeyHook) (unsigned char ch) = NULL;
-+
-+EXPORT_SYMBOL(Unicon_fnLowerKeyHook);
-+EXPORT_SYMBOL(Unicon_fnKeyHook);
-+EXPORT_SYMBOL(vc_cons);
-+#endif
-
- EXPORT_SYMBOL(color_table);
- EXPORT_SYMBOL(default_red);
-diff -Nur linux_c860_org/drivers/char/consolemap.c linux/drivers/char/consolemap.c
---- linux_c860_org/drivers/char/consolemap.c 2002-08-26 14:38:30.000000000 +0900
-+++ linux/drivers/char/consolemap.c 2004-06-10 21:09:10.000000000 +0900
-@@ -22,7 +22,11 @@
- #include <linux/console_struct.h>
- #include <linux/vt_kern.h>
-
-+#ifndef CONFIG_UNICON
- static unsigned short translations[][256] = {
-+#else
-+unsigned short translations[][256] = {
-+#endif
- /* 8-bit Latin-1 mapped to Unicode -- trivial mapping */
- {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
-diff -Nur linux_c860_org/drivers/char/corgi_logkey.c linux/drivers/char/corgi_logkey.c
---- linux_c860_org/drivers/char/corgi_logkey.c 2003-06-18 16:12:26.000000000 +0900
-+++ linux/drivers/char/corgi_logkey.c 2004-06-10 21:09:10.000000000 +0900
-@@ -605,6 +605,7 @@
-
- #if CHECK_ROLLOVER
- #define MAX_KEY_PRESS (6)
-+#define MAX_KEY_PRESS_THRESHOLD (6 + 1)
- #endif
-
- void sharppda_scan_key_gpio(void* dummy)
-@@ -707,8 +708,8 @@
- if (ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_FUNCTION)) {
- rollover_count--;
- }
-- if ((rollover_count > 3) ||
-- ((rollover_count == 3) &&
-+ if ((rollover_count > MAX_KEY_PRESS_THRESHOLD) ||
-+ ((rollover_count == MAX_KEY_PRESS_THRESHOLD) &&
- (!ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_TAB) ||
- ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_DIRECT_ON)) &&
- (!ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_VERTICAL) ||
-diff -Nur linux_c860_org/drivers/char/direct.uni linux/drivers/char/direct.uni
---- linux_c860_org/drivers/char/direct.uni 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/direct.uni 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,259 @@
-+0x00 U+0000
-+0x20 U+0020
-+0x21 U+0021
-+0x22 U+0022
-+0x23 U+0023
-+0x24 U+0024
-+0x25 U+0025
-+0x26 U+0026
-+0x27 U+0027
-+0x28 U+0028
-+0x29 U+0029
-+0x2a U+002a
-+0x2b U+002b
-+0x2c U+002c
-+0x2d U+002d
-+0x2e U+002e
-+0x2f U+002f
-+0x30 U+0030
-+0x31 U+0031
-+0x32 U+0032
-+0x33 U+0033
-+0x34 U+0034
-+0x35 U+0035
-+0x36 U+0036
-+0x37 U+0037
-+0x38 U+0038
-+0x39 U+0039
-+0x3a U+003a
-+0x3b U+003b
-+0x3c U+003c
-+0x3d U+003d
-+0x3e U+003e
-+0x3f U+003f
-+0x40 U+0040
-+0x41 U+0041
-+0x42 U+0042
-+0x43 U+0043
-+0x44 U+0044
-+0x45 U+0045
-+0x46 U+0046
-+0x47 U+0047
-+0x48 U+0048
-+0x49 U+0049
-+0x4a U+004a
-+0x4b U+004b
-+0x4c U+004c
-+0x4d U+004d
-+0x4e U+004e
-+0x4f U+004f
-+0x50 U+0050
-+0x51 U+0051
-+0x52 U+0052
-+0x53 U+0053
-+0x54 U+0054
-+0x55 U+0055
-+0x56 U+0056
-+0x57 U+0057
-+0x58 U+0058
-+0x59 U+0059
-+0x5a U+005a
-+0x5b U+005b
-+0x5c U+005c
-+0x5d U+005d
-+0x5e U+005e
-+0x5f U+005f
-+0x60 U+0060
-+0x61 U+0061
-+0x62 U+0062
-+0x63 U+0063
-+0x64 U+0064
-+0x65 U+0065
-+0x66 U+0066
-+0x67 U+0067
-+0x68 U+0068
-+0x69 U+0069
-+0x6a U+006a
-+0x6b U+006b
-+0x6c U+006c
-+0x6d U+006d
-+0x6e U+006e
-+0x6f U+006f
-+0x70 U+0070
-+0x71 U+0071
-+0x72 U+0072
-+0x73 U+0073
-+0x74 U+0074
-+0x75 U+0075
-+0x76 U+0076
-+0x77 U+0077
-+0x78 U+0078
-+0x79 U+0079
-+0x7a U+007a
-+0x7b U+007b
-+0x7c U+007c
-+0x7d U+007d
-+0x7e U+007e
-+0x7f U+007f
-+0x80 U+0080
-+0x81 U+0081
-+0x82 U+0082
-+0x83 U+0083
-+0x84 U+0084
-+0x85 U+0085
-+0x86 U+0086
-+0x87 U+0087
-+0x88 U+0088
-+0x89 U+0089
-+0x8a U+008a
-+0x8b U+008b
-+0x8c U+008c
-+0x8d U+008d
-+0x8e U+008e
-+0x8f U+008f
-+0x90 U+0090
-+0x91 U+0091
-+0x92 U+0092
-+0x93 U+0093
-+0x94 U+0094
-+0x95 U+0095
-+0x96 U+0096
-+0x97 U+0097
-+0x98 U+0098
-+0x99 U+0099
-+0x9a U+009a
-+0x9b U+009b
-+0x9c U+009c
-+0x9d U+009d
-+0x9e U+009e
-+0x9f U+009f
-+0xa0 U+00a0
-+0xa1 U+00a1
-+0xa2 U+00a2
-+0xa3 U+00a3
-+0xa4 U+00a4
-+0xa5 U+00a5
-+0xa6 U+00a6
-+0xa7 U+00a7
-+0xa8 U+00a8
-+0xa9 U+00a9
-+0xaa U+00aa
-+0xab U+00ab
-+0xac U+00ac
-+0xad U+00ad
-+0xae U+00ae
-+0xaf U+00af
-+0xb0 U+00b0
-+0xb1 U+00b1
-+0xb2 U+00b2
-+0xb3 U+00b3
-+0xb4 U+00b4
-+0xb5 U+00b5
-+0xb6 U+00b6
-+0xb7 U+00b7
-+0xb8 U+00b8
-+0xb9 U+00b9
-+0xba U+00ba
-+0xbb U+00bb
-+0xbc U+00bc
-+0xbd U+00bd
-+0xbe U+00be
-+0xbf U+00bf
-+0xc0 U+00c0
-+0xc1 U+00c1
-+0xc2 U+00c2
-+0xc3 U+00c3
-+0xc4 U+00c4
-+0xc5 U+00c5
-+0xc6 U+00c6
-+0xc7 U+00c7
-+0xc8 U+00c8
-+0xc9 U+00c9
-+0xca U+00ca
-+0xcb U+00cb
-+0xcc U+00cc
-+0xcd U+00cd
-+0xce U+00ce
-+0xcf U+00cf
-+0xd0 U+00d0
-+0xd1 U+00d1
-+0xd2 U+00d2
-+0xd3 U+00d3
-+0xd4 U+00d4
-+0xd5 U+00d5
-+0xd6 U+00d6
-+0xd7 U+00d7
-+0xd8 U+00d8
-+0xd9 U+00d9
-+0xda U+00da
-+0xdb U+00db
-+0xdc U+00dc
-+0xdd U+00dd
-+0xde U+00de
-+0xdf U+00df
-+0xe0 U+00e0
-+0xe1 U+00e1
-+0xe2 U+00e2
-+0xe3 U+00e3
-+0xe4 U+00e4
-+0xe5 U+00e5
-+0xe6 U+00e6
-+0xe7 U+00e7
-+0xe8 U+00e8
-+0xe9 U+00e9
-+0xea U+00ea
-+0xeb U+00eb
-+0xec U+00ec
-+0xed U+00ed
-+0xee U+00ee
-+0xef U+00ef
-+0xf0 U+00f0
-+0xf1 U+00f1
-+0xf2 U+00f2
-+0xf3 U+00f3
-+0xf4 U+00f4
-+0xf5 U+00f5
-+0xf6 U+00f6
-+0xf7 U+00f7
-+0xf8 U+00f8
-+0xf9 U+00f9
-+0xfa U+00fa
-+0xfb U+00fb
-+0xfc U+00fc
-+0xfd U+00fd
-+0xfe U+00fe
-+0xff U+00ff
-+0x07 U+2022
-+0x13 U+203c
-+0x4b U+212a
-+0x1b U+2190
-+0x18 U+2191
-+0x1a U+2192
-+0x19 U+2193
-+0x1d U+2194
-+0x12 U+2195
-+0x17 U+21a8
-+0x1c U+221f
-+0x16 U+25ac
-+0x1e U+25b2
-+0x10 U+25b6
-+0x10 U+25ba
-+0x1f U+25bc
-+0x11 U+25c0
-+0x11 U+25c4
-+0x04 U+25c6
-+0x09 U+25cb
-+0x08 U+25d8
-+0x0a U+25d9
-+0x01 U+263a
-+0x02 U+263b
-+0x0f U+263c
-+0x0c U+2640
-+0x0b U+2642
-+0x06 U+2660
-+0x05 U+2663
-+0x03 U+2665
-+0x04 U+2666
-+0x0d U+266a
-+0x0e U+266b
-+0x5f U+f804
-diff -Nur linux_c860_org/drivers/char/efirtc.c linux/drivers/char/efirtc.c
---- linux_c860_org/drivers/char/efirtc.c 2002-08-26 14:38:31.000000000 +0900
-+++ linux/drivers/char/efirtc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -118,6 +118,7 @@
- static void
- convert_from_efi_time(efi_time_t *eft, struct rtc_time *wtime)
- {
-+ memset(wtime, 0, sizeof(struct rtc_time));
- wtime->tm_sec = eft->second;
- wtime->tm_min = eft->minute;
- wtime->tm_hour = eft->hour;
-diff -Nur linux_c860_org/drivers/char/keyboard.c linux/drivers/char/keyboard.c
---- linux_c860_org/drivers/char/keyboard.c 2002-12-18 19:27:58.000000000 +0900
-+++ linux/drivers/char/keyboard.c 2004-06-10 21:09:10.000000000 +0900
-@@ -40,6 +40,7 @@
-
- #include <asm/keyboard.h>
- #include <asm/bitops.h>
-+#include <asm/uaccess.h>
-
- #include <linux/kbd_kern.h>
- #include <linux/kbd_diacr.h>
-@@ -118,6 +119,23 @@
- static struct kbd_struct * kbd = kbd_table;
- static struct tty_struct * tty;
-
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+#if defined(CONFIG_BOOT_POWER_KEY_OFF)
-+unsigned int power_key_off_mode = 1;
-+#else
-+unsigned int power_key_off_mode = 0;
-+#endif
-+#endif
-+
-+#if defined(CONFIG_SL_3BUTTON_PATCH)
-+#if defined(CONFIG_BOOT_3BUTTON_PATCH_ON)
-+unsigned int three_button_mode = 1;
-+#else
-+unsigned int three_button_mode = 0;
-+#endif
-+int pressure_alt;
-+#endif
-+
- static void kbd_processkeycode(unsigned char scancode, char up_flag, int autorepeat);
- void compute_shiftstate(void);
-
-@@ -179,6 +197,8 @@
-
- static struct pm_dev *pm_kbd;
-
-+
-+
- /*
- * Many other routines do put_queue, but I think either
- * they produce ASCII, or they produce some user-assigned
-@@ -224,6 +244,55 @@
-
- void handle_scancode(unsigned char scancode, int down)
- {
-+
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+ /* printk("scancode = %x down = %x \n",scancode,down); */
-+ /* SL-C700 side power 0x6d */
-+ if ( power_key_off_mode && ( scancode == 0x6d ) && ( down == 0x01 ) ){
-+
-+ printk("power button\n");
-+ slc7x0_key_suspend();
-+
-+
-+ /* SL-C700 Calender down 0x58 */
-+ } else
-+#endif
-+#if defined(CONFIG_SL_3BUTTON_PATCH)
-+ if ( three_button_mode && ( scancode == 0x59 ) && ( down == 0x01 ) ){
-+
-+ pressure_alt=0x01;
-+ handle_scancode_main ( scancode, down );
-+
-+ /* SL-C700 Calender up 0xd8 */
-+ } else if ( three_button_mode && ( scancode == 0xd9 ) && ( down == 0x00 ) ){
-+
-+ pressure_alt=0x00;
-+ handle_scancode_main ( scancode, down );
-+
-+ /* SL-C700 Address down 0x59 */
-+ } else if ( three_button_mode && ( scancode == 0x28 ) && ( down == 0x01 ) ){
-+
-+ pressure_alt=0x02;
-+ handle_scancode_main ( scancode, down );
-+
-+ /* SL-C700 Address up 0xd9 */
-+ } else if ( three_button_mode && ( scancode == 0xa8 ) && ( down == 0x00 ) ){
-+
-+ pressure_alt=0x00;
-+ handle_scancode_main ( scancode, down );
-+ } else
-+#endif
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_SL_3BUTTON_PATCH)
-+ {
-+
-+ handle_scancode_main ( scancode, down );
-+
-+ }
-+}
-+
-+void handle_scancode_main(unsigned char scancode, int down)
-+{
-+#endif
- unsigned char keycode;
- char up_flag = down ? 0 : 0200;
- char raw_mode;
-@@ -274,8 +343,8 @@
- static void
- kbd_processkeycode(unsigned char keycode, char up_flag, int autorepeat)
- {
-- char raw_mode = (kbd->kbdmode == VC_RAW);
-
-+ char raw_mode = (kbd->kbdmode == VC_RAW);
- if (up_flag) {
- rep = 0;
- if(!test_and_clear_bit(keycode, key_down))
-@@ -1020,12 +1089,35 @@
-
- pm_callback pm_kbd_request_override = NULL;
-
-+#if defined(CONFIG_KBD_DEV_FILE)
-+#define KBD_MAJOR 241
-+struct fasync_struct *fasync_kbd;
-+
-+static int kbd_open(struct inode *, struct file *);
-+static int kbd_release(struct inode *, struct file *);
-+static int kbd_fasync(int fd, struct file *filp, int on);
-+static ssize_t kbd_read(struct file *, char *, size_t, loff_t *);
-+static ssize_t kbd_write(struct file *, const char *, size_t, loff_t *);
-+
-+struct file_operations kbd_fops = {
-+ open: kbd_open,
-+ release: kbd_release,
-+ fasync: kbd_fasync,
-+ read: kbd_read,
-+ write: kbd_write,
-+};
-+#endif
-+
- int __init kbd_init(void)
- {
- int i;
- struct kbd_struct kbd0;
- extern struct tty_driver console_driver;
-
-+#if defined(CONFIG_KBD_DEV_FILE)
-+ if ( register_chrdev(KBD_MAJOR,"kbd",&kbd_fops) )
-+ printk("unable to get major %d for keyboard\n", KBD_MAJOR);
-+#endif
- kbd0.ledflagstate = kbd0.default_ledflagstate = KBD_DEFLEDS;
- kbd0.ledmode = LED_SHOW_FLAGS;
- kbd0.lockstate = KBD_DEFLOCK;
-@@ -1047,3 +1139,56 @@
-
- return 0;
- }
-+
-+#if defined(CONFIG_KBD_DEV_FILE)
-+static int kbd_open(struct inode *inode, struct file *file)
-+{
-+ kdev_t dev = inode->i_rdev;
-+
-+ return 0;
-+}
-+
-+
-+static int kbd_release(struct inode *inode, struct file *file)
-+{
-+ kbd_fasync(-1, file, 0);
-+ return 0;
-+}
-+
-+static int kbd_fasync(int fd, struct file *filp, int on)
-+{
-+ int retval;
-+
-+ retval = fasync_helper(fd, filp, on, &fasync_kbd);
-+ if (retval < 0)
-+ return retval;
-+ return 0;
-+}
-+
-+static ssize_t kbd_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
-+{
-+// printk("kbd read\n");
-+ return 0;
-+}
-+
-+static ssize_t kbd_write(struct file *file, const char *buffer, size_t count, loff_t *ppos)
-+{
-+ char tmp[50];
-+ int len;
-+ int kbd_scancode,kbd_down;
-+
-+ len=49;
-+
-+ if(len>count) len=count;
-+ copy_from_user(tmp,buffer,len);
-+ tmp[len]='\0';
-+
-+ if (sscanf(tmp,"%d %d",&kbd_scancode, &kbd_down) == 2) {
-+// printk("kbd write %02x %02x\n",kbd_scancode,kbd_down);
-+ handle_scancode(kbd_scancode,kbd_down);
-+ }
-+
-+// printk("kbd write\n");
-+ return count;
-+}
-+#endif
-diff -Nur linux_c860_org/drivers/char/mem.c linux/drivers/char/mem.c
---- linux_c860_org/drivers/char/mem.c 2002-08-26 14:44:15.000000000 +0900
-+++ linux/drivers/char/mem.c 2004-06-10 21:09:10.000000000 +0900
-@@ -397,7 +397,7 @@
- if (count > size)
- count = size;
-
-- zap_page_range(mm, addr, count);
-+ zap_page_range(mm, addr, count, ZPR_NORMAL);
- zeromap_page_range(addr, count, PAGE_COPY);
-
- size -= count;
-diff -Nur linux_c860_org/drivers/char/pc_keyb.c linux/drivers/char/pc_keyb.c
---- linux_c860_org/drivers/char/pc_keyb.c 2002-08-26 14:38:31.000000000 +0900
-+++ linux/drivers/char/pc_keyb.c 2004-06-10 21:09:10.000000000 +0900
-@@ -464,14 +464,36 @@
-
- static unsigned char kbd_exists = 1;
-
--static inline void handle_keyboard_event(unsigned char scancode)
-+#ifdef CONFIG_UNICON
-+extern int (*Unicon_fnLowerKeyHook) (unsigned char ch);
-+extern int (*Unicon_fnKeyHook) (struct tty_struct *tty, \
-+ unsigned char ch, char flag);
-+#endif
-+static inline int handle_keyboard_event(unsigned char scancode)
- {
- #ifdef CONFIG_VT
- kbd_exists = 1;
-- if (do_acknowledge(scancode))
-- handle_scancode(scancode, !(scancode & 0x80));
-+ if (do_acknowledge(scancode)){
-+#ifdef CONFIG_UNICON
-+ if (Unicon_fnLowerKeyHook != NULL){
-+ /* return 1 ==> processed by kernel
-+ return 0 ==> processed by app */
-+ if (scancode == 0x58){ /* F12 kill unicode */
-+ Unicon_fnKeyHook = NULL;
-+ Unicon_fnLowerKeyHook = NULL;
-+ return 1;
-+ }
-+ if ((*Unicon_fnLowerKeyHook) (scancode) == 1)
-+ return 1;
-+ else
-+ handle_scancode(scancode,!(scancode & 0x80));
-+ } else
-+#endif
-+ handle_scancode(scancode, !(scancode & 0x80));
-+ }
- #endif
- tasklet_schedule(&keyboard_tasklet);
-+ return 0;
- }
-
- /*
-@@ -501,7 +523,8 @@
- if (status & KBD_STAT_MOUSE_OBF)
- handle_mouse_event(scancode);
- else
-- handle_keyboard_event(scancode);
-+ if(handle_keyboard_event(scancode))
-+ return status;
- }
-
- status = kbd_read_status();
-diff -Nur linux_c860_org/drivers/char/pcmcia/Config.in linux/drivers/char/pcmcia/Config.in
---- linux_c860_org/drivers/char/pcmcia/Config.in 2002-08-26 14:44:23.000000000 +0900
-+++ linux/drivers/char/pcmcia/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -5,13 +5,7 @@
- mainmenu_option next_comment
- comment 'PCMCIA character devices'
-
--if [ "$CONFIG_SERIAL" = "y" -o "$CONFIG_SERIAL_8250" = "y" ]; then
-- dep_tristate 'PCMCIA serial device support' CONFIG_PCMCIA_SERIAL_CS y
--else
-- if [ "$CONFIG_SERIAL" = "m" -o "$CONFIG_SERIAL_8250" = "m" ]; then
-- dep_tristate 'PCMCIA serial device support' CONFIG_PCMCIA_SERIAL_CS m
-- fi
--fi
-+dep_tristate 'PCMCIA serial device support' CONFIG_PCMCIA_SERIAL_CS $CONFIG_SERIAL
- if [ "$CONFIG_PCMCIA_SERIAL_CS" = "y" ]; then
- define_bool CONFIG_PCMCIA_CHRDEV y
- fi
-diff -Nur linux_c860_org/drivers/char/rtc.c linux/drivers/char/rtc.c
---- linux_c860_org/drivers/char/rtc.c 2002-08-26 14:38:31.000000000 +0900
-+++ linux/drivers/char/rtc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -326,7 +326,7 @@
- * means "don't care" or "match all". Only the tm_hour,
- * tm_min, and tm_sec values are filled in.
- */
--
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- get_rtc_alm_time(&wtime);
- break;
- }
-@@ -374,6 +374,7 @@
- }
- case RTC_RD_TIME: /* Read the time/date from RTC */
- {
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- get_rtc_time(&wtime);
- break;
- }
-diff -Nur linux_c860_org/drivers/char/serial.c linux/drivers/char/serial.c
---- linux_c860_org/drivers/char/serial.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/drivers/char/serial.c 2004-06-10 21:09:10.000000000 +0900
-@@ -61,6 +61,7 @@
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
- * 31-Jul-2002 Lineo Japan, Inc. for ARCH_PXA
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- static char *serial_version = "5.05c";
-@@ -98,11 +99,14 @@
-
- #include <linux/config.h>
- #include <linux/version.h>
-+
- #if defined(CONFIG_SABINAL_DISCOVERY) || \
- defined(CONFIG_ARCH_PXA_POODLE) || \
-- defined(CONFIG_ARCH_PXA_CORGI)
-+ defined(CONFIG_ARCH_PXA_CORGI) || \
-+ defined(CONFIG_ARCH_PXA_TOSA)
- #undef CONFIG_SERIAL_CONSOLE
- #endif
-+
- #if defined(CONFIG_SABINAL_DISCOVERY)
- #define CONFIG_REDEFINE_IO8BIT
- #endif
-@@ -259,7 +263,8 @@
- #elif defined(CONFIG_SA1100_COLLIE) || \
- defined(CONFIG_SABINAL_DISCOVERY) || \
- defined(CONFIG_ARCH_PXA_POODLE) || \
-- defined(CONFIG_ARCH_PXA_CORGI)
-+ defined(CONFIG_ARCH_PXA_CORGI) || \
-+ defined(CONFIG_ARCH_PXA_TOSA)
- #define SERIAL_DEV_OFFSET 3
- #else
- #define SERIAL_DEV_OFFSET 0
-@@ -1332,7 +1337,7 @@
- #ifdef CONFIG_ARCH_PXA
- if (state->type == PORT_PXA) {
- switch ((long)state->iomem_base) {
--#if defined(CONFIG_ARCH_SHARP_SL) && !defined(CONFIG_SABINAL_DISCOVERY)
-+#if defined(CONFIG_PM) && defined(CONFIG_ARCH_SHARP_SL) && !defined(CONFIG_SABINAL_DISCOVERY)
- case (long)&FFUART: lock_FCS(LOCK_FCS_FFUART, 1); CKEN |= CKEN6_FFUART; break;
- case (long)&BTUART: lock_FCS(LOCK_FCS_BTUART, 1); CKEN |= CKEN7_BTUART; break;
- case (long)&STUART: lock_FCS(LOCK_FCS_STUART, 1); CKEN |= CKEN5_STUART; break;
-@@ -1615,7 +1620,7 @@
- #ifdef CONFIG_ARCH_PXA
- if (state->type == PORT_PXA) {
- switch ((long)state->iomem_base) {
--#if defined(CONFIG_ARCH_SHARP_SL) && !defined(CONFIG_SABINAL_DISCOVERY)
-+#if defined(CONFIG_PM) && defined(CONFIG_ARCH_SHARP_SL) && !defined(CONFIG_SABINAL_DISCOVERY)
- case (long)&FFUART: CKEN &= ~CKEN6_FFUART; lock_FCS(LOCK_FCS_FFUART, 0); break;
- case (long)&BTUART: CKEN &= ~CKEN7_BTUART; lock_FCS(LOCK_FCS_BTUART, 0); break;
- case (long)&STUART: CKEN &= ~CKEN5_STUART; lock_FCS(LOCK_FCS_STUART, 0); break;
-@@ -6103,7 +6108,7 @@
- {
- register_console(&sercons);
- }
--#endif
-+#endif /* CONFIG_SERIAL_CONSOLE */
-
- /*
- Local variables:
-diff -Nur linux_c860_org/drivers/char/serial_pxa200.c linux/drivers/char/serial_pxa200.c
---- linux_c860_org/drivers/char/serial_pxa200.c 2003-01-29 16:14:45.000000000 +0900
-+++ linux/drivers/char/serial_pxa200.c 2004-06-10 21:09:10.000000000 +0900
-@@ -59,6 +59,8 @@
- *
- * Change Log
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- static char *serial_version = "5.05c";
-@@ -228,8 +230,9 @@
- #endif
- #ifdef CONFIG_PM
- #include <linux/pm.h>
--#include <linux/apm_bios.h>
- #endif
-+#include <linux/apm_bios.h>
-+#include <asm/sharp_char.h>
-
- /*
- * All of the compatibilty code so we can compile serial.c against
-@@ -414,7 +417,7 @@
-
- #define CONFIG_DISCOVERY_DVT
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- #define CONFIG_SHARPSL_PXA
- #endif
-
-@@ -439,17 +442,24 @@
- #define XPA210_DISCOVERY_IRDA_LINE 1
- #define xpa210_discovery_is_irda_line(line) ((line) == XPA210_DISCOVERY_IRDA_LINE)
-
--void clr_discovery_irda(u8 x){
-+static void clr_discovery_irda(u8 x){
- #if defined(CONFIG_SABINAL_DISCOVERY)
- ASIC3_GPIO_PIOD_B &= ~(0x1000);
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ reset_scoop_gpio(SCP_IR_POWERDWN);
-+ set_GPIO_mode(GPIO47_STTXD|GPIO_OUT);
-+ GPCR(GPIO47_STTXD) = GPIO_bit(GPIO47_STTXD);
- #elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
- GPSR(GPIO_IR_ON) = GPIO_bit(GPIO_IR_ON);
- #endif
- //printk("discovery_irda power on\n");
-- }
--void set_discovery_irda(u8 x){
-+}
-+static void set_discovery_irda(u8 x){
- #if defined(CONFIG_SABINAL_DISCOVERY)
- ASIC3_GPIO_PIOD_B |= 0x1000;
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ set_GPIO_mode(GPIO47_STTXD_MD);
-+ set_scoop_gpio(SCP_IR_POWERDWN);
- #elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
- GPCR(GPIO_IR_ON) = GPIO_bit(GPIO_IR_ON);
- #endif
-@@ -470,14 +480,53 @@
-
- #endif
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+#define PXA_BLUETOOTH_LINE 2
-+#define pxa_is_bluetooth_line(line) ((line) == PXA_BLUETOOTH_LINE)
-+
-+static int has_bluetooth = -1;
-+static int bluetooth_open = 0;
-+struct async_struct *bluetooth_info = 0;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#define AVOID_ROLLBACK
-+#ifdef AVOID_ROLLBACK
-+extern int rollback_cancel;
-+#endif
-+#endif
-+static int pxa_check_bluetooth_unit()
-+{
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ set_GPIO_mode(GPIO42_BTRXD|GPIO_IN);
-+ set_GPIO_mode(GPIO43_BTTXD|GPIO_IN);
-+ set_GPIO_mode(GPIO44_BTCTS|GPIO_IN);
-+ set_GPIO_mode(GPIO45_BTRTS|GPIO_IN);
-+ set_scoop_gpio(SCP_BT_PWR_EN);
-+ mdelay(5);
-+ if ( (GPLR(GPIO42_BTRXD) & GPIO_bit(GPIO42_BTRXD))==0 &&
-+ (GPLR(GPIO44_BTCTS) & GPIO_bit(GPIO44_BTCTS))==0) {
-+ reset_scoop_gpio(SCP_BT_PWR_EN);
-+ has_bluetooth=0;
-+ return 0; // no bluetooth
-+ }
-+ reset_scoop_gpio(SCP_BT_PWR_EN);
-+ has_bluetooth=1;
-+ return 1;
-+#else
-+ return 0;
-+#endif
-+}
-+#endif // end CONFIG_BLUETOOTH_SL
-+
- #ifdef CONFIG_PM
- static struct pm_dev *serial_pm_dev;
- #endif
-
-
--#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI))
-+#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA))
-+#ifdef CONFIG_PM
- extern int change_power_mode(unsigned long,int);
- #endif
-+#endif
-
- /*
- * tmp_buf is used as a temporary buffer by serial_write. We need to
-@@ -544,6 +593,7 @@
- read &= ~UART_MSR_CTS;
- else
- read |= UART_MSR_CTS;
-+
- if ( read & UART_MSR_DSR )
- read &= ~UART_MSR_DSR;
- else
-@@ -633,9 +683,10 @@
- #define STUART_MCR *(volatile unsigned char*)(&STUART + UART_MCR*4)
- #define STUART_ISR *(volatile unsigned char*)(&STUART + 8*4)
-
-+#ifdef CONFIG_PM
- void xpa210_discovery_irda_resume (void) {
-
--#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI))
-+#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA))
- if ( !change_power_mode(LOCK_FCS_STUART, 1) ) return;
- #endif
-
-@@ -652,14 +703,17 @@
- //printk("xpa210_discovery_irda_resume\n");
-
- }
-+#endif
-
- int xpa210_discovery_irda_enable(struct async_struct * info, u8 x){
-
- if (x == 0) {
- CKEN &= ~(0x20); //stuart
-
--#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI))
-+#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA))
-+#ifdef CONFIG_PM
- change_power_mode(LOCK_FCS_STUART, 0);
-+#endif /* CONFIG_PM */
- #endif
-
- info->IER &= ~(UART_IER_UUE);
-@@ -675,8 +729,10 @@
-
- //printk("xpa210_discovery_irda_disable\n");
- } else {
--#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI))
-+#if (defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA))
-+#ifdef CONFIG_PM
- if ( !change_power_mode(LOCK_FCS_STUART, 1) ) return 1;
-+#endif /* CONFIG_PM */
- #endif
-
- CKEN |= 0x20; //stuart
-@@ -696,9 +752,91 @@
- }
- return 0;
- }
-+#endif
-+
-+#if defined(CONFIG_BLUETOOTH_SL)
-+static int pxa_bluetooth_enable(struct async_struct * info, u8 x)
-+{
-+ if (has_bluetooth==0) return -ENODEV;
-+ if (x==0) { // off
-+ set_scoop_gpio(SCP_BT_RESET);
-+ CKEN &= ~(0x1<<7); //btuart
-+ set_GPIO_mode(GPIO42_BTRXD|GPIO_IN);
-+ set_GPIO_mode(GPIO43_BTTXD|GPIO_IN);
-+ set_GPIO_mode(GPIO44_BTCTS|GPIO_IN);
-+ set_GPIO_mode(GPIO45_BTRTS|GPIO_IN);
-+ mdelay(10); // wait 10ms
-+ reset_scoop_gpio(SCP_BT_RESET);
-+ reset_scoop_gpio(SCP_BT_PWR_EN);
-+ set_led_status(SHARP_LED_BLUETOOTH,0); // turn off BT LED
-+
-+ ICMR &= ~(1 << 21); //btuart
-+
-+ info->IER &= ~(UART_IER_UUE);
-+ serial_out(info, UART_IER, info->IER);
-+
-+ info->MCR = 0x0;
-+ serial_out(info, UART_MCR, info->MCR);
-+
-+ info->IER |= UART_IER_UUE; /* enable UUE */
-+ serial_out(info, UART_IER, info->IER);
-+
-+#ifdef CONFIG_PM
-+ change_power_mode(LOCK_FCS_BTUART, 0);
-+#endif /* CONFIG_PM */
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#ifdef AVOID_ROLLBACK
-+ rollback_cancel = 0;
-+#endif
-+#endif
-+ // printk("bluetooth close success.\n");
-+ } else { // on
-+#ifdef CONFIG_PM
-+ if ( !change_power_mode(LOCK_FCS_BTUART, 1) ) return 1;
-+#endif /* CONFIG_PM */
-+ ICMR &= ~(1 << 21); //btuart
-+ reset_scoop_gpio(SCP_BT_RESET);
-+ set_scoop_gpio(SCP_BT_PWR_EN);
-+
-+ set_GPIO_mode(GPIO42_BTRXD_MD);
-+ set_GPIO_mode(GPIO43_BTTXD_MD);
-+ set_GPIO_mode(GPIO44_BTCTS_MD);
-+ set_GPIO_mode(GPIO45_BTRTS_MD);
-+
-+ CKEN |= (0x1<<7); //btuart
-
-+ info->IER &= ~(UART_IER_UUE);
-+ serial_out(info, UART_IER, info->IER);
-+
-+ info->MCR = UART_MCR_OUT2;
-+ serial_out(info, UART_MCR, info->MCR);
-+
-+ info->tty->termios->c_cflag &= ~CBAUD;
-+ info->tty->termios->c_cflag |= (17 & CBAUD); // set 115.2k
-+ change_speed(info, 0);
-+
-+ info->IER = UART_IER_UUE|UART_IER_RDI|UART_IER_MSI|UART_IER_RTOIE; /* enable UUE */
-+ serial_out(info, UART_IER, info->IER);
-+ serial_inp(info, UART_RX); // reset DR
-+
-+ ICMR |= (1 << 21); //btuart
-+
-+ set_scoop_gpio(SCP_BT_RESET);
-+ mdelay(20); // wait 20ms
-+ reset_scoop_gpio(SCP_BT_RESET);
-+ set_led_status(SHARP_LED_BLUETOOTH,1); // BT LED on
-+
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#ifdef AVOID_ROLLBACK
-+ rollback_cancel = 1;
-+#endif
- #endif
-
-+ // printk("bluetooth open success.\n");
-+ }
-+ return 0;
-+}
-+#endif
-
- /*
- * For the 16C950
-@@ -824,11 +962,25 @@
-
- icount = &info->state->icount;
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_st_uart(info->iomem_base) || xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
- *status = serial_inp(info, UART_LSR);
- while (!(*status & UART_LSR_DR)) {
- printk("WoWWWW!\n");
- }
-+#if 1 //
-+ if (xpa2X0_is_bt_uart(info->iomem_base)) {
-+ if (*status & UART_LSR_OE) {
-+ printk("ERROR: Bluetooth Overrun!!\n");
-+ }
-+ if (*status & (UART_LSR_PE|UART_LSR_FE|0x80) ) {
-+ printk("ERROR: Bluetooth Error!!\n");
-+ }
-+ }
-+#endif
- }
-
- do {
-@@ -838,7 +990,11 @@
- return; // if TTY_DONT_FLIP is set
- }
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_st_uart(info->iomem_base) || xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
- while (!(*status & UART_LSR_DR))
- ;
- }
-@@ -851,7 +1007,11 @@
- #ifdef SERIAL_DEBUG_INTR
- printk("DR%02x:%02x...", ch, *status);
- #endif
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_st_uart(info->iomem_base) || xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
- goto IRDA_SKIP;
- }
- *tty->flip.flag_buf_ptr = 0;
-@@ -894,7 +1054,11 @@
- *status &= info->read_status_mask;
-
- #ifdef CONFIG_SERIAL_CONSOLE
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (!xpa2X0_is_st_uart(info->iomem_base) && !xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (!xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
- if (info->line == sercons.index) {
- /* Recover the break flag from console xmit */
- *status |= lsr_break_flag;
-@@ -996,7 +1160,19 @@
- // udelay(800);
-
- serial_outp(info, XPA2X0_UART_ISR, XPA210_DISCOVERY_IR_RECV);
--
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ } else if (xpa2X0_is_bt_uart(info->iomem_base)) {
-+
-+ while (!(serial_inp(info, UART_LSR) & UART_LSR_TEMT))
-+ ;
-+
-+ info->IER &= ~UART_IER_THRI;
-+ serial_out(info, UART_IER, info->IER);
-+ status0 = serial_inp(info, UART_IIR);
-+
-+ if (intr_done)
-+ *intr_done = 0;
-+#endif
- } else {
- info->IER &= ~UART_IER_THRI;
- serial_out(info, UART_IER, info->IER);
-@@ -1008,7 +1184,11 @@
- if( info->io_type == SERIAL_IO_MEM ){
- count = info->xmit_fifo_size / 2;
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_st_uart(info->iomem_base) || xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
- count = info->xmit_fifo_size ;
- }
- } else count = info->xmit_fifo_size;
-@@ -1039,7 +1219,6 @@
- } else {
- do {
- serial_out(info, UART_TX, info->xmit.buf[info->xmit.tail]);
--
- info->xmit.tail = (info->xmit.tail + 1) & (SERIAL_XMIT_SIZE-1);
- info->state->icount.tx++;
- if (info->xmit.head == info->xmit.tail)
-@@ -1064,6 +1243,10 @@
- // while (!(serial_inp(info, UART_LSR) & UART_LSR_TEMT))
- // ;
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ } else if (xpa2X0_is_bt_uart(info->iomem_base)) {
-+
-+#endif
- } else {
- info->IER &= ~UART_IER_THRI;
- serial_out(info, UART_IER, info->IER);
-@@ -1091,7 +1274,11 @@
-
- status = serial_in(info, UART_MSR);
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_st_uart(info->iomem_base) || xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
- // printk("check_modem_status: do nothing\n");
- return;
- }
-@@ -1325,12 +1512,21 @@
- goto IRDA_INTR_DONE;
- }
-
--
- do {
- status = serial_inp(info, UART_LSR);
- #ifdef SERIAL_DEBUG_INTR
- printk("status = %x...", status);
- #endif
-+#if 1 //
-+ if (xpa2X0_is_bt_uart(info->iomem_base)) {
-+ if (status & UART_LSR_OE) {
-+ printk("ERROR: Bluetooth Overrun!\n");
-+ }
-+ if (status & (UART_LSR_PE|UART_LSR_FE|0x80) ) {
-+ printk("ERROR: Bluetooth Error!\n");
-+ }
-+ }
-+#endif
- if (status & UART_LSR_DR)
- receive_chars(info, &status, regs);
-
-@@ -2230,6 +2426,35 @@
-
- return;
- }
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_bt_uart(info->iomem_base)) {
-+ cval = UART_LCR_WLEN8;
-+#if 1 // for BCSP unit
-+ if (cflag & PARENB) {
-+ cval |= UART_LCR_PARITY;
-+ printk("set even parity enable\n");
-+ }
-+ if (!(cflag & PARODD)) {
-+ cval |= UART_LCR_EPAR;
-+ }
-+#endif
-+ fcr = UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR |UART_FCR_CLEAR_XMIT | UART_FCR_TRIGGER_8;
-+
-+ save_flags(flags); cli();
-+ quot = 0x0008; // 115.2kbps
-+
-+ serial_outp(info, UART_LCR, cval | UART_LCR_DLAB); /* set DLAB */
-+ serial_outp(info, UART_DLL, quot & 0xff); /* LS of divisor */
-+ serial_outp(info, UART_DLM, quot >> 8); /* MS of divisor */
-+ serial_outp(info, UART_LCR, cval); /* reset DLAB */
-+ info->LCR = cval; /* Save LCR */
-+ serial_outp(info, UART_FCR, fcr); /* set fcr */
-+
-+ restore_flags(flags);
-+
-+ return;
-+ }
-+#endif
-
- /* Set up FIFO's */
- if (uart_config[info->state->type].flags & UART_USE_FIFO) {
-@@ -2448,7 +2673,11 @@
-
- #if defined(CONFIG_ARCH_SHARP_SL)
- if(info->io_type == SERIAL_IO_MEM){
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_st_uart(info->iomem_base) || xpa2X0_is_bt_uart(info->iomem_base)) {
-+#else
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-+#endif
-
- info->IER |= UART_IER_THRI;
- serial_out(info, UART_IER, info->IER);
-@@ -3508,9 +3737,10 @@
-
-
- //close IR
-+#ifdef CONFIG_PM
- #if defined(CONFIG_ARCH_SHARP_SL)&& (CONFIG_IRDA)
- if (xpa2X0_is_st_uart(info->iomem_base)) {
-- ICMR &= ~(1 << 20); //btuart
-+ ICMR &= ~(1 << 20); //stuart
- xpa210_discovery_irda_power_off();
- xpa210_discovery_irda_enable(info, 0);
- irda_open = 0; irda_info = 0;
-@@ -3519,6 +3749,13 @@
- #endif
- }
- #endif
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (xpa2X0_is_bt_uart(info->iomem_base)) {
-+ pxa_bluetooth_enable(info, 0);
-+ bluetooth_open = 0; bluetooth_info = 0;
-+ }
-+#endif // end CONFIG_BLUETOOTH_SL
-+#endif /* CONFIG_PM */
-
- shutdown(info);
- if (tty->driver.flush_buffer)
-@@ -3540,12 +3777,14 @@
- wake_up_interruptible(&info->close_wait);
- MOD_DEC_USE_COUNT;
-
--#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+#ifdef CONFIG_PM
- xpa210_discovery_serial_power_off();
- if (xpa2X0_is_ff_uart(info->iomem_base)) {
- CKEN &= ~CKEN6_FFUART;
- change_power_mode(LOCK_FCS_FFUART, 0);
- }
-+#endif /* CONFIG_PM */
- #endif
-
- }
-@@ -3906,12 +4145,14 @@
- #endif
- }
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+#ifdef CONFIG_PM
- xpa210_discovery_serial_power_on();
- if (xpa2X0_is_ff_uart(info->iomem_base)) {
-- CKEN |= CKEN6_FFUART;
- if ( !change_power_mode(LOCK_FCS_FFUART, 1) ) return -EAGAIN;
-+ CKEN |= CKEN6_FFUART;
- }
-+#endif /* CONFIG_PM */
- #endif
-
- /*
-@@ -3964,7 +4205,7 @@
- info->IER = 0x01;
- if ( xpa210_discovery_irda_enable(info, 1) ) return -EAGAIN;
- xpa210_discovery_irda_power_on();
-- ICMR |= (1 << 20); //btuart
-+ ICMR |= (1 << 20); //stuart
- irda_open = 1;
- irda_info = info;
- #if defined(CONFIG_SABINAL_DISCOVERY)
-@@ -3973,6 +4214,15 @@
- }
- #endif
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if (pxa_is_bluetooth_line(line)) {
-+ int ret;
-+ if ( (ret = pxa_bluetooth_enable(info, 1))!=0 ) return ret;
-+ bluetooth_open = 1;
-+ bluetooth_info = info;
-+ }
-+#endif // end CONFIG_BLUETOOTH_SL
-+
- #ifdef SERIAL_DEBUG_OPEN
- printk("\nrs_open ttys%d successful...", info->line);
- #endif
-@@ -6161,24 +6411,29 @@
-
- void cotulla_serial_suspend(void) {
-
--#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- xpa210_discovery_serial_power_off();
- #endif
-
- #ifdef CONFIG_IRDA
- if ( irda_open == 1 ) {
-- ICMR &= ~(1 << 20); //btuart
-+ ICMR &= ~(1 << 20); //stuart
- xpa210_discovery_irda_power_off();
- xpa210_discovery_irda_enable(irda_info, 0);
-
- }
- #endif
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if ( bluetooth_open ) {
-+ pxa_bluetooth_enable(bluetooth_info, 0);
-+ }
-+#endif // end CONFIG_BLUETOOTH_SL
- }
-
- void cotulla_serial_resume(void) {
-
--#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- xpa210_discovery_serial_power_on();
- #endif
-
-@@ -6192,7 +6447,7 @@
- #else
- #if defined(CONFIG_SABINAL_DISCOVERY)
- BTUART_MCR |= UART_MCR_OUT2;
--#elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- FFUART_MCR |= UART_MCR_OUT2;
- #endif
- STUART_MCR |= UART_MCR_OUT2;
-@@ -6202,10 +6457,16 @@
- change_speed(irda_info, 0);
- if ( xpa210_discovery_irda_enable(irda_info, 1) ) return;
- xpa210_discovery_irda_power_on();
-- ICMR |= (1 << 20); //btuart
-+ ICMR |= (1 << 20); //stuart
- }
- #endif
-
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ if ( bluetooth_open == 1 ) {
-+ change_speed(bluetooth_info, 0);
-+ if ( pxa_bluetooth_enable(bluetooth_info, 1) ) return;
-+ }
-+#endif // end CONFIG_BLUETOOTH_SL
- #endif
-
- }
-@@ -6226,7 +6487,7 @@
-
- return 0;
- }
--#endif
-+#endif /* CONFIG_PM */
-
- /*
- * The serial driver boot-time initialization code!
-@@ -6289,7 +6550,7 @@
- serial_driver.subtype = SERIAL_TYPE_NORMAL;
- serial_driver.init_termios = tty_std_termios;
- serial_driver.init_termios.c_cflag =
-- B9600 | CS8 | CREAD | HUPCL | CLOCAL;
-+ B9600 | CS8 | CREAD | HUPCL | CLOCAL;
- serial_driver.flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS;
- serial_driver.refcount = &serial_refcount;
- serial_driver.table = serial_table;
-@@ -6368,6 +6629,9 @@
- if (state->flags & ASYNC_BOOT_AUTOCONF)
- autoconfig(state);
- }
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ pxa_check_bluetooth_unit();
-+#endif
- for (i = 0, state = rs_table; i < NR_PORTS; i++,state++) {
- if (state->type == PORT_UNKNOWN)
- continue;
-@@ -6384,6 +6648,16 @@
- state->iomem_base, state->irq,
- uart_config[state->type].name);
- printk(", using IRDA\n");
-+#if defined(CONFIG_BLUETOOTH_SL)
-+ } else if (xpa2X0_is_bt_uart(state->iomem_base)) {
-+ printk(KERN_INFO"ttyS%02d%s at 0x%px (irq = %d) is a %s",
-+ state->line + SERIAL_DEV_OFFSET,
-+ (state->flags & ASYNC_FOURPORT) ? " FourPort" : "",
-+ state->iomem_base, state->irq,
-+ uart_config[state->type].name);
-+ if (has_bluetooth==1) printk(", using Bluetooth\n");
-+ else printk("\n");
-+#endif // end CONFIG_BLUETOOTH_SL
- } else {
- printk(KERN_INFO"ttyS%02d%s at 0x%px (irq = %d) is a %s\n",
- state->line + SERIAL_DEV_OFFSET,
-@@ -6418,7 +6692,7 @@
- probe_serial_pnp();
- #endif
-
--#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if (defined(CONFIG_SABINAL_DISCOVERY) && (CONFIG_DISCOVERY_EVT2)) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- xpa210_discovery_serial_power_off();
- #endif
-
-@@ -6435,9 +6709,23 @@
- v2 |= 0x00008000;
- GPDR1 = v2;
-
--#if !defined(CONFIG_SABINAL_DISCOVERY)
-+#if !defined(CONFIG_SABINAL_DISCOVERY) && !defined(CONFIG_ARCH_PXA_TOSA)
- GPDR(GPIO_IR_ON) |= GPIO_bit(GPIO_IR_ON);
- #endif
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ SCP_REG_GPCR |= SCP_IR_POWERDWN;
-+ set_GPIO_mode(GPIO47_STTXD|GPIO_OUT);
-+ GPCR(GPIO47_STTXD) = GPIO_bit(GPIO47_STTXD);
-+ set_GPIO_mode(GPIO46_STRXD_MD);
-+
-+#endif
-+
-+#if defined(CONFIG_BLUETOOTH_SL)
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ SCP_REG_GPCR |= SCP_BT_RESET;
-+ SCP_REG_GPCR |= SCP_BT_PWR_EN;
-+#endif
-+#endif // end CONFIG_BLUETOOTH_SL
- #endif
-
- #ifdef CONFIG_PM
-diff -Nur linux_c860_org/drivers/char/sharp_buzzer.c linux/drivers/char/sharp_buzzer.c
---- linux_c860_org/drivers/char/sharp_buzzer.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/drivers/char/sharp_buzzer.c 2004-06-10 21:09:10.000000000 +0900
-@@ -18,6 +18,7 @@
- * ChangeLog:
- * 04-16-2001 Lineo Japan, Inc. ...
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/config.h>
-@@ -52,7 +53,7 @@
- # define SHARP_BUZZER_MAJOR 227 /* number of bare sharp_buzzer driver */
- #endif
-
--#if !defined(CONFIG_SA1100_COLLIE) && !defined(CONFIG_ARCH_PXA_POODLE) && !defined(CONFIG_ARCH_PXA_CORGI)
-+#if !defined(CONFIG_SA1100_COLLIE) && !defined(CONFIG_ARCH_PXA_POODLE) && !defined(CONFIG_ARCH_PXA_CORGI) && !defined(CONFIG_ARCH_PXA_TOSA)
- #define USE_IMELODY_FORMAT
- #endif
-
-@@ -122,6 +123,22 @@
- #define resume_buzzer_arch() poodle_resume_buzzer()
- #endif
-
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+extern int tosa_play_sound_by_id(int soundid,int volume);
-+extern int tosa_play_sound_by_hz(unsigned int hz,unsigned int msecs,int volume);
-+extern int tosa_buzzer_dev_init(void);
-+extern int tosa_buzzer_supported(int which); /* return -EINVAL if unspoorted , otherwise return >= 0 value */
-+extern int tosa_suspend_buzzer(void);
-+extern int tosa_resume_buzzer(void);
-+#define play_sound_by_id(id,vol) tosa_play_sound_by_id((id),(vol))
-+#define stop_sound() tosa_stop_sound()
-+#define stop_sound_by_id(id) tosa_stop_sound()
-+#define play_sound_by_hz(hz,msecs,vol) tosa_play_sound_by_hz((hz),(msecs),(vol))
-+#define buzzer_dev_init() tosa_buzzer_dev_init()
-+#define buzzer_supported_arch(w) tosa_buzzer_supported((w))
-+#define suspend_buzzer_arch() tosa_suspend_buzzer()
-+#define resume_buzzer_arch() tosa_resume_buzzer()
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-
- /*
- * logical level drivers
-@@ -498,7 +515,7 @@
- if( minor != SHARP_BUZZER_MINOR ) return -ENODEV;
- if( ! device_initialized ){
- int i;
--#if !defined(CONFIG_SA1100_COLLIE) && !defined(CONFIG_ARCH_PXA_POODLE) && !defined(CONFIG_ARCH_PXA_CORGI)
-+#if !defined(CONFIG_SA1100_COLLIE) && !defined(CONFIG_ARCH_PXA_POODLE) && !defined(CONFIG_ARCH_PXA_CORGI) && !defined(CONFIG_ARCH_PXA_TOSA)
- buzzer_dev_init();
- #endif
- for(i=0;i<=SHARP_BUZ_WHICH_MAX;i++){
-@@ -750,7 +767,7 @@
- #endif
-
-
--#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- buzzer_dev_init();
- #endif
-
-diff -Nur linux_c860_org/drivers/char/sharp_kbdctl.c linux/drivers/char/sharp_kbdctl.c
---- linux_c860_org/drivers/char/sharp_kbdctl.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/drivers/char/sharp_kbdctl.c 2004-06-10 21:09:10.000000000 +0900
-@@ -18,6 +18,7 @@
- * Change Log
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 1-Nov-2003 Sharp Corporation for Tosa
- */
-
- #include <linux/config.h>
-@@ -67,9 +68,10 @@
- extern int restore_all_holdkey_info(void);
- extern int customize_del_holdkey_info(int hardcode);
- extern int customize_restore_holdkey_info(int hardcode);
--
--
--
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+extern int set_port_key_setting( int num, int val );
-+extern int get_port_key_setting( int num );
-+#endif
-
- /*
- * operations....
-@@ -157,7 +159,11 @@
- break;
- case SHARP_EXTMODIF_NUMLOCK:
- sharppda_kbd_extmodif_togglestatus(c);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ c = 32; f = 3; // numlock keycode
-+#else
- c = SLKEY_NUMLOCK; f = 3;
-+#endif
- break;
- default:
- return -EINVAL;
-@@ -195,6 +201,18 @@
- error = sharppda_kbd_extmodif_togglestatus(arg);
- if( error ) return error;
- }
-+ case SHARP_KBDCTL_SETMODIFSTAT:
-+ {
-+ int error;
-+ int val;
-+ sharp_kbdctl_modifstat* puser = (sharp_kbdctl_modifstat*)arg;
-+ if( ! puser ) return -EINVAL;
-+ val = sharppda_kbd_extmodif_showstatus(puser->which);
-+ if (puser->stat!=val) {
-+ error = sharppda_kbd_extmodif_togglestatus(puser->which);
-+ if( error ) return error;
-+ }
-+ }
- break;
- case SHARP_KBDCTL_SETHOLDTH:
- {
-@@ -311,6 +329,20 @@
- if( error ) return error;
- }
- break;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ case SHARP_KBDCTL_SETSWKEY:
-+ {
-+ sharp_kbdctl_swkey* puser = (sharp_kbdctl_swkey*)arg;
-+ if( ! puser ) return -EINVAL;
-+ return set_port_key_setting(puser->key,puser->mode);
-+ }
-+ break;
-+ case SHARP_KBDCTL_GETSWKEY:
-+ {
-+ return get_port_key_setting(arg);
-+ }
-+ break;
-+#endif
- default:
- return -EINVAL;
- }
-diff -Nur linux_c860_org/drivers/char/sharp_led.c linux/drivers/char/sharp_led.c
---- linux_c860_org/drivers/char/sharp_led.c 2002-12-18 19:28:00.000000000 +0900
-+++ linux/drivers/char/sharp_led.c 2004-06-10 21:09:10.000000000 +0900
-@@ -19,6 +19,7 @@
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
- * 27-AUG-2002 Edward Chen, Steve Lin for Discovery
- * 12-Dec-2002 Lineo Japan, Inc.
-+ * 1-Nov-2003 Sharp Corporation for Tosa
- *
- */
- #include <linux/config.h>
-@@ -72,7 +73,7 @@
- #define suspend_led_arch() collie_suspend_led()
- #define resume_led_arch() collie_resume_led()
- #define standby_led_arch() (0)
--#elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- extern int sharpsl_led_supported(int which); /* return -EINVAL if unspoorted , otherwise return >= 0 value */
- extern int sharpsl_turn_led_status(int which,int status); /* set LED status to directed value. */
- extern int sharpsl_init_led(void);
-@@ -209,33 +210,33 @@
- {
- switch (req) {
- case PM_STANDBY:
--#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- set_led_status(SHARP_LED_PDA,LED_PDA_SUSPENDED);
- standby_led_arch();
- #endif
- break;
-
- case PM_BLANK:
--#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- set_led_status(SHARP_LED_PDA,LED_PDA_SUSPENDED);
- #endif
- break;
-
- case PM_UNBLANK:
--#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- set_led_status(SHARP_LED_PDA,LED_PDA_RUNNING);
- #endif
- break;
-
- case PM_SUSPEND:
--#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- set_led_status(SHARP_LED_PDA,LED_PDA_OFF);
- suspend_led_arch();
- #endif
- break;
-
- case PM_RESUME:
--#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_SA1100_COLLIE) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- set_led_status(SHARP_LED_PDA,LED_PDA_RUNNING);
- resume_led_arch();
- #endif
-diff -Nur linux_c860_org/drivers/char/sharpsl_led.c linux/drivers/char/sharpsl_led.c
---- linux_c860_org/drivers/char/sharpsl_led.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/drivers/char/sharpsl_led.c 2004-06-10 21:09:10.000000000 +0900
-@@ -18,6 +18,7 @@
- * ChangeLog:
- * based on collie_led.c Aug. 26 2002 LINEO
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 1-Nov-2003 Sharp Corporation for Tosa
- *
- */
-
-@@ -47,6 +48,9 @@
- #if defined(CONFIG_ARCH_PXA_CORGI)
- #include <asm/arch/corgi.h>
- #endif
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#include <asm/arch/tosa.h>
-+#endif
- #include <asm/arch/hardware.h>
-
- #include <linux/timer.h>
-@@ -69,7 +73,8 @@
- {
- set_led_status(SHARP_LED_CHARGER,LED_CHARGER_ERROR);
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-+static int led_suspended=0;
- void sharpsl_charge_wait_ms(void)
- {
- unsigned long time = OSCR;
-@@ -88,6 +93,18 @@
- }
- }
-
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+void sharpsl_charge_err_off(void)
-+{
-+ while(1) {
-+ set_scoop_jc_gpio(SCP_LED_ORANGE);
-+ sharpsl_charge_wait( 250 );
-+ reset_scoop_jc_gpio(SCP_LED_ORANGE);
-+ sharpsl_charge_wait( 250 );
-+ if ((GPLR(GPIO_AC_IN) & GPIO_bit(GPIO_AC_IN))!=0) break;
-+ }
-+}
-+#else // for Corgi
- void sharpsl_charge_err_off(void)
- {
- while(1) {
-@@ -99,6 +116,7 @@
- }
- }
- #endif
-+#endif
-
- #if defined(CONFIG_ARCH_PXA_POODLE)
- #define LED_ONOFF_MASK (LCM_LPT_TOFL|LCM_LPT_TOFH)
-@@ -109,7 +127,7 @@
- #define LED_BLNK(REG,X,Y) ((REG)=((REG)&~LED_BLNK_MASK)|LED_BLNK_VAL(X,Y))
- #endif
-
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- struct timer_list orange_led_blink_timer;
- struct st_orange_blink {
- int blink_switch;
-@@ -120,16 +138,76 @@
- #define BLINK_SLOW 2
- #define ORANGE_LED_SW 1
- #define GREEN_LED_SW 2
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+#define BLUE_LED_SW 3
-+#define WLAN_LED_SW 4
-+#define LED_NUM 4
-+
-+static int get_ledport( int sw )
-+{
-+ int port=-1;
-+ switch(sw) {
-+ case ORANGE_LED_SW:
-+ port = SCP_LED_ORANGE;
-+ break;
-+ case GREEN_LED_SW:
-+ port = SCP_LED_GREEN;
-+ break;
-+ case BLUE_LED_SW:
-+ port = SCP_LED_BLUE;
-+ break;
-+ case WLAN_LED_SW:
-+ port = SCP_LED_WLAN;
-+ break;
-+ }
-+ return port;
-+}
-+
-+static void set_led( int sw, int on )
-+{
-+ int port=get_ledport(sw);
-+ if (port==-1) {
-+ printk(__FUNCTION__ ": unknown LED %d\n",sw);
-+ return;
-+ }
-+ if (on) set_scoop_jc_gpio(port);
-+ else reset_scoop_jc_gpio(port);
-+ // printk("setled(%d,%d)\n",sw,on);
-+}
-+
-+static int get_led( int sw )
-+{
-+ int port=get_ledport(sw);
-+ if (port==-1) {
-+ printk(__FUNCTION__ ": unknown LED %d\n",sw);
-+ return;
-+ }
-+ return (SCP_JC_REG_GPWR&port)?1:0;
-+}
-+
-+#define LED_OFF(n) set_led(n,0)
-+#define LED_ON(n) set_led(n,1)
-+#define LED_STATUS(n) get_led(n)
-+static int led_resume_buffer=0;
-+#endif
-
- static void blink_orange_led(unsigned long data)
- {
- struct st_orange_blink *orange = (struct st_orange_blink *)data;
-
- if (orange->blink_switch == 0) {
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ LED_ON(ORANGE_LED_SW);
-+#else
- GPSR(GPIO_LED_ORANGE) = GPIO_bit(GPIO_LED_ORANGE);
-+#endif
- orange->blink_switch = 1;
- } else {
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ LED_OFF(ORANGE_LED_SW);
-+#else
- GPCR(GPIO_LED_ORANGE) = GPIO_bit(GPIO_LED_ORANGE);
-+#endif
- orange->blink_switch = 0;
- }
-
-@@ -165,9 +243,11 @@
- del_timer(&orange_led_blink_timer);
- }
-
-+#if ! defined(CONFIG_ARCH_PXA_TOSA)
- #define LED_OFF(n) ( (n == ORANGE_LED_SW) ? (GPCR(GPIO_LED_ORANGE) = GPIO_bit(GPIO_LED_ORANGE)) : (reset_scoop_gpio(SCP_LED_GREEN)) )
-
- #define LED_ON(n) ( (n == ORANGE_LED_SW) ? (GPSR(GPIO_LED_ORANGE) = GPIO_bit(GPIO_LED_ORANGE)) : (set_scoop_gpio(SCP_LED_GREEN)) )
-+#endif
-
- #define LED_BLNK(n) orange_led_start_blink(n)
- #endif /* CONFIG_ARCH_PXA_CORGI */
-@@ -178,7 +258,7 @@
- {
- #if defined(CONFIG_ARCH_PXA_POODLE)
- LED_OFF(LCM_LPT0);
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- LED_OFF(ORANGE_LED_SW);
- orange_led_stop_blink();
- #endif
-@@ -188,7 +268,7 @@
- {
- #if defined(CONFIG_ARCH_PXA_POODLE)
- LED_ON(LCM_LPT0);
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- LED_ON(ORANGE_LED_SW);
- #endif
- }
-@@ -198,7 +278,7 @@
- led0_off();
- #if defined(CONFIG_ARCH_PXA_POODLE)
- LED_BLNK(LCM_LPT0,2,2);
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- LED_BLNK(BLINK_FAST);
- #endif
- }
-@@ -208,7 +288,7 @@
- led0_off();
- #if defined(CONFIG_ARCH_PXA_POODLE)
- LED_BLNK(LCM_LPT0,7,7);
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- LED_BLNK(BLINK_SLOW);
- #endif
- }
-@@ -219,7 +299,7 @@
- {
- #if defined(CONFIG_ARCH_PXA_POODLE)
- LED_OFF(LCM_LPT1);
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- LED_OFF(GREEN_LED_SW);
- #endif
- }
-@@ -228,7 +308,7 @@
- {
- #if defined(CONFIG_ARCH_PXA_POODLE)
- LED_ON(LCM_LPT1);
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- LED_ON(GREEN_LED_SW);
- #endif
- }
-@@ -376,7 +456,7 @@
- expires: -1,
- next: -1
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- {
- ledstate: SHARPSLLED_ON ,
- expires: (HZ/10 + HZ/50),
-@@ -397,7 +477,7 @@
- expires: -1,
- next: -1
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- {
- ledstate: SHARPSLLED_ON ,
- expires: ((4*HZ)/5 + (2*HZ)/25),
-@@ -418,7 +498,7 @@
- expires: -1,
- next: -1
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- {
- ledstate: SHARPSLLED_ON ,
- expires: (HZ/10 + HZ/50),
-@@ -439,7 +519,7 @@
- expires: -1,
- next: -1
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- {
- ledstate: SHARPSLLED_ON ,
- expires: HZ/4,
-@@ -460,7 +540,7 @@
- expires: -1,
- next: -1
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- {
- ledstate: SHARPSLLED_ON ,
- expires: HZ/2,
-@@ -481,7 +561,7 @@
- expires: -1,
- next: -1
- }
--#elif defined(CONFIG_ARCH_PXA_CORGI)
-+#elif defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- {
- ledstate: SHARPSLLED_ON ,
- expires: ((4*HZ)/5 + (2*HZ)/25),
-@@ -610,6 +690,98 @@
- led0_off();
- }
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+typedef struct {
-+ int status;
-+ int blink_switch;
-+ long blink_interval;
-+ struct timer_list timer;
-+} LED_BLINK;
-+static LED_BLINK st_led_status[LED_NUM+1];
-+static int led_status_initialized=0;
-+
-+static void led_on(int led)
-+{
-+ del_timer(&st_led_status[led].timer);
-+ st_led_status[led].status=1;
-+ LED_ON(led);
-+}
-+static void led_off(int led)
-+{
-+ del_timer(&st_led_status[led].timer);
-+ st_led_status[led].status=0;
-+ LED_OFF(led);
-+}
-+
-+static void led_blink_func(unsigned long data)
-+{
-+ int led = data;
-+ if (st_led_status[led].blink_switch==0 && led_suspended==0 ) {
-+ LED_ON(led);
-+ st_led_status[led].blink_switch=1;
-+ } else {
-+ LED_OFF(led);
-+ st_led_status[led].blink_switch=0;
-+ }
-+ init_timer(&st_led_status[led].timer);
-+ st_led_status[led].timer.function = led_blink_func;
-+ st_led_status[led].timer.expires = jiffies + st_led_status[led].blink_interval;
-+ st_led_status[led].timer.data = led;
-+ add_timer(&st_led_status[led].timer);
-+}
-+
-+static void led_start_blink(int led, int interval)
-+{
-+ del_timer(&st_led_status[led].timer);
-+ switch (interval) {
-+ case BLINK_SLOW:
-+ st_led_status[led].blink_interval = (4*HZ)/5 + (2*HZ)/25;
-+ st_led_status[led].status = 2;
-+ break;
-+ case BLINK_FAST:
-+ st_led_status[led].blink_interval = HZ / 4;
-+ st_led_status[led].status = 3;
-+ break;
-+ default :
-+ return;
-+ }
-+
-+ st_led_status[led].blink_switch=0;
-+ led_blink_func(led);
-+}
-+
-+static void sharpsl_led_process_ex(int led_sw)
-+{
-+ int *leds = sharpslled_internal_logical;
-+ int status=-1;
-+ switch(led_sw) {
-+ case BLUE_LED_SW:
-+ status = leds[SHARP_LED_BLUETOOTH];
-+ break;
-+ case WLAN_LED_SW:
-+ status = leds[SHARP_LED_WLAN];
-+ break;
-+ }
-+ if ( status == -1 || status == st_led_status[led_sw].status ) return;
-+ if (led_suspended) status=0; // force off
-+ switch(status) {
-+ case 0: // off
-+ led_off(led_sw);
-+ return;
-+ case 1: // on
-+ led_on(led_sw);
-+ return;
-+ case 2: // blink
-+ led_start_blink(led_sw,BLINK_SLOW);
-+ return;
-+ case 3: // blink fast
-+ led_start_blink(led_sw,BLINK_FAST);
-+ return;
-+ }
-+ led_off(led_sw);
-+}
-+#endif
-+
- static sharpled_pattern_item* decide_physical_led(void)
- {
- int *leds = sharpslled_internal_logical;
-@@ -632,7 +804,7 @@
- sharpslled_internal_logical[15]));
-
- /******* 1st: controlled *******/
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- if( (leds[SHARP_LED_COLLIE_1] > LED_COLLIE_1_ON) &&
- (leds[SHARP_LED_PDA] == LED_PDA_OFF) )
- return NULL;
-@@ -662,10 +834,10 @@
- sharpsl_ledpat_softflash : NULL;
- }
-
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- /* A3-1:R:SHARP_LED_CHARGER=LED_CHARGER_ERROR */
-
--#if defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- /* A3-non-spec:G:turn off */
- if( leds[SHARP_LED_PDA] == LED_PDA_OFF )
- return NULL;
-@@ -777,6 +949,14 @@
- if( which < 0 || which > SHARP_LED_WHICH_MAX ) return -EINVAL;
- sharpslled_internal_logical[which] = status;
- sharpsl_led0_process();
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ {
-+ int i;
-+ for (i=3; i<=LED_NUM; i++) {
-+ sharpsl_led_process_ex(i);
-+ }
-+ }
-+#endif
- if( curpat ) sharpled_pattern_end(&sharpsl_led1_player);
- if( ( pat = decide_physical_led() ) != NULL ){
- sharpled_pattern_start(&sharpsl_led1_player,pat);
-@@ -787,13 +967,44 @@
-
- int sharpsl_init_led(void)
- {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if (!led_status_initialized) {
-+ memset(&st_led_status,0,sizeof(st_led_status));
-+ led_status_initialized=1;
-+ }
-+#endif
- return 0;
- }
- int sharpsl_suspend_led(void)
- {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ led_suspended=1;
-+ {
-+ int i;
-+ led_resume_buffer = 0;
-+ for (i=1; i<=LED_NUM; i++) {
-+ if (LED_STATUS(i)) {
-+ led_resume_buffer |= 0x1<<i;
-+ LED_OFF(i);
-+ }
-+ }
-+ }
-+#endif
- return 0;
- }
- int sharpsl_resume_led(void)
- {
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ led_suspended=0;
-+ {
-+ int i;
-+ for (i=1; i<=LED_NUM; i++) {
-+ if (led_resume_buffer & (0x1<<i)) {
-+ LED_ON(i);
-+ }
-+ }
-+ led_resume_buffer = 0;
-+ }
-+#endif
- return 0;
- }
-diff -Nur linux_c860_org/drivers/char/tosa_keyb.c linux/drivers/char/tosa_keyb.c
---- linux_c860_org/drivers/char/tosa_keyb.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_keyb.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,234 @@
-+/*
-+ * linux/drivers/char/tosa_keyb.c
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ * drivers/char/corgi_keyb.c
-+ * drivers/char/collie_keyb.c
-+ * drivers/char/iris_keyb.c
-+ * drivers/char/kbd_linkup.c - Keyboard Driver for Linkup-7200
-+ * Copyright (C) Roger Gammans 1998
-+ * Written for Linkup 7200 by Xuejun Tao, ISDcorp
-+ * Refer to kbd_7110.c (Cirrus Logic 7110 Keyboard driver)
-+ *
-+ * ChangeLong:
-+ * 04-25-2001 Lineo Japan, Inc.
-+ * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
-+ * 12-Dec-2002 Sharp Corporation
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ */
-+#include <linux/config.h>
-+#include <linux/init.h>
-+#include <linux/poll.h>
-+#include <linux/wait.h>
-+#include <asm/arch/keyboard.h>
-+#include <asm/uaccess.h>
-+#include <linux/tqueue.h>
-+#include <linux/kbd_ll.h>
-+#include <linux/delay.h>
-+#include <asm/arch/pxa-regs.h>
-+
-+#ifdef USE_KBD_IRQ // could be defined in asm/arch/keyboard.h
-+#include <asm/irq.h> // for linkup keyboard interrupt
-+#endif
-+
-+#include <asm/arch/irqs.h>
-+
-+#ifndef TOSA_KBD_MAJOR
-+# define TOSA_KBD_MAJOR 61
-+#endif
-+
-+#ifdef CONFIG_PM
-+#include <linux/pm.h>
-+static struct pm_dev *corgi_kbd_pm_dev;
-+#endif
-+
-+/*
-+ * common logical driver definition
-+ */
-+extern void sharppda_kbd_press(int keycode);
-+extern void sharppda_kbd_release(int keycode);
-+extern void sharppda_scan_logdriver_init(void);
-+extern void sharppda_scan_key_gpio(void* dummy);
-+#define tosa_kbd_tick sharppda_scan_key_gpio
-+
-+/*
-+ * physical driver depending on TOSA target.
-+ */
-+void tosa_kbd_discharge_all(void)
-+{
-+ // STROBE All HiZ
-+ GPCR1 = GPIO_HIGH_STROBE_BIT;
-+ GPDR1 &= ~GPIO_HIGH_STROBE_BIT;
-+ GPCR2 = GPIO_LOW_STROBE_BIT;
-+ GPDR2 &= ~GPIO_LOW_STROBE_BIT;
-+}
-+
-+void tosa_kbd_charge_all(void)
-+{
-+}
-+
-+void tosa_kbd_activate_all(void)
-+{
-+ // STROBE ALL -> High
-+ GPSR1 = GPIO_HIGH_STROBE_BIT;
-+ GPDR1 |= GPIO_HIGH_STROBE_BIT;
-+ GPSR2 = GPIO_LOW_STROBE_BIT;
-+ GPDR2 |= GPIO_LOW_STROBE_BIT;
-+
-+ udelay(KB_DISCHARGE_DELAY);
-+
-+ // STATE CLEAR
-+ GEDR2 |= GPIO_ALL_SENSE_BIT;
-+}
-+
-+void tosa_kbd_activate_col(int col)
-+{
-+ if (col<=5) {
-+ // STROBE col -> High, not col -> HiZ
-+ GPSR1 = GPIO_STROBE_BIT(col);
-+ GPDR1 = (GPDR1 & ~GPIO_HIGH_STROBE_BIT) | GPIO_STROBE_BIT(col);
-+ } else {
-+ // STROBE col -> High, not col -> HiZ
-+ GPSR2 = GPIO_STROBE_BIT(col);
-+ GPDR2 = (GPDR2 & ~GPIO_LOW_STROBE_BIT) | GPIO_STROBE_BIT(col);
-+ }
-+}
-+
-+void tosa_kbd_reset_col(int col)
-+{
-+ if (col<=5) {
-+ // STROBE col -> Low
-+ GPCR1 = GPIO_STROBE_BIT(col);
-+ // STROBE col -> out, not col -> HiZ
-+ GPDR1 = (GPDR1 & ~GPIO_HIGH_STROBE_BIT) | GPIO_STROBE_BIT(col);
-+ } else {
-+ // STROBE col -> Low
-+ GPCR2 = GPIO_STROBE_BIT(col);
-+ // STROBE col -> out, not col -> HiZ
-+ GPDR2 = (GPDR2 & ~GPIO_LOW_STROBE_BIT) | GPIO_STROBE_BIT(col);
-+
-+ }
-+}
-+
-+
-+#ifdef USE_KBD_IRQ
-+
-+static void tosa_kbd_irq(int irq,void *dev_id,struct pt_regs *regs)
-+{
-+#ifdef CONFIG_APM
-+ extern int autoPowerCancel;
-+ extern int autoLightCancel;
-+#endif
-+ tosa_kbd_tick(NULL);
-+
-+#if CONFIG_APM // auto power/light cancel
-+ autoPowerCancel = 0;
-+ autoLightCancel = 0;
-+#endif
-+
-+}
-+#endif
-+
-+
-+#ifdef CONFIG_PM
-+extern void sharppda_scan_logdriver_suspend(void);
-+extern void sharppda_scan_logdriver_resume(void);
-+
-+extern int tosa_initial_keypress;
-+
-+static int tosa_kbd_pm_callback(struct pm_dev *pm_dev,
-+ pm_request_t req, void *data)
-+{
-+ int i;
-+
-+ switch (req) {
-+ case PM_SUSPEND:
-+ for (i = 0; i < KEY_SENSE_NUM; i++) {
-+ disable_irq(IRQ_GPIO_KEY_SENSE(i));
-+ }
-+ disable_irq(IRQ_GPIO_ON_KEY);
-+ disable_irq(IRQ_GPIO_RECORD_BTN);
-+ disable_irq(IRQ_GPIO_SYNC);
-+ sharppda_scan_logdriver_suspend();
-+ break;
-+ case PM_RESUME:
-+ // STROBE ALL -> High
-+ GPSR1 = GPIO_HIGH_STROBE_BIT;
-+ GPSR2 = GPIO_LOW_STROBE_BIT;
-+ GPDR1 |= GPIO_HIGH_STROBE_BIT;
-+ GPDR2 |= GPIO_LOW_STROBE_BIT;
-+ for (i = 0; i < KEY_SENSE_NUM; i++) {
-+ enable_irq(IRQ_GPIO_KEY_SENSE(i));
-+ }
-+ enable_irq(IRQ_GPIO_ON_KEY);
-+ enable_irq(IRQ_GPIO_RECORD_BTN);
-+ enable_irq(IRQ_GPIO_SYNC);
-+ sharppda_scan_logdriver_resume();
-+ tosa_initial_keypress = -1;
-+ break;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+void tosa_kbd_hw_init(void)
-+{
-+ int i;
-+
-+ sharppda_scan_logdriver_init();
-+
-+ // STROBE ALL -> High
-+ // SENSE ALL -> In
-+ GPSR1 = GPIO_HIGH_STROBE_BIT;
-+ GPSR2 = GPIO_LOW_STROBE_BIT;
-+ GPDR2 &= ~GPIO_ALL_SENSE_BIT;
-+ GPDR1 |= GPIO_HIGH_STROBE_BIT;
-+ GPDR2 |= GPIO_LOW_STROBE_BIT;
-+ GEDR2 |= GPIO_ALL_SENSE_BIT;
-+ GAFR1_U &= ~GAFR_HIGH_STROBE_BIT;
-+ GAFR2_L &= ~(GAFR_LOW_STROBE_BIT | GAFR_ALL_SENSE_BIT);
-+
-+ /* SENSE:RisingEdge */
-+ for (i = 0; i < KEY_SENSE_NUM; i++) {
-+ set_GPIO_IRQ_edge(GPIO_KEY_SENSE(i), GPIO_RISING_EDGE);
-+ if (request_irq(IRQ_GPIO_KEY_SENSE(i), tosa_kbd_irq,
-+ SA_INTERRUPT, "keyboard", NULL)) {
-+ printk("Could not allocate KEYBD IRQ%d!\n", i);
-+ }
-+ }
-+ // Power&Rec Button
-+ set_GPIO_IRQ_edge(GPIO_ON_KEY, GPIO_FALLING_EDGE);
-+ set_GPIO_IRQ_edge(GPIO_RECORD_BTN, GPIO_FALLING_EDGE);
-+ set_GPIO_IRQ_edge(GPIO_SYNC, GPIO_FALLING_EDGE);
-+ if (request_irq(IRQ_GPIO_ON_KEY, tosa_kbd_irq, SA_INTERRUPT, "On key", NULL) ||
-+ request_irq(IRQ_GPIO_RECORD_BTN, tosa_kbd_irq, SA_INTERRUPT, "Record key", NULL) ||
-+ request_irq(IRQ_GPIO_SYNC, tosa_kbd_irq, SA_INTERRUPT, "Sync key", NULL)) {
-+ printk("Could not allocate KEYBD IRQ%d!\n", i);
-+ }
-+
-+
-+#ifdef CONFIG_PM
-+ corgi_kbd_pm_dev = pm_register(PM_SYS_DEV, 0, tosa_kbd_pm_callback);
-+#endif
-+
-+ printk("keyboard initilaized.\n");
-+}
-+
-+int tosa_kbd_translate(unsigned char scancode, unsigned char *keycode_p)
-+{
-+
-+ /*
-+ * We do this strangley to be more independent of
-+ * our headers..
-+ */
-+
-+ *keycode_p = scancode & ~(KBDOWN | KBUP);
-+
-+ return 1;
-+}
-+
-diff -Nur linux_c860_org/drivers/char/tosa_keymap.c linux/drivers/char/tosa_keymap.c
---- linux_c860_org/drivers/char/tosa_keymap.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_keymap.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,466 @@
-+
-+/* Do not edit this file! It was automatically generated by */
-+/* loadkeys --mktable defkeymap.map > defkeymap.c */
-+
-+#include <linux/types.h>
-+#include <linux/keyboard.h>
-+#include <linux/kd.h>
-+
-+u_short plain_map[] = {
-+ 0xf200, 0xfb61, 0xfb62, 0xfb63, 0xfb64, 0xfb65, 0xfb66, 0xfb67,
-+ 0xfb68, 0xfb69, 0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d, 0xfb6e, 0xfb6f,
-+ 0xfb70, 0xfb71, 0xfb72, 0xfb73, 0xfb74, 0xfb75, 0xfb76, 0xfb77,
-+ 0xfb78, 0xfb79, 0xfb7a, 0xf700, 0xf201, 0xf101, 0xf703, 0xf008,
-+ 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037,
-+ 0xf038, 0xf039, 0xf030, 0xf02d, 0xf05e, 0xf05c, 0xf05b, 0xf040,
-+ 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf02c,
-+ 0xf02e, 0xf009, 0xf104, 0xf105, 0xf106, 0xf02f, 0xf027, 0xf301,
-+ 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-+ 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-+ 0xf702, 0xf703, 0xf01b, 0xf020, 0xf020, 0xf310, 0xf200, 0xf03b,
-+ 0xf03a, 0xf05d, 0xf02c, 0xf02e, 0xf02f, 0xf05f, 0xf200, 0xf700,
-+ 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+};
-+
-+u_short shift_map[] = {
-+ 0xf200, 0xfb41, 0xfb42, 0xfb43, 0xfb44, 0xfb45, 0xfb46, 0xfb47,
-+ 0xfb48, 0xfb49, 0xfb4a, 0xfb4b, 0xfb4c, 0xfb4d, 0xfb4e, 0xfb4f,
-+ 0xfb50, 0xfb51, 0xfb52, 0xfb53, 0xfb54, 0xfb55, 0xfb56, 0xfb57,
-+ 0xfb58, 0xfb59, 0xfb5a, 0xf700, 0xf201, 0xf101, 0xf702, 0xf008,
-+ 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf021, 0xf022, 0xf023, 0xf024, 0xf025, 0xf026, 0xf027,
-+ 0xf028, 0xf029, 0xf07e, 0xf03d, 0xf07e, 0xf07c, 0xf07b, 0xf060,
-+ 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf03b,
-+ 0xf03a, 0xf009, 0xf104, 0xf105, 0xf106, 0xf03f, 0xf022, 0xf301,
-+ 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-+ 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-+ 0xf702, 0xf703, 0xf01b, 0xf020, 0xf020, 0xf310, 0xf200, 0xf02b,
-+ 0xf02a, 0xf07d, 0xf03c, 0xf03e, 0xf03f, 0xf05f, 0xf200, 0xf700,
-+ 0xf114, 0xf117, 0xf20b, 0xf20a, 0xf701, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+};
-+
-+u_short ctrl_map[] = {
-+ 0xf200, 0xf001, 0xf002, 0xf003, 0xf004, 0xf005, 0xf006, 0xf007,
-+ 0xf008, 0xf009, 0xf00a, 0xf00b, 0xf00c, 0xf00d, 0xf00e, 0xf00f,
-+ 0xf010, 0xf011, 0xf012, 0xf013, 0xf014, 0xf015, 0xf016, 0xf017,
-+ 0xf018, 0xf019, 0xf01a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf008,
-+ 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf200,
-+ 0xf200, 0xf009, 0xf104, 0xf105, 0xf106, 0xf200, 0xf200, 0xf301,
-+ 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-+ 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-+ 0xf702, 0xf703, 0xf01b, 0xf020, 0xf000, 0xf310, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-+ 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+};
-+
-+u_short shift_ctrl_map[] = {
-+ 0xf200, 0xf001, 0xf002, 0xf003, 0xf004, 0xf005, 0xf006, 0xf007,
-+ 0xf008, 0xf009, 0xf00a, 0xf00b, 0xf00c, 0xf00d, 0xf00e, 0xf00f,
-+ 0xf010, 0xf011, 0xf012, 0xf013, 0xf014, 0xf015, 0xf016, 0xf017,
-+ 0xf018, 0xf019, 0xf01a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf008,
-+ 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf200,
-+ 0xf200, 0xf009, 0xf104, 0xf105, 0xf106, 0xf200, 0xf200, 0xf301,
-+ 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-+ 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-+ 0xf702, 0xf703, 0xf01b, 0xf020, 0xf020, 0xf310, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-+ 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+};
-+
-+u_short alt_map[] = {
-+ 0xf200, 0xf021, 0xf02d, 0xf863, 0xf023, 0xf033, 0xf024, 0xf025,
-+ 0xf05f, 0xf038, 0xf026, 0xf02a, 0xf028, 0xf03d, 0xf02b, 0xf039,
-+ 0xf030, 0xf031, 0xf034, 0xf040, 0xf035, 0xf037, 0xf876, 0xf032,
-+ 0xf878, 0xf036, 0xf87a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf07f,
-+ 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf07d,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf029,
-+ 0xf03c, 0xf207, 0xf104, 0xf105, 0xf106, 0xf200, 0xf07e, 0xf301,
-+ 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-+ 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-+ 0xf702, 0xf703, 0xf01b, 0xf000, 0xf020, 0xf310, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-+ 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-+ 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+};
-+
-+ushort *key_maps[MAX_NR_KEYMAPS] = {
-+ plain_map, shift_map, 0, 0,
-+ ctrl_map, shift_ctrl_map, 0, 0,
-+ alt_map, 0
-+};
-+
-+unsigned int keymap_count = 5;
-+
-+
-+/*
-+ * Philosophy: most people do not define more strings, but they who do
-+ * often want quite a lot of string space. So, we statically allocate
-+ * the default and allocate dynamically in chunks of 512 bytes.
-+ */
-+
-+char func_buf[] = {
-+ '\033', '[', '[', 'A', 0,
-+ '\033', '[', '[', 'B', 0,
-+ '\033', '[', '[', 'C', 0,
-+ '\033', '[', '[', 'D', 0,
-+ '\033', '[', '[', 'E', 0,
-+ '\033', '[', '1', '7', '~', 0,
-+ '\033', '[', '1', '8', '~', 0,
-+ '\033', '[', '1', '9', '~', 0,
-+ '\033', '[', '2', '0', '~', 0,
-+ '\033', '[', '2', '1', '~', 0,
-+ '\033', '[', '2', '3', '~', 0,
-+ '\033', '[', '2', '4', '~', 0,
-+ '\033', '[', '2', '5', '~', 0,
-+ '\033', '[', '2', '6', '~', 0,
-+ '\033', '[', '2', '8', '~', 0,
-+ '\033', '[', '2', '9', '~', 0,
-+ '\033', '[', '3', '1', '~', 0,
-+ '\033', '[', '3', '2', '~', 0,
-+ '\033', '[', '3', '3', '~', 0,
-+ '\033', '[', '3', '4', '~', 0,
-+ '\033', '[', '1', '~', 0,
-+ '\033', '[', '2', '~', 0,
-+ '\033', '[', '3', '~', 0,
-+ '\033', '[', '4', '~', 0,
-+ '\033', '[', '5', '~', 0,
-+ '\033', '[', '6', '~', 0,
-+ '\033', '[', 'M', 0,
-+ '\033', '[', 'P', 0,
-+};
-+
-+
-+char *funcbufptr = func_buf;
-+int funcbufsize = sizeof(func_buf);
-+int funcbufleft = 0; /* space left */
-+
-+char *func_table[MAX_NR_FUNC] = {
-+ func_buf + 0,
-+ func_buf + 5,
-+ func_buf + 10,
-+ func_buf + 15,
-+ func_buf + 20,
-+ func_buf + 25,
-+ func_buf + 31,
-+ func_buf + 37,
-+ func_buf + 43,
-+ func_buf + 49,
-+ func_buf + 55,
-+ func_buf + 61,
-+ func_buf + 67,
-+ func_buf + 73,
-+ func_buf + 79,
-+ func_buf + 85,
-+ func_buf + 91,
-+ func_buf + 97,
-+ func_buf + 103,
-+ func_buf + 109,
-+ func_buf + 115,
-+ func_buf + 120,
-+ func_buf + 125,
-+ func_buf + 130,
-+ func_buf + 135,
-+ func_buf + 140,
-+ func_buf + 145,
-+ 0,
-+ 0,
-+ func_buf + 149,
-+ 0,
-+};
-+
-+struct kbdiacr accent_table[MAX_DIACR] = {
-+ {'`', 'A', '\300'}, {'`', 'a', '\340'},
-+ {'\'', 'A', '\301'}, {'\'', 'a', '\341'},
-+ {'^', 'A', '\302'}, {'^', 'a', '\342'},
-+ {'~', 'A', '\303'}, {'~', 'a', '\343'},
-+ {'"', 'A', '\304'}, {'"', 'a', '\344'},
-+ {'O', 'A', '\305'}, {'o', 'a', '\345'},
-+ {'0', 'A', '\305'}, {'0', 'a', '\345'},
-+ {'A', 'A', '\305'}, {'a', 'a', '\345'},
-+ {'A', 'E', '\306'}, {'a', 'e', '\346'},
-+ {',', 'C', '\307'}, {',', 'c', '\347'},
-+ {'`', 'E', '\310'}, {'`', 'e', '\350'},
-+ {'\'', 'E', '\311'}, {'\'', 'e', '\351'},
-+ {'^', 'E', '\312'}, {'^', 'e', '\352'},
-+ {'"', 'E', '\313'}, {'"', 'e', '\353'},
-+ {'`', 'I', '\314'}, {'`', 'i', '\354'},
-+ {'\'', 'I', '\315'}, {'\'', 'i', '\355'},
-+ {'^', 'I', '\316'}, {'^', 'i', '\356'},
-+ {'"', 'I', '\317'}, {'"', 'i', '\357'},
-+ {'-', 'D', '\320'}, {'-', 'd', '\360'},
-+ {'~', 'N', '\321'}, {'~', 'n', '\361'},
-+ {'`', 'O', '\322'}, {'`', 'o', '\362'},
-+ {'\'', 'O', '\323'}, {'\'', 'o', '\363'},
-+ {'^', 'O', '\324'}, {'^', 'o', '\364'},
-+ {'~', 'O', '\325'}, {'~', 'o', '\365'},
-+ {'"', 'O', '\326'}, {'"', 'o', '\366'},
-+ {'/', 'O', '\330'}, {'/', 'o', '\370'},
-+ {'`', 'U', '\331'}, {'`', 'u', '\371'},
-+ {'\'', 'U', '\332'}, {'\'', 'u', '\372'},
-+ {'^', 'U', '\333'}, {'^', 'u', '\373'},
-+ {'"', 'U', '\334'}, {'"', 'u', '\374'},
-+ {'\'', 'Y', '\335'}, {'\'', 'y', '\375'},
-+ {'T', 'H', '\336'}, {'t', 'h', '\376'},
-+ {'s', 's', '\337'}, {'"', 'y', '\377'},
-+ {'s', 'z', '\337'}, {'i', 'j', '\377'},
-+};
-+
-+unsigned int accent_table_size = 68;
-diff -Nur linux_c860_org/drivers/char/tosa_keymap.map linux/drivers/char/tosa_keymap.map
---- linux_c860_org/drivers/char/tosa_keymap.map 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_keymap.map 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,277 @@
-+# =======================================================
-+# Iris-1 Default Kernel Keymap for Console Driver
-+# =======================================================
-+#
-+# Default kernel keymap. This uses 7 modifier combinations.
-+#
-+# 0 for no modifier
-+# 1 for [SHIFT]
-+# 4 for [CTRL] , to symbol input for debug
-+# 5 for [CTRL] [SHIFT] , to symbol input for debug
-+# 8 for [ALT]
-+#
-+keymaps 0,1,4,5,8
-+#
-+# loadkeys --mktable iris_keymap.map
-+#
-+# !!!!!! CAUTION !!!!!!
-+# This Keymap Defines Conversion to Console-Key from Soft-Keycode.
-+# Soft-Keycode is created from Hard-Keycode , using iris_rawkey_conv.c
-+#
-+#
-+keycode 1 = a
-+ alt keycode 1 = exclam
-+keycode 2 = b
-+ alt keycode 2 = minus
-+keycode 3 = c
-+keycode 4 = d
-+ alt keycode 4 = numbersign
-+keycode 5 = e
-+ alt keycode 5 = three
-+keycode 6 = f
-+ alt keycode 6 = dollar
-+keycode 7 = g
-+ alt keycode 7 = percent
-+keycode 8 = h
-+ alt keycode 8 = underscore
-+keycode 9 = i
-+ alt keycode 9 = eight
-+keycode 10 = j
-+ alt keycode 10 = ampersand
-+keycode 11 = k
-+ alt keycode 11 = asterisk
-+keycode 12 = l
-+ alt keycode 12 = parenleft
-+keycode 13 = m
-+ alt keycode 13 = equal
-+keycode 14 = n
-+ alt keycode 14 = plus
-+keycode 15 = o
-+ alt keycode 15 = nine
-+keycode 16 = p
-+ alt keycode 16 = zero
-+keycode 17 = q
-+ alt keycode 17 = one
-+keycode 18 = r
-+ alt keycode 18 = four
-+keycode 19 = s
-+ alt keycode 19 = at
-+keycode 20 = t
-+ alt keycode 20 = five
-+keycode 21 = u
-+ alt keycode 21 = seven
-+keycode 22 = v
-+keycode 23 = w
-+ alt keycode 23 = two
-+keycode 24 = x
-+keycode 25 = y
-+ alt keycode 25 = six
-+keycode 26 = z
-+keycode 27 = Shift
-+keycode 28 = Return
-+keycode 29 = F2
-+keycode 30 = Alt Control
-+keycode 31 = BackSpace
-+ alt keycode 31 = Delete
-+keycode 32 = Num_Lock
-+keycode 33 =
-+# (Cancel:34) F9 -> Escape
-+keycode 34 = Escape
-+keycode 35 = Left
-+keycode 36 = Up
-+keycode 37 = Down
-+keycode 38 = Right
-+# (OK:39) F4 -> Return
-+keycode 39 = Return
-+ alt keycode 39 = braceright
-+keycode 40 =
-+keycode 41 = one exclam
-+keycode 42 = two quotedbl
-+keycode 43 = three numbersign
-+keycode 44 = four dollar
-+keycode 45 = five percent
-+keycode 46 = six ampersand
-+keycode 47 = seven apostrophe
-+keycode 48 = eight parenleft
-+keycode 49 = nine parenright
-+keycode 50 = zero asciitilde
-+keycode 51 = minus equal
-+keycode 52 = asciicircum asciitilde
-+keycode 53 = backslash bar
-+keycode 54 = bracketleft braceleft
-+keycode 55 = at grave
-+keycode 56 = Control
-+keycode 57 = Alt
-+keycode 58 = Control
-+keycode 59 = plus
-+keycode 60 = Shift_Lock
-+keycode 61 = at
-+keycode 62 = question
-+keycode 63 = comma semicolon
-+ alt keycode 63 = parenright
-+keycode 64 = period colon
-+ alt keycode 64 = less
-+keycode 65 = Tab
-+ alt keycode 65 = Caps_Lock
-+keycode 66 = F5
-+keycode 67 = F6
-+keycode 68 = F7
-+keycode 69 = slash question
-+keycode 70 = apostrophe quotedbl
-+ alt keycode 70 = asciitilde
-+keycode 71 = KP_1
-+keycode 72 = KP_2
-+keycode 73 = KP_3
-+keycode 74 = KP_4
-+keycode 75 = KP_5
-+keycode 76 = KP_6
-+keycode 77 = KP_7
-+keycode 78 = KP_8
-+keycode 79 = KP_9
-+keycode 80 = KP_0
-+keycode 81 = Delete
-+keycode 82 = KP_Divide
-+keycode 83 = KP_Multiply
-+keycode 84 =
-+keycode 85 = KP_Subtract
-+keycode 86 = KP_Add
-+keycode 87 = KP_Enter
-+# (Activity:88) -> Ctrl
-+keycode 88 = Control
-+# (Contacts:89) -> Alt
-+keycode 89 = Alt
-+keycode 90 = Escape
-+# (select:91) F11 -> space
-+keycode 91 = space
-+ alt keycode 91 = nul
-+keycode 92 = space
-+ control keycode 92 = nul
-+keycode 93 = KP_Period
-+keycode 94 =
-+keycode 95 = semicolon plus
-+keycode 96 = colon asterisk
-+keycode 97 = bracketright braceright
-+keycode 98 = comma less
-+keycode 99 = period greater
-+keycode 100 = slash question
-+keycode 101 = underscore underscore
-+keycode 102 =
-+keycode 103 = Shift
-+keycode 104 = Find
-+keycode 105 = Select
-+keycode 106 = Prior
-+ shift keycode 106 = Scroll_Backward
-+keycode 107 = Next
-+ shift keycode 107 = Scroll_Forward
-+keycode 108 = AltGr
-+keycode 109 =
-+keycode 110 =
-+keycode 111 =
-+keycode 112 =
-+keycode 113 =
-+keycode 114 =
-+keycode 115 =
-+keycode 116 =
-+keycode 117 = Control
-+keycode 118 =
-+keycode 119 =
-+keycode 120 = Control
-+keycode 121 = Alt
-+
-+
-+string F1 = "\033[[A"
-+string F2 = "\033[[B"
-+string F3 = "\033[[C"
-+string F4 = "\033[[D"
-+string F5 = "\033[[E"
-+string F6 = "\033[17~"
-+string F7 = "\033[18~"
-+string F8 = "\033[19~"
-+string F9 = "\033[20~"
-+string F10 = "\033[21~"
-+string F11 = "\033[23~"
-+string F12 = "\033[24~"
-+string F13 = "\033[25~"
-+string F14 = "\033[26~"
-+string F15 = "\033[28~"
-+string F16 = "\033[29~"
-+string F17 = "\033[31~"
-+string F18 = "\033[32~"
-+string F19 = "\033[33~"
-+string F20 = "\033[34~"
-+string Find = "\033[1~"
-+string Insert = "\033[2~"
-+string Remove = "\033[3~"
-+string Select = "\033[4~"
-+string Prior = "\033[5~"
-+string Next = "\033[6~"
-+string Macro = "\033[M"
-+string Pause = "\033[P"
-+compose '`' 'A' to 'À'
-+compose '`' 'a' to 'à'
-+compose '\'' 'A' to 'Á'
-+compose '\'' 'a' to 'á'
-+compose '^' 'A' to 'Â'
-+compose '^' 'a' to 'â'
-+compose '~' 'A' to 'Ã'
-+compose '~' 'a' to 'ã'
-+compose '"' 'A' to 'Ä'
-+compose '"' 'a' to 'ä'
-+compose 'O' 'A' to 'Å'
-+compose 'o' 'a' to 'å'
-+compose '0' 'A' to 'Å'
-+compose '0' 'a' to 'å'
-+compose 'A' 'A' to 'Å'
-+compose 'a' 'a' to 'å'
-+compose 'A' 'E' to 'Æ'
-+compose 'a' 'e' to 'æ'
-+compose ',' 'C' to 'Ç'
-+compose ',' 'c' to 'ç'
-+compose '`' 'E' to 'È'
-+compose '`' 'e' to 'è'
-+compose '\'' 'E' to 'É'
-+compose '\'' 'e' to 'é'
-+compose '^' 'E' to 'Ê'
-+compose '^' 'e' to 'ê'
-+compose '"' 'E' to 'Ë'
-+compose '"' 'e' to 'ë'
-+compose '`' 'I' to 'Ì'
-+compose '`' 'i' to 'ì'
-+compose '\'' 'I' to 'Í'
-+compose '\'' 'i' to 'í'
-+compose '^' 'I' to 'Î'
-+compose '^' 'i' to 'î'
-+compose '"' 'I' to 'Ï'
-+compose '"' 'i' to 'ï'
-+compose '-' 'D' to 'Ð'
-+compose '-' 'd' to 'ð'
-+compose '~' 'N' to 'Ñ'
-+compose '~' 'n' to 'ñ'
-+compose '`' 'O' to 'Ò'
-+compose '`' 'o' to 'ò'
-+compose '\'' 'O' to 'Ó'
-+compose '\'' 'o' to 'ó'
-+compose '^' 'O' to 'Ô'
-+compose '^' 'o' to 'ô'
-+compose '~' 'O' to 'Õ'
-+compose '~' 'o' to 'õ'
-+compose '"' 'O' to 'Ö'
-+compose '"' 'o' to 'ö'
-+compose '/' 'O' to 'Ø'
-+compose '/' 'o' to 'ø'
-+compose '`' 'U' to 'Ù'
-+compose '`' 'u' to 'ù'
-+compose '\'' 'U' to 'Ú'
-+compose '\'' 'u' to 'ú'
-+compose '^' 'U' to 'Û'
-+compose '^' 'u' to 'û'
-+compose '"' 'U' to 'Ü'
-+compose '"' 'u' to 'ü'
-+compose '\'' 'Y' to 'Ý'
-+compose '\'' 'y' to 'ý'
-+compose 'T' 'H' to 'Þ'
-+compose 't' 'h' to 'þ'
-+compose 's' 's' to 'ß'
-+compose '"' 'y' to 'ÿ'
-+compose 's' 'z' to 'ß'
-+compose 'i' 'j' to 'ÿ'
-diff -Nur linux_c860_org/drivers/char/tosa_logkey.c linux/drivers/char/tosa_logkey.c
---- linux_c860_org/drivers/char/tosa_logkey.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_logkey.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,1617 @@
-+/*
-+ * linux/drivers/char/tosa_logkey.c
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on:
-+ * linux/drivers/char/corgi_logkey.c
-+ *
-+ * Based on:
-+ * linux/drivers/char/poodle_logkey.c
-+ * linux/drivers/char/collie_logkey.c
-+ * linux/drivers/char/sharp_logkey.c
-+ *
-+ * Logical GPIO Keyboard driver includeing
-+ * Hard-Key to Soft-Key Mapper for SHARP PDA
-+ *
-+ * Copyright (C) 2001 SHARP
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * ChangeLog:
-+ * 04-16-2001 Lineo Japan, Inc.
-+ * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
-+ * 12-Dec-2002 Sharp Corporation
-+ */
-+#include <linux/config.h>
-+#include <linux/init.h>
-+#include <linux/poll.h>
-+#include <linux/wait.h>
-+#include <asm/arch/keyboard_tosa.h>
-+#include <asm/uaccess.h>
-+#include <linux/tqueue.h>
-+#include <linux/kbd_ll.h>
-+#include <linux/slab.h>
-+//#include <linux/spinlock.h>
-+#include <linux/delay.h>
-+
-+#define DEBUGPRINT(s) /* printk s */
-+#define CUS_DPRINTK(x, args...) /* printk(__FUNCTION__ ": " x,##args) */
-+
-+#ifdef LOGICAL_WAKEUP_SRC
-+#include <asm/arch/sharpsl_wakeup.h>
-+#endif
-+#define KEYMASK_ON (0x1<<0)
-+#define KEYMASK_REC (0x1<<1)
-+#define KEYMASK_SYNC (0x1<<2)
-+#define KEYMASK_ADDRESS (0x1<<3)
-+#define KEYMASK_CALENDAR (0x1<<4)
-+#define KEYMASK_MENU (0x1<<5)
-+#define KEYMASK_MAIL (0x1<<6)
-+
-+#ifndef USE_KBD_IRQ
-+# warning "this is not tested."
-+#endif
-+
-+#ifdef USE_KBD_IRQ // could be defined in asm/arch/keyboard.h
-+# include <asm/irq.h> /* for linkup keyboard interrupt */
-+#endif
-+
-+/*
-+ * physical driver definition
-+ */
-+# define WAIT_CHATTERING_DELAY udelay(100)
-+extern void tosa_kbd_discharge_all(void);
-+extern void tosa_kbd_charge_all(void);
-+extern void tosa_kbd_activate_col(int col);
-+extern void tosa_kbd_reset_col(int col);
-+extern void tosa_kbd_activate_all(void);
-+# define DISCHARGE_ALL tosa_kbd_discharge_all()
-+# define CHARGE_ALL tosa_kbd_charge_all()
-+# define WAIT_DISCHARGE_DELAY udelay(KB_DISCHARGE_DELAY)
-+# define ACTIVATE_COL(c) tosa_kbd_activate_col((c))
-+# define RESET_COL(c) tosa_kbd_reset_col((c))
-+# define WAIT_ACTIVATE_DELAY udelay(KB_ACTIVATE_DELAY)
-+# define GET_ROWS_STATUS(c) ((GPLR2 & GPIO_ALL_SENSE_BIT) >> GPIO_ALL_SENSE_RSHIFT)
-+# define DRIVE_ALL_COLS tosa_kbd_activate_all()
-+# define GET_REAL_COL_FROM_COL(c) (c)
-+# define RAW_MAP "tosa_rawmap.h"
-+# define RAW_MAP_ROLLOVER "tosa_rawmap_rollover.h"
-+
-+
-+static int isBrb = 0;
-+static int checkBrb(void)
-+{
-+ int rowd;
-+
-+ DISCHARGE_ALL;
-+ WAIT_DISCHARGE_DELAY;
-+
-+ rowd = GET_ROWS_STATUS(1);
-+ if (rowd!=0) return 1;
-+ else return 0;
-+}
-+
-+
-+#if ! defined(KB_COLS) || ! defined(KB_ROWS)
-+#error "KB_COLS or KB_ROWS not defined"
-+#endif
-+
-+/*
-+ * keyboard scancode mapper.
-+ */
-+#include <asm/sharp_keycode.h>
-+
-+#define CHECK_ROLLOVER 1
-+
-+#define CHECK_CHUTTER_BOUNCE 1
-+
-+/*
-+ sharppda_kbdstate.in - state
-+ 0 - not pressed
-+ PRESSING1 - pressing (check chutter)
-+ : - pressing (check chutter)
-+ CHECK_CHUTTER - pressing (check chutter)
-+ JUST_PRESSED - just pressed (throw key down)
-+ PRESSED - pressed
-+ RELEASING1 - releasing (check bounce)
-+ : - releasing (check bounce)
-+ PRESSED + CHECK_BOUNCE - releasing (check bounce)
-+ JUST_RELEASED - just released (throw key up)
-+*/
-+#define CHECK_CHUTTER (2) /* * 10ms */
-+#define CHECK_BOUNCE (4) /* * 10ms */
-+#define NOTPRESSED (0)
-+#define PRESSING1 (1)
-+#define JUST_PRESSED (CHECK_CHUTTER+1)
-+#define PRESSED (CHECK_CHUTTER+2)
-+#define RELEASING1 (CHECK_CHUTTER+3)
-+#define JUST_RELEASED (CHECK_CHUTTER+CHECK_BOUNCE+3)
-+#define ROLLOVERERROR (CHECK_CHUTTER+CHECK_BOUNCE+4)
-+#define IS_PRESSING(a) (((a) >= PRESSING1) && ((a) <= CHECK_CHUTTER))
-+#define IS_RELEASING(a) (((a) >= RELEASING1) && ((a) <= PRESSED + CHECK_BOUNCE))
-+#define CHUTTER_BOUNCE_LOG 0
-+
-+#include RAW_MAP
-+#if CHECK_ROLLOVER
-+#include RAW_MAP_ROLLOVER
-+#endif
-+
-+/*
-+ * This is the mapper for Hard-Key to Soft-Key conversion
-+ */
-+
-+int sharp_cur_keycode[(NR_KEYCODES+1)];
-+int sharp_cur_status;
-+int tosa_initial_keypress = -1;
-+
-+kbd_keyinfo sharppda_kbdstate[(NR_KEYCODES+1)]; /* this map is expoted... */
-+
-+static int keysdown = 0;
-+static struct tq_struct kbdhw_task;
-+
-+/*
-+ * for panel-touch sound
-+ */
-+extern void sharpbuz_make_keytouch_sound(void);
-+extern void sharpkbdctl_stat_changed(void);
-+
-+/*
-+ * Keyboard mapping routine.
-+ */
-+
-+int keypress_map(int hardkey)
-+{
-+ int softkey;
-+ unsigned char* pmodmap;
-+ int modif_ref = DOWN_NOP;
-+ int next_status = sharp_cur_status;
-+
-+ /* ======== get soft keycode ========= */
-+ pmodmap = state_to_keymap[sharp_cur_status];
-+ softkey = pmodmap[hardkey];
-+ sharp_cur_keycode[hardkey] = softkey;
-+
-+ /* ======== check automaton-map ======== */
-+ modif_ref = down_modifs_ref[hardkey];
-+ if( modif_ref != DOWN_NOP && modif_ref < DOWN_TABLES_SIZE ){
-+ /* ======== need to check state machine ========= */
-+ unsigned char* statemap;
-+ statemap = down_tables[modif_ref];
-+ next_status = statemap[sharp_cur_status];
-+ }
-+
-+ if( sharp_cur_status != next_status ){
-+ sharp_cur_status = next_status;
-+ sharpkbdctl_stat_changed();
-+ }else{
-+ sharp_cur_status = next_status;
-+ }
-+ return softkey;
-+}
-+
-+int keyrelease_map(int hardkey)
-+{
-+ int softkey;
-+ int modif_ref = UP_NOP;
-+ int next_status = sharp_cur_status;
-+
-+ /* ======== get soft keycode ========= */
-+ softkey = sharp_cur_keycode[hardkey];
-+ sharp_cur_keycode[hardkey] = KEY_IGN;
-+
-+ /* ======== check automaton-map ======== */
-+ modif_ref = up_modifs_ref[hardkey];
-+ if( modif_ref != UP_NOP && modif_ref < UP_TABLES_SIZE ){
-+ /* ======== need to check state machine ========= */
-+ unsigned char* statemap;
-+ statemap = up_tables[modif_ref];
-+ next_status = statemap[sharp_cur_status];
-+ }
-+
-+ if( sharp_cur_status != next_status ){
-+ sharp_cur_status = next_status;
-+ sharpkbdctl_stat_changed();
-+ }else{
-+ sharp_cur_status = next_status;
-+ }
-+ return softkey;
-+}
-+
-+/*
-+ * Keyboard Repeat , including key-mapping
-+ */
-+#include <linux/kd.h>
-+
-+int (*mach_kbdrate) (struct kbd_repeat *);
-+
-+
-+#define DEFAULT_KEYB_REP_DELAY (HZ*2)
-+#define DEFAULT_KEYB_REP_RATE (HZ)
-+
-+static void sharppda_kbd_rep( unsigned long ignore );
-+static unsigned char rep_scancode = 0;
-+static unsigned int key_repeat_delay = DEFAULT_KEYB_REP_DELAY;
-+static unsigned int key_repeat_rate = DEFAULT_KEYB_REP_RATE;
-+
-+static struct timer_list sharppda_kbd_rep_timer = { function: sharppda_kbd_rep };
-+
-+static void sharppda_kbd_rep( unsigned long ignore )
-+{
-+ unsigned long flags;
-+ /* Disable keyboard for the time we call handle_scancode(), else a race
-+ * in the keyboard tty queue may happen */
-+ //DEBUGPRINT(("?"));
-+ save_flags(flags); cli();
-+ del_timer( &sharppda_kbd_rep_timer );
-+ /* A keyboard int may have come in before we disabled the irq, so
-+ * double-check whether rep_scancode is still != 0 */
-+ if (rep_scancode) {
-+ init_timer(&sharppda_kbd_rep_timer);
-+ sharppda_kbd_rep_timer.expires = jiffies + key_repeat_rate;
-+ add_timer( &sharppda_kbd_rep_timer );
-+ DEBUGPRINT(("kbdrep_down %d (%x)\n",rep_scancode,rep_scancode));
-+ }
-+ restore_flags(flags);
-+ //DEBUGPRINT(("!"));
-+}
-+
-+static int sharppda_kbd_kbdrate( struct kbd_repeat *k )
-+{
-+ DEBUGPRINT(("sharppda_kbd_kbdrate\n"));
-+ if (k->delay > 0) {
-+ /* convert from msec to jiffies */
-+ key_repeat_delay = (k->delay * HZ + 500) / 1000;
-+ if (key_repeat_delay < 1)
-+ key_repeat_delay = 1;
-+ }
-+ if (k->rate > 0) {
-+ key_repeat_rate = (k->rate * HZ + 500) / 1000;
-+ if (key_repeat_rate < 1)
-+ key_repeat_rate = 1;
-+ }
-+ k->delay = key_repeat_delay * 1000 / HZ;
-+ k->rate = key_repeat_rate * 1000 / HZ;
-+ return( 0 );
-+}
-+
-+/*
-+ * Keyboard Press/Release function , including key-mapping , for HOLD-modified Key
-+ */
-+
-+static unsigned long key_hold_delay = 120 * HZ / 100;
-+
-+static unsigned char holdkey_pending = 0;
-+static int holdkey_pendinghardkey = 0;
-+static int holdkey_pendingmappedkey = 0;
-+static void sharppda_kbd_hold( unsigned long ignore );
-+static struct timer_list sharppda_kbd_hold_timer = { function: sharppda_kbd_hold };
-+
-+static shappda_holdkey_info **custom_holdkey_info = NULL;
-+
-+#if CHECK_ROLLOVER
-+// rollover_state
-+// 0 .. not detected roll over error in previous key scan
-+// 1 .. detected roll over error in previous key scan
-+static int rollover_state = 0;
-+
-+static unsigned char rep_hardkey = 0;
-+#endif
-+
-+static void sharppda_kbd_hold( unsigned long ignore )
-+{
-+ int hold_keycode;
-+ unsigned long flags;
-+ shappda_holdkey_info *hold_infop = NULL;
-+ save_flags(flags); cli();
-+ del_timer(&sharppda_kbd_hold_timer);
-+ DEBUGPRINT(("sharppda_kbd_hold\n"));
-+ CUS_DPRINTK("enter\n");
-+ if( holdkey_pending && holdkey_info ){
-+ CUS_DPRINTK("pending exists\n");
-+ if( holdkey_pendinghardkey ){
-+ CUS_DPRINTK("holdkey_pendinghardkey\n");
-+ hold_infop = holdkey_info[holdkey_pendinghardkey];
-+ if( custom_holdkey_info ){ /* use Customozed HoldKey */
-+ CUS_DPRINTK("customized holdkey\n");
-+ hold_infop = custom_holdkey_info[holdkey_pendinghardkey];
-+ }
-+ if( ! hold_infop ){
-+ DEBUGPRINT(("NO VALID INFO found for %x\n",holdkey_pendinghardkey));
-+ }else if( hold_infop->type == HOLDKEYTYPE_CHAR ){
-+ DEBUGPRINT(("HOLD eventtype is HOLDKEYTYPE_CHAR for %x\n",holdkey_pendinghardkey));
-+ hold_keycode = hold_infop->character;
-+ DEBUGPRINT(("Pending Key Exists for Hard-Key %x.\n",holdkey_pendinghardkey));
-+ DEBUGPRINT(("Current Keycode is %x , %x\n",
-+ holdkey_pendingmappedkey,sharp_cur_keycode[holdkey_pendinghardkey]));
-+ DEBUGPRINT(("Changing to HOLD-KEY %x\n",hold_keycode));
-+ sharp_cur_keycode[holdkey_pendinghardkey] = hold_keycode;
-+ DEBUGPRINT(("kbdhold %d (%x)\n",KBSCANCDE(hold_keycode,KBDOWN),KBSCANCDE(hold_keycode,KBDOWN)));
-+ handle_scancode(KBSCANCDE(hold_keycode,KBDOWN), 1);
-+ del_timer(&sharppda_kbd_rep_timer);
-+ init_timer(&sharppda_kbd_rep_timer);
-+ sharppda_kbd_rep_timer.expires = jiffies + key_repeat_delay;
-+/* 2001.09.05 Nami. delete hold-key repeat */
-+/* delete hold-key repeat on Iris , too. */
-+ rep_scancode = KBSCANCDE(hold_keycode,KBDOWN);
-+#if CHECK_ROLLOVER
-+ rep_hardkey = holdkey_pendinghardkey;
-+#endif
-+ }else if( hold_infop->type == HOLDKEYTYPE_FUNC ){
-+ DEBUGPRINT(("HOLD eventtype is HOLDKEYTYPE_FUNC for %x\n",holdkey_pendinghardkey));
-+ if( hold_infop->func ){
-+ DEBUGPRINT(("Executing FUNC\n"));
-+ (*(hold_infop->func))();
-+ }
-+ }else{
-+ DEBUGPRINT(("NO VALID TYPE found for %x\n",holdkey_pendinghardkey));
-+ }
-+ }
-+ }
-+ holdkey_pending = 0;
-+ holdkey_pendinghardkey = 0;
-+ holdkey_pendingmappedkey = 0;
-+ DEBUGPRINT(("Pending Key Released.\n"));
-+ restore_flags(flags);
-+}
-+
-+
-+
-+/*
-+ * Keyboard Press/Release function , including key-mapping
-+ */
-+
-+void sharppda_kbd_press(int keycode)
-+{
-+ unsigned long flags;
-+ unsigned char newpress = 0;
-+ int keycode_mapped = keycode;
-+
-+// printk("kbd_press=%d\n",keycode);
-+
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+#if CHECK_CHUTTER_BOUNCE
-+ if (IS_RELEASING(sharppda_kbdstate[keycode].in)) {
-+ // detected bounce ?
-+ sharppda_kbdstate[keycode].in = PRESSED;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("BOUNCE? keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+ else if (IS_PRESSING(sharppda_kbdstate[keycode].in) ||
-+ (sharppda_kbdstate[keycode].in == NOTPRESSED)) {
-+ // pressing
-+ sharppda_kbdstate[keycode].in++;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("PRESSING keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+ if (sharppda_kbdstate[keycode].in == JUST_PRESSED) {
-+ keysdown++;
-+ newpress = 1;
-+ sharppda_kbdstate[keycode].in = PRESSED;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("JUST_PRESSED keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+#else
-+ if (!sharppda_kbdstate[keycode].in) {
-+ keysdown++;
-+ newpress = 1;
-+#if CHECK_ROLLOVER
-+ sharppda_kbdstate[keycode].in=1;
-+#endif
-+ }
-+#endif
-+
-+ /*
-+ * We approximate a retriggable monostable
-+ * action.
-+ */
-+
-+#if !CHECK_ROLLOVER
-+ sharppda_kbdstate[keycode].in=1;
-+#endif
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+
-+ /* We only need to ensure keysdown consistent */
-+
-+ /* Map Keycode */
-+ if( newpress ){
-+ keycode_mapped = keypress_map(keycode);
-+ }
-+
-+ /* put into upper layer */
-+ if (newpress){
-+ shappda_holdkey_info **use_holdkey_info;
-+ use_holdkey_info = holdkey_info;
-+ if( custom_holdkey_info ){
-+ CUS_DPRINTK("customized holdkey\n");
-+ use_holdkey_info = custom_holdkey_info;
-+ }
-+ if( use_holdkey_info && use_holdkey_info[keycode] ){
-+ CUS_DPRINTK("keycode found\n");
-+ if( ! holdkey_pending ){
-+ DEBUGPRINT(("HOLD keyinfo found for %x. mapped=%x\n",keycode,keycode_mapped));
-+ holdkey_pendinghardkey = keycode;
-+ holdkey_pendingmappedkey = keycode_mapped;
-+ holdkey_pending = 1;
-+ del_timer(&sharppda_kbd_hold_timer);
-+ init_timer(&sharppda_kbd_hold_timer);
-+#ifdef HOLDKEY_INFO_HAS_TIMEOUT
-+ if( use_holdkey_info[keycode]->timeout )
-+ {
-+ unsigned long diff = use_holdkey_info[keycode]->timeout * HZ / 1000;
-+ CUS_DPRINTK("has timeout %d\n",use_holdkey_info[keycode]->timeout);
-+ sharppda_kbd_hold_timer.expires = jiffies + diff;
-+ }
-+ else{ /* set default value */
-+ CUS_DPRINTK("default timeout\n");
-+ sharppda_kbd_hold_timer.expires = jiffies + key_hold_delay;
-+ }
-+#else
-+ sharppda_kbd_hold_timer.expires = jiffies + key_hold_delay;
-+#endif
-+ add_timer( &sharppda_kbd_hold_timer );
-+ DEBUGPRINT(("holding...\n"));
-+ return;
-+ }else{
-+ DEBUGPRINT(("HOLD keyinfo found for %d but already pending...\n",keycode));
-+ }
-+ }
-+ DEBUGPRINT(("kbdpress %d (%x)\n",KBSCANCDE(keycode_mapped,KBDOWN),KBSCANCDE(keycode_mapped,KBDOWN)));
-+ handle_scancode(KBSCANCDE(keycode_mapped,KBDOWN), 1);
-+ // printk("handle_scankey=%x\n",KBSCANCDE(keycode_mapped,KBDOWN));
-+ del_timer(&sharppda_kbd_rep_timer);
-+ init_timer(&sharppda_kbd_rep_timer);
-+ sharppda_kbd_rep_timer.expires = jiffies + key_repeat_delay;
-+ add_timer( &sharppda_kbd_rep_timer );
-+ rep_scancode = KBSCANCDE(keycode_mapped,KBDOWN);
-+#if CHECK_ROLLOVER
-+ rep_hardkey = keycode;
-+#endif
-+ }
-+}
-+
-+#if CHECK_ROLLOVER
-+void sharppda_kbd_press_rollover(int keycode)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+#if CHECK_CHUTTER_BOUNCE
-+ if (sharppda_kbdstate[keycode].in == NOTPRESSED) {
-+ keysdown++;
-+ sharppda_kbdstate[keycode].in=ROLLOVERERROR;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("ROLLOVERERROR keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+#else
-+ if (!sharppda_kbdstate[keycode].in) {
-+ keysdown++;
-+ sharppda_kbdstate[keycode].in=2;
-+ }
-+#endif
-+ // key is down but not handle_scancode()
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+}
-+
-+void sharppda_kbd_press_force_rollover(int keycode)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+#if CHECK_CHUTTER_BOUNCE
-+ if ((sharppda_kbdstate[keycode].in != PRESSED) &&
-+ (sharppda_kbdstate[keycode].in != ROLLOVERERROR)) {
-+ keysdown++;
-+ }
-+ sharppda_kbdstate[keycode].in=ROLLOVERERROR;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("force ROLLOVERERROR keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+#else
-+ if (!sharppda_kbdstate[keycode].in) {
-+ keysdown++;
-+ }
-+ sharppda_kbdstate[keycode].in=2;
-+#endif
-+ // key is down but not handle_scancode()
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+}
-+#endif
-+
-+void sharppda_kbd_release(int keycode)
-+{
-+ unsigned long flags;
-+ unsigned char newrelease = 0;
-+ int keycode_mapped = keycode;
-+
-+//printk("kbd_release=%d\n",keycode);
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+#if CHECK_CHUTTER_BOUNCE
-+ if (IS_PRESSING(sharppda_kbdstate[keycode].in)) {
-+ // detected chutter ?
-+ sharppda_kbdstate[keycode].in = NOTPRESSED;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("CHUTTER? keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+ else if (IS_RELEASING(sharppda_kbdstate[keycode].in) ||
-+ (sharppda_kbdstate[keycode].in == PRESSED)) {
-+ // releasing
-+ sharppda_kbdstate[keycode].in++;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("RELEASING keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+ else if (sharppda_kbdstate[keycode].in == ROLLOVERERROR) {
-+ keysdown--;
-+ sharppda_kbdstate[keycode].in = NOTPRESSED;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("was ROLLOVERERROR keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+ if (sharppda_kbdstate[keycode].in == JUST_RELEASED) {
-+ keysdown--;
-+ newrelease = 1;
-+ sharppda_kbdstate[keycode].in = NOTPRESSED;
-+#if CHUTTER_BOUNCE_LOG
-+ printk("JUST_RELEASED keycode %d state %d\n", keycode, sharppda_kbdstate[keycode].in);
-+#endif
-+ }
-+#else
-+ if (sharppda_kbdstate[keycode].in) {
-+ keysdown--;
-+#if CHECK_ROLLOVER
-+ if (sharppda_kbdstate[keycode].in==1) {
-+#endif
-+ newrelease = 1;
-+#if CHECK_ROLLOVER
-+ }
-+#endif
-+ }
-+#endif
-+
-+#if !CHECK_CHUTTER_BOUNCE
-+ sharppda_kbdstate[keycode].in=0;
-+#endif
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+
-+ /* We only need to ensure keysdown consistent */
-+
-+
-+ /* Map Keycode */
-+ if( newrelease ){
-+ keycode_mapped = keyrelease_map(keycode);
-+ }
-+
-+ if (newrelease){
-+ if( holdkey_pending ){
-+ DEBUGPRINT(("HOLD pending.\n"));
-+ if( holdkey_pendinghardkey == keycode ){
-+ DEBUGPRINT(("HOLDed key is same as pending-key. %x\n",keycode));
-+ DEBUGPRINT(("Current MappedKey is %x.\n",holdkey_pendingmappedkey));
-+ DEBUGPRINT(("kbdrel hold %d (%x)\n",KBSCANCDE(holdkey_pendingmappedkey,KBDOWN),KBSCANCDE(holdkey_pendingmappedkey,KBDOWN)));
-+ handle_scancode(KBSCANCDE(holdkey_pendingmappedkey,KBDOWN), 1);
-+ del_timer(&sharppda_kbd_hold_timer);
-+ holdkey_pending = 0;
-+ holdkey_pendinghardkey = 0;
-+ holdkey_pendingmappedkey = 0;
-+ DEBUGPRINT(("HOLDed key is released.\n"));
-+ }
-+ }
-+ DEBUGPRINT(("kbdrel nom %d (%x)\n",KBSCANCDE(keycode_mapped,KBUP),KBSCANCDE(keycode_mapped,KBUP)));
-+ handle_scancode(KBSCANCDE(keycode_mapped,KBUP), 0);
-+ // printk("handle_scankey=%x\n",KBSCANCDE(keycode_mapped,KBUP));
-+ if( rep_scancode == KBSCANCDE(keycode_mapped,KBDOWN) ){
-+ rep_scancode = 0;
-+#if CHECK_ROLLOVER
-+ rep_hardkey = 0;
-+#endif
-+ //DEBUGPRINT(("%%"));
-+ del_timer( &sharppda_kbd_rep_timer );
-+ }
-+ }
-+
-+}
-+
-+/*
-+ * Keyboard Scan routine , using GPIO
-+ */
-+
-+
-+#if CHECK_ROLLOVER
-+#define MAX_KEY_PRESS (6)
-+#endif
-+
-+static void port_key_delay_proc( unsigned long port_key );
-+#define PORT_KEY_NUM 3
-+#define IDPORT_ON 0
-+#define IDPORT_REC 1
-+#define IDPORT_SYNC 2
-+static int port_key_setting[PORT_KEY_NUM] = { 30, 90, 5 }; // -1:disable, 0~: x10ms wait for detect
-+static int port_key_delay_state[PORT_KEY_NUM] = {NOTPRESSED,NOTPRESSED,NOTPRESSED};
-+static struct timer_list port_key_delay_timer = { function: port_key_delay_proc };
-+static int port_key_pending = 0;
-+
-+static void reset_port_key_delay(void)
-+{
-+ int i;
-+ del_timer(&port_key_delay_timer);
-+ for (i=0; i<PORT_KEY_NUM; i++) port_key_delay_state[i]=NOTPRESSED;
-+ port_key_pending = 0;
-+}
-+
-+// num = 0:On key, 1:Rec key, 2:Sync key
-+// val = -1:disable, 0~: x10ms wait for detect
-+int set_port_key_setting( int num, int val )
-+{
-+ if (num<0 || num>=PORT_KEY_NUM) return -1;
-+ port_key_setting[num] = val;
-+ port_key_delay_state[num] = NOTPRESSED;
-+ port_key_pending = 0;
-+ return 0;
-+}
-+int get_port_key_setting( int num )
-+{
-+ if (num<0 || num>=PORT_KEY_NUM) return -1;
-+ return port_key_setting[num];
-+}
-+
-+static int read_port_key_status_raw(void)
-+{
-+ int val=0;
-+ // Power
-+ if ((GPLR0 & GPIO_bit(GPIO_ON_KEY))==0) val |= KEYMASK_ON;
-+ // Record
-+ if ((GPLR0 & GPIO_bit(GPIO_RECORD_BTN))==0) val |= KEYMASK_REC;
-+ // Sync
-+ if ((GPLR0 & GPIO_bit(GPIO_SYNC))==0) val |= KEYMASK_SYNC;
-+ return val;
-+}
-+
-+static void port_key_delay_proc( unsigned long port_key )
-+{
-+ int val=read_port_key_status_raw();
-+
-+ switch( port_key ) {
-+ case IDPORT_ON:
-+ if (port_key_delay_state[IDPORT_ON]!=PRESSING1 || (val&KEYMASK_ON) ) {
-+ port_key_delay_state[IDPORT_ON] = PRESSED;
-+ } else {
-+ port_key_delay_state[IDPORT_ON] = NOTPRESSED;
-+ }
-+ break;
-+ case IDPORT_REC:
-+ if (port_key_delay_state[IDPORT_REC]!=PRESSING1 || (val&KEYMASK_REC) ) {
-+ port_key_delay_state[IDPORT_REC] = PRESSED;
-+ } else {
-+ port_key_delay_state[IDPORT_REC] = NOTPRESSED;
-+ }
-+ break;
-+ case IDPORT_SYNC:
-+ if (port_key_delay_state[IDPORT_SYNC]!=PRESSING1 || (val&KEYMASK_SYNC) ) {
-+ port_key_delay_state[IDPORT_SYNC] = PRESSED;
-+ } else {
-+ port_key_delay_state[IDPORT_SYNC] = NOTPRESSED;
-+ }
-+ break;
-+ }
-+ port_key_pending = 0;
-+}
-+
-+static int read_port_key_status(void)
-+{
-+ int ret=0,val=read_port_key_status_raw();
-+
-+ // Power
-+ if (val & KEYMASK_ON) { // press
-+ if (port_key_setting[IDPORT_ON]==0) { // normal key
-+ ret |= KEYMASK_ON;
-+ } else if (port_key_setting[IDPORT_ON]>0) { // delay key
-+ if (port_key_delay_state[IDPORT_ON]==PRESSED) { // already detected
-+ ret |= KEYMASK_ON;
-+ } else if (port_key_delay_state[IDPORT_ON]==NOTPRESSED) { // start timer
-+ reset_port_key_delay();
-+ port_key_delay_state[IDPORT_ON]=PRESSING1;
-+ init_timer(&port_key_delay_timer);
-+ port_key_delay_timer.expires = jiffies + port_key_setting[IDPORT_ON];
-+ port_key_delay_timer.data = IDPORT_ON;
-+ add_timer(&port_key_delay_timer);
-+ port_key_pending = 1;
-+ return ret; // ignore following key
-+ }
-+ }
-+ } else { // release
-+ if (port_key_delay_state[IDPORT_ON]!=NOTPRESSED && port_key_setting[IDPORT_ON]>0) {
-+ del_timer(&port_key_delay_timer);
-+ port_key_pending = 0;
-+ port_key_delay_state[IDPORT_ON]=NOTPRESSED;
-+ }
-+ }
-+
-+
-+ // Record
-+ if (val & KEYMASK_REC) { // press
-+ if (port_key_setting[IDPORT_REC]==0) { // normal key
-+ ret |= KEYMASK_REC;
-+ } else if (port_key_setting[IDPORT_REC]>0) { // delay key
-+ if (port_key_delay_state[IDPORT_REC]==PRESSED) { // already detected
-+ ret |= KEYMASK_REC;
-+ } else if (port_key_delay_state[IDPORT_REC]==NOTPRESSED) { // start timer
-+ reset_port_key_delay();
-+ port_key_delay_state[IDPORT_REC]=PRESSING1;
-+ init_timer(&port_key_delay_timer);
-+ port_key_delay_timer.expires = jiffies + port_key_setting[IDPORT_REC];
-+ port_key_delay_timer.data = IDPORT_REC;
-+ add_timer(&port_key_delay_timer);
-+ port_key_pending = 1;
-+ return ret; // ignore following key
-+ }
-+ }
-+ } else { // release
-+ if (port_key_delay_state[IDPORT_REC]!=NOTPRESSED && port_key_setting[IDPORT_REC]>0) {
-+ del_timer(&port_key_delay_timer);
-+ port_key_pending = 0;
-+ port_key_delay_state[IDPORT_REC]=NOTPRESSED;
-+ }
-+ }
-+
-+ // Sync
-+ if (val & KEYMASK_SYNC) { // press
-+ if (port_key_setting[IDPORT_SYNC]==0) { // normal key
-+ ret |= KEYMASK_SYNC;
-+ } else if (port_key_setting[IDPORT_SYNC]>0) { // delay key
-+ if (port_key_delay_state[IDPORT_SYNC]==PRESSED) { // already detected
-+ ret |= KEYMASK_SYNC;
-+ } else if (port_key_delay_state[IDPORT_SYNC]==NOTPRESSED) { // start timer
-+ reset_port_key_delay();
-+ port_key_delay_state[IDPORT_SYNC]=PRESSING1;
-+ init_timer(&port_key_delay_timer);
-+ port_key_delay_timer.expires = jiffies + port_key_setting[IDPORT_SYNC];
-+ port_key_delay_timer.data = IDPORT_SYNC;
-+ add_timer(&port_key_delay_timer);
-+ port_key_pending = 1;
-+ return ret; // ignore following key
-+ }
-+ }
-+ } else { // release
-+ if (port_key_delay_state[IDPORT_SYNC]!=NOTPRESSED && port_key_setting[IDPORT_SYNC]>0) {
-+ del_timer(&port_key_delay_timer);
-+ port_key_pending = 0;
-+ port_key_delay_state[IDPORT_SYNC]=NOTPRESSED;
-+ }
-+ }
-+
-+ return ret;
-+}
-+
-+void sharppda_scan_key_gpio(void* dummy)
-+{
-+ int col,row;
-+ int rowd;
-+ unsigned long flags;
-+ int real_col;
-+ int count = 0;
-+#if CHECK_ROLLOVER
-+ int pressed_key[MAX_KEY_PRESS + 1];
-+ int i, rollover_count = 0, rollover_error = 0;
-+ unsigned long rollover_flag = 0;
-+#endif
-+#if CHECK_CHUTTER
-+ int loop;
-+#endif
-+
-+ WAIT_CHATTERING_DELAY;
-+
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+
-+ CHARGE_ALL;
-+
-+ for(col=0;col<KB_COLS+1;col++){
-+ real_col = GET_REAL_COL_FROM_COL(col);
-+ /*
-+ * Discharge the output driver capacitatance
-+ * in the keyboard matrix. (Yes it is significant..)
-+ */
-+ if (real_col<KB_COLS) { // matrix key
-+ DISCHARGE_ALL;
-+ WAIT_DISCHARGE_DELAY;
-+ ACTIVATE_COL(real_col);
-+
-+ WAIT_ACTIVATE_DELAY;
-+ rowd = GET_ROWS_STATUS(real_col);
-+
-+#if 1 // for BRB
-+ if (isBrb) {
-+ rowd &= 0x0000000f;
-+ }
-+#endif
-+ } else { // GPIO port key
-+ rowd = read_port_key_status();
-+ }
-+ for( row = 0 ; row < KB_ROWS ; row++ ){
-+
-+ if( rowd & KB_ROWMASK(row) ){
-+#if CHECK_ROLLOVER
-+ if ((rawkeytable_table_NormalLower[KEYCODE(row, col)] != KEY_IGN)) {
-+ pressed_key[count] = KEYCODE(row, col);
-+ rollover_flag |= rollover_flag_table[KEYCODE(row, col)];
-+ if (count < MAX_KEY_PRESS) {
-+ count++;
-+ }
-+ else {
-+ sharppda_kbd_press_rollover(KEYCODE(row,col));
-+ }
-+ }
-+#else
-+ sharppda_kbd_press(KEYCODE(row,col));
-+ count++;
-+#endif
-+ }
-+ else{
-+ if( sharppda_kbdstate[KEYCODE(row, col)].in ){
-+ sharppda_kbd_release(KEYCODE(row,col));
-+ }
-+ }
-+ }
-+ if (real_col<KB_COLS) {
-+ RESET_COL(real_col);
-+ }
-+ } /* end of for */
-+
-+#if CHECK_ROLLOVER
-+ if (count >= MAX_KEY_PRESS) {
-+ rollover_error = 1;
-+ }
-+ else {
-+ rollover_count = count;
-+ if (ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_LSHIFT)) {
-+ rollover_count--;
-+ }
-+ if (ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_RSHIFT)) {
-+ rollover_count--;
-+ }
-+ if (ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_FUNCTION)) {
-+ rollover_count--;
-+ }
-+ if ((rollover_count > 3) ||
-+ ((rollover_count == 3) &&
-+ (!ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_TAB) ||
-+ ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_DIRECT_ON)) &&
-+ (!ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_VERTICAL) ||
-+ !ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_HORIZONTAL) ||
-+ !ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_ENTQUESPC)))) {
-+ rollover_error = 1;
-+ }
-+ }
-+ // printk("count=%d,rollover_count=%d,rollover_error=%d\n",count,rollover_count,rollover_error);
-+ if (rollover_error == 0) {
-+#if 0
-+ if (ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_VERTICAL) &&
-+ ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_HORIZONTAL) &&
-+ ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_ENTQUESPC)) {
-+ printk("keyboard : vertical and horizontal and [Enter, ?, Space] pressed\n");
-+ }
-+#endif
-+ for (i = 0; i < count; i++) {
-+ sharppda_kbd_press(pressed_key[i]);
-+ }
-+ rollover_state = 0;
-+ }
-+ else {
-+ if (rollover_state == 0) {
-+#if 0
-+ printk("keyboard : roll over error!\n");
-+ if (count >= MAX_KEY_PRESS) {
-+ printk("keyboard : %d key pressed\n", count);
-+ }
-+ else if (rollover_count > 3) {
-+ printk("keyboard : %d rollover key pressed\n", rollover_count);
-+ }
-+ else if (ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_TAB) &&
-+ ROLLOVER_CHECK_FLAG(rollover_flag, ROLLOVER_DIRECT_ON)) {
-+ printk("keyboard : TAB and direct ON key pressed\n");
-+ }
-+#endif
-+ // stop repeat
-+ if (rep_hardkey) {
-+#if CHECK_CHUTTER_BOUNCE
-+ for (loop = 0; loop <= CHECK_BOUNCE; loop++) {
-+ sharppda_kbd_release(rep_hardkey);
-+ }
-+#else
-+ sharppda_kbd_release(rep_hardkey);
-+#endif
-+ sharppda_kbd_press_rollover(rep_hardkey);
-+ }
-+ }
-+ for (i = 0; i < count; i++) {
-+ sharppda_kbd_press_rollover(pressed_key[i]);
-+ }
-+ rollover_state = 1;
-+ }
-+#endif
-+
-+#ifdef USE_KBD_IRQ
-+ /*
-+ * drive all for next interrupts
-+ */
-+ DRIVE_ALL_COLS;
-+#endif
-+
-+ // press OK key to erase flash
-+ if (tosa_initial_keypress<0) {
-+#if CHECK_CHUTTER_BOUNCE
-+ if ((sharppda_kbdstate[0x38].in==PRESSED) ||
-+ IS_PRESSING(sharppda_kbdstate[0x38].in)) {
-+#else
-+#if CHECK_ROLLOVER
-+ if (sharppda_kbdstate[0x38].in==1) {
-+#else
-+ if (sharppda_kbdstate[0x38].in) {
-+#endif
-+#endif
-+ tosa_initial_keypress = 1;
-+ } else {
-+ tosa_initial_keypress = 0;
-+ }
-+ }
-+
-+
-+ /*
-+ * Re-queue ourselves
-+ */
-+#if CHECK_CHUTTER_BOUNCE
-+ for (loop = 0; loop < NR_KEYS; loop++) {
-+ if (port_key_pending) {
-+ queue_task(&kbdhw_task,&tq_timer);
-+ break;
-+ }
-+ if (sharppda_kbdstate[loop].in != NOTPRESSED) {
-+ queue_task(&kbdhw_task,&tq_timer);
-+ break;
-+ }
-+ }
-+#else
-+#ifdef USE_KBD_IRQ
-+ if ( count > 0 )
-+#endif
-+ queue_task(&kbdhw_task,&tq_timer);
-+#endif
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+}
-+
-+/*
-+ * Logical Keyboard Driver initialization
-+ */
-+
-+void sharppda_scan_logdriver_init(void)
-+{
-+ int ni;
-+ kbdhw_task.routine = sharppda_scan_key_gpio;
-+ kbdhw_task.sync = 0;
-+ mach_kbdrate = sharppda_kbd_kbdrate;
-+#ifndef USE_KBD_IRQ
-+ queue_task(&kbdhw_task,&tq_timer);
-+#endif
-+ for (ni=0;ni<NR_KEYCODES;ni++){
-+ sharppda_kbdstate[ni].in=0;
-+ }
-+ isBrb = checkBrb();
-+ init_timer(&port_key_delay_timer);
-+}
-+
-+void sharppda_scan_logdriver_suspend(void)
-+{
-+ del_timer( &sharppda_kbd_rep_timer );
-+ del_timer( &sharppda_kbd_hold_timer );
-+ rep_scancode = 0;
-+#if CHECK_ROLLOVER
-+ rep_hardkey = 0;
-+#endif
-+ holdkey_pending = 0;
-+ holdkey_pendinghardkey = 0;
-+ holdkey_pendingmappedkey = 0;
-+}
-+
-+void sharppda_scan_logdriver_resume(void)
-+{
-+ queue_task(&kbdhw_task,&tq_timer);
-+}
-+
-+
-+
-+/*
-+ * External Modifier Status Functions
-+ */
-+
-+int sharppda_kbd_extmodif_showstatus(int which)
-+{
-+#ifdef EXTMODIF_SHOWSTAT_KEYMAX
-+ unsigned char* pmodmap;
-+ if( which >= EXTMODIF_SHOWSTAT_KEYMAX ) return -EINVAL;
-+ if( ! extmodif_status_tables ) return -EINVAL;
-+ if( ! ( pmodmap = extmodif_status_tables[which] ) ) return -EINVAL;
-+ return(pmodmap[sharp_cur_status]);
-+#else /* ! EXTMODIF_SHOWSTAT_KEYMAX */
-+ return -EINVAL; /* not supported on this arch. */
-+#endif /* ! EXTMODIF_SHOWSTAT_KEYMAX */
-+}
-+
-+int sharppda_kbd_extmodif_togglestatus(int which)
-+{
-+#ifdef EXTMODIF_MOVESTAT_KEYMAX
-+ unsigned char* pmodmap;
-+ if( which >= EXTMODIF_MOVESTAT_KEYMAX ) return -EINVAL;
-+ if( ! extmodif_move_tables ) return -EINVAL;
-+ if( ! ( pmodmap = extmodif_move_tables[which] ) ) return -EINVAL;
-+ DEBUGPRINT(("moving from %d to %d\n",sharp_cur_status,pmodmap[sharp_cur_status]));
-+ if( sharp_cur_status != pmodmap[sharp_cur_status] ){
-+ sharp_cur_status = pmodmap[sharp_cur_status];
-+ sharpkbdctl_stat_changed();
-+ }else{
-+ sharp_cur_status = pmodmap[sharp_cur_status];
-+ }
-+ return 0;
-+#else /* ! EXTMODIF_MOVESTAT_KEYMAX */
-+ return -EINVAL; /* not supported on this arch. */
-+#endif /* ! EXTMODIF_MOVESTAT_KEYMAX */
-+}
-+
-+unsigned long sharppda_kbd_extmodif_packstatus(void)
-+{
-+#ifdef EXTMODIF_SHOWSTAT_KEYMAX
-+ unsigned long val = 0;
-+ return val;
-+#else /* ! EXTMODIF_SHOWSTAT_KEYMAX */
-+ return 0;
-+#endif /* ! EXTMODIF_SHOWSTAT_KEYMAX */
-+}
-+
-+/*
-+ * SL-Keycode Search Functions
-+ */
-+
-+static int find_hardcode_from_slcode(int stateno,unsigned char sl_char)
-+{
-+ int i;
-+ unsigned char* pmodmap;
-+ if( stateno < 0 || stateno >= STATE_NUMS_TOTAL ) return -EINVAL;
-+ pmodmap = state_to_keymap[stateno];
-+ for(i=0;i<(NR_KEYCODES+1);i++){
-+ if( pmodmap[i] == sl_char ) return i;
-+ }
-+ return -EINVAL;
-+}
-+
-+
-+/*
-+ * HoldKey Customizing Functions
-+ */
-+
-+static void delete_custom_holdkey_info(void)
-+{
-+ CUS_DPRINTK("\n");
-+ if( custom_holdkey_info ){
-+ int i;
-+ for(i=0;i<(NR_KEYCODES+1);i++){
-+ if( custom_holdkey_info[i] ){
-+ kfree(custom_holdkey_info[i]);
-+ custom_holdkey_info[i] = NULL;
-+ }
-+ }
-+ kfree(custom_holdkey_info);
-+ custom_holdkey_info = NULL;
-+ }
-+}
-+
-+static int duplicate_holdkey_info(void)
-+{
-+ int i;
-+ CUS_DPRINTK("\n");
-+ if( ! custom_holdkey_info ){
-+ custom_holdkey_info = (shappda_holdkey_info**)kmalloc(sizeof(shappda_holdkey_info*)*(NR_KEYCODES+1),GFP_KERNEL);
-+ if( ! custom_holdkey_info ) goto FAIL_SAFE;
-+ memset(custom_holdkey_info,0,sizeof(shappda_holdkey_info*)*(NR_KEYCODES+1));
-+ }
-+ for(i=0;i<(NR_KEYCODES+1);i++){
-+ if( holdkey_info[i] ){
-+ if( ! custom_holdkey_info[i] ){
-+ custom_holdkey_info[i] = (shappda_holdkey_info*)kmalloc(sizeof(shappda_holdkey_info),GFP_KERNEL);
-+ if( ! custom_holdkey_info[i] ) goto FAIL_SAFE;
-+ }
-+ memcpy(custom_holdkey_info[i],holdkey_info[i],sizeof(shappda_holdkey_info));
-+ }else{
-+ if( custom_holdkey_info[i] ){
-+ memset(custom_holdkey_info[i],0,sizeof(shappda_holdkey_info));
-+ kfree(custom_holdkey_info[i]);
-+ custom_holdkey_info[i] = NULL;
-+ }
-+ }
-+ }
-+ return 0;
-+FAIL_SAFE:
-+ delete_custom_holdkey_info();
-+ return -ENOMEM;
-+}
-+
-+static int add_custom_holdkey_info(int i)
-+{
-+ int error;
-+ CUS_DPRINTK(" %d(%x)\n",i,i);
-+ if( i < 0 || i >= (NR_KEYCODES+1) ) return -EINVAL;
-+ if( ! custom_holdkey_info ){
-+ if( ( error = duplicate_holdkey_info() ) ) return error;
-+ }
-+ if( ! custom_holdkey_info[i] ){
-+ custom_holdkey_info[i] = (shappda_holdkey_info*)kmalloc(sizeof(shappda_holdkey_info),GFP_KERNEL);
-+ if( ! custom_holdkey_info[i] ) goto FAIL_SAFE;
-+ if( holdkey_info[i] )
-+ memcpy(custom_holdkey_info[i],holdkey_info[i],sizeof(shappda_holdkey_info));
-+ else
-+ memset(custom_holdkey_info[i],0,sizeof(shappda_holdkey_info));
-+ }
-+ return 0;
-+FAIL_SAFE:
-+ return -ENOMEM;
-+}
-+
-+static int del_custom_holdkey_info(int i)
-+{
-+ int error;
-+ CUS_DPRINTK(" %d(%x)\n",i,i);
-+ if( i < 0 || i >= (NR_KEYCODES+1) ) return -EINVAL;
-+ if( ! custom_holdkey_info ){
-+ if( ( error = duplicate_holdkey_info() ) ) return error;
-+ }
-+ if( custom_holdkey_info[i] ){
-+ memset(custom_holdkey_info[i],0,sizeof(shappda_holdkey_info));
-+ kfree(custom_holdkey_info[i]);
-+ custom_holdkey_info[i] = NULL;
-+ }
-+ return 0;
-+FAIL_SAFE:
-+ return -ENOMEM;
-+}
-+
-+static int restore_one_holdkey_info(int i)
-+{
-+ int error;
-+ CUS_DPRINTK(" %d(%x)\n",i,i);
-+ if( i < 0 || i >= (NR_KEYCODES+1) ) return -EINVAL;
-+ if( ! custom_holdkey_info ) return 0;
-+ if( holdkey_info[i] ){
-+ if( ( error = add_custom_holdkey_info(i) ) ) return error;
-+ memcpy(custom_holdkey_info[i],holdkey_info[i],sizeof(shappda_holdkey_info));
-+ }else{
-+ if( ( error = del_custom_holdkey_info(i) ) ) return error;
-+ }
-+ return 0;
-+}
-+
-+int restore_all_holdkey_info(void)
-+{
-+ CUS_DPRINTK("\n");
-+ if( ! custom_holdkey_info ) return 0;
-+ delete_custom_holdkey_info();
-+ return 0;
-+}
-+
-+int customize_holdkey_char_info(int hardcode,int sl_char)
-+{
-+ int error;
-+ CUS_DPRINTK(" %d(%x) %d(%x)\n",hardcode,hardcode,sl_char,sl_char);
-+ if( ! custom_holdkey_info ){
-+ if( ( error = duplicate_holdkey_info() ) ) return error;
-+ }
-+ if( ( error = add_custom_holdkey_info(hardcode) ) ) return error;
-+ custom_holdkey_info[hardcode]->type = HOLDKEYTYPE_CHAR;
-+ custom_holdkey_info[hardcode]->character = sl_char;
-+ return 0;
-+}
-+
-+int customize_holdkey_char_info_by_slkey(unsigned char slcode,int sl_char)
-+{
-+ int hardcode;
-+ CUS_DPRINTK(" %d(%x) %d(%x)\n",slcode,slcode,sl_char,sl_char);
-+ hardcode = find_hardcode_from_slcode(0,slcode);
-+ if( hardcode < 0 ) return -EINVAL;
-+ return customize_holdkey_char_info(hardcode,sl_char);
-+}
-+
-+int customize_del_holdkey_info(int hardcode)
-+{
-+ CUS_DPRINTK(" %d(%x)\n",hardcode,hardcode);
-+ return del_custom_holdkey_info(hardcode);
-+}
-+
-+int customize_del_holdkey_info_by_slkey(int slcode)
-+{
-+ int hardcode;
-+ CUS_DPRINTK(" %d(%x)\n",slcode,slcode);
-+ hardcode = find_hardcode_from_slcode(0,slcode);
-+ if( hardcode < 0 ) return -EINVAL;
-+ return del_custom_holdkey_info(hardcode);
-+}
-+
-+int customize_restore_holdkey_info(int hardcode)
-+{
-+ CUS_DPRINTK(" %d(%x)\n",hardcode,hardcode);
-+ return restore_one_holdkey_info(hardcode);
-+}
-+
-+int customize_restore_holdkey_info_by_slkey(int slcode)
-+{
-+ int hardcode;
-+ CUS_DPRINTK(" %d(%x)\n",slcode,slcode);
-+ hardcode = find_hardcode_from_slcode(0,slcode);
-+ if( hardcode < 0 ) return -EINVAL;
-+ return restore_one_holdkey_info(hardcode);
-+}
-+
-+
-+int sharppda_kbd_set_hold_threshold(int msecs)
-+{
-+ if( holdkey_info ){
-+ key_hold_delay = (unsigned long)msecs * HZ / 1000;
-+#ifdef HOLDKEY_INFO_HAS_TIMEOUT
-+ if( ! custom_holdkey_info ) duplicate_holdkey_info();
-+ if( custom_holdkey_info ){
-+ int i;
-+ for(i=0;i<=NR_KEYCODES;i++){
-+ if( custom_holdkey_info[i] ){
-+ custom_holdkey_info[i]->timeout = msecs;
-+ }
-+ }
-+ }else{
-+ int i;
-+ for(i=0;i<=NR_KEYCODES;i++){
-+ if( holdkey_info[i] ){
-+ holdkey_info[i]->timeout = msecs;
-+ }
-+ }
-+ }
-+#endif
-+ return 0;
-+ }else{
-+ return -EINVAL; /* not supported on this architecture */
-+ }
-+}
-+
-+int sharppda_kbd_set_hold_threshold_group(int group,int msecs)
-+{
-+#ifdef HOLDKEY_INFO_HAS_TIMEOUT
-+ if( ! custom_holdkey_info ) duplicate_holdkey_info();
-+ if( custom_holdkey_info ){
-+ int i;
-+ for(i=0;i<=NR_KEYCODES;i++){
-+ if( custom_holdkey_info[i] && custom_holdkey_info[i]->setgroup == group ){
-+ custom_holdkey_info[i]->timeout = msecs;
-+ }
-+ }
-+ return 0;
-+ }else if( holdkey_info ){
-+ int i;
-+ for(i=0;i<=NR_KEYCODES;i++){
-+ if( holdkey_info[i] && holdkey_info[i]->setgroup == group ){
-+ holdkey_info[i]->timeout = msecs;
-+ }
-+ }
-+ return 0;
-+ }else{
-+ return -EINVAL; /* not supported on this architecture */
-+ }
-+#endif
-+ return -EINVAL; /* not supported on this architecture */
-+}
-+
-+#if 0
-+static int sharppda_kbd_keyscan(void)
-+{
-+ unsigned long flags;
-+ int row, col, rowd, press_row, press_col, real_col;
-+
-+ WAIT_CHATTERING_DELAY;
-+
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+
-+ press_col = -1;
-+ press_row = -1;
-+ CHARGE_ALL;
-+ for (col = 0; col < KB_COLS; col++) {
-+ real_col = (GET_REAL_COL_FROM_COL(col));
-+ DISCHARGE_ALL;
-+ WAIT_DISCHARGE_DELAY;
-+ ACTIVATE_COL(real_col);
-+
-+ WAIT_ACTIVATE_DELAY;
-+ rowd = GET_ROWS_STATUS(real_col);
-+ for (row = 0; row < KB_ROWS; row++) {
-+ if (rowd & KB_ROWMASK(row)) {
-+ if (press_row >= 0) {
-+ press_row = -1;
-+ col = KB_COLS;
-+ break;
-+ }
-+ press_row = row;
-+ press_col = col;
-+ }
-+ }
-+ RESET_COL(real_col);
-+ }
-+
-+ if (press_col != 0)
-+ press_row = -1;
-+
-+#ifdef USE_KBD_IRQ
-+ DRIVE_ALL_COLS;
-+#endif
-+
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+
-+ return press_row;
-+}
-+
-+static int sharppda_kbd_keycheck(int row, int col)
-+{
-+ unsigned long flags;
-+ int press, real_col;
-+
-+ WAIT_CHATTERING_DELAY;
-+
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+
-+ CHARGE_ALL;
-+ real_col = (GET_REAL_COL_FROM_COL(col));
-+ DISCHARGE_ALL;
-+ WAIT_DISCHARGE_DELAY;
-+ ACTIVATE_COL(real_col);
-+
-+ WAIT_ACTIVATE_DELAY;
-+ if (GET_ROWS_STATUS(real_col) & KB_ROWMASK(row))
-+ press = 1;
-+ else
-+ press = 0;
-+ RESET_COL(real_col);
-+
-+#ifdef USE_KBD_IRQ
-+ DRIVE_ALL_COLS;
-+#endif
-+
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+
-+ return press;
-+}
-+
-+#define KEYBOARD_WAKEUP_WAIT 300
-+
-+static void sharppda_kbd_holdkeycheck(int row, int col)
-+{
-+ int count;
-+
-+ for (count = 0; count < KEYBOARD_WAKEUP_WAIT; count++) {
-+ if (!sharppda_kbd_keycheck(row, col))
-+ break;
-+ mdelay(1);
-+ }
-+ if (row != 7) /* Power key */
-+ sharppda_kbd_press(KEYCODE(row, col));
-+ if (count >= KEYBOARD_WAKEUP_WAIT) {
-+ sharppda_kbd_press(KEYCODE(row, col));
-+ sharppda_kbd_hold(0);
-+ }
-+}
-+#endif
-+
-+static void sharppda_kbd_press_repeat( int code )
-+{
-+ int i;
-+ for (i=0; i<JUST_PRESSED; i++) sharppda_kbd_press(code);
-+}
-+static void sharppda_kbd_release_repeat( int code )
-+{
-+ int i;
-+ for (i=0; i<JUST_RELEASED-PRESSED; i++) sharppda_kbd_release(code);
-+}
-+
-+int sharppda_kbd_is_wakeup(void)
-+{
-+ unsigned long flags;
-+ int count = 0, err = 0;
-+ int cur_portkey,last_portkey=0;
-+ int cur_matrixkey,last_matrixkey=0;
-+ const int strobe_num = 4;
-+ const int success_count = 10;
-+
-+ while( !(count>success_count || err>50) ) {
-+ // read GPIO(On,Rec,Sync) key
-+ cur_portkey = read_port_key_status_raw();
-+
-+ // read Strobe4(Address,Calendar,Menu,Mail) key
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+ DISCHARGE_ALL;
-+ WAIT_DISCHARGE_DELAY;
-+ ACTIVATE_COL(strobe_num);
-+ WAIT_ACTIVATE_DELAY;
-+ cur_matrixkey = GET_ROWS_STATUS(strobe_num);
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+ // compare with last state
-+ if (cur_portkey != last_portkey ||
-+ cur_matrixkey != last_matrixkey) {
-+ count = 0;
-+ err++;
-+ last_portkey = cur_portkey;
-+ last_matrixkey = cur_matrixkey;
-+ } else {
-+ count++;
-+ }
-+ mdelay(10);
-+ }
-+ if (count>success_count) {
-+ printk("key interrupt on (%04x,%04x)\n",last_portkey,last_matrixkey);
-+ if (last_portkey & KEYMASK_ON) { // On ... only status change
-+ sharppda_kbdstate[KEYCODE(0, KB_COLS)].in = PRESSED;
-+ port_key_delay_state[IDPORT_ON]=PRESSED;
-+ }
-+ if (last_portkey & KEYMASK_REC) { // Rec
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_REC) {
-+ if (port_key_setting[IDPORT_REC]>=0) {
-+ sharppda_kbd_press_repeat(KEYCODE(1, KB_COLS));
-+ sharppda_kbd_release_repeat(KEYCODE(1, KB_COLS));
-+ }
-+ } else last_portkey &= ~KEYMASK_REC;
-+ }
-+ if (last_portkey & KEYMASK_SYNC) { // Sync
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_SYNC) {
-+ if (port_key_setting[IDPORT_SYNC]>=0) {
-+ sharppda_kbd_press_repeat(KEYCODE(2, KB_COLS));
-+ sharppda_kbd_release_repeat(KEYCODE(2, KB_COLS));
-+ }
-+ } else last_portkey &= ~KEYMASK_SYNC;
-+ }
-+ if (last_matrixkey & KEYMASK_ADDRESS) { // Address
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_ADDRESSBOOK) {
-+ sharppda_kbd_press_repeat(KEYCODE(3, strobe_num));
-+ sharppda_kbd_release_repeat(KEYCODE(3, strobe_num));
-+ } else last_matrixkey &= ~KEYMASK_ADDRESS;
-+ }
-+ if (last_matrixkey & KEYMASK_CALENDAR) { // Calendar
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_CALENDAR) {
-+ sharppda_kbd_press_repeat(KEYCODE(4, strobe_num));
-+ sharppda_kbd_release_repeat(KEYCODE(4, strobe_num));
-+ } else last_matrixkey &= ~KEYMASK_CALENDAR;
-+ }
-+ if (last_matrixkey & KEYMASK_MENU) { // Menu
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_MENU) {
-+ sharppda_kbd_press_repeat(KEYCODE(5, strobe_num));
-+ sharppda_kbd_release_repeat(KEYCODE(5, strobe_num));
-+ } else last_matrixkey &= ~KEYMASK_MENU;
-+ }
-+ if (last_matrixkey & KEYMASK_MAIL) { // Mail (Holdkey event)
-+ if (logical_wakeup_src_mask&IDPM_WAKEUP_MAIL) {
-+ sharppda_kbd_press_repeat(KEYCODE(6, strobe_num));
-+ sharppda_kbd_hold(0);
-+ } else last_matrixkey &= ~KEYMASK_MAIL;
-+ }
-+ return (last_portkey || last_matrixkey)?1:0;
-+ }
-+ return 0;
-+}
-+
-+#define MAX_RESET_KEY_COMBINATION 3
-+
-+#define RESET_KEY_NONE (0)
-+#define RESET_KEY_FUNC (KEYCODE(5, 10))
-+#define RESET_KEY_HOME (KEYCODE(4, 5))
-+#define RESET_KEY_A (KEYCODE(2, 0))
-+#define RESET_KEY_B (KEYCODE(4, 2))
-+#define RESET_KEY_C (KEYCODE(3, 2))
-+#define RESET_KEY_D (KEYCODE(2, 2))
-+#define RESET_KEY_K (KEYCODE(0, 5))
-+#define RESET_KEY_M (KEYCODE(5, 3))
-+#define RESET_KEY_P (KEYCODE(0, 7))
-+#define RESET_KEY_Q (KEYCODE(1, 0))
-+#define RESET_KEY_R (KEYCODE(4, 1))
-+#define RESET_KEY_T (KEYCODE(1, 2))
-+#define RESET_KEY_Z (KEYCODE(3, 0))
-+
-+static int reset_key_combination[][MAX_RESET_KEY_COMBINATION] = {
-+ {RESET_KEY_FUNC, RESET_KEY_HOME, RESET_KEY_NONE}, /* Fn + Home */
-+ {RESET_KEY_P, RESET_KEY_D, RESET_KEY_NONE}, /* P + D */
-+ {RESET_KEY_M, RESET_KEY_D, RESET_KEY_NONE}, /* M + D */
-+ {RESET_KEY_R, RESET_KEY_D, RESET_KEY_NONE}, /* R + D */
-+ {RESET_KEY_FUNC, RESET_KEY_P, RESET_KEY_D}, /* Fn + P + D */
-+ {RESET_KEY_FUNC, RESET_KEY_M, RESET_KEY_D}, /* Fn + M + D */
-+ {RESET_KEY_Q, RESET_KEY_T, RESET_KEY_NONE}, /* Q + T */
-+ {RESET_KEY_C, RESET_KEY_D, RESET_KEY_NONE}, /* C + D */
-+ {RESET_KEY_Z, RESET_KEY_D, RESET_KEY_NONE}, /* Z + D */
-+ {RESET_KEY_K, RESET_KEY_D, RESET_KEY_NONE}, /* K + D */
-+ {RESET_KEY_A, RESET_KEY_B, RESET_KEY_NONE}, /* A + B */
-+ {RESET_KEY_B, RESET_KEY_D, RESET_KEY_NONE}, /* B + D */
-+ {RESET_KEY_A, RESET_KEY_D, RESET_KEY_NONE}, /* A + D */
-+ {RESET_KEY_NONE, RESET_KEY_NONE, RESET_KEY_NONE} /* End Mark */
-+};
-+
-+static int sharppda_kbd_resetcheck_one(void)
-+{
-+ unsigned long flags;
-+ int row, col, rowd, real_col, i, j, k, press_num = 0, pressed, set_num;
-+ int press_key[MAX_RESET_KEY_COMBINATION] = {0, 0, 0};
-+
-+ WAIT_CHATTERING_DELAY;
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+ CHARGE_ALL;
-+ for (col = 0; col < KB_COLS; col++) {
-+ real_col = (GET_REAL_COL_FROM_COL(col));
-+ DISCHARGE_ALL;
-+ WAIT_DISCHARGE_DELAY;
-+ ACTIVATE_COL(real_col);
-+ WAIT_ACTIVATE_DELAY;
-+ rowd = GET_ROWS_STATUS(real_col);
-+ for (row = 0; row < KB_ROWS; row++) {
-+ if (rowd & KB_ROWMASK(row)) {
-+ if (press_num >= MAX_RESET_KEY_COMBINATION) {
-+ return 0; /* too many keys are pressed */
-+ }
-+ press_key[press_num++] = KEYCODE(row, col);
-+ }
-+ }
-+ RESET_COL(real_col);
-+ }
-+
-+#ifdef USE_KBD_IRQ
-+ DRIVE_ALL_COLS;
-+#endif
-+
-+ spin_unlock_irqrestore(&kbd_spinlock,flags);
-+
-+ for (i = 0; reset_key_combination[i][0] != 0; i++) {
-+ set_num = 0;
-+ for (j = 0; j < MAX_RESET_KEY_COMBINATION; j++) {
-+ if (reset_key_combination[i][j] == RESET_KEY_NONE) continue;
-+ set_num++;
-+ pressed = 0;
-+ for (k = 0; k < press_num; k++) {
-+ if (press_key[k] == reset_key_combination[i][j]) {
-+ pressed = 1;
-+ break;
-+ }
-+ }
-+ if (!pressed) break;
-+ }
-+ if ((j == MAX_RESET_KEY_COMBINATION) && (set_num == press_num)) {
-+ return i + 1;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+int sharppda_kbd_resetcheck(void)
-+{
-+ int state, i;
-+
-+ state = sharppda_kbd_resetcheck_one();
-+#if CHECK_CHUTTER_BOUNCE
-+ if (!state) return 0;
-+ for (i = 0; i < CHECK_CHUTTER; i++) {
-+ mdelay(5);
-+ if (sharppda_kbd_resetcheck_one() != state) return 0;
-+ }
-+#endif
-+ return state;
-+}
-+/*
-+ * end of source
-+ */
-diff -Nur linux_c860_org/drivers/char/tosa_rawmap.h linux/drivers/char/tosa_rawmap.h
---- linux_c860_org/drivers/char/tosa_rawmap.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_rawmap.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,340 @@
-+#ifndef __KEYTABLE_H_INCLUDED__
-+#define __KEYTABLE_H_INCLUDED__
-+
-+
-+#ifndef NR_KEYS
-+#define NR_KEYS 128
-+#endif /* ! NR_KEYS */
-+
-+
-+#ifndef NR_KEYCODES
-+#define NR_KEYCODES 128
-+#endif /* ! NR_KEYCODES */
-+
-+
-+#define MODIF_2ND 0x01
-+#define MODIF_CAPS 0x02
-+#define MODIF_NUM 0x03
-+
-+#ifndef KEY_IGN
-+#define KEY_IGN 0
-+#endif /* ! KEY_IGN */
-+
-+
-+static unsigned char rawkeytable_table_NormalLower[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_NormalUpper[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_2ndLower[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_2ndUpper[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_PRINTSCREEN,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_NumlockLower[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_NumlockUpper[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_Num2ndLower[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+static unsigned char rawkeytable_table_Num2ndUpper[(NR_KEYCODES+1)] = {
-+KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_PRINTSCREEN,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+
-+
-+
-+#define STATE_S0 0
-+#define STATE_S1 1
-+#define STATE_S2 2
-+#define STATE_S3 3
-+#define STATE_S4 4
-+#define STATE_S5 5
-+#define STATE_S6 6
-+#define STATE_S7 7
-+#define STATE_S8 8
-+#define STATE_S9 9
-+#define STATE_S10 10
-+#define STATE_S11 11
-+#define STATE_S12 12
-+#define STATE_S13 13
-+#define STATE_S14 14
-+#define STATE_S15 15
-+#define STATE_S16 16
-+#define STATE_S17 17
-+#define STATE_S18 18
-+#define STATE_S19 19
-+#define STATE_S20 20
-+#define STATE_S21 21
-+#define STATE_S22 22
-+#define STATE_S23 23
-+#define STATE_S24 24
-+#define STATE_S25 25
-+#define STATE_S26 26
-+#define STATE_S27 27
-+#define STATE_S28 28
-+#define STATE_S29 29
-+#define STATE_S30 30
-+#define STATE_S31 31
-+#define STATE_S32 32
-+#define STATE_S33 33
-+#define STATE_S34 34
-+#define STATE_S35 35
-+#define STATE_S36 36
-+#define STATE_S37 37
-+#define STATE_S38 38
-+#define STATE_S39 39
-+#define STATE_S40 40
-+#define STATE_S41 41
-+#define STATE_S42 42
-+#define STATE_S43 43
-+#define STATE_S44 44
-+#define STATE_S45 45
-+#define STATE_S46 46
-+#define STATE_S47 47
-+#define STATE_S48 48
-+#define STATE_S49 49
-+#define STATE_S50 50
-+#define STATE_S51 51
-+#define STATE_S52 52
-+#define STATE_S53 53
-+#define STATE_S54 54
-+#define STATE_S55 55
-+#define STATE_S56 56
-+#define STATE_S57 57
-+#define STATE_S58 58
-+#define STATE_S59 59
-+#define STATE_S60 60
-+#define STATE_S61 61
-+#define STATE_S62 62
-+#define STATE_S63 63
-+#define STATE_S64 64
-+#define STATE_S65 65
-+#define STATE_S66 66
-+#define STATE_S67 67
-+#define STATE_S68 68
-+#define STATE_S69 69
-+#define STATE_S70 70
-+#define STATE_S71 71
-+#define STATE_S72 72
-+#define STATE_S73 73
-+#define STATE_S74 74
-+#define STATE_S75 75
-+#define STATE_S76 76
-+#define STATE_S77 77
-+#define STATE_S78 78
-+#define STATE_S79 79
-+
-+
-+#define STATE_NUMS_TOTAL 80
-+
-+
-+#ifdef RAWKEY_MAP_DEBUG
-+static char *state_names[STATE_NUMS_TOTAL] = {
-+ "S0",
-+ "S1",
-+ "S2",
-+ "S3",
-+ "S4",
-+ "S5",
-+ "S6",
-+ "S7",
-+ "S8",
-+ "S9",
-+ "S10",
-+ "S11",
-+ "S12",
-+ "S13",
-+ "S14",
-+ "S15",
-+ "S16",
-+ "S17",
-+ "S18",
-+ "S19",
-+ "S20",
-+ "S21",
-+ "S22",
-+ "S23",
-+ "S24",
-+ "S25",
-+ "S26",
-+ "S27",
-+ "S28",
-+ "S29",
-+ "S30",
-+ "S31",
-+ "S32",
-+ "S33",
-+ "S34",
-+ "S35",
-+ "S36",
-+ "S37",
-+ "S38",
-+ "S39",
-+ "S40",
-+ "S41",
-+ "S42",
-+ "S43",
-+ "S44",
-+ "S45",
-+ "S46",
-+ "S47",
-+ "S48",
-+ "S49",
-+ "S50",
-+ "S51",
-+ "S52",
-+ "S53",
-+ "S54",
-+ "S55",
-+ "S56",
-+ "S57",
-+ "S58",
-+ "S59",
-+ "S60",
-+ "S61",
-+ "S62",
-+ "S63",
-+ "S64",
-+ "S65",
-+ "S66",
-+ "S67",
-+ "S68",
-+ "S69",
-+ "S70",
-+ "S71",
-+ "S72",
-+ "S73",
-+ "S74",
-+ "S75",
-+ "S76",
-+ "S77",
-+ "S78",
-+ "S79"
-+};
-+#endif /* RAWKEY_MAP_DEBUG */
-+
-+
-+static unsigned char state_table_LSHIFT_up[STATE_NUMS_TOTAL] = {
-+STATE_S0,STATE_S0,STATE_S2,STATE_S2,STATE_S4,STATE_S4,STATE_S6,STATE_S6,STATE_S8,STATE_S8,STATE_S10,STATE_S10,STATE_S12,STATE_S12,STATE_S14,STATE_S14,STATE_S16,STATE_S16,STATE_S18,STATE_S18,STATE_S20,STATE_S20,STATE_S22,STATE_S22,STATE_S24,STATE_S24,STATE_S26,STATE_S26,STATE_S28,STATE_S28,STATE_S30,STATE_S30,STATE_S32,STATE_S32,STATE_S34,STATE_S34,STATE_S36,STATE_S36,STATE_S38,STATE_S38,STATE_S40,STATE_S40,STATE_S42,STATE_S42,STATE_S44,STATE_S44,STATE_S46,STATE_S46,STATE_S48,STATE_S48,STATE_S50,STATE_S50,STATE_S52,STATE_S52,STATE_S54,STATE_S54,STATE_S56,STATE_S56,STATE_S58,STATE_S58,STATE_S60,STATE_S60,STATE_S62,STATE_S62,STATE_S64,STATE_S64,STATE_S66,STATE_S66,STATE_S68,STATE_S68,STATE_S70,STATE_S70,STATE_S72,STATE_S72,STATE_S74,STATE_S74,STATE_S76,STATE_S76,STATE_S78,STATE_S78};
-+
-+static unsigned char state_table_RSHIFT_up[STATE_NUMS_TOTAL] = {
-+STATE_S0,STATE_S1,STATE_S2,STATE_S3,STATE_S4,STATE_S5,STATE_S6,STATE_S7,STATE_S8,STATE_S9,STATE_S10,STATE_S11,STATE_S12,STATE_S13,STATE_S14,STATE_S15,STATE_S16,STATE_S17,STATE_S18,STATE_S19,STATE_S20,STATE_S21,STATE_S22,STATE_S23,STATE_S24,STATE_S25,STATE_S26,STATE_S27,STATE_S28,STATE_S29,STATE_S30,STATE_S31,STATE_S32,STATE_S33,STATE_S34,STATE_S35,STATE_S36,STATE_S37,STATE_S38,STATE_S39,STATE_S0,STATE_S1,STATE_S2,STATE_S3,STATE_S4,STATE_S5,STATE_S6,STATE_S7,STATE_S8,STATE_S9,STATE_S10,STATE_S11,STATE_S12,STATE_S13,STATE_S14,STATE_S15,STATE_S16,STATE_S17,STATE_S18,STATE_S19,STATE_S20,STATE_S21,STATE_S22,STATE_S23,STATE_S24,STATE_S25,STATE_S26,STATE_S27,STATE_S28,STATE_S29,STATE_S30,STATE_S31,STATE_S32,STATE_S33,STATE_S34,STATE_S35,STATE_S36,STATE_S37,STATE_S38,STATE_S39};
-+
-+static unsigned char state_table_2nd_up[STATE_NUMS_TOTAL] = {
-+STATE_S0,STATE_S1,STATE_S6,STATE_S7,STATE_S0,STATE_S1,STATE_S6,STATE_S7,STATE_S0,STATE_S1,STATE_S10,STATE_S11,STATE_S16,STATE_S17,STATE_S10,STATE_S11,STATE_S16,STATE_S17,STATE_S10,STATE_S11,STATE_S20,STATE_S21,STATE_S26,STATE_S27,STATE_S20,STATE_S21,STATE_S26,STATE_S27,STATE_S20,STATE_S21,STATE_S30,STATE_S31,STATE_S36,STATE_S37,STATE_S30,STATE_S31,STATE_S36,STATE_S37,STATE_S30,STATE_S31,STATE_S40,STATE_S41,STATE_S46,STATE_S47,STATE_S40,STATE_S41,STATE_S46,STATE_S47,STATE_S40,STATE_S41,STATE_S50,STATE_S51,STATE_S56,STATE_S57,STATE_S50,STATE_S51,STATE_S56,STATE_S57,STATE_S50,STATE_S51,STATE_S60,STATE_S61,STATE_S66,STATE_S67,STATE_S60,STATE_S61,STATE_S66,STATE_S67,STATE_S60,STATE_S61,STATE_S70,STATE_S71,STATE_S76,STATE_S77,STATE_S70,STATE_S71,STATE_S76,STATE_S77,STATE_S70,STATE_S71};
-+
-+
-+
-+#define UP_TABLES_SIZE 3
-+
-+
-+static unsigned char *up_tables[UP_TABLES_SIZE] = {
-+ state_table_LSHIFT_up,state_table_RSHIFT_up,state_table_2nd_up
-+};
-+
-+
-+#define SEE_LSHIFT_UP 0
-+#define SEE_RSHIFT_UP 1
-+#define SEE_2nd_UP 2
-+#define UP_NOP -1
-+
-+
-+static char up_modifs_ref[(NR_KEYCODES+1)] = {
-+UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,SEE_LSHIFT_UP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,SEE_RSHIFT_UP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,SEE_2nd_UP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP,UP_NOP};
-+
-+
-+static unsigned char state_table_LSHIFT_down[STATE_NUMS_TOTAL] = {
-+STATE_S1,STATE_S1,STATE_S3,STATE_S3,STATE_S5,STATE_S5,STATE_S7,STATE_S7,STATE_S9,STATE_S9,STATE_S11,STATE_S11,STATE_S13,STATE_S13,STATE_S15,STATE_S15,STATE_S17,STATE_S17,STATE_S19,STATE_S19,STATE_S21,STATE_S21,STATE_S23,STATE_S23,STATE_S25,STATE_S25,STATE_S27,STATE_S27,STATE_S29,STATE_S29,STATE_S31,STATE_S31,STATE_S33,STATE_S33,STATE_S35,STATE_S35,STATE_S37,STATE_S37,STATE_S39,STATE_S39,STATE_S41,STATE_S41,STATE_S43,STATE_S43,STATE_S45,STATE_S45,STATE_S47,STATE_S47,STATE_S49,STATE_S49,STATE_S51,STATE_S51,STATE_S53,STATE_S53,STATE_S55,STATE_S55,STATE_S57,STATE_S57,STATE_S59,STATE_S59,STATE_S61,STATE_S61,STATE_S63,STATE_S63,STATE_S65,STATE_S65,STATE_S67,STATE_S67,STATE_S69,STATE_S69,STATE_S71,STATE_S71,STATE_S73,STATE_S73,STATE_S75,STATE_S75,STATE_S77,STATE_S77,STATE_S79,STATE_S79};
-+
-+static unsigned char state_table_RSHIFT_down[STATE_NUMS_TOTAL] = {
-+STATE_S40,STATE_S41,STATE_S42,STATE_S43,STATE_S44,STATE_S45,STATE_S46,STATE_S47,STATE_S48,STATE_S49,STATE_S50,STATE_S51,STATE_S52,STATE_S53,STATE_S54,STATE_S55,STATE_S56,STATE_S57,STATE_S58,STATE_S59,STATE_S60,STATE_S61,STATE_S62,STATE_S63,STATE_S64,STATE_S65,STATE_S66,STATE_S67,STATE_S68,STATE_S69,STATE_S70,STATE_S71,STATE_S72,STATE_S73,STATE_S74,STATE_S75,STATE_S76,STATE_S77,STATE_S78,STATE_S79,STATE_S40,STATE_S41,STATE_S42,STATE_S43,STATE_S44,STATE_S45,STATE_S46,STATE_S47,STATE_S48,STATE_S49,STATE_S50,STATE_S51,STATE_S52,STATE_S53,STATE_S54,STATE_S55,STATE_S56,STATE_S57,STATE_S58,STATE_S59,STATE_S60,STATE_S61,STATE_S62,STATE_S63,STATE_S64,STATE_S65,STATE_S66,STATE_S67,STATE_S68,STATE_S69,STATE_S70,STATE_S71,STATE_S72,STATE_S73,STATE_S74,STATE_S75,STATE_S76,STATE_S77,STATE_S78,STATE_S79};
-+
-+static unsigned char state_table_2nd_down[STATE_NUMS_TOTAL] = {
-+STATE_S2,STATE_S3,STATE_S2,STATE_S3,STATE_S4,STATE_S5,STATE_S8,STATE_S9,STATE_S8,STATE_S9,STATE_S12,STATE_S13,STATE_S12,STATE_S13,STATE_S14,STATE_S15,STATE_S18,STATE_S19,STATE_S18,STATE_S19,STATE_S22,STATE_S23,STATE_S22,STATE_S23,STATE_S24,STATE_S25,STATE_S28,STATE_S29,STATE_S28,STATE_S29,STATE_S32,STATE_S33,STATE_S32,STATE_S33,STATE_S34,STATE_S35,STATE_S38,STATE_S39,STATE_S38,STATE_S39,STATE_S42,STATE_S43,STATE_S42,STATE_S43,STATE_S44,STATE_S45,STATE_S48,STATE_S49,STATE_S48,STATE_S49,STATE_S52,STATE_S53,STATE_S52,STATE_S53,STATE_S54,STATE_S55,STATE_S58,STATE_S59,STATE_S58,STATE_S59,STATE_S62,STATE_S63,STATE_S62,STATE_S63,STATE_S64,STATE_S65,STATE_S68,STATE_S69,STATE_S68,STATE_S69,STATE_S72,STATE_S73,STATE_S72,STATE_S73,STATE_S74,STATE_S75,STATE_S78,STATE_S79,STATE_S78,STATE_S79};
-+
-+static unsigned char state_table_caps_down[STATE_NUMS_TOTAL] = {
-+STATE_S0,STATE_S1,STATE_S14,STATE_S15,STATE_S14,STATE_S15,STATE_S10,STATE_S11,STATE_S14,STATE_S15,STATE_S10,STATE_S11,STATE_S4,STATE_S5,STATE_S4,STATE_S5,STATE_S0,STATE_S1,STATE_S4,STATE_S5,STATE_S20,STATE_S21,STATE_S34,STATE_S35,STATE_S34,STATE_S35,STATE_S30,STATE_S31,STATE_S34,STATE_S35,STATE_S30,STATE_S31,STATE_S24,STATE_S25,STATE_S24,STATE_S25,STATE_S20,STATE_S21,STATE_S24,STATE_S25,STATE_S40,STATE_S41,STATE_S54,STATE_S55,STATE_S54,STATE_S55,STATE_S50,STATE_S51,STATE_S54,STATE_S55,STATE_S50,STATE_S51,STATE_S44,STATE_S45,STATE_S44,STATE_S45,STATE_S40,STATE_S41,STATE_S44,STATE_S45,STATE_S60,STATE_S61,STATE_S74,STATE_S75,STATE_S74,STATE_S75,STATE_S70,STATE_S71,STATE_S74,STATE_S75,STATE_S70,STATE_S71,STATE_S64,STATE_S65,STATE_S64,STATE_S65,STATE_S60,STATE_S61,STATE_S64,STATE_S65};
-+
-+static unsigned char state_table_num_down[STATE_NUMS_TOTAL] = {
-+STATE_S0,STATE_S1,STATE_S24,STATE_S25,STATE_S24,STATE_S25,STATE_S20,STATE_S21,STATE_S24,STATE_S25,STATE_S10,STATE_S11,STATE_S34,STATE_S35,STATE_S34,STATE_S35,STATE_S30,STATE_S31,STATE_S34,STATE_S35,STATE_S20,STATE_S21,STATE_S4,STATE_S5,STATE_S4,STATE_S5,STATE_S0,STATE_S1,STATE_S4,STATE_S5,STATE_S30,STATE_S31,STATE_S14,STATE_S15,STATE_S14,STATE_S15,STATE_S10,STATE_S11,STATE_S14,STATE_S15,STATE_S40,STATE_S41,STATE_S64,STATE_S65,STATE_S64,STATE_S65,STATE_S60,STATE_S61,STATE_S64,STATE_S65,STATE_S50,STATE_S51,STATE_S74,STATE_S75,STATE_S74,STATE_S75,STATE_S70,STATE_S71,STATE_S74,STATE_S75,STATE_S60,STATE_S61,STATE_S44,STATE_S45,STATE_S44,STATE_S45,STATE_S40,STATE_S41,STATE_S44,STATE_S45,STATE_S70,STATE_S71,STATE_S54,STATE_S55,STATE_S54,STATE_S55,STATE_S50,STATE_S51,STATE_S54,STATE_S55};
-+
-+static unsigned char state_table_ANY_OTHER_down[STATE_NUMS_TOTAL] = {
-+STATE_S0,STATE_S1,STATE_S4,STATE_S5,STATE_S4,STATE_S5,STATE_S0,STATE_S1,STATE_S4,STATE_S5,STATE_S10,STATE_S11,STATE_S14,STATE_S15,STATE_S14,STATE_S15,STATE_S10,STATE_S11,STATE_S14,STATE_S15,STATE_S20,STATE_S21,STATE_S24,STATE_S25,STATE_S24,STATE_S25,STATE_S20,STATE_S21,STATE_S24,STATE_S25,STATE_S30,STATE_S31,STATE_S34,STATE_S35,STATE_S34,STATE_S35,STATE_S30,STATE_S31,STATE_S34,STATE_S35,STATE_S40,STATE_S41,STATE_S44,STATE_S45,STATE_S44,STATE_S45,STATE_S40,STATE_S41,STATE_S44,STATE_S45,STATE_S50,STATE_S51,STATE_S54,STATE_S55,STATE_S54,STATE_S55,STATE_S50,STATE_S51,STATE_S54,STATE_S55,STATE_S60,STATE_S61,STATE_S64,STATE_S65,STATE_S64,STATE_S65,STATE_S60,STATE_S61,STATE_S64,STATE_S65,STATE_S70,STATE_S71,STATE_S74,STATE_S75,STATE_S74,STATE_S75,STATE_S70,STATE_S71,STATE_S74,STATE_S75};
-+
-+
-+
-+#define DOWN_TABLES_SIZE 6
-+
-+
-+static unsigned char *down_tables[DOWN_TABLES_SIZE] = {
-+ state_table_LSHIFT_down,state_table_RSHIFT_down,state_table_2nd_down,state_table_caps_down,state_table_num_down,state_table_ANY_OTHER_down
-+};
-+
-+
-+#define SEE_LSHIFT_DOWN 0
-+#define SEE_RSHIFT_DOWN 1
-+#define SEE_2nd_DOWN 2
-+#define SEE_caps_DOWN 3
-+#define SEE_num_DOWN 4
-+#define SEE_ANY_OTHER_DOWN 5
-+#define DOWN_NOP -1
-+
-+
-+static char down_modifs_ref[(NR_KEYCODES+1)] = {
-+DOWN_NOP,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_LSHIFT_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_RSHIFT_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_2nd_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_caps_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_num_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN,SEE_ANY_OTHER_DOWN};
-+
-+
-+static unsigned char extmodif_map_2nd[STATE_NUMS_TOTAL] = {0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1};
-+static unsigned char extmodif_map_CAPS[STATE_NUMS_TOTAL] = {0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1};
-+static unsigned char extmodif_map_NUM[STATE_NUMS_TOTAL] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
-+
-+#define EXTMODIF_SHOWSTAT_KEYMAX 4
-+
-+static unsigned char *extmodif_status_tables[EXTMODIF_SHOWSTAT_KEYMAX] = {
-+NULL,extmodif_map_2nd,extmodif_map_CAPS,extmodif_map_NUM};
-+
-+
-+static unsigned char extmove_map_2nd[STATE_NUMS_TOTAL] = {STATE_S6,STATE_S7,STATE_S2,STATE_S3,STATE_S4,STATE_S5,STATE_S0,STATE_S1,STATE_S8,STATE_S9,STATE_S16,STATE_S17,STATE_S12,STATE_S13,STATE_S14,STATE_S15,STATE_S10,STATE_S11,STATE_S18,STATE_S19,STATE_S26,STATE_S27,STATE_S22,STATE_S23,STATE_S24,STATE_S25,STATE_S20,STATE_S21,STATE_S28,STATE_S29,STATE_S36,STATE_S37,STATE_S32,STATE_S33,STATE_S34,STATE_S35,STATE_S30,STATE_S31,STATE_S38,STATE_S39,STATE_S46,STATE_S47,STATE_S42,STATE_S43,STATE_S44,STATE_S45,STATE_S40,STATE_S41,STATE_S48,STATE_S49,STATE_S56,STATE_S57,STATE_S52,STATE_S53,STATE_S54,STATE_S55,STATE_S50,STATE_S51,STATE_S58,STATE_S59,STATE_S66,STATE_S67,STATE_S62,STATE_S63,STATE_S64,STATE_S65,STATE_S60,STATE_S61,STATE_S68,STATE_S69,STATE_S76,STATE_S77,STATE_S72,STATE_S73,STATE_S74,STATE_S75,STATE_S70,STATE_S71,STATE_S78,STATE_S79};
-+static unsigned char extmove_map_CAPS[STATE_NUMS_TOTAL] = {STATE_S10,STATE_S11,STATE_S12,STATE_S13,STATE_S14,STATE_S15,STATE_S16,STATE_S17,STATE_S18,STATE_S19,STATE_S0,STATE_S1,STATE_S2,STATE_S3,STATE_S4,STATE_S5,STATE_S6,STATE_S7,STATE_S8,STATE_S9,STATE_S30,STATE_S31,STATE_S32,STATE_S33,STATE_S34,STATE_S35,STATE_S36,STATE_S37,STATE_S38,STATE_S39,STATE_S20,STATE_S21,STATE_S22,STATE_S23,STATE_S24,STATE_S25,STATE_S26,STATE_S27,STATE_S28,STATE_S29,STATE_S50,STATE_S51,STATE_S52,STATE_S53,STATE_S54,STATE_S55,STATE_S56,STATE_S57,STATE_S58,STATE_S59,STATE_S40,STATE_S41,STATE_S42,STATE_S43,STATE_S44,STATE_S45,STATE_S46,STATE_S47,STATE_S48,STATE_S49,STATE_S70,STATE_S71,STATE_S72,STATE_S73,STATE_S74,STATE_S75,STATE_S76,STATE_S77,STATE_S78,STATE_S79,STATE_S60,STATE_S61,STATE_S62,STATE_S63,STATE_S64,STATE_S65,STATE_S66,STATE_S67,STATE_S68,STATE_S69};
-+static unsigned char extmove_map_NUM[STATE_NUMS_TOTAL] = {STATE_S20,STATE_S21,STATE_S22,STATE_S23,STATE_S24,STATE_S25,STATE_S26,STATE_S27,STATE_S28,STATE_S29,STATE_S30,STATE_S31,STATE_S32,STATE_S33,STATE_S34,STATE_S35,STATE_S36,STATE_S37,STATE_S38,STATE_S39,STATE_S0,STATE_S1,STATE_S2,STATE_S3,STATE_S4,STATE_S5,STATE_S6,STATE_S7,STATE_S8,STATE_S9,STATE_S10,STATE_S11,STATE_S12,STATE_S13,STATE_S14,STATE_S15,STATE_S16,STATE_S17,STATE_S18,STATE_S19,STATE_S60,STATE_S61,STATE_S62,STATE_S63,STATE_S64,STATE_S65,STATE_S66,STATE_S67,STATE_S68,STATE_S69,STATE_S70,STATE_S71,STATE_S72,STATE_S73,STATE_S74,STATE_S75,STATE_S76,STATE_S77,STATE_S78,STATE_S79,STATE_S40,STATE_S41,STATE_S42,STATE_S43,STATE_S44,STATE_S45,STATE_S46,STATE_S47,STATE_S48,STATE_S49,STATE_S50,STATE_S51,STATE_S52,STATE_S53,STATE_S54,STATE_S55,STATE_S56,STATE_S57,STATE_S58,STATE_S59};
-+
-+#define EXTMODIF_MOVESTAT_KEYMAX 4
-+
-+static unsigned char *extmodif_move_tables[EXTMODIF_MOVESTAT_KEYMAX] = {
-+NULL,extmove_map_2nd,extmove_map_CAPS,extmove_map_NUM};
-+
-+
-+
-+typedef struct shappda_holdkey_info {
-+ int type;
-+ int character;
-+ void (*func)(void);
-+} shappda_holdkey_info;
-+
-+#define HOLDKEYTYPE_CHAR 1
-+#define HOLDKEYTYPE_FUNC 2
-+
-+static shappda_holdkey_info shappda_holdkey_UserDef = {
-+ type: HOLDKEYTYPE_CHAR,
-+ character: SLKEY_EXCLAM,
-+ func: NULL
-+};
-+static shappda_holdkey_info shappda_holdkey_Mail = {
-+ type: HOLDKEYTYPE_CHAR,
-+ character: SLKEY_MAIL2,
-+ func: NULL
-+};
-+
-+static shappda_holdkey_info *holdkey_info[(NR_KEYCODES+1)] = {
-+NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&shappda_holdkey_UserDef,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&shappda_holdkey_Mail,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};
-+
-+
-+static unsigned char *state_to_keymap[STATE_NUMS_TOTAL] = {
-+rawkeytable_table_NormalLower,rawkeytable_table_NormalUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_NormalLower,rawkeytable_table_NormalUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_NumlockLower,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_NumlockLower,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_NormalUpper,rawkeytable_table_NormalUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_NormalUpper,rawkeytable_table_NormalUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper};
-+
-+
-+#endif /* ! __KEYTABLE_H_INCLUDED__ */
-diff -Nur linux_c860_org/drivers/char/tosa_rawmap_rollover.h linux/drivers/char/tosa_rawmap_rollover.h
---- linux_c860_org/drivers/char/tosa_rawmap_rollover.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_rawmap_rollover.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,27 @@
-+#ifndef __TOSA_RAWMAP_ROLLOVER_H__
-+#define __TOSA_RAWMAP_ROLLOVER_H__
-+
-+#define ROLLOVER_NO_FLAG 0x00
-+#define ROLLOVER_TAB 0x01
-+#define ROLLOVER_DIRECT_ON 0x02
-+#define ROLLOVER_HORIZONTAL 0x04
-+#define ROLLOVER_VERTICAL 0x08
-+#define ROLLOVER_ENTQUESPC 0x10
-+#define ROLLOVER_LSHIFT 0x20
-+#define ROLLOVER_RSHIFT 0x40
-+#define ROLLOVER_FUNCTION 0x80
-+
-+#define ROLLOVER_CHECK_FLAG(a, b) (((a) & (b)) != 0)
-+
-+static unsigned int rollover_flag_table[(NR_KEYCODES+1)] = {
-+ ROLLOVER_NO_FLAG,
-+ /*0*/ ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*1*/ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*2*/ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_ENTQUESPC/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*3*/ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_DIRECT_ON/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_LSHIFT/**/, ROLLOVER_RSHIFT, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*4*/ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_DIRECT_ON/**/, ROLLOVER_DIRECT_ON/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_RSHIFT/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*5*/ROLLOVER_TAB/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_DIRECT_ON/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_VERTICAL/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_FUNCTION/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*6*/ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_ENTQUESPC/**/, ROLLOVER_DIRECT_ON/**/, ROLLOVER_NO_FLAG, ROLLOVER_HORIZONTAL/**/, ROLLOVER_VERTICAL/**/, ROLLOVER_HORIZONTAL/**/, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG,
-+ /*7*/ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG, ROLLOVER_NO_FLAG
-+};
-+#endif // end __TOSA_RAWMAP_ROLLOVER_H__
-diff -Nur linux_c860_org/drivers/char/tosa_ts.c linux/drivers/char/tosa_ts.c
---- linux_c860_org/drivers/char/tosa_ts.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/char/tosa_ts.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,807 @@
-+/*
-+ * drivers/char/tosa_ts.c
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ * cotulla_ts.c
-+ *
-+ */
-+
-+/***************************************************************************/
-+
-+#include <linux/config.h>
-+#include <linux/init.h>
-+#include <linux/poll.h>
-+#include <linux/delay.h>
-+#include <linux/ioctl.h>
-+#include <linux/ac97_codec.h>
-+#include <linux/sched.h>
-+#include <linux/tqueue.h>
-+#include <linux/module.h>
-+#include <linux/proc_fs.h>
-+
-+#include <asm/segment.h>
-+#include <asm/uaccess.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/irqs.h>
-+#include <asm/arch/tosa_wm9712.h>
-+#include <asm/sharp_apm.h>
-+
-+#define TS_MAJOR 11
-+#define ADD_TS_TIMER (HZ / 120)
-+/* AC97 Touch Screen channel */
-+#define ADCH_TPX 0x01
-+#define ADCH_TPY 0x02
-+/* AC97 Touch Screen bits */
-+#define TSR1_POLL (1<<15)
-+#define TSR1_COO (1<<11)
-+#define TSR1_CTC (1<<10)
-+#define TSR1_SLEN (1<< 3)
-+#define TSR2_RPR (1<<13)
-+#define TSR2_45W (1<<12)
-+#define TSR2_PDEN (1<<11)
-+#define TSR2_WAIT (1<< 9)
-+#define TSR2_PIL (1<< 8)
-+#define CODEC_PENDOWN (1<< 3)
-+
-+#define TS_REG1_POLL 0x8000
-+#define TS_REG1_DEFVAL 0x0000
-+#define TS_REG2_DEFVAL 0xe030
-+
-+#define DBG_LEVEL 0
-+
-+#define DBG_L1 1
-+#define DBG_L2 2
-+#define DBG_L3 3
-+
-+#define DEBUG(level, x, args...) \
-+ if( level <= DBG_LEVEL ) printk("%s: " x, __FUNCTION__ , ## args)
-+
-+#define DEV_NAME "ts"
-+
-+int ts_type = 0;
-+
-+static DECLARE_WAIT_QUEUE_HEAD(ts_proc);
-+
-+static DECLARE_WAIT_QUEUE_HEAD(pd_mloop);
-+
-+static struct timer_list tp_main_timer;
-+static unsigned char tp_timer_on = 0;
-+static unsigned char ac97_on = 0;
-+static unsigned char penup_irq = 1;
-+
-+int ac97_ad_input(int, unsigned short *);
-+static void ts_interrupt(int, void*, struct pt_regs*);
-+
-+#define BUFSIZE 128
-+
-+typedef struct {
-+ unsigned short xd;
-+ unsigned short yd;
-+ unsigned char pressure;
-+} ts_pos_t;
-+
-+typedef struct {
-+ short pressure;
-+ short x;
-+ short y;
-+ short millisecs;
-+} TS_EVENT;
-+
-+static DECLARE_WAIT_QUEUE_HEAD(queue);
-+struct fasync_struct *fasync;
-+static TS_EVENT tbuf[BUFSIZE], tc;
-+static int raw_max_x, raw_max_y;
-+static int res_x, res_y;
-+static int raw_min_x, raw_min_y;
-+static int cal_ok, x_rev, y_rev, xyswap;
-+static int head = 0, tail = 0;
-+
-+#ifdef CONFIG_PM
-+static int tp_suspend = 0;
-+#endif /* CONFIG_PM */
-+
-+#define REMOVE_TP_NOISE_BY_SW
-+/* #define REMOVE_TP_NOISE_BY_HW */
-+
-+#if 1 // 2003/9/4 Noise reduction
-+#define TOUCH_PANEL_AVERAGE 5
-+#define DEFAULT_TP_WAIT_VGA 25
-+#define DEFAULT_TP_WAIT_QVGA 44
-+#define SIMPLE_AVERAGE
-+
-+#define CCNT(a) asm("mrc p14, 0, %0, C1, C0, 0" : "=r"(a))
-+#define CCNT_ON() {int pmnc = 1;asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(pmnc));}
-+#define CCNT_OFF() {int pmnc = 0;asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(pmnc));}
-+static unsigned long g_TpWaitVga = DEFAULT_TP_WAIT_VGA;
-+static unsigned long g_TpWaitQvga = DEFAULT_TP_WAIT_QVGA;
-+static unsigned short XBuf[TOUCH_PANEL_AVERAGE];
-+static unsigned short YBuf[TOUCH_PANEL_AVERAGE];
-+static int TpBufIdx = -1;
-+extern int tc6393fb_isblank; // no H-Sync while blanking
-+
-+#define PROC_DIRNAME "ts"
-+
-+struct proc_dir_entry *proc_ts = NULL;
-+typedef struct tosa_ts_entry {
-+ unsigned long* addr;
-+ unsigned long def_value;
-+ char* name;
-+ char* description;
-+ unsigned short low_ino;
-+} tosa_ts_entry_t;
-+static tosa_ts_entry_t tosa_ts_params[] = {
-+/* { addr, def_value, name, description }*/
-+ { &g_TpWaitVga, DEFAULT_TP_WAIT_VGA, "wait_vga","pen wait for VGA Screen" },
-+ { &g_TpWaitQvga, DEFAULT_TP_WAIT_QVGA, "wait_qvga","pen wait for QVGA Screen"}
-+};
-+#define NUM_OF_TOSA_TS_ENTRY (sizeof(tosa_ts_params)/sizeof(tosa_ts_entry_t))
-+
-+static ssize_t tosa_ts_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ char outputbuf[15];
-+ int count;
-+ int i;
-+ tosa_ts_entry_t *current_param = NULL;
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ for (i=0; i<NUM_OF_TOSA_TS_ENTRY; i++) {
-+ if (tosa_ts_params[i].low_ino==i_ino) {
-+ current_param = &tosa_ts_params[i];
-+ break;
-+ }
-+ }
-+ if (current_param==NULL) {
-+ return -EINVAL;
-+ }
-+ count = sprintf(outputbuf, "%d\n",
-+ *((volatile unsigned long *) current_param->addr));
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t tosa_ts_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int i_ino = (file->f_dentry->d_inode)->i_ino;
-+ tosa_ts_entry_t *current_param = NULL;
-+ int i;
-+ unsigned long param;
-+ char *endp;
-+
-+ for (i=0; i<NUM_OF_TOSA_TS_ENTRY; i++) {
-+ if(tosa_ts_params[i].low_ino==i_ino) {
-+ current_param = &tosa_ts_params[i];
-+ break;
-+ }
-+ }
-+ if (current_param==NULL) {
-+ return -EINVAL;
-+ }
-+
-+ param = simple_strtoul(buf,&endp,0);
-+ if (param == -1) {
-+ *current_param->addr = current_param->def_value;
-+ } else {
-+ *current_param->addr = param;
-+ }
-+ return nbytes+endp-buf;
-+}
-+
-+static struct file_operations proc_params_operations = {
-+ read: tosa_ts_read_params,
-+ write: tosa_ts_write_params,
-+};
-+
-+static int init_procinfo(void)
-+{
-+ int i;
-+ struct proc_dir_entry *entry;
-+
-+ proc_ts = proc_mkdir("driver/ts", NULL);
-+ if (proc_ts == NULL) {
-+ printk(KERN_ERR "ts: can't create /proc/driver/ts\n");
-+ return -ENOMEM;
-+ }
-+ for (i=0; i<NUM_OF_TOSA_TS_ENTRY; i++) {
-+ entry = create_proc_entry(tosa_ts_params[i].name,
-+ S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH,
-+ proc_ts);
-+ if (entry) {
-+ tosa_ts_params[i].low_ino = entry->low_ino;
-+ entry->proc_fops = &proc_params_operations;
-+ } else {
-+ int j;
-+ for (j=0; j<i; j++) {
-+ remove_proc_entry(tosa_ts_params[i].name,
-+ proc_ts);
-+ }
-+ remove_proc_entry("driver/ts", &proc_root);
-+ proc_ts = 0;
-+ return -ENOMEM;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+static void cleanup_procinfo(void)
-+{
-+ int i;
-+ for (i=0; i<NUM_OF_TOSA_TS_ENTRY; i++) {
-+ remove_proc_entry(tosa_ts_params[i].name, proc_ts);
-+ }
-+ remove_proc_entry("driver/ts", NULL);
-+ proc_ts = 0;
-+}
-+#endif
-+
-+static int read_xydata(ts_pos_t *tp)
-+{
-+#if defined(REMOVE_TP_NOISE_BY_SW) || defined(REMOVE_TP_NOISE_BY_HW)
-+ unsigned short dx, dy;
-+ unsigned long tx, ty;
-+ int i, ret = 0, penstate = 0;
-+
-+ if (TpBufIdx<0) {
-+ for (i=0; i<TOUCH_PANEL_AVERAGE; i++) {
-+ if( (ret = ac97_ad_input(ADCH_TPX, &dx)) < 0 ) return ret;
-+ XBuf[i] = dx & 0x0fff;
-+ if( (ret = ac97_ad_input(ADCH_TPY, &dy)) < 0 ) return ret;
-+ YBuf[i] = dy & 0x0fff;
-+ }
-+ TpBufIdx = 0;
-+ } else {
-+ if( (ret = ac97_ad_input(ADCH_TPX, &dx)) < 0 ) return ret;
-+ XBuf[TpBufIdx] = dx & 0x0fff;
-+ if( (ret = ac97_ad_input(ADCH_TPY, &dy)) < 0 ) return ret;
-+ YBuf[TpBufIdx] = dy & 0x0fff;
-+ if (++TpBufIdx>=TOUCH_PANEL_AVERAGE) TpBufIdx = 0;
-+ }
-+
-+ /* If pen Up or Down */
-+ penstate = (dy & 0x8000)?1:0;
-+
-+#if TOUCH_PANEL_AVERAGE<3
-+#define SIMPLE_AVERAGE
-+#endif
-+ {
-+#ifndef SIMPLE_AVERAGE
-+ unsigned short max_dx=0,max_dy=0;
-+ unsigned short min_dx=0x0fff,min_dy=0x0fff;
-+#endif
-+
-+ for(i = 0, ty = 0, tx = 0; i < (TOUCH_PANEL_AVERAGE); i++) {
-+ dx = XBuf[i];
-+ dy = YBuf[i];
-+#ifndef SIMPLE_AVERAGE
-+ if(dx > max_dx) max_dx = dx;
-+ if(dx < min_dx) min_dx = dx;
-+ if(dy > max_dy) max_dy = dy;
-+ if(dy < min_dy) min_dy = dy;
-+#endif
-+ tx += dx;
-+ ty += dy;
-+ }
-+#ifndef SIMPLE_AVERAGE
-+ tp->xd = (tx - max_dx - min_dx)/ (TOUCH_PANEL_AVERAGE-2);
-+ tp->yd = (ty - max_dy - min_dy)/ (TOUCH_PANEL_AVERAGE-2);
-+#else
-+ tp->xd = tx/ TOUCH_PANEL_AVERAGE;
-+ tp->yd = ty/ TOUCH_PANEL_AVERAGE;
-+#endif
-+ }
-+#else
-+ unsigned short dx, dy, tx, ty;
-+ int i, ret = 0;
-+
-+ for(i = 0, ty = 0, tx = 0; i < TOUCH_PANEL_AVERAGE; i++) {
-+ /* X */
-+ if( (ret = ac97_ad_input(ADCH_TPX, &dx)) < 0 ) return ret;
-+ /* Y */
-+ if( (ret = ac97_ad_input(ADCH_TPY, &dy)) < 0 ) return ret;
-+
-+ tx += (dx & 0x0fff);
-+ ty += (dy & 0x0fff);
-+ }
-+
-+ /* If pen Up or Down */
-+ penstate = (dy & 0x8000)?1:0;
-+
-+ tp->xd = tx / TOUCH_PANEL_AVERAGE;
-+ tp->yd = ty / TOUCH_PANEL_AVERAGE;
-+#endif
-+ return penstate;
-+}
-+
-+static void print_par(void)
-+{
-+ printk(" Kernel ==> cal_ok = %d\n",cal_ok);
-+ printk(" Kernel ==> raw_max_x = %d\n",raw_max_x);
-+ printk(" Kernel ==> raw_max_y = %d\n",raw_max_y);
-+ printk(" Kernel ==> res_x = %d\n",res_x);
-+ printk(" Kernel ==> res_y = %d\n",res_y);
-+ printk(" Kernel ==> raw_min_x = %d\n",raw_min_x);
-+ printk(" Kernel ==> raw_min_y = %d\n",raw_min_y);
-+ printk(" Kernel ==> xyswap = %d\n",xyswap);
-+ printk(" Kernel ==> x_rev = %d\n",x_rev);
-+ printk(" Kernel ==> y_rev = %d\n",y_rev);
-+}
-+
-+void ts_clear(void)
-+{
-+ int i;
-+
-+ for (i = 0; i < BUFSIZE; i++) {
-+ tbuf[i].pressure = 0;
-+ tbuf[i].x = 0;
-+ tbuf[i].y = 0;
-+ tbuf[i].millisecs = 0;
-+ }
-+ head = tail = 0;
-+}
-+
-+static TS_EVENT get_data(void)
-+{
-+ int last = tail;
-+ if (++tail == BUFSIZE) { tail = 0; }
-+ return tbuf[last];
-+}
-+
-+static void new_data(void)
-+{
-+ tc.millisecs = jiffies;
-+ tbuf[head++] = tc;
-+ if( head >= BUFSIZE )
-+ head = 0;
-+ if( head == tail && ++tail >= BUFSIZE )
-+ tail = 0;
-+ if( fasync )
-+ kill_fasync(&fasync, SIGIO, POLL_IN);
-+ wake_up_interruptible(&queue);
-+}
-+
-+static void ts_timer(unsigned long irq);
-+
-+static void ts_timer_clear(void)
-+{
-+ if ( tp_timer_on )
-+ del_timer(&tp_main_timer);
-+ tp_timer_on = 0;
-+}
-+
-+static void ts_timer_set(void)
-+{
-+ ts_timer_clear();
-+ init_timer(&tp_main_timer);
-+ tp_main_timer.data = IRQ_GPIO_TP_INT;
-+ tp_main_timer.function = ts_timer;
-+ tp_main_timer.expires = jiffies + ADD_TS_TIMER;
-+ add_timer(&tp_main_timer);
-+ tp_timer_on = 1;
-+}
-+
-+static void ts_timer(unsigned long irq)
-+{
-+ wake_up(&ts_proc);
-+}
-+
-+static int ts_pendown(void *unuse)
-+{
-+ int penstate;
-+ ts_pos_t pos_dt;
-+
-+ while ( 1 ) {
-+ interruptible_sleep_on(&pd_mloop);
-+
-+#ifdef CONFIG_PM
-+ lock_FCS(POWER_MODE_TOUCH, 1); // not enter FCS mode.
-+#endif /* CONFIG_PM */
-+ wm9712_power_mode_ts(WM9712_PWR_TP_CONV);
-+ while ( 1 ) {
-+#ifdef CONFIG_PM
-+ if ( !tp_suspend )
-+#endif /* CONFIG_PM */
-+ {
-+ if ( (penstate = read_xydata(&pos_dt)) >= 0 ) {
-+ if ( !penstate ) //penup
-+ penup_irq = 1;
-+ tc.x = pos_dt.xd;
-+ tc.y = pos_dt.yd;
-+ tc.pressure = 1;
-+ new_data();
-+ DEBUG(DBG_L3, "pen position (%d,%d,%d)\n",
-+ (int)tc.y, (int)tc.x, tc.pressure);
-+ }
-+ /* wait */
-+ if ( !penup_irq ) {
-+ ts_timer_set();
-+ interruptible_sleep_on(&ts_proc);
-+ }
-+ if ( penup_irq ){
-+ ts_timer_clear();
-+ /* setting interrupt edge */
-+ set_GPIO_IRQ_edge(GPIO_TP_INT, GPIO_RISING_EDGE);
-+ GEDR(GPIO_TP_INT) = GPIO_bit(GPIO_TP_INT); //Clear detect
-+#ifdef CONFIG_PM
-+ lock_FCS(POWER_MODE_TOUCH, 0); // not enter FCS mode.
-+#endif /* CONFIG_PM */
-+ wm9712_power_mode_ts(WM9712_PWR_TP_WAIT);
-+ TpBufIdx = -1;
-+ if ( tc.pressure ){
-+ tc.pressure = 0;
-+ new_data();
-+ }
-+ break;
-+ }
-+ }
-+#ifdef CONFIG_PM
-+ else {
-+ DEBUG(DBG_L1, "suspend...\n");
-+#ifdef CONFIG_PM
-+ lock_FCS(POWER_MODE_TOUCH, 0); // enter FCS mode.
-+#endif /* CONFIG_PM */
-+ break;
-+ }
-+#endif
-+ }
-+ }
-+
-+}
-+
-+static void ts_interrupt(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+ if( (GPLR(GPIO_TP_INT) & GPIO_bit(GPIO_TP_INT)) == GPIO_bit(GPIO_TP_INT) ) {
-+ /* pen down irq */
-+ penup_irq = 0;
-+
-+ /* setting interrupt edge */
-+ set_GPIO_IRQ_edge(GPIO_TP_INT, GPIO_FALLING_EDGE);
-+ GEDR(GPIO_TP_INT) = GPIO_bit(GPIO_TP_INT); //Clear detect
-+ wake_up(&pd_mloop);
-+ } else {
-+ /* setting interrupt edge */
-+ set_GPIO_IRQ_edge(GPIO_TP_INT, GPIO_RISING_EDGE);
-+ GEDR(GPIO_TP_INT) = GPIO_bit(GPIO_TP_INT); //Clear detect
-+ /* pen up irq */
-+ penup_irq = 1;
-+ wake_up(&ts_proc);
-+ }
-+ return;
-+}
-+
-+static int ts_open(struct inode *, struct file *);
-+static int ts_release(struct inode *, struct file *);
-+static int ts_fasync(int fd, struct file *filp, int on);
-+static ssize_t ts_read(struct file *, char *, size_t, loff_t *);
-+static unsigned int ts_poll(struct file *, poll_table *);
-+static int ts_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
-+struct file_operations ts_fops = {
-+ open: ts_open,
-+ release: ts_release,
-+ fasync: ts_fasync,
-+ read: ts_read,
-+ poll: ts_poll,
-+ ioctl: ts_ioctl,
-+};
-+
-+static void ts_exit(void)
-+{
-+ ts_timer_clear();
-+ ts_clear();
-+ free_irq(IRQ_GPIO_TP_INT, NULL);
-+ wm9712_power_mode_ts(WM9712_PWR_OFF);
-+
-+ pxa_ac97_put(&ac97_on);
-+}
-+
-+#ifdef MODULE
-+static void __exit ac97_ts_cleanup(void)
-+{
-+ ts_exit();
-+ unregister_chrdev(TS_MAJOR, "ts");
-+}
-+module_exit(ac97_ts_cleanup);
-+#endif /* MODULE */
-+
-+extern int tc6393fb_lcdMode;
-+
-+int ac97_ad_input(int ch, unsigned short *dat)
-+{
-+ unsigned short val = 0;
-+ unsigned short adsel = (ch << 12) & 0x7000;
-+ unsigned long timeo;
-+ volatile unsigned long t1=0,t2=0;
-+ volatile int isVga=(tc6393fb_lcdMode==1)?1:0;
-+ volatile unsigned long tpwait=200;
-+
-+
-+ if (ch >= 4){
-+ /* Conversion start */
-+ ac97_write(AC97_TS_REG1, (adsel | TS_REG1_DEFVAL|TS_REG1_POLL));
-+
-+ for(timeo = 0x10000; timeo > 0; timeo--) {
-+ val = ac97_read(AC97_TS_REG1);
-+ //udelay(100);
-+ if( val & TS_REG1_POLL ) continue;
-+ val = ac97_read(AC97_TS_READBACK);
-+ if( (val & 0x7000) == adsel ) break;
-+ }
-+ if( !timeo ) return -EBUSY;
-+
-+ // *dat = val & 0xfff;
-+ *dat = val;
-+ return 0;
-+ }
-+
-+
-+#if defined(REMOVE_TP_NOISE_BY_SW) || defined(REMOVE_TP_NOISE_BY_HW)
-+
-+#ifndef REMOVE_TP_NOISE_BY_HW
-+ tpwait *= (isVga)?g_TpWaitVga:g_TpWaitQvga;
-+ CCNT_ON();
-+ if (!tc6393fb_isblank) {
-+ /* Sync */
-+ while((GPLR(GPIO_VGA_LINE) & GPIO_bit(GPIO_VGA_LINE)) == 0)
-+ ;
-+ while((GPLR(GPIO_VGA_LINE) & GPIO_bit(GPIO_VGA_LINE)) != 0)
-+ ;
-+ }
-+ if (tpwait>0) {
-+ CCNT(t1);
-+ CCNT(t2);
-+ while((t2-t1)<tpwait) {
-+ CCNT(t2);
-+ }
-+ }
-+#endif
-+
-+ /* Conversion start */
-+ ac97_write(AC97_TS_REG1, (adsel | TS_REG1_DEFVAL|TS_REG1_POLL));
-+
-+#ifndef REMOVE_TP_NOISE_BY_HW
-+ CCNT_OFF();
-+#endif
-+
-+ /* Busy wait */
-+ for(timeo = 0x10000; timeo > 0; timeo--) {
-+ val = ac97_read(AC97_TS_REG1);
-+ if((val & TS_REG1_POLL) == 0) break;
-+ }
-+ if( !timeo ) return -EBUSY;
-+
-+ /* Read AD */
-+ val = ac97_read(AC97_TS_READBACK);
-+
-+ if( (val & 0x8000) == 0) return -EBUSY;
-+
-+ if( (val & 0x7000) == adsel ) {
-+ *dat = val;
-+ return 0;
-+ }
-+ return -EBUSY;
-+#else
-+ /* Conversion start */
-+ ac97_write(AC97_TS_REG1, (adsel | TS_REG1_DEFVAL|TS_REG1_POLL));
-+
-+ for(timeo = 0x10000; timeo > 0; timeo--) {
-+ val = ac97_read(AC97_TS_REG1);
-+ //udelay(100);
-+ if( val & TS_REG1_POLL ) continue;
-+ val = ac97_read(AC97_TS_READBACK);
-+ if( (val & 0x7000) == adsel ) break;
-+ }
-+ if( !timeo ) return -EBUSY;
-+
-+ *dat = val;
-+ return 0;
-+#endif
-+}
-+
-+static int ts_init(void)
-+{
-+ pxa_ac97_get(&codec, &ac97_on);
-+
-+ wm9712_power_mode_ts(WM9712_PWR_TP_WAIT);
-+ /* Touch Screen Initialize */
-+#ifdef REMOVE_TP_NOISE_BY_HW
-+ ac97_write(AC97_TS_REG2, 0xe0f0);
-+#else
-+ ac97_write(AC97_TS_REG2, TS_REG2_DEFVAL);
-+#endif
-+ ac97_write(AC97_TS_REG1, TS_REG1_DEFVAL);
-+ ac97_bit_set(AC97_ADITFUNC1, (1<<1));
-+
-+ /* GPIO3/PENDOWN wakeup */
-+ ac97_bit_set(AC97_GPIO_WAKE_UP, CODEC_PENDOWN);
-+
-+ ts_clear();
-+
-+ /* Init queue */
-+ //X kernel_thread(ts_pendown, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+
-+ /* Interrupt setting */
-+ set_GPIO_mode(GPIO32_SDATA_IN1_AC97_MD);
-+ set_GPIO_IRQ_edge(GPIO_TP_INT, GPIO_RISING_EDGE);
-+ GEDR(GPIO_TP_INT) = GPIO_bit(GPIO_TP_INT);
-+ if( request_irq(IRQ_GPIO_TP_INT, ts_interrupt, SA_INTERRUPT, "ts", NULL) ) {
-+ DEBUG(DBG_L1, "IRQ error %d\n", IRQ_GPIO_TP_INT);
-+ return -EBUSY;
-+ }
-+
-+ // printk(KERN_INFO "Tosa Touch Screen driver initialized\n");
-+
-+ return 0;
-+}
-+
-+static int __init ac97_ts_init(void)
-+{
-+ ac97_on = 0;
-+
-+ raw_max_x = 1024;
-+ raw_max_y = 1024;
-+ raw_min_x = 0;
-+ raw_min_y = 0;
-+ res_x = 480;
-+ res_y = 640;
-+ cal_ok = 0;
-+ x_rev = 0;
-+ y_rev = 0;
-+ xyswap = 0;
-+
-+ ts_clear();
-+
-+ if( register_chrdev(TS_MAJOR,DEV_NAME, &ts_fops) ) {
-+ printk("unable to get major %d for touch screen\n", TS_MAJOR);
-+ ts_exit();
-+ }
-+
-+ init_procinfo();
-+
-+ kernel_thread(ts_pendown, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+
-+ return 0;
-+}
-+
-+module_init(ac97_ts_init);
-+
-+/*
-+ * Driver functions
-+ */
-+static int ts_open(struct inode *inode, struct file *file)
-+{
-+ if( ts_init() < 0 ) {
-+ ts_exit();
-+ return -EINVAL;
-+ }
-+
-+ MOD_INC_USE_COUNT;
-+ return 0;
-+}
-+
-+
-+static int ts_release(struct inode *inode, struct file *file)
-+{
-+ ts_exit();
-+
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+static int ts_fasync(int fd, struct file *filp, int on)
-+{
-+ int retval;
-+
-+ retval = fasync_helper(fd, filp, on, &fasync);
-+ if( retval < 0 ) return retval;
-+ return 0;
-+}
-+
-+static ssize_t ts_read(struct file *file, char *buffer,
-+ size_t count, loff_t *ppos)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ TS_EVENT t, r;
-+ int i;
-+
-+ if( head == tail ) {
-+ if( file->f_flags & O_NONBLOCK )
-+ return -EAGAIN;
-+ add_wait_queue(&queue, &wait);
-+ current->state = TASK_INTERRUPTIBLE;
-+ while( (head == tail)&& !signal_pending(current) ) {
-+ schedule();
-+ current->state = TASK_INTERRUPTIBLE;
-+ }
-+ current->state = TASK_RUNNING;
-+ remove_wait_queue(&queue, &wait);
-+ }
-+
-+ for(i = count ; i >= sizeof(TS_EVENT);
-+ i -= sizeof(TS_EVENT), buffer += sizeof(TS_EVENT)) {
-+ if( head == tail ) break;
-+ t = get_data();
-+ if( xyswap ) {
-+ short tmp = t.x;
-+ t.x = t.y;
-+ t.y = tmp;
-+ }
-+ if( cal_ok ) {
-+ r.x = (x_rev) ?
-+ ((raw_max_x - t.x) * res_x) / (raw_max_x - raw_min_x) :
-+ ((t.x - raw_min_x) * res_x) / (raw_max_x - raw_min_x);
-+ r.y = (y_rev) ?
-+ ((raw_max_y - t.y) * res_y) / (raw_max_y - raw_min_y) :
-+ ((t.y - raw_min_y) * res_y) / (raw_max_y - raw_min_y);
-+ } else {
-+ r.x = t.x;
-+ r.y = t.y;
-+ }
-+
-+ r.pressure = t.pressure;
-+ r.millisecs = t.millisecs;
-+ DEBUG(DBG_L2, "ts_read(x, y, p) = (%d, %d, %d)\n",
-+ (unsigned int)r.x, (unsigned int)r.y, (unsigned int)r.pressure);
-+
-+ copy_to_user(buffer,&r,sizeof(TS_EVENT));
-+ }
-+ return count - i;
-+}
-+
-+static unsigned int ts_poll(struct file *filp, poll_table *wait)
-+{
-+ poll_wait(filp, &queue, wait);
-+ if( head != tail )
-+ return POLLIN | POLLRDNORM;
-+ return 0;
-+}
-+
-+static int ts_ioctl(struct inode *inode, struct file *file,
-+ unsigned int cmd, unsigned long arg)
-+{
-+ switch(cmd) {
-+ case 3: raw_max_x = arg; break;
-+ case 4: raw_max_y = arg; break;
-+ case 5: res_x = arg; break;
-+ case 6: res_y = arg; break;
-+ case 10: raw_min_x = arg; break;
-+ case 11: raw_min_y = arg; break;
-+ case 12: xyswap = arg; //New attribute for portrait modes
-+ case 13: cal_ok = arg; //0 = Enable calibration ; 1 = Calibration OK
-+ case 14: ts_clear(); break; //Clear all buffer data
-+ case 15: x_rev = arg; break; //X axis reversed setting
-+ case 16: y_rev = arg; break; //Y axis reversed setting
-+ case 17: print_par(); break;
-+ default: return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+#ifdef CONFIG_PM
-+void tosa_ts_suspend(void)
-+{
-+ DEBUG(DBG_L1, "in\n");
-+ tp_suspend = 1;
-+ ts_exit();
-+ DEBUG(DBG_L1, "out\n");
-+}
-+
-+void tosa_ts_resume(void)
-+{
-+ DEBUG(DBG_L1, "in\n");
-+ tp_suspend = 0;
-+ ts_init();
-+ DEBUG(DBG_L1, "out\n");
-+}
-+#endif /* CONFIG_PM */
-diff -Nur linux_c860_org/drivers/char/tty_io.c linux/drivers/char/tty_io.c
---- linux_c860_org/drivers/char/tty_io.c 2002-08-29 12:25:52.000000000 +0900
-+++ linux/drivers/char/tty_io.c 2004-06-10 21:09:10.000000000 +0900
-@@ -730,6 +730,7 @@
- ret = -ERESTARTSYS;
- if (signal_pending(current))
- break;
-+ debug_lock_break(551);
- if (current->need_resched)
- schedule();
- }
-diff -Nur linux_c860_org/drivers/ide/ide-cs.c linux/drivers/ide/ide-cs.c
---- linux_c860_org/drivers/ide/ide-cs.c 2002-08-29 12:26:32.000000000 +0900
-+++ linux/drivers/ide/ide-cs.c 2004-06-10 21:09:10.000000000 +0900
-@@ -32,6 +32,7 @@
- Change Log
- 12-Nov-2001 Lineo Japan, Inc.
- 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
-+ 26-Feb-2004 Lineo Solutions, Inc. 2 slot support
-
- ======================================================================*/
-
-@@ -72,7 +73,7 @@
- #endif
-
- #ifdef CONFIG_ARCH_SHARP_SL
--extern int ide_resume_handling;
-+extern int ide_resume_handling[];
- #endif
-
- /*====================================================================*/
-@@ -468,11 +469,11 @@
- mod_timer(&link->release, jiffies + HZ/20);
- break;
- case CS_EVENT_CARD_INSERTION:
--#ifdef CONFIG_ARCH_SHARP_SL
-- ide_resume_handling = 0;
--#endif
- link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
- ide_config(link);
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ ide_resume_handling[sharpsl_pcmcia_irq_to_sock(link->irq.AssignedIRQ)] = 0;
-+#endif
- break;
- case CS_EVENT_PM_SUSPEND:
- link->state |= DEV_SUSPEND;
-diff -Nur linux_c860_org/drivers/ide/ide-disk.c linux/drivers/ide/ide-disk.c
---- linux_c860_org/drivers/ide/ide-disk.c 2002-08-29 12:26:32.000000000 +0900
-+++ linux/drivers/ide/ide-disk.c 2004-06-10 21:09:10.000000000 +0900
-@@ -31,6 +31,7 @@
- * Change Log
- * 12-Nov-2001 Lineo Japan, Inc.
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
-+ * 26-Feb-2004 Lineo Solutions, Inc. 2 slot support
- */
-
- #define IDEDISK_VERSION "1.10"
-@@ -372,7 +373,8 @@
- static ide_startstop_t do_rw_disk (ide_drive_t *drive, struct request *rq, unsigned long block)
- {
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_PCMCIA)
-- if (!is_pcmcia_card_present(0)) {
-+ ide_hwif_t *hwif = HWIF(drive);
-+ if (!is_pcmcia_card_present(hwif->irq)) {
- ide_end_request(0, HWGROUP(drive));
- return ide_stopped;
- }
-diff -Nur linux_c860_org/drivers/ide/ide-proc.c linux/drivers/ide/ide-proc.c
---- linux_c860_org/drivers/ide/ide-proc.c 2002-08-29 12:26:32.000000000 +0900
-+++ linux/drivers/ide/ide-proc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -57,6 +57,7 @@
- * Change Log
- * 12-Nov-2001 Lineo Japan, Inc.
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
-+ * 26-Feb-2004 Lineo Solutions, Inc. 2 slot support
- *
- */
-
-@@ -456,8 +457,8 @@
- }
-
- #ifdef CONFIG_ARCH_SHARP_SL
--static ide_drive_t *drive_save = NULL;
--static u8 ide_info_buf[SECTOR_WORDS * 4 + 4];
-+static ide_drive_t *drive_save[2] = { NULL, NULL };
-+static u8 ide_info_buf[2][SECTOR_WORDS * 4 + 4];
- #endif
-
- static int proc_ide_read_identify
-@@ -470,8 +471,8 @@
- unsigned short *val = ((unsigned short *)page) + 2;
- char *out = ((char *)val) + (SECTOR_WORDS * 4);
- #ifdef CONFIG_ARCH_SHARP_SL
-- drive_save = drive;
-- memcpy(ide_info_buf, page, SECTOR_WORDS * 4);
-+ drive_save[sharpsl_pcmcia_irq_to_sock(HWIF(drive)->irq)] = drive;
-+ memcpy(ide_info_buf[sharpsl_pcmcia_irq_to_sock(HWIF(drive)->irq)], page, SECTOR_WORDS * 4);
- #endif
- page = out;
- do {
-@@ -487,13 +488,15 @@
-
- #ifdef CONFIG_ARCH_SHARP_SL
-
--int proc_ide_verify_identify()
-+int proc_ide_verify_identify(int sock)
- {
- u8 buf[SECTOR_WORDS * 4 + 4];
-+ int ret;
-
-- if (drive_save == NULL || proc_ide_get_identify(drive_save, buf))
-+ if (drive_save[sock] == NULL || proc_ide_get_identify(drive_save[sock], buf))
- return 0;
-- return memcmp(ide_info_buf, buf, SECTOR_WORDS * 4);
-+ ret = memcmp(ide_info_buf[sock], buf, SECTOR_WORDS * 4);
-+ return ret;
- }
-
- #endif
-@@ -777,7 +780,8 @@
- drive->proc = NULL;
- }
- #ifdef CONFIG_ARCH_SHARP_SL
-- drive_save = NULL;
-+ for (d = 0; d < 2; d++)
-+ drive_save[d] = NULL;
- #endif
- }
-
-diff -Nur linux_c860_org/drivers/ide/ide.c linux/drivers/ide/ide.c
---- linux_c860_org/drivers/ide/ide.c 2002-08-29 12:26:33.000000000 +0900
-+++ linux/drivers/ide/ide.c 2004-06-10 21:09:10.000000000 +0900
-@@ -122,6 +122,7 @@
- * Change Log
- * 12-Nov-2001 Lineo Japan, Inc.
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
-+ * 26-Feb-2004 Lineo Solutions, Inc. 2 slot support
- *
- */
-
-@@ -201,7 +202,7 @@
- ide_hwif_t ide_hwifs[MAX_HWIFS]; /* master data repository */
-
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_PCMCIA)
--extern int ide_resume_handling;
-+extern int ide_resume_handling[];
- #endif
-
- #if (DISK_RECOVERY_TIME > 0)
-@@ -548,7 +549,7 @@
- {
- byte stat = 0;
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_PCMCIA)
-- if (ide_resume_handling == 2)
-+ if (ide_resume_handling[sharpsl_pcmcia_irq_to_sock(HWIF(drive)->irq)] == 2)
- return 0;
- #endif
- if (drive->waiting_for_dma)
-@@ -712,11 +713,11 @@
- byte tmp;
-
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_PCMCIA)
-- if (!is_pcmcia_card_present(0)) {
-+ if (!is_pcmcia_card_present(hwif->irq)) {
- hwgroup->poll_timeout = 0; /* done polling */
- return ide_stopped;
- }
-- if (ide_resume_handling == 2) {
-+ if (ide_resume_handling[sharpsl_pcmcia_irq_to_sock(hwif->irq)] == 2) {
- hwgroup->poll_timeout = 0; /* done polling */
- return ide_stopped;
- }
-@@ -1244,9 +1245,9 @@
- ide_hwif_t *hwif = HWIF(drive);
-
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_PCMCIA)
-- if (!is_pcmcia_card_present(0))
-+ if (!is_pcmcia_card_present(hwif->irq))
- goto kill_rq;
-- if (ide_resume_handling == 2)
-+ if (ide_resume_handling[sharpsl_pcmcia_irq_to_sock(hwif->irq)] == 2)
- goto kill_rq;
- #endif
-
-@@ -1625,7 +1626,7 @@
- if (hwgroup->poll_timeout != 0) {
- startstop = handler(drive);
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_PCMCIA)
-- } else if (!ide_resume_handling &&
-+ } else if (!ide_resume_handling[sharpsl_pcmcia_irq_to_sock(hwif->irq)] &&
- drive_is_ready(drive)) {
- #else
- } else if (drive_is_ready(drive)) {
-diff -Nur linux_c860_org/drivers/ieee1394/csr.c linux/drivers/ieee1394/csr.c
---- linux_c860_org/drivers/ieee1394/csr.c 2002-08-26 14:39:22.000000000 +0900
-+++ linux/drivers/ieee1394/csr.c 2004-06-10 21:09:10.000000000 +0900
-@@ -10,6 +10,7 @@
- */
-
- #include <linux/string.h>
-+#include <linux/sched.h>
-
- #include "ieee1394_types.h"
- #include "hosts.h"
-diff -Nur linux_c860_org/drivers/input/keybdev.c linux/drivers/input/keybdev.c
---- linux_c860_org/drivers/input/keybdev.c 2002-08-26 14:39:30.000000000 +0900
-+++ linux/drivers/input/keybdev.c 2004-06-10 21:09:10.000000000 +0900
-@@ -26,6 +26,9 @@
- * Should you need to contact me, the author, you can do so either by
- * e-mail - mail your message to <vojtech@suse.cz>, or by paper mail:
- * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
-+ *
-+ * ChangeLog:
-+ * 29-Aug-2003 SHARP Supported USB keybord for Tosa
- */
-
- #include <linux/config.h>
-@@ -107,6 +110,15 @@
- }
- #endif /* CONFIG_MAC_ADBKEYCODES || CONFIG_ADB_KEYBOARD */
-
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ if (keycode > 255 || !keycode)
-+ return -1;
-+
-+ handle_scancode(keycode & 0x7f, down);
-+
-+ return 0;
-+#endif // end CONFIG_ARCH_SHARP_SL
-+
- if (keycode > 255 || !x86_keycodes[keycode])
- return -1;
-
-diff -Nur linux_c860_org/drivers/macintosh/rtc.c linux/drivers/macintosh/rtc.c
---- linux_c860_org/drivers/macintosh/rtc.c 2002-08-26 14:39:13.000000000 +0900
-+++ linux/drivers/macintosh/rtc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -64,6 +64,7 @@
- case RTC_RD_TIME:
- if (ppc_md.get_rtc_time)
- {
-+ memset(&rtc_tm, 0, sizeof(struct rtc_time));
- get_rtc_time(&rtc_tm);
-
- if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
-diff -Nur linux_c860_org/drivers/mtd/maps/sharpsl-flash.c linux/drivers/mtd/maps/sharpsl-flash.c
---- linux_c860_org/drivers/mtd/maps/sharpsl-flash.c 2002-08-26 15:19:16.000000000 +0900
-+++ linux/drivers/mtd/maps/sharpsl-flash.c 2004-06-10 21:09:10.000000000 +0900
-@@ -23,6 +23,7 @@
- * GNU General Public License for more details.
- *
- * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- *
- */
-
-@@ -34,7 +35,6 @@
- #include <linux/mtd/map.h>
- #include <linux/mtd/partitions.h>
-
--
- #define WINDOW_ADDR 0x00000000
- #define WINDOW_SIZE 0x01000000
- #define BUS_WIDTH 2
-@@ -122,6 +122,14 @@
- }
- };
-
-+static struct mtd_partition tosa_partitions[1] = {
-+ {
-+ name: "Filesystem",
-+ size: 0x006A0000,
-+ offset: 0x00160000
-+ }
-+};
-+
- #define NB_OF(x) (sizeof(x)/sizeof(x[0]))
-
-
-@@ -133,7 +141,6 @@
-
- printk(KERN_NOTICE "Sharp SL series flash device: %x at %x\n", WINDOW_SIZE, WINDOW_ADDR);
- sharpsl_map.map_priv_1 = (unsigned long)ioremap(WINDOW_ADDR, WINDOW_SIZE);
--
- if (!sharpsl_map.map_priv_1) {
- printk("Failed to ioremap\n");
- return -EIO;
-@@ -155,7 +162,10 @@
- #elif CONFIG_ARCH_PXA_CORGI
- parts = corgi_partitions;
- nb_parts = NB_OF(corgi_partitions);
--#endif
-+#elif CONFIG_ARCH_PXA_TOSA
-+ parts = tosa_partitions;
-+ nb_parts = NB_OF(tosa_partitions);
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-
- printk(KERN_NOTICE "Using %s partision definition\n", part_type);
- add_mtd_partitions(mymtd, parts, nb_parts);
-diff -Nur linux_c860_org/drivers/mtd/nand/Config.in linux/drivers/mtd/nand/Config.in
---- linux_c860_org/drivers/mtd/nand/Config.in 2003-01-14 16:51:07.000000000 +0900
-+++ linux/drivers/mtd/nand/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -29,10 +29,21 @@
- fi
-
- if [ "$CONFIG_ARCH_PXA_POODLE" = "y" ]; then
-- dep_tristate ' NAND Flash device on Sharp poodle' CONFIG_MTD_NAND_SHARP_SL $CONFIG_MTD_NAND
-+ dep_tristate ' NAND Flash device on Sharp poodle' CONFIG_MTD_NAND_SHARP_SL_POODLE $CONFIG_MTD_NAND
- fi
- if [ "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then
-- dep_tristate ' NAND Flash device on Sharp corgi' CONFIG_MTD_NAND_SHARP_SL $CONFIG_MTD_NAND
-+ dep_tristate ' NAND Flash device on Sharp corgi' CONFIG_MTD_NAND_SHARP_SL_CORGI $CONFIG_MTD_NAND
-+fi
-+
-+if [ "$CONFIG_MTD_NAND_SHARP_SL_POODLE" = "y" -o "$CONFIG_MTD_NAND_SHARP_SL_CORGI" = "y" ]; then
-+ define_tristate CONFIG_MTD_NAND_SHARP_SL y
-+else
-+ if [ "$CONFIG_MTD_NAND_SHARP_SL_POODLE" = "m" -o "$CONFIG_MTD_NAND_SHARP_SL_CORGI" = "m" ]; then
-+ define_tristate CONFIG_MTD_NAND_SHARP_SL m
-+ fi
-+fi
-+if [ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then
-+ dep_tristate ' NAND Flash device on Sharp tosa' CONFIG_MTD_NAND_SHARP_SL_TC6393 $CONFIG_MTD_NAND
- fi
-
- endmenu
-diff -Nur linux_c860_org/drivers/mtd/nand/Makefile linux/drivers/mtd/nand/Makefile
---- linux_c860_org/drivers/mtd/nand/Makefile 2002-10-09 10:29:15.000000000 +0900
-+++ linux/drivers/mtd/nand/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -17,6 +17,7 @@
- obj-$(CONFIG_MTD_NAND_AUTCPU12) += autcpu12.o
- obj-$(CONFIG_MTD_NAND_EDB7312) += edb7312.o
- obj-$(CONFIG_MTD_NAND_SHARP_SL) += sharp_sl.o
-+obj-$(CONFIG_MTD_NAND_SHARP_SL_TC6393) += sharp_sl_tc6393.o
- obj-$(CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS) += sharp_sl_logical.o
-
- include $(TOPDIR)/Rules.make
-diff -Nur linux_c860_org/drivers/mtd/nand/nand.c linux/drivers/mtd/nand/nand.c
---- linux_c860_org/drivers/mtd/nand/nand.c 2003-06-18 16:12:26.000000000 +0900
-+++ linux/drivers/mtd/nand/nand.c 2004-06-10 21:09:10.000000000 +0900
-@@ -102,7 +102,7 @@
- *
- * 09-04-2002 tglx: fixed write_verify (John Hall (john.hall@optionexist.co.uk))
- *
-- * $Id: nand.c,v 1.31 2002/09/04 11:19:33 gleixner Exp $
-+ * $Id: nand.c,v 1.1.1.1 2003/06/27 03:04:33 yasui Exp $
- *
- * 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
-@@ -121,7 +121,7 @@
- * add erase-by-force mode
- * 18-Sep-2002 Lineo Japan, Inc. add dev_ready() call after read
- * 17-Sep-2002 Lineo Japan, Inc. add code for post-badblock
-- * 14-Mar-2003 Sharp wait for ready in read_oob()
-+ * 09-Sep-2003 SHARP support TC6393XB controller for Tosa
- */
-
- #include <linux/delay.h>
-@@ -371,6 +371,10 @@
- int eccmode = oobsel ? this->eccmode : NAND_ECC_NONE;
- int *oob_config = oobconfigs[oobsel];
- int ecc_ret = 0;
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ unsigned short data_w;
-+ u_char data_b;
-+#endif
-
- START_MEASUREMENT(nand_write_page);
- COUNTER_INC(nand_write_nr_pages);
-@@ -428,10 +432,17 @@
- /* No ecc and software ecc 3/256, write all */
- case NAND_ECC_NONE:
- case NAND_ECC_SOFT:
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ for (i = 0; i < mtd->oobblock; i+=2) {
-+ writew ( (this->data_poi[i+1] << 8) | this->data_poi[i] , this->IO_ADDR_W);
-+ }
-+ break;
-+#else
- for (i = 0; i < mtd->oobblock; i++)
- writeb ( this->data_poi[i] , this->IO_ADDR_W);
- break;
--
-+#endif
-+
- /* Hardware ecc 3 byte / 256 data, write first half, get ecc, then second, if 512 byte pagesize */
- case NAND_ECC_HW3_256:
- this->enable_hwecc (NAND_ECC_WRITE); /* enable hardware ecc logic for write */
-@@ -465,8 +476,14 @@
- /* Hardware ecc 6 byte / 512 byte data, write full page */
- case NAND_ECC_HW6_512:
- this->enable_hwecc (NAND_ECC_WRITE); /* enable hardware ecc logic */
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ for (i = 0; i < mtd->oobblock; i+=2) {
-+ writew ( (this->data_poi[i+1] << 8) | this->data_poi[i] , this->IO_ADDR_W);
-+ }
-+#else
- for (i = 0; i < mtd->oobblock; i++)
- writeb ( this->data_poi[i] , this->IO_ADDR_W);
-+#endif
- ecc_ret = this->calculate_ecc (NULL, &(ecc_code[0]));
- for (i = 0; i < 6; i++)
- oob_data[oob_config[i]] = ecc_code[i];
-@@ -484,8 +501,15 @@
- }
-
- /* Write out OOB data */
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+
-+ for (i = 0; i < mtd->oobsize; i+=2) {
-+ writew ( (oob_data[i+1] << 8) | oob_data[i] , this->IO_ADDR_W);
-+ }
-+#else
- for (i = 0; i < mtd->oobsize; i++)
- writeb ( oob_data[i] , this->IO_ADDR_W);
-+#endif
-
- /* Send command to actually program the data */
- this->cmdfunc (mtd, NAND_CMD_PAGEPROG, -1, -1);
-@@ -526,23 +550,55 @@
- }
- /* Loop through and verify the data */
- for (i = col; i < last; i++) {
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ if((i-col) & 1){
-+ data_b = data_w >> 8;
-+ }else{
-+ data_w = readw (this->IO_ADDR_W);
-+ data_b = data_w & 0xff;
-+
-+ }
-+ if (this->data_poi[i] != data_b) {
-+ printk (KERN_WARNING "%s: Failed write verify, %d at page 0x%08x, col=%d last=%d\n", __func__, i, page, col, last);
-+ ACCUMULATE_ELAPSED_TIME(nand_write_verify);
-+ ACCUMULATE_ELAPSED_TIME(nand_write_page);
-+ return -EIO;
-+ }
-+#else
- if (this->data_poi[i] != readb (this->IO_ADDR_R)) {
- printk (KERN_WARNING "%s: Failed write verify, %d at page 0x%08x, col=%d last=%d\n", __func__, i, page, col, last);
- ACCUMULATE_ELAPSED_TIME(nand_write_verify);
- ACCUMULATE_ELAPSED_TIME(nand_write_page);
- return -EIO;
- }
-+#endif
- }
-
- /* check, if we have a fs-supplied oob-buffer */
- if (oob_buf) {
- for (i = 0; i < mtd->oobsize; i++) {
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ if(i & 1){
-+ data_b = data_w >> 8;
-+ }else{
-+ data_w = readw (this->IO_ADDR_W);
-+ data_b = data_w & 0xff;
-+
-+ }
-+ if (oob_data[i] != data_b) {
-+ printk (KERN_WARNING "%s: Failed write verify, oob %d of page 0x%08x\n", __func__, i, page);
-+ ACCUMULATE_ELAPSED_TIME(nand_write_verify);
-+ ACCUMULATE_ELAPSED_TIME(nand_write_page);
-+ return -EIO;
-+ }
-+#else
- if (oob_data[i] != readb (this->IO_ADDR_R)) {
- printk (KERN_WARNING "%s: Failed write verify, oob %d of page 0x%08x\n", __func__, i, page);
- ACCUMULATE_ELAPSED_TIME(nand_write_verify);
- ACCUMULATE_ELAPSED_TIME(nand_write_page);
- return -EIO;
- }
-+#endif
- }
- } else {
- if (eccmode != NAND_ECC_NONE && !col && last == mtd->oobblock) {
-@@ -555,8 +611,19 @@
- case NAND_ECC_HW6_512: ecc_bytes = 6; break;
- }
-
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ for (i = 0; i < mtd->oobsize; i++) {
-+ if(i & 1){
-+ oob_data[i] = data_w >> 8;
-+ }else{
-+ data_w = readw (this->IO_ADDR_R);
-+ oob_data[i] = data_w;
-+ }
-+ }
-+#else
- for (i = 0; i < mtd->oobsize; i++)
- oob_data[i] = readb (this->IO_ADDR_R);
-+#endif
-
- for (i = 0; i < ecc_bytes; i++) {
- if (oob_data[oob_config[i]] != ecc_code[i]) {
-@@ -826,7 +893,17 @@
- * oob data, let the device transfer the data !
- */
- for (i = 0; i < tmp_len; i++) {
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ unsigned short data;
-+ if(i & 1){
-+ buf[i] = data >> 8;
-+ }else{
-+ data = readw (this->IO_ADDR_R);
-+ buf[i] = data;
-+ }
-+#else
- buf[i] = readb (this->IO_ADDR_R);
-+#endif
- if ((col++ & (mtd->oobsize - 1)) == (mtd->oobsize - 1))
- udelay (this->chip_delay);
- }
-@@ -972,6 +1049,10 @@
- {
- int i, column, page, status, ret = 0;
- struct nand_chip *this = mtd->priv;
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ unsigned short tmp_buf[32]; // mtd->oobsize
-+ u_char *p_tmp_buf;
-+#endif
-
- DEBUG (MTD_DEBUG_LEVEL3, "nand_write_oob: to = 0x%08x, len = %i\n", (unsigned int) to, (int) len);
-
-@@ -1010,6 +1091,17 @@
-
- /* Write out desired data */
- this->cmdfunc (mtd, NAND_CMD_SEQIN, mtd->oobblock, page);
-+
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ memset(tmp_buf,0xff,mtd->oobsize);
-+ p_tmp_buf = (u_char *)tmp_buf;
-+
-+ for (i = 0; i < len; i++)
-+ p_tmp_buf[i+column] = buf[i];
-+
-+ for (i = 0; i < mtd->oobsize; i++)
-+ writew (tmp_buf[i], this->IO_ADDR_W);
-+#else
- /* prepad 0xff for partial programming */
- for (i = 0; i < column; i++)
- writeb (0xff, this->IO_ADDR_W);
-@@ -1019,7 +1111,7 @@
- /* postpad 0xff for partial programming */
- for (i = len + column; i < mtd->oobsize; i++)
- writeb (0xff, this->IO_ADDR_W);
--
-+#endif
- /* Send command to program the OOB data */
- this->cmdfunc (mtd, NAND_CMD_PAGEPROG, -1, -1);
-
-@@ -1040,11 +1132,29 @@
-
- /* Loop through and verify the data */
- for (i = 0; i < len; i++) {
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ unsigned short data;
-+ if(i & 1){
-+ if (buf[i] != (data >> 8)){
-+ DEBUG (MTD_DEBUG_LEVEL0, "nand_write_oob: " "Failed write verify, page 0x%08x\n", page);
-+ ret = -EIO;
-+ goto out;
-+ }
-+ }else{
-+ data = readw (this->IO_ADDR_R);
-+ if (buf[i] != (data & 0xff)){
-+ DEBUG (MTD_DEBUG_LEVEL0, "nand_write_oob: " "Failed write verify, page 0x%08x\n", page);
-+ ret = -EIO;
-+ goto out;
-+ }
-+ }
-+#else
- if (buf[i] != readb (this->IO_ADDR_R)) {
- DEBUG (MTD_DEBUG_LEVEL0, "nand_write_oob: " "Failed write verify, page 0x%08x\n", page);
- ret = -EIO;
- goto out;
- }
-+#endif
- }
- #endif
-
-@@ -1256,6 +1366,7 @@
- /* Check the WP bit */
- this->cmdfunc (mtd, NAND_CMD_STATUS, -1, -1);
- if (!(readb (this->IO_ADDR_R) & 0x80)) {
-+
- DEBUG (MTD_DEBUG_LEVEL0, "nand_erase: Device is write protected!!!\n");
- instr->state = MTD_ERASE_FAILED;
- goto erase_exit;
-@@ -1437,8 +1548,14 @@
- this->cmdfunc (mtd, NAND_CMD_READID, 0x00, -1);
-
- /* Read manufacturer and device IDs */
-+#ifdef CONFIG_MTD_NAND_SHARP_SL_TC6393
-+ nand_maf_id = readw (this->IO_ADDR_R);
-+ nand_dev_id = nand_maf_id >> 8;
-+ nand_maf_id = nand_maf_id & 0xff;
-+#else
- nand_maf_id = readb (this->IO_ADDR_R);
- nand_dev_id = readb (this->IO_ADDR_R);
-+#endif
-
- /* Print and store flash device information */
- for (i = 0; nand_flash_ids[i].name != NULL; i++) {
-@@ -1473,7 +1590,9 @@
- this->eccsize = 256; /* set default eccsize */
-
- switch (this->eccmode) {
--
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ case NAND_ECC_HW6_512:
-+#endif
- case NAND_ECC_HW3_512:
- if (mtd->oobblock == 256) {
- printk (KERN_WARNING "512 byte HW ECC not possible on 256 Byte pagesize, fallback to SW ECC \n");
-diff -Nur linux_c860_org/drivers/mtd/nand/sharp_sl_tc6393.c linux/drivers/mtd/nand/sharp_sl_tc6393.c
---- linux_c860_org/drivers/mtd/nand/sharp_sl_tc6393.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/mtd/nand/sharp_sl_tc6393.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,1236 @@
-+/*
-+ * drivers/mtd/nand/sharp_sl_tc6393.c
-+ *
-+ * Copyright (C) 2004 SHARP
-+ *
-+ * $Id: sharp_sl_tc6393.c,v 1.4 2004/03/04 06:34:39 yasui Exp $
-+ *
-+ * Based on:
-+ *
-+ * drivers/mtd/nand/sharp_sl.c
-+ *
-+ * Copyright (C) 2002 Lineo Japan, Inc.
-+ *
-+ * drivers/mtd/nand/spia.c
-+ *
-+ * Copyright (C) 2000 Steven J. Hill (sjhill@cotw.com)
-+ *
-+ *
-+ * 10-29-2001 TG change to support hardwarespecific access
-+ * to controllines (due to change in nand.c)
-+ * page_cache added
-+ *
-+ * 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.
-+ *
-+ * Overview:
-+ * This is a device driver for the NAND flash device found on the
-+ * SPIA board which utilizes the Toshiba TC58V64AFT part. This is
-+ * a 64Mibit (8MiB x 8 bits) NAND flash device.
-+ *
-+ * ChangLog:
-+ * 09-Sep-2003 SHARP support the Toshiba TC6393XB NAND flash controller.
-+ */
-+
-+#include <linux/slab.h>
-+#include <linux/module.h>
-+#include <linux/delay.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/nand.h>
-+#include <linux/mtd/nand_ecc.h>
-+#include <linux/mtd/partitions.h>
-+#include <asm/io.h>
-+#include <asm/hardware.h>
-+#ifdef CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS
-+#include <asm-arm/sharp_nand_logical.h>
-+#endif
-+
-+#undef DEBUG_PROC
-+#ifdef DEBUG_PROC
-+#include <linux/proc_fs.h>
-+#endif
-+#include "measure.h"
-+#include <asm/sharp_tc6393.h>
-+
-+#define MAX_ECC_RETRY 3
-+#define MAX_WRITE_RETRIES 32
-+#define MAX_COPIES 100
-+
-+#ifdef CONFIG_ARCH_SHARP_SL
-+#define FAILURECOUNTER_POS NAND_POSTBADBLOCK_POS
-+#else
-+#define FAILURECOUNTER_POS NAND_BADBLOCK_POS
-+#endif
-+
-+#define HWECC_MODE_DISABLE 0
-+#define HWECC_MODE_READ 1
-+#define HWECC_MODE_WRITE 2
-+static int hwecc_mode = HWECC_MODE_DISABLE;
-+
-+static TC6393XB_SysConfig *sysconfig = TC6393XB_SYSCONFIG_BASE;
-+static TC6393XB_NandConfig *nandconfig = TC6393XB_NANDCONFIG_BASE;
-+static TC6393XB_NandCtrl *nandctrl = TC6393XB_NANDCTRL_BASE;
-+
-+/*
-+ * NAND low-level MTD interface functions
-+ */
-+static int tc6393_nand_read (struct mtd_info *mtd, loff_t from, size_t len, size_t * retlen, u_char * buf);
-+static int tc6393_nand_read_ecc (struct mtd_info *mtd, loff_t from, size_t len,
-+ size_t * retlen, u_char * buf, u_char * eccbuf, int oobsel);
-+static int tc6393_nand_write (struct mtd_info *mtd, loff_t to, size_t len, size_t * retlen, const u_char * buf);
-+static int tc6393_nand_write_ecc (struct mtd_info *mtd, loff_t to, size_t len,
-+ size_t * retlen, const u_char * buf, u_char * eccbuf, int oobsel);
-+static int tc6393_nand_write_oob (struct mtd_info *mtd, loff_t to, size_t len, size_t * retlen, const u_char *buf);
-+static int tc6393_nand_writev (struct mtd_info *mtd, const struct iovec *vecs,
-+ unsigned long count, loff_t to, size_t * retlen);
-+static int tc6393_nand_writev_ecc (struct mtd_info *mtd, const struct iovec *vecs,
-+ unsigned long count, loff_t to, size_t * retlen, u_char *eccbuf, int oobsel);
-+/*
-+ * MTD structure for Poodle
-+ */
-+static struct mtd_info *sharp_sl_mtd = NULL;
-+
-+/*
-+ * original nand_* functions pointer
-+ */
-+static int (*orig_read_ecc)(struct mtd_info*, loff_t, size_t, size_t*, u_char*, u_char*, int);
-+static int (*orig_write_ecc)(struct mtd_info*, loff_t, size_t, size_t*, const u_char*, u_char*, int);
-+static int (*orig_writev_ecc)(struct mtd_info*, const struct iovec*, unsigned long, loff_t, size_t*, u_char*, int);
-+static int (*orig_write_oob)(struct mtd_info*, loff_t, size_t, size_t*, const u_char*);
-+
-+
-+/*
-+ * out of band configuration for different filesystems
-+ */
-+static int oobconfigs[][6] = {
-+ { 0,0,0,0,0,0},
-+
-+ { NAND_JFFS2_OOB_ECCPOS0, NAND_JFFS2_OOB_ECCPOS1, NAND_JFFS2_OOB_ECCPOS2,
-+ NAND_JFFS2_OOB_ECCPOS3, NAND_JFFS2_OOB_ECCPOS4, NAND_JFFS2_OOB_ECCPOS5 },
-+
-+ { NAND_YAFFS_OOB_ECCPOS0, NAND_YAFFS_OOB_ECCPOS1, NAND_YAFFS_OOB_ECCPOS2,
-+ NAND_YAFFS_OOB_ECCPOS3, NAND_YAFFS_OOB_ECCPOS4, NAND_YAFFS_OOB_ECCPOS5 }
-+};
-+
-+/*
-+ * Macros for low-level register control
-+ */
-+#define nand_select() this->hwcontrol(NAND_CTL_SETNCE);
-+
-+#define nand_deselect() this->hwcontrol(NAND_CTL_CLRNCE);
-+
-+
-+/*
-+ * Define partitions for flash device
-+ */
-+#define DEFAULT_NUM_PARTITIONS 3
-+static struct mtd_info** sharp_sl_nand_part_mtdp;
-+static int nr_partitions;
-+static struct mtd_partition sharp_sl_nand_default_partition_info[] = {
-+ {
-+ .name = "NAND flash partition 0",
-+ .offset = 0,
-+ .size = 7 * 1024 * 1024,
-+ },
-+ {
-+ .name = "NAND flash partition 1",
-+ .offset = 7 * 1024 * 1024,
-+ .size = 30 * 1024 * 1024,
-+ },
-+ {
-+ .name = "NAND flash partition 2",
-+ .offset = 37 * 1024 * 1024,
-+ .size = (64 - 37) * 1024 * 1024,
-+ },
-+};
-+static struct mtd_partition* sharp_sl_nand_partition_info;
-+
-+
-+/*
-+ * hardware specific access to control-lines
-+ */
-+static void
-+tc6393_nand_hwcontrol(int cmd)
-+{
-+ switch (cmd) {
-+ case NAND_CTL_SETCLE:
-+ nandctrl->smode |= SMODE_CLE;
-+ break;
-+ case NAND_CTL_CLRCLE:
-+ nandctrl->smode &= ~SMODE_CLE;
-+ break;
-+ case NAND_CTL_SETALE:
-+ nandctrl->smode |= SMODE_ALE;
-+ break;
-+ case NAND_CTL_CLRALE:
-+ nandctrl->smode &= ~SMODE_ALE;
-+ break;
-+ case NAND_CTL_SETNCE:
-+ nandctrl->smode = SMODE_SELECT;
-+ break;
-+ case NAND_CTL_CLRNCE:
-+ nandctrl->smode = SMODE_DESELECT;
-+ default:
-+ break;
-+ }
-+}
-+
-+
-+/*
-+ *
-+ */
-+static int
-+tc6393_nand_command_1(struct mtd_info* mtd,
-+ unsigned command,
-+ int column,
-+ int page_addr)
-+{
-+ register struct nand_chip *this = mtd->priv;
-+ register unsigned long NAND_IO_ADDR = this->IO_ADDR_W;
-+ int i;
-+
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ if (command != NAND_CMD_RESET &&
-+ command != NAND_CMD_STATUS) {
-+ for (i = 0; i < NAND_BUSY_TIMEOUT; i++)
-+ if (this->dev_ready())
-+ break;
-+ if (i == NAND_BUSY_TIMEOUT)
-+ return -EIO;
-+ }
-+#endif
-+ this->hwcontrol (NAND_CTL_SETCLE);
-+
-+ /*
-+ * Write out the command to the device.
-+ */
-+ if (command != NAND_CMD_SEQIN)
-+ writeb (command, NAND_IO_ADDR);
-+ else {
-+ if (mtd->oobblock == 256 && column >= 256) {
-+ column -= 256;
-+ writeb (NAND_CMD_READOOB, NAND_IO_ADDR);
-+ writeb (NAND_CMD_SEQIN, NAND_IO_ADDR);
-+ } else if (mtd->oobblock == 512 && column >= 256) {
-+ if (column < 512) {
-+ column -= 256;
-+ writeb (NAND_CMD_READ1, NAND_IO_ADDR);
-+ writeb (NAND_CMD_SEQIN, NAND_IO_ADDR);
-+ } else {
-+ column -= 512;
-+ writeb (NAND_CMD_READOOB, NAND_IO_ADDR);
-+ writeb (NAND_CMD_SEQIN, NAND_IO_ADDR);
-+ }
-+ } else {
-+ writeb (NAND_CMD_READ0, NAND_IO_ADDR);
-+ writeb (NAND_CMD_SEQIN, NAND_IO_ADDR);
-+ }
-+ }
-+
-+ /* Set ALE and clear CLE to start address cycle */
-+ this->hwcontrol (NAND_CTL_CLRCLE);
-+
-+ if (column != -1 || page_addr != -1) {
-+ this->hwcontrol (NAND_CTL_SETALE);
-+
-+ /* Serially input address */
-+ if (column != -1)
-+ writeb (column, NAND_IO_ADDR);
-+ if (page_addr != -1) {
-+ writeb ((unsigned char) (page_addr & 0xff), NAND_IO_ADDR);
-+ writeb ((unsigned char) ((page_addr >> 8) & 0xff), NAND_IO_ADDR);
-+ /* One more address cycle for higher density devices */
-+ if (mtd->size & 0x0c000000)
-+ writeb ((unsigned char) ((page_addr >> 16) & 0x0f), NAND_IO_ADDR);
-+ }
-+ /* Latch in address */
-+ this->hwcontrol (NAND_CTL_CLRALE);
-+ }
-+
-+ /*
-+ * program and erase have their own busy handlers
-+ * status and sequential in needs no delay
-+ */
-+ switch (command) {
-+ case NAND_CMD_PAGEPROG: /* wait in this->waitfunc() */
-+ case NAND_CMD_ERASE1:
-+ case NAND_CMD_ERASE2: /* wait in this->waitfunc() */
-+ case NAND_CMD_SEQIN:
-+/* case NAND_CMD_STATUS: */
-+ return 0;
-+
-+ case NAND_CMD_RESET:
-+ break;
-+ }
-+
-+ /* wait until command is processed */
-+ for (i = 0; i < NAND_BUSY_TIMEOUT; i++)
-+ if (this->dev_ready())
-+ return 0;
-+ return -EIO;
-+}
-+
-+
-+/*
-+ *
-+ */
-+static int
-+tc6393_nand_command(struct mtd_info* mtd,
-+ unsigned command,
-+ int column,
-+ int page_addr)
-+{
-+ if (command == NAND_CMD_SEQIN)
-+ /* ignore Ready/Busy error */
-+ tc6393_nand_command_1(mtd, NAND_CMD_READ0, column, page_addr);
-+ return tc6393_nand_command_1(mtd, command, column, page_addr);
-+}
-+
-+
-+/*
-+ * Get chip for selected access
-+ * (copy from nand.c)
-+ */
-+static inline void
-+nand_get_chip(struct nand_chip *this,
-+ struct mtd_info *mtd,
-+ int new_state)
-+{
-+
-+ DECLARE_WAITQUEUE (wait, current);
-+
-+ /*
-+ * Grab the lock and see if the device is available
-+ * For erasing, we keep the spinlock until the
-+ * erase command is written.
-+ */
-+ retry:
-+ spin_lock_bh (&this->chip_lock);
-+
-+ if (this->state == FL_READY) {
-+ this->state = new_state;
-+ if (new_state != FL_ERASING)
-+ spin_unlock_bh (&this->chip_lock);
-+ return;
-+ }
-+
-+#if 0
-+ if (this->state == FL_ERASING) {
-+ if (new_state != FL_ERASING) {
-+ this->state = new_state;
-+ spin_unlock_bh (&this->chip_lock);
-+ nand_select (); /* select in any case */
-+ this->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
-+ return;
-+ }
-+ }
-+#endif
-+
-+ set_current_state (TASK_UNINTERRUPTIBLE);
-+ add_wait_queue (&this->wq, &wait);
-+ spin_unlock_bh (&this->chip_lock);
-+ schedule ();
-+ remove_wait_queue (&this->wq, &wait);
-+ goto retry;
-+}
-+
-+
-+static inline void
-+tc6393_nand_read_page(struct mtd_info* mtd,
-+ struct nand_chip* this,
-+ u_char* data_poi,
-+ u_char* oob_data,
-+ u_char* ecc_calc,
-+ int ecc,
-+ int end)
-+{
-+ int j = 0;
-+
-+ START_MEASUREMENT(nand_read_page);
-+
-+ this->enable_hwecc (NAND_ECC_READ);
-+
-+ while (j < ecc){
-+ unsigned short data = readw (this->IO_ADDR_R);
-+ data_poi[j++] = data;
-+ data_poi[j++] = data >> 8;
-+ }
-+
-+ this->calculate_ecc (&data_poi[0], &ecc_calc[0]); /* read from hardware */
-+
-+ for (j = 0; j < mtd->oobsize; j+=2) {
-+ unsigned short data = readw (this->IO_ADDR_R);
-+ oob_data[j] = data;
-+ oob_data[j+1] = data >> 8;
-+ }
-+ ACCUMULATE_ELAPSED_TIME(nand_read_page);
-+ COUNTER_INC(nand_read_nr_pages);
-+}
-+
-+
-+/*
-+ * this function is registered only if eccmode == NAND_ECC_HW6_512 &&
-+ * oobblock == 512
-+ */
-+static int
-+tc6393_nand_read_ecc(struct mtd_info* mtd,
-+ loff_t from,
-+ size_t len,
-+ size_t* retlen,
-+ u_char* buf,
-+ u_char* oob_buf,
-+ int oobsel)
-+{
-+ int col, page, end, ecc;
-+ int read, ecc_failed, ret;
-+ struct nand_chip *this;
-+ u_char *oob_data;
-+ int *oob_config;
-+ u_char* data_poi = 0;
-+
-+ if (oob_buf || ! oobsel)
-+ return orig_read_ecc(mtd, from, len, retlen, buf, oob_buf, oobsel);
-+
-+ DEBUG (MTD_DEBUG_LEVEL3, "%s: from = 0x%08x, len = %i\n",
-+ __func__, (unsigned int) from, (int) len);
-+
-+ /* Do not allow reads past end of device */
-+ if ((from + len) > mtd->size) {
-+ DEBUG (MTD_DEBUG_LEVEL0, "%s: Attempt read beyond end of device\n", __func__);
-+ *retlen = 0;
-+ return -EINVAL;
-+ }
-+
-+ /* Grab the lock and see if the device is available */
-+ this = mtd->priv;
-+ nand_get_chip (this, mtd ,FL_READING);
-+
-+ /* Select the NAND device */
-+ nand_select ();
-+
-+ oob_config = oobconfigs[oobsel];
-+ page = from >> this->page_shift;
-+ col = from & (mtd->oobblock - 1);
-+ end = mtd->oobblock;
-+ ecc = mtd->eccsize;
-+ oob_data = &this->data_buf[end];
-+ read = 0;
-+ ecc_failed = 0;
-+ ret = 0;
-+
-+ /* Send the read command */
-+ if (this->cmdfunc (mtd, NAND_CMD_READ0, 0x00, page)) {
-+ printk(KERN_WARNING "%s: Failed in NAND_CMD_READ0 command, page 0x%08x\n",
-+ __func__, page);
-+ ret = -EIO;
-+ goto nand_read_ecc_exit;
-+ }
-+
-+ /* Loop until all data read */
-+ while (read < len) {
-+ int j;
-+ int ecc_status;
-+ int ecc_retry_counter = 0;
-+ u_char ecc_calc[6];
-+ u_char ecc_code[6];
-+
-+ /*
-+ * If the read is not page aligned, we have to read into data buffer
-+ * due to ecc, else we read into return buffer direct
-+ */
-+ if (!col && (len - read) >= end)
-+ data_poi = &buf[read];
-+ else
-+ data_poi = this->data_buf;
-+
-+#ifdef CONFIG_MTD_NAND_PAGE_CACHE
-+ if (page == this->cache_page) {
-+ memcpy(data_poi, this->data_cache, end);
-+
-+ if (this->cmdfunc (mtd, NAND_CMD_READ0, 0x00, page + 1)) {
-+ printk(KERN_WARNING "%s: Failed in NAND_CMD_READ0 command,"
-+ " page 0x%08x\n", __func__, page);
-+ ret = -EIO;
-+ goto nand_read_ecc_exit;
-+ }
-+
-+ goto loop_next;
-+ }
-+#endif
-+
-+ ecc_retry:
-+ tc6393_nand_read_page(mtd, this, data_poi, oob_data, ecc_calc, ecc, end);
-+
-+ /* Pick the ECC bytes out of the oob data */
-+ for (j = 0; j < 6; j++)
-+ ecc_code[j] = oob_data[oob_config[j]];
-+
-+ /* If we have consequent page reads, apply delay or wait for ready/busy pin */
-+ for (j = 0; j < NAND_BUSY_TIMEOUT; j++)
-+ if (this->dev_ready())
-+ break;
-+ if (j == NAND_BUSY_TIMEOUT) {
-+ ret = -EIO;
-+ goto nand_read_ecc_exit;
-+ }
-+
-+ /* correct data, if neccecary */
-+ ecc_status = this->correct_data (&data_poi[0], &ecc_code[0], &ecc_calc[0]);
-+ if (ecc_status == -1) {
-+ if (ecc_retry_counter++ < MAX_ECC_RETRY) {
-+ this->cmdfunc (mtd, NAND_CMD_RESET, -1, -1);
-+ if (this->cmdfunc (mtd, NAND_CMD_READ0, 0x00, page)) {
-+ printk(KERN_WARNING
-+ "%s: Failed in NAND_CMD_READ0 command, page 0x%08x\n",
-+ __func__, page);
-+ ret = -EIO;
-+ goto nand_read_ecc_exit;
-+ }
-+ goto ecc_retry;
-+ }
-+ else {
-+ printk (KERN_WARNING "%s: Failed ECC read, page 0x%08x\n",
-+ __func__, page);
-+ ecc_failed++;
-+ }
-+ }
-+
-+ ecc_status = this->correct_data (&data_poi[256], &ecc_code[3], &ecc_calc[3]);
-+ if (ecc_status == -1) {
-+ if (ecc_retry_counter++ < MAX_ECC_RETRY) {
-+ this->cmdfunc (mtd, NAND_CMD_RESET, -1, -1);
-+ if (this->cmdfunc (mtd, NAND_CMD_READ0, 0x00, page)) {
-+ printk(KERN_WARNING
-+ "%s: Failed in NAND_CMD_READ0 command, page 0x%08x\n",
-+ __func__, page);
-+ ret = -EIO;
-+ goto nand_read_ecc_exit;
-+ }
-+ goto ecc_retry;
-+ }
-+ else {
-+ printk (KERN_WARNING "%s: Failed ECC read, page 0x%08x\n",
-+ __func__, page);
-+ ecc_failed++;
-+ }
-+ }
-+
-+#ifdef CONFIG_MTD_NAND_PAGE_CACHE
-+ loop_next:
-+#endif
-+ if (col || (len - read) < end) {
-+ for (j = col; j < end && read < len; j++)
-+ buf[read++] = data_poi[j];
-+ } else
-+ read += mtd->oobblock;
-+ /* For subsequent reads align to page boundary. */
-+ col = 0;
-+ /* Increment page address */
-+ page++;
-+ }
-+
-+ nand_read_ecc_exit:
-+ ret = (ret == 0) ? (ecc_failed ? -EIO : 0) : ret;
-+ if (ret == -EIO)
-+ this->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
-+#ifdef CONFIG_MTD_NAND_PAGE_CACHE
-+ else if (page - 1 != this->cache_page && data_poi) {
-+ memcpy(this->data_cache, data_poi, end);
-+ this->cache_page = page - 1;
-+ }
-+#endif
-+
-+ /* De-select the NAND device */
-+ nand_deselect ();
-+
-+ /* Wake up anyone waiting on the device */
-+ spin_lock_bh (&this->chip_lock);
-+ this->state = FL_READY;
-+ wake_up (&this->wq);
-+ spin_unlock_bh (&this->chip_lock);
-+
-+ /*
-+ * Return success, if no ECC failures, else -EIO
-+ * fs driver will take care of that, because
-+ * retlen == desired len and result == -EIO
-+ */
-+ *retlen = read;
-+ return ret;
-+}
-+
-+
-+static int
-+tc6393_nand_read(struct mtd_info* mtd,
-+ loff_t from,
-+ size_t len,
-+ size_t* retlen,
-+ u_char* buf)
-+{
-+ return tc6393_nand_read_ecc(mtd, from, len, retlen, buf, NULL, NAND_JFFS2_OOB);
-+}
-+
-+
-+/* same as sharp_sl.c */
-+static inline int jffs2_hamming_distance(unsigned int a, unsigned int b)
-+{
-+#ifdef __ARM_ARCH_5TE__
-+ unsigned int n;
-+ a ^= b;
-+ asm (
-+ "clz %0, %1\n"
-+ : "=r" (n)
-+ : "r" (a)
-+ );
-+ return (a << (n + 1)) == 0;
-+#else
-+ unsigned int n;
-+ a ^= b;
-+ for (n = 0; n < 8; n++)
-+ if (! (a & ~(1 << n)))
-+ return 1;
-+ return 0;
-+#endif
-+}
-+
-+/* same as sharp_sl.c */
-+static inline void
-+jffs2_correct_badblock_val(u_char* oob)
-+{
-+#ifdef CONFIG_MTD_NAND_POST_BADBLOCK
-+ if (jffs2_hamming_distance(oob[NAND_POSTBADBLOCK_POS], 0xff))
-+ oob[NAND_POSTBADBLOCK_POS] = 0xff;
-+#endif
-+ if (jffs2_hamming_distance(oob[NAND_BADBLOCK_POS], 0xff))
-+ oob[NAND_BADBLOCK_POS] = 0xff;
-+}
-+
-+/* same as sharp_sl.c */
-+static inline void
-+jffs2_correct_failedblock_val(u_char* oob)
-+{
-+ if (jffs2_hamming_distance(oob[FAILURECOUNTER_POS], 0xff))
-+ oob[FAILURECOUNTER_POS] = 0xff;
-+}
-+
-+/* same as sharp_sl.c */
-+static inline void
-+jffs2_correct_cleanmarker(u_char* oob,
-+ u_char* correct_data,
-+ int len)
-+{
-+ int i;
-+ for (i = 0; i < len; i++)
-+ if (jffs2_hamming_distance(oob[i], correct_data[i]))
-+ oob[i] = correct_data[i];
-+}
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_prepare_rewrite(struct mtd_info* mtd,
-+ loff_t to,
-+ int oobsel)
-+{
-+ int i;
-+ loff_t block_addr = to & ~(mtd->erasesize - 1);
-+ size_t len = to & (mtd->erasesize - 1);
-+ int nr_oobpages = 2; // JFFS2 only (JFFS2 uses only 2 oobpages)
-+ int fsdata_pos = (mtd->oobblock == 256)
-+ ? NAND_JFFS2_OOB8_FSDAPOS : NAND_JFFS2_OOB16_FSDAPOS;
-+ int fsdata_len = (mtd->oobblock == 256)
-+ ? NAND_JFFS2_OOB8_FSDALEN : NAND_JFFS2_OOB16_FSDALEN;
-+ u_char* block_buf;
-+ u_char* oob_buf;
-+ int ret;
-+ int retlen;
-+ struct erase_info instr;
-+
-+ block_buf = kmalloc(len, GFP_KERNEL);
-+ if (! block_buf) {
-+ printk("Unable to allocate NAND block buffer (%u)\n", len);
-+ return -EIO;
-+ }
-+ oob_buf = kmalloc(mtd->oobsize * nr_oobpages, GFP_KERNEL);
-+ if (! oob_buf) {
-+ printk("Unable to allocate NAND oob buffer\n");
-+ kfree(block_buf);
-+ return -EIO;
-+ }
-+
-+ ret = mtd->read_ecc(mtd, block_addr, len, &retlen, block_buf, NULL, NAND_JFFS2_OOB);
-+ if (ret || retlen != len) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: read_ecc failed (%d)\n", __func__, ret);
-+ kfree(block_buf);
-+ kfree(oob_buf);
-+ return ret ? ret : -EIO;
-+ }
-+
-+ ret = mtd->read_oob(mtd, block_addr, mtd->oobsize * nr_oobpages, &retlen, oob_buf);
-+ if (ret || retlen != mtd->oobsize * nr_oobpages) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: read_oob failed (%d)\n", __func__, ret);
-+ kfree(block_buf);
-+ kfree(oob_buf);
-+ return ret ? ret : -EIO;
-+ }
-+#if 1 /* FIXME */
-+ {
-+ struct {
-+ /* All start like this */
-+ uint16_t magic;
-+ uint16_t nodetype;
-+ uint32_t totlen; /* So we can skip over nodes we don't grok */
-+ } __attribute__((packed)) n = {
-+ .magic = 0x1985,
-+ .nodetype = 0x2003,
-+ .totlen = 8,
-+ };
-+ u_char* p;
-+
-+ p = (u_char*)&n;
-+
-+ jffs2_correct_badblock_val(oob_buf);
-+ jffs2_correct_failedblock_val(&oob_buf[mtd->oobsize]);
-+ jffs2_correct_cleanmarker(&oob_buf[fsdata_pos], p, fsdata_len);
-+ }
-+#endif
-+
-+ for (i = 0; i < MAX_COPIES; i++) {
-+ int j;
-+
-+ memset(&instr, 0, sizeof instr);
-+ instr.mtd = mtd;
-+ instr.addr = block_addr;
-+ instr.len = mtd->erasesize;
-+ ret = mtd->erase(mtd, &instr);
-+ if (ret) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: erase failed (%d)\n", __func__, ret);
-+ continue;
-+ }
-+
-+ ret = orig_write_ecc(mtd, block_addr, len, &retlen, block_buf, NULL,
-+ NAND_JFFS2_OOB);
-+ if (ret || retlen != len) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: write_ecc failed (%d)\n", __func__, ret);
-+ continue;
-+ }
-+
-+ for (j = 0; j < nr_oobpages; j++) {
-+ loff_t addr = block_addr + mtd->oobblock * j;
-+
-+#ifdef CONFIG_MTD_NAND_POST_BADBLOCK
-+ ret = orig_write_oob(mtd, addr + NAND_POSTBADBLOCK_POS, 1, &retlen,
-+ oob_buf + mtd->oobsize * j + NAND_POSTBADBLOCK_POS);
-+ if (ret || retlen != 1) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: write_oob post_badblock(%d) failed (%d)\n",
-+ __func__, j, ret);
-+ break;
-+ }
-+#endif
-+
-+ ret = orig_write_oob(mtd, addr + NAND_BADBLOCK_POS, 1, &retlen,
-+ oob_buf + mtd->oobsize * j + NAND_BADBLOCK_POS);
-+ if (ret || retlen != 1) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: write_oob badblock(%d) failed (%d)\n",
-+ __func__, j, ret);
-+ break;
-+ }
-+
-+ ret = orig_write_oob(mtd, addr + fsdata_pos, fsdata_len, &retlen,
-+ oob_buf + mtd->oobsize * j + fsdata_pos);
-+ if (ret || retlen != fsdata_len) {
-+ DEBUG(MTD_DEBUG_LEVEL0, "%s: write_oob fsdata(%d) failed (%d)\n",
-+ __func__, j, ret);
-+ break;
-+ }
-+ }
-+ if (j < nr_oobpages)
-+ continue;
-+
-+ break;
-+ }
-+
-+ kfree(block_buf);
-+ kfree(oob_buf);
-+ DEBUG(MTD_DEBUG_LEVEL0,
-+ "%s: %d\n", __func__, (i < MAX_COPIES) ? 0 : (ret ? ret : -EIO));
-+ return (i < MAX_COPIES) ? 0 : (ret ? ret : -EIO);
-+}
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_write_ecc(struct mtd_info* mtd,
-+ loff_t to,
-+ size_t len,
-+ size_t* retlen,
-+ const u_char* buf,
-+ u_char* eccbuf,
-+ int oobsel)
-+{
-+ int i;
-+ int ret;
-+
-+ for (i = 0; i < MAX_WRITE_RETRIES; i++) {
-+ ret = orig_write_ecc(mtd, to, len, retlen, buf, eccbuf, oobsel);
-+ if (ret != -EIO){
-+ return ret;
-+ }
-+
-+ ret = tc6393_nand_prepare_rewrite(mtd, to, oobsel);
-+ if (ret)
-+ return ret;
-+ }
-+ return -EIO;
-+}
-+
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_write(struct mtd_info* mtd,
-+ loff_t to,
-+ size_t len,
-+ size_t* retlen,
-+ const u_char* buf)
-+{
-+ return tc6393_nand_write_ecc(mtd, to, len, retlen, buf, NULL, NAND_JFFS2_OOB);
-+}
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_writev_ecc(struct mtd_info* mtd,
-+ const struct iovec* vecs,
-+ unsigned long count,
-+ loff_t to,
-+ size_t* retlen,
-+ u_char* eccbuf,
-+ int oobsel)
-+{
-+ int i;
-+ int ret;
-+
-+ for (i = 0; i < MAX_WRITE_RETRIES; i++) {
-+ ret = orig_writev_ecc(mtd, vecs, count, to, retlen, eccbuf, oobsel);
-+ if (ret != -EIO)
-+ return ret;
-+
-+ ret = tc6393_nand_prepare_rewrite(mtd, to, oobsel);
-+ if (ret)
-+ return ret;
-+ }
-+ return -EIO;
-+}
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_writev(struct mtd_info* mtd,
-+ const struct iovec* vecs,
-+ unsigned long count,
-+ loff_t to,
-+ size_t* retlen)
-+{
-+ return tc6393_nand_writev_ecc(mtd, vecs, count, to, retlen, NULL, NAND_JFFS2_OOB);
-+}
-+
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_write_oob(struct mtd_info* mtd,
-+ loff_t to,
-+ size_t len,
-+ size_t* retlen,
-+ const u_char* buf)
-+{
-+ int i;
-+ int ret;
-+
-+ for (i = 0; i < MAX_WRITE_RETRIES; i++) {
-+ ret = orig_write_oob(mtd, to, len, retlen, buf);
-+ if (ret != -EIO)
-+ return ret;
-+
-+ ret = tc6393_nand_prepare_rewrite(mtd, to & ~(mtd->erasesize - 1), // JFFS2 only (JFFS2 calls write_oob only after erasing)
-+ NAND_JFFS2_OOB);
-+ if (ret)
-+ return ret;
-+ }
-+ return -EIO;
-+}
-+
-+
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_flash_busy(void)
-+{
-+ return (nandctrl->sustus & SUSTUS_BUSY) == SUSTUS_BUSY;
-+}
-+
-+
-+/*
-+ *
-+ */
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_dev_ready(void)
-+{
-+ int i;
-+ for (i = 0; i < 5; i++)
-+ tc6393_nand_flash_busy();
-+ return ! tc6393_nand_flash_busy();
-+}
-+
-+
-+/*
-+ *
-+ */
-+/* same as sharp_sl.c */
-+static int
-+tc6393_nand_suspend(struct mtd_info* mtd)
-+{
-+ int i;
-+ printk("%s", __func__);
-+ for (i = 0; i < nr_partitions; i++) {
-+ invalidate_device(MKDEV(MTD_BLOCK_MAJOR, sharp_sl_nand_part_mtdp[i]->index), 1);
-+ }
-+ mtd->sync(mtd);
-+
-+ printk("\n");
-+ return 0;
-+}
-+
-+/*
-+ *
-+ */
-+/* same as sharp_sl.c */
-+static void
-+tc6393_nand_resume(struct mtd_info* mtd)
-+{
-+ printk("%s\n", __func__);
-+ tc6393_nand_hw_init();
-+}
-+
-+
-+#ifdef CONFIG_MTD_NAND_ECC
-+/*
-+ *
-+ */
-+static void
-+tc6393_nand_enable_hwecc(int mode)
-+{
-+ volatile unsigned char dummy_read;
-+
-+ if(mode == NAND_ECC_WRITE){
-+ /* Hard_ECC Reset_Mode(Read) */
-+ nandctrl->smode = SMODE_HWECC_WRITE_RESET_ECC;
-+ /* Read dummy data (1byte) */
-+ dummy_read = nandctrl->sdata.data8.sdata0;
-+ /* Hard_ECC CALC_Mode(Read) */
-+ nandctrl->smode = SMODE_HWECC_WRITE_ECCCALC;
-+
-+ hwecc_mode = HWECC_MODE_WRITE;
-+ return;
-+ }else{
-+ /* Hard_ECC Reset_Mode(Write) */
-+ nandctrl->smode = SMODE_HWECC_READ_RESET_ECC;
-+ /* Read dummy data (1byte) */
-+ dummy_read = nandctrl->sdata.data8.sdata0;
-+ /* Hard_ECC CALC_Mode(Read) */
-+ nandctrl->smode = SMODE_HWECC_READ_ECCCALC;
-+
-+ hwecc_mode = HWECC_MODE_READ;
-+ return;
-+ }
-+}
-+
-+
-+/*
-+ *
-+ */
-+static int
-+tc6393_nand_calculate_ecc(const u_char* dat,
-+ u_char* ecc_code)
-+{
-+ unsigned short ecc1,ecc2,ecc3;
-+
-+ if(hwecc_mode == HWECC_MODE_READ){
-+ nandctrl->smode = SMODE_HWECC_READ_CALC_RESULT;
-+ }else if(hwecc_mode == HWECC_MODE_WRITE){
-+ nandctrl->smode = SMODE_HWECC_WRITE_CALC_RESULT;
-+ }else{
-+ printk("Unable to calcutate NAND ecc.");
-+ return -EIO;
-+ }
-+
-+ ecc1 = nandctrl->sdata.data16.sdata0_1;
-+ ecc2 = nandctrl->sdata.data16.sdata0_1;
-+ ecc3 = nandctrl->sdata.data16.sdata0_1;
-+
-+ ecc_code[0] = ecc1 >> 8; // 000-255 LP15-8
-+ ecc_code[1] = ecc1 >> 0; // 000-255 LP7-0
-+ ecc_code[2] = ecc2 >> 0; // 000-255 CP5-0,11b
-+ ecc_code[3] = ecc3 >> 0; // 256-511 LP15-8
-+ ecc_code[4] = ecc2 >> 8; // 256-511 LP7-0
-+ ecc_code[5] = ecc3 >> 8; // 256-511 CP5-0,11b
-+
-+ if(hwecc_mode == HWECC_MODE_READ){
-+ nandctrl->smode = SMODE_READ_DATAREAD;
-+ }else{
-+ nandctrl->smode = SMODE_WRITE_DATAWRITE;
-+ }
-+
-+ hwecc_mode = HWECC_MODE_DISABLE;
-+ return 0;
-+}
-+#endif
-+
-+
-+static void tc6393_nand_hw_init(void)
-+{
-+ /* (89h) SMD Buffer ON By TC6393XB SystemConfig */
-+ sysconfig->gpibfc1 = 0xff;
-+
-+ /* (4Ch) CLKRUN Enable 1st */
-+ nandconfig->spcrunc = 0x81;
-+
-+ /* (10h)BaseAddress 0x1000 */
-+ nandconfig->spba.spba2 = TC6393XB_NANDCTRL_OFFSET;
-+
-+ /* (04h)Command Register I/O */
-+ nandconfig->spcmd = 0x02;
-+
-+ /* (62h) Power Supply Control */
-+ /* HardPowerOFF - SuspendOFF - PowerSupplyWait_4MS */
-+ nandconfig->ssmpwc = 0x02;
-+
-+ /* (63h) Detect Control */
-+ nandconfig->ssmdtc = 0x02;
-+
-+ /* Interrupt status register clear */
-+ nandctrl->sintst = 0x0f;
-+
-+ /* After power supply, Media are reset */
-+ nandctrl->smode = SMODE_POWER_ON;
-+ nandctrl->smode = SMODE_READ_COMMAND;
-+ nandctrl->sdata.data8.sdata0 = NAND_CMD_RESET;
-+
-+ /* Stanby Mode */
-+ nandctrl->smode = SMODE_STANDBY;
-+
-+ mdelay(100);
-+
-+ return;
-+}
-+
-+/* same as sharp_sl.c */
-+#ifdef DEBUG_PROC
-+DEFINE_MEASUREMENT_VAR(nand_read_page);
-+DEFINE_COUNTER_VAR(nand_read_nr_pages);
-+DEFINE_MEASUREMENT_VAR(nand_write_page);
-+DEFINE_MEASUREMENT_VAR(nand_write_verify);
-+DEFINE_COUNTER_VAR(nand_write_nr_pages);
-+static int
-+sharp_sl_nand_read_proc(char* buf,
-+ char** start,
-+ off_t offset,
-+ int count,
-+ int* eof,
-+ void* data)
-+{
-+ int len = 0;
-+ PRINT_ELAPSED_TIME(nand_read_page, buf, len);
-+ len += sprintf(buf + len, "nand_read_nr_pages %d\n", nand_read_nr_pages);
-+ PRINT_ELAPSED_TIME(nand_write_page, buf, len);
-+ PRINT_ELAPSED_TIME(nand_write_verify, buf, len);
-+ len += sprintf(buf + len, "nand_write_nr_pages %d\n", nand_write_nr_pages);
-+ *eof = 1;
-+ return len;
-+}
-+
-+
-+static int sharp_sl_nand_write_proc(struct file* file,
-+ const char* buffer,
-+ unsigned long count,
-+ void* data)
-+{
-+ CLEAR_TIME_VER(nand_read_page);
-+ CLEAR_TIME_VER(nand_write_page);
-+ CLEAR_TIME_VER(nand_write_verify);
-+ nand_read_nr_pages = 0;
-+ nand_write_nr_pages = 0;
-+ return count;
-+}
-+#endif
-+
-+
-+/*
-+ * Main initialization routine
-+ */
-+int __init
-+tc6393_nand_init (void)
-+{
-+ extern int parse_cmdline_partitions(struct mtd_info *, struct mtd_partition **,
-+ const char *);
-+ struct nand_chip *this;
-+ int i;
-+
-+ //printk("**** %s:\n",__func__);
-+
-+ /* Allocate memory for MTD device structure and private data */
-+ sharp_sl_mtd = kmalloc (sizeof(struct mtd_info) + sizeof (struct nand_chip),
-+ GFP_KERNEL);
-+ if (!sharp_sl_mtd) {
-+ printk ("Unable to allocate Poodle NAND MTD device structure.\n");
-+ return -ENOMEM;
-+ }
-+
-+ /* Initialize NAND flash controller on TC6393XB */
-+ tc6393_nand_hw_init();
-+
-+ /* Get pointer to private data */
-+ this = (struct nand_chip *) (&sharp_sl_mtd[1]);
-+
-+ /* Initialize structures */
-+ memset((char *) sharp_sl_mtd, 0, sizeof(struct mtd_info));
-+ memset((char *) this, 0, sizeof(struct nand_chip));
-+
-+ /* Link the private data with the MTD structure */
-+ sharp_sl_mtd->priv = this;
-+
-+ /*
-+ * PXA initialize
-+ */
-+
-+ /* Set address of NAND IO lines */
-+ this->IO_ADDR_R = (unsigned long)&nandctrl->sdata.data8.sdata0;
-+ this->IO_ADDR_W = (unsigned long)&nandctrl->sdata.data8.sdata0;
-+
-+ /* Set address of hardware control function */
-+ this->hwcontrol = tc6393_nand_hwcontrol;
-+ this->dev_ready = tc6393_nand_dev_ready;
-+ this->cmdfunc = tc6393_nand_command;
-+
-+ /* 15 us command delay time */
-+ this->chip_delay = 15;
-+
-+ /* set eccmode using hardware ECC */
-+#ifdef CONFIG_MTD_NAND_ECC
-+ this->eccmode = NAND_ECC_HW6_512;
-+ this->enable_hwecc = tc6393_nand_enable_hwecc;
-+ this->calculate_ecc = tc6393_nand_calculate_ecc;
-+ this->correct_data = nand_correct_data;
-+#endif
-+
-+ /* Scan to find existence of the device */
-+ if (nand_scan (sharp_sl_mtd)) {
-+ kfree (sharp_sl_mtd);
-+ return -ENXIO;
-+ }
-+
-+#if 1
-+ sharp_sl_mtd->eccsize = this->eccsize;
-+#endif
-+
-+ if (this->eccmode == NAND_ECC_HW6_512 && sharp_sl_mtd->oobblock == 512) {
-+ orig_read_ecc = sharp_sl_mtd->read_ecc;
-+ sharp_sl_mtd->read = tc6393_nand_read;
-+ sharp_sl_mtd->read_ecc = tc6393_nand_read_ecc;
-+
-+ orig_write_ecc = sharp_sl_mtd->write_ecc;
-+ sharp_sl_mtd->write = tc6393_nand_write;
-+ sharp_sl_mtd->write_ecc = tc6393_nand_write_ecc;
-+
-+ orig_writev_ecc = sharp_sl_mtd->writev_ecc;
-+ sharp_sl_mtd->writev = tc6393_nand_writev;
-+ sharp_sl_mtd->writev_ecc = tc6393_nand_writev_ecc;
-+
-+ orig_write_oob = sharp_sl_mtd->write_oob;
-+ sharp_sl_mtd->write_oob = tc6393_nand_write_oob;
-+ }
-+ sharp_sl_mtd->suspend = tc6393_nand_suspend;
-+ sharp_sl_mtd->resume = tc6393_nand_resume;
-+#ifdef CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS
-+ sharp_sl_mtd->cleanup_laddr = sharp_sl_nand_cleanup_laddr;
-+ sharp_sl_mtd->read_laddr = sharp_sl_nand_read_laddr;
-+ sharp_sl_mtd->write_laddr = sharp_sl_nand_write_laddr;
-+#endif
-+
-+ /* Allocate memory for internal data buffer */
-+ this->data_buf = kmalloc (sizeof(u_char) * (sharp_sl_mtd->oobblock + sharp_sl_mtd->oobsize), GFP_KERNEL);
-+ if (!this->data_buf) {
-+ printk ("Unable to allocate NAND data buffer for Poodle.\n");
-+ kfree (sharp_sl_mtd);
-+ return -ENOMEM;
-+ }
-+
-+ /* Allocate memory for internal data buffer */
-+ this->data_cache = kmalloc (sizeof(u_char) * (sharp_sl_mtd->oobblock + sharp_sl_mtd->oobsize), GFP_KERNEL);
-+ if (!this->data_cache) {
-+ printk ("Unable to allocate NAND data cache for Poodle.\n");
-+ kfree (this->data_buf);
-+ kfree (sharp_sl_mtd);
-+ return -ENOMEM;
-+ }
-+
-+ /* Register the partitions */
-+ nr_partitions = parse_cmdline_partitions(sharp_sl_mtd,
-+ &sharp_sl_nand_partition_info,
-+ "sharpsl-nand");
-+ if (nr_partitions <= 0) {
-+ nr_partitions = DEFAULT_NUM_PARTITIONS;
-+ sharp_sl_nand_partition_info = sharp_sl_nand_default_partition_info;
-+ }
-+ sharp_sl_nand_part_mtdp = kmalloc(sizeof (struct mtd_info*) * nr_partitions,
-+ GFP_KERNEL);
-+ if (! sharp_sl_nand_part_mtdp) {
-+ printk("Unable to allocate memory for sharp_sl_nand_part_mtdp\n");
-+ kfree(this->data_buf);
-+ kfree(this->data_cache);
-+ kfree(sharp_sl_mtd);
-+ return -ENOMEM;
-+ }
-+ for (i = 0; i < nr_partitions; i++)
-+ sharp_sl_nand_partition_info[i].mtdp = &sharp_sl_nand_part_mtdp[i];
-+ add_mtd_partitions(sharp_sl_mtd, sharp_sl_nand_partition_info, nr_partitions);
-+
-+ for (i = 0; i < nr_partitions; i++)
-+ add_mtd_device(sharp_sl_nand_part_mtdp[i]);
-+
-+#ifdef DEBUG_PROC
-+ struct proc_dir_entry* res = create_proc_read_entry("mtd-debug", 0, NULL, sharp_sl_nand_read_proc, NULL);
-+ res->write_proc = sharp_sl_nand_write_proc;
-+#endif
-+
-+ /* Return happy */
-+ return 0;
-+}
-+module_init(tc6393_nand_init);
-+
-+/*
-+ * Clean up routine
-+ */
-+#ifdef MODULE
-+static void __exit sharp_sl_nand_cleanup (void)
-+{
-+ struct nand_chip *this = (struct nand_chip *) &sharp_sl_mtd[1];
-+
-+ /* Unregister the device */
-+ del_mtd_partitions (sharp_sl_mtd);
-+ int i;
-+ for (i = 0; i < NUM_PARTITIONS)
-+ del_mtd_device (sharp_sl_nand_part_mtdp[i]);
-+
-+ /* Free internal data buffer */
-+ kfree (this->data_buf);
-+ kfree (this->data_cache);
-+ kfree (this->page_cache);
-+
-+ /* Free the MTD device structure */
-+ kfree (sharp_sl_nand_part_mtdp);
-+ if (sharp_sl_nand_partition_info != sharp_sl_nand_default_partition_info)
-+ kfree (sharp_sl_nand_partition_info);
-+ kfree (sharp_sl_mtd);
-+}
-+module_exit(sharp_sl_nand_cleanup);
-+#endif
-+
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("SHARP, Inc.");
-+MODULE_DESCRIPTION("Board-specific glue layer for NAND flash on Tosa");
-diff -Nur linux_c860_org/drivers/net/Config.in linux/drivers/net/Config.in
---- linux_c860_org/drivers/net/Config.in 2002-08-26 15:00:07.000000000 +0900
-+++ linux/drivers/net/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -280,6 +280,7 @@
- dep_tristate ' PPP support for sync tty ports' CONFIG_PPP_SYNC_TTY $CONFIG_PPP
- dep_tristate ' PPP Deflate compression' CONFIG_PPP_DEFLATE $CONFIG_PPP
- dep_tristate ' PPP BSD-Compress compression' CONFIG_PPP_BSDCOMP $CONFIG_PPP
-+ dep_tristate ' Microsoft PPP encryption (MPPE)' CONFIG_PPP_MPPE $CONFIG_PPP
- if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
- dep_tristate ' PPP over Ethernet (EXPERIMENTAL)' CONFIG_PPPOE $CONFIG_PPP
- fi
-diff -Nur linux_c860_org/drivers/net/Makefile linux/drivers/net/Makefile
---- linux_c860_org/drivers/net/Makefile 2002-08-26 14:43:55.000000000 +0900
-+++ linux/drivers/net/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -137,6 +137,14 @@
- obj-$(CONFIG_PPP_BSDCOMP) += bsd_comp.o
- obj-$(CONFIG_PPPOE) += pppox.o pppoe.o
-
-+ifeq ($(CONFIG_PPP_MPPE),y)
-+ obj-y += ppp_mppe.o
-+else
-+ ifeq ($(CONFIG_PPP_MPPE),m)
-+ obj-m += ppp_mppe.o
-+ endif
-+endif
-+
- obj-$(CONFIG_SLIP) += slip.o
- ifeq ($(CONFIG_SLIP_COMPRESSED),y)
- obj-$(CONFIG_SLIP) += slhc.o
-diff -Nur linux_c860_org/drivers/net/md32_common.h linux/drivers/net/md32_common.h
---- linux_c860_org/drivers/net/md32_common.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/md32_common.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,607 @@
-+/* crypto/md32_common.h */
-+/* ====================================================================
-+ * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ *
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ *
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in
-+ * the documentation and/or other materials provided with the
-+ * distribution.
-+ *
-+ * 3. All advertising materials mentioning features or use of this
-+ * software must display the following acknowledgment:
-+ * "This product includes software developed by the OpenSSL Project
-+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
-+ *
-+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
-+ * endorse or promote products derived from this software without
-+ * prior written permission. For written permission, please contact
-+ * licensing@OpenSSL.org.
-+ *
-+ * 5. Products derived from this software may not be called "OpenSSL"
-+ * nor may "OpenSSL" appear in their names without prior written
-+ * permission of the OpenSSL Project.
-+ *
-+ * 6. Redistributions of any form whatsoever must retain the following
-+ * acknowledgment:
-+ * "This product includes software developed by the OpenSSL Project
-+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
-+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
-+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-+ * OF THE POSSIBILITY OF SUCH DAMAGE.
-+ * ====================================================================
-+ *
-+ * This product includes cryptographic software written by Eric Young
-+ * (eay@cryptsoft.com). This product includes software written by Tim
-+ * Hudson (tjh@cryptsoft.com).
-+ *
-+ */
-+
-+/*
-+ * This is a generic 32 bit "collector" for message digest algorithms.
-+ * Whenever needed it collects input character stream into chunks of
-+ * 32 bit values and invokes a block function that performs actual hash
-+ * calculations.
-+ *
-+ * Porting guide.
-+ *
-+ * Obligatory macros:
-+ *
-+ * DATA_ORDER_IS_BIG_ENDIAN or DATA_ORDER_IS_LITTLE_ENDIAN
-+ * this macro defines byte order of input stream.
-+ * HASH_CBLOCK
-+ * size of a unit chunk HASH_BLOCK operates on.
-+ * HASH_LONG
-+ * has to be at lest 32 bit wide, if it's wider, then
-+ * HASH_LONG_LOG2 *has to* be defined along
-+ * HASH_CTX
-+ * context structure that at least contains following
-+ * members:
-+ * typedef struct {
-+ * ...
-+ * HASH_LONG Nl,Nh;
-+ * HASH_LONG data[HASH_LBLOCK];
-+ * int num;
-+ * ...
-+ * } HASH_CTX;
-+ * HASH_UPDATE
-+ * name of "Update" function, implemented here.
-+ * HASH_TRANSFORM
-+ * name of "Transform" function, implemented here.
-+ * HASH_FINAL
-+ * name of "Final" function, implemented here.
-+ * HASH_BLOCK_HOST_ORDER
-+ * name of "block" function treating *aligned* input message
-+ * in host byte order, implemented externally.
-+ * HASH_BLOCK_DATA_ORDER
-+ * name of "block" function treating *unaligned* input message
-+ * in original (data) byte order, implemented externally (it
-+ * actually is optional if data and host are of the same
-+ * "endianess").
-+ * HASH_MAKE_STRING
-+ * macro convering context variables to an ASCII hash string.
-+ *
-+ * Optional macros:
-+ *
-+ * B_ENDIAN or L_ENDIAN
-+ * defines host byte-order.
-+ * HASH_LONG_LOG2
-+ * defaults to 2 if not states otherwise.
-+ * HASH_LBLOCK
-+ * assumed to be HASH_CBLOCK/4 if not stated otherwise.
-+ * HASH_BLOCK_DATA_ORDER_ALIGNED
-+ * alternative "block" function capable of treating
-+ * aligned input message in original (data) order,
-+ * implemented externally.
-+ *
-+ * MD5 example:
-+ *
-+ * #define DATA_ORDER_IS_LITTLE_ENDIAN
-+ *
-+ * #define HASH_LONG MD5_LONG
-+ * #define HASH_LONG_LOG2 MD5_LONG_LOG2
-+ * #define HASH_CTX MD5_CTX
-+ * #define HASH_CBLOCK MD5_CBLOCK
-+ * #define HASH_LBLOCK MD5_LBLOCK
-+ * #define HASH_UPDATE MD5_Update
-+ * #define HASH_TRANSFORM MD5_Transform
-+ * #define HASH_FINAL MD5_Final
-+ * #define HASH_BLOCK_HOST_ORDER md5_block_host_order
-+ * #define HASH_BLOCK_DATA_ORDER md5_block_data_order
-+ *
-+ * <appro@fy.chalmers.se>
-+ */
-+
-+#if !defined(DATA_ORDER_IS_BIG_ENDIAN) && !defined(DATA_ORDER_IS_LITTLE_ENDIAN)
-+#error "DATA_ORDER must be defined!"
-+#endif
-+
-+#ifndef HASH_CBLOCK
-+#error "HASH_CBLOCK must be defined!"
-+#endif
-+#ifndef HASH_LONG
-+#error "HASH_LONG must be defined!"
-+#endif
-+#ifndef HASH_CTX
-+#error "HASH_CTX must be defined!"
-+#endif
-+
-+#ifndef HASH_UPDATE
-+#error "HASH_UPDATE must be defined!"
-+#endif
-+#ifndef HASH_TRANSFORM
-+#error "HASH_TRANSFORM must be defined!"
-+#endif
-+#ifndef HASH_FINAL
-+#error "HASH_FINAL must be defined!"
-+#endif
-+
-+#ifndef HASH_BLOCK_HOST_ORDER
-+#error "HASH_BLOCK_HOST_ORDER must be defined!"
-+#endif
-+
-+#if 0
-+/*
-+ * Moved below as it's required only if HASH_BLOCK_DATA_ORDER_ALIGNED
-+ * isn't defined.
-+ */
-+#ifndef HASH_BLOCK_DATA_ORDER
-+#error "HASH_BLOCK_DATA_ORDER must be defined!"
-+#endif
-+#endif
-+
-+#ifndef HASH_LBLOCK
-+#define HASH_LBLOCK (HASH_CBLOCK/4)
-+#endif
-+
-+#ifndef HASH_LONG_LOG2
-+#define HASH_LONG_LOG2 2
-+#endif
-+
-+/*
-+ * Engage compiler specific rotate intrinsic function if available.
-+ */
-+#undef ROTATE
-+#ifndef PEDANTIC
-+# if defined(_MSC_VER)
-+# define ROTATE(a,n) _lrotl(a,n)
-+# elif defined(__MWERKS__)
-+# if defined(__POWERPC__)
-+# define ROTATE(a,n) __rlwinm(a,n,0,31)
-+# elif defined(__MC68K__)
-+ /* Motorola specific tweak. <appro@fy.chalmers.se> */
-+# define ROTATE(a,n) ( n<24 ? __rol(a,n) : __ror(a,32-n) )
-+# else
-+# define ROTATE(a,n) __rol(a,n)
-+# endif
-+# elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) && !defined(NO_INLINE_ASM)
-+ /*
-+ * Some GNU C inline assembler templates. Note that these are
-+ * rotates by *constant* number of bits! But that's exactly
-+ * what we need here...
-+ *
-+ * <appro@fy.chalmers.se>
-+ */
-+# if defined(__i386)
-+# define ROTATE(a,n) ({ register unsigned int ret; \
-+ asm ( \
-+ "roll %1,%0" \
-+ : "=r"(ret) \
-+ : "I"(n), "0"(a) \
-+ : "cc"); \
-+ ret; \
-+ })
-+# elif defined(__powerpc) || defined(__ppc)
-+# define ROTATE(a,n) ({ register unsigned int ret; \
-+ asm ( \
-+ "rlwinm %0,%1,%2,0,31" \
-+ : "=r"(ret) \
-+ : "r"(a), "I"(n)); \
-+ ret; \
-+ })
-+# endif
-+# endif
-+
-+/*
-+ * Engage compiler specific "fetch in reverse byte order"
-+ * intrinsic function if available.
-+ */
-+# if defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) && !defined(NO_INLINE_ASM)
-+ /* some GNU C inline assembler templates by <appro@fy.chalmers.se> */
-+# if defined(__i386) && !defined(I386_ONLY)
-+# define BE_FETCH32(a) ({ register unsigned int l=(a);\
-+ asm ( \
-+ "bswapl %0" \
-+ : "=r"(l) : "0"(l)); \
-+ l; \
-+ })
-+# elif defined(__powerpc)
-+# define LE_FETCH32(a) ({ register unsigned int l; \
-+ asm ( \
-+ "lwbrx %0,0,%1" \
-+ : "=r"(l) \
-+ : "r"(a)); \
-+ l; \
-+ })
-+
-+# elif defined(__sparc) && defined(ULTRASPARC)
-+# define LE_FETCH32(a) ({ register unsigned int l; \
-+ asm ( \
-+ "lda [%1]#ASI_PRIMARY_LITTLE,%0"\
-+ : "=r"(l) \
-+ : "r"(a)); \
-+ l; \
-+ })
-+# endif
-+# endif
-+#endif /* PEDANTIC */
-+
-+#if HASH_LONG_LOG2==2 /* Engage only if sizeof(HASH_LONG)== 4 */
-+/* A nice byte order reversal from Wei Dai <weidai@eskimo.com> */
-+#ifdef ROTATE
-+/* 5 instructions with rotate instruction, else 9 */
-+#define REVERSE_FETCH32(a,l) ( \
-+ l=*(const HASH_LONG *)(a), \
-+ ((ROTATE(l,8)&0x00FF00FF)|(ROTATE((l&0x00FF00FF),24))) \
-+ )
-+#else
-+/* 6 instructions with rotate instruction, else 8 */
-+#define REVERSE_FETCH32(a,l) ( \
-+ l=*(const HASH_LONG *)(a), \
-+ l=(((l>>8)&0x00FF00FF)|((l&0x00FF00FF)<<8)), \
-+ ROTATE(l,16) \
-+ )
-+/*
-+ * Originally the middle line started with l=(((l&0xFF00FF00)>>8)|...
-+ * It's rewritten as above for two reasons:
-+ * - RISCs aren't good at long constants and have to explicitely
-+ * compose 'em with several (well, usually 2) instructions in a
-+ * register before performing the actual operation and (as you
-+ * already realized:-) having same constant should inspire the
-+ * compiler to permanently allocate the only register for it;
-+ * - most modern CPUs have two ALUs, but usually only one has
-+ * circuitry for shifts:-( this minor tweak inspires compiler
-+ * to schedule shift instructions in a better way...
-+ *
-+ * <appro@fy.chalmers.se>
-+ */
-+#endif
-+#endif
-+
-+#ifndef ROTATE
-+#define ROTATE(a,n) (((a)<<(n))|(((a)&0xffffffff)>>(32-(n))))
-+#endif
-+
-+/*
-+ * Make some obvious choices. E.g., HASH_BLOCK_DATA_ORDER_ALIGNED
-+ * and HASH_BLOCK_HOST_ORDER ought to be the same if input data
-+ * and host are of the same "endianess". It's possible to mask
-+ * this with blank #define HASH_BLOCK_DATA_ORDER though...
-+ *
-+ * <appro@fy.chalmers.se>
-+ */
-+#if defined(B_ENDIAN)
-+# if defined(DATA_ORDER_IS_BIG_ENDIAN)
-+# if !defined(HASH_BLOCK_DATA_ORDER_ALIGNED) && HASH_LONG_LOG2==2
-+# define HASH_BLOCK_DATA_ORDER_ALIGNED HASH_BLOCK_HOST_ORDER
-+# endif
-+# elif defined(DATA_ORDER_IS_LITTLE_ENDIAN)
-+# ifndef HOST_FETCH32
-+# ifdef LE_FETCH32
-+# define HOST_FETCH32(p,l) LE_FETCH32(p)
-+# elif defined(REVERSE_FETCH32)
-+# define HOST_FETCH32(p,l) REVERSE_FETCH32(p,l)
-+# endif
-+# endif
-+# endif
-+#elif defined(L_ENDIAN)
-+# if defined(DATA_ORDER_IS_LITTLE_ENDIAN)
-+# if !defined(HASH_BLOCK_DATA_ORDER_ALIGNED) && HASH_LONG_LOG2==2
-+# define HASH_BLOCK_DATA_ORDER_ALIGNED HASH_BLOCK_HOST_ORDER
-+# endif
-+# elif defined(DATA_ORDER_IS_BIG_ENDIAN)
-+# ifndef HOST_FETCH32
-+# ifdef BE_FETCH32
-+# define HOST_FETCH32(p,l) BE_FETCH32(p)
-+# elif defined(REVERSE_FETCH32)
-+# define HOST_FETCH32(p,l) REVERSE_FETCH32(p,l)
-+# endif
-+# endif
-+# endif
-+#endif
-+
-+#if !defined(HASH_BLOCK_DATA_ORDER_ALIGNED)
-+#ifndef HASH_BLOCK_DATA_ORDER
-+#error "HASH_BLOCK_DATA_ORDER must be defined!"
-+#endif
-+#endif
-+
-+#if defined(DATA_ORDER_IS_BIG_ENDIAN)
-+
-+#define HOST_c2l(c,l) (l =(((unsigned long)(*((c)++)))<<24), \
-+ l|=(((unsigned long)(*((c)++)))<<16), \
-+ l|=(((unsigned long)(*((c)++)))<< 8), \
-+ l|=(((unsigned long)(*((c)++))) ), \
-+ l)
-+#define HOST_p_c2l(c,l,n) { \
-+ switch (n) { \
-+ case 0: l =((unsigned long)(*((c)++)))<<24; \
-+ case 1: l|=((unsigned long)(*((c)++)))<<16; \
-+ case 2: l|=((unsigned long)(*((c)++)))<< 8; \
-+ case 3: l|=((unsigned long)(*((c)++))); \
-+ } }
-+#define HOST_p_c2l_p(c,l,sc,len) { \
-+ switch (sc) { \
-+ case 0: l =((unsigned long)(*((c)++)))<<24; \
-+ if (--len == 0) break; \
-+ case 1: l|=((unsigned long)(*((c)++)))<<16; \
-+ if (--len == 0) break; \
-+ case 2: l|=((unsigned long)(*((c)++)))<< 8; \
-+ } }
-+/* NOTE the pointer is not incremented at the end of this */
-+#define HOST_c2l_p(c,l,n) { \
-+ l=0; (c)+=n; \
-+ switch (n) { \
-+ case 3: l =((unsigned long)(*(--(c))))<< 8; \
-+ case 2: l|=((unsigned long)(*(--(c))))<<16; \
-+ case 1: l|=((unsigned long)(*(--(c))))<<24; \
-+ } }
-+#define HOST_l2c(l,c) (*((c)++)=(unsigned char)(((l)>>24)&0xff), \
-+ *((c)++)=(unsigned char)(((l)>>16)&0xff), \
-+ *((c)++)=(unsigned char)(((l)>> 8)&0xff), \
-+ *((c)++)=(unsigned char)(((l) )&0xff), \
-+ l)
-+
-+#elif defined(DATA_ORDER_IS_LITTLE_ENDIAN)
-+
-+#define HOST_c2l(c,l) (l =(((unsigned long)(*((c)++))) ), \
-+ l|=(((unsigned long)(*((c)++)))<< 8), \
-+ l|=(((unsigned long)(*((c)++)))<<16), \
-+ l|=(((unsigned long)(*((c)++)))<<24), \
-+ l)
-+#define HOST_p_c2l(c,l,n) { \
-+ switch (n) { \
-+ case 0: l =((unsigned long)(*((c)++))); \
-+ case 1: l|=((unsigned long)(*((c)++)))<< 8; \
-+ case 2: l|=((unsigned long)(*((c)++)))<<16; \
-+ case 3: l|=((unsigned long)(*((c)++)))<<24; \
-+ } }
-+#define HOST_p_c2l_p(c,l,sc,len) { \
-+ switch (sc) { \
-+ case 0: l =((unsigned long)(*((c)++))); \
-+ if (--len == 0) break; \
-+ case 1: l|=((unsigned long)(*((c)++)))<< 8; \
-+ if (--len == 0) break; \
-+ case 2: l|=((unsigned long)(*((c)++)))<<16; \
-+ } }
-+/* NOTE the pointer is not incremented at the end of this */
-+#define HOST_c2l_p(c,l,n) { \
-+ l=0; (c)+=n; \
-+ switch (n) { \
-+ case 3: l =((unsigned long)(*(--(c))))<<16; \
-+ case 2: l|=((unsigned long)(*(--(c))))<< 8; \
-+ case 1: l|=((unsigned long)(*(--(c)))); \
-+ } }
-+#define HOST_l2c(l,c) (*((c)++)=(unsigned char)(((l) )&0xff), \
-+ *((c)++)=(unsigned char)(((l)>> 8)&0xff), \
-+ *((c)++)=(unsigned char)(((l)>>16)&0xff), \
-+ *((c)++)=(unsigned char)(((l)>>24)&0xff), \
-+ l)
-+
-+#endif
-+
-+/*
-+ * Time for some action:-)
-+ */
-+
-+void HASH_UPDATE (HASH_CTX *c, const void *data_, unsigned long len)
-+ {
-+ const unsigned char *data=data_;
-+ register HASH_LONG * p;
-+ register unsigned long l;
-+ int sw,sc,ew,ec;
-+
-+ if (len==0) return;
-+
-+ l=(c->Nl+(len<<3))&0xffffffffL;
-+ /* 95-05-24 eay Fixed a bug with the overflow handling, thanks to
-+ * Wei Dai <weidai@eskimo.com> for pointing it out. */
-+ if (l < c->Nl) /* overflow */
-+ c->Nh++;
-+ c->Nh+=(len>>29);
-+ c->Nl=l;
-+
-+ if (c->num != 0)
-+ {
-+ p=c->data;
-+ sw=c->num>>2;
-+ sc=c->num&0x03;
-+
-+ if ((c->num+len) >= HASH_CBLOCK)
-+ {
-+ l=p[sw]; HOST_p_c2l(data,l,sc); p[sw++]=l;
-+ for (; sw<HASH_LBLOCK; sw++)
-+ {
-+ HOST_c2l(data,l); p[sw]=l;
-+ }
-+ HASH_BLOCK_HOST_ORDER (c,p,1);
-+ len-=(HASH_CBLOCK-c->num);
-+ c->num=0;
-+ /* drop through and do the rest */
-+ }
-+ else
-+ {
-+ c->num+=len;
-+ if ((sc+len) < 4) /* ugly, add char's to a word */
-+ {
-+ l=p[sw]; HOST_p_c2l_p(data,l,sc,len); p[sw]=l;
-+ }
-+ else
-+ {
-+ ew=(c->num>>2);
-+ ec=(c->num&0x03);
-+ l=p[sw]; HOST_p_c2l(data,l,sc); p[sw++]=l;
-+ for (; sw < ew; sw++)
-+ {
-+ HOST_c2l(data,l); p[sw]=l;
-+ }
-+ if (ec)
-+ {
-+ HOST_c2l_p(data,l,ec); p[sw]=l;
-+ }
-+ }
-+ return;
-+ }
-+ }
-+
-+ sw=len/HASH_CBLOCK;
-+ if (sw > 0)
-+ {
-+#if defined(HASH_BLOCK_DATA_ORDER_ALIGNED)
-+ /*
-+ * Note that HASH_BLOCK_DATA_ORDER_ALIGNED gets defined
-+ * only if sizeof(HASH_LONG)==4.
-+ */
-+ if ((((unsigned long)data)%4) == 0)
-+ {
-+ /* data is properly aligned so that we can cast it: */
-+ HASH_BLOCK_DATA_ORDER_ALIGNED (c,(HASH_LONG *)data,sw);
-+ sw*=HASH_CBLOCK;
-+ data+=sw;
-+ len-=sw;
-+ }
-+ else
-+#if !defined(HASH_BLOCK_DATA_ORDER)
-+ while (sw--)
-+ {
-+ memcpy (p=c->data,data,HASH_CBLOCK);
-+ HASH_BLOCK_DATA_ORDER_ALIGNED(c,p,1);
-+ data+=HASH_CBLOCK;
-+ len-=HASH_CBLOCK;
-+ }
-+#endif
-+#endif
-+#if defined(HASH_BLOCK_DATA_ORDER)
-+ {
-+ HASH_BLOCK_DATA_ORDER(c,data,sw);
-+ sw*=HASH_CBLOCK;
-+ data+=sw;
-+ len-=sw;
-+ }
-+#endif
-+ }
-+
-+ if (len!=0)
-+ {
-+ p = c->data;
-+ c->num = len;
-+ ew=len>>2; /* words to copy */
-+ ec=len&0x03;
-+ for (; ew; ew--,p++)
-+ {
-+ HOST_c2l(data,l); *p=l;
-+ }
-+ HOST_c2l_p(data,l,ec);
-+ *p=l;
-+ }
-+ }
-+
-+
-+void HASH_TRANSFORM (HASH_CTX *c, const unsigned char *data)
-+ {
-+#if defined(HASH_BLOCK_DATA_ORDER_ALIGNED)
-+ if ((((unsigned long)data)%4) == 0)
-+ /* data is properly aligned so that we can cast it: */
-+ HASH_BLOCK_DATA_ORDER_ALIGNED (c,(HASH_LONG *)data,1);
-+ else
-+#if !defined(HASH_BLOCK_DATA_ORDER)
-+ {
-+ memcpy (c->data,data,HASH_CBLOCK);
-+ HASH_BLOCK_DATA_ORDER_ALIGNED (c,c->data,1);
-+ }
-+#endif
-+#endif
-+#if defined(HASH_BLOCK_DATA_ORDER)
-+ HASH_BLOCK_DATA_ORDER (c,data,1);
-+#endif
-+ }
-+
-+
-+void HASH_FINAL (unsigned char *md, HASH_CTX *c)
-+ {
-+ register HASH_LONG *p;
-+ register unsigned long l;
-+ register int i,j;
-+ static const unsigned char end[4]={0x80,0x00,0x00,0x00};
-+ const unsigned char *cp=end;
-+
-+ /* c->num should definitly have room for at least one more byte. */
-+ p=c->data;
-+ i=c->num>>2;
-+ j=c->num&0x03;
-+
-+#if 0
-+ /* purify often complains about the following line as an
-+ * Uninitialized Memory Read. While this can be true, the
-+ * following p_c2l macro will reset l when that case is true.
-+ * This is because j&0x03 contains the number of 'valid' bytes
-+ * already in p[i]. If and only if j&0x03 == 0, the UMR will
-+ * occur but this is also the only time p_c2l will do
-+ * l= *(cp++) instead of l|= *(cp++)
-+ * Many thanks to Alex Tang <altitude@cic.net> for pickup this
-+ * 'potential bug' */
-+#ifdef PURIFY
-+ if (j==0) p[i]=0; /* Yeah, but that's not the way to fix it:-) */
-+#endif
-+ l=p[i];
-+#else
-+ l = (j==0) ? 0 : p[i];
-+#endif
-+ HOST_p_c2l(cp,l,j); p[i++]=l; /* i is the next 'undefined word' */
-+
-+ if (i>(HASH_LBLOCK-2)) /* save room for Nl and Nh */
-+ {
-+ if (i<HASH_LBLOCK) p[i]=0;
-+ HASH_BLOCK_HOST_ORDER (c,p,1);
-+ i=0;
-+ }
-+ for (; i<(HASH_LBLOCK-2); i++)
-+ p[i]=0;
-+
-+#if defined(DATA_ORDER_IS_BIG_ENDIAN)
-+ p[HASH_LBLOCK-2]=c->Nh;
-+ p[HASH_LBLOCK-1]=c->Nl;
-+#elif defined(DATA_ORDER_IS_LITTLE_ENDIAN)
-+ p[HASH_LBLOCK-2]=c->Nl;
-+ p[HASH_LBLOCK-1]=c->Nh;
-+#endif
-+ HASH_BLOCK_HOST_ORDER (c,p,1);
-+
-+#ifndef HASH_MAKE_STRING
-+#error "HASH_MAKE_STRING must be defined!"
-+#else
-+ HASH_MAKE_STRING(c,md);
-+#endif
-+
-+ c->num=0;
-+ /* clear stuff, HASH_BLOCK may be leaving some stuff on the stack
-+ * but I'm not worried :-)
-+ memset((void *)c,0,sizeof(HASH_CTX));
-+ */
-+ }
-diff -Nur linux_c860_org/drivers/net/mppe.h linux/drivers/net/mppe.h
---- linux_c860_org/drivers/net/mppe.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/mppe.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,46 @@
-+#ifndef MPPE_H
-+#define MPPE_H
-+
-+typedef struct mppe_state {
-+ int us_unit; /* Interface unit number */
-+ u_char us_id; /* Current id */
-+ u_char us_allowed;
-+ int us_type;
-+ char *us_number; /* Telefone Number */
-+} mppe_state;
-+
-+
-+extern struct protent mppe_protent;
-+
-+#define MPPE_CONFOPTION 18
-+#define MPPC 0x01
-+#define MPPE_40BIT 0x20
-+#define MPPE_128BIT 0x40
-+
-+#define PPP_MPPE 0x00FD
-+#define PPP_MPPC PPP_MPPE
-+
-+#define MPPE_BIT_A 0x80
-+#define MPPE_BIT_B 0x40
-+#define MPPE_BIT_C 0x20
-+#define MPPE_BIT_D 0x10
-+#define MPPE_BIT_FLUSHED MPPE_BIT_A
-+#define MPPE_BIT_ENCRYPTED MPPE_BIT_D
-+#define MPPE_CCOUNT 0x0FFF
-+
-+#define MPPC_BIT_RESET MPPE_BIT_A
-+#define MPPC_BIT_FLUSH MPPE_BIT_B
-+#define MPPC_BIT_COMP MPPC_BIT_C
-+
-+#define MPPE_40_SALT0 0xD1
-+#define MPPE_40_SALT1 0x26
-+#define MPPE_40_SALT2 0x9E
-+
-+#define MPPE_MINLEN 4
-+
-+#define MPPE_REQ 1
-+#define MPPE_RESP 2
-+#define MPPE_ACK 3
-+
-+#endif
-+/*==FILEVERSION 970728==*/
-diff -Nur linux_c860_org/drivers/net/ppp_generic.c linux/drivers/net/ppp_generic.c
---- linux_c860_org/drivers/net/ppp_generic.c 2002-08-29 12:25:24.000000000 +0900
-+++ linux/drivers/net/ppp_generic.c 2004-06-10 21:09:10.000000000 +0900
-@@ -1014,7 +1014,10 @@
- /* try to do packet compression */
- if ((ppp->xstate & SC_COMP_RUN) && ppp->xc_state != 0
- && proto != PPP_LCP && proto != PPP_CCP) {
-- new_skb = alloc_skb(ppp->dev->mtu + ppp->dev->hard_header_len,
-+ int comp_overhead = (ppp->xcomp->compress_proto == CI_MPPE) ?
-+ 4 : 0;
-+ new_skb = alloc_skb(ppp->dev->mtu + ppp->dev->hard_header_len
-+ + comp_overhead,
- GFP_ATOMIC);
- if (new_skb == 0) {
- printk(KERN_ERR "PPP: no memory (comp pkt)\n");
-@@ -1027,7 +1030,8 @@
- /* compressor still expects A/C bytes in hdr */
- len = ppp->xcomp->compress(ppp->xc_state, skb->data - 2,
- new_skb->data, skb->len + 2,
-- ppp->dev->mtu + PPP_HDRLEN);
-+ ppp->dev->mtu + PPP_HDRLEN +
-+ comp_overhead);
- if (len > 0 && (ppp->flags & SC_CCP_UP)) {
- kfree_skb(skb);
- skb = new_skb;
-diff -Nur linux_c860_org/drivers/net/ppp_mppe.c linux/drivers/net/ppp_mppe.c
---- linux_c860_org/drivers/net/ppp_mppe.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/ppp_mppe.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,669 @@
-+/*
-+ * ==FILEVERSION 9906180==
-+ *
-+ * ppp_mppe.c - MPPE "compressor/decompressor" module.
-+ *
-+ * Copyright (c) 1994 ª¡rp«¡d Magos«¡nyi <mag@bunuel.tii.matav.hu>
-+ * All rights reserved.
-+ * Copyright (c) 1999 Tim Hockin, Cobalt Networks Inc. <thockin@cobaltnet.com>
-+ *
-+ * Permission to use, copy, modify, and distribute this software and its
-+ * documentation is hereby granted, provided that the above copyright
-+ * notice appears in all copies. This software is provided without any
-+ * warranty, express or implied. The Australian National University
-+ * makes no representations about the suitability of this software for
-+ * any purpose.
-+ *
-+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
-+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
-+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
-+ * OF SUCH DAMAGE.
-+ *
-+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
-+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
-+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
-+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
-+ * OR MODIFICATIONS.
-+ *
-+ * From: deflate.c,v 1.1 1996/01/18 03:17:48 paulus Exp
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/version.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/fcntl.h>
-+#include <linux/interrupt.h>
-+#include <linux/ptrace.h>
-+#include <linux/ioport.h>
-+#include <linux/in.h>
-+#include <linux/malloc.h>
-+
-+#undef VERSION
-+/* a nice define to generate linux version numbers */
-+#define VERSION(major,minor,patch) (((((major)<<8)+(minor))<<8)+(patch))
-+
-+#if LINUX_VERSION_CODE >= VERSION(2,1,4)
-+#include <linux/vmalloc.h>
-+#endif
-+#include <linux/errno.h>
-+#include <linux/sched.h> /* to get the struct task_struct */
-+#include <linux/string.h> /* used in new tty drivers */
-+#include <linux/signal.h> /* used in new tty drivers */
-+
-+#include <asm/system.h>
-+
-+#include <linux/netdevice.h>
-+#include <linux/skbuff.h>
-+#include <linux/inet.h>
-+#include <linux/ioctl.h>
-+
-+#include <linux/ppp_defs.h>
-+#include <linux/ppp-comp.h>
-+#include "rc4_enc.c"
-+#include "rc4_skey.c"
-+#include "sha1dgst.c"
-+#include "mppe.h"
-+
-+/*
-+ * State for a mppe "(de)compressor".
-+ */
-+struct ppp_mppe_state {
-+ unsigned int ccount; /*coherency count */
-+ RC4_KEY RC4_send_key; /* chap-ms-v2 dictates 2 keys */
-+ RC4_KEY RC4_recv_key;
-+ unsigned char session_send_key[16];
-+ unsigned char session_recv_key[16];
-+ unsigned char master_send_key[16];
-+ unsigned char master_recv_key[16];
-+ int keylen;
-+ int stateless;
-+ int decomp_error;
-+ unsigned int bits;
-+ int unit;
-+ int debug;
-+ int mru;
-+ struct compstat stats;
-+};
-+
-+#define MPPE_CCOUNT_FROM_PACKET(ibuf) ((((ibuf)[4] & 0x0f) << 8) + (ibuf)[5])
-+#define MPPE_BITS(ibuf) ((ibuf)[4] & 0xf0 )
-+#define MPPE_CTRLHI(state) ((((state)->ccount & 0xf00)>>8)|((state)->bits))
-+#define MPPE_CTRLLO(state) ((state)->ccount & 0xff)
-+
-+#define MPPE_OVHD 4
-+
-+/* Procedures from the MPPE draft */
-+
-+/*
-+ * Pads used in key derivation
-+ */
-+static unsigned char SHAPad1[40] =
-+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-+static unsigned char SHAPad2[40] =
-+ {0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2,
-+ 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2,
-+ 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2,
-+ 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2};
-+
-+/*
-+ * SHAInit(), SHAUpdate() and SHAFinal() functions are an
-+ * implementation of Secure Hash Algorithm (SHA-1) [7]. These are
-+ * available in public domain or can be licensed from
-+ * RSA Data Security, Inc.
-+ *
-+ * 1) H is 8 bytes long for 40 bit session keys.
-+ * 2) H is 16 bytes long for 128 bit session keys.
-+ * 3) H' is same as H when this routine is called for the first time
-+ * for the session.
-+ * 4) The generated key is returned in H'. This is the "current" key.
-+ */
-+static void
-+GetNewKeyFromSHA(StartKey, SessionKey, SessionKeyLength, InterimKey)
-+ unsigned char *StartKey;
-+ unsigned char *SessionKey;
-+ unsigned long SessionKeyLength;
-+ unsigned char *InterimKey;
-+{
-+ SHA_CTX Context;
-+ unsigned char Digest[SHA_DIGEST_LENGTH];
-+
-+ SHA1_Init(&Context);
-+ SHA1_Update(&Context, StartKey, SessionKeyLength);
-+ SHA1_Update(&Context, SHAPad1, 40);
-+ SHA1_Update(&Context, SessionKey, SessionKeyLength);
-+ SHA1_Update(&Context, SHAPad2, 40);
-+ SHA1_Final(Digest,&Context);
-+ memcpy(InterimKey, Digest, SessionKeyLength);
-+}
-+
-+static void
-+mppe_synchronize_key(struct ppp_mppe_state *state)
-+{
-+ /* get new keys and flag our state as such */
-+ RC4_set_key(&(state->RC4_send_key),state->keylen,state->session_send_key);
-+ RC4_set_key(&(state->RC4_recv_key),state->keylen,state->session_recv_key);
-+
-+ state->bits=MPPE_BIT_FLUSHED|MPPE_BIT_ENCRYPTED;
-+}
-+
-+
-+static void
-+mppe_initialize_key(struct ppp_mppe_state *state)
-+{
-+ /* generate new session keys */
-+ GetNewKeyFromSHA(state->master_send_key, state->master_send_key,
-+ state->keylen, state->session_send_key);
-+ GetNewKeyFromSHA(state->master_recv_key, state->master_recv_key,
-+ state->keylen, state->session_recv_key);
-+
-+ if(state->keylen == 8) {
-+ /* cripple them from 64bit->40bit */
-+ state->session_send_key[0]=state->session_recv_key[0] = MPPE_40_SALT0;
-+ state->session_send_key[1]=state->session_recv_key[1] = MPPE_40_SALT1;
-+ state->session_send_key[2]=state->session_recv_key[2] = MPPE_40_SALT2;
-+ }
-+
-+ mppe_synchronize_key(state);
-+}
-+
-+
-+static void
-+mppe_change_key(struct ppp_mppe_state *state)
-+{
-+ unsigned char InterimSendKey[16];
-+ unsigned char InterimRecvKey[16];
-+
-+ /* get temp keys */
-+ GetNewKeyFromSHA(state->master_send_key, state->session_send_key,
-+ state->keylen, InterimSendKey);
-+ GetNewKeyFromSHA(state->master_recv_key, state->session_recv_key,
-+ state->keylen, InterimRecvKey);
-+
-+ /* build RC4 keys from the temp keys */
-+ RC4_set_key(&(state->RC4_send_key), state->keylen, InterimSendKey);
-+ RC4_set_key(&(state->RC4_recv_key), state->keylen, InterimRecvKey);
-+
-+ /* make new session keys */
-+ RC4(&(state->RC4_send_key), state->keylen, InterimSendKey,
-+ state->session_send_key);
-+ RC4(&(state->RC4_recv_key), state->keylen, InterimRecvKey,
-+ state->session_recv_key);
-+
-+ if(state->keylen == 8)
-+ {
-+ /* cripple them from 64->40 bits*/
-+ state->session_send_key[0]=state->session_recv_key[0] = MPPE_40_SALT0;
-+ state->session_send_key[1]=state->session_recv_key[1] = MPPE_40_SALT1;
-+ state->session_send_key[2]=state->session_recv_key[2] = MPPE_40_SALT2;
-+ }
-+
-+ /* make the final rc4 keys */
-+ RC4_set_key(&(state->RC4_send_key), state->keylen, state->session_send_key);
-+ RC4_set_key(&(state->RC4_recv_key), state->keylen, state->session_recv_key);
-+
-+ state->bits |= MPPE_BIT_FLUSHED;
-+}
-+
-+
-+#ifdef DEBUG
-+/* Utility procedures to print a buffer in hex/ascii */
-+static void
-+ppp_print_hex (register __u8 *out, const __u8 *in, int count)
-+{
-+ register __u8 next_ch;
-+ static char hex[] = "0123456789ABCDEF";
-+
-+ while (count-- > 0) {
-+ next_ch = *in++;
-+ *out++ = hex[(next_ch >> 4) & 0x0F];
-+ *out++ = hex[next_ch & 0x0F];
-+ ++out;
-+ }
-+}
-+
-+
-+static void
-+ppp_print_char (register __u8 *out, const __u8 *in, int count)
-+{
-+ register __u8 next_ch;
-+
-+ while (count-- > 0) {
-+ next_ch = *in++;
-+
-+ if (next_ch < 0x20 || next_ch > 0x7e)
-+ *out++ = '.';
-+ else {
-+ *out++ = next_ch;
-+ if (next_ch == '%') /* printk/syslogd has a bug !! */
-+ *out++ = '%';
-+ }
-+ }
-+ *out = '\0';
-+}
-+
-+
-+static void
-+ppp_print_buffer (const __u8 *name, const __u8 *buf, int count)
-+{
-+ __u8 line[44];
-+
-+ if (name != (__u8 *) NULL)
-+ printk (KERN_DEBUG "ppp: %s, count = %d\n", name, count);
-+
-+ while (count > 8) {
-+ memset (line, 32, 44);
-+ ppp_print_hex (line, buf, 8);
-+ ppp_print_char (&line[8 * 3], buf, 8);
-+ printk (KERN_DEBUG "%s\n", line);
-+ count -= 8;
-+ buf += 8;
-+ }
-+
-+ if (count > 0) {
-+ memset (line, 32, 44);
-+ ppp_print_hex (line, buf, count);
-+ ppp_print_char (&line[8 * 3], buf, count);
-+ printk (KERN_DEBUG "%s\n", line);
-+ }
-+}
-+#endif
-+
-+/* our 'compressor' proper */
-+static void *mppe_comp_alloc __P((unsigned char *, int));
-+static void mppe_comp_free __P((void *));
-+static int mppe_comp_init __P((void *, unsigned char *,
-+ int, int, int, int));
-+static int mppe_decomp_init __P((void *, unsigned char *,
-+ int, int, int, int, int));
-+static int mppe_compress __P((void *, unsigned char *,
-+ unsigned char *, int, int));
-+static void mppe_incomp __P((void *, unsigned char *, int));
-+static int mppe_decompress __P((void *, unsigned char *,
-+ int, unsigned char *, int));
-+static void mppe_comp_reset __P((void *));
-+static void mppe_comp_stats __P((void *, struct compstat *));
-+
-+
-+/* cleanup the compressor */
-+static void
-+mppe_comp_free(void *arg)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *) arg;
-+
-+ if (state) {
-+ kfree(state);
-+ MOD_DEC_USE_COUNT;
-+ }
-+}
-+
-+
-+/* allocate space for a compressor. */
-+static void *
-+mppe_comp_alloc(unsigned char *options, int opt_len)
-+{
-+ struct ppp_mppe_state *state;
-+
-+ if (((2*8)+3 != opt_len && (2*16)+3 != opt_len) /* 2 keys + 3 */
-+ || options[0] != CI_MPPE || options[1] != CILEN_MPPE) {
-+ printk(KERN_DEBUG "compress rejected: opt_len=%u,o[0]=%x,o[1]=%x\n",
-+ opt_len,options[0],options[1]);
-+ return NULL;
-+ }
-+
-+ state = (struct ppp_mppe_state *)kmalloc(sizeof(*state), GFP_KERNEL);
-+ if (state == NULL)
-+ return NULL;
-+
-+ MOD_INC_USE_COUNT;
-+
-+ memset (state, 0, sizeof (struct ppp_mppe_state));
-+
-+ /* write the data in options to the right places */
-+ memcpy(&state->stateless,options+2,1);
-+
-+ state->keylen = (opt_len-3)/2;
-+ memcpy(state->master_send_key,options+3,state->keylen);
-+ memcpy(state->master_recv_key,options+3+state->keylen,state->keylen);
-+
-+ mppe_initialize_key(state);
-+
-+ return (void *) state;
-+}
-+
-+
-+static int
-+mppe_comp_init(void *arg, unsigned char *options, int opt_len, int unit,
-+ int hdrlen, int debug)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *)arg;
-+
-+ if (options[0] != CI_MPPE || options[1] != CILEN_MPPE) {
-+ printk(KERN_DEBUG "compress rejected: opt_len=%u,o[0]=%x,o[1]=%x\n",
-+ opt_len,options[0],options[1]);
-+ return 0;
-+ }
-+
-+ state->ccount = 0;
-+ state->unit = unit;
-+ state->debug = debug;
-+
-+ /* 19 is the min (2*keylen) + 3 */
-+ if(opt_len >= 19) {
-+ memcpy(&state->stateless,options+2,1);
-+
-+ state->keylen = (opt_len-3)/2;
-+ memcpy(state->master_send_key,options+3,state->keylen);
-+ memcpy(state->master_recv_key,options+3+state->keylen,state->keylen);
-+
-+ mppe_initialize_key(state);
-+ }
-+
-+ return 1;
-+}
-+
-+
-+static int
-+mppe_decomp_init(void *arg, unsigned char *options, int opt_len, int unit,
-+ int hdrlen, int mru, int debug)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *)arg;
-+
-+ if (options[0] != CI_MPPE || options[1] != CILEN_MPPE) {
-+ printk(KERN_DEBUG"options are bad: %x %x\n",options[0],options[1]);
-+ return 0;
-+ }
-+
-+ state->ccount = 0;
-+ state->unit = unit;
-+ state->debug = debug;
-+ state->mru = mru;
-+
-+ /* 19 is the min (2*keylen)+3 */
-+ if(opt_len >= 19) {
-+ memcpy(&state->stateless,options+2,1);
-+
-+ state->keylen = (opt_len-3)/2;
-+ memcpy(state->master_send_key,options+3,state->keylen);
-+ memcpy(state->master_recv_key,options+3+state->keylen,state->keylen);
-+
-+ mppe_initialize_key(state);
-+ }
-+
-+ return 1;
-+}
-+
-+
-+static void
-+mppe_comp_reset(void *arg)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *)arg;
-+
-+ printk(KERN_DEBUG "mppe_comp_reset\n");
-+
-+ (state->stats).in_count = 0;
-+ (state->stats).bytes_out = 0;
-+ (state->stats).ratio = 0;
-+
-+ mppe_synchronize_key(state);
-+}
-+
-+
-+static void
-+mppe_update_count(struct ppp_mppe_state *state)
-+{
-+ if(!state->stateless)
-+ {
-+ if ( 0xff == (state->ccount&0xff)){
-+ /* time to change keys */
-+ if ( 0xfff == (state->ccount&0xfff)){
-+ state->ccount = 0;
-+ } else {
-+ (state->ccount)++;
-+ }
-+ mppe_change_key(state);
-+ } else {
-+ state->ccount++;
-+ }
-+ } else {
-+ if ( 0xFFF == (state->ccount & 0xFFF)) {
-+ state->ccount = 0;
-+ } else {
-+ (state->ccount)++;
-+ }
-+ mppe_change_key(state);
-+ }
-+}
-+
-+
-+/* the big nasty */
-+int
-+mppe_compress(void *arg, unsigned char *rptr, unsigned char *obuf,
-+ int isize, int osize)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *) arg;
-+ int proto, olen;
-+ unsigned char *wptr;
-+
-+#ifdef DEBUG
-+ ppp_print_buffer("mppe_encrypt",rptr,isize);
-+#endif
-+
-+ if(osize < isize+MPPE_OVHD) {
-+ printk(KERN_DEBUG "Not enough space to encrypt packet: %d<%d+%d!\n",
-+ isize, osize, MPPE_OVHD);
-+ return 0;
-+ }
-+
-+ /* Check that the protocol is in the range we handle. */
-+ proto = PPP_PROTOCOL(rptr);
-+ if (proto < 0x0021 || proto > 0x00FA )
-+ return 0;
-+
-+ wptr = obuf;
-+
-+ /* Copy over the PPP header and store the 2-byte sequence number. */
-+ wptr[0] = PPP_ADDRESS(rptr);
-+ wptr[1] = PPP_CONTROL(rptr);
-+ wptr[2] = PPP_MPPE >>8;
-+ wptr[3] = PPP_MPPE;
-+ wptr += PPP_HDRLEN;
-+ wptr[0] = MPPE_CTRLHI(state);
-+ wptr[1] = MPPE_CTRLLO(state);
-+ wptr += 2;
-+
-+ state->bits=MPPE_BIT_ENCRYPTED;
-+ mppe_update_count(state);
-+
-+ /* read from rptr, write to wptr adjust for PPP_HDRLEN */
-+ RC4(&(state->RC4_send_key),isize-2,rptr+2,wptr);
-+ olen=isize+MPPE_OVHD;
-+
-+ (state->stats).comp_bytes += isize;
-+ (state->stats).comp_packets++;
-+
-+#ifdef DEBUG
-+ ppp_print_buffer("mppe_encrypt out",obuf,olen);
-+#endif
-+
-+ return olen;
-+}
-+
-+
-+static void
-+mppe_comp_stats(void *arg, struct compstat *stats)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *)arg;
-+
-+ /* since we don't REALLY compress at all, this should be OK */
-+ (state->stats).in_count = (state->stats).unc_bytes;
-+ (state->stats).bytes_out = (state->stats).comp_bytes;
-+
-+ /* this _SHOULD_ always be 1 */
-+ (state->stats).ratio = 1.0;
-+// printk(" in count : %d , out bytes %d \n;",(state->stats).in_count,(state->stats).bytes_out);
-+
-+ *stats = state->stats;
-+
-+}
-+
-+
-+/* the other big nasty */
-+int
-+mppe_decompress(void *arg, unsigned char *ibuf, int isize,
-+ unsigned char *obuf, int osize)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *)arg;
-+ int seq;
-+
-+ if (isize <= PPP_HDRLEN + MPPE_OVHD) {
-+ if (state->debug) {
-+ printk(KERN_DEBUG "mppe_decompress%d: short packet (len=%d)\n",
-+ state->unit, isize);
-+ }
-+
-+ return DECOMP_ERROR;
-+ }
-+
-+ /* Check the sequence number. */
-+ seq = MPPE_CCOUNT_FROM_PACKET(ibuf);
-+
-+ if(!state->stateless && (MPPE_BITS(ibuf) & MPPE_BIT_FLUSHED)) {
-+ state->decomp_error = 0;
-+ state->ccount = seq;
-+ }
-+
-+ if(state->decomp_error) {
-+ return DECOMP_ERROR;
-+ }
-+
-+ if (seq != state->ccount) {
-+ if (state->debug) {
-+ printk(KERN_DEBUG "mppe_decompress%d: bad seq # %d, expected %d\n",
-+ state->unit, seq, state->ccount);
-+ }
-+
-+ while(state->ccount != seq) {
-+ mppe_update_count(state);
-+ }
-+
-+ /*
-+ * Packets with bad sequence numbers can still be decrypted
-+ * successfully when stateless compression is in use.
-+ */
-+ if (!state->stateless) {
-+ mppe_update_count(state);
-+
-+ return DECOMP_ERROR;
-+ }
-+ }
-+
-+ /*
-+ * Fill in the first part of the PPP header. The protocol field
-+ * comes from the decompressed data.
-+ */
-+ obuf[0] = PPP_ADDRESS(ibuf);
-+ obuf[1] = PPP_CONTROL(ibuf);
-+ obuf += 2;
-+
-+ if(!(MPPE_BITS(ibuf) & MPPE_BIT_ENCRYPTED)) {
-+ printk(KERN_DEBUG"ERROR: not an encrypted packet");
-+ mppe_synchronize_key(state);
-+ return DECOMP_ERROR;
-+ } else {
-+ if(!state->stateless && (MPPE_BITS(ibuf) & MPPE_BIT_FLUSHED))
-+ mppe_synchronize_key(state);
-+ mppe_update_count(state);
-+
-+ /* decrypt - adjust for PPP_HDRLEN + MPPE_OVHD - mru should be OK */
-+ RC4(&(state->RC4_recv_key),isize-6,ibuf+6,obuf);
-+
-+ (state->stats).unc_bytes += (isize-MPPE_OVHD);
-+ (state->stats).unc_packets ++;
-+
-+ return isize-MPPE_OVHD;
-+ }
-+}
-+
-+
-+/* Incompressible data has arrived - add it to the history. */
-+static void
-+mppe_incomp(void *arg, unsigned char *ibuf, int icnt)
-+{
-+ struct ppp_mppe_state *state = (struct ppp_mppe_state *)arg;
-+
-+ (state->stats).inc_bytes += icnt;
-+ (state->stats).inc_packets++;
-+}
-+
-+/*
-+ * Help for Alpha users who have problems with undefined symbols on
-+ * module load
-+ */
-+#ifdef ALPHA
-+#include "../../arch/s390/kernel/floatlib.c"
-+#endif
-+
-+
-+/*************************************************************
-+ * Module interface table
-+ *************************************************************/
-+
-+/* These are in ppp.c */
-+extern int ppp_register_compressor (struct compressor *cp);
-+extern void ppp_unregister_compressor (struct compressor *cp);
-+
-+/*
-+ * Procedures exported to if_ppp.c.
-+ */
-+struct compressor ppp_mppe = {
-+ CI_MPPE, /* compress_proto */
-+ mppe_comp_alloc, /* comp_alloc */
-+ mppe_comp_free, /* comp_free */
-+ mppe_comp_init, /* comp_init */
-+ mppe_comp_reset, /* comp_reset */
-+ mppe_compress, /* compress */
-+ mppe_comp_stats, /* comp_stat */
-+ mppe_comp_alloc, /* decomp_alloc */
-+ mppe_comp_free, /* decomp_free */
-+ mppe_decomp_init, /* decomp_init */
-+ mppe_comp_reset, /* decomp_reset */
-+ mppe_decompress, /* decompress */
-+ mppe_incomp, /* incomp */
-+ mppe_comp_stats, /* decomp_stat */
-+};
-+
-+
-+#ifdef MODULE
-+/*************************************************************
-+ * Module support routines
-+ *************************************************************/
-+
-+int
-+init_module(void)
-+{
-+ int answer = ppp_register_compressor(&ppp_mppe);
-+ if (answer == 0) {
-+ printk(KERN_INFO "PPP MPPE compression module registered\n");
-+ }
-+ return answer;
-+}
-+
-+
-+void
-+cleanup_module(void)
-+{
-+ if (MOD_IN_USE) {
-+ printk (KERN_INFO "MPPE module busy, remove delayed\n");
-+ } else {
-+ ppp_unregister_compressor (&ppp_mppe);
-+ printk(KERN_INFO "PPP MPPE compression module unregistered\n");
-+ }
-+}
-+#endif /* MODULE */
-diff -Nur linux_c860_org/drivers/net/rc4_enc.c linux/drivers/net/rc4_enc.c
---- linux_c860_org/drivers/net/rc4_enc.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/rc4_enc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,315 @@
-+/* crypto/rc4/rc4_enc.c */
-+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-+ * All rights reserved.
-+ *
-+ * This package is an SSL implementation written
-+ * by Eric Young (eay@cryptsoft.com).
-+ * The implementation was written so as to conform with Netscapes SSL.
-+ *
-+ * This library is free for commercial and non-commercial use as long as
-+ * the following conditions are aheared to. The following conditions
-+ * apply to all code found in this distribution, be it the RC4, RSA,
-+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
-+ * included with this distribution is covered by the same copyright terms
-+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-+ *
-+ * Copyright remains Eric Young's, and as such any Copyright notices in
-+ * the code are not to be removed.
-+ * If this package is used in a product, Eric Young should be given attribution
-+ * as the author of the parts of the library used.
-+ * This can be in the form of a textual message at program startup or
-+ * in documentation (online or textual) provided with the package.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * "This product includes cryptographic software written by
-+ * Eric Young (eay@cryptsoft.com)"
-+ * The word 'cryptographic' can be left out if the rouines from the library
-+ * being used are not cryptographic related :-).
-+ * 4. If you include any Windows specific code (or a derivative thereof) from
-+ * the apps directory (application code) you must include an acknowledgement:
-+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * The licence and distribution terms for any publically available version or
-+ * derivative of this code cannot be changed. i.e. this code cannot simply be
-+ * copied and put under another distribution licence
-+ * [including the GNU Public Licence.]
-+ */
-+
-+#include <openssl/rc4.h>
-+#include "rc4_locl.h"
-+
-+/* RC4 as implemented from a posting from
-+ * Newsgroups: sci.crypt
-+ * From: sterndark@netcom.com (David Sterndark)
-+ * Subject: RC4 Algorithm revealed.
-+ * Message-ID: <sternCvKL4B.Hyy@netcom.com>
-+ * Date: Wed, 14 Sep 1994 06:35:31 GMT
-+ */
-+
-+void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
-+ unsigned char *outdata)
-+ {
-+ register RC4_INT *d;
-+ register RC4_INT x,y,tx,ty;
-+ int i;
-+
-+ x=key->x;
-+ y=key->y;
-+ d=key->data;
-+
-+#if defined(RC4_CHUNK)
-+ /*
-+ * The original reason for implementing this(*) was the fact that
-+ * pre-21164a Alpha CPUs don't have byte load/store instructions
-+ * and e.g. a byte store has to be done with 64-bit load, shift,
-+ * and, or and finally 64-bit store. Peaking data and operating
-+ * at natural word size made it possible to reduce amount of
-+ * instructions as well as to perform early read-ahead without
-+ * suffering from RAW (read-after-write) hazard. This resulted
-+ * in ~40%(**) performance improvement on 21064 box with gcc.
-+ * But it's not only Alpha users who win here:-) Thanks to the
-+ * early-n-wide read-ahead this implementation also exhibits
-+ * >40% speed-up on SPARC and 20-30% on 64-bit MIPS (depending
-+ * on sizeof(RC4_INT)).
-+ *
-+ * (*) "this" means code which recognizes the case when input
-+ * and output pointers appear to be aligned at natural CPU
-+ * word boundary
-+ * (**) i.e. according to 'apps/openssl speed rc4' benchmark,
-+ * crypto/rc4/rc4speed.c exhibits almost 70% speed-up...
-+ *
-+ * Cavets.
-+ *
-+ * - RC4_CHUNK="unsigned long long" should be a #1 choice for
-+ * UltraSPARC. Unfortunately gcc generates very slow code
-+ * (2.5-3 times slower than one generated by Sun's WorkShop
-+ * C) and therefore gcc (at least 2.95 and earlier) should
-+ * always be told that RC4_CHUNK="unsigned long".
-+ *
-+ * <appro@fy.chalmers.se>
-+ */
-+
-+# define RC4_STEP ( \
-+ x=(x+1) &0xff, \
-+ tx=d[x], \
-+ y=(tx+y)&0xff, \
-+ ty=d[y], \
-+ d[y]=tx, \
-+ d[x]=ty, \
-+ (RC4_CHUNK)d[(tx+ty)&0xff]\
-+ )
-+
-+ if ( ( ((unsigned long)indata & (sizeof(RC4_CHUNK)-1)) |
-+ ((unsigned long)outdata & (sizeof(RC4_CHUNK)-1)) ) == 0 )
-+ {
-+ RC4_CHUNK ichunk,otp;
-+ const union { long one; char little; } is_endian = {1};
-+
-+ /*
-+ * I reckon we can afford to implement both endian
-+ * cases and to decide which way to take at run-time
-+ * because the machine code appears to be very compact
-+ * and redundant 1-2KB is perfectly tolerable (i.e.
-+ * in case the compiler fails to eliminate it:-). By
-+ * suggestion from Terrel Larson <terr@terralogic.net>
-+ * who also stands for the is_endian union:-)
-+ *
-+ * Special notes.
-+ *
-+ * - is_endian is declared automatic as doing otherwise
-+ * (declaring static) prevents gcc from eliminating
-+ * the redundant code;
-+ * - compilers (those I've tried) don't seem to have
-+ * problems eliminating either the operators guarded
-+ * by "if (sizeof(RC4_CHUNK)==8)" or the condition
-+ * expressions themselves so I've got 'em to replace
-+ * corresponding #ifdefs from the previous version;
-+ * - I chose to let the redundant switch cases when
-+ * sizeof(RC4_CHUNK)!=8 be (were also #ifdefed
-+ * before);
-+ * - in case you wonder "&(sizeof(RC4_CHUNK)*8-1)" in
-+ * [LB]ESHFT guards against "shift is out of range"
-+ * warnings when sizeof(RC4_CHUNK)!=8
-+ *
-+ * <appro@fy.chalmers.se>
-+ */
-+ if (!is_endian.little)
-+ { /* BIG-ENDIAN CASE */
-+# define BESHFT(c) (((sizeof(RC4_CHUNK)-(c)-1)*8)&(sizeof(RC4_CHUNK)*8-1))
-+ for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
-+ {
-+ ichunk = *(RC4_CHUNK *)indata;
-+ otp = RC4_STEP<<BESHFT(0);
-+ otp |= RC4_STEP<<BESHFT(1);
-+ otp |= RC4_STEP<<BESHFT(2);
-+ otp |= RC4_STEP<<BESHFT(3);
-+ if (sizeof(RC4_CHUNK)==8)
-+ {
-+ otp |= RC4_STEP<<BESHFT(4);
-+ otp |= RC4_STEP<<BESHFT(5);
-+ otp |= RC4_STEP<<BESHFT(6);
-+ otp |= RC4_STEP<<BESHFT(7);
-+ }
-+ *(RC4_CHUNK *)outdata = otp^ichunk;
-+ indata += sizeof(RC4_CHUNK);
-+ outdata += sizeof(RC4_CHUNK);
-+ }
-+ if (len)
-+ {
-+ RC4_CHUNK mask=(RC4_CHUNK)-1, ochunk;
-+
-+ ichunk = *(RC4_CHUNK *)indata;
-+ ochunk = *(RC4_CHUNK *)outdata;
-+ otp = 0;
-+ i = BESHFT(0);
-+ mask <<= (sizeof(RC4_CHUNK)-len)<<3;
-+ switch (len&(sizeof(RC4_CHUNK)-1))
-+ {
-+ case 7: otp = RC4_STEP<<i, i-=8;
-+ case 6: otp |= RC4_STEP<<i, i-=8;
-+ case 5: otp |= RC4_STEP<<i, i-=8;
-+ case 4: otp |= RC4_STEP<<i, i-=8;
-+ case 3: otp |= RC4_STEP<<i, i-=8;
-+ case 2: otp |= RC4_STEP<<i, i-=8;
-+ case 1: otp |= RC4_STEP<<i, i-=8;
-+ case 0: ; /*
-+ * it's never the case,
-+ * but it has to be here
-+ * for ultrix?
-+ */
-+ }
-+ ochunk &= ~mask;
-+ ochunk |= (otp^ichunk) & mask;
-+ *(RC4_CHUNK *)outdata = ochunk;
-+ }
-+ key->x=x;
-+ key->y=y;
-+ return;
-+ }
-+ else
-+ { /* LITTLE-ENDIAN CASE */
-+# define LESHFT(c) (((c)*8)&(sizeof(RC4_CHUNK)*8-1))
-+ for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
-+ {
-+ ichunk = *(RC4_CHUNK *)indata;
-+ otp = RC4_STEP;
-+ otp |= RC4_STEP<<8;
-+ otp |= RC4_STEP<<16;
-+ otp |= RC4_STEP<<24;
-+ if (sizeof(RC4_CHUNK)==8)
-+ {
-+ otp |= RC4_STEP<<LESHFT(4);
-+ otp |= RC4_STEP<<LESHFT(5);
-+ otp |= RC4_STEP<<LESHFT(6);
-+ otp |= RC4_STEP<<LESHFT(7);
-+ }
-+ *(RC4_CHUNK *)outdata = otp^ichunk;
-+ indata += sizeof(RC4_CHUNK);
-+ outdata += sizeof(RC4_CHUNK);
-+ }
-+ if (len)
-+ {
-+ RC4_CHUNK mask=(RC4_CHUNK)-1, ochunk;
-+
-+ ichunk = *(RC4_CHUNK *)indata;
-+ ochunk = *(RC4_CHUNK *)outdata;
-+ otp = 0;
-+ i = 0;
-+ mask >>= (sizeof(RC4_CHUNK)-len)<<3;
-+ switch (len&(sizeof(RC4_CHUNK)-1))
-+ {
-+ case 7: otp = RC4_STEP, i+=8;
-+ case 6: otp |= RC4_STEP<<i, i+=8;
-+ case 5: otp |= RC4_STEP<<i, i+=8;
-+ case 4: otp |= RC4_STEP<<i, i+=8;
-+ case 3: otp |= RC4_STEP<<i, i+=8;
-+ case 2: otp |= RC4_STEP<<i, i+=8;
-+ case 1: otp |= RC4_STEP<<i, i+=8;
-+ case 0: ; /*
-+ * it's never the case,
-+ * but it has to be here
-+ * for ultrix?
-+ */
-+ }
-+ ochunk &= ~mask;
-+ ochunk |= (otp^ichunk) & mask;
-+ *(RC4_CHUNK *)outdata = ochunk;
-+ }
-+ key->x=x;
-+ key->y=y;
-+ return;
-+ }
-+ }
-+#endif
-+#define LOOP(in,out) \
-+ x=((x+1)&0xff); \
-+ tx=d[x]; \
-+ y=(tx+y)&0xff; \
-+ d[x]=ty=d[y]; \
-+ d[y]=tx; \
-+ (out) = d[(tx+ty)&0xff]^ (in);
-+
-+#ifndef RC4_INDEX
-+#define RC4_LOOP(a,b,i) LOOP(*((a)++),*((b)++))
-+#else
-+#define RC4_LOOP(a,b,i) LOOP(a[i],b[i])
-+#endif
-+
-+ i=(int)(len>>3L);
-+ if (i)
-+ {
-+ for (;;)
-+ {
-+ RC4_LOOP(indata,outdata,0);
-+ RC4_LOOP(indata,outdata,1);
-+ RC4_LOOP(indata,outdata,2);
-+ RC4_LOOP(indata,outdata,3);
-+ RC4_LOOP(indata,outdata,4);
-+ RC4_LOOP(indata,outdata,5);
-+ RC4_LOOP(indata,outdata,6);
-+ RC4_LOOP(indata,outdata,7);
-+#ifdef RC4_INDEX
-+ indata+=8;
-+ outdata+=8;
-+#endif
-+ if (--i == 0) break;
-+ }
-+ }
-+ i=(int)len&0x07;
-+ if (i)
-+ {
-+ for (;;)
-+ {
-+ RC4_LOOP(indata,outdata,0); if (--i == 0) break;
-+ RC4_LOOP(indata,outdata,1); if (--i == 0) break;
-+ RC4_LOOP(indata,outdata,2); if (--i == 0) break;
-+ RC4_LOOP(indata,outdata,3); if (--i == 0) break;
-+ RC4_LOOP(indata,outdata,4); if (--i == 0) break;
-+ RC4_LOOP(indata,outdata,5); if (--i == 0) break;
-+ RC4_LOOP(indata,outdata,6); if (--i == 0) break;
-+ }
-+ }
-+ key->x=x;
-+ key->y=y;
-+ }
-diff -Nur linux_c860_org/drivers/net/rc4_locl.h linux/drivers/net/rc4_locl.h
---- linux_c860_org/drivers/net/rc4_locl.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/rc4_locl.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,4 @@
-+#ifndef HEADER_RC4_LOCL_H
-+#define HEADER_RC4_LOCL_H
-+#include <openssl/opensslconf.h>
-+#endif
-diff -Nur linux_c860_org/drivers/net/rc4_skey.c linux/drivers/net/rc4_skey.c
---- linux_c860_org/drivers/net/rc4_skey.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/rc4_skey.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,117 @@
-+/* crypto/rc4/rc4_skey.c */
-+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-+ * All rights reserved.
-+ *
-+ * This package is an SSL implementation written
-+ * by Eric Young (eay@cryptsoft.com).
-+ * The implementation was written so as to conform with Netscapes SSL.
-+ *
-+ * This library is free for commercial and non-commercial use as long as
-+ * the following conditions are aheared to. The following conditions
-+ * apply to all code found in this distribution, be it the RC4, RSA,
-+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
-+ * included with this distribution is covered by the same copyright terms
-+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-+ *
-+ * Copyright remains Eric Young's, and as such any Copyright notices in
-+ * the code are not to be removed.
-+ * If this package is used in a product, Eric Young should be given attribution
-+ * as the author of the parts of the library used.
-+ * This can be in the form of a textual message at program startup or
-+ * in documentation (online or textual) provided with the package.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * "This product includes cryptographic software written by
-+ * Eric Young (eay@cryptsoft.com)"
-+ * The word 'cryptographic' can be left out if the rouines from the library
-+ * being used are not cryptographic related :-).
-+ * 4. If you include any Windows specific code (or a derivative thereof) from
-+ * the apps directory (application code) you must include an acknowledgement:
-+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * The licence and distribution terms for any publically available version or
-+ * derivative of this code cannot be changed. i.e. this code cannot simply be
-+ * copied and put under another distribution licence
-+ * [including the GNU Public Licence.]
-+ */
-+
-+#include <openssl/rc4.h>
-+#include "rc4_locl.h"
-+#include <openssl/opensslv.h>
-+
-+const char *RC4_version="RC4" OPENSSL_VERSION_PTEXT;
-+
-+const char *RC4_options(void)
-+ {
-+#ifdef RC4_INDEX
-+ if (sizeof(RC4_INT) == 1)
-+ return("rc4(idx,char)");
-+ else
-+ return("rc4(idx,int)");
-+#else
-+ if (sizeof(RC4_INT) == 1)
-+ return("rc4(ptr,char)");
-+ else
-+ return("rc4(ptr,int)");
-+#endif
-+ }
-+
-+/* RC4 as implemented from a posting from
-+ * Newsgroups: sci.crypt
-+ * From: sterndark@netcom.com (David Sterndark)
-+ * Subject: RC4 Algorithm revealed.
-+ * Message-ID: <sternCvKL4B.Hyy@netcom.com>
-+ * Date: Wed, 14 Sep 1994 06:35:31 GMT
-+ */
-+
-+void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
-+ {
-+ register RC4_INT tmp;
-+ register int id1,id2;
-+ register RC4_INT *d;
-+ unsigned int i;
-+
-+ d= &(key->data[0]);
-+ for (i=0; i<256; i++)
-+ d[i]=i;
-+ key->x = 0;
-+ key->y = 0;
-+ id1=id2=0;
-+
-+#define SK_LOOP(n) { \
-+ tmp=d[(n)]; \
-+ id2 = (data[id1] + tmp + id2) & 0xff; \
-+ if (++id1 == len) id1=0; \
-+ d[(n)]=d[id2]; \
-+ d[id2]=tmp; }
-+
-+ for (i=0; i < 256; i+=4)
-+ {
-+ SK_LOOP(i+0);
-+ SK_LOOP(i+1);
-+ SK_LOOP(i+2);
-+ SK_LOOP(i+3);
-+ }
-+ }
-+
-diff -Nur linux_c860_org/drivers/net/sha1dgst.c linux/drivers/net/sha1dgst.c
---- linux_c860_org/drivers/net/sha1dgst.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/sha1dgst.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,73 @@
-+/* crypto/sha/sha1dgst.c */
-+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-+ * All rights reserved.
-+ *
-+ * This package is an SSL implementation written
-+ * by Eric Young (eay@cryptsoft.com).
-+ * The implementation was written so as to conform with Netscapes SSL.
-+ *
-+ * This library is free for commercial and non-commercial use as long as
-+ * the following conditions are aheared to. The following conditions
-+ * apply to all code found in this distribution, be it the RC4, RSA,
-+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
-+ * included with this distribution is covered by the same copyright terms
-+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-+ *
-+ * Copyright remains Eric Young's, and as such any Copyright notices in
-+ * the code are not to be removed.
-+ * If this package is used in a product, Eric Young should be given attribution
-+ * as the author of the parts of the library used.
-+ * This can be in the form of a textual message at program startup or
-+ * in documentation (online or textual) provided with the package.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * "This product includes cryptographic software written by
-+ * Eric Young (eay@cryptsoft.com)"
-+ * The word 'cryptographic' can be left out if the rouines from the library
-+ * being used are not cryptographic related :-).
-+ * 4. If you include any Windows specific code (or a derivative thereof) from
-+ * the apps directory (application code) you must include an acknowledgement:
-+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * The licence and distribution terms for any publically available version or
-+ * derivative of this code cannot be changed. i.e. this code cannot simply be
-+ * copied and put under another distribution licence
-+ * [including the GNU Public Licence.]
-+ */
-+
-+#if !defined(NO_SHA1) && !defined(NO_SHA)
-+
-+#undef SHA_0
-+#define SHA_1
-+
-+#include <openssl/opensslv.h>
-+
-+const char *SHA1_version="SHA1" OPENSSL_VERSION_PTEXT;
-+
-+/* The implementation is in ../md32_common.h */
-+
-+#include "sha_locl.h"
-+
-+#endif
-+
-diff -Nur linux_c860_org/drivers/net/sha_locl.h linux/drivers/net/sha_locl.h
---- linux_c860_org/drivers/net/sha_locl.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/net/sha_locl.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,473 @@
-+/* crypto/sha/sha_locl.h */
-+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-+ * All rights reserved.
-+ *
-+ * This package is an SSL implementation written
-+ * by Eric Young (eay@cryptsoft.com).
-+ * The implementation was written so as to conform with Netscapes SSL.
-+ *
-+ * This library is free for commercial and non-commercial use as long as
-+ * the following conditions are aheared to. The following conditions
-+ * apply to all code found in this distribution, be it the RC4, RSA,
-+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
-+ * included with this distribution is covered by the same copyright terms
-+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-+ *
-+ * Copyright remains Eric Young's, and as such any Copyright notices in
-+ * the code are not to be removed.
-+ * If this package is used in a product, Eric Young should be given attribution
-+ * as the author of the parts of the library used.
-+ * This can be in the form of a textual message at program startup or
-+ * in documentation (online or textual) provided with the package.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * "This product includes cryptographic software written by
-+ * Eric Young (eay@cryptsoft.com)"
-+ * The word 'cryptographic' can be left out if the rouines from the library
-+ * being used are not cryptographic related :-).
-+ * 4. If you include any Windows specific code (or a derivative thereof) from
-+ * the apps directory (application code) you must include an acknowledgement:
-+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * The licence and distribution terms for any publically available version or
-+ * derivative of this code cannot be changed. i.e. this code cannot simply be
-+ * copied and put under another distribution licence
-+ * [including the GNU Public Licence.]
-+ */
-+
-+#ifndef __KERNEL__
-+#include <stdlib.h>
-+#include <string.h>
-+#endif
-+
-+#include <openssl/opensslconf.h>
-+#include <openssl/sha.h>
-+
-+#ifndef SHA_LONG_LOG2
-+#define SHA_LONG_LOG2 2 /* default to 32 bits */
-+#endif
-+
-+#define DATA_ORDER_IS_BIG_ENDIAN
-+
-+#define HASH_LONG SHA_LONG
-+#define HASH_LONG_LOG2 SHA_LONG_LOG2
-+#define HASH_CTX SHA_CTX
-+#define HASH_CBLOCK SHA_CBLOCK
-+#define HASH_LBLOCK SHA_LBLOCK
-+#define HASH_MAKE_STRING(c,s) do { \
-+ unsigned long ll; \
-+ ll=(c)->h0; HOST_l2c(ll,(s)); \
-+ ll=(c)->h1; HOST_l2c(ll,(s)); \
-+ ll=(c)->h2; HOST_l2c(ll,(s)); \
-+ ll=(c)->h3; HOST_l2c(ll,(s)); \
-+ ll=(c)->h4; HOST_l2c(ll,(s)); \
-+ } while (0)
-+
-+#if defined(SHA_0)
-+
-+# define HASH_UPDATE SHA_Update
-+# define HASH_TRANSFORM SHA_Transform
-+# define HASH_FINAL SHA_Final
-+# define HASH_INIT SHA_Init
-+# define HASH_BLOCK_HOST_ORDER sha_block_host_order
-+# define HASH_BLOCK_DATA_ORDER sha_block_data_order
-+# define Xupdate(a,ix,ia,ib,ic,id) (ix=(a)=(ia^ib^ic^id))
-+
-+ void sha_block_host_order (SHA_CTX *c, const void *p,int num);
-+ void sha_block_data_order (SHA_CTX *c, const void *p,int num);
-+
-+#elif defined(SHA_1)
-+
-+# define HASH_UPDATE SHA1_Update
-+# define HASH_TRANSFORM SHA1_Transform
-+# define HASH_FINAL SHA1_Final
-+# define HASH_INIT SHA1_Init
-+# define HASH_BLOCK_HOST_ORDER sha1_block_host_order
-+# define HASH_BLOCK_DATA_ORDER sha1_block_data_order
-+# if defined(__MWERKS__) && defined(__MC68K__)
-+ /* Metrowerks for Motorola fails otherwise:-( <appro@fy.chalmers.se> */
-+# define Xupdate(a,ix,ia,ib,ic,id) do { (a)=(ia^ib^ic^id); \
-+ ix=(a)=ROTATE((a),1); \
-+ } while (0)
-+# else
-+# define Xupdate(a,ix,ia,ib,ic,id) ( (a)=(ia^ib^ic^id), \
-+ ix=(a)=ROTATE((a),1) \
-+ )
-+# endif
-+
-+# ifdef SHA1_ASM
-+# if defined(__i386) || defined(_M_IX86) || defined(__INTEL__)
-+# define sha1_block_host_order sha1_block_asm_host_order
-+# define DONT_IMPLEMENT_BLOCK_HOST_ORDER
-+# define sha1_block_data_order sha1_block_asm_data_order
-+# define DONT_IMPLEMENT_BLOCK_DATA_ORDER
-+# define HASH_BLOCK_DATA_ORDER_ALIGNED sha1_block_asm_data_order
-+# endif
-+# endif
-+ void sha1_block_host_order (SHA_CTX *c, const void *p,int num);
-+ void sha1_block_data_order (SHA_CTX *c, const void *p,int num);
-+
-+#else
-+# error "Either SHA_0 or SHA_1 must be defined."
-+#endif
-+
-+#include "md32_common.h"
-+
-+#define INIT_DATA_h0 0x67452301UL
-+#define INIT_DATA_h1 0xefcdab89UL
-+#define INIT_DATA_h2 0x98badcfeUL
-+#define INIT_DATA_h3 0x10325476UL
-+#define INIT_DATA_h4 0xc3d2e1f0UL
-+
-+void HASH_INIT (SHA_CTX *c)
-+ {
-+ c->h0=INIT_DATA_h0;
-+ c->h1=INIT_DATA_h1;
-+ c->h2=INIT_DATA_h2;
-+ c->h3=INIT_DATA_h3;
-+ c->h4=INIT_DATA_h4;
-+ c->Nl=0;
-+ c->Nh=0;
-+ c->num=0;
-+ }
-+
-+#define K_00_19 0x5a827999UL
-+#define K_20_39 0x6ed9eba1UL
-+#define K_40_59 0x8f1bbcdcUL
-+#define K_60_79 0xca62c1d6UL
-+
-+/* As pointed out by Wei Dai <weidai@eskimo.com>, F() below can be
-+ * simplified to the code in F_00_19. Wei attributes these optimisations
-+ * to Peter Gutmann's SHS code, and he attributes it to Rich Schroeppel.
-+ * #define F(x,y,z) (((x) & (y)) | ((~(x)) & (z)))
-+ * I've just become aware of another tweak to be made, again from Wei Dai,
-+ * in F_40_59, (x&a)|(y&a) -> (x|y)&a
-+ */
-+#define F_00_19(b,c,d) ((((c) ^ (d)) & (b)) ^ (d))
-+#define F_20_39(b,c,d) ((b) ^ (c) ^ (d))
-+#define F_40_59(b,c,d) (((b) & (c)) | (((b)|(c)) & (d)))
-+#define F_60_79(b,c,d) F_20_39(b,c,d)
-+
-+#define BODY_00_15(i,a,b,c,d,e,f,xi) \
-+ (f)=xi+(e)+K_00_19+ROTATE((a),5)+F_00_19((b),(c),(d)); \
-+ (b)=ROTATE((b),30);
-+
-+#define BODY_16_19(i,a,b,c,d,e,f,xi,xa,xb,xc,xd) \
-+ Xupdate(f,xi,xa,xb,xc,xd); \
-+ (f)+=(e)+K_00_19+ROTATE((a),5)+F_00_19((b),(c),(d)); \
-+ (b)=ROTATE((b),30);
-+
-+#define BODY_20_31(i,a,b,c,d,e,f,xi,xa,xb,xc,xd) \
-+ Xupdate(f,xi,xa,xb,xc,xd); \
-+ (f)+=(e)+K_20_39+ROTATE((a),5)+F_20_39((b),(c),(d)); \
-+ (b)=ROTATE((b),30);
-+
-+#define BODY_32_39(i,a,b,c,d,e,f,xa,xb,xc,xd) \
-+ Xupdate(f,xa,xa,xb,xc,xd); \
-+ (f)+=(e)+K_20_39+ROTATE((a),5)+F_20_39((b),(c),(d)); \
-+ (b)=ROTATE((b),30);
-+
-+#define BODY_40_59(i,a,b,c,d,e,f,xa,xb,xc,xd) \
-+ Xupdate(f,xa,xa,xb,xc,xd); \
-+ (f)+=(e)+K_40_59+ROTATE((a),5)+F_40_59((b),(c),(d)); \
-+ (b)=ROTATE((b),30);
-+
-+#define BODY_60_79(i,a,b,c,d,e,f,xa,xb,xc,xd) \
-+ Xupdate(f,xa,xa,xb,xc,xd); \
-+ (f)=xa+(e)+K_60_79+ROTATE((a),5)+F_60_79((b),(c),(d)); \
-+ (b)=ROTATE((b),30);
-+
-+#ifdef X
-+#undef X
-+#endif
-+#ifndef MD32_XARRAY
-+ /*
-+ * Originally X was an array. As it's automatic it's natural
-+ * to expect RISC compiler to accomodate at least part of it in
-+ * the register bank, isn't it? Unfortunately not all compilers
-+ * "find" this expectation reasonable:-( On order to make such
-+ * compilers generate better code I replace X[] with a bunch of
-+ * X0, X1, etc. See the function body below...
-+ * <appro@fy.chalmers.se>
-+ */
-+# define X(i) XX##i
-+#else
-+ /*
-+ * However! Some compilers (most notably HP C) get overwhelmed by
-+ * that many local variables so that we have to have the way to
-+ * fall down to the original behavior.
-+ */
-+# define X(i) XX[i]
-+#endif
-+
-+#ifndef DONT_IMPLEMENT_BLOCK_HOST_ORDER
-+void HASH_BLOCK_HOST_ORDER (SHA_CTX *c, const void *d, int num)
-+ {
-+ const SHA_LONG *W=d;
-+ register unsigned long A,B,C,D,E,T;
-+#ifndef MD32_XARRAY
-+ unsigned long XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7,
-+ XX8, XX9,XX10,XX11,XX12,XX13,XX14,XX15;
-+#else
-+ SHA_LONG XX[16];
-+#endif
-+
-+ A=c->h0;
-+ B=c->h1;
-+ C=c->h2;
-+ D=c->h3;
-+ E=c->h4;
-+
-+ for (;;)
-+ {
-+ BODY_00_15( 0,A,B,C,D,E,T,W[ 0]);
-+ BODY_00_15( 1,T,A,B,C,D,E,W[ 1]);
-+ BODY_00_15( 2,E,T,A,B,C,D,W[ 2]);
-+ BODY_00_15( 3,D,E,T,A,B,C,W[ 3]);
-+ BODY_00_15( 4,C,D,E,T,A,B,W[ 4]);
-+ BODY_00_15( 5,B,C,D,E,T,A,W[ 5]);
-+ BODY_00_15( 6,A,B,C,D,E,T,W[ 6]);
-+ BODY_00_15( 7,T,A,B,C,D,E,W[ 7]);
-+ BODY_00_15( 8,E,T,A,B,C,D,W[ 8]);
-+ BODY_00_15( 9,D,E,T,A,B,C,W[ 9]);
-+ BODY_00_15(10,C,D,E,T,A,B,W[10]);
-+ BODY_00_15(11,B,C,D,E,T,A,W[11]);
-+ BODY_00_15(12,A,B,C,D,E,T,W[12]);
-+ BODY_00_15(13,T,A,B,C,D,E,W[13]);
-+ BODY_00_15(14,E,T,A,B,C,D,W[14]);
-+ BODY_00_15(15,D,E,T,A,B,C,W[15]);
-+
-+ BODY_16_19(16,C,D,E,T,A,B,X( 0),W[ 0],W[ 2],W[ 8],W[13]);
-+ BODY_16_19(17,B,C,D,E,T,A,X( 1),W[ 1],W[ 3],W[ 9],W[14]);
-+ BODY_16_19(18,A,B,C,D,E,T,X( 2),W[ 2],W[ 4],W[10],W[15]);
-+ BODY_16_19(19,T,A,B,C,D,E,X( 3),W[ 3],W[ 5],W[11],X( 0));
-+
-+ BODY_20_31(20,E,T,A,B,C,D,X( 4),W[ 4],W[ 6],W[12],X( 1));
-+ BODY_20_31(21,D,E,T,A,B,C,X( 5),W[ 5],W[ 7],W[13],X( 2));
-+ BODY_20_31(22,C,D,E,T,A,B,X( 6),W[ 6],W[ 8],W[14],X( 3));
-+ BODY_20_31(23,B,C,D,E,T,A,X( 7),W[ 7],W[ 9],W[15],X( 4));
-+ BODY_20_31(24,A,B,C,D,E,T,X( 8),W[ 8],W[10],X( 0),X( 5));
-+ BODY_20_31(25,T,A,B,C,D,E,X( 9),W[ 9],W[11],X( 1),X( 6));
-+ BODY_20_31(26,E,T,A,B,C,D,X(10),W[10],W[12],X( 2),X( 7));
-+ BODY_20_31(27,D,E,T,A,B,C,X(11),W[11],W[13],X( 3),X( 8));
-+ BODY_20_31(28,C,D,E,T,A,B,X(12),W[12],W[14],X( 4),X( 9));
-+ BODY_20_31(29,B,C,D,E,T,A,X(13),W[13],W[15],X( 5),X(10));
-+ BODY_20_31(30,A,B,C,D,E,T,X(14),W[14],X( 0),X( 6),X(11));
-+ BODY_20_31(31,T,A,B,C,D,E,X(15),W[15],X( 1),X( 7),X(12));
-+
-+ BODY_32_39(32,E,T,A,B,C,D,X( 0),X( 2),X( 8),X(13));
-+ BODY_32_39(33,D,E,T,A,B,C,X( 1),X( 3),X( 9),X(14));
-+ BODY_32_39(34,C,D,E,T,A,B,X( 2),X( 4),X(10),X(15));
-+ BODY_32_39(35,B,C,D,E,T,A,X( 3),X( 5),X(11),X( 0));
-+ BODY_32_39(36,A,B,C,D,E,T,X( 4),X( 6),X(12),X( 1));
-+ BODY_32_39(37,T,A,B,C,D,E,X( 5),X( 7),X(13),X( 2));
-+ BODY_32_39(38,E,T,A,B,C,D,X( 6),X( 8),X(14),X( 3));
-+ BODY_32_39(39,D,E,T,A,B,C,X( 7),X( 9),X(15),X( 4));
-+
-+ BODY_40_59(40,C,D,E,T,A,B,X( 8),X(10),X( 0),X( 5));
-+ BODY_40_59(41,B,C,D,E,T,A,X( 9),X(11),X( 1),X( 6));
-+ BODY_40_59(42,A,B,C,D,E,T,X(10),X(12),X( 2),X( 7));
-+ BODY_40_59(43,T,A,B,C,D,E,X(11),X(13),X( 3),X( 8));
-+ BODY_40_59(44,E,T,A,B,C,D,X(12),X(14),X( 4),X( 9));
-+ BODY_40_59(45,D,E,T,A,B,C,X(13),X(15),X( 5),X(10));
-+ BODY_40_59(46,C,D,E,T,A,B,X(14),X( 0),X( 6),X(11));
-+ BODY_40_59(47,B,C,D,E,T,A,X(15),X( 1),X( 7),X(12));
-+ BODY_40_59(48,A,B,C,D,E,T,X( 0),X( 2),X( 8),X(13));
-+ BODY_40_59(49,T,A,B,C,D,E,X( 1),X( 3),X( 9),X(14));
-+ BODY_40_59(50,E,T,A,B,C,D,X( 2),X( 4),X(10),X(15));
-+ BODY_40_59(51,D,E,T,A,B,C,X( 3),X( 5),X(11),X( 0));
-+ BODY_40_59(52,C,D,E,T,A,B,X( 4),X( 6),X(12),X( 1));
-+ BODY_40_59(53,B,C,D,E,T,A,X( 5),X( 7),X(13),X( 2));
-+ BODY_40_59(54,A,B,C,D,E,T,X( 6),X( 8),X(14),X( 3));
-+ BODY_40_59(55,T,A,B,C,D,E,X( 7),X( 9),X(15),X( 4));
-+ BODY_40_59(56,E,T,A,B,C,D,X( 8),X(10),X( 0),X( 5));
-+ BODY_40_59(57,D,E,T,A,B,C,X( 9),X(11),X( 1),X( 6));
-+ BODY_40_59(58,C,D,E,T,A,B,X(10),X(12),X( 2),X( 7));
-+ BODY_40_59(59,B,C,D,E,T,A,X(11),X(13),X( 3),X( 8));
-+
-+ BODY_60_79(60,A,B,C,D,E,T,X(12),X(14),X( 4),X( 9));
-+ BODY_60_79(61,T,A,B,C,D,E,X(13),X(15),X( 5),X(10));
-+ BODY_60_79(62,E,T,A,B,C,D,X(14),X( 0),X( 6),X(11));
-+ BODY_60_79(63,D,E,T,A,B,C,X(15),X( 1),X( 7),X(12));
-+ BODY_60_79(64,C,D,E,T,A,B,X( 0),X( 2),X( 8),X(13));
-+ BODY_60_79(65,B,C,D,E,T,A,X( 1),X( 3),X( 9),X(14));
-+ BODY_60_79(66,A,B,C,D,E,T,X( 2),X( 4),X(10),X(15));
-+ BODY_60_79(67,T,A,B,C,D,E,X( 3),X( 5),X(11),X( 0));
-+ BODY_60_79(68,E,T,A,B,C,D,X( 4),X( 6),X(12),X( 1));
-+ BODY_60_79(69,D,E,T,A,B,C,X( 5),X( 7),X(13),X( 2));
-+ BODY_60_79(70,C,D,E,T,A,B,X( 6),X( 8),X(14),X( 3));
-+ BODY_60_79(71,B,C,D,E,T,A,X( 7),X( 9),X(15),X( 4));
-+ BODY_60_79(72,A,B,C,D,E,T,X( 8),X(10),X( 0),X( 5));
-+ BODY_60_79(73,T,A,B,C,D,E,X( 9),X(11),X( 1),X( 6));
-+ BODY_60_79(74,E,T,A,B,C,D,X(10),X(12),X( 2),X( 7));
-+ BODY_60_79(75,D,E,T,A,B,C,X(11),X(13),X( 3),X( 8));
-+ BODY_60_79(76,C,D,E,T,A,B,X(12),X(14),X( 4),X( 9));
-+ BODY_60_79(77,B,C,D,E,T,A,X(13),X(15),X( 5),X(10));
-+ BODY_60_79(78,A,B,C,D,E,T,X(14),X( 0),X( 6),X(11));
-+ BODY_60_79(79,T,A,B,C,D,E,X(15),X( 1),X( 7),X(12));
-+
-+ c->h0=(c->h0+E)&0xffffffffL;
-+ c->h1=(c->h1+T)&0xffffffffL;
-+ c->h2=(c->h2+A)&0xffffffffL;
-+ c->h3=(c->h3+B)&0xffffffffL;
-+ c->h4=(c->h4+C)&0xffffffffL;
-+
-+ if (--num <= 0) break;
-+
-+ A=c->h0;
-+ B=c->h1;
-+ C=c->h2;
-+ D=c->h3;
-+ E=c->h4;
-+
-+ W+=SHA_LBLOCK;
-+ }
-+ }
-+#endif
-+
-+#ifndef DONT_IMPLEMENT_BLOCK_DATA_ORDER
-+void HASH_BLOCK_DATA_ORDER (SHA_CTX *c, const void *p, int num)
-+ {
-+ const unsigned char *data=p;
-+ register unsigned long A,B,C,D,E,T,l;
-+#ifndef MD32_XARRAY
-+ unsigned long XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7,
-+ XX8, XX9,XX10,XX11,XX12,XX13,XX14,XX15;
-+#else
-+ SHA_LONG XX[16];
-+#endif
-+
-+ A=c->h0;
-+ B=c->h1;
-+ C=c->h2;
-+ D=c->h3;
-+ E=c->h4;
-+
-+ for (;;)
-+ {
-+
-+ HOST_c2l(data,l); X( 0)=l; HOST_c2l(data,l); X( 1)=l;
-+ BODY_00_15( 0,A,B,C,D,E,T,X( 0)); HOST_c2l(data,l); X( 2)=l;
-+ BODY_00_15( 1,T,A,B,C,D,E,X( 1)); HOST_c2l(data,l); X( 3)=l;
-+ BODY_00_15( 2,E,T,A,B,C,D,X( 2)); HOST_c2l(data,l); X( 4)=l;
-+ BODY_00_15( 3,D,E,T,A,B,C,X( 3)); HOST_c2l(data,l); X( 5)=l;
-+ BODY_00_15( 4,C,D,E,T,A,B,X( 4)); HOST_c2l(data,l); X( 6)=l;
-+ BODY_00_15( 5,B,C,D,E,T,A,X( 5)); HOST_c2l(data,l); X( 7)=l;
-+ BODY_00_15( 6,A,B,C,D,E,T,X( 6)); HOST_c2l(data,l); X( 8)=l;
-+ BODY_00_15( 7,T,A,B,C,D,E,X( 7)); HOST_c2l(data,l); X( 9)=l;
-+ BODY_00_15( 8,E,T,A,B,C,D,X( 8)); HOST_c2l(data,l); X(10)=l;
-+ BODY_00_15( 9,D,E,T,A,B,C,X( 9)); HOST_c2l(data,l); X(11)=l;
-+ BODY_00_15(10,C,D,E,T,A,B,X(10)); HOST_c2l(data,l); X(12)=l;
-+ BODY_00_15(11,B,C,D,E,T,A,X(11)); HOST_c2l(data,l); X(13)=l;
-+ BODY_00_15(12,A,B,C,D,E,T,X(12)); HOST_c2l(data,l); X(14)=l;
-+ BODY_00_15(13,T,A,B,C,D,E,X(13)); HOST_c2l(data,l); X(15)=l;
-+ BODY_00_15(14,E,T,A,B,C,D,X(14));
-+ BODY_00_15(15,D,E,T,A,B,C,X(15));
-+
-+ BODY_16_19(16,C,D,E,T,A,B,X( 0),X( 0),X( 2),X( 8),X(13));
-+ BODY_16_19(17,B,C,D,E,T,A,X( 1),X( 1),X( 3),X( 9),X(14));
-+ BODY_16_19(18,A,B,C,D,E,T,X( 2),X( 2),X( 4),X(10),X(15));
-+ BODY_16_19(19,T,A,B,C,D,E,X( 3),X( 3),X( 5),X(11),X( 0));
-+
-+ BODY_20_31(20,E,T,A,B,C,D,X( 4),X( 4),X( 6),X(12),X( 1));
-+ BODY_20_31(21,D,E,T,A,B,C,X( 5),X( 5),X( 7),X(13),X( 2));
-+ BODY_20_31(22,C,D,E,T,A,B,X( 6),X( 6),X( 8),X(14),X( 3));
-+ BODY_20_31(23,B,C,D,E,T,A,X( 7),X( 7),X( 9),X(15),X( 4));
-+ BODY_20_31(24,A,B,C,D,E,T,X( 8),X( 8),X(10),X( 0),X( 5));
-+ BODY_20_31(25,T,A,B,C,D,E,X( 9),X( 9),X(11),X( 1),X( 6));
-+ BODY_20_31(26,E,T,A,B,C,D,X(10),X(10),X(12),X( 2),X( 7));
-+ BODY_20_31(27,D,E,T,A,B,C,X(11),X(11),X(13),X( 3),X( 8));
-+ BODY_20_31(28,C,D,E,T,A,B,X(12),X(12),X(14),X( 4),X( 9));
-+ BODY_20_31(29,B,C,D,E,T,A,X(13),X(13),X(15),X( 5),X(10));
-+ BODY_20_31(30,A,B,C,D,E,T,X(14),X(14),X( 0),X( 6),X(11));
-+ BODY_20_31(31,T,A,B,C,D,E,X(15),X(15),X( 1),X( 7),X(12));
-+
-+ BODY_32_39(32,E,T,A,B,C,D,X( 0),X( 2),X( 8),X(13));
-+ BODY_32_39(33,D,E,T,A,B,C,X( 1),X( 3),X( 9),X(14));
-+ BODY_32_39(34,C,D,E,T,A,B,X( 2),X( 4),X(10),X(15));
-+ BODY_32_39(35,B,C,D,E,T,A,X( 3),X( 5),X(11),X( 0));
-+ BODY_32_39(36,A,B,C,D,E,T,X( 4),X( 6),X(12),X( 1));
-+ BODY_32_39(37,T,A,B,C,D,E,X( 5),X( 7),X(13),X( 2));
-+ BODY_32_39(38,E,T,A,B,C,D,X( 6),X( 8),X(14),X( 3));
-+ BODY_32_39(39,D,E,T,A,B,C,X( 7),X( 9),X(15),X( 4));
-+
-+ BODY_40_59(40,C,D,E,T,A,B,X( 8),X(10),X( 0),X( 5));
-+ BODY_40_59(41,B,C,D,E,T,A,X( 9),X(11),X( 1),X( 6));
-+ BODY_40_59(42,A,B,C,D,E,T,X(10),X(12),X( 2),X( 7));
-+ BODY_40_59(43,T,A,B,C,D,E,X(11),X(13),X( 3),X( 8));
-+ BODY_40_59(44,E,T,A,B,C,D,X(12),X(14),X( 4),X( 9));
-+ BODY_40_59(45,D,E,T,A,B,C,X(13),X(15),X( 5),X(10));
-+ BODY_40_59(46,C,D,E,T,A,B,X(14),X( 0),X( 6),X(11));
-+ BODY_40_59(47,B,C,D,E,T,A,X(15),X( 1),X( 7),X(12));
-+ BODY_40_59(48,A,B,C,D,E,T,X( 0),X( 2),X( 8),X(13));
-+ BODY_40_59(49,T,A,B,C,D,E,X( 1),X( 3),X( 9),X(14));
-+ BODY_40_59(50,E,T,A,B,C,D,X( 2),X( 4),X(10),X(15));
-+ BODY_40_59(51,D,E,T,A,B,C,X( 3),X( 5),X(11),X( 0));
-+ BODY_40_59(52,C,D,E,T,A,B,X( 4),X( 6),X(12),X( 1));
-+ BODY_40_59(53,B,C,D,E,T,A,X( 5),X( 7),X(13),X( 2));
-+ BODY_40_59(54,A,B,C,D,E,T,X( 6),X( 8),X(14),X( 3));
-+ BODY_40_59(55,T,A,B,C,D,E,X( 7),X( 9),X(15),X( 4));
-+ BODY_40_59(56,E,T,A,B,C,D,X( 8),X(10),X( 0),X( 5));
-+ BODY_40_59(57,D,E,T,A,B,C,X( 9),X(11),X( 1),X( 6));
-+ BODY_40_59(58,C,D,E,T,A,B,X(10),X(12),X( 2),X( 7));
-+ BODY_40_59(59,B,C,D,E,T,A,X(11),X(13),X( 3),X( 8));
-+
-+ BODY_60_79(60,A,B,C,D,E,T,X(12),X(14),X( 4),X( 9));
-+ BODY_60_79(61,T,A,B,C,D,E,X(13),X(15),X( 5),X(10));
-+ BODY_60_79(62,E,T,A,B,C,D,X(14),X( 0),X( 6),X(11));
-+ BODY_60_79(63,D,E,T,A,B,C,X(15),X( 1),X( 7),X(12));
-+ BODY_60_79(64,C,D,E,T,A,B,X( 0),X( 2),X( 8),X(13));
-+ BODY_60_79(65,B,C,D,E,T,A,X( 1),X( 3),X( 9),X(14));
-+ BODY_60_79(66,A,B,C,D,E,T,X( 2),X( 4),X(10),X(15));
-+ BODY_60_79(67,T,A,B,C,D,E,X( 3),X( 5),X(11),X( 0));
-+ BODY_60_79(68,E,T,A,B,C,D,X( 4),X( 6),X(12),X( 1));
-+ BODY_60_79(69,D,E,T,A,B,C,X( 5),X( 7),X(13),X( 2));
-+ BODY_60_79(70,C,D,E,T,A,B,X( 6),X( 8),X(14),X( 3));
-+ BODY_60_79(71,B,C,D,E,T,A,X( 7),X( 9),X(15),X( 4));
-+ BODY_60_79(72,A,B,C,D,E,T,X( 8),X(10),X( 0),X( 5));
-+ BODY_60_79(73,T,A,B,C,D,E,X( 9),X(11),X( 1),X( 6));
-+ BODY_60_79(74,E,T,A,B,C,D,X(10),X(12),X( 2),X( 7));
-+ BODY_60_79(75,D,E,T,A,B,C,X(11),X(13),X( 3),X( 8));
-+ BODY_60_79(76,C,D,E,T,A,B,X(12),X(14),X( 4),X( 9));
-+ BODY_60_79(77,B,C,D,E,T,A,X(13),X(15),X( 5),X(10));
-+ BODY_60_79(78,A,B,C,D,E,T,X(14),X( 0),X( 6),X(11));
-+ BODY_60_79(79,T,A,B,C,D,E,X(15),X( 1),X( 7),X(12));
-+
-+ c->h0=(c->h0+E)&0xffffffffL;
-+ c->h1=(c->h1+T)&0xffffffffL;
-+ c->h2=(c->h2+A)&0xffffffffL;
-+ c->h3=(c->h3+B)&0xffffffffL;
-+ c->h4=(c->h4+C)&0xffffffffL;
-+
-+ if (--num <= 0) break;
-+
-+ A=c->h0;
-+ B=c->h1;
-+ C=c->h2;
-+ D=c->h3;
-+ E=c->h4;
-+
-+ }
-+ }
-+#endif
-diff -Nur linux_c860_org/drivers/pcmcia/cs.c linux/drivers/pcmcia/cs.c
---- linux_c860_org/drivers/pcmcia/cs.c 2003-02-27 13:28:33.000000000 +0900
-+++ linux/drivers/pcmcia/cs.c 2004-06-10 21:09:10.000000000 +0900
-@@ -35,6 +35,8 @@
- 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
- 12-Dec-2002 Sharp Corporation for Poodle and Corgi
- 07-Feb-2003 Sharp Corporation
-+ 08-Jan-2004 Sharp Corporation for Tosa
-+ 26-Feb-2004 Lineo Solutions, Inc. 2 slot support
-
- ======================================================================*/
-
-@@ -73,6 +75,8 @@
- #include <asm/arch/keyboard_poodle.h>
- #elif defined(CONFIG_ARCH_PXA_CORGI)
- #include <asm/arch/keyboard_corgi.h>
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#include <asm/arch/keyboard_tosa.h>
- #endif
- #include <asm/sharp_char.h>
- #include <asm/sharp_keycode.h>
-@@ -124,7 +128,11 @@
- INT_MODULE_PARM(shutdown_delay, 3); /* centiseconds */
- #ifdef CONFIG_ARCH_SHARP_SL
- //INT_MODULE_PARM(vcc_settle, 2); /* SL-5600@2 */
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+INT_MODULE_PARM(vcc_settle, 30); /* SL-6000 */
-+#else
- INT_MODULE_PARM(vcc_settle, 10); /* SL-C700+GW-CF11H@10 */
-+#endif
- INT_MODULE_PARM(reset_time, 1000);
- INT_MODULE_PARM(unreset_delay, 3);
- INT_MODULE_PARM(unreset_check, 1);
-@@ -490,6 +498,15 @@
- schedule_timeout( (n_cs * HZ + 99) / 100);
- }
-
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+static void cs_sleep2(unsigned int n_cs)
-+{
-+ current->state = TASK_UNINTERRUPTIBLE;
-+ schedule_timeout( (n_cs * HZ + 99) / 100);
-+}
-+
-+#endif
-+
- static void shutdown_socket(socket_info_t *s)
- {
- client_t **c;
-@@ -582,16 +599,45 @@
- #endif /* CONFIG_SABINAL_DISCOVERY */
-
-
--#if defined (CONFIG_ARCH_PXA_POODLE) || defined (CONFIG_ARCH_PXA_CORGI)
-+#if defined (CONFIG_ARCH_PXA_POODLE) || defined (CONFIG_ARCH_PXA_CORGI) || defined (CONFIG_ARCH_PXA_TOSA)
- {
- extern int sharpsl_main_battery;
- extern int sharpsl_main_bk_flag;
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ extern int sharpsl_jacket_exist;
-+ extern int sharpsl_jacket_batt_exist;
-+ extern int sharpsl_jacket_battery;
-+#endif
-
- sharpsl_kick_battery_check(0,1,1); // check battery and wait 10msec
-
- if ( ( sharpsl_main_battery == 0x7F ) || ( sharpsl_main_battery == 0x02 ) ) {
- printk(KERN_ERR "cs: Main battery is critical low."
- " (%d)\n", sharpsl_main_battery);
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ {
-+ int do_off = 0;
-+
-+ if(sharpsl_jacket_exist && sharpsl_jacket_batt_exist){
-+ if( sharpsl_jacket_battery == 0x7F || sharpsl_jacket_battery == 0x02 ){
-+ printk(KERN_ERR "cs: Jacket battery is critical low."
-+ " (%d)\n", sharpsl_jacket_battery);
-+ do_off = 1;
-+ }
-+ }else{
-+ do_off = 1;
-+ }
-+ if(do_off){
-+ if ( sharpsl_main_bk_flag ) {
-+ handle_scancode(SLKEY_OFF|KBDOWN , 1);
-+ mdelay(30);
-+ handle_scancode(SLKEY_OFF|KBUP , 0);
-+ }
-+ ret = 0;
-+ goto out;
-+ }
-+ }
-+#else
- if ( sharpsl_main_bk_flag ) {
- handle_scancode(SLKEY_OFF|KBDOWN , 1);
- mdelay(30);
-@@ -599,6 +645,7 @@
- }
- ret = 0;
- goto out;
-+#endif
- }
- }
- #endif
-@@ -644,17 +691,52 @@
- printk(KERN_NOTICE "cs: unsupported card type detected!\n");
- #endif
- }
-+
- set_socket(s, &s->socket);
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ //printk(":start %d %d\n",jiffies,vcc_settle);
-+ cs_sleep2(vcc_settle);
-+ //cs_sleep(vcc_settle);
-+ //printk(":end %d\n",jiffies);
-+#else
- cs_sleep(vcc_settle);
-+#endif
- reset_socket(s);
-
--#if defined (CONFIG_ARCH_PXA_POODLE) || defined (CONFIG_ARCH_PXA_CORGI)
-+#if defined (CONFIG_ARCH_PXA_POODLE) || defined (CONFIG_ARCH_PXA_CORGI) || defined (CONFIG_ARCH_PXA_TOSA)
- {
- extern int sharpsl_main_battery;
- extern int sharpsl_main_bk_flag;
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ extern int sharpsl_jacket_exist;
-+ extern int sharpsl_jacket_batt_exist;
-+ extern int sharpsl_jacket_battery;
-+#endif
-
- sharpsl_kick_battery_check(0,0,1); // check battery and wait 10msec
-
-+#if defined (CONFIG_ARCH_PXA_TOSA)
-+ if ( sharpsl_main_bk_flag && ( ( sharpsl_main_battery == 0x7F ) || ( sharpsl_main_battery == 0x02 ) ) ) {
-+ int do_remove = 0;
-+ if ( sharpsl_jacket_exist && sharpsl_jacket_batt_exist ) {
-+ if( sharpsl_jacket_battery == 0x7F || sharpsl_jacket_battery == 0x02 ){
-+ do_remove = 1;
-+ }
-+ }else{
-+ do_remove = 1;
-+ }
-+ if(do_remove){
-+ s->socket.Vcc = s->socket.Vpp = 0;
-+ s->state &= ~SOCKET_PRESENT;
-+ set_socket(s, &s->socket);
-+ cs_sleep(vcc_settle);
-+ reset_socket(s);
-+ send_event(s, CS_EVENT_CARD_REMOVAL, CS_EVENT_PRI_HIGH);
-+ ret = 0;
-+ goto out;
-+ }
-+ }
-+#else
- if ( sharpsl_main_bk_flag && ( ( sharpsl_main_battery == 0x7F ) || ( sharpsl_main_battery == 0x02 ) ) ) {
- s->socket.Vcc = s->socket.Vpp = 0;
- s->state &= ~SOCKET_PRESENT;
-@@ -665,6 +747,7 @@
- ret = 0;
- goto out;
- }
-+#endif
- }
- #endif
- ret = 1;
-@@ -701,8 +784,8 @@
- (SOCKET_SETUP_PENDING|SOCKET_SUSPEND|SOCKET_RESET_PENDING)
-
- #ifdef CONFIG_ARCH_SHARP_SL
--int ide_resume_handling = 0;
--int pcmcia_resume_handling = 0;
-+int ide_resume_handling[2] = { 0, 0 };
-+static int pcmcia_resume_handling = 0;
- #endif
-
- static void unreset_socket(socket_info_t *s)
-@@ -731,21 +814,21 @@
- s->state &= ~EVENT_MASK;
- #ifdef CONFIG_ARCH_SHARP_SL
- if (verify_cis_cache(s) != 0) {
-- if (is_pcmcia_card_present(0))
-- ide_resume_handling = 2;
-+ if (is_pcmcia_card_present(s->cap.pci_irq))
-+ ide_resume_handling[s->sock] = 2;
- parse_events(s, SS_DETECT);
- } else {
- cisparse_t parse;
- send_event(s, CS_EVENT_PM_RESUME, CS_EVENT_PRI_LOW);
- read_tuple(s->clients, CISTPL_FUNCID, &parse);
- #ifdef CONFIG_IDE
-- ide_resume_handling = 1;
-+ ide_resume_handling[s->sock] = 1;
- if (parse.funcid.func == CISTPL_FUNCID_FIXED &&
-- proc_ide_verify_identify() != 0) {
-- ide_resume_handling = 2;
-+ proc_ide_verify_identify(s->sock) != 0) {
-+ ide_resume_handling[s->sock] = 2;
- parse_events(s, SS_DETECT);
- } else {
-- ide_resume_handling = 0;
-+ ide_resume_handling[s->sock] = 0;
- }
- #endif
- /* power off serial card */
-@@ -854,7 +937,7 @@
- s->socket.flags |= SS_DEBOUNCED;
- if (setup_socket(s) == 0){
- s->state &= ~SOCKET_SETUP_PENDING;
--#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_POODLE)
-+#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_TOSA)
- /* If power-on failed in resume, then card eject. */
- if( s->state & SOCKET_SUSPEND )
- do_shutdown(s);
-@@ -960,6 +1043,19 @@
- return 0;
- } /* handle_pm_event */
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+void force_cardslot_suspend( int num )
-+{
-+ int i;
-+ socket_info_t *s;
-+ s = socket_table [num];
-+ if (s && !s->use_bus_pm) {
-+ //pcmcia_suspend_socket (socket_table [num]);
-+ suspend_socket (socket_table [num]);
-+ }
-+}
-+#endif
-+
- /*======================================================================
-
- Special stuff for managing IO windows, because they are scarce.
-@@ -2001,6 +2097,12 @@
- if (!req)
- return CS_UNSUPPORTED_MODE;
- c = CONFIG(handle);
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ if(c == NULL) {
-+ printk("%s: c is NULL\n",__func__);
-+ return CS_BAD_SOCKET;
-+ }
-+#endif
- if (c->state & CONFIG_LOCKED)
- return CS_CONFIGURATION_LOCKED;
- if (c->state & CONFIG_IO_REQ)
-@@ -2272,7 +2374,7 @@
- return CS_IN_USE;
-
- DEBUG(1, "cs: waking up socket %d\n", i);
--#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_POODLE)
-+#if defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_TOSA)
- /* If power-on failed, then card eject. */
- if( setup_socket(s) == 0 )
- do_shutdown(s);
-diff -Nur linux_c860_org/drivers/pcmcia/pxa/Makefile linux/drivers/pcmcia/pxa/Makefile
---- linux_c860_org/drivers/pcmcia/pxa/Makefile 2002-08-29 12:26:51.000000000 +0900
-+++ linux/drivers/pcmcia/pxa/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -16,6 +16,7 @@
- pxa_cs-objs-$(CONFIG_SABINAL_DISCOVERY) += pxa_sharpsl.o
- pxa_cs-objs-$(CONFIG_ARCH_PXA_POODLE) += pxa_sharpsl.o
- pxa_cs-objs-$(CONFIG_ARCH_PXA_CORGI) += pxa_sharpsl.o
-+pxa_cs-objs-$(CONFIG_ARCH_PXA_TOSA) += pxa_sharpsl.o
-
- obj-$(CONFIG_PCMCIA_PXA) += $(pxa_cs-objs-y)
-
-diff -Nur linux_c860_org/drivers/pcmcia/pxa/pxa.c linux/drivers/pcmcia/pxa/pxa.c
---- linux_c860_org/drivers/pcmcia/pxa/pxa.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/drivers/pcmcia/pxa/pxa.c 2004-06-10 21:09:10.000000000 +0900
-@@ -14,6 +14,7 @@
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. Tosa and 2 slot support
- */
-
- /*======================================================================
-@@ -170,7 +171,7 @@
- #endif
-
- #ifdef CONFIG_ARCH_SHARP_SL
-- u8 first = 1;
-+ static u8 first[2] = {1, 1};
- u8 force_8bit_access_check_done = 0;
- #endif
-
-@@ -253,6 +254,8 @@
- pcmcia_low_level=&sharpsl_pcmcia_ops;
- } else if( machine_is_corgi()){
- pcmcia_low_level=&sharpsl_pcmcia_ops;
-+ } else if( machine_is_tosa() ) {
-+ pcmcia_low_level=&sharpsl_pcmcia_ops;
- }
-
- if (!pcmcia_low_level) {
-@@ -415,17 +418,20 @@
-
- #ifdef CONFIG_ARCH_SHARP_SL
- printk("pxa_pcmcia_init(%d)\n",sock);
-- if(!first){
-+ if(!first[sock]){
- socket_state_t state;
- pxa_pcmcia_get_socket(sock, &state);
- state.flags &= ~SS_OUTPUT_ENA;
- state.Vcc = state.Vpp = 0;
- pxa_pcmcia_set_socket(sock, &state);
- } else {
-- first = 0;
-+ first[sock] = 0;
- }
- set_GPIO_mode(GPIO53_nPCE_2_MD); // reset force 8bit access.
- force_8bit_access_check_done = 0;
-+
-+ if (pcmcia_low_level->socket_init)
-+ return pcmcia_low_level->socket_init(sock);
- #endif
- return 0;
- }
-diff -Nur linux_c860_org/drivers/pcmcia/pxa/pxa_sharpsl.c linux/drivers/pcmcia/pxa/pxa_sharpsl.c
---- linux_c860_org/drivers/pcmcia/pxa/pxa_sharpsl.c 2003-01-14 12:07:55.000000000 +0900
-+++ linux/drivers/pcmcia/pxa/pxa_sharpsl.c 2004-06-10 21:09:10.000000000 +0900
-@@ -16,6 +16,7 @@
- *
- * ChangLog:
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. 2 slot support for Tosa
- */
- #include <linux/config.h>
- #include <linux/kernel.h>
-@@ -36,7 +37,11 @@
- #include <asm/sharp_apm.h>
-
- #include <linux/delay.h>
--
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#include <asm/arch/keyboard_tosa.h>
-+#include <asm/sharp_char.h>
-+#include <asm/sharp_keycode.h>
-+#endif
- //#define SHARPSL_PCMCIA_DEBUG
-
- #ifdef CONFIG_SABINAL_DISCOVERY
-@@ -73,9 +78,15 @@
- #define RESET_DONE 0x0001
- #endif
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+extern void set_jacketslot_error( int ); // tosa_battery.c
-+extern int current_jacketslot_error(void);
-+extern void force_cardslot_suspend(int num); // ../cs.c
-+#endif
-+
- void sharpsl_pcmcia_init_reset(void)
- {
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- #define SCP_INIT_DATA(adr,dat) (((adr)<<16)|(dat))
- #define SCP_INIT_DATA_END ((unsigned long)-1)
- static const unsigned long scp_init[] =
-@@ -99,6 +110,15 @@
- keep_vs[0] = NO_KEEP_VS;
- keep_rd[0] = 0;
- #endif
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ for(i=0; scp_init[i] != SCP_INIT_DATA_END; i++)
-+ {
-+ int adr = scp_init[i] >> 16;
-+ SCP_JC_REG(adr) = scp_init[i] & 0xFFFF;
-+ }
-+ keep_vs[1] = NO_KEEP_VS;
-+ keep_rd[1] = 0;
-+#endif
- }
-
- static void sharpsl_cf_status_change(int irq, void *dev, struct pt_regs *regs){
-@@ -167,10 +187,16 @@
- /* set GPIO_CF_CD & GPIO_CF_IRQ as inputs */
- GPDR(GPIO_CF_CD) &= ~GPIO_bit(GPIO_CF_CD);
- GPDR(GPIO_CF_IRQ) &= ~GPIO_bit(GPIO_CF_IRQ);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ GPDR(GPIO_JC_CF_IRQ) &= ~GPIO_bit(GPIO_JC_CF_IRQ);
-+#endif
-
- /* Set transition detect */
- set_GPIO_IRQ_edge( GPIO_CF_CD, GPIO_FALLING_EDGE );
- set_GPIO_IRQ_edge( GPIO_CF_IRQ, GPIO_FALLING_EDGE );
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ set_GPIO_IRQ_edge( GPIO_JC_CF_IRQ, GPIO_FALLING_EDGE );
-+#endif
-
- /* Register interrupts */
- irq = IRQ_GPIO_CF_CD;
-@@ -181,6 +207,10 @@
- /* enable interrupt */
- SCP_REG_IMR = 0x00C0;
- SCP_REG_MCR = 0x0101;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ SCP_JC_REG_IMR = 0x00C0;
-+ SCP_JC_REG_MCR = 0x0101;
-+#endif
- keep_vs[0] = keep_vs[1] = NO_KEEP_VS;
-
- /* There's only one slot, but it's "Slot 0": */
-@@ -240,6 +270,20 @@
- is16 = (ASIC3_GPIO_PSTS_D & CF_IOIS) ? 0 : 1;
- #else
- cpr = SCP_REG_CPR;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if( (cpr & 0x0080) && ((cpr & 0x8040) != 0x8040) ){
-+ extern int sharpsl_main_bk_flag;
-+
-+ printk(KERN_ERR "%s(): CPR=%04X, Low voltage!\n",
-+ __FUNCTION__, cpr);
-+ if ( sharpsl_main_bk_flag ) {
-+ handle_scancode(SLKEY_OFF|KBDOWN , 1);
-+ mdelay(30);
-+ handle_scancode(SLKEY_OFF|KBUP , 0);
-+ mdelay(30);
-+ }
-+ }
-+#endif
- //SCP_REG_CDR = 0x0002;
- SCP_REG_IRM = 0x00FF;
- SCP_REG_ISR = 0x0000;
-@@ -277,9 +321,67 @@
- state_array->state[0].vs_Xv = (csr & 0x0080)? 0:1;
-
- if( (cpr & 0x0080) && ((cpr & 0x8040) != 0x8040) ){
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#if 0
-+ if (!current_cardslot_error(0)) {
-+ force_cardslot_suspend(0);
-+ }
-+#endif
-+#else
- printk(KERN_ERR "%s(): CPR=%04X, Low voltage!\n",
- __FUNCTION__, cpr);
-+#endif
- }
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ cpr = SCP_JC_REG_CPR;
-+ //SCP_REG_CDR = 0x0002;
-+ SCP_JC_REG_IRM = 0x00FF;
-+ SCP_JC_REG_ISR = 0x0000;
-+ SCP_JC_REG_IRM = 0x0000;
-+ csr = SCP_JC_REG_CSR;
-+ if( csr & 0x0004 ){
-+ /* card eject */
-+ SCP_JC_REG_CDR = 0x0000;
-+ keep_vs[1] = NO_KEEP_VS;
-+ }
-+ else if( !(keep_vs[1] & NO_KEEP_VS) ){
-+ /* keep vs1,vs2 */
-+ SCP_JC_REG_CDR = 0x0000;
-+ csr |= keep_vs[1];
-+ }
-+ else if( cpr & 0x0003 ){
-+ /* power on */
-+ SCP_JC_REG_CDR = 0x0000;
-+ keep_vs[1] = (csr & 0x00C0);
-+ }
-+ else{ /* card detect */
-+ SCP_JC_REG_CDR = 0x0002;
-+ }
-+
-+#ifdef SHARPSL_PCMCIA_DEBUG
-+ printk("%s(): slot1 cpr=%04X, csr=%04X\n", __FUNCTION__, cpr, csr);
-+#endif
-+
-+ state_array->state[1].detect = (csr & 0x0004)? 0:1;
-+ state_array->state[1].ready = (csr & 0x0002)? 1:0;
-+ state_array->state[1].bvd1 = (csr & 0x0010)? 1:0;
-+ state_array->state[1].bvd2 = (csr & 0x0020)? 1:0;
-+ state_array->state[1].wrprot = (csr & 0x0008)? 1:0;
-+ state_array->state[1].vs_3v = (csr & 0x0040)? 0:1;
-+ state_array->state[1].vs_Xv = (csr & 0x0080)? 0:1;
-+
-+ if( (cpr & 0x0080) && ((cpr & 0x8040) != 0x8040) ){
-+#if 0
-+ printk(KERN_ERR "%s(): slot1 CPR=%04X, Low voltage!\n",
-+ __FUNCTION__, cpr);
-+#else
-+ if (!current_cardslot_error(1)) {
-+ force_cardslot_suspend(1);
-+ set_jacketslot_error(1);
-+ }
-+#endif
-+ }
-+#endif
- #endif
-
- return 1;
-@@ -296,6 +398,10 @@
- #else
- info->irq=IRQ_GPIO_CF_IRQ;
- #endif
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ } else if (info->sock == 1) {
-+ info->irq=IRQ_GPIO_JC_CF_IRQ;
-+#endif
- }
-
- return 0;
-@@ -313,8 +419,10 @@
- if (configure->sock > 1)
- return -1;
-
-+#if !defined(CONFIG_ARCH_PXA_TOSA)
- if (configure->sock != 0)
- return 0;
-+#endif
-
- #ifdef SHARPSL_PCMCIA_DEBUG
- printk("%s(): sk=%d, vc=%d, vp=%d, m=%04X, oe=%d, rs=%d, io=%d\n",
-@@ -419,88 +527,205 @@
-
- #else
-
-+#if defined(CONFIG_PM)
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if (configure->sock == 1) { // for socket1(Jacket)
-+ switch( configure->vcc ){
-+ case 0: sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA2, 0); break;
-+ case 33: sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA2, 1); break;
-+ case 50: sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA2, 1); break;
-+ default:
-+ printk(KERN_ERR "%s(): unrecognized Vcc %u\n",
-+ __FUNCTION__, configure->vcc);
-+ return -1;
-+ }
-+ } else {
-+#endif
- switch( configure->vcc ){
- case 0: sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA, 0); break;
- case 33: sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA, 1); break;
-- case 50: sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA, 1); break;
-+ case 50:
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if (configure->sock == 0) {
-+ printk(KERN_ERR "%s(): unrecognized Vcc %u\n",
-+ __FUNCTION__, configure->vcc);
-+ return -1;
-+ }
-+#endif
-+ sharpsl_batt_err = change_power_mode(LOCK_FCS_PCMCIA, 1); break;
- default:
- printk(KERN_ERR "%s(): unrecognized Vcc %u\n",
- __FUNCTION__, configure->vcc);
- return -1;
- }
--
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ }
-+#endif
- if ( !sharpsl_batt_err )
-- return -1;
-+ return -1;
-+#endif
-
-- if( (configure->vpp!=configure->vcc) && (configure->vpp!=0) ){
-- printk(KERN_ERR "%s(): CF slot cannot support Vpp %u\n",
-- __FUNCTION__, configure->vpp);
-- return -1;
-- }
-+ if (configure->sock == 0) {
-+ if( (configure->vpp!=configure->vcc) && (configure->vpp!=0) ){
-+ printk(KERN_ERR "%s(): CF slot cannot support Vpp %u\n",
-+ __FUNCTION__, configure->vpp);
-+ return -1;
-+ }
-+ save_flags_cli(flags);
-
-- save_flags_cli(flags);
-+ nmcr = (mcr = SCP_REG_MCR) & ~0x0010;
-+ ncpr = (cpr = SCP_REG_CPR) & ~0x0083;
-+ nccr = (ccr = SCP_REG_CCR) & ~0x0080;
-+ nimr = (imr = SCP_REG_IMR) & ~0x003E;
-+
-+ ncpr |= (configure->vcc == 33) ? 0x0001:
-+ (configure->vcc == 50) ? 0x0002:
-+ 0;
-+ nmcr |= (configure->flags&SS_IOCARD)? 0x0010: 0;
-+ ncpr |= (configure->flags&SS_OUTPUT_ENA)? 0x0080: 0;
-+ nccr |= (configure->flags&SS_RESET)? 0x0080: 0;
-+ nimr |= ((configure->masks&SS_DETECT) ? 0x0004: 0)|
-+ ((configure->masks&SS_READY) ? 0x0002: 0)|
-+ ((configure->masks&SS_BATDEAD)? 0x0010: 0)|
-+ ((configure->masks&SS_BATWARN)? 0x0020: 0)|
-+ ((configure->masks&SS_STSCHG) ? 0x0010: 0)|
-+ ((configure->masks&SS_WRPROT) ? 0x0008: 0);
-+
-+ if( !(ncpr & 0x0003) )
-+ keep_rd[0] = 0;
-+ else if( !(keep_rd[0] & RESET_DONE) ){
-+ if( nccr & 0x0080 )
-+ keep_rd[0] |= RESET_DONE;
-+ else nccr |= 0x0080;
-+ }
-+
-+ if( mcr != nmcr )
-+ SCP_REG_MCR = nmcr;
-+ if( cpr != ncpr )
-+ SCP_REG_CPR = ncpr;
-+ if( ccr != nccr )
-+ SCP_REG_CCR = nccr;
-+ if( imr != nimr )
-+ SCP_REG_IMR = nimr;
-+
-+ restore_flags(flags);
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ } else if (configure->sock == 1) {
-+ if( (configure->vpp!=configure->vcc) && (configure->vpp!=0) ){
-+ printk(KERN_ERR "%s(): CF slot1 cannot support Vpp %u\n",
-+ __FUNCTION__, configure->vpp);
-+ return -1;
-+ }
-+ save_flags_cli(flags);
-
-- nmcr = (mcr = SCP_REG_MCR) & ~0x0010;
-- ncpr = (cpr = SCP_REG_CPR) & ~0x0083;
-- nccr = (ccr = SCP_REG_CCR) & ~0x0080;
-- nimr = (imr = SCP_REG_IMR) & ~0x003E;
--
-- ncpr |= (configure->vcc == 33) ? 0x0001:
-- (configure->vcc == 50) ? 0x0002:
-- 0;
-- nmcr |= (configure->flags&SS_IOCARD)? 0x0010: 0;
-- ncpr |= (configure->flags&SS_OUTPUT_ENA)? 0x0080: 0;
-- nccr |= (configure->flags&SS_RESET)? 0x0080: 0;
-- nimr |= ((configure->masks&SS_DETECT) ? 0x0004: 0)|
-- ((configure->masks&SS_READY) ? 0x0002: 0)|
-- ((configure->masks&SS_BATDEAD)? 0x0010: 0)|
-- ((configure->masks&SS_BATWARN)? 0x0020: 0)|
-- ((configure->masks&SS_STSCHG) ? 0x0010: 0)|
-- ((configure->masks&SS_WRPROT) ? 0x0008: 0);
--
-- if( !(ncpr & 0x0003) )
-- keep_rd[0] = 0;
-- else if( !(keep_rd[0] & RESET_DONE) ){
-- if( nccr & 0x0080 )
-- keep_rd[0] |= RESET_DONE;
-- else nccr |= 0x0080;
-- }
--
-- if( mcr != nmcr )
-- SCP_REG_MCR = nmcr;
-- if( cpr != ncpr )
-- SCP_REG_CPR = ncpr;
-- if( ccr != nccr )
-- SCP_REG_CCR = nccr;
-- if( imr != nimr )
-- SCP_REG_IMR = nimr;
-+ nmcr = (mcr = SCP_JC_REG_MCR) & ~0x0010;
-+ ncpr = (cpr = SCP_JC_REG_CPR) & ~0x0083;
-+ nccr = (ccr = SCP_JC_REG_CCR) & ~0x0080;
-+ nimr = (imr = SCP_JC_REG_IMR) & ~0x003E;
-+
-+ ncpr |= (configure->vcc == 33) ? 0x0001:
-+ (configure->vcc == 50) ? 0x0002:
-+ 0;
-+ nmcr |= (configure->flags&SS_IOCARD)? 0x0010: 0;
-+ ncpr |= (configure->flags&SS_OUTPUT_ENA)? 0x0080: 0;
-+ nccr |= (configure->flags&SS_RESET)? 0x0080: 0;
-+ nimr |= ((configure->masks&SS_DETECT) ? 0x0004: 0)|
-+ ((configure->masks&SS_READY) ? 0x0002: 0)|
-+ ((configure->masks&SS_BATDEAD)? 0x0010: 0)|
-+ ((configure->masks&SS_BATWARN)? 0x0020: 0)|
-+ ((configure->masks&SS_STSCHG) ? 0x0010: 0)|
-+ ((configure->masks&SS_WRPROT) ? 0x0008: 0);
-+
-+ if( !(ncpr & 0x0003) )
-+ keep_rd[1] = 0;
-+ else if( !(keep_rd[1] & RESET_DONE) ){
-+ if( nccr & 0x0080 )
-+ keep_rd[1] |= RESET_DONE;
-+ else nccr |= 0x0080;
-+ }
-+
-+ if( mcr != nmcr )
-+ SCP_JC_REG_MCR = nmcr;
-+ if( cpr != ncpr )
-+ SCP_JC_REG_CPR = ncpr;
-+ if( ccr != nccr )
-+ SCP_JC_REG_CCR = nccr;
-+ if( imr != nimr )
-+ SCP_JC_REG_IMR = nimr;
-
-- restore_flags(flags);
-+ restore_flags(flags);
-+#endif
-+ }
-
- #endif
-
- return 0;
- }
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+static int sharpsl_pcmcia_socket_init(int sock)
-+{
-+ /* enable interrupt */
-+ switch(sock) {
-+ case 0:
-+ SCP_REG_IMR = 0x00C0;
-+ SCP_REG_MCR = 0x0101;
-+ break;
-+ case 1:
-+ SCP_JC_REG_IMR = 0x00C0;
-+ SCP_JC_REG_MCR = 0x0101;
-+ break;
-+ default:
-+ return -1;
-+ }
-+ return 0;
-+}
-+#endif
-+
- struct pcmcia_low_level sharpsl_pcmcia_ops = {
- sharpsl_pcmcia_init,
- sharpsl_pcmcia_shutdown,
- sharpsl_pcmcia_socket_state,
- sharpsl_pcmcia_get_irq_info,
-- sharpsl_pcmcia_configure_socket
-+ sharpsl_pcmcia_configure_socket,
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ sharpsl_pcmcia_socket_init,
-+#endif
- };
-
--int is_pcmcia_card_present(int slot)
-+int is_pcmcia_card_present(int irq)
- {
- int detect;
- #ifdef CONFIG_SABINAL_DISCOVERY
- detect = ((ASIC3_GPIO_PSTS_D & CF_DETECT) ? 0 : 1);
-+ //printk("is_card_present: irq=%d detect=%d\n", irq, detect);
-+ return detect;
- #else
-- int active;
-- active = (SCP_REG_CPR & 0x0003)? 1:0;
-- detect = (SCP_REG_CSR & 0x0004)? 0:1;
-+ int active = 0;
-+ if (irq == IRQ_GPIO_CF_IRQ) {
-+ active = (SCP_REG_CPR & 0x0003)? 1:0;
-+ detect = (SCP_REG_CSR & 0x0004)? 0:1;
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ } else if (irq == IRQ_GPIO_JC_CF_IRQ) {
-+ active = (SCP_JC_REG_CPR & 0x0003)? 1:0;
-+ detect = (SCP_JC_REG_CSR & 0x0004)? 0:1;
- #endif
-- //printk("is_card_present: detect=%d\n", detect);
-- //return detect;
-+ } else {
-+ /* unknown IRQ : return TRUE */
-+ return 1;
-+ }
-+ //printk("is_card_present: irq=%d detect=%d active=%d\n", irq, detect, active);
- return detect & active;
-+#endif
-+}
-+
-+int sharpsl_pcmcia_irq_to_sock(int irq)
-+{
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+ if (irq == IRQ_GPIO_JC_CF_IRQ) {
-+ return 1;
-+ }
-+#endif
-+ return 0;
- }
-+
-diff -Nur linux_c860_org/drivers/sbus/char/rtc.c linux/drivers/sbus/char/rtc.c
---- linux_c860_org/drivers/sbus/char/rtc.c 2002-08-26 14:39:04.000000000 +0900
-+++ linux/drivers/sbus/char/rtc.c 2004-06-10 21:09:10.000000000 +0900
-@@ -89,6 +89,7 @@
- switch (cmd)
- {
- case RTCGET:
-+ memset(&rtc_tm, 0, sizeof(struct rtc_time));
- get_rtc_time(&rtc_tm);
-
- if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
-diff -Nur linux_c860_org/drivers/sound/Config.in linux/drivers/sound/Config.in
---- linux_c860_org/drivers/sound/Config.in 2002-10-11 21:13:04.000000000 +0900
-+++ linux/drivers/sound/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -224,6 +224,8 @@
- dep_tristate ' Intel PXA250/210 AC97 audio' CONFIG_SOUND_PXA_AC97 $CONFIG_ARCH_PXA $CONFIG_SOUND
- dep_tristate ' Poodle audio support' CONFIG_SOUND_POODLE $CONFIG_ARCH_PXA $CONFIG_SOUND
- dep_tristate ' Corgi audio support' CONFIG_SOUND_CORGI $CONFIG_ARCH_PXA $CONFIG_SOUND
-+ dep_tristate ' Tosa audio support' CONFIG_SOUND_TOSA $CONFIG_AC97_TOSA $CONFIG_SOUND
-+ dep_tristate ' Tosa buzzer support' CONFIG_BUZZER_TOSA $CONFIG_SOUND_TOSA
- fi
-
- dep_tristate ' TV card (bt848) mixer support' CONFIG_SOUND_TVMIXER $CONFIG_SOUND $CONFIG_I2C
-diff -Nur linux_c860_org/drivers/sound/Makefile linux/drivers/sound/Makefile
---- linux_c860_org/drivers/sound/Makefile 2002-10-11 21:13:04.000000000 +0900
-+++ linux/drivers/sound/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -11,7 +11,7 @@
- msnd.o opl3.o sb_common.o sequencer_syms.o \
- sound_core.o sound_syms.o uart401.o \
- nm256_audio.o ac97.o ac97_codec.o aci.o \
-- sa1100-audio.o pxa-audio.o pxa-ac97.o
-+ sa1100-audio.o pxa-audio.o pxa-ac97.o pxa-ac97_tosa.o
-
- # Each configuration option enables a list of files.
-
-@@ -88,6 +88,7 @@
- obj-$(CONFIG_SOUND_DISCOVERY) += discovery_audio.o i2sc.o
- obj-$(CONFIG_SOUND_POODLE) += pxa-i2s.o poodle_i2sc.o poodle_wm8731.o
- obj-$(CONFIG_SOUND_CORGI) += pxa-i2s_corgi.o poodle_i2sc.o poodle_wm8731.o
-+obj-$(CONFIG_SOUND_TOSA) += pxa-ac97_tosa.o tosa_wm9712.o
-
- ifeq ($(CONFIG_MIDI_EMU10K1),y)
- obj-$(CONFIG_SOUND_EMU10K1) += sound.o
-diff -Nur linux_c860_org/drivers/sound/pxa-ac97_tosa.c linux/drivers/sound/pxa-ac97_tosa.c
---- linux_c860_org/drivers/sound/pxa-ac97_tosa.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/sound/pxa-ac97_tosa.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,2250 @@
-+/*
-+ * linux/drivers/sound/pxa-ac97_tosa.c
-+ *
-+ * AC97 interface for the Tosa chip
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on:
-+ * linux/drivers/sound/pxa-ac97.c -- AC97 interface for the Cotula chip
-+ * Author: Nicolas Pitre
-+ * Created: Aug 15, 2001
-+ * Copyright: MontaVista Software Inc.
-+ *
-+ * 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.
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/slab.h>
-+#include <linux/pci.h>
-+#include <linux/completion.h>
-+#include <linux/delay.h>
-+#include <linux/poll.h>
-+#include <linux/sound.h>
-+#include <linux/soundcard.h>
-+#include <linux/ac97_codec.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/uaccess.h>
-+#include <asm/semaphore.h>
-+#include <asm/dma.h>
-+
-+#include "pxa-audio.h"
-+
-+#include <asm/arch/tosa_wm9712.h>
-+
-+//struct ac97_codec *codec;
-+
-+/************************************************************
-+ * Debug
-+ ************************************************************/
-+#define DBG_LEVEL 0
-+
-+#define DBG_L0 0
-+#define DBG_L1 1
-+#define DBG_L2 2
-+#define DBG_L3 3
-+
-+#ifdef DBG_LEVEL
-+#define DEBUG(level, x, args...) \
-+ if ( level <= DBG_LEVEL ) printk("%s: " x,__FUNCTION__ ,##args)
-+#else
-+#define DEBUG(level, x, args...) \
-+ if ( !level ) printk("%s: " x,__FUNCTION__ ,##args)
-+#endif /* DBG_LEVEL */
-+
-+/************************************************************
-+ * Some declarations
-+ ************************************************************/
-+#define SND_DEV_STATUS 6 /* /dev/sndstat for Compatible for Collie */
-+
-+#define AUDIO_NBFRAGS_DEFAULT 8
-+#define AUDIO_FRAGSIZE_DEFAULT 8192
-+
-+#define MAX_DMA_SIZE 4096
-+#define DMA_DESC_SIZE sizeof(pxa_dma_desc)
-+
-+#define IOCTL_IN(arg, ret) \
-+ do { int error = get_user(ret, (int *)(arg)); \
-+ if (error) return error; \
-+ } while (0)
-+#define IOCTL_OUT(arg, ret) ioctl_return((int *)(arg), ret)
-+
-+#define DMA_NO_INITIALIZED 1
-+#define ALARM_NO_MALLOC 1
-+#ifdef CONFIG_BUZZER_TOSA
-+#define BUZZER_FORCE_CLOSE 1
-+#else
-+#undef BUZZER_FORCE_CLOSE
-+#endif /* CONFIG_BUZZER_TOSA */
-+
-+/************************************************************
-+ * Power maneagement
-+ ************************************************************/
-+#ifdef CONFIG_PM
-+#include <linux/pm.h>
-+static struct pm_dev* pxa_sound_pm_dev;
-+static int tosa_pm_callback(struct pm_dev *,pm_request_t, void *);
-+extern void tosa_ts_suspend(void);
-+extern void tosa_ts_resume(void);
-+#endif /* CONFIG_PM */
-+
-+/************************************************************
-+ * valiables
-+ ************************************************************/
-+static ssize_t (*ct_func)
-+ (const u_char *, size_t, u_char *, ssize_t *, ssize_t) = NULL;
-+static ssize_t (*ct_read_func)
-+ (const u_char *, size_t, u_char *, ssize_t *, ssize_t) = NULL;
-+
-+static int tosa_intmode = 0;
-+static int tosa_intmode_speed = 0;
-+static int tosa_intmode_direct = 0;
-+static short *int_data_org = NULL ;
-+#ifdef ALARM_NO_MALLOC
-+static int tosa_intmode_cur = 0;
-+static int tosa_intmode_step = 0;
-+#else /* ALARM_NO_MALLOC */
-+static short *int_data = NULL ;
-+#endif /* ALARM_NO_MALLOC */
-+
-+#if defined(BUZZER_FORCE_CLOSE) && defined(CONFIG_BUZZER_TOSA)
-+#define WAIT_BZ_RELEASE ( ( 2 * 1000 ) / 10 )
-+static int buzzer_open = 0;
-+static int buzzer_close = 0;
-+#endif /* BUZZER_FORCE_CLOSE */
-+
-+extern int wm9712_mono_out; // mix output data into mono
-+
-+/************************************************************
-+ * Prototype
-+ ************************************************************/
-+static int tosa_init(void);
-+static int tosa_set_volume(int);
-+static int tosa_set_stereo(int);
-+static int tosa_set_format(int);
-+static int tosa_set_gain(int);
-+static int tosa_get_gain(void);
-+static int tosa_get_volume(void);
-+static int tosa_set_freq(int);
-+static int mixer_ioctl
-+ (struct inode *, struct file *,unsigned int, unsigned long);
-+static void tosa_intmode_mix(unsigned char *,int);
-+
-+/************************************************************
-+ * Machine definitions
-+ ************************************************************/
-+typedef struct {
-+ ssize_t (*ct_ulaw)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_alaw)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_s8)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_u8)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_s16be)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_u16be)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_s16le)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+ ssize_t (*ct_u16le)(const u_char *, size_t, u_char *, ssize_t *, ssize_t);
-+} TRANS;
-+
-+typedef struct {
-+ int (*init)(void);
-+ void (*silence)(void);
-+ int (*setFormat)(int);
-+ int (*setVolume)(int);
-+ int (*getVolume)(void);
-+ int (*setStereo)(int);
-+ int (*setBass)(int);
-+ int (*setTreble)(int);
-+ int (*setGain)(int);
-+ int (*getGain)(void);
-+ int (*setFreq)(int);
-+ void (*play)(void);
-+} PLATFORM;
-+
-+static PLATFORM mach_tosa = {
-+ tosa_init, // void init(void)
-+ NULL, // void silence(void)
-+ tosa_set_format, // int setFormat(int)
-+ tosa_set_volume, // int setVolume(int)
-+ tosa_get_volume, // int getVolume(void)
-+ tosa_set_stereo, // int setStereo(int)
-+ NULL, // int setBass(int)
-+ NULL, // int setTreble(int)
-+ tosa_set_gain, // int setGain(int)
-+ tosa_get_gain, // int getGain(void)
-+ tosa_set_freq, // int setFreq(int)
-+ NULL, // void play(void)
-+};
-+
-+/************************************************************
-+ * /dev/setting
-+ ************************************************************/
-+struct sound_settings {
-+ PLATFORM mach; /* platform dependent things */
-+ TRANS *trans; /* supported translations */
-+ TRANS *trans_read; /* supported translations */
-+ unsigned short mode;
-+ int format; /* AFMT_* */
-+ int stereo; /* 0 = mono, 1 = stereo */
-+ int size; /* 8/16 bit*/
-+ int freq; /* freq */
-+ int volume_left; /* volume (range is 0 - 100%) */
-+ int volume_right;
-+ int gain_left; /* input gain (range is 0 - 100%) */
-+ int gain_right;
-+ int bass; /* tone (not support) */
-+ int treble;
-+ /* device independ */
-+ // int gain_shift; /* input gain shift */
-+ // int gain; /* input gain */
-+};
-+static struct sound_settings sound;
-+
-+/* /dev/sndstat */
-+struct sound_state {
-+ int dev_state;
-+ int busy;
-+ char buf[512];
-+ int len, ptr;
-+};
-+static struct sound_state tosa_sound_state;
-+
-+static audio_stream_t ac97_audio_out = {
-+ name: "AC97 audio out",
-+ dcmd: DCMD_TXPCDR,
-+ drcmr: &DRCMRTXPCDR,
-+ dev_addr: __PREG(PCDR),
-+};
-+
-+static audio_stream_t ac97_audio_in = {
-+ name: "AC97 audio in",
-+ dcmd: DCMD_RXPCDR,
-+ drcmr: &DRCMRRXPCDR,
-+ dev_addr: __PREG(PCDR),
-+};
-+
-+static audio_state_t ac97_audio_state = {
-+ output_stream: &ac97_audio_out,
-+ input_stream: &ac97_audio_in,
-+ sem: __MUTEX_INITIALIZER(ac97_audio_state.sem),
-+};
-+
-+#if 0
-+typedef struct {
-+ int shift;
-+ int gain;
-+} input_gain_t;
-+
-+static input_gain_t input_gain[7] = {
-+ { 2 , 0 },
-+ { 0 , 1 },
-+ { 1 , 1 },
-+ { 2 , 1 },
-+ { 3 , 1 },
-+ { 4 , 1 },
-+ { 5 , 1 }
-+};
-+#endif
-+
-+/************************************************************
-+ * data convert
-+ ************************************************************/
-+/* 16 bit mu-law */
-+static short ulaw2dma16[] = {
-+ -32124, -31100, -30076, -29052, -28028, -27004, -25980, -24956,
-+ -23932, -22908, -21884, -20860, -19836, -18812, -17788, -16764,
-+ -15996, -15484, -14972, -14460, -13948, -13436, -12924, -12412,
-+ -11900, -11388, -10876, -10364, -9852, -9340, -8828, -8316,
-+ -7932, -7676, -7420, -7164, -6908, -6652, -6396, -6140,
-+ -5884, -5628, -5372, -5116, -4860, -4604, -4348, -4092,
-+ -3900, -3772, -3644, -3516, -3388, -3260, -3132, -3004,
-+ -2876, -2748, -2620, -2492, -2364, -2236, -2108, -1980,
-+ -1884, -1820, -1756, -1692, -1628, -1564, -1500, -1436,
-+ -1372, -1308, -1244, -1180, -1116, -1052, -988, -924,
-+ -876, -844, -812, -780, -748, -716, -684, -652,
-+ -620, -588, -556, -524, -492, -460, -428, -396,
-+ -372, -356, -340, -324, -308, -292, -276, -260,
-+ -244, -228, -212, -196, -180, -164, -148, -132,
-+ -120, -112, -104, -96, -88, -80, -72, -64,
-+ -56, -48, -40, -32, -24, -16, -8, 0,
-+ 32124, 31100, 30076, 29052, 28028, 27004, 25980, 24956,
-+ 23932, 22908, 21884, 20860, 19836, 18812, 17788, 16764,
-+ 15996, 15484, 14972, 14460, 13948, 13436, 12924, 12412,
-+ 11900, 11388, 10876, 10364, 9852, 9340, 8828, 8316,
-+ 7932, 7676, 7420, 7164, 6908, 6652, 6396, 6140,
-+ 5884, 5628, 5372, 5116, 4860, 4604, 4348, 4092,
-+ 3900, 3772, 3644, 3516, 3388, 3260, 3132, 3004,
-+ 2876, 2748, 2620, 2492, 2364, 2236, 2108, 1980,
-+ 1884, 1820, 1756, 1692, 1628, 1564, 1500, 1436,
-+ 1372, 1308, 1244, 1180, 1116, 1052, 988, 924,
-+ 876, 844, 812, 780, 748, 716, 684, 652,
-+ 620, 588, 556, 524, 492, 460, 428, 396,
-+ 372, 356, 340, 324, 308, 292, 276, 260,
-+ 244, 228, 212, 196, 180, 164, 148, 132,
-+ 120, 112, 104, 96, 88, 80, 72, 64,
-+ 56, 48, 40, 32, 24, 16, 8, 0,
-+};
-+
-+/* 16 bit A-law */
-+static short alaw2dma16[] = {
-+ -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736,
-+ -7552, -7296, -8064, -7808, -6528, -6272, -7040, -6784,
-+ -2752, -2624, -3008, -2880, -2240, -2112, -2496, -2368,
-+ -3776, -3648, -4032, -3904, -3264, -3136, -3520, -3392,
-+ -22016, -20992, -24064, -23040, -17920, -16896, -19968, -18944,
-+ -30208, -29184, -32256, -31232, -26112, -25088, -28160, -27136,
-+ -11008, -10496, -12032, -11520, -8960, -8448, -9984, -9472,
-+ -15104, -14592, -16128, -15616, -13056, -12544, -14080, -13568,
-+ -344, -328, -376, -360, -280, -264, -312, -296,
-+ -472, -456, -504, -488, -408, -392, -440, -424,
-+ -88, -72, -120, -104, -24, -8, -56, -40,
-+ -216, -200, -248, -232, -152, -136, -184, -168,
-+ -1376, -1312, -1504, -1440, -1120, -1056, -1248, -1184,
-+ -1888, -1824, -2016, -1952, -1632, -1568, -1760, -1696,
-+ -688, -656, -752, -720, -560, -528, -624, -592,
-+ -944, -912, -1008, -976, -816, -784, -880, -848,
-+ 5504, 5248, 6016, 5760, 4480, 4224, 4992, 4736,
-+ 7552, 7296, 8064, 7808, 6528, 6272, 7040, 6784,
-+ 2752, 2624, 3008, 2880, 2240, 2112, 2496, 2368,
-+ 3776, 3648, 4032, 3904, 3264, 3136, 3520, 3392,
-+ 22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944,
-+ 30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136,
-+ 11008, 10496, 12032, 11520, 8960, 8448, 9984, 9472,
-+ 15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568,
-+ 344, 328, 376, 360, 280, 264, 312, 296,
-+ 472, 456, 504, 488, 408, 392, 440, 424,
-+ 88, 72, 120, 104, 24, 8, 56, 40,
-+ 216, 200, 248, 232, 152, 136, 184, 168,
-+ 1376, 1312, 1504, 1440, 1120, 1056, 1248, 1184,
-+ 1888, 1824, 2016, 1952, 1632, 1568, 1760, 1696,
-+ 688, 656, 752, 720, 560, 528, 624, 592,
-+ 944, 912, 1008, 976, 816, 784, 880, 848,
-+};
-+
-+static ssize_t tosa_ct_law(const u_char *userPtr, size_t userCount,
-+ u_char frame[], ssize_t *frameUsed, ssize_t frameLeft)
-+{
-+ short *table = sound.format == AFMT_MU_LAW ? ulaw2dma16: alaw2dma16;
-+ ssize_t count, used;
-+ short *p = (short *) &frame[*frameUsed];
-+ int val, stereo = sound.stereo;
-+
-+ frameLeft >>= 2;
-+ if (stereo)
-+ userCount >>= 1;
-+ used = count = min(userCount, frameLeft);
-+ while (count > 0) {
-+ u_char data;
-+ if (get_user(data, userPtr++)) {
-+ return -EFAULT;
-+ }
-+ val = table[data];
-+ *p++ = val; /* Left Ch. */
-+ if (stereo) {
-+ if (get_user(data, userPtr++)) {
-+ return -EFAULT;
-+ }
-+ val = table[data];
-+ }
-+ *p++ = val; /* Right Ch. */
-+ count--;
-+ }
-+ *frameUsed += used * 4;
-+ return stereo? used * 2: used;
-+}
-+
-+static ssize_t tosa_ct_u8(const u_char *userPtr, size_t userCount,
-+ u_char frame[], ssize_t *frameUsed, ssize_t frameLeft)
-+{
-+ int ch = (sound.stereo)?2:1;
-+ unsigned char *src = (unsigned char *)userPtr;
-+ short *dstct = (short *)frame;
-+ short tmpval;
-+ int frameMax = frameLeft >> 2;
-+ int userMax = userCount >> (ch-1);
-+ int idx,samplingCount = min(frameMax,userMax);
-+
-+ if (!wm9712_mono_out || ch==1) {
-+ for (idx=0; idx<samplingCount; idx++) {
-+ if (get_user(tmpval,src)) {
-+ return -EFAULT;
-+ }
-+ *dstct++ = (tmpval-128)<<8;
-+ if (ch>1) src++;
-+ if (get_user(tmpval,src++)) {
-+ return -EFAULT;
-+ }
-+ *dstct++ = (tmpval-128)<<8;
-+ }
-+ } else {
-+ short vall,valr;
-+ for (idx=0; idx<samplingCount; idx++) {
-+ if (get_user(vall,src++) || get_user(valr,src++)) {
-+ return -EFAULT;
-+ }
-+ vall = (vall-128)<<8;
-+ valr = (valr-128)<<8;
-+ vall = vall/2+valr/2;
-+ *dstct++ = vall;
-+ *dstct++ = vall;
-+ }
-+ }
-+
-+ *frameUsed = samplingCount * 2 * 2; // dma is always stereo 16bit
-+ return samplingCount * ch;
-+}
-+
-+static ssize_t tosa_ct_s16(const u_char *userPtr, size_t userCount,
-+ u_char frame[], ssize_t *frameUsed, ssize_t frameLeft)
-+{
-+ int ch = (sound.stereo)?2:1;
-+ short *src = (short *)userPtr;
-+ short *dstct = (short *)frame;
-+ int frameMax = frameLeft >> 2;
-+ int userMax = userCount >> ch;
-+ int samplingCount = min(frameMax,userMax);
-+
-+ if ( ch > 1 ) { // stereo
-+ if (!wm9712_mono_out) {
-+ if (copy_from_user(dstct,src,samplingCount * ch * 2)) {
-+ return -EFAULT;
-+ }
-+ } else {
-+ int idx;
-+ short vall,valr;
-+ for (idx=0; idx<samplingCount; idx++) {
-+ if (get_user(vall,src++) || get_user(valr,src++)) {
-+ return -EFAULT;
-+ }
-+ vall = vall/2+valr/2;
-+ *dstct++ = vall;
-+ *dstct++ = vall;
-+ }
-+ }
-+ } else { // mono
-+ int idx;
-+ for (idx=0; idx<samplingCount; idx++) {
-+ if (get_user(*dstct++,src) || get_user(*dstct++,src++)) {
-+ return -EFAULT;
-+ }
-+ }
-+ }
-+
-+ *frameUsed = samplingCount * 2 * 2; // dma is always stereo 16bit
-+ return samplingCount * ch * 2;
-+}
-+
-+static TRANS trans_tosa = {
-+ tosa_ct_law,tosa_ct_law,0,tosa_ct_u8,0,0,tosa_ct_s16,0
-+};
-+
-+/* data convert for recording */
-+static ssize_t tosa_ct_read_u8(const u_char *userPtr, size_t userCount,
-+ u_char frame[], ssize_t *frameUsed, ssize_t frameLeft)
-+{
-+ int ch = (sound.stereo)?2:1;
-+ unsigned char *usrbuf = (unsigned char *)userPtr;
-+ short *dmabuf = (short *)frame;
-+ short tmpval;
-+ int dmaMax = frameLeft >> 2; // dma is always stereo
-+ int userMax = userCount >> ch;
-+ int ct,samplingCount = min(dmaMax,userMax);
-+
-+ for (ct=0; ct<samplingCount; ct++) {
-+ dmabuf++; // use right data
-+ tmpval = *dmabuf>>8;
-+ if (tmpval>127) tmpval = 127;
-+ else if (tmpval<-128) tmpval = -128;
-+ if (put_user((unsigned char)(tmpval+128),usrbuf++)) { // left channel
-+ return -EFAULT;
-+ }
-+ if (ch>1) { // right channel
-+ tmpval = *dmabuf>>8;
-+ if (tmpval>127) tmpval = 127;
-+ else if (tmpval<-128) tmpval = -128;
-+ if (put_user((unsigned char)(tmpval+128),usrbuf++)) {
-+ return -EFAULT;
-+ }
-+ }
-+ dmabuf++;
-+ }
-+ *frameUsed = samplingCount * 2 * 2; // dma is always stereo
-+ return samplingCount * ch;
-+}
-+
-+static ssize_t tosa_ct_read_s16(const u_char *userPtr, size_t userCount,
-+ u_char frame[], ssize_t *frameUsed, ssize_t frameLeft)
-+{
-+ int ch = (sound.stereo)?2:1;
-+ short *usrbuf = (short *)userPtr;
-+ short *dmabuf = (short *)frame;
-+ int dmaMax = frameLeft >> 2; // dma is always stereo
-+ int userMax = userCount >> ch;
-+ int ct,samplingCount = min(dmaMax,userMax);
-+
-+ for (ct=0; ct<samplingCount; ct++) {
-+ dmabuf++; // use right data
-+ if (put_user((*dmabuf),usrbuf++)) { // left channel
-+ return -EFAULT;
-+ }
-+ if (ch>1) { // right channel
-+ if (put_user(*dmabuf,usrbuf++)) {
-+ return -EFAULT;
-+ }
-+ }
-+ dmabuf++;
-+ }
-+ *frameUsed = samplingCount * 2 * 2; // dma is always stereo
-+ return samplingCount * ch * 2;
-+}
-+
-+static TRANS trans_r_tosa = {
-+ 0,0,0,tosa_ct_read_u8,0,0,tosa_ct_read_s16,0
-+};
-+
-+/************************************************************
-+ * Common stuff
-+ ************************************************************/
-+static inline int ioctl_return(int *addr, int value)
-+{
-+ if ( value < 0 ) return value;
-+ return put_user(value, addr) ? -EFAULT: 0;
-+}
-+
-+static inline void tosa_ac97_write(unsigned int data)
-+{
-+ while ( 1 ) {
-+ if ( (GPLR(GPIO31_SYNC) & GPIO_bit(GPIO31_SYNC)) == GPIO_bit(GPIO31_SYNC) )
-+ break;
-+ }
-+ PCDR = data;
-+}
-+
-+/************************************************************
-+ * This function frees all buffers
-+ ************************************************************/
-+
-+#define audio_clear_buf pxa_audio_clear_buf
-+
-+void pxa_audio_clear_buf(audio_stream_t * s)
-+{
-+ DECLARE_WAITQUEUE(wait, current);
-+ int frag;
-+
-+ if (!s->buffers)
-+ return;
-+
-+ /* Ensure DMA isn't running */
-+ set_current_state(TASK_UNINTERRUPTIBLE);
-+ add_wait_queue(&s->stop_wq, &wait);
-+ DCSR(s->dma_ch) = DCSR_STOPIRQEN;
-+ schedule();
-+ remove_wait_queue(&s->stop_wq, &wait);
-+
-+ /* free DMA buffers */
-+ for (frag = 0; frag < s->nbfrags; frag++) {
-+ audio_buf_t *b = &s->buffers[frag];
-+ if (!b->master)
-+ continue;
-+ consistent_free(b->data, b->master, b->dma_desc->dsadr);
-+ }
-+
-+ /* free descriptor ring */
-+ if (s->buffers->dma_desc)
-+ consistent_free(s->buffers->dma_desc,
-+ s->nbfrags * s->descs_per_frag * DMA_DESC_SIZE,
-+ s->dma_desc_phys);
-+
-+ /* free buffer structure array */
-+ kfree(s->buffers);
-+ s->buffers = NULL;
-+}
-+
-+/************************************************************
-+ * This function allocates the DMA descriptor array and buffer data space
-+ * according to the current number of fragments and fragment size.
-+ ************************************************************/
-+static int audio_setup_buf(audio_stream_t * s)
-+{
-+ pxa_dma_desc *dma_desc;
-+ dma_addr_t dma_desc_phys;
-+ int nb_desc, frag, i, buf_size = 0;
-+ char *dma_buf = NULL;
-+ dma_addr_t dma_buf_phys = 0;
-+
-+ DEBUG(DBG_L2, "Enter audio_setup buffer\n");
-+
-+ if (s->buffers)
-+ return -EBUSY;
-+
-+ /* Our buffer structure array */
-+ s->buffers = kmalloc(sizeof(audio_buf_t) * s->nbfrags, GFP_KERNEL);
-+ if (!s->buffers)
-+ goto err;
-+ memzero(s->buffers, sizeof(audio_buf_t) * s->nbfrags);
-+ /*
-+ * Our DMA descriptor array:
-+ * for Each fragment we have one checkpoint descriptor plus one
-+ * descriptor per MAX_DMA_SIZE byte data blocks.
-+ */
-+ nb_desc = (1 + (s->fragsize + MAX_DMA_SIZE - 1)/MAX_DMA_SIZE) * s->nbfrags;
-+ dma_desc = consistent_alloc(GFP_KERNEL,
-+ nb_desc * DMA_DESC_SIZE, &dma_desc_phys);
-+ if (!dma_desc)
-+ goto err;
-+ s->descs_per_frag = nb_desc / s->nbfrags;
-+ s->buffers->dma_desc = dma_desc;
-+ s->dma_desc_phys = dma_desc_phys;
-+ for (i = 0; i < nb_desc - 1; i++)
-+ dma_desc[i].ddadr = dma_desc_phys + (i + 1) * DMA_DESC_SIZE;
-+ dma_desc[i].ddadr = dma_desc_phys;
-+
-+ /* Our actual DMA buffers */
-+ for (frag = 0; frag < s->nbfrags; frag++) {
-+ audio_buf_t *b = &s->buffers[frag];
-+ /*
-+ * Let's allocate non-cached memory for DMA buffers.
-+ * We try to allocate all memory at once.
-+ * If this fails (a common reason is memory fragmentation),
-+ * then we'll try allocating smaller buffers.
-+ */
-+ if (!buf_size) {
-+ buf_size = (s->nbfrags - frag) * s->fragsize;
-+ do {
-+ dma_buf = consistent_alloc(GFP_KERNEL,
-+ buf_size,
-+ &dma_buf_phys);
-+ if (!dma_buf)
-+ buf_size -= s->fragsize;
-+ } while (!dma_buf && buf_size);
-+ if (!dma_buf)
-+ goto err;
-+ b->master = buf_size;
-+ memzero(dma_buf, buf_size);
-+ }
-+
-+ /*
-+ * is always zero, we'll abuse the dsadr and dtadr fields
-+ * just in case this one is picked up by the hardware.
-+ * while processing SOUND_DSP_GETPTR.
-+ */
-+ dma_desc->dsadr = dma_buf_phys;
-+ dma_desc->dtadr = dma_buf_phys;
-+ dma_desc->dcmd = DCMD_ENDIRQEN;
-+ if (s->output && !s->mapped)
-+ dma_desc->ddadr |= DDADR_STOP;
-+ b->dma_desc = dma_desc++;
-+
-+ /* set up the actual data descriptors */
-+ for (i = 0; (i * MAX_DMA_SIZE) < s->fragsize; i++) {
-+ dma_desc[i].dsadr = (s->output) ?
-+ (dma_buf_phys + i*MAX_DMA_SIZE) : s->dev_addr;
-+ dma_desc[i].dtadr = (s->output) ?
-+ s->dev_addr : (dma_buf_phys + i*MAX_DMA_SIZE);
-+ dma_desc[i].dcmd = s->dcmd |
-+ ((s->fragsize < MAX_DMA_SIZE) ?
-+ s->fragsize : MAX_DMA_SIZE);
-+
-+ DEBUG(DBG_L3, "dsadr[%8x],dtadr[%8x],dcmd[%8x]\n",
-+ dma_desc[i].dsadr,dma_desc[i].dtadr,dma_desc[i].dcmd);
-+
-+ }
-+ dma_desc += i;
-+
-+ /* handle buffer pointers */
-+ b->data = dma_buf;
-+ dma_buf += s->fragsize;
-+ dma_buf_phys += s->fragsize;
-+ buf_size -= s->fragsize;
-+ }
-+
-+ s->usr_frag = s->dma_frag = 0;
-+ s->bytecount = 0;
-+ s->fragcount = 0;
-+ sema_init(&s->sem, (s->output) ? s->nbfrags : 0);
-+ return 0;
-+
-+err:
-+ DEBUG(DBG_L0, "unable to allocate audio memory\n ");
-+ audio_clear_buf(s);
-+ return -ENOMEM;
-+}
-+
-+/************************************************************
-+ * Our DMA interrupt handler
-+ ************************************************************/
-+static void audio_dma_irq(int ch, void *dev_id, struct pt_regs *regs)
-+{
-+ audio_stream_t *s = dev_id;
-+ u_int dcsr;
-+
-+ dcsr = DCSR(ch);
-+ DCSR(ch) = dcsr & ~DCSR_STOPIRQEN;
-+
-+ DEBUG(DBG_L2, "dcsr(ch) = %8x(%d)\n",dcsr,ch);
-+
-+ if (!s->buffers) {
-+ DEBUG(DBG_L0, "DMA: wow... received IRQ for channel %d but no buffer exists\n", ch);
-+ return;
-+ }
-+
-+ if (dcsr & DCSR_BUSERR)
-+ DEBUG(DBG_L0, "DMA: bus error interrupt on channel %d\n", ch);
-+
-+ if (dcsr & DCSR_ENDINTR) {
-+ u_long cur_dma_desc;
-+ u_int cur_dma_frag;
-+
-+ /*
-+ * Find out which DMA desc is current. Note that DDADR
-+ * points to the next desc, not the current one.
-+ */
-+ cur_dma_desc = DDADR(ch) - s->dma_desc_phys - DMA_DESC_SIZE;
-+
-+ /*
-+ * Let the compiler nicely optimize constant divisors into
-+ * multiplications for the common cases which is much faster.
-+ * Common cases: x = 1 + (1 << y) for y = [0..3]
-+ */
-+ switch (s->descs_per_frag) {
-+ case 2: cur_dma_frag = cur_dma_desc / (2*DMA_DESC_SIZE); break;
-+ case 3: cur_dma_frag = cur_dma_desc / (3*DMA_DESC_SIZE); break;
-+ case 5: cur_dma_frag = cur_dma_desc / (5*DMA_DESC_SIZE); break;
-+ case 9: cur_dma_frag = cur_dma_desc / (9*DMA_DESC_SIZE); break;
-+ default: cur_dma_frag =
-+ cur_dma_desc / (s->descs_per_frag * DMA_DESC_SIZE);
-+ }
-+
-+ /* Account for possible wrap back of cur_dma_desc above */
-+ if (cur_dma_frag >= s->nbfrags)
-+ cur_dma_frag = s->nbfrags - 1;
-+
-+ while (s->dma_frag != cur_dma_frag) {
-+ if (!s->mapped) {
-+ /*
-+ * This fragment is done - set the checkpoint
-+ * descriptor to STOP until it is gets
-+ * processed by the read or write function.
-+ */
-+ s->buffers[s->dma_frag].dma_desc->ddadr |= DDADR_STOP;
-+ up(&s->sem);
-+ }
-+ if (++s->dma_frag >= s->nbfrags)
-+ s->dma_frag = 0;/* Accounting */
-+ s->bytecount += s->fragsize;
-+ s->fragcount++;
-+ }
-+
-+ /* ... and for polling processes */
-+ wake_up(&s->frag_wq);
-+ }
-+
-+ if ((dcsr & DCSR_STOPIRQEN) && (dcsr & DCSR_STOPSTATE))
-+ wake_up(&s->stop_wq);
-+}
-+
-+/************************************************************
-+ * Validate and sets up buffer fragments, etc.
-+ ************************************************************/
-+static int audio_set_fragments(audio_stream_t *s, int val)
-+{
-+ if (s->mapped || DCSR(s->dma_ch) & DCSR_RUN)
-+ return -EBUSY;
-+ if (s->buffers)
-+ audio_clear_buf(s);
-+ s->nbfrags = (val >> 16) & 0x7FFF;
-+ val &= 0xffff;
-+ if (val < 5)
-+ val = 5;
-+ if (val > 15)
-+ val = 15;
-+ s->fragsize = 1 << val;
-+ if (s->nbfrags < 2)
-+ s->nbfrags = 2;
-+ if (s->nbfrags * s->fragsize > 256 * 1024)
-+ s->nbfrags = 256 * 1024 / s->fragsize;
-+ if (audio_setup_buf(s))
-+ return -ENOMEM;
-+ return val|(s->nbfrags << 16);
-+}
-+
-+/************************************************************
-+ * Detect HP Jack
-+ ************************************************************/
-+static void tosa_hp_thread(void)
-+{
-+ while(1) {
-+ wm9712_checkjack_sleep();
-+ wm9712_update_jack_state();
-+ }
-+}
-+
-+/************************************************************
-+ * Prototype functions
-+ ************************************************************/
-+static int tosa_init(void)
-+{
-+ if ( wm9712_init() ) {
-+ DEBUG(DBG_L0, "Fail Init\n");
-+ }
-+
-+ /* Make threads */
-+ kernel_thread(tosa_hp_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+}
-+
-+static int tosa_set_volume(int volume)
-+{
-+ sound.volume_left = volume & 0xff;
-+ if ( sound.volume_left > 100 ) sound.volume_left = 100;
-+ sound.volume_right = ( (volume & 0xff00) >> 8);
-+ if ( sound.volume_right > 100 ) sound.volume_right = 100;
-+
-+ wm9712_set_output_volume(sound.volume_left, sound.volume_right);
-+
-+ return 0;
-+}
-+
-+static int tosa_get_volume(void)
-+{
-+ return ( sound.volume_right << 8 | sound.volume_left );
-+}
-+
-+static int tosa_set_stereo(int stereo)
-+{
-+ if ( stereo < 0 ) return sound.stereo;
-+ stereo = !!stereo; /* should be 0 or 1 now */
-+ sound.stereo = stereo;
-+ return stereo;
-+}
-+
-+static int tosa_set_format(int format)
-+{
-+ int size;
-+
-+ switch ( format ) {
-+ case AFMT_QUERY:
-+ return sound.format;
-+ case AFMT_MU_LAW:
-+ size = 8;
-+ ct_func = sound.trans->ct_ulaw;
-+ break;
-+ case AFMT_A_LAW:
-+ size = 8;
-+ ct_func = sound.trans->ct_alaw;
-+ break;
-+#if 0 // unsupport
-+ case AFMT_S8:
-+ size = 8;
-+ ct_func = sound.trans->ct_s8;
-+ break;
-+ case AFMT_S16_BE:
-+ size = 16;
-+ ct_func = sound.trans->ct_s16be;
-+ break;
-+ case AFMT_U16_BE:
-+ size = 16;
-+ ct_func = sound.trans->ct_u16be;
-+ break;
-+ case AFMT_U16_LE:
-+ size = 16;
-+ ct_func = sound.trans->ct_u16le;
-+ break;
-+#endif
-+ case AFMT_U8:
-+ size = 8;
-+ ct_func = sound.trans->ct_u8;
-+ ct_read_func = sound.trans_read->ct_u8;
-+ break;
-+ case AFMT_S16_LE:
-+ size = 16;
-+ ct_func = sound.trans->ct_s16le;
-+ ct_read_func = sound.trans_read->ct_s16le;
-+ break;
-+ default: /* :-) */
-+ size = 16;
-+ format = AFMT_S16_LE;
-+ }
-+
-+ sound.format = format;
-+ sound.size = size;
-+ return format;
-+}
-+
-+static int tosa_set_gain(int gain)
-+{
-+ sound.gain_left = gain & 0xff;
-+ if ( sound.gain_left > 100 ) sound.gain_left = 100;
-+
-+ sound.gain_right = ( (gain & 0xff00) >> 8);
-+ if ( sound.gain_right > 100 ) sound.gain_right = 100;
-+
-+ wm9712_set_input_gain(sound.gain_left,sound.gain_right);
-+ return 1;
-+}
-+
-+static int tosa_get_gain(void)
-+{
-+ return ( sound.gain_right << 8 | sound.gain_left );
-+}
-+
-+static int tosa_set_freq(int speed)
-+{
-+ if ( speed < 0 ) return sound.freq;
-+ sound.freq = speed;
-+ if( wm9712_busy() ) {
-+ SOUND_SETTINGS setting;
-+ setting.mode = sound.mode;
-+ setting.frequency = sound.freq;
-+ wm9712_set_freq(&setting);
-+ }
-+ return sound.freq;
-+}
-+
-+/************************************************************
-+ * Audio stuff
-+ ************************************************************/
-+static int audio_open(struct inode *inode, struct file *file)
-+{
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *is = state->input_stream;
-+ audio_stream_t *os = state->output_stream;
-+ SOUND_SETTINGS settings;
-+ int ret = 0;
-+
-+ down(&state->sem);
-+ ret = -ENODEV;
-+ /* access control */
-+ if ( (file->f_mode & FMODE_WRITE) && !os )
-+ goto out;
-+ if ( (file->f_mode & FMODE_READ) && !is )
-+ goto out;
-+ ret = -EBUSY;
-+
-+ if ( state->wr_ref || state->rd_ref )
-+#ifdef BUZZER_FORCE_CLOSE
-+ {
-+ if( !buzzer_open ) {
-+ goto out;
-+ } else {
-+ int now;
-+
-+ // force close buzzer
-+ DEBUG(DBG_L1, "force a buzzer stop!\n");
-+ buzzer_close = 1;
-+ if ( DCSR(os->dma_ch) & DCSR_RUN ) {
-+ DCSR(os->dma_ch) &=
-+ (DCSR_RUN|DCSR_ENDINTR|DCSR_STARTINTR|DCSR_BUSERR);
-+ }
-+ now = jiffies;
-+ while ( 1 ) {
-+ if ( !buzzer_open ) break;
-+ schedule();
-+ if ( jiffies > ( now + WAIT_BZ_RELEASE ) ) break;
-+ }
-+ buzzer_close = 0;
-+ if( buzzer_open ) goto out;
-+ }
-+ }
-+#else
-+ goto out;
-+#endif /* BUZZER_FORCE_CLOSE */
-+ /* request DMA channels */
-+ if ( file->f_mode & FMODE_WRITE) {
-+ ret = pxa_request_dma(os->name, DMA_PRIO_LOW, audio_dma_irq, os);
-+ if ( ret < 0 )
-+ goto out;
-+ os->dma_ch = ret;
-+ }
-+ if ( file->f_mode & FMODE_READ ) {
-+ ret = pxa_request_dma(is->name, DMA_PRIO_LOW, audio_dma_irq, is);
-+ if ( ret < 0 ) {
-+ if ( file->f_mode & FMODE_WRITE ) {
-+ *os->drcmr = 0;
-+ pxa_free_dma(os->dma_ch);
-+ }
-+ goto out;
-+ }
-+ is->dma_ch = ret;
-+ }
-+ file->private_data = state;
-+
-+ sound.mode = 0;
-+ if ( file->f_mode & FMODE_WRITE ) {
-+ sound.mode |= SOUND_PLAY_MODE;
-+ state->wr_ref = 1;
-+ os->fragsize = AUDIO_FRAGSIZE_DEFAULT;
-+ os->nbfrags = AUDIO_NBFRAGS_DEFAULT;
-+ os->output = 1;
-+ os->mapped = 0;
-+ init_waitqueue_head(&os->frag_wq);
-+ init_waitqueue_head(&os->stop_wq);
-+ *os->drcmr = os->dma_ch | DRCMR_MAPVLD;
-+ }
-+ if ( file->f_mode & FMODE_READ ) {
-+ sound.mode |= SOUND_REC_MODE;
-+ state->rd_ref = 1;
-+ is->fragsize = AUDIO_FRAGSIZE_DEFAULT;
-+ is->nbfrags = AUDIO_NBFRAGS_DEFAULT;
-+ is->output = 0;
-+ is->mapped = 0;
-+ init_waitqueue_head(&is->frag_wq);
-+ init_waitqueue_head(&is->stop_wq);
-+ *is->drcmr = is->dma_ch | DRCMR_MAPVLD;
-+ }
-+
-+ if ( (MINOR(inode->i_rdev) & 0x0f) == SND_DEV_AUDIO ) {
-+ tosa_set_freq(8000);
-+ tosa_set_stereo(0);
-+ tosa_set_format(AFMT_MU_LAW);
-+ }
-+
-+ settings.mode = sound.mode;
-+ settings.output.left = sound.volume_left;
-+ settings.output.right = sound.volume_right;
-+ settings.input.left = sound.gain_left;
-+ settings.input.right = sound.gain_right;
-+ settings.frequency = sound.freq;
-+ if ( (ret = wm9712_open(&settings)) < 0 ) {
-+ DEBUG(DBG_L0, "Can not open wm9712\n");
-+ goto error;
-+ }
-+ ret = 0;
-+
-+out:
-+ up(&state->sem);
-+ return ret;
-+
-+error:
-+ up(&state->sem);
-+ if ( (file->f_mode & FMODE_WRITE) && (os->dma_ch >= 0) ) {
-+ *os->drcmr = 0;
-+ pxa_free_dma(os->dma_ch);
-+ }
-+ if ( (file->f_mode & FMODE_READ) && (is->dma_ch >= 0) ) {
-+ *is->drcmr = 0;
-+ pxa_free_dma(is->dma_ch);
-+ }
-+ state->wr_ref = 0;
-+ state->rd_ref = 0;
-+ return ret;
-+}
-+
-+static int audio_write(struct file *file, const char *buffer,
-+ size_t count, loff_t * ppos)
-+{
-+ const char *buffer0 = buffer;
-+ audio_state_t *state = (audio_state_t *)file->private_data;
-+ audio_stream_t *s = state->output_stream;
-+ int ret = 0;
-+ ssize_t uUsed, bUsed, bLeft = 0;
-+ u_char *dest;
-+
-+ DEBUG(DBG_L2, "Enter audio_write\n");\
-+
-+ // wait playing int sound.
-+ while ( tosa_intmode_direct )
-+ schedule();
-+
-+ if ( ppos != &file->f_pos )
-+ return -ESPIPE;
-+ if ( s->mapped )
-+ return -ENXIO;
-+ if ( !s->buffers && audio_setup_buf(s) )
-+ return -ENOMEM;
-+ while ( count > 0 ) {
-+ audio_buf_t *b = &s->buffers[s->usr_frag];
-+ DEBUG(DBG_L3, "audio_write count = %d\n",count);
-+
-+ /* Grab a fragment */
-+ if ( file->f_flags & O_NONBLOCK ) {
-+ ret = -EAGAIN;
-+ if ( down_trylock(&s->sem) )
-+ break;
-+ } else {
-+ ret = -ERESTARTSYS;
-+ if ( down_interruptible(&s->sem) )
-+ break;
-+ }
-+
-+ /* Feed the current buffer */
-+ dest = b->data + b->offset;
-+ bUsed = 0;
-+ bLeft = s->fragsize - b->offset;
-+
-+ if ( ct_func ) {
-+ uUsed = ct_func(buffer, count, dest, &bUsed, bLeft);
-+ } else {
-+ return -EFAULT;
-+ }
-+
-+ if ( tosa_intmode ) {
-+ tosa_intmode_mix(dest,bUsed);
-+ }
-+
-+ if ( uUsed < 0 ) {
-+ up(&s->sem);
-+ return -EFAULT;
-+ }
-+ b->offset += bUsed;
-+ buffer += uUsed;
-+ count -= uUsed;
-+
-+ if ( b->offset < s->fragsize ) {
-+ up(&s->sem);
-+ break;
-+ }
-+ /*
-+ * Activate DMA on current buffer.
-+ * We unlock this fragment's checkpoint descriptor and
-+ * kick DMA if it is idle. Using checkpoint descriptors
-+ * allows for control operations without the need for
-+ * stopping the DMA channel if it is already running.
-+ */
-+ b->offset = 0;
-+ b->dma_desc->ddadr &= ~DDADR_STOP;
-+#ifdef DMA_NO_INITIALIZED
-+ if ( (DCSR(s->dma_ch) & DCSR_STOPSTATE) || !(DCSR(s->dma_ch) & DCSR_RUN) ){
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#else
-+ if ( DCSR(s->dma_ch) & DCSR_STOPSTATE ) {
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#endif /* DMA_NO_INITIALIZED */
-+
-+ /* move the index to the next fragment */
-+ if ( ++s->usr_frag >= s->nbfrags )
-+ s->usr_frag = 0;
-+ }
-+
-+ if ( (buffer - buffer0) )
-+ ret = buffer - buffer0;
-+ return ret;
-+}
-+
-+static int audio_read(struct file *file, char *buffer,
-+ size_t count, loff_t * ppos)
-+{
-+ char *buffer0 = buffer;
-+ audio_state_t *state = file->private_data;
-+ audio_stream_t *s = state->input_stream;
-+ int ret = 0;
-+ ssize_t uUsed, bUsed, bLeft = 0;
-+ u_char *dest;
-+
-+ if ( ppos != &file->f_pos )
-+ return -ESPIPE;
-+ if ( s->mapped )
-+ return -ENXIO;
-+ if ( !s->buffers && audio_setup_buf(s) )
-+ return -ENOMEM;
-+
-+ while ( count > 0 ) {
-+ audio_buf_t *b = &s->buffers[s->usr_frag];
-+
-+ /* prime DMA */
-+#ifdef DMA_NO_INITIALIZED
-+ if ( (DCSR(s->dma_ch) & DCSR_STOPSTATE) || !(DCSR(s->dma_ch) & DCSR_RUN) ){
-+ DDADR(s->dma_ch) = s->buffers[s->dma_frag].dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#else
-+ if (DCSR(s->dma_ch) & DCSR_STOPSTATE) {
-+ DDADR(s->dma_ch) = s->buffers[s->dma_frag].dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#endif /* DMA_NO_INITIALIZED */
-+
-+ /* Wait for a buffer to become full */
-+ if (file->f_flags & O_NONBLOCK) {
-+ ret = -EAGAIN;
-+ if (down_trylock(&s->sem))
-+ break;
-+ } else {
-+ ret = -ERESTARTSYS;
-+ if (down_interruptible(&s->sem))
-+ break;
-+ }
-+
-+ /* Grab data from current buffer */
-+ dest = b->data + b->offset;
-+ bUsed = 0;
-+ bLeft = s->fragsize - b->offset;
-+
-+ if (ct_read_func) {
-+ uUsed = ct_read_func(buffer, count, dest, &bUsed, bLeft);
-+ } else {
-+ return -EFAULT;
-+ }
-+ if ( uUsed < 0 ) {
-+ up(&s->sem);
-+ return -EFAULT;
-+ }
-+ b->offset += bUsed;
-+ buffer += uUsed;
-+ count -= uUsed;
-+
-+ if (b->offset < s->fragsize) {
-+ up(&s->sem);
-+ break;
-+ }
-+
-+ /*
-+ * Make this buffer available for DMA again.
-+ * We unlock this fragment's checkpoint descriptor and
-+ * kick DMA if it is idle. Using checkpoint descriptors
-+ * allows for control operations without the need for
-+ * stopping the DMA channel if it is already running.
-+ */
-+ b->offset = 0;
-+ b->dma_desc->ddadr &= ~DDADR_STOP;
-+
-+ /* move the index to the next fragment */
-+ if (++s->usr_frag >= s->nbfrags)
-+ s->usr_frag = 0;
-+ }
-+
-+ if ((buffer - buffer0))
-+ ret = buffer - buffer0;
-+ return ret;
-+}
-+
-+static int audio_sync(struct file *file)
-+{
-+ audio_state_t *state = file->private_data;
-+ audio_stream_t *s = state->output_stream;
-+ audio_buf_t *b;
-+ pxa_dma_desc *final_desc;
-+ u_long dcmd_save = 0;
-+ DECLARE_WAITQUEUE(wait, current);
-+
-+ if (!(file->f_mode & FMODE_WRITE) || !s->buffers || s->mapped)
-+ return 0;
-+
-+ /*
-+ * Send current buffer if it contains data. Be sure to send
-+ * a full sample count.
-+ */
-+ final_desc = NULL;
-+ b = &s->buffers[s->usr_frag];
-+ if (b->offset &= ~3) {
-+ final_desc = &b->dma_desc[1 + b->offset/MAX_DMA_SIZE];
-+ b->offset &= (MAX_DMA_SIZE-1);
-+ dcmd_save = final_desc->dcmd;
-+ final_desc->dcmd = b->offset | s->dcmd | DCMD_ENDIRQEN;
-+ final_desc->ddadr |= DDADR_STOP;
-+ b->offset = 0;
-+ b->dma_desc->ddadr &= ~DDADR_STOP;
-+
-+#ifdef DMA_NO_INITIALIZED
-+ if ((DCSR(s->dma_ch) & DCSR_STOPSTATE)||!(DCSR(s->dma_ch) & DCSR_RUN)){
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#else
-+ if (DCSR(s->dma_ch) & DCSR_STOPSTATE) {
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#endif /* DMA_NO_INITIALIZED */
-+ }
-+ /* Wait for DMA to complete. */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ add_wait_queue(&s->frag_wq, &wait);
-+ while ((DCSR(s->dma_ch) & DCSR_RUN) && !signal_pending(current)) {
-+ schedule();
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ }
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&s->frag_wq, &wait);
-+
-+ tosa_intmode = 0;
-+
-+ /* Restore the descriptor chain. */
-+ if (final_desc) {
-+ final_desc->dcmd = dcmd_save;
-+ final_desc->ddadr &= ~DDADR_STOP;
-+ b->dma_desc->ddadr |= DDADR_STOP;
-+ }
-+ return 0;
-+}
-+
-+static unsigned int audio_poll(struct file *file,
-+ struct poll_table_struct *wait)
-+{
-+ audio_state_t *state = file->private_data;
-+ audio_stream_t *is = state->input_stream;
-+ audio_stream_t *os = state->output_stream;
-+ unsigned int mask = 0;
-+
-+ if (file->f_mode & FMODE_READ) {
-+ /* Start audio input if not already active */
-+ if (!is->buffers && audio_setup_buf(is))
-+ return -ENOMEM;
-+#ifdef DMA_NO_INITIALIZED
-+ if ((DCSR(is->dma_ch) & DCSR_STOPSTATE)|| !(DCSR(is->dma_ch) & DCSR_RUN)){
-+ DDADR(is->dma_ch) = is->buffers[is->dma_frag].dma_desc->ddadr;
-+ DCSR(is->dma_ch) = DCSR_RUN;
-+ }
-+#else
-+ if (DCSR(is->dma_ch) & DCSR_STOPSTATE) {
-+ DDADR(is->dma_ch) = is->buffers[is->dma_frag].dma_desc->ddadr;
-+ DCSR(is->dma_ch) = DCSR_RUN;
-+ }
-+#endif /* DMA_NO_INITIALIZED */
-+ poll_wait(file, &is->frag_wq, wait);
-+ }
-+
-+ if (file->f_mode & FMODE_WRITE) {
-+ if (!os->buffers && audio_setup_buf(os))
-+ return -ENOMEM;
-+ poll_wait(file, &os->frag_wq, wait);
-+ }
-+
-+ if (file->f_mode & FMODE_READ)
-+ if (( is->mapped && is->bytecount > 0) ||
-+ (!is->mapped && atomic_read(&is->sem.count) > 0))
-+ mask |= POLLIN | POLLRDNORM;
-+
-+ if (file->f_mode & FMODE_WRITE)
-+ if (( os->mapped && os->bytecount > 0) ||
-+ (!os->mapped && atomic_read(&os->sem.count) > 0))
-+ mask |= POLLOUT | POLLWRNORM;
-+
-+ return mask;
-+}
-+
-+static int audio_ioctl(struct inode *inode, struct file *file,
-+ unsigned int cmd, unsigned long arg)
-+{
-+ audio_state_t *state = file->private_data;
-+ audio_stream_t *os = state->output_stream;
-+ audio_stream_t *is = state->input_stream;
-+ long val, fmt;
-+ int data;
-+
-+ switch(cmd) {
-+ case OSS_GETVERSION:
-+ return put_user(SOUND_VERSION, (int *)arg);
-+ case SNDCTL_DSP_GETBLKSIZE:
-+ if ( file->f_mode & FMODE_WRITE )
-+ return put_user(os->fragsize, (int *)arg);
-+ else
-+ return put_user(is->fragsize, (int *)arg);
-+ case SNDCTL_DSP_GETCAPS:
-+ val = DSP_CAP_REALTIME|DSP_CAP_TRIGGER|DSP_CAP_MMAP;
-+ if (is && os)
-+ val |= DSP_CAP_DUPLEX;
-+ return put_user(val, (int *)arg);
-+ case SNDCTL_DSP_SETFRAGMENT:
-+ if ( get_user(val, (long *) arg) )
-+ return -EFAULT;
-+ if ( file->f_mode & FMODE_READ ) {
-+ int ret = audio_set_fragments(is, val);
-+ if (ret < 0) return ret;
-+ if ( (ret = put_user(ret, (int *)arg)) )
-+ return ret;
-+ }
-+ if ( file->f_mode & FMODE_WRITE ) {
-+ int ret = audio_set_fragments(os, val);
-+ if (ret < 0) return ret;
-+ if ( (ret = put_user(ret, (int *)arg)) )
-+ return ret;
-+ }
-+ return 0;
-+ case SNDCTL_DSP_SYNC:
-+ return audio_sync(file);
-+ case SNDCTL_DSP_POST:
-+ return 0;
-+ case SNDCTL_DSP_GETTRIGGER:
-+ val = 0;
-+ if ( file->f_mode & FMODE_READ && DCSR(is->dma_ch) & DCSR_RUN )
-+ val |= PCM_ENABLE_INPUT;
-+ if ( file->f_mode & FMODE_WRITE && DCSR(os->dma_ch) & DCSR_RUN )
-+ val |= PCM_ENABLE_OUTPUT;
-+ return put_user(val, (int *)arg);
-+ case SNDCTL_DSP_SETTRIGGER:
-+ if ( get_user(val, (int *)arg) )
-+ return -EFAULT;
-+ if ( file->f_mode & FMODE_READ ) {
-+ if ( val & PCM_ENABLE_INPUT ) {
-+ if ( !is->buffers && audio_setup_buf(is) )
-+ return -ENOMEM;
-+ if ( !(DCSR(is->dma_ch) & DCSR_RUN) ) {
-+ audio_buf_t *b = &is->buffers[is->dma_frag];
-+ DDADR(is->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(is->dma_ch) = DCSR_RUN;
-+ }
-+ } else {
-+ DCSR(is->dma_ch) = 0;
-+ }
-+ }
-+ if ( file->f_mode & FMODE_WRITE ) {
-+ if ( val & PCM_ENABLE_OUTPUT ) {
-+ if ( !os->buffers && audio_setup_buf(os) )
-+ return -ENOMEM;
-+ if ( !(DCSR(os->dma_ch) & DCSR_RUN) ) {
-+ audio_buf_t *b = &os->buffers[os->dma_frag];
-+ DDADR(os->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(os->dma_ch) = DCSR_RUN;
-+ }
-+ } else {
-+ DCSR(os->dma_ch) = 0;
-+ }
-+ }
-+ return 0;
-+ case SNDCTL_DSP_GETOSPACE:
-+ {
-+ audio_buf_info inf = { 0, };
-+ audio_stream_t *s = os;
-+ int j,k;
-+ if ( (s == os && !(file->f_mode & FMODE_WRITE)) )
-+ return -EINVAL;
-+ if ( !s->buffers && audio_setup_buf(s) )
-+ return -ENOMEM;
-+ j = s->usr_frag;
-+ k = s->dma_frag;
-+ if ( atomic_read(&s->sem.count) > 0 ) {
-+ if ( j > k ) {
-+ inf.fragments = s->nbfrags - ( j - k );
-+ } else if ( j < k ) {
-+ inf.fragments = k - j;
-+ } else {
-+ inf.fragments = s->nbfrags;
-+ }
-+ }
-+ inf.bytes = s->fragsize * inf.fragments;
-+ inf.fragsize = s->fragsize;
-+ inf.fragstotal = s->nbfrags;
-+ return copy_to_user((void *)arg, &inf, sizeof(inf));
-+ }
-+ case SNDCTL_DSP_GETISPACE:
-+ {
-+ audio_buf_info inf = { 0, };
-+ audio_stream_t *s = is;
-+ int j,k;
-+
-+ if ( (s == is && !(file->f_mode & FMODE_READ)) )
-+ return -EINVAL;
-+ if (!s->buffers && audio_setup_buf(s))
-+ return -ENOMEM;
-+
-+ j = s->usr_frag;
-+ k = s->dma_frag;
-+ if ( atomic_read(&s->sem.count) <= 0 ) {
-+ inf.fragments = 0;
-+ } else {
-+ inf.fragments = atomic_read(&s->sem.count);
-+ }
-+ inf.bytes = s->fragsize * inf.fragments;
-+ inf.fragsize = s->fragsize;
-+ inf.fragstotal = s->nbfrags;
-+ return copy_to_user((void *)arg, &inf, sizeof(inf));
-+ }
-+ case SNDCTL_DSP_GETOPTR:
-+ case SNDCTL_DSP_GETIPTR:
-+ {
-+ count_info inf = { 0, };
-+ audio_stream_t *s = (cmd == SNDCTL_DSP_GETOPTR) ? os : is;
-+ dma_addr_t ptr;
-+ int bytecount, offset, flags;
-+ if ( (s == is && !(file->f_mode & FMODE_READ)) ||
-+ (s == os && !(file->f_mode & FMODE_WRITE)) )
-+ return -EINVAL;
-+ if ( DCSR(s->dma_ch) & DCSR_RUN ) {
-+ audio_buf_t *b;
-+ save_flags_cli(flags);
-+ ptr = (s->output) ? DSADR(s->dma_ch) : DTADR(s->dma_ch);
-+ b = &s->buffers[s->dma_frag];
-+ offset = ptr - b->dma_desc->dsadr;
-+ if ( offset >= s->fragsize )
-+ offset = s->fragsize - 4;
-+ } else {
-+ save_flags(flags);
-+ offset = 0;
-+ }
-+ inf.ptr = s->dma_frag * s->fragsize + offset;
-+ bytecount = s->bytecount + offset;
-+ s->bytecount = -offset;
-+ inf.blocks = s->fragcount;
-+ s->fragcount = 0;
-+ restore_flags(flags);
-+ if ( bytecount < 0 )
-+ bytecount = 0;
-+ inf.bytes = bytecount;
-+ return copy_to_user((void *)arg, &inf, sizeof(inf));
-+ }
-+ case SNDCTL_DSP_NONBLOCK:
-+ file->f_flags |= O_NONBLOCK;
-+ return 0;
-+ case SNDCTL_DSP_RESET:
-+ if ( file->f_mode & FMODE_WRITE )
-+ pxa_audio_clear_buf(os);
-+ if ( file->f_mode & FMODE_READ )
-+ pxa_audio_clear_buf(is);
-+ return 0;
-+ case SNDCTL_DSP_SPEED:
-+ audio_sync(file);
-+ IOCTL_IN(arg, data);
-+ return IOCTL_OUT(arg, (*sound.mach.setFreq)(data));
-+ case SNDCTL_DSP_STEREO:
-+ audio_sync(file);
-+ IOCTL_IN(arg, data);
-+ return IOCTL_OUT(arg, (*sound.mach.setStereo)(data));
-+ case SOUND_PCM_WRITE_CHANNELS:
-+ audio_sync(file);
-+ IOCTL_IN(arg, data);
-+ return IOCTL_OUT(arg, (*sound.mach.setStereo)(data-1)+1);
-+ case SNDCTL_DSP_SETFMT:
-+ audio_sync(file);
-+ IOCTL_IN(arg, data);
-+ return IOCTL_OUT(arg, (*sound.mach.setFormat)(data));
-+ case SNDCTL_DSP_GETFMTS:
-+ fmt = 0;
-+ if (sound.trans) {
-+ if (sound.trans->ct_ulaw)
-+ fmt |= AFMT_MU_LAW;
-+ if (sound.trans->ct_alaw)
-+ fmt |= AFMT_A_LAW;
-+ if (sound.trans->ct_s8)
-+ fmt |= AFMT_S8;
-+ if (sound.trans->ct_u8)
-+ fmt |= AFMT_U8;
-+ if (sound.trans->ct_s16be)
-+ fmt |= AFMT_S16_BE;
-+ if (sound.trans->ct_u16be)
-+ fmt |= AFMT_U16_BE;
-+ if (sound.trans->ct_s16le)
-+ fmt |= AFMT_S16_LE;
-+ if (sound.trans->ct_u16le)
-+ fmt |= AFMT_U16_LE;
-+ }
-+ return IOCTL_OUT(arg, fmt);
-+ default:
-+ return mixer_ioctl(inode, file, cmd, arg);
-+ }
-+ return 0;
-+}
-+
-+static int audio_mmap(struct file *file, struct vm_area_struct *vma)
-+{
-+ audio_state_t *state = file->private_data;
-+ audio_stream_t *s;
-+ unsigned long size, vma_addr;
-+ int i, ret;
-+
-+ if (vma->vm_pgoff != 0)
-+ return -EINVAL;
-+
-+ if (vma->vm_flags & VM_WRITE) {
-+ if (!state->wr_ref)
-+ return -EINVAL;;
-+ s = state->output_stream;
-+ } else if (vma->vm_flags & VM_READ) {
-+ if (!state->rd_ref)
-+ return -EINVAL;
-+ s = state->input_stream;
-+ } else return -EINVAL;
-+
-+ if (s->mapped)
-+ return -EINVAL;
-+ size = vma->vm_end - vma->vm_start;
-+ if (size != s->fragsize * s->nbfrags)
-+ return -EINVAL;
-+ if (!s->buffers && audio_setup_buf(s))
-+ return -ENOMEM;
-+ vma_addr = vma->vm_start;
-+ for (i = 0; i < s->nbfrags; i++) {
-+ audio_buf_t *buf = &s->buffers[i];
-+ if (!buf->master)
-+ continue;
-+ ret = remap_page_range(vma_addr, buf->dma_desc->dsadr,
-+ buf->master, vma->vm_page_prot);
-+ if (ret)
-+ return ret;
-+ vma_addr += buf->master;
-+ }
-+ for (i = 0; i < s->nbfrags; i++)
-+ s->buffers[i].dma_desc->ddadr &= ~DDADR_STOP;
-+ s->mapped = 1;
-+ return 0;
-+}
-+
-+static int audio_release(struct inode *inode, struct file *file)
-+{
-+ audio_state_t *state = file->private_data;
-+ int err;
-+
-+ down(&state->sem);
-+ if ( file->f_mode & FMODE_READ ) {
-+ pxa_audio_clear_buf(state->input_stream);
-+ *state->input_stream->drcmr = 0;
-+ pxa_free_dma(state->input_stream->dma_ch);
-+ state->rd_ref = 0;
-+ }
-+
-+ if ( file->f_mode & FMODE_WRITE ) {
-+ audio_sync(file);
-+ pxa_audio_clear_buf(state->output_stream);
-+ *state->output_stream->drcmr = 0;
-+ pxa_free_dma(state->output_stream->dma_ch);
-+ state->wr_ref = 0;
-+ }
-+
-+ // Close wm9712
-+ if( (err = wm9712_close()) ) {
-+ DEBUG(DBG_L0, "Can not close wm9712\n");
-+ return err;
-+ }
-+ sound.mode = 0;
-+ up(&state->sem);
-+ return 0;
-+}
-+
-+static struct file_operations ac97_audio_fops = {
-+ llseek: no_llseek,
-+ write: audio_write,
-+ read: audio_read,
-+ poll: audio_poll,
-+ ioctl: audio_ioctl,
-+ open: audio_open,
-+ release: audio_release,
-+ mmap: audio_mmap,
-+ owner: THIS_MODULE
-+};
-+
-+static void tosa_intmode_mix(unsigned char *dest,int bUsed)
-+#ifdef ALARM_NO_MALLOC
-+{
-+ int i;
-+ short *cdata = (short *)dest;
-+ int cnt = min(tosa_intmode, bUsed);
-+ int idx;
-+
-+ for ( i = 0; i < (cnt/4); i++ ) {
-+ idx = (tosa_intmode_cur>>8);
-+ *cdata++ = int_data_org[idx*2];
-+ *cdata++ = int_data_org[idx*2+1];
-+ tosa_intmode_cur += tosa_intmode_step;
-+ }
-+
-+ tosa_intmode -= cnt;
-+ if ( tosa_intmode <= 0 ) {
-+ tosa_intmode = 0;
-+ int_data_org = NULL;
-+ }
-+}
-+#else
-+{
-+ int i;
-+ short *cdata = (short *)dest;
-+ int cnt = min(tosa_intmode, bUsed);
-+
-+ for ( i = 0; i < (cnt/4); i++ ) {
-+ *cdata = *int_data;
-+ int_data++;
-+ cdata++;
-+ *cdata = *int_data;
-+ int_data++;
-+ cdata++;
-+ }
-+
-+ tosa_intmode -= cnt;
-+ if ( tosa_intmode <= 0 ) {
-+ tosa_intmode = 0;
-+ if ( int_data_org ) {
-+ kfree(int_data_org);
-+ int_data_org = NULL;
-+ }
-+ }
-+}
-+#endif /* ALARM_NO_MALLOC */
-+
-+/************************************************************
-+ * Buzzer
-+ ************************************************************/
-+#ifdef CONFIG_BUZZER_TOSA
-+
-+#ifdef ALARM_NO_MALLOC
-+int audio_buzzer_intmode(unsigned short *buffer,int count,int speed)
-+{
-+ int idx,i;
-+ unsigned long snddata;
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *os = state->output_stream;
-+ audio_stream_t *s = os;
-+
-+ int_data_org = buffer;
-+ tosa_intmode = (count * sound.freq / speed)&(~3);
-+ tosa_intmode_speed = speed;
-+ tosa_intmode_cur = 0;
-+ tosa_intmode_step = (speed << 8 ) / sound.freq; // fixed point (x256)
-+ tosa_intmode_direct = 1;
-+
-+ // pause during play or recording , so kick this place.
-+ if ( ((DCSR(s->dma_ch) & DCSR_STOPSTATE) && (state->wr_ref)) ||
-+ ((!state->wr_ref ) && ( state->rd_ref)) ) {
-+ for ( i = 0; i < (tosa_intmode/4) ; i++ ) {
-+ idx = (tosa_intmode_cur>>8);
-+ snddata = (buffer[idx*2]|(buffer[idx*2+1]<<16));
-+ tosa_intmode_cur += tosa_intmode_step;
-+ tosa_ac97_write(snddata);
-+ }
-+ tosa_intmode = 0;
-+ int_data_org = NULL;
-+ }
-+ tosa_intmode_direct = 0;
-+ return 1;
-+}
-+#else /* ALARM_NO_MALLOC */
-+int audio_buzzer_intmode(unsigned short *buffer,int count,int speed)
-+{
-+ int samplingCount = count * sound.hw_freq / speed;
-+ int idx,i ;
-+ int cur=0,step = (speed << 8 ) / sound.hw_freq; // fixed point (x256)
-+ unsigned short *dstct;
-+
-+ int_data = (unsigned short *)kmalloc(count * 6,GFP_KERNEL);
-+ if ( !int_data ) return 0;
-+ int_data_org = int_data;
-+
-+ samplingCount &= ~0x3;
-+
-+ dstct = int_data;
-+ for( i = 0; i < (samplingCount/4); i++ ) {
-+ idx = (cur>>8);
-+ *dstct++ = buffer[idx*2];
-+ *dstct++ = buffer[idx*2+1];
-+ cur += step;
-+ }
-+
-+ tosa_intmode = samplingCount;
-+ tosa_intmode_speed = speed;
-+ tosa_intmode_direct = 1;
-+
-+ {
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *os = state->output_stream;
-+ audio_stream_t *s = os;
-+
-+ // pause during play or recording , so kick this place.
-+ if ( ((DCSR(s->dma_ch) & DCSR_STOPSTATE) && (state->wr_ref)) ||
-+ ((!state->wr_ref) && (state->rd_ref)) ) {
-+ int i;
-+ for ( i = 0; i < (tosa_intmode/4); i++ ) {
-+ tosa_ac97_write(*(unsigned long *)int_data);
-+ int_data++;
-+ int_data++;
-+ }
-+ tosa_intmode = 0;
-+ kfree(int_data_org);
-+ int_data_org = NULL;
-+ }
-+ }
-+
-+ tosa_intmode_direct = 0;
-+ return 1;
-+}
-+#endif /* ALARM_NO_MALLOC */
-+
-+int audio_buzzer_write(const char *buffer,int count)
-+{
-+ const char *buffer0 = buffer;
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *s = state->output_stream;
-+ int chunksize, ret = 0;
-+
-+
-+ if (!s->buffers && audio_setup_buf(s))
-+ return -ENOMEM;
-+
-+ while ( count > 0 ) {
-+ audio_buf_t *b = &s->buffers[s->usr_frag];
-+
-+#ifdef BUZZER_FORCE_CLOSE
-+ if( buzzer_close ) break;
-+#endif
-+
-+ chunksize = s->fragsize - b->offset;
-+ if ( chunksize > count )
-+ chunksize = count;
-+ memcpy(b->data + b->offset, buffer, chunksize);
-+
-+ b->offset += chunksize;
-+ buffer += chunksize;
-+ count -= chunksize;
-+
-+ if ( b->offset < s->fragsize ) {
-+ up(&s->sem);
-+ break;
-+ }
-+
-+ b->offset = 0;
-+ b->dma_desc->ddadr &= ~DDADR_STOP;
-+#ifdef DMA_NO_INITIALIZED
-+ if ( (DCSR(s->dma_ch) & DCSR_STOPSTATE )|| !(DCSR(s->dma_ch) & DCSR_RUN) ){
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#else
-+ if ( DCSR(s->dma_ch) & DCSR_STOPSTATE ) {
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#endif
-+
-+ /* move the index to the next fragment */
-+ if ( ++s->usr_frag >= s->nbfrags )
-+ s->usr_frag = 0;
-+ }
-+
-+ if ( buffer - buffer0 )
-+ ret = buffer - buffer0;
-+
-+ return ret;
-+}
-+
-+void audio_buzzer_sync(void)
-+{
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *s = state->output_stream;
-+ audio_buf_t *b;
-+ pxa_dma_desc *final_desc;
-+ u_long dcmd_save = 0;
-+ DECLARE_WAITQUEUE(wait, current);
-+
-+#ifdef BUZZER_FORCE_CLOSE
-+ if( buzzer_close ) goto sync_end;
-+#endif
-+
-+ //audio_sync(file);
-+
-+ /*
-+ * Send current buffer if it contains data. Be sure to send
-+ * a full sample count.
-+ */
-+ final_desc = NULL;
-+ b = &s->buffers[s->usr_frag];
-+ if ( b->offset &= ~3 ) {
-+ final_desc = &b->dma_desc[1 + b->offset/MAX_DMA_SIZE];
-+ b->offset &= (MAX_DMA_SIZE-1);
-+ dcmd_save = final_desc->dcmd;
-+ final_desc->dcmd = b->offset | s->dcmd | DCMD_ENDIRQEN;
-+ final_desc->ddadr |= DDADR_STOP;
-+ b->offset = 0;
-+ b->dma_desc->ddadr &= ~DDADR_STOP;
-+#ifdef DMA_NO_INITIALIZED
-+ if ( (DCSR(s->dma_ch) & DCSR_STOPSTATE) || !(DCSR(s->dma_ch) & DCSR_RUN) ) {
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#else
-+ if ( DCSR(s->dma_ch) & DCSR_STOPSTATE ) {
-+ DDADR(s->dma_ch) = b->dma_desc->ddadr;
-+ DCSR(s->dma_ch) = DCSR_RUN;
-+ }
-+#endif
-+ }
-+
-+#ifdef BUZZER_FORCE_CLOSE
-+sync_end:;
-+#endif
-+
-+ /* Wait for DMA to complete. */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ add_wait_queue(&s->frag_wq, &wait);
-+ while ( (DCSR(s->dma_ch) & DCSR_RUN) && !signal_pending(current) ) {
-+ schedule();
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ }
-+
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&s->frag_wq, &wait);
-+}
-+
-+int audio_buzzer_release(void)
-+{
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *s = state->output_stream;
-+ int err, ret = 0;
-+ DECLARE_WAITQUEUE(wait, current);
-+
-+
-+ //audio_sync(file);
-+ /* Wait for DMA to complete. */
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ add_wait_queue(&s->frag_wq, &wait);
-+ while ( (DCSR(s->dma_ch) & DCSR_RUN) && !signal_pending(current) ) {
-+ schedule();
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ }
-+
-+ set_current_state(TASK_RUNNING);
-+ remove_wait_queue(&s->frag_wq, &wait);
-+
-+ audio_clear_buf(state->output_stream);
-+ *state->output_stream->drcmr = 0;
-+ pxa_free_dma(state->output_stream->dma_ch);
-+ state->wr_ref = 0;
-+
-+#ifdef ALARM_NO_MALLOC
-+ // wait playing int sound.
-+#ifdef BUZZER_FORCE_CLOSE
-+ while ( tosa_intmode_direct && !buzzer_close )
-+ schedule();
-+#else
-+ while ( tosa_intmode_direct )
-+ schedule();
-+#endif /* BUZZER_FORCE_CLOSE */
-+
-+ tosa_intmode = 0;
-+ int_data_org = NULL;
-+#else
-+ if ( int_data_org ) {
-+ kfree(int_data_org);
-+ int_data_org = NULL;
-+ }
-+#endif /* ALARM_NO_MALLOC */
-+ if( (err = wm9712_close()) < 0 ) {
-+ DEBUG(DBG_L0, "Can not close wm9712\n");
-+ ret = err;
-+ }
-+ state->wr_ref = 0;
-+#ifdef BUZZER_FORCE_CLOSE
-+ buzzer_open = 0;
-+#endif /* BUZZER_FORCE_CLOSE */
-+ return 0;
-+}
-+
-+int audio_buzzer_open(int speed)
-+{
-+ audio_state_t *state = &ac97_audio_state;
-+ audio_stream_t *os = state->output_stream;
-+ SOUND_SETTINGS settings;
-+ int err;
-+
-+ err = -EBUSY;
-+ if ( state->wr_ref || state->rd_ref )
-+ goto out;
-+
-+ state->wr_ref = 1;
-+
-+#ifdef BUZZER_FORCE_CLOSE
-+ buzzer_open = 1;
-+#endif /* BUZZER_FORCE_CLOSE */
-+
-+ /* request DMA channels */
-+ if ( (err = pxa_request_dma(os->name, DMA_PRIO_LOW, audio_dma_irq, os)) < 0 )
-+ goto error;
-+ os->dma_ch = err;
-+
-+ os->fragsize = AUDIO_FRAGSIZE_DEFAULT;
-+ os->nbfrags = AUDIO_NBFRAGS_DEFAULT;
-+ os->output = 1;
-+ os->mapped = 0;
-+ init_waitqueue_head(&os->frag_wq);
-+ init_waitqueue_head(&os->stop_wq);
-+ *os->drcmr = os->dma_ch | DRCMR_MAPVLD;
-+
-+ sound.mode = SOUND_PLAY_MODE;
-+ settings.mode = sound.mode;
-+ settings.output.left = sound.volume_left;
-+ settings.output.right = sound.volume_right;
-+ settings.input.left = sound.gain_left;
-+ settings.input.right = sound.gain_right;
-+ settings.frequency = speed;
-+
-+ if( (err = wm9712_open(&settings)) < 0 ) {
-+ DEBUG(DBG_L0, "Can not open wm9712\n");
-+ goto error;
-+ }
-+
-+ sound.freq = speed;
-+
-+ err = 0;
-+out:
-+#ifdef BUZZER_FORCE_CLOSE
-+ if( buzzer_close ){
-+ err = -EBUSY;
-+ goto error;
-+ }
-+#endif
-+ return err;
-+
-+error:
-+ *os->drcmr = 0;
-+ pxa_free_dma(os->dma_ch);
-+ state->wr_ref = 0;
-+ return err;
-+}
-+#endif /* CONFIG_BUZZER_TOSA */
-+
-+/************************************************************
-+ * /dev/sndstat
-+ * Audio Stat stuff
-+ ************************************************************/
-+static int state_open(struct inode *inode, struct file *file)
-+{
-+ char *buffer = tosa_sound_state.buf;
-+ int len = 0;
-+
-+ if ( tosa_sound_state.busy ) return -EBUSY;
-+
-+ MOD_INC_USE_COUNT;
-+ tosa_sound_state.ptr = 0;
-+ tosa_sound_state.busy = 1;
-+
-+ len += sprintf(buffer+len, " TOSA AC97 sound driver:\n");
-+ len += sprintf(buffer+len, "\tsound.speed = %dHz\n", sound.freq);
-+ len += sprintf(buffer+len, "\tsound.stereo = 0x%x (%s)\n",
-+ sound.stereo, sound.stereo ? "stereo" : "mono");
-+ tosa_sound_state.len = len;
-+ return 0;
-+}
-+
-+static int state_release(struct inode *inode, struct file *file)
-+{
-+ tosa_sound_state.busy = 0;
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+static ssize_t state_read(struct file *file, char *buf, size_t count,
-+ loff_t *ppos)
-+{
-+ int n = tosa_sound_state.len - tosa_sound_state.ptr;
-+ if ( n > count ) n = count;
-+ if ( n <= 0 ) return 0;
-+ if ( copy_to_user(buf, &tosa_sound_state.buf[tosa_sound_state.ptr], n) )
-+ return -EFAULT;
-+ tosa_sound_state.ptr += n;
-+ return n;
-+}
-+
-+static struct file_operations state_fops =
-+{
-+ llseek: no_llseek,
-+ read: state_read,
-+ open: state_open,
-+ release: state_release,
-+};
-+
-+static void state_init(void)
-+{
-+ tosa_sound_state.dev_state =
-+ register_sound_special(&state_fops, SND_DEV_STATUS);
-+ if ( tosa_sound_state.dev_state < 0 ) return;
-+ tosa_sound_state.busy = 0;
-+}
-+
-+/************************************************************
-+ * /dev/mixer
-+ * Audio Mixer stuff
-+ ************************************************************/
-+static int mixer_ioctl( struct inode *inode, struct file *file,
-+ unsigned int cmd, unsigned long arg)
-+{
-+ int data;
-+
-+ switch (cmd) {
-+ case SOUND_MIXER_READ_DEVMASK:
-+ return IOCTL_OUT(arg, (SOUND_MASK_VOLUME|SOUND_MASK_MIC) );
-+ case SOUND_MIXER_READ_RECMASK:
-+ return IOCTL_OUT(arg, 0);
-+ case SOUND_MIXER_READ_STEREODEVS:
-+ return IOCTL_OUT(arg, SOUND_MASK_VOLUME);
-+ case SOUND_MIXER_READ_CAPS:
-+ return IOCTL_OUT(arg, 0);
-+ case SOUND_MIXER_WRITE_VOLUME:
-+ IOCTL_IN(arg, data);
-+ (*sound.mach.setVolume)(data);
-+ case SOUND_MIXER_READ_VOLUME:
-+ return IOCTL_OUT(arg, (*sound.mach.getVolume)());
-+ case SOUND_MIXER_READ_TREBLE:
-+ return IOCTL_OUT(arg, 0);
-+ case SOUND_MIXER_WRITE_TREBLE:
-+ return IOCTL_OUT(arg, 0);
-+ case SOUND_MIXER_READ_SPEAKER:
-+ return IOCTL_OUT(arg, 0);
-+ case SOUND_MIXER_WRITE_SPEAKER:
-+ return IOCTL_OUT(arg, 0);
-+ case SOUND_MIXER_WRITE_MIC:
-+ IOCTL_IN(arg, data);
-+ (*sound.mach.setGain)(data);
-+ case SOUND_MIXER_READ_MIC:
-+ return IOCTL_OUT(arg, (*sound.mach.getGain)());
-+ case SOUND_MIXER_AGC:
-+ IOCTL_IN(arg, data);
-+ return IOCTL_OUT(arg, wm9712_set_agc(data));
-+ }
-+ return -EINVAL;
-+}
-+
-+static int mixer_open(struct inode *inode, struct file *file)
-+{
-+ if ( codec->mixer_busy ) return -EBUSY;
-+ MOD_INC_USE_COUNT;
-+ codec->mixer_busy = 1;
-+ return 0;
-+}
-+
-+static int mixer_release(struct inode *inode, struct file *file)
-+{
-+ codec->mixer_busy = 0;
-+ MOD_DEC_USE_COUNT;
-+ return 0;
-+}
-+
-+static struct file_operations mixer_fops = {
-+ ioctl: mixer_ioctl,
-+ llseek: no_llseek,
-+ open: mixer_open,
-+ release: mixer_release,
-+ owner: THIS_MODULE
-+};
-+
-+static void mixer_init(void)
-+{
-+ codec->dev_mixer = register_sound_mixer(&mixer_fops, -1);
-+ if ( codec->dev_mixer < 0 ) return;
-+ codec->mixer_busy = 0;
-+}
-+
-+/************************************************************
-+ * /dev/dsp
-+ * Audio stuff
-+ ************************************************************/
-+static void sq_init(void)
-+{
-+ /* Regist /dev/dsp. */
-+ ac97_audio_state.dev_dsp = register_sound_dsp(&ac97_audio_fops, -1);
-+ if( ac97_audio_state.dev_dsp < 0 ) return;
-+
-+ ac97_audio_state.wr_ref = 0;
-+ ac97_audio_state.rd_ref = 0;
-+
-+ /* Set default settings */
-+ sound.format = AFMT_S16_LE;
-+ sound.stereo = 1;
-+ sound.freq = 48000;
-+ sound.size = 16;
-+ sound.trans = &trans_tosa;
-+ sound.trans_read = &trans_r_tosa;
-+ sound.volume_left = 80;
-+ sound.volume_right = 80;
-+ sound.gain_left = 40;
-+ sound.gain_right = 40;
-+
-+ /* Change Format */
-+ (*sound.mach.setFormat)(sound.format);
-+}
-+
-+static int __init pxa_ac97_init(void)
-+{
-+ sound.mach = mach_tosa;
-+
-+ if( (*sound.mach.init)() < 0 ) {
-+ wm9712_exit();
-+ return -EBUSY;
-+ }
-+ /* Set default settings. */
-+ sq_init();
-+ /* Set up /dev/sndstat. */
-+ state_init();
-+ /* Set up /dev/mixer. */
-+ mixer_init();
-+#ifdef CONFIG_PM
-+ pxa_sound_pm_dev = pm_register(PM_SYS_DEV, 0, tosa_pm_callback);
-+#endif /* CONFIG_PM */
-+
-+ printk(KERN_INFO "Tosa AC97 initialize\n");
-+
-+ return 0;
-+}
-+
-+static void __exit pxa_ac97_exit(void)
-+{
-+ if ( ac97_audio_state.dev_dsp >= 0 )
-+ unregister_sound_dsp(ac97_audio_state.dev_dsp);
-+ unregister_sound_mixer(codec->dev_mixer);
-+ if ( tosa_sound_state.dev_state >= 0 )
-+ unregister_sound_special(tosa_sound_state.dev_state);
-+ wm9712_exit();
-+}
-+
-+
-+module_init(pxa_ac97_init);
-+module_exit(pxa_ac97_exit);
-+
-+#ifdef CONFIG_PM
-+/************************************************************
-+ * Power Management
-+ ************************************************************/
-+static int tosa_pm_callback(struct pm_dev *pm_dev,pm_request_t req, void *data)
-+{
-+ int err;
-+ switch (req) {
-+ case PM_SUSPEND:
-+ DEBUG(DBG_L1, "PM_SUSPEND: start\n");
-+ wm9712_suspend();
-+#ifdef CONFIG_TOSA_TS
-+ tosa_ts_suspend();
-+#endif /* CONFIG_TOSA_TS */
-+ if ( ac97_audio_state.rd_ref != 0 ) {
-+ audio_clear_buf(ac97_audio_state.input_stream);
-+ *ac97_audio_state.input_stream->drcmr = 0;
-+ pxa_free_dma(ac97_audio_state.input_stream->dma_ch);
-+ }
-+
-+ if ( ac97_audio_state.wr_ref != 0 ) {
-+ audio_clear_buf(ac97_audio_state.output_stream);
-+ *ac97_audio_state.output_stream->drcmr = 0;
-+ pxa_free_dma(ac97_audio_state.output_stream->dma_ch);
-+ }
-+ DEBUG(DBG_L1, "PM_SUSPEND: done\n");
-+ break;
-+ case PM_RESUME:
-+ DEBUG(DBG_L1, "PM_RESUME: start\n");
-+ /* request DMA channels */
-+ if ( ac97_audio_state.wr_ref != 0 ) {
-+ init_waitqueue_head(&ac97_audio_state.output_stream->frag_wq);
-+ init_waitqueue_head(&ac97_audio_state.output_stream->stop_wq);
-+ *ac97_audio_state.output_stream->drcmr =
-+ ac97_audio_state.output_stream->dma_ch | DRCMR_MAPVLD;
-+ err = pxa_request_dma(ac97_audio_state.output_stream->name, DMA_PRIO_LOW,
-+ audio_dma_irq, ac97_audio_state.output_stream);
-+ if ( err < 0 ) {
-+ DEBUG(DBG_L0, "Can not get DMA\n");
-+ }
-+ ac97_audio_state.output_stream->dma_ch = err;
-+ }
-+ if ( ac97_audio_state.rd_ref != 0 ) {
-+ init_waitqueue_head(&ac97_audio_state.input_stream->frag_wq);
-+ init_waitqueue_head(&ac97_audio_state.input_stream->stop_wq);
-+ *ac97_audio_state.input_stream->drcmr =
-+ ac97_audio_state.input_stream->dma_ch | DRCMR_MAPVLD;
-+ err = pxa_request_dma(ac97_audio_state.input_stream->name, DMA_PRIO_LOW,
-+ audio_dma_irq, ac97_audio_state.input_stream);
-+ if ( err < 0 ) {
-+ DEBUG(DBG_L0, "Can not get DMA\n");
-+ }
-+ ac97_audio_state.input_stream->dma_ch = err;
-+ }
-+ wm9712_resume();
-+#ifdef CONFIG_TOSA_TS
-+ tosa_ts_resume();
-+#endif /* CONFIG_TOSA_TS */
-+ DEBUG(DBG_L1, "PM_RESUME: done\n");
-+ break;
-+ }
-+ return 0;
-+}
-+#endif /* CONFIG_PM */
-diff -Nur linux_c860_org/drivers/sound/pxa-audio.c linux/drivers/sound/pxa-audio.c
---- linux_c860_org/drivers/sound/pxa-audio.c 2002-08-26 15:00:56.000000000 +0900
-+++ linux/drivers/sound/pxa-audio.c 2004-06-10 21:09:10.000000000 +0900
-@@ -8,6 +8,9 @@
- * 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.
-+ *
-+ * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/init.h>
-@@ -78,7 +81,11 @@
- * This function allocates the DMA descriptor array and buffer data space
- * according to the current number of fragments and fragment size.
- */
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+int audio_setup_buf(audio_stream_t * s)
-+#else
- static int audio_setup_buf(audio_stream_t * s)
-+#endif /* CONFIG_ARCH_PXA_TOSA */
- {
- pxa_dma_desc *dma_desc;
- dma_addr_t dma_desc_phys;
-@@ -258,7 +265,11 @@
- /*
- * Validate and sets up buffer fragments, etc.
- */
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+int audio_set_fragments(audio_stream_t *s, int val)
-+#else
- static int audio_set_fragments(audio_stream_t *s, int val)
-+#endif /* CONFIG_ARCH_PXA_TOSA */
- {
- if (s->mapped || DCSR(s->dma_ch) & DCSR_RUN)
- return -EBUSY;
-@@ -428,7 +439,11 @@
- }
-
-
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+int audio_sync(struct file *file)
-+#else
- static int audio_sync(struct file *file)
-+#endif /* CONFIG_ARCH_PXA_TOSA */
- {
- audio_state_t *state = file->private_data;
- audio_stream_t *s = state->output_stream;
-@@ -810,12 +825,16 @@
- }
-
- file->private_data = state;
-+#ifndef CONFIG_ARCH_PXA_TOSA
- file->f_op->release = audio_release;
-+#endif /* CONFIG_ARCH_PXA_TOSA */
- file->f_op->write = audio_write;
- file->f_op->read = audio_read;
- file->f_op->mmap = audio_mmap;
- file->f_op->poll = audio_poll;
-+#ifndef CONFIG_ARCH_PXA_TOSA
- file->f_op->ioctl = audio_ioctl;
-+#endif /* CONFIG_ARCH_PXA_TOSA */
- file->f_op->llseek = no_llseek;
-
- if ((file->f_mode & FMODE_WRITE)) {
-@@ -849,3 +868,8 @@
- EXPORT_SYMBOL(pxa_audio_attach);
- EXPORT_SYMBOL(pxa_audio_clear_buf);
-
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+EXPORT_SYMBOL(audio_set_fragments);
-+EXPORT_SYMBOL(audio_sync);
-+EXPORT_SYMBOL(audio_setup_buf);
-+#endif
-diff -Nur linux_c860_org/drivers/sound/sound_core.c linux/drivers/sound/sound_core.c
---- linux_c860_org/drivers/sound/sound_core.c 2002-08-26 14:38:55.000000000 +0900
-+++ linux/drivers/sound/sound_core.c 2004-06-10 21:09:10.000000000 +0900
-@@ -37,6 +37,7 @@
- #include <linux/config.h>
- #include <linux/module.h>
- #include <linux/init.h>
-+#include <linux/sched.h>
- #include <linux/slab.h>
- #include <linux/types.h>
- #include <linux/kernel.h>
-diff -Nur linux_c860_org/drivers/sound/tosa_wm9712.c linux/drivers/sound/tosa_wm9712.c
---- linux_c860_org/drivers/sound/tosa_wm9712.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/sound/tosa_wm9712.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,861 @@
-+/*
-+ * linux/drivers/sound/tosa_wm9712.c
-+ *
-+ * wm9712 ctrl funstions for PXA (SHARP)
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on:
-+ * linux/drivers/sound/poodle_wm8731.c
-+ * wm8731 ctrl funstions for PXA (SHARP)
-+ * Copyright (C) 2002 SHARP
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ */
-+#include <linux/sched.h>
-+#include <linux/timer.h>
-+#include <linux/poll.h>
-+#include <linux/delay.h>
-+#include <linux/config.h>
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/ac97_codec.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/irqs.h>
-+
-+#ifdef CONFIG_PM
-+#include <asm/sharp_apm.h>
-+#endif /* CONFIG_PM */
-+
-+#include <asm/arch/tosa_wm9712.h>
-+
-+/************************************************************
-+ * Debug
-+ ************************************************************/
-+#define DBG_LEVEL 0
-+
-+#define DBG_L0 0
-+#define DBG_L1 1
-+#define DBG_L2 2
-+#define DBG_L3 3
-+
-+#ifdef DBG_LEVEL
-+#define DEBUG(level, x, args...) \
-+ if ( level <= DBG_LEVEL ) printk("%s: " x,__FUNCTION__ ,##args)
-+#else
-+#define DEBUG(level, x, args...) \
-+ if ( !level ) printk("%s: " x,__FUNCTION__ ,##args)
-+#endif /* DBG_LEVEL */
-+
-+//X#define DISABLE_JACKCHECK_PLAYING
-+//X#define USE_HARDWARE_LMIX
-+
-+/*** Some valiables **************************************************/
-+typedef struct {
-+ unsigned char used; //used: open(1) close(0)
-+ unsigned char jack; //Jack: in(1) out(0)
-+ unsigned char mic; // Mic headPhone(1) no mic(0)
-+ unsigned char last_jack_state; // jack state
-+ unsigned char open_play;
-+ unsigned char open_rec;
-+ unsigned short mode; //Sound mode
-+ int out_left; //Volume out left
-+ int out_right; //Volume out right
-+ int in_left; //Volume in left
-+ int in_right; //Volume in right
-+ int rate; //Sampling rate
-+ int agc; //Agc: on(1) off(0)
-+ int vol0;
-+#ifdef DISABLE_JACKCHECK_PLAYING
-+ int need_after_check; // check jack after playing
-+#endif
-+#ifdef CONFIG_PM
-+ int suspend; //Suspend: on(1) off(0)
-+#endif /* CONFIG_PM */
-+} wm9712_stat_t;
-+
-+static wm9712_stat_t wm9712_stat;
-+static unsigned char ac97_on = 0;
-+int wm9712_mono_out = 0; // mix output data into mono
-+//static spinlock_t ear_in_lock = SPIN_LOCK_UNLOCKED;
-+//static struct tq_struct wm9712_queue;
-+static struct timer_list hp_wakeup_timer;
-+#define HP_WAKEUP_DELAY (HZ*3)
-+
-+static int wm9712_setup(SOUND_SETTINGS *);
-+static void wm9712_update_agc(int);
-+
-+#define MAKEJACKSTATE(jack,mic) ((jack)*2+(mic))
-+#define INVALID_JACKSTATE -1
-+#define DEV_OUTALL 0
-+#define DEV_SP 1
-+#define DEV_HP 2
-+#define DEV_HPL 3
-+#define DEV_MIC 4
-+
-+#define BIT_ZC (0x1<<7)
-+#define BIT_INV (0x1<<6)
-+#define VOLL_SHIFT 8
-+#define VOLL_MASK (0x3f<<VOLL_SHIFT)
-+#define VOLR_MASK (0x3f)
-+#define VOLL_MUTE (0x2000)
-+#define MASK_DACVOL (0x1f1f)
-+#define LDACVOLSHIFT 8
-+#define RDACVOLSHIFT 0
-+#define BOOSTSHIFT 14
-+#define MASK_BOOST (0x1<<BOOSTSHIFT)
-+#define MASK_RECVOL (0x3f3f)
-+#define RECVOLLSHIFT 8
-+#define RECVOLRSHIFT 0
-+#define DACVOL_MASK 0x1F1F
-+
-+#define RECSL_MASK 0x0707
-+#define RECSL_BITS_MIC 0x0000
-+#define RECSL_BITS_LINEIN 0x0304
-+#define D2H_BIT (0x1<<15)
-+#define D2S_BIT (0x1<<14)
-+#define AC97_GPIO1 (0x1<<1)
-+#define AC97_GPIO5 (0x1<<5)
-+#define ALCM_MASK 0x0c00
-+#define ALCM_MUTE 0x0c00
-+#define ALCM_HP 0x0800
-+#define ALC_MASK 0xc080
-+#define ALC_ON 0x4080
-+#define MS_MASK 0x0060
-+#define MS_MIC2 0x0040
-+#define MUTE_INPUT (0x1<<15)
-+#define BIT_VRA (0x1<<0)
-+
-+#define DEFAULT_OUT_VOLUME (75)
-+#define DEFAULT_IN_VOLUME (75)
-+#define DEFAULT_RATE (8000)
-+#define JACK_POLLING_WAIT (5)
-+
-+static DECLARE_WAIT_QUEUE_HEAD(hp_queue);
-+static DECLARE_WAIT_QUEUE_HEAD(hp_proc);
-+static int volume_table_initialized = FALSE;
-+static unsigned short SpVolToReal[101];
-+static unsigned short HpVolToReal[101];
-+static unsigned short MicVolToReal[101];
-+static unsigned short DacVolToReal[101];
-+static unsigned short VolCnvTbl[38][2] __initdata = {
-+ {8,31}, {8,31}, {8,30}, {8,29}, {8,28}, // 0 - 4
-+ {8,27}, {8,26}, {8,25}, {8,24}, {8,23}, // 5 - 9
-+ {8,22}, {8,21}, {8,20}, {8,19}, {8,18}, // 10 - 14
-+ {8,17}, {8,16}, {8,15}, {8,14}, {8,13}, // 15 - 19
-+ {8,12}, {8,11}, {8,10}, {8, 9}, {8, 8}, // 20 - 24
-+ {8, 7}, {8, 6}, {8, 5}, {8, 4}, {8, 3}, // 25 - 29
-+ {8, 2}, {8, 1}, {8, 0}, {7, 0}, {6, 0}, // 30 - 34
-+ {5, 0}, {4, 0}, {3, 0}, }; // 35 - 37
-+
-+static unsigned short VolInitTbl[101] __initdata = {
-+ 0, 1, 5, 9, 11, 13, 14, 15, 16, 17,
-+ 18, 19, 19, 20, 21, 21, 22, 22, 23, 23,
-+ 23, 24, 24, 25, 25, 25, 25, 26, 26, 26,
-+ 27, 27, 27, 27, 28, 28, 28, 28, 28, 29,
-+ 29, 29, 29, 29, 30, 30, 30, 30, 30, 30,
-+ 31, 31, 31, 31, 31, 31, 31, 32, 32, 32,
-+ 32, 32, 32, 32, 33, 33, 33, 33, 33, 33,
-+ 33, 33, 33, 34, 34, 34, 34, 34, 34, 34,
-+ 34, 34, 34, 35, 35, 35, 35, 35, 35, 35,
-+ 35, 35, 35, 35, 36 ,36, 36, 36, 36, 36,
-+ 37 };
-+
-+#ifdef CONFIG_PM
-+#define ADEV_MAIN 0
-+#define ADEV_HP 1
-+#define ADEV_VOL 2
-+#define ADEV_OFFON 3
-+#define ADEV_INIT 4
-+static int lockState = 0;
-+static void audioLockFCS( int dev, int bLock )
-+{
-+ int curLockState = lockState;
-+ int now,last;
-+ if (bLock) {
-+ curLockState |= 0x1<<dev;
-+ } else {
-+ curLockState &= ~(0x1<<dev);
-+ }
-+ if (curLockState!=lockState) {
-+ now = (curLockState!=0)?TRUE:FALSE;
-+ last = (lockState!=0)?TRUE:FALSE;
-+ if ( now != last ) {
-+ lock_FCS(LOCK_FCS_SOUND, (curLockState!=0)?TRUE:FALSE);
-+ }
-+ lockState = curLockState;
-+ }
-+}
-+#endif // end CONFIG_PM
-+
-+/************************************************************
-+ * Config & Setup
-+ ************************************************************/
-+int wm9712_busy(void)
-+{
-+ return wm9712_stat.used;
-+}
-+
-+void wm9712_checkjack_sleep(void)
-+{
-+ interruptible_sleep_on(&hp_proc);
-+}
-+
-+void wm9712_checkjack_wakeup(void)
-+{
-+ wake_up(&hp_proc);
-+}
-+
-+static int check_hp_jack(void)
-+{
-+ unsigned short gpio_status;
-+ int count = 0, err = 0;
-+ int state;
-+
-+ gpio_status = ac97_read(AC97_GPIO_STATUS);
-+ state = !(gpio_status & AC97_GPIO1); //Active L
-+
-+ while( !(count>10 || err>50) ) {
-+ if (wm9712_stat.suspend) mdelay(JACK_POLLING_WAIT);
-+ else interruptible_sleep_on_timeout((wait_queue_head_t*)&hp_queue, JACK_POLLING_WAIT ); // wait
-+
-+ gpio_status = ac97_read(AC97_GPIO_STATUS);
-+ if (state == !(gpio_status & AC97_GPIO1)) {
-+ count++;
-+ } else {
-+ err++;
-+ state = !(gpio_status & AC97_GPIO1);
-+ count=0;
-+ }
-+ }
-+
-+ if ( count > 10 ) {
-+ wm9712_stat.jack = (state)?TRUE:FALSE;
-+ } else { // error
-+ wm9712_stat.jack = FALSE;
-+ }
-+ return wm9712_stat.jack;
-+}
-+
-+static int check_hp_mic(void)
-+{
-+ unsigned short gpio_status;
-+ int count = 0, err = 0;
-+ volatile int state;
-+ int LchMute;
-+
-+ if (!wm9712_stat.jack) {
-+ wm9712_stat.mic = FALSE;
-+ return FALSE;
-+ }
-+#ifdef DISABLE_JACKCHECK_PLAYING
-+ if (wm9712_stat.open_play) { // cannot check mic while playing
-+ wm9712_stat.need_after_check=TRUE;
-+ return wm9712_stat.mic;
-+ }
-+ wm9712_stat.need_after_check=FALSE;
-+#endif
-+
-+ wm9712_power_mode_tmp(WM9712_PWR_ENMICBIAS); // MICBIAS on
-+ LchMute = !(TC6393_SYS_REG(TC6393_SYS_GPODSR1) & TC6393_L_MUTE);
-+ if (!LchMute) TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_L_MUTE; // set L_Mute
-+
-+ gpio_status = ac97_read(AC97_GPIO_STATUS);
-+ state = (gpio_status & AC97_GPIO5); //Active H
-+
-+ while( !(count>10 || err>50) ) {
-+ if (wm9712_stat.suspend) mdelay(JACK_POLLING_WAIT);
-+ else interruptible_sleep_on_timeout((wait_queue_head_t*)&hp_queue, JACK_POLLING_WAIT ); // wait
-+
-+ gpio_status = ac97_read(AC97_GPIO_STATUS);
-+ if (state == (gpio_status & AC97_GPIO5)) {
-+ count++;
-+ } else {
-+ err++;
-+ state = (gpio_status & AC97_GPIO5);
-+ count=0;
-+ }
-+ }
-+
-+ wm9712_power_mode_tmp(WM9712_PWR_OFF); // restore MICBIAS
-+ if (!LchMute) TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_L_MUTE; // restore L_Mute
-+
-+ if ( count > 10 ) {
-+ wm9712_stat.mic = (state)?TRUE:FALSE;
-+ } else { // error
-+ wm9712_stat.mic = FALSE;
-+ }
-+ return wm9712_stat.mic;
-+}
-+
-+static void set_mute_registers( int dev, int mute )
-+{
-+ unsigned short val,val2;
-+#ifdef USE_HARDWARE_LMIX
-+ unsigned short val3;
-+#endif
-+
-+ switch(dev) {
-+ case DEV_MIC:
-+ if (mute) {
-+ ac97_bit_set(AC97_RECORD_GAIN, MUTE_INPUT);
-+ } else {
-+ ac97_bit_clear(AC97_RECORD_GAIN, MUTE_INPUT);
-+ }
-+ break;
-+ case DEV_OUTALL:
-+ set_mute_registers(DEV_SP,mute);
-+ set_mute_registers(DEV_HP,mute);
-+ break;
-+ case DEV_SP: // speaker
-+ val = ac97_read(AC97_MASTER_VOL_STEREO);
-+ val2 = ac97_read(AC97_DAC_VOL);
-+ if (mute || wm9712_stat.vol0) {
-+ val |= AC97_MUTE;
-+ val2 |= D2S_BIT;
-+ } else {
-+ val &= ~AC97_MUTE;
-+ val2 &= ~D2S_BIT;
-+ }
-+ ac97_write(AC97_MASTER_VOL_STEREO,val);
-+ ac97_write(AC97_DAC_VOL,val2);
-+ break;
-+ case DEV_HP: // headphone
-+ val = ac97_read(AC97_HEADPHONE_VOL);
-+ val2 = ac97_read(AC97_DAC_VOL);
-+ if (mute || wm9712_stat.vol0) {
-+ val |= AC97_MUTE;
-+ val2 |= D2H_BIT;
-+ } else {
-+ val &= ~AC97_MUTE;
-+ val2 &= ~D2H_BIT;
-+ }
-+ ac97_write(AC97_HEADPHONE_VOL,val);
-+ ac97_write(AC97_DAC_VOL,val2);
-+ break;
-+ case DEV_HPL: // headphone Lch only
-+ val = ac97_read(AC97_HEADPHONE_VOL);
-+#ifdef USE_HARDWARE_LMIX
-+ val2 = ac97_read(AC97_SIDETONE);
-+ val3 = ac97_read(AC97_DAC_VOL);
-+#endif
-+ if (mute) {
-+ wm9712_mono_out=1;
-+ val |= VOLL_MUTE; // mute bit
-+#ifdef USE_HARDWARE_LMIX
-+ val2 &= ~ALCM_MASK; // SP Mix to Rch
-+ val2 |= ALCM_HP;
-+ val3 |= D2H_BIT;
-+ val3 &= ~D2S_BIT;
-+ if (!wm9712_stat.open_rec) set_mute_registers(DEV_MIC,FALSE);
-+#endif
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_L_MUTE; // Mute Lch
-+ } else {
-+ wm9712_mono_out=0;
-+ val &= ~VOLL_MASK;
-+ val |= (val&VOLR_MASK)<<VOLL_SHIFT;
-+#ifdef USE_HARDWARE_LMIX
-+ val2 &= ~ALCM_MASK; // mute SP Mix
-+ val2 |= ALCM_MUTE;
-+ val3 &= ~D2H_BIT;
-+ val3 &= ~D2S_BIT;
-+ if (!wm9712_stat.open_rec) set_mute_registers(DEV_MIC,TRUE);
-+#endif
-+ TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_L_MUTE; // Mute Lch off
-+ }
-+ ac97_write(AC97_HEADPHONE_VOL,val);
-+#ifdef USE_HARDWARE_LMIX
-+ ac97_write(AC97_SIDETONE,val2)
-+ ac97_write(AC97_DAC_VOL,val3);
-+#endif
-+ break;
-+ }
-+}
-+
-+static void set_audio_registers( int jackmode )
-+{
-+ char play = wm9712_stat.open_play;
-+ char rec = wm9712_stat.open_rec;
-+ unsigned short val;
-+
-+ switch( jackmode ) {
-+ case MAKEJACKSTATE(0,0): // Speaker (no HP)
-+ case MAKEJACKSTATE(0,1):
-+ // record from OnBoard Mic
-+ val = ac97_read(AC97_RECORD_SELECT);
-+ val &= ~RECSL_MASK;
-+ val |= RECSL_BITS_MIC;
-+ ac97_write(AC97_RECORD_SELECT,val);
-+ // power down
-+ wm9712_power_mode_audio((play)?WM9712_PWR_PLAY:WM9712_PWR_OFF);
-+ wm9712_power_mode_audioin((rec)?WM9712_PWR_REC:WM9712_PWR_OFF);
-+ // mute
-+ set_mute_registers(DEV_HP,TRUE);
-+ set_mute_registers(DEV_HPL,FALSE);
-+ set_mute_registers(DEV_SP,FALSE);
-+ break;
-+ case MAKEJACKSTATE(1,0): // Stereo HP
-+ // record from OnBoard Mic
-+ val = ac97_read(AC97_RECORD_SELECT);
-+ val &= ~RECSL_MASK;
-+ val |= RECSL_BITS_MIC;
-+ ac97_write(AC97_RECORD_SELECT,val);
-+ // power down
-+ wm9712_power_mode_audio((play)?WM9712_PWR_PLAY_HP:WM9712_PWR_OFF);
-+ wm9712_power_mode_audioin((rec)?WM9712_PWR_REC_HP:WM9712_PWR_OFF);
-+ // mute
-+ set_mute_registers(DEV_SP,TRUE);
-+ set_mute_registers(DEV_HPL,FALSE);
-+ set_mute_registers(DEV_HP,FALSE);
-+ break;
-+ case MAKEJACKSTATE(1,1): // Mic HP
-+ // record from HP Mic
-+ val = ac97_read(AC97_RECORD_SELECT);
-+ val &= ~RECSL_MASK;
-+ val |= RECSL_BITS_LINEIN;
-+ ac97_write(AC97_RECORD_SELECT,val);
-+ // power down
-+ wm9712_power_mode_audio((play)?WM9712_PWR_PLAY_MIC:WM9712_PWR_OFF);
-+ wm9712_power_mode_audioin((rec)?WM9712_PWR_REC_MIC:WM9712_PWR_OFF);
-+ // mute
-+ set_mute_registers(DEV_SP,TRUE);
-+ set_mute_registers(DEV_HPL,TRUE);
-+ set_mute_registers(DEV_HP,FALSE);
-+ break;
-+ }
-+}
-+
-+void wm9712_update_jack_state()
-+{
-+ int cur_jack_state;
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_HP, 1 );
-+#endif
-+ check_hp_jack();
-+ check_hp_mic();
-+ cur_jack_state = MAKEJACKSTATE(wm9712_stat.jack,wm9712_stat.mic);
-+ if (wm9712_stat.last_jack_state == cur_jack_state) {
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_HP, 0 );
-+#endif
-+ return;
-+ }
-+
-+ DEBUG(DBG_L0, "HP jack state changed (Jack=%d,Mic=%d)\r\n",wm9712_stat.jack,wm9712_stat.mic);
-+
-+ set_audio_registers(cur_jack_state);
-+ wm9712_stat.last_jack_state = cur_jack_state;
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_HP, 0 );
-+#endif
-+}
-+
-+static void wm9712_ear_in_interrupt(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+ wm9712_checkjack_wakeup();
-+}
-+
-+
-+void wm9712_exit(void)
-+{
-+ set_mute_registers(DEV_OUTALL,TRUE);
-+
-+ free_irq(IRQ_GPIO_EAR_IN, NULL);
-+
-+ wm9712_power_mode_audio(WM9712_PWR_OFF);
-+ wm9712_power_mode_audioin(WM9712_PWR_OFF);
-+ wm9712_power_mode_tmp(WM9712_PWR_OFF);
-+
-+ pxa_ac97_put(&ac97_on);
-+}
-+
-+
-+int wm9712_init(void)
-+{
-+ unsigned short val;
-+
-+ printk("w9712_init\n");
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_INIT, 1 );
-+#endif
-+ if (!volume_table_initialized) {
-+ int i;
-+ // initialize status
-+ memset(&wm9712_stat,0,sizeof(wm9712_stat));
-+ wm9712_stat.out_left = DEFAULT_OUT_VOLUME;
-+ wm9712_stat.out_right = DEFAULT_OUT_VOLUME;
-+ wm9712_stat.in_left = DEFAULT_IN_VOLUME;
-+ wm9712_stat.in_right = DEFAULT_IN_VOLUME;
-+ wm9712_stat.rate = DEFAULT_RATE;
-+
-+ // set volume table
-+ // volume '90' is 0dB, max volume is 7.5dB
-+ for (i=0; i<=100; i++) {
-+ SpVolToReal[i] = VolCnvTbl[VolInitTbl[i]][1];
-+ HpVolToReal[i] = VolCnvTbl[VolInitTbl[i]][1];
-+ DacVolToReal[i] = VolCnvTbl[VolInitTbl[i]][0];
-+ MicVolToReal[i] = 0xf * i / 100;
-+ }
-+ volume_table_initialized=TRUE;
-+ }
-+ wm9712_stat.last_jack_state = INVALID_JACKSTATE;
-+ pxa_ac97_get(&codec, &ac97_on);
-+ wm9712_power_mode_audio(WM9712_PWR_OFF);
-+ wm9712_power_mode_audioin(WM9712_PWR_OFF);
-+ wm9712_power_mode_tmp(WM9712_PWR_OFF);
-+
-+
-+ // set default values in wm9712 registers
-+ // 0x02 MASTER_VOLUME ... ZC=1, INV=1
-+ val = ac97_read(AC97_MASTER_VOL_STEREO);
-+ val |= BIT_ZC|BIT_INV;
-+ ac97_write(AC97_MASTER_VOL_STEREO,val);
-+
-+ // 0x04 HEADPHONE_VOLUME ... ZC=1
-+ val = ac97_read(AC97_HEADPHONE_VOL);
-+ val |= BIT_ZC;
-+ ac97_write(AC97_HEADPHONE_VOL,val);
-+
-+ // 0x0E MIC VOLUME ... set MS
-+ val = ac97_read(AC97_MIC_VOL);
-+ val &= ~MS_MASK;
-+ val |= MS_MIC2;
-+ ac97_write(AC97_MIC_VOL,val);
-+
-+ // 0x1A RECORD_SELECT ... set BOOST
-+ val = ac97_read(AC97_RECORD_SELECT);
-+ val |= MASK_BOOST;
-+ ac97_write(AC97_RECORD_SELECT,val);
-+
-+ // 0x1C RECORD_GAIN ... set ZC=1
-+ val = ac97_read(AC97_RECORD_GAIN);
-+ val |= BIT_ZC;
-+ ac97_write(AC97_RECORD_GAIN,val);
-+
-+ // 0x2A AC97_EXTENDED_STATUS set VRA=1
-+ val = ac97_read(AC97_EXTENDED_STATUS);
-+ val |= BIT_VRA;
-+ ac97_write(AC97_EXTENDED_STATUS,val);
-+
-+ // set default volume
-+ wm9712_set_output_volume(wm9712_stat.out_left, wm9712_stat.out_right);
-+ wm9712_set_input_gain(wm9712_stat.in_left, wm9712_stat.in_right);
-+
-+ // set default rate
-+ ac97_set_dac_rate(codec, (unsigned int)wm9712_stat.rate);
-+ ac97_set_adc_rate(codec, (unsigned int)wm9712_stat.rate);
-+
-+ wm9712_update_jack_state();
-+ init_timer(&hp_wakeup_timer);
-+ hp_wakeup_timer.function = wm9712_checkjack_wakeup;
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_INIT, 0 );
-+#endif
-+
-+ set_GPIO_IRQ_edge(GPIO_HP_IN, GPIO_BOTH_EDGES);
-+ if( request_irq(IRQ_GPIO_EAR_IN, wm9712_ear_in_interrupt, SA_INTERRUPT, "ear_in", NULL) ) {
-+ DEBUG(DBG_L0, "IRQ error %d\n", IRQ_GPIO_EAR_IN);
-+ return -EBUSY;
-+ }
-+
-+ return 0;
-+}
-+
-+/************************************************************
-+ * Open & Close
-+ ************************************************************/
-+int wm9712_open(SOUND_SETTINGS *settings)
-+{
-+ DEBUG(DBG_L2, "wm9712 open\n");
-+
-+ if ( wm9712_stat.used ) {
-+ DEBUG(DBG_L0, "wm9712 device is busy now !\n");
-+ return -EBUSY;
-+ }
-+
-+ wm9712_stat.used = TRUE;
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_MAIN, 1 );
-+#endif /* CONFIG_PM */
-+
-+ if ( wm9712_setup(settings) < 0 ) {
-+ wm9712_close();
-+ wm9712_stat.used = FALSE;
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+int wm9712_close(void)
-+{
-+ DEBUG(DBG_L2 ,"wm9712 close\n");
-+
-+ // set_mute_registers(DEV_OUTALL,TRUE);
-+ set_mute_registers(DEV_MIC,TRUE);
-+
-+ wm9712_stat.used = FALSE;
-+ wm9712_stat.open_play = FALSE;
-+ wm9712_stat.open_rec = FALSE;
-+
-+ wm9712_power_mode_audio(WM9712_PWR_OFF);
-+ wm9712_power_mode_audioin(WM9712_PWR_OFF);
-+ wm9712_power_mode_tmp(WM9712_PWR_OFF);
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_MAIN, 0 );
-+#endif /* CONFIG_PM */
-+
-+#ifdef DISABLE_JACKCHECK_PLAYING
-+ if (wm9712_stat.need_after_check) {
-+ wm9712_checkjack_wakeup();
-+ }
-+#endif
-+
-+ return 0;
-+}
-+
-+/************************************************************
-+ * Setup
-+ ************************************************************/
-+static int wm9712_setup(SOUND_SETTINGS *setting)
-+{
-+ int ret = 0;
-+
-+ if( setting == NULL ) return -1;
-+
-+ if ( !wm9712_stat.used ) {
-+ DEBUG(DBG_L0, "not opened !\n");
-+ return -EINVAL;
-+ }
-+
-+ wm9712_stat.mode = setting->mode & SOUND_MODE_MASK;
-+ if (wm9712_stat.mode & SOUND_PLAY_MODE) {
-+ DEBUG(DBG_L2, "Sound Play Setting\n");
-+ // wm9712_set_output_volume(setting->output.left, setting->output.right);
-+ wm9712_stat.open_play=TRUE;
-+ }
-+ if (wm9712_stat.mode & SOUND_REC_MODE) {
-+ DEBUG(DBG_L2, "Sound Rec Mode\n");
-+ set_mute_registers(DEV_MIC,FALSE);
-+ // wm9712_set_input_gain(setting->input.left, setting->input.right);
-+ wm9712_stat.open_rec=TRUE;
-+ }
-+ if (!wm9712_stat.open_play && !wm9712_stat.open_rec) {
-+ DEBUG(DBG_L0, "Sound mode(%x) is not supported !\n", wm9712_stat.mode);
-+ return -EINVAL;
-+ }
-+
-+ set_audio_registers(wm9712_stat.last_jack_state);
-+
-+ if ( (ret = wm9712_set_freq(setting)) < 0 ) return ret;
-+
-+ return 0;
-+}
-+
-+// for Freq.
-+int wm9712_set_freq(SOUND_SETTINGS *setting)
-+{
-+ int ret = 0;
-+ unsigned int actual_val;
-+ wm9712_stat.rate = setting->frequency;
-+ DEBUG(DBG_L2, "rate = %d\n", wm9712_stat.rate);
-+
-+ if ( !wm9712_stat.used ) {
-+ DEBUG(DBG_L0, "not opened !\n");
-+ return -EINVAL;
-+ }
-+ if ( wm9712_stat.rate < 8000 ) wm9712_stat.rate = 8000;
-+ else if ( wm9712_stat.rate > 48000 ) wm9712_stat.rate = 48000;
-+
-+ if (wm9712_stat.open_play) {
-+ actual_val = ac97_set_dac_rate(codec, (unsigned int)wm9712_stat.rate);
-+ if ( actual_val != wm9712_stat.rate) {
-+ DEBUG(DBG_L1,"Set DAC rate error: %d->%d\n",wm9712_stat.rate,actual_val);
-+ }
-+ }
-+ if (wm9712_stat.open_rec) {
-+ actual_val = ac97_set_adc_rate(codec, (unsigned int)wm9712_stat.rate);
-+ if ( actual_val != wm9712_stat.rate) {
-+ DEBUG(DBG_L1,"Set ADC rate error: %d->%d\n",wm9712_stat.rate,actual_val);
-+ }
-+ }
-+
-+ DEBUG(DBG_L2, "Sampling rate: %d\n", wm9712_stat.rate);
-+
-+ return ret;
-+}
-+
-+
-+/************************************************************
-+ * Volume
-+ ************************************************************/
-+
-+int wm9712_set_output_volume(int left, int right)
-+{
-+ unsigned short real_left_vol,real_right_vol,val;
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_VOL, 1 );
-+#endif
-+ // speaker volume
-+ real_left_vol = SpVolToReal[left];
-+ real_right_vol = SpVolToReal[right];
-+
-+ val = ac97_read(AC97_MASTER_VOL_STEREO);
-+ val &= ~(VOLL_MASK|VOLR_MASK);
-+ val |= (real_left_vol << VOLL_SHIFT) | real_right_vol;
-+ ac97_write(AC97_MASTER_VOL_STEREO,val);
-+
-+ // head phone volume
-+ real_left_vol = HpVolToReal[left];
-+ real_right_vol = HpVolToReal[right];
-+
-+ val = ac97_read(AC97_HEADPHONE_VOL);
-+ val &= ~(VOLL_MASK|VOLR_MASK);
-+ if (wm9712_stat.mic) { // minimize Lch volume
-+ val |= VOLL_MASK | real_right_vol;
-+ } else {
-+ val |= (real_left_vol << VOLL_SHIFT) | real_right_vol;
-+ }
-+ ac97_write(AC97_HEADPHONE_VOL,val);
-+
-+ // pcm volume
-+ real_left_vol = DacVolToReal[left];
-+ real_right_vol = DacVolToReal[right];
-+
-+ val = ac97_read(AC97_DAC_VOL);
-+ val &= ~DACVOL_MASK;
-+ val |= (real_left_vol << VOLL_SHIFT) | real_right_vol;
-+ ac97_write(AC97_DAC_VOL,val);
-+
-+ wm9712_stat.out_left = left;
-+ wm9712_stat.out_right = right;
-+
-+ // volume 0 means mute
-+ if ( (left==0 && right==0) && wm9712_stat.vol0!=TRUE) {
-+ wm9712_stat.vol0 = TRUE;
-+ set_mute_registers(DEV_OUTALL,TRUE);
-+ }
-+ if ( (left>0 || right>0) && wm9712_stat.vol0==TRUE) {
-+ wm9712_stat.vol0 = FALSE;
-+ set_audio_registers(wm9712_stat.last_jack_state);
-+ }
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_VOL, 0 );
-+#endif
-+ return 0;
-+}
-+
-+int wm9712_set_input_gain(int left, int right)
-+{
-+ unsigned short real_left_vol,real_right_vol,val;
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_VOL, 1 );
-+#endif
-+
-+ real_left_vol = MicVolToReal[left];
-+ real_right_vol = MicVolToReal[left]; // Rch use left volume
-+
-+ val = ac97_read(AC97_RECORD_GAIN);
-+ val &= ~(VOLL_MASK|VOLR_MASK);
-+ val |= (real_left_vol << VOLL_SHIFT) | real_right_vol;
-+ ac97_write(AC97_RECORD_GAIN,val);
-+
-+ wm9712_stat.in_left = left;
-+ wm9712_stat.in_right = right;
-+
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_VOL, 0 );
-+#endif
-+
-+ return 0;
-+}
-+
-+/*
-+ * AGC
-+ */
-+static void wm9712_update_agc(int agc)
-+{
-+ unsigned short val;
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_VOL, 1 );
-+#endif
-+ if ( wm9712_stat.mode | SOUND_REC_MODE ) {
-+ val = ac97_read(AC97_NOISE_CTL);
-+ val &= ~ALC_MASK;
-+ if (agc) val |= ALC_ON;
-+ ac97_write(AC97_NOISE_CTL,val);
-+ }
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_VOL, 0 );
-+#endif
-+
-+}
-+
-+int wm9712_set_agc(int agc)
-+{
-+ if ( agc < 0 ) return wm9712_stat.agc;
-+ agc = !!agc; /* should be 0 or 1 now */
-+ if ( wm9712_stat.agc != agc ) {
-+ wm9712_stat.agc = agc;
-+ wm9712_update_agc(wm9712_stat.agc);
-+ }
-+ return agc;
-+}
-+
-+/*** Suspend/Resume ***********************************************************/
-+#ifdef CONFIG_PM
-+void wm9712_suspend(void)
-+{
-+ DEBUG(DBG_L2, "in\n");
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_OFFON, 1 );
-+#endif
-+ wm9712_stat.suspend = 1;
-+ wm9712_exit();
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_OFFON, 0 );
-+#endif
-+ DEBUG(DBG_L2, "out\n");
-+}
-+
-+void wm9712_resume(void)
-+{
-+ DEBUG(DBG_L2, "in\n");
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_OFFON, 1 );
-+#endif
-+ wm9712_init();
-+ if (wm9712_stat.open_play) {
-+ ac97_set_dac_rate(codec, (unsigned int)wm9712_stat.rate);
-+ }
-+ if (wm9712_stat.open_rec) {
-+ set_mute_registers(DEV_MIC,FALSE);
-+ ac97_set_adc_rate(codec, (unsigned int)wm9712_stat.rate);
-+ }
-+ wm9712_stat.suspend = 0;
-+ //X wm9712_checkjack_wakeup();
-+ hp_wakeup_timer.expires = jiffies + HP_WAKEUP_DELAY;
-+ add_timer(&hp_wakeup_timer);
-+#ifdef CONFIG_PM
-+ audioLockFCS( ADEV_OFFON, 0 );
-+#endif
-+ DEBUG(DBG_L2, "out\n");
-+}
-+#endif /* CONFIG_PM */
-diff -Nur linux_c860_org/drivers/usb/Config.in linux/drivers/usb/Config.in
---- linux_c860_org/drivers/usb/Config.in 2002-08-29 12:26:42.000000000 +0900
-+++ linux/drivers/usb/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -36,6 +36,12 @@
- fi
- dep_tristate ' OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support' CONFIG_USB_OHCI $CONFIG_USB
- dep_tristate ' SA1111 OHCI-compatible host interface support' CONFIG_USB_OHCI_SA1111 $CONFIG_USB
-+dep_tristate ' TC6393 OHCI-compatible host interface support' CONFIG_USB_OHCI_TC6393 $CONFIG_USB
-+if [ "$CONFIG_USB_OHCI_TC6393" != "n" ]; then
-+ define_bool CONFIG_USB_USE_INTERNAL_MEMORY y
-+else
-+ define_bool CONFIG_USB_USE_INTERNAL_MEMORY n
-+fi
-
- comment 'USB Device Class drivers'
- dep_tristate ' USB Audio support' CONFIG_USB_AUDIO $CONFIG_USB $CONFIG_SOUND
-diff -Nur linux_c860_org/drivers/usb/Makefile linux/drivers/usb/Makefile
---- linux_c860_org/drivers/usb/Makefile 2002-08-29 12:26:42.000000000 +0900
-+++ linux/drivers/usb/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -16,10 +16,11 @@
-
- # Multipart objects.
-
--list-multi := usbcore.o hid.o pwc.o
-+list-multi := usbcore.o hid.o pwc.o usb_ohci_tc6393.o
- usbcore-objs := usb.o usb-debug.o hub.o
- hid-objs := hid-core.o hid-input.o
- pwc-objs := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o
-+ohci-tc6393-objs := usb-ohci.o usb-ohci-tc6393.o pcipool.o mem-onchip.o
-
-
- # Optional parts of multipart objects.
-@@ -48,6 +49,7 @@
- obj-$(CONFIG_USB_UHCI_ALT) += uhci.o
- obj-$(CONFIG_USB_OHCI) += usb-ohci.o usb-ohci-pci.o
- obj-$(CONFIG_USB_OHCI_SA1111) += usb-ohci.o usb-ohci-sa1111.o
-+obj-$(CONFIG_USB_OHCI_TC6393) += usbcore.o usb_ohci_tc6393.o
-
- obj-$(CONFIG_USB_MOUSE) += usbmouse.o
- obj-$(CONFIG_USB_HID) += hid.o
-@@ -105,3 +107,6 @@
-
- pwc.o: $(pwc-objs)
- $(LD) -r -o $@ $(pwc-objs)
-+
-+usb_ohci_tc6393.o: $(ohci-tc6393-objs)
-+ $(LD) -r -o $@ $(ohci-tc6393-objs)
-diff -Nur linux_c860_org/drivers/usb/device/bi/pxa.c linux/drivers/usb/device/bi/pxa.c
---- linux_c860_org/drivers/usb/device/bi/pxa.c 2003-11-07 11:35:45.000000000 +0900
-+++ linux/drivers/usb/device/bi/pxa.c 2004-06-10 21:09:10.000000000 +0900
-@@ -24,6 +24,8 @@
- * Change Log
- * 28-Nov-2003 Lineo Solutions, Inc. Add module parameter. 'shortpacket'
- * and 'recvpacket'.
-+ * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa (support cable gpio)
- *
- */
-
-@@ -912,6 +914,10 @@
- PXA_REGS(UDCCS0," <-- ep0");
- }
-
-+#ifdef USBD_CABLE_GPIO
-+static int udc_connect_state = 0;
-+#endif
-+
- /* ********************************************************************************************* */
- /* Interrupt Handler
- */
-@@ -975,10 +981,24 @@
- // uncommon interrupts
- if ((udccr = UDCCR) & (UDCCR_RSTIR | UDCCR_RESIR | UDCCR_SUSIR)) {
-
-+#ifdef USBD_CABLE_GPIO
-+ if (!udc_connect_state && (udccr & UDCCR_RSTIR)) {
-+ // printk("ignore UDC Reset\n");
-+ UDCCR |= UDCCR_RSTIR;
-+ udccr &= ~UDCCR_RSTIR;
-+ }
-+ if (!udc_connect_state && (udccr & UDCCR_RESIR)) {
-+ // printk("ignore UDC Resume\n");
-+ UDCCR |= UDCCR_RESIR;
-+ udccr &= ~UDCCR_RESIR;
-+ }
-+#endif
-+
- // UDC Reset
-- if (udccr & UDCCR_RSTIR) {
-+ if (udccr & UDCCR_RSTIR) {
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_APM_CPU_IDLE)
- static int is1stReset = 1;
-+ // printk("UDC Reset\n");
- if (is1stReset) {
- is1stReset = 0;
- } else {
-@@ -995,7 +1015,8 @@
- }
-
- // UDC Resume
-- if (udccr & UDCCR_RESIR) {
-+ if (udccr & UDCCR_RESIR) {
-+ // printk("UDC Resume\n");
- PXA_CCR(udccr, "------------------------> Resume");
- if (udc_suspended) {
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_APM_CPU_IDLE)
-@@ -1009,6 +1030,7 @@
-
- // UDC Suspend
- if (udccr & UDCCR_SUSIR) {
-+ // printk("UDC Suspend\n");
- PXA_CCR(udccr, "------------------------> Suspend");
- if (!udc_suspended) {
- #if defined(CONFIG_ARCH_SHARP_SL) && defined(CONFIG_APM_CPU_IDLE)
-@@ -1284,7 +1306,17 @@
- */
- int udc_connected ()
- {
-- return 1;
-+ int rc = 1;
-+#ifdef USBD_CABLE_GPIO
-+#ifdef USBD_CABLE_ACTIVE_HIGH
-+ rc = (GPLR(USBD_CABLE_GPIO) & GPIO_bit(USBD_CABLE_GPIO)) != 0;
-+ //dbg_udc (1, "udc_connected: ACTIVE_HIGH: %d", rc);
-+#else
-+ rc = (GPLR(USBD_CABLE_GPIO) & GPIO_bit(USBD_CABLE_GPIO)) == 0;
-+ //dbg_udc (1, "udc_connected: ACTIVE_LOW: %d", rc);
-+#endif
-+#endif
-+ return rc;
- }
-
- /**
-@@ -1294,6 +1326,9 @@
- */
- void udc_connect (void)
- {
-+#ifdef USBD_CABLE_GPIO
-+ udc_connect_state = 1;
-+#endif
- #ifdef CONFIG_SABINAL_DISCOVERY
- /* Set GPIO pin function to I/O */
- GAFR1_U &= ~(0x3 << ((USBD_CONNECT_GPIO & 0xF) << 1));
-@@ -1318,6 +1353,20 @@
- GPCR(USBD_CONNECT_GPIO) = GPIO_bit(USBD_CONNECT_GPIO);
- #endif
-
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ if (!udc_connected()) {
-+ //printk("USB Cable not connected!!\n");
-+ return;
-+ }
-+ SCP_JC_REG_GPCR |= USBD_CONNECT_GPIO;
-+#if defined(USBD_CONNECT_HIGH)
-+ /* Set GPIO pin high to connect */
-+ set_scoop_jc_gpio(USBD_CONNECT_GPIO);
-+#else
-+ /* Set GPIO pin low to connect */
-+ reset_scoop_jc_gpio(USBD_CONNECT_GPIO);
-+#endif
-+
- #else
- #warning NO USB Device connect
- #endif
-@@ -1330,6 +1379,9 @@
- */
- void udc_disconnect (void)
- {
-+#ifdef USBD_CABLE_GPIO
-+ udc_connect_state = 0;
-+#endif
- #ifdef CONFIG_SABINAL_DISCOVERY
- /* Set GPIO pin function to I/O */
- GAFR1_U &= ~(0x3 << ((USBD_CONNECT_GPIO & 0xF) << 1));
-@@ -1354,18 +1406,35 @@
- GPSR(USBD_CONNECT_GPIO) = GPIO_bit(USBD_CONNECT_GPIO);
- #endif
-
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+ SCP_JC_REG_GPCR |= USBD_CONNECT_GPIO;
-+#if defined(USBD_CONNECT_HIGH)
-+ /* Set GPIO pin low to disconnect */
-+ reset_scoop_jc_gpio(USBD_CONNECT_GPIO);
-+#else
-+ /* Set GPIO pin high to disconnect */
-+ set_scoop_jc_gpio(USBD_CONNECT_GPIO);
-+#endif
-+
- #else
- #warning NO USB Device connect
- #endif
- }
-
--#if 0
-+#ifdef USBD_CABLE_GPIO
- /**
- * udc_int_hndlr_cable - interrupt handler for cable
- */
- static void udc_int_hndlr_cable (int irq, void *dev_id, struct pt_regs *regs)
- {
- // GPIOn interrupt
-+ //dbg_udc("udc_cradle_interrupt: ->%08x\n",GPLR(USBD_CABLE_GPIO));
-+ if (udc_connected()) {
-+ usbd_device_event(udc_device, DEVICE_HUB_RESET, 0);
-+ udc_cable_event ();
-+ } else {
-+ udc_disconnect();
-+ }
- }
- #endif
-
-@@ -1663,12 +1732,14 @@
- */
- int udc_request_cable_irq ()
- {
--#ifdef XXXX_CABLE_IRQ
-+#ifdef USBD_CABLE_GPIO
-+ set_GPIO_mode(USBD_CABLE_GPIO | GPIO_IN);
-+ set_GPIO_IRQ_edge(USBD_CABLE_GPIO, GPIO_BOTH_EDGES);
- // request IRQ and IO region
-- if (request_irq
-- (XXXX_CABLE_IRQ, int_hndlr, SA_INTERRUPT | SA_SAMPLE_RANDOM, UDC_NAME " Cable",
-- NULL) != 0) {
-- printk (KERN_INFO "usb_ctl: Couldn't request USB irq\n");
-+ if (request_irq (IRQ_GPIO(USBD_CABLE_GPIO), udc_int_hndlr_cable,
-+ SA_INTERRUPT | SA_SAMPLE_RANDOM, UDC_NAME " Cable", NULL) != 0)
-+ {
-+ printk (KERN_INFO "usb_ctl: Couldn't request USB cable irq\n");
- return -EINVAL;
- }
- #endif
-@@ -1921,8 +1992,8 @@
- */
- void udc_release_cable_irq ()
- {
--#ifdef XXXX_IRQ
-- free_irq (XXXX_CABLE_IRQ, NULL);
-+#ifdef USBD_CABLE_GPIO
-+ free_irq (IRQ_GPIO(USBD_CABLE_GPIO), NULL);
- #endif
- }
-
-diff -Nur linux_c860_org/drivers/usb/device/bi/pxa.h linux/drivers/usb/device/bi/pxa.h
---- linux_c860_org/drivers/usb/device/bi/pxa.h 2002-08-26 15:19:05.000000000 +0900
-+++ linux/drivers/usb/device/bi/pxa.h 2004-06-10 21:09:10.000000000 +0900
-@@ -21,6 +21,8 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
-+ * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
-
-@@ -54,6 +56,15 @@
- #define USBD_CONNECT_HIGH 1
- #endif
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+/* SHARP SL-6000 specific GPIO assignments */
-+#define USBD_CONNECT_GPIO SCP_JC_USB_PULLUP
-+#define USBD_CONNECT_HIGH 1
-+#define USBD_CABLE_GPIO GPIO_USB_IN
-+// active low
-+//#define USBD_CABLE_ACTIVE_HIGH 1
-+#endif
-+
-
- /*
- * DMA Notes
-diff -Nur linux_c860_org/drivers/usb/device/usbd-arch.h linux/drivers/usb/device/usbd-arch.h
---- linux_c860_org/drivers/usb/device/usbd-arch.h 2003-10-16 13:59:01.000000000 +0900
-+++ linux/drivers/usb/device/usbd-arch.h 2004-06-10 21:09:10.000000000 +0900
-@@ -42,6 +42,9 @@
- * Typically during early development you will set these via the kernel
- * configuration and migrate the values into here once specific values
- * have been tested and will no longer change.
-+ *
-+ * Change Log
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
-
-@@ -442,13 +445,13 @@
- #define CONFIG_USBD_PRODUCT_NAME "SL-C750"
- #else
- #define CONFIG_USBD_PRODUCT_NAME "SL-7500"
--#endif
--#endif
--#endif
-+#endif // CONFIG_ARCH_SHARP_SL_J
-+#endif // CONFIG_ARCH_PXA_HUSKY
-+#endif // CONFIG_ARCH_PXA_SHEPHERD
-
- #ifdef CONFIG_ARCH_PXA_BOXER
-- #undef CONFIG_USBD_PRODUCT_NAME
-- #define CONFIG_USBD_PRODUCT_NAME "SL-C860"
-+ #undef CONFIG_USBD_PRODUCT_NAME
-+ #define CONFIG_USBD_PRODUCT_NAME "SL-C860"
- #endif
-
- #undef CONFIG_USBD_NET_CDC
-@@ -458,4 +461,38 @@
- #define CONFIG_USBD_NET_MDLM 1
- #define CONFIG_USBD_MAC_AS_SERIAL_NUMBER 1
-
--#endif
-+#endif // CONFIG_ARCH_PXA_CORGI
-+
-+
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+
-+ #warning CONFIGURING FOR TOSA
-+
-+ #undef CONFIG_USBD_VENDORID
-+ #define CONFIG_USBD_VENDORID 0x04dd
-+ #undef CONFIG_USBD_SERIAL_PRODUCT ID
-+ #define CONFIG_USBD_SERIAL_PRODUCT ID 0x9032
-+ #undef CONFIG_USBD_NET_PRODUCTID
-+ #define CONFIG_USBD_NET_PRODUCTID 0x9032
-+
-+ #undef CONFIG_USBD_SELFPOWERED
-+ #undef CONFIG_USBD_MANUFACTURER
-+ #undef CONFIG_USBD_PRODUCT_NAME
-+
-+ #define CONFIG_USBD_SELFPOWERED 1
-+ #define CONFIG_USBD_MANUFACTURER "Sharp"
-+#ifdef CONFIG_ARCH_SHARP_SL_J
-+ #define CONFIG_USBD_PRODUCT_NAME "SL-6000"
-+#else
-+ #define CONFIG_USBD_PRODUCT_NAME "SL-6000"
-+#endif // CONFIG_ARCH_SHARP_SL_J
-+
-+ #undef CONFIG_USBD_NET_CDC
-+ #undef CONFIG_USBD_NET_MDLM
-+ #undef CONFIG_USBD_NET_SAFE
-+
-+ #define CONFIG_USBD_NET_MDLM 1
-+ #define CONFIG_USBD_MAC_AS_SERIAL_NUMBER 1
-+
-+#endif // CONFIG_ARCH_PXA_TOSA
-+
-diff -Nur linux_c860_org/drivers/usb/device/usbd-monitor.c linux/drivers/usb/device/usbd-monitor.c
---- linux_c860_org/drivers/usb/device/usbd-monitor.c 2002-08-26 15:19:04.000000000 +0900
-+++ linux/drivers/usb/device/usbd-monitor.c 2004-06-10 21:09:10.000000000 +0900
-@@ -23,6 +23,8 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
-+ * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
-
-@@ -62,7 +64,7 @@
- * Architecture specific includes
- */
-
--#if defined(CONFIG_ARCH_SA1100) || defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_SA1100) || defined(CONFIG_SABINAL_DISCOVERY) || defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
-
- #include <asm/irq.h>
- #include <asm/hardware.h>
-diff -Nur linux_c860_org/drivers/usb/inode.c linux/drivers/usb/inode.c
---- linux_c860_org/drivers/usb/inode.c 2002-08-26 14:39:15.000000000 +0900
-+++ linux/drivers/usb/inode.c 2004-06-10 21:09:10.000000000 +0900
-@@ -24,6 +24,9 @@
- *
- * History:
- * 0.1 04.01.2000 Created
-+ *
-+ * Change Log
-+ * 27-Dec-2003 SHARP fixed non-reentrant codes
- */
-
- /*****************************************************************************/
-@@ -628,6 +631,9 @@
- s->s_root = d_alloc_root(root_inode);
- if (!s->s_root)
- goto out_no_root;
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ lock_kernel();
-+#endif
- list_add_tail(&s->u.usbdevfs_sb.slist, &superlist);
- for (i = 0; i < NRSPECIAL; i++) {
- if (!(inode = iget(s, IROOT+1+i)))
-@@ -646,6 +652,9 @@
- recurse_new_dev_inode(bus->root_hub, s);
- }
- up (&usb_bus_list_lock);
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ unlock_kernel();
-+#endif
- return s;
-
- out_no_root:
-@@ -674,9 +683,15 @@
- struct list_head *slist;
-
- lock_kernel();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ down (&usb_bus_list_lock);
-+#endif
- for (slist = superlist.next; slist != &superlist; slist = slist->next)
- new_bus_inode(bus, list_entry(slist, struct super_block, u.usbdevfs_sb.slist));
- update_special_inodes();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ up (&usb_bus_list_lock);
-+#endif
- unlock_kernel();
- usbdevfs_conn_disc_event();
- }
-@@ -684,9 +699,15 @@
- void usbdevfs_remove_bus(struct usb_bus *bus)
- {
- lock_kernel();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ down (&usb_bus_list_lock);
-+#endif
- while (!list_empty(&bus->inodes))
- free_inode(list_entry(bus->inodes.next, struct inode, u.usbdev_i.dlist));
- update_special_inodes();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ up (&usb_bus_list_lock);
-+#endif
- unlock_kernel();
- usbdevfs_conn_disc_event();
- }
-@@ -696,9 +717,15 @@
- struct list_head *slist;
-
- lock_kernel();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ down (&usb_bus_list_lock);
-+#endif
- for (slist = superlist.next; slist != &superlist; slist = slist->next)
- new_dev_inode(dev, list_entry(slist, struct super_block, u.usbdevfs_sb.slist));
- update_special_inodes();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ up (&usb_bus_list_lock);
-+#endif
- unlock_kernel();
- usbdevfs_conn_disc_event();
- }
-@@ -709,6 +736,9 @@
- struct siginfo sinfo;
-
- lock_kernel();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ down (&usb_bus_list_lock);
-+#endif
- while (!list_empty(&dev->inodes))
- free_inode(list_entry(dev->inodes.next, struct inode, u.usbdev_i.dlist));
- while (!list_empty(&dev->filelist)) {
-@@ -728,6 +758,9 @@
- }
-
- update_special_inodes();
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ up (&usb_bus_list_lock);
-+#endif
- unlock_kernel();
- usbdevfs_conn_disc_event();
- }
-diff -Nur linux_c860_org/drivers/usb/mem-onchip.c linux/drivers/usb/mem-onchip.c
---- linux_c860_org/drivers/usb/mem-onchip.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/usb/mem-onchip.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,364 @@
-+/*
-+ * linux/drivers/usb/mem-onchip.c
-+ *
-+ * memory allocate functions for RAM on chip
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file "COPYING" in the main directory of this archive
-+ * for more details.
-+ *
-+ */
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/ioport.h>
-+#include <linux/interrupt.h>
-+#include <linux/slab.h>
-+#include <linux/usb.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/io.h>
-+
-+#include "mem-onchip.h"
-+
-+#if 0
-+#define dbg(format, arg...) printk(KERN_DEBUG __FILE__ ": " format "\n" , ## arg)
-+#else
-+#define dbg(format, arg...) do {} while (0)
-+#endif
-+
-+
-+
-+//#define MALLOCK_BOUNDART_32BYTE
-+#define MALLOCK_BOUNDART_16BYTE
-+
-+#define MAKE_POINTER(p, offset) ((oc_mem_head *)((u32)(p) + offset))
-+
-+#define INIT_OC_MEM_HEAD(p, s) \
-+ {\
-+ INIT_LIST_HEAD(&(p)->free_list);\
-+ (p)->size = s;\
-+ (p)->flag = 0;\
-+ }
-+
-+#define IS_ALLOCATED_MEMORY(p) ((struct list_head *)(p) == (p)->free_list.next \
-+ && (p)->free_list.next == (p)->free_list.prev)
-+
-+/* memory block header */
-+typedef struct __oc_mem_head {
-+ struct list_head free_list;
-+ size_t size;
-+ u32 flag;
-+#ifdef MALLOCK_BOUNDART_32BYTE
-+ u32 dummy[4]; // for 32byte boundary
-+#endif
-+} oc_mem_head;
-+
-+
-+u32 OC_MEM_TOP = 0;
-+static u32 OC_MEM_BASE = 0;
-+static u32 OC_MEM_SIZE = 0;
-+static u32 OC_MEM_HCCA_BASE = 0;
-+#define OC_MEM_HCCA_SIZE 0x100
-+
-+static spinlock_t oc_mem_list_lock = SPIN_LOCK_UNLOCKED;
-+static int is_oc_hcca_allocated = 0;
-+
-+static void oc_mem_list_add(oc_mem_head *cp);
-+static void* oc_malloc(size_t size, int gfp);
-+static void oc_mfree(void* fp);
-+static size_t oc_mem_check(int verbose);
-+
-+
-+/* mem_base is 256byte boundary */
-+void oc_mem_init(unsigned int mem_base, size_t size)
-+{
-+ oc_mem_head *top, *cp;
-+
-+ if (OC_MEM_BASE) return;
-+
-+ OC_MEM_TOP = mem_base;
-+ OC_MEM_HCCA_BASE = mem_base;
-+ OC_MEM_BASE = mem_base + OC_MEM_HCCA_SIZE; /* 0x100 for HCCA */
-+ OC_MEM_SIZE = size - OC_MEM_HCCA_SIZE;
-+
-+ top = MAKE_POINTER(OC_MEM_BASE, 0);
-+ INIT_OC_MEM_HEAD(top, 0);
-+
-+ cp = MAKE_POINTER(top, sizeof(oc_mem_head) + top->size);
-+ INIT_OC_MEM_HEAD(cp, OC_MEM_SIZE
-+ - sizeof(oc_mem_head) - top->size
-+ - sizeof(oc_mem_head));
-+
-+ list_add(&cp->free_list, &top->free_list);
-+
-+#if 0
-+ // for test
-+ {
-+ char *a, *b, *c;
-+ a = oc_malloc(oc_mem_check(1), 0);
-+ oc_mem_check(1);
-+
-+ a = oc_malloc(256, 0);
-+ oc_mem_check(1);
-+ b = oc_malloc(256, 0);
-+ oc_mem_check(1);
-+ c = oc_malloc(256, 0);
-+ oc_mem_check(1);
-+ oc_mfree(b);
-+ oc_mem_check(1);
-+ b = oc_malloc(256, 0);
-+ oc_mem_check();
-+
-+ oc_mfree(a);
-+ oc_mem_check(1);
-+ oc_mfree(b);
-+ oc_mem_check(1);
-+ oc_mfree(c);
-+ oc_mem_check(1);
-+
-+ a = oc_malloc(256, 0);
-+ oc_mem_check(1);
-+ b = oc_malloc(256, 0);
-+ oc_mem_check(1);
-+ c = oc_malloc(256, 0);
-+ oc_mem_check(1);
-+ oc_mfree(a);
-+ oc_mem_check(1);
-+ oc_mfree(c);
-+ oc_mem_check(1);
-+ oc_mfree(b);
-+ oc_mem_check(1);
-+ }
-+#endif
-+}
-+
-+static void oc_mem_list_add(oc_mem_head *cp)
-+{
-+ oc_mem_head *top = (oc_mem_head *)OC_MEM_BASE;
-+ struct list_head *n;
-+
-+ /* address order */
-+ list_for_each(n, &top->free_list) {
-+ if ((u32)n > (u32)cp) {
-+ list_add_tail(&cp->free_list, n);
-+ return;
-+ }
-+ }
-+ list_add_tail(&cp->free_list, &top->free_list);
-+}
-+
-+static void* oc_malloc(size_t size, int gfp)
-+{
-+ oc_mem_head *top = (oc_mem_head *)OC_MEM_BASE;
-+ oc_mem_head *cp = NULL;
-+ struct list_head *n;
-+
-+ if (!top)
-+ panic("oc_malloc: not set OC_MEM_BASE.");
-+
-+ if (size == 0)
-+ return (void*)0;
-+
-+#if defined(MALLOCK_BOUNDART_32BYTE)
-+ size = ((size + 32 - 1) / 32) * 32; // for 32byte boundary
-+#elif defined(MALLOCK_BOUNDART_16BYTE)
-+ size = ((size + 16 - 1) / 16) * 16; // for 16byte boundary
-+#else
-+ size = ((size + sizeof(u32) - 1) / sizeof(u32)) * sizeof(u32);
-+#endif
-+
-+ list_for_each(n, &top->free_list) {
-+ if (((oc_mem_head *)n)->size >= size) {
-+ cp = (oc_mem_head *)n;
-+ break;
-+ }
-+ }
-+ if (!cp) {
-+ return (void*)0;
-+ }
-+
-+ if (cp->size > size + sizeof(oc_mem_head)) {
-+ oc_mem_head *fp;
-+ size_t alloc = size + sizeof(oc_mem_head);
-+ size_t new_size = cp->size - alloc;
-+
-+ list_del(&cp->free_list);
-+ INIT_OC_MEM_HEAD(cp, size);
-+
-+ fp = MAKE_POINTER(cp, alloc);
-+ INIT_OC_MEM_HEAD(fp, new_size);
-+ oc_mem_list_add(fp);
-+ dbg("separate %08x-%04x %08x-%04x\n", (u32)cp, cp->size, (u32)fp, fp->size);
-+ } else if (cp->free_list.next == cp->free_list.prev
-+ && cp->free_list.next == &top->free_list) {
-+ dbg("mallock error %08x-%04x\n", (u32)cp, cp->size);
-+ return (void*)0;
-+ } else {
-+ dbg("alloc this %08x-%04x\n", (u32)cp, cp->size);
-+ list_del_init(&cp->free_list);
-+ }
-+
-+ return (void *)(cp + 1);
-+}
-+
-+static void oc_mfree(void* fp)
-+{
-+ oc_mem_head *top = (oc_mem_head *)OC_MEM_BASE;
-+ oc_mem_head *cp = (oc_mem_head *)fp - 1;
-+ struct list_head *n;
-+
-+ if (fp == (void*)0)
-+ return;
-+ if (!IS_ALLOCATED_MEMORY(cp)) {
-+ dbg("%08x is not allocated memory. n=%08x p=%08x s=%04x\n",
-+ (u32)fp, (u32)cp->free_list.next, (u32)cp->free_list.prev, cp->size);
-+ return;
-+ }
-+
-+ list_for_each(n, &top->free_list) {
-+ /* cp is just previous of this free block */
-+ if (MAKE_POINTER(cp, cp->size + sizeof(oc_mem_head))
-+ == (oc_mem_head *)n) {
-+ oc_mem_head *pp = (oc_mem_head *)n->prev;
-+ dbg("P %08x-%04x merged to %08x-%04x\n", (u32)n, ((oc_mem_head *)n)->size, (u32)cp, cp->size);
-+ list_del(n);
-+ INIT_OC_MEM_HEAD(cp, cp->size
-+ + ((oc_mem_head *)n)->size
-+ + sizeof(oc_mem_head));
-+ /* cp merge to previous free block */
-+ if (cp == MAKE_POINTER(pp,
-+ pp->size + sizeof(oc_mem_head)) && pp != top) {
-+ dbg("P %08x-%04x merged to %08x-%04x\n", (u32)cp, cp->size, (u32)pp, pp->size);
-+ list_del(&pp->free_list);
-+ INIT_OC_MEM_HEAD(pp, pp->size
-+ + cp->size + sizeof(oc_mem_head));
-+ cp = pp;
-+ }
-+ break;
-+ }
-+ /* cp is just next of this free block */
-+ if (cp == MAKE_POINTER(n, ((oc_mem_head *)n)->size
-+ + sizeof(oc_mem_head))) {
-+ oc_mem_head *np = (oc_mem_head *)n->next;
-+ dbg("N %08x-%04x merged to %08x-%04x\n", (u32)cp, cp->size, (u32)n, ((oc_mem_head *)n)->size);
-+ list_del(n);
-+ INIT_OC_MEM_HEAD((oc_mem_head *)n,
-+ ((oc_mem_head *)n)->size
-+ + cp->size + sizeof(oc_mem_head));
-+ cp = (oc_mem_head *)n;
-+ if (np == MAKE_POINTER(cp,
-+ cp->size + sizeof(oc_mem_head))) {
-+ dbg("N %08x-%04x merged to %08x-%04x\n", (u32)np, np->size, (u32)cp, cp->size);
-+ list_del(&np->free_list);
-+ INIT_OC_MEM_HEAD(cp, cp->size
-+ + np->size + sizeof(oc_mem_head));
-+ }
-+ break;
-+ }
-+ }
-+
-+ oc_mem_list_add(cp);
-+}
-+
-+
-+static size_t oc_mem_check(int verbose)
-+{
-+ oc_mem_head *top = (oc_mem_head *)OC_MEM_BASE;
-+ oc_mem_head *nhp = top;
-+ int bc = 0;
-+ int alloc_bc = 0;
-+ int free_bc = 0;
-+ size_t alloc_size = 0;
-+ size_t free_size = 0;
-+ size_t total = 0;
-+
-+ if (verbose) {
-+ printk("[No.] A HEAD PREV NEXT SIZE\n");
-+ printk("-----+-+--------+--------+--------+----\n");
-+ }
-+ while ((u32)nhp < OC_MEM_BASE + OC_MEM_SIZE) {
-+ char *mark;
-+ if (IS_ALLOCATED_MEMORY(nhp)) {
-+ mark = "*";
-+ alloc_bc++;
-+ alloc_size += nhp->size + sizeof(oc_mem_head);
-+ } else {
-+ mark = " ";
-+ free_bc++;
-+ free_size += nhp->size + sizeof(oc_mem_head);
-+ }
-+ total += nhp->size + sizeof(oc_mem_head);
-+ if (verbose) {
-+ printk("[%03d] %s %08x : %08x %08x %04x\n",
-+ bc++, mark, (u32)nhp,
-+ (u32)nhp->free_list.prev,
-+ (u32)nhp->free_list.next, nhp->size);
-+ }
-+ nhp = MAKE_POINTER(nhp, nhp->size+sizeof(oc_mem_head));
-+ }
-+ if (verbose) {
-+ printk("-----+-+--------+--------+--------+----\n");
-+ }
-+ printk("alloc=%08x(%d) free=%08x(%d) total=%08x\n",
-+ alloc_size, alloc_bc, free_size, free_bc, total);
-+
-+ return free_size;
-+}
-+
-+#undef kmalloc
-+#undef kfree
-+
-+void KFREE(void* p)
-+{
-+ dbg("KFREE %08x\n", p);
-+ spin_lock(&oc_mem_list_lock);
-+ oc_mfree((void*)p);
-+ spin_unlock(&oc_mem_list_lock);
-+}
-+
-+void* KMALLOC(size_t s, int v)
-+{
-+ void *p;
-+ spin_lock(&oc_mem_list_lock);
-+ p = oc_malloc(s, v);
-+ spin_unlock(&oc_mem_list_lock);
-+
-+//oc_mem_check(0);
-+ dbg("KMALLOC %08x - %04x\n", p , s);
-+ if (s != 0 && p == NULL) {
-+ oc_mem_check(1);
-+ panic("oc_malloc: no more memory on chip RAM (%dbyts)", s);
-+ }
-+ return p;
-+}
-+
-+void* oc_hcca_alloc(struct pci_dev *hwdev, size_t size, dma_addr_t *handle)
-+{
-+ void *p;
-+
-+ if (!size)
-+ return (void *)0;
-+
-+ if (!OC_MEM_HCCA_BASE)
-+ panic("oc_malloc: not set OC_MEM_BASE.");
-+ if (is_oc_hcca_allocated)
-+ panic("oc_hcca_alloc: HCCA memory was alrady allocated.");
-+ if (size > OC_MEM_HCCA_SIZE)
-+ panic("oc_hcca_alloc: no more memory on RAM0 (size=%d)", size);
-+
-+ p = (void *)OC_MEM_HCCA_BASE; /* 256byte boundary */
-+ //*handle = (dma_addr_t)OC_MEM_VAR_TO_OFFSET(p);
-+ return p;
-+}
-+
-+void oc_hcca_free(struct pci_dev *hwdev, size_t size, void *vaddr,
-+ dma_addr_t dma_handle)
-+{
-+ is_oc_hcca_allocated = 0;
-+}
-+
-diff -Nur linux_c860_org/drivers/usb/mem-onchip.h linux/drivers/usb/mem-onchip.h
---- linux_c860_org/drivers/usb/mem-onchip.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/usb/mem-onchip.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,144 @@
-+/*
-+ * linux/drivers/usb/mem-onchip.h
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file "COPYING" in the main directory of this archive
-+ * for more details.
-+ *
-+ */
-+
-+#ifndef _MEM_ON_CHIP_H_
-+#define _MEM_ON_CHIP_H_ 1
-+
-+#include <linux/pci.h>
-+
-+#define OC_MEM_PCI_MAP_DEBUG
-+#define OC_MEM_PCI_MAP_USE_MEMCPY
-+
-+#define OC_MEM_VAR_TO_OFFSET(x) ((unsigned int)x - OC_MEM_TOP)
-+#define OC_MEM_OFFSET_TO_VAR(x) ((unsigned int)x + OC_MEM_TOP)
-+
-+#ifdef __LINUX_USB_H
-+#define pci_alloc_consistent(dev, size, dma_addr) \
-+ oc_hcca_alloc(dev, size, dma_addr)
-+#define pci_free_consistent(dev, size, var, dma_addr) \
-+ oc_hcca_free(dev, size, var, dma_addr)
-+#else
-+#define pci_alloc_consistent(dev, size, dma_addr) \
-+ PCI_ALLOC_CONSISTENT(dev, size, dma_addr)
-+#define pci_free_consistent(dev, size, var, dma_addr) \
-+ KFREE(var)
-+#endif
-+
-+#define pci_map_single(hwdev, ptr, size, direction) \
-+ PCI_MAP_SINGLE(hwdev, ptr, size, direction)
-+#define pci_unmap_single(hwdev, dma_addr, size, direction) \
-+ PCI_UNMAP_SINGLE(hwdev, dma_addr, size, direction)
-+
-+
-+extern u32 OC_MEM_TOP;
-+
-+void oc_mem_init(unsigned int top, size_t size);
-+void* KMALLOC(size_t s, int v);
-+void KFREE(void* p);
-+void* oc_hcca_alloc(struct pci_dev *hwdev, size_t size, dma_addr_t *handle);
-+void oc_hcca_free(struct pci_dev *hwdev,
-+ size_t size, void *vaddr, dma_addr_t dma_handle);
-+
-+
-+/*
-+ * replace PCI function
-+*/
-+static inline void* PCI_ALLOC_CONSISTENT(struct pci_dev *hwdev, size_t size, dma_addr_t *handle)
-+{
-+ void *p = KMALLOC(size, GFP_KERNEL | GFP_DMA);
-+ *handle = (dma_addr_t)OC_MEM_VAR_TO_OFFSET(p);
-+ return p;
-+}
-+
-+#ifdef OC_MEM_PCI_MAP_DEBUG
-+static inline char* PCI_DMA_FLAG_DESC(int direction)
-+{
-+ switch (direction) {
-+ case PCI_DMA_NONE: return "NONE";
-+ case PCI_DMA_FROMDEVICE: return "FROMDEVICE";
-+ case PCI_DMA_TODEVICE: return "TODEVICE";
-+ case PCI_DMA_BIDIRECTIONAL: return "BIDIRECTIONAL";
-+ }
-+ return "unknown";
-+}
-+#endif
-+
-+static inline dma_addr_t
-+PCI_MAP_SINGLE(struct pci_dev *hwdev, void *ptr, size_t size, int direction)
-+{
-+#ifndef OC_MEM_PCI_MAP_USE_MEMCPY
-+ return (dma_addr_t)OC_MEM_VAR_TO_OFFSET(ptr);
-+#else
-+ void *p;
-+ size_t l = ((size + 3) / 4) * 4 + 4;
-+
-+ switch (direction) {
-+ case PCI_DMA_NONE:
-+ BUG();
-+ break;
-+ case PCI_DMA_FROMDEVICE: /* invalidate only */
-+ p = KMALLOC(l, GFP_KERNEL | GFP_DMA);
-+ break;
-+ case PCI_DMA_TODEVICE: /* writeback only */
-+ case PCI_DMA_BIDIRECTIONAL: /* writeback and invalidate */
-+ p = KMALLOC(l, GFP_KERNEL | GFP_DMA);
-+ memcpy(p, ptr, size);
-+ break;
-+ }
-+
-+ *((volatile unsigned int *)((unsigned int)p + l - 4))
-+ = (unsigned int)ptr;
-+#ifdef OC_MEM_PCI_MAP_DEBUG
-+#if 0
-+ printk("PCI_MAP_SINGLE: %s %08x - %04x , %08x - %04x\n",
-+ PCI_DMA_FLAG_DESC(direction),
-+ ptr, size, OC_MEM_VAR_TO_OFFSET(p), l);
-+#endif
-+#endif
-+ return (dma_addr_t)OC_MEM_VAR_TO_OFFSET(p);
-+#endif
-+}
-+
-+static inline void
-+PCI_UNMAP_SINGLE(struct pci_dev *hwdev, dma_addr_t dma_addr, size_t size, int direction)
-+{
-+#ifndef OC_MEM_PCI_MAP_USE_MEMCPY
-+ /* nothing to do */
-+#else
-+ void *p, *ptr;
-+ size_t l = ((size + 3) / 4) * 4 + 4;
-+ p = (void *)OC_MEM_OFFSET_TO_VAR(dma_addr);
-+ ptr = (void *)*((volatile unsigned int *)((unsigned int)p + l - 4));
-+
-+ switch (direction) {
-+ case PCI_DMA_NONE:
-+ BUG();
-+ break;
-+ case PCI_DMA_FROMDEVICE: /* invalidate only */
-+ case PCI_DMA_BIDIRECTIONAL: /* writeback and invalidate */
-+ memcpy(ptr, p, size);
-+ KFREE(p);
-+ break;
-+ case PCI_DMA_TODEVICE: /* writeback only */
-+ KFREE(p);
-+ break;
-+ }
-+#ifdef OC_MEM_PCI_MAP_DEBUG
-+#if 0
-+ printk("PCI_UNMAP_SINGLE: %s %08x - %04x , %08x\n",
-+ PCI_DMA_FLAG_DESC(direction), ptr, size, dma_addr);
-+#endif
-+#endif
-+#endif
-+}
-+
-+
-+#endif /* _MEM_ON_CHIP_H_ */
-diff -Nur linux_c860_org/drivers/usb/pcipool.c linux/drivers/usb/pcipool.c
---- linux_c860_org/drivers/usb/pcipool.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/usb/pcipool.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,401 @@
-+/*
-+ * linux/arch/arm/mach-pxa/pcipool.c
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * Based on linux/arch/arm/mach-sa1100/pcipool.c
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ */
-+/*
-+ NOTE:
-+
-+ this code was lifted straight out of drivers/pci/pci.c;
-+ when compiling for the Intel StrongARM SA-1110/SA-1111 the
-+ usb-ohci.c driver needs these routines even when the architecture
-+ has no pci bus...
-+*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/types.h>
-+#include <linux/kernel.h>
-+#include <linux/pci.h>
-+#include <linux/string.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/spinlock.h>
-+#include <linux/bitops.h>
-+
-+#include <asm/page.h>
-+
-+#if defined(CONFIG_USB_USE_INTERNAL_MEMORY)
-+#include "mem-onchip.h"
-+#endif
-+
-+
-+struct pci_pool *pci_pool_create (const char *name, struct pci_dev *dev,
-+ size_t size, size_t align, size_t allocation, int flags);
-+void pci_pool_destroy (struct pci_pool *pool);
-+
-+void *pci_pool_alloc (struct pci_pool *pool, int flags, dma_addr_t *handle);
-+void pci_pool_free (struct pci_pool *pool, void *vaddr, dma_addr_t addr);
-+
-+
-+/*
-+ * Pool allocator ... wraps the pci_alloc_consistent page allocator, so
-+ * small blocks are easily used by drivers for bus mastering controllers.
-+ * This should probably be sharing the guts of the slab allocator.
-+ */
-+
-+struct pci_pool { /* the pool */
-+ struct list_head page_list;
-+ spinlock_t lock;
-+ size_t blocks_per_page;
-+ size_t size;
-+ int flags;
-+ struct pci_dev *dev;
-+ size_t allocation;
-+ char name [32];
-+ wait_queue_head_t waitq;
-+};
-+
-+struct pci_page { /* cacheable header for 'allocation' bytes */
-+ struct list_head page_list;
-+ void *vaddr;
-+ dma_addr_t dma;
-+ unsigned long bitmap [0];
-+};
-+
-+#define POOL_TIMEOUT_JIFFIES ((100 /* msec */ * HZ) / 1000)
-+#define POOL_POISON_BYTE 0xa7
-+
-+// #define CONFIG_PCIPOOL_DEBUG
-+
-+
-+/**
-+ * pci_pool_create - Creates a pool of pci consistent memory blocks, for dma.
-+ * @name: name of pool, for diagnostics
-+ * @pdev: pci device that will be doing the DMA
-+ * @size: size of the blocks in this pool.
-+ * @align: alignment requirement for blocks; must be a power of two
-+ * @allocation: returned blocks won't cross this boundary (or zero)
-+ * @flags: SLAB_* flags (not all are supported).
-+ *
-+ * Returns a pci allocation pool with the requested characteristics, or
-+ * null if one can't be created. Given one of these pools, pci_pool_alloc()
-+ * may be used to allocate memory. Such memory will all have "consistent"
-+ * DMA mappings, accessible by the device and its driver without using
-+ * cache flushing primitives. The actual size of blocks allocated may be
-+ * larger than requested because of alignment.
-+ *
-+ * If allocation is nonzero, objects returned from pci_pool_alloc() won't
-+ * cross that size boundary. This is useful for devices which have
-+ * addressing restrictions on individual DMA transfers, such as not crossing
-+ * boundaries of 4KBytes.
-+ */
-+struct pci_pool *
-+pci_pool_create (const char *name, struct pci_dev *pdev,
-+ size_t size, size_t align, size_t allocation, int flags)
-+{
-+ struct pci_pool *retval;
-+
-+ if (align == 0)
-+ align = 1;
-+ if (size == 0)
-+ return 0;
-+ else if (size < align)
-+ size = align;
-+ else if ((size % align) != 0) {
-+ size += align + 1;
-+ size &= ~(align - 1);
-+ }
-+
-+ if (allocation == 0) {
-+ if (PAGE_SIZE < size)
-+ allocation = size;
-+ else
-+ allocation = PAGE_SIZE;
-+ // FIXME: round up for less fragmentation
-+ } else if (allocation < size)
-+ return 0;
-+
-+ if (!(retval = kmalloc (sizeof *retval, flags)))
-+ return retval;
-+
-+#ifdef CONFIG_PCIPOOL_DEBUG
-+ flags |= SLAB_POISON;
-+#endif
-+
-+ strncpy (retval->name, name, sizeof retval->name);
-+ retval->name [sizeof retval->name - 1] = 0;
-+
-+ retval->dev = pdev;
-+ INIT_LIST_HEAD (&retval->page_list);
-+ spin_lock_init (&retval->lock);
-+ retval->size = size;
-+ retval->flags = flags;
-+ retval->allocation = allocation;
-+ retval->blocks_per_page = allocation / size;
-+ init_waitqueue_head (&retval->waitq);
-+
-+#ifdef CONFIG_PCIPOOL_DEBUG
-+ printk (KERN_DEBUG "pcipool create %s/%s size %d, %d/page (%d alloc)\n",
-+ pdev ? pdev->slot_name : NULL, retval->name, size,
-+ retval->blocks_per_page, allocation);
-+#endif
-+
-+ return retval;
-+}
-+
-+
-+static struct pci_page *
-+pool_alloc_page (struct pci_pool *pool, int mem_flags)
-+{
-+ struct pci_page *page;
-+ int mapsize;
-+
-+ mapsize = pool->blocks_per_page;
-+ mapsize = (mapsize + BITS_PER_LONG - 1) / BITS_PER_LONG;
-+ mapsize *= sizeof (long);
-+
-+ page = (struct pci_page *) kmalloc (mapsize + sizeof *page, mem_flags);
-+ if (!page)
-+ return 0;
-+ page->vaddr = pci_alloc_consistent (pool->dev,
-+ pool->allocation, &page->dma);
-+ if (page->vaddr) {
-+ memset (page->bitmap, 0xff, mapsize); // bit set == free
-+ if (pool->flags & SLAB_POISON)
-+ memset (page->vaddr, POOL_POISON_BYTE, pool->allocation);
-+ list_add (&page->page_list, &pool->page_list);
-+ } else {
-+ kfree (page);
-+ page = 0;
-+ }
-+ return page;
-+}
-+
-+
-+static inline int
-+is_page_busy (int blocks, unsigned long *bitmap)
-+{
-+ while (blocks > 0) {
-+ if (*bitmap++ != ~0UL)
-+ return 1;
-+ blocks -= BITS_PER_LONG;
-+ }
-+ return 0;
-+}
-+
-+static void
-+pool_free_page (struct pci_pool *pool, struct pci_page *page)
-+{
-+ dma_addr_t dma = page->dma;
-+
-+ if (pool->flags & SLAB_POISON)
-+ memset (page->vaddr, POOL_POISON_BYTE, pool->allocation);
-+ pci_free_consistent (pool->dev, pool->allocation, page->vaddr, dma);
-+ list_del (&page->page_list);
-+ kfree (page);
-+}
-+
-+
-+/**
-+ * pci_pool_destroy - destroys a pool of pci memory blocks.
-+ * @pool: pci pool that will be destroyed
-+ *
-+ * Caller guarantees that no more memory from the pool is in use,
-+ * and that nothing will try to use the pool after this call.
-+ */
-+void
-+pci_pool_destroy (struct pci_pool *pool)
-+{
-+ unsigned long flags;
-+
-+#ifdef CONFIG_PCIPOOL_DEBUG
-+ printk (KERN_DEBUG "pcipool destroy %s/%s\n",
-+ pool->dev ? pool->dev->slot_name : NULL,
-+ pool->name);
-+#endif
-+
-+ spin_lock_irqsave (&pool->lock, flags);
-+ while (!list_empty (&pool->page_list)) {
-+ struct pci_page *page;
-+ page = list_entry (pool->page_list.next,
-+ struct pci_page, page_list);
-+ if (is_page_busy (pool->blocks_per_page, page->bitmap)) {
-+ printk (KERN_ERR "pci_pool_destroy %s/%s, %p busy\n",
-+ pool->dev ? pool->dev->slot_name : NULL,
-+ pool->name, page->vaddr);
-+ /* leak the still-in-use consistent memory */
-+ list_del (&page->page_list);
-+ kfree (page);
-+ } else
-+ pool_free_page (pool, page);
-+ }
-+ spin_unlock_irqrestore (&pool->lock, flags);
-+ kfree (pool);
-+}
-+
-+
-+/**
-+ * pci_pool_alloc - get a block of consistent memory
-+ * @pool: pci pool that will produce the block
-+ * @mem_flags: SLAB_KERNEL or SLAB_ATOMIC
-+ * @handle: pointer to dma address of block
-+ *
-+ * This returns the kernel virtual address of a currently unused block,
-+ * and reports its dma address through the handle.
-+ * If such a memory block can't be allocated, null is returned.
-+ */
-+void *
-+pci_pool_alloc (struct pci_pool *pool, int mem_flags, dma_addr_t *handle)
-+{
-+ unsigned long flags;
-+ struct list_head *entry;
-+ struct pci_page *page;
-+ int map, block;
-+ size_t offset;
-+ void *retval;
-+
-+restart:
-+ spin_lock_irqsave (&pool->lock, flags);
-+ list_for_each (entry, &pool->page_list) {
-+ int i;
-+ page = list_entry (entry, struct pci_page, page_list);
-+ /* only cachable accesses here ... */
-+ for (map = 0, i = 0;
-+ i < pool->blocks_per_page;
-+ i += BITS_PER_LONG, map++) {
-+ if (page->bitmap [map] == 0)
-+ continue;
-+ block = ffz (~ page->bitmap [map]);
-+ if ((i + block) < pool->blocks_per_page) {
-+ clear_bit (block, &page->bitmap [map]);
-+ offset = (BITS_PER_LONG * map) + block;
-+ offset *= pool->size;
-+ goto ready;
-+ }
-+ }
-+ }
-+ if (!(page = pool_alloc_page (pool, mem_flags))) {
-+ if (mem_flags == SLAB_KERNEL) {
-+ DECLARE_WAITQUEUE (wait, current);
-+
-+ current->state = TASK_INTERRUPTIBLE;
-+ add_wait_queue (&pool->waitq, &wait);
-+ spin_unlock_irqrestore (&pool->lock, flags);
-+
-+ schedule_timeout (POOL_TIMEOUT_JIFFIES);
-+
-+ current->state = TASK_RUNNING;
-+ remove_wait_queue (&pool->waitq, &wait);
-+ goto restart;
-+ }
-+ retval = 0;
-+ goto done;
-+ }
-+
-+ clear_bit (0, &page->bitmap [0]);
-+ offset = 0;
-+ready:
-+ retval = offset + page->vaddr;
-+ *handle = offset + page->dma;
-+done:
-+ spin_unlock_irqrestore (&pool->lock, flags);
-+ return retval;
-+}
-+
-+
-+static struct pci_page *
-+pool_find_page (struct pci_pool *pool, dma_addr_t dma)
-+{
-+ unsigned long flags;
-+ struct list_head *entry;
-+ struct pci_page *page;
-+
-+ spin_lock_irqsave (&pool->lock, flags);
-+ list_for_each (entry, &pool->page_list) {
-+ page = list_entry (entry, struct pci_page, page_list);
-+ if (dma < page->dma)
-+ continue;
-+ if (dma < (page->dma + pool->allocation))
-+ goto done;
-+ }
-+ page = 0;
-+done:
-+ spin_unlock_irqrestore (&pool->lock, flags);
-+ return page;
-+}
-+
-+
-+/**
-+ * pci_pool_free - put block back into pci pool
-+ * @pool: the pci pool holding the block
-+ * @vaddr: virtual address of block
-+ * @dma: dma address of block
-+ *
-+ * Caller promises neither device nor driver will again touch this block
-+ * unless it is first re-allocated.
-+ */
-+void
-+pci_pool_free (struct pci_pool *pool, void *vaddr, dma_addr_t dma)
-+{
-+ struct pci_page *page;
-+ unsigned long flags;
-+ int map, block;
-+
-+ if ((page = pool_find_page (pool, dma)) == 0) {
-+ printk (KERN_ERR "pci_pool_free %s/%s, %p/%x (bad dma)\n",
-+ pool->dev ? pool->dev->slot_name : NULL,
-+ pool->name, vaddr, dma);
-+ return;
-+ }
-+#ifdef CONFIG_PCIPOOL_DEBUG
-+ if (((dma - page->dma) + (void *)page->vaddr) != vaddr) {
-+ printk (KERN_ERR "pci_pool_free %s/%s, %p (bad vaddr)/%x\n",
-+ pool->dev ? pool->dev->slot_name : NULL,
-+ pool->name, vaddr, dma);
-+ return;
-+ }
-+#endif
-+
-+ block = dma - page->dma;
-+ block /= pool->size;
-+ map = block / BITS_PER_LONG;
-+ block %= BITS_PER_LONG;
-+
-+#ifdef CONFIG_PCIPOOL_DEBUG
-+ if (page->bitmap [map] & (1UL << block)) {
-+ printk (KERN_ERR "pci_pool_free %s/%s, dma %x already free\n",
-+ pool->dev ? pool->dev->slot_name : NULL,
-+ pool->name, dma);
-+ return;
-+ }
-+#endif
-+ if (pool->flags & SLAB_POISON)
-+ memset (vaddr, POOL_POISON_BYTE, pool->size);
-+
-+ spin_lock_irqsave (&pool->lock, flags);
-+ set_bit (block, &page->bitmap [map]);
-+ if (waitqueue_active (&pool->waitq))
-+ wake_up (&pool->waitq);
-+ /*
-+ * Resist a temptation to do
-+ * if (!is_page_busy(bpp, page->bitmap)) pool_free_page(pool, page);
-+ * it is not interrupt safe. Better have empty pages hang around.
-+ */
-+ spin_unlock_irqrestore (&pool->lock, flags);
-+}
-+
-+
-+/*
-+EXPORT_SYMBOL (pci_pool_create);
-+EXPORT_SYMBOL (pci_pool_destroy);
-+EXPORT_SYMBOL (pci_pool_alloc);
-+EXPORT_SYMBOL (pci_pool_free);
-+*/
-+
-diff -Nur linux_c860_org/drivers/usb/usb-ohci-tc6393.c linux/drivers/usb/usb-ohci-tc6393.c
---- linux_c860_org/drivers/usb/usb-ohci-tc6393.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/usb/usb-ohci-tc6393.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,516 @@
-+/*
-+ * linux/drivers/usb/usb-ohci-tc6393.c
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ *
-+ * linux/drivers/usb/usb-ohci-pci.c
-+ *
-+ * and
-+ *
-+ * linux/drivers/usb/usb-ohci-sa1111.c
-+ *
-+ * The outline of this code was taken from Brad Parkers <brad@heeltoe.com>
-+ * original OHCI driver modifications, and reworked into a cleaner form
-+ * by Russell King <rmk@arm.linux.org.uk>.
-+ */
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/ioport.h>
-+#include <linux/interrupt.h>
-+#include <linux/slab.h>
-+#include <linux/usb.h>
-+#include <linux/pm.h>
-+#include <linux/delay.h>
-+#include <linux/ioctl.h>
-+#include <linux/miscdevice.h>
-+#include <asm/uaccess.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/io.h>
-+#include <asm/sharp_tc6393_usb.h>
-+
-+#include "usb-ohci.h"
-+
-+#define TC6393_OHCI_CTL_MINOR_DEV 222
-+
-+static int tc6393_usb_internal_port_enable = 0; // default is disable
-+static int tc6393_usb_external_port_enable = 1; // default is enable
-+
-+//#define THREAD_RESUME
-+#ifdef THREAD_RESUME
-+static int resume_thread_alive = 0;
-+static int tc6393_ohci_pm_resume(void);
-+#endif
-+
-+int __devinit
-+hc_add_ohci(struct pci_dev *dev, int irq, void *membase, unsigned long flags,
-+ ohci_t **ohci, const char *name, const char *slot_name);
-+extern void hc_remove_ohci(ohci_t *ohci);
-+
-+static ohci_t *tc6393_ohci;
-+
-+#ifdef CONFIG_PM
-+static int tc6393_ohci_pm_callback(
-+ struct pm_dev *pm_device, pm_request_t rqst, void *data);
-+#endif
-+
-+
-+static int do_ioctl(struct inode * inode,
-+ struct file *filp, u_int cmd, u_long arg)
-+{
-+ long val,res;
-+
-+#ifdef THREAD_RESUME
-+ while(resume_thread_alive) udelay(100);
-+#endif
-+ switch (cmd) {
-+ case TC6393_OHCI_IOC_PDOWN: /* Power Down */
-+ //printk("TC6393_OHCI_IOC_PDOWN: %d\n",arg);
-+ if (arg == 0) {
-+ TC6393_USB_REG(TC6393_USB_SVPMCS)
-+ |= TC6393_USB_PM_USPW1;
-+ tc6393_usb_external_port_enable = 0;
-+ } else if (arg == 1) {
-+ TC6393_USB_REG(TC6393_USB_SVPMCS)
-+ |= TC6393_USB_PM_USPW2;
-+ tc6393_usb_internal_port_enable = 0;
-+ } else
-+ return -EINVAL;
-+ return 0;
-+ case TC6393_OHCI_IOC_PON: /* Power On */
-+ //printk("TC6393_OHCI_IOC_PON: %d\n",arg);
-+ if (arg == 0) {
-+ TC6393_USB_REG(TC6393_USB_SVPMCS)
-+ &= ~TC6393_USB_PM_USPW1;
-+ tc6393_usb_external_port_enable = 1;
-+ } else if (arg == 1) {
-+ TC6393_USB_REG(TC6393_USB_SVPMCS)
-+ &= ~TC6393_USB_PM_USPW2;
-+ tc6393_usb_internal_port_enable = 1;
-+ } else
-+ return -EINVAL;
-+ return 0;
-+ case TC6393_OHCI_IOC_PCHECK: /* Check Power */
-+ if ( get_user(val, (long *) arg) )
-+ return -EFAULT;
-+ if (val == 0) {
-+ res = (TC6393_USB_REG(TC6393_USB_SVPMCS)&TC6393_USB_PM_USPW1)?0:1;
-+ } else if (val == 1) {
-+ res = (TC6393_USB_REG(TC6393_USB_SVPMCS)&TC6393_USB_PM_USPW2)?0:1;
-+ } else return -EINVAL;
-+ return put_user(res, (int *)arg);
-+ default:
-+ break;
-+ }
-+ return -EOPNOTSUPP;
-+}
-+
-+static struct file_operations tc6393_ohci_fops = {
-+ owner: THIS_MODULE,
-+ ioctl: do_ioctl
-+};
-+
-+static struct miscdevice tc6393_ohci_ctl_device = {
-+ TC6393_OHCI_CTL_MINOR_DEV,
-+ "tc6393_ohci_ctl",
-+ &tc6393_ohci_fops
-+};
-+
-+
-+static void tc6393_ohci_configure(void)
-+{
-+ u16 portval;
-+#if 0
-+printk("TC6393_SYS_PLL2CR: %04x\n", TC6393_SYS_REG(TC6393_SYS_PLL2CR));
-+TC6393_SYS_REG(TC6393_SYS_PLL2CR) = 0x0cc1;
-+#endif
-+
-+ TC6393_SYS_REG(TC6393_SYS_CCR) |= 2; /* clock enable */
-+ TC6393_SYS_REG(TC6393_SYS_FER) |= 1; /* USB enable */
-+
-+ //TC6393_USB_REG(TC6393_USB_SPPCNF) |= 1;
-+ TC6393_USB_REG(TC6393_USB_SPBA1)
-+ = TC6393_USB_OHCI_OP_REG_BASE & 0xffff; /* LW */
-+ TC6393_USB_REG(TC6393_USB_SPBA2)
-+ = TC6393_USB_OHCI_OP_REG_BASE >> 16; /* HW */
-+ TC6393_USB_REG(TC6393_USB_ILME) = 1;
-+
-+ portval = TC6393_USB_PM_PMES | TC6393_USB_PM_PMEE | TC6393_USB_PM_CKRNEN | TC6393_USB_PM_GCKEN;
-+ if (!tc6393_usb_external_port_enable) portval |= TC6393_USB_PM_USPW1;
-+ if (!tc6393_usb_internal_port_enable) portval |= TC6393_USB_PM_USPW2;
-+ TC6393_USB_REG(TC6393_USB_SVPMCS) = portval;
-+
-+ TC6393_USB_REG(TC6393_USB_INTC) = 2;
-+
-+#if 0
-+printk("TC6393_SYS_ConfigCR: %04x\n", TC6393_SYS_REG(TC6393_SYS_ConfigCR));
-+printk("TC6393_SYS_CCR: %04x\n", TC6393_SYS_REG(TC6393_SYS_CCR));
-+printk("TC6393_SYS_PLL2CR: %04x\n", TC6393_SYS_REG(TC6393_SYS_PLL2CR));
-+printk("TC6393_SYS_PLL1CR: %08x\n", (*(int *)(TC6393_SYS_BASE+TC6393_SYS_PLL1CR1)));
-+printk("TC6393_SYS_MCR: %04x\n", TC6393_SYS_REG(TC6393_SYS_MCR));
-+printk("TC6393_SYS_FER: %04x\n", TC6393_SYS_REG(TC6393_SYS_FER));
-+printk("TC6393_USB_Rev: %d\n", TC6393_USB_REG(TC6393_USB_SPRID));
-+printk("TC6393_USB_SPBA: %08x\n", (*(int *)(TC6393_USB_BASE+TC6393_USB_SPBA1)));
-+printk("TC6393_USB_ILME: %04x\n", TC6393_USB_REG(TC6393_USB_ILME));
-+printk("TC6393_USB_SVPMCS: %04x\n", TC6393_USB_REG(TC6393_USB_SVPMCS));
-+printk("TC6393_USB_INTC: %04x\n", TC6393_USB_REG(TC6393_USB_INTC));
-+printk("OHCI Rev: %08x\n", (*(int *)(TC6393_SYS_BASE+TC6393_USB_OHCI_OP_REG_BASE)));
-+#endif
-+#if 0
-+ {
-+ unsigned int top = TC6393_RAM0_BASE + 0x100;
-+ volatile unsigned int *ip = (volatile unsigned int *)(top);
-+ volatile unsigned short *sp = (volatile unsigned short *)(top+4);
-+ volatile unsigned char *cp = (volatile unsigned char *)(top+8);
-+ *ip = 0x12345678;
-+ printk("int %08x\n", *ip);
-+ sp[0] = 0x9876;
-+ sp[1] = 0x5432;
-+ printk("short %04x %04x\n", sp[0], sp[1]);
-+ cp[0] = 0x12;
-+ cp[1] = 0x23;
-+ cp[2] = 0x34;
-+ cp[3] = 0x45;
-+ printk("byte: %02x %02x %02x %02x\n", cp[0], cp[1], cp[2], cp[3]);
-+ }
-+#endif
-+}
-+
-+static int __init tc6393_ohci_init(void)
-+{
-+ int ret;
-+
-+ /*
-+ * Request memory resources.
-+ */
-+// if (!request_mem_region(_USB_OHCI_OP_BASE, _USB_EXTENT, "usb-ohci"))
-+// return -EBUSY;
-+
-+ tc6393_ohci_configure();
-+ oc_mem_init(TC6393_RAM0_BASE, TC6393_RAM0_SIZE);
-+
-+ /*
-+ * Initialise the generic OHCI driver.
-+ */
-+ ret = hc_add_ohci((struct pci_dev *)1, TC6393_IRQ_USBINT,
-+ (void *)(TC6393_SYS_BASE+TC6393_USB_OHCI_OP_REG_BASE),
-+ 0, &tc6393_ohci, "usb-ohci", "tc6393");
-+
-+#ifdef CONFIG_PM
-+ pm_register(PM_SYS_DEV, PM_SYS_UNKNOWN, tc6393_ohci_pm_callback);
-+#endif
-+
-+ if (misc_register(&tc6393_ohci_ctl_device))
-+ printk("failed to register tc6393_ohci_ctl_device\n");
-+
-+// if (ret)
-+// release_mem_region(_USB_OHCI_OP_BASE, _USB_EXTENT);
-+
-+ return ret;
-+}
-+
-+static void __exit tc6393_ohci_exit(void)
-+{
-+ misc_deregister(&tc6393_ohci_ctl_device);
-+
-+#ifdef CONFIG_PM
-+ pm_unregister_all(tc6393_ohci_pm_callback);
-+#endif
-+ hc_remove_ohci(tc6393_ohci);
-+
-+ /*
-+ * Put the USB host controller into reset.
-+ */
-+ TC6393_SYS_REG(TC6393_SYS_FER) &= ~1;
-+
-+ /*
-+ * Stop the USB clock.
-+ */
-+ TC6393_SYS_REG(TC6393_SYS_CCR) &= ~2;
-+
-+ /*
-+ * Release memory resources.
-+ */
-+// release_mem_region(_USB_OHCI_OP_BASE, _USB_EXTENT);
-+
-+}
-+
-+module_init(tc6393_ohci_init);
-+module_exit(tc6393_ohci_exit);
-+
-+
-+#ifdef CONFIG_PM
-+static void* tc6393_sram0_backup;
-+static dma_addr_t tc6393_sram0_backup_phys;
-+
-+/* usb-ohci.c */
-+#define OHCI_CONTROL_INIT \
-+ (OHCI_CTRL_CBSR & 0x3) | OHCI_CTRL_IE | OHCI_CTRL_PLE
-+extern spinlock_t usb_ed_lock;
-+
-+extern td_t * dl_reverse_done_list (ohci_t * ohci);
-+extern void dl_done_list (ohci_t * ohci, td_t * td_list);
-+extern int hc_start (ohci_t * ohci);
-+extern int hc_reset (ohci_t * ohci);
-+
-+
-+/* controller died; cleanup debris, then restart */
-+/* must not be called from interrupt context */
-+
-+static void hc_restart (ohci_t *ohci)
-+{
-+ int temp;
-+ int i;
-+
-+ ohci->disabled = 1;
-+ ohci->sleeping = 0;
-+ if (ohci->bus->root_hub)
-+ usb_disconnect (&ohci->bus->root_hub);
-+
-+ /* empty the interrupt branches */
-+ for (i = 0; i < NUM_INTS; i++) ohci->ohci_int_load[i] = 0;
-+ for (i = 0; i < NUM_INTS; i++) ohci->hcca->int_table[i] = 0;
-+
-+ /* no EDs to remove */
-+ ohci->ed_rm_list [0] = NULL;
-+ ohci->ed_rm_list [1] = NULL;
-+
-+ /* empty control and bulk lists */
-+ ohci->ed_isotail = NULL;
-+ ohci->ed_controltail = NULL;
-+ ohci->ed_bulktail = NULL;
-+
-+ if ((temp = hc_reset (ohci)) < 0 || (temp = hc_start (ohci)) < 0) {
-+ err ("can't restart usb-%s, %d", ohci->ohci_dev->slot_name, temp);
-+ } else
-+ dbg ("restart usb-%s completed", ohci->ohci_dev->slot_name);
-+}
-+
-+static unsigned int tc6393_usb_pm_uspw = 0;
-+
-+static int tc6393_ohci_pm_suspend(u32 state)
-+{
-+ ohci_t *ohci = tc6393_ohci;
-+ unsigned long flags;
-+
-+ /* bus suspend */
-+ if ((ohci->hc_control & OHCI_CTRL_HCFS) != OHCI_USB_OPER) {
-+ dbg ("can't suspend usb-%s (state is %s)", ohci->slot_name,
-+ hcfs2string (ohci->hc_control & OHCI_CTRL_HCFS));
-+ return -EIO;
-+ }
-+
-+ /* act as if usb suspend can always be used */
-+ info ("USB suspend: usb-%s", ohci->slot_name);
-+ ohci->sleeping = 1;
-+
-+ /* First stop processing */
-+ spin_lock_irqsave (&usb_ed_lock, flags);
-+ ohci->hc_control &= ~(OHCI_CTRL_PLE|OHCI_CTRL_CLE|OHCI_CTRL_BLE|OHCI_CTRL_IE);
-+ writel (ohci->hc_control, &ohci->regs->control);
-+ writel (OHCI_INTR_SF, &ohci->regs->intrstatus);
-+ (void) readl (&ohci->regs->intrstatus);
-+ spin_unlock_irqrestore (&usb_ed_lock, flags);
-+
-+ /* Wait a frame or two */
-+ mdelay(1);
-+ if (!readl (&ohci->regs->intrstatus) & OHCI_INTR_SF)
-+ mdelay (1);
-+
-+ /* Enable remote wakeup */
-+ writel (readl(&ohci->regs->intrenable) | OHCI_INTR_RD, &ohci->regs->intrenable);
-+
-+ /* Suspend chip and let things settle down a bit */
-+ ohci->hc_control = OHCI_USB_SUSPEND;
-+ writel (ohci->hc_control, &ohci->regs->control);
-+#if 0
-+ (void) readl (&ohci->regs->control);
-+ mdelay (500); /* No schedule here ! */
-+ switch (readl (&ohci->regs->control) & OHCI_CTRL_HCFS) {
-+ case OHCI_USB_RESET:
-+ dbg("Bus in reset phase ???");
-+ break;
-+ case OHCI_USB_RESUME:
-+ dbg("Bus in resume phase ???");
-+ break;
-+ case OHCI_USB_OPER:
-+ dbg("Bus in operational phase ???");
-+ break;
-+ case OHCI_USB_SUSPEND:
-+ dbg("Bus suspended");
-+ break;
-+ }
-+ tc6393_usb_pm_uspw = TC6393_USB_REG(TC6393_USB_SVPMCS);
-+#else
-+ /* Power Down */
-+ tc6393_usb_pm_uspw = TC6393_USB_REG(TC6393_USB_SVPMCS);
-+ TC6393_USB_REG(TC6393_USB_SVPMCS) |= TC6393_USB_PM_USPW1;
-+ TC6393_USB_REG(TC6393_USB_SVPMCS) |= TC6393_USB_PM_USPW2;
-+#endif
-+
-+ /* store SRAM */
-+ tc6393_sram0_backup = consistent_alloc(GFP_KERNEL | GFP_DMA,
-+ TC6393_RAM0_SIZE, &tc6393_sram0_backup_phys);
-+ memcpy(tc6393_sram0_backup , TC6393_RAM0_BASE, TC6393_RAM0_SIZE);
-+//memset(TC6393_RAM0_BASE, 0xff, TC6393_RAM0_SIZE);
-+ /* device suspend */
-+ TC6393_SYS_REG(TC6393_SYS_FER) &= ~1;
-+ TC6393_SYS_REG(TC6393_SYS_CCR) &= ~2;
-+
-+ return 0;
-+}
-+
-+static int tc6393_ohci_pm_resume(void)
-+{
-+ ohci_t *ohci = tc6393_ohci;
-+ int temp;
-+ unsigned long flags;
-+ int ret = 0;
-+
-+#ifdef THREAD_RESUME
-+ resume_thread_alive = 1;
-+#endif
-+
-+ /* device resume */
-+ tc6393_ohci_configure();
-+
-+ /* restore SRAM */
-+ memcpy(TC6393_RAM0_BASE, tc6393_sram0_backup, TC6393_RAM0_SIZE);
-+ consistent_free(tc6393_sram0_backup,
-+ TC6393_RAM0_SIZE, tc6393_sram0_backup_phys);
-+
-+ /* Power On */
-+ if ( !(tc6393_usb_pm_uspw & TC6393_USB_PM_USPW1) )
-+ TC6393_USB_REG(TC6393_USB_SVPMCS) &= ~TC6393_USB_PM_USPW1;
-+ if ( !(tc6393_usb_pm_uspw & TC6393_USB_PM_USPW2) )
-+ TC6393_USB_REG(TC6393_USB_SVPMCS) &= ~TC6393_USB_PM_USPW2;
-+
-+ /* bus resume */
-+ /* guard against multiple resumes */
-+ atomic_inc (&ohci->resume_count);
-+ if (atomic_read (&ohci->resume_count) != 1) {
-+ err ("concurrent resumes for usb-%s", ohci->slot_name);
-+ atomic_dec (&ohci->resume_count);
-+#ifdef THREAD_RESUME
-+ resume_thread_alive = 0;
-+#endif
-+ return 0;
-+ }
-+
-+ /* did we suspend, or were we powered off? */
-+ ohci->hc_control = readl (&ohci->regs->control);
-+ temp = ohci->hc_control & OHCI_CTRL_HCFS;
-+
-+#ifdef DEBUG
-+ /* the registers may look crazy here */
-+ ohci_dump_status (ohci);
-+#endif
-+
-+ switch (temp) {
-+
-+ case OHCI_USB_RESET: // lost power
-+ info ("USB restart: usb-%s", ohci->slot_name);
-+ hc_restart (ohci);
-+ break;
-+
-+ case OHCI_USB_SUSPEND: // host wakeup
-+ case OHCI_USB_RESUME: // remote wakeup
-+ info ("USB continue: usb-%s from %s wakeup", ohci->slot_name,
-+ (temp == OHCI_USB_SUSPEND)
-+ ? "host" : "remote");
-+ ohci->hc_control = OHCI_USB_RESUME;
-+ writel (ohci->hc_control, &ohci->regs->control);
-+ (void) readl (&ohci->regs->control);
-+ mdelay (20); /* no schedule here ! */
-+ /* Some controllers (lucent) need a longer delay here */
-+ mdelay (15);
-+ temp = readl (&ohci->regs->control);
-+ temp = ohci->hc_control & OHCI_CTRL_HCFS;
-+ if (temp != OHCI_USB_RESUME) {
-+ err ("controller usb-%s won't resume", ohci->slot_name);
-+ ohci->disabled = 1;
-+#ifdef THREAD_RESUME
-+ resume_thread_alive = 0;
-+#endif
-+ return -EIO;
-+ }
-+
-+ /* Some chips likes being resumed first */
-+ writel (OHCI_USB_OPER, &ohci->regs->control);
-+ (void) readl (&ohci->regs->control);
-+ mdelay (3);
-+
-+ /* Then re-enable operations */
-+ spin_lock_irqsave (&usb_ed_lock, flags);
-+ ohci->disabled = 0;
-+ ohci->sleeping = 0;
-+ ohci->hc_control = OHCI_CONTROL_INIT | OHCI_USB_OPER;
-+ if (!ohci->ed_rm_list[0] && !ohci->ed_rm_list[1]) {
-+ if (ohci->ed_controltail)
-+ ohci->hc_control |= OHCI_CTRL_CLE;
-+ if (ohci->ed_bulktail)
-+ ohci->hc_control |= OHCI_CTRL_BLE;
-+ }
-+ writel (ohci->hc_control, &ohci->regs->control);
-+ writel (OHCI_INTR_SF, &ohci->regs->intrstatus);
-+ writel (OHCI_INTR_SF, &ohci->regs->intrenable);
-+ /* Check for a pending done list */
-+ writel (OHCI_INTR_WDH, &ohci->regs->intrdisable);
-+ (void) readl (&ohci->regs->intrdisable);
-+ spin_unlock_irqrestore (&usb_ed_lock, flags);
-+ if (ohci->hcca->done_head)
-+ dl_done_list (ohci, dl_reverse_done_list (ohci));
-+ writel (OHCI_INTR_WDH, &ohci->regs->intrenable);
-+ writel (OHCI_BLF, &ohci->regs->cmdstatus); /* start bulk list */
-+ writel (OHCI_CLF, &ohci->regs->cmdstatus); /* start Control list */
-+ break;
-+
-+ default:
-+ warn ("odd resume for usb-%s", ohci->slot_name);
-+ }
-+
-+ /* controller is operational, extra resumes are harmless */
-+ atomic_dec (&ohci->resume_count);
-+
-+#ifdef THREAD_RESUME
-+ resume_thread_alive = 0;
-+#endif
-+ return ret;
-+}
-+
-+static int
-+tc6393_ohci_pm_callback(struct pm_dev *pm_device, pm_request_t rqst, void *data)
-+{
-+ int error = 0;
-+
-+ switch (rqst) {
-+ case PM_SAVE_STATE:
-+ break;
-+ case PM_SUSPEND:
-+#ifdef THREAD_RESUME
-+ while(resume_thread_alive) udelay(100);
-+#endif
-+ error = tc6393_ohci_pm_suspend((u32)data);
-+ break;
-+ case PM_RESUME:
-+#ifdef THREAD_RESUME
-+ kernel_thread(tc6393_ohci_pm_resume, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-+ error = 0;
-+#else
-+ error = tc6393_ohci_pm_resume();
-+#endif
-+ break;
-+ default:
-+ break;
-+ }
-+ return error;
-+}
-+#endif
-diff -Nur linux_c860_org/drivers/usb/usb-ohci.c linux/drivers/usb/usb-ohci.c
---- linux_c860_org/drivers/usb/usb-ohci.c 2002-08-26 14:45:02.000000000 +0900
-+++ linux/drivers/usb/usb-ohci.c 2004-06-10 21:09:10.000000000 +0900
-@@ -12,6 +12,7 @@
- *
- * History:
- *
-+ * 2004/02/26 Lineo Solutions, Inc. for Tosa (SHARP)
- * 2001/09/19 USB_ZERO_PACKET support (Jean Tourrilhes)
- * 2001/07/17 power management and pmac cleanup (Benjamin Herrenschmidt)
- * 2001/03/24 td/ed hashing to remove bus_to_virt (Steve Longerbeam);
-@@ -89,7 +90,7 @@
- #define OHCI_UNLINK_TIMEOUT (HZ / 10)
-
- static LIST_HEAD (ohci_hcd_list);
--static spinlock_t usb_ed_lock = SPIN_LOCK_UNLOCKED;
-+spinlock_t usb_ed_lock = SPIN_LOCK_UNLOCKED;
-
-
- /*-------------------------------------------------------------------------*/
-@@ -1295,7 +1296,7 @@
- err("internal OHCI error: TD index > length");
- return;
- }
--if (data & (1 << 20)) panic("td_fill: A20 = 1: %08x\n", data);
-+//if (data & (1 << 20)) panic("td_fill: A20 = 1: %08x\n", data);
-
- /* use this td as the next dummy */
- td_pt = urb_priv->td [index];
-@@ -1509,7 +1510,7 @@
- /* replies to the request have to be on a FIFO basis so
- * we reverse the reversed done-list */
-
--static td_t * dl_reverse_done_list (ohci_t * ohci)
-+td_t * dl_reverse_done_list (ohci_t * ohci)
- {
- __u32 td_list_hc;
- td_t * td_rev = NULL;
-@@ -1657,7 +1658,7 @@
-
- /* td done list */
-
--static void dl_done_list (ohci_t * ohci, td_t * td_list)
-+void dl_done_list (ohci_t * ohci, td_t * td_list)
- {
- td_t * td_list_next = NULL;
- ed_t * ed;
-@@ -2126,7 +2127,7 @@
-
- /* reset the HC and BUS */
-
--static int hc_reset (ohci_t * ohci)
-+int hc_reset (ohci_t * ohci)
- {
- int timeout = 30;
- int smm_timeout = 50; /* 0,5 sec */
-@@ -2171,7 +2172,7 @@
- * enable interrupts
- * connect the virtual root hub */
-
--static int hc_start (ohci_t * ohci)
-+int hc_start (ohci_t * ohci)
- {
- __u32 mask;
- unsigned int fminterval;
-@@ -2418,7 +2419,8 @@
- ohci_mem_cleanup (ohci);
-
- /* unmap the IO address space */
-- iounmap (ohci->regs);
-+ if ((int)ohci->ohci_dev != 1)
-+ iounmap (ohci->regs);
-
- pci_free_consistent (ohci->ohci_dev, sizeof *ohci->hcca,
- ohci->hcca, ohci->hcca_dma);
-@@ -2432,7 +2434,7 @@
- */
- int __devinit
- hc_add_ohci(struct pci_dev *dev, int irq, void *mem_base, unsigned long flags,
-- ohci_t **ohci, const char *name, const char *slot_name)
-+ ohci_t **ohcip, const char *name, const char *slot_name)
- {
- char buf[8], *bufp = buf;
- ohci_t * ohci;
-@@ -2447,6 +2449,7 @@
- (unsigned long) mem_base, bufp);
-
- ohci = hc_alloc_ohci (dev, mem_base);
-+ *ohcip = ohci;
- if (!ohci) {
- return -ENOMEM;
- }
-diff -Nur linux_c860_org/drivers/usb/usb-ohci.h linux/drivers/usb/usb-ohci.h
---- linux_c860_org/drivers/usb/usb-ohci.h 2002-08-26 14:45:02.000000000 +0900
-+++ linux/drivers/usb/usb-ohci.h 2004-06-10 21:09:10.000000000 +0900
-@@ -5,8 +5,15 @@
- * (C) Copyright 2000-2001 David Brownell <dbrownell@users.sourceforge.net>
- *
- * usb-ohci.h
-+ *
-+ * ChangeLog:
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa (SHARP)
- */
-
-+#if defined(CONFIG_USB_USE_INTERNAL_MEMORY)
-+#include "mem-onchip.h"
-+#endif
-+
-
- static int cc_to_error[16] = {
-
-diff -Nur linux_c860_org/drivers/usb/usbkbd.c linux/drivers/usb/usbkbd.c
---- linux_c860_org/drivers/usb/usbkbd.c 2002-08-26 14:39:14.000000000 +0900
-+++ linux/drivers/usb/usbkbd.c 2004-06-10 21:09:10.000000000 +0900
-@@ -7,7 +7,11 @@
- *
- * Sponsored by SuSE
- */
--
-+/*
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
-+ */
- /*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -46,6 +50,26 @@
- MODULE_DESCRIPTION( DRIVER_DESC );
- MODULE_LICENSE("GPL");
-
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+static unsigned char usb_kbd_keycode[256] = {
-+ 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 41, 42,
-+ 43, 44, 45, 46, 47, 48, 49, 50, 28, 34, 31, 65, 92, 51, 52, 55,
-+ 54, 0, 97, 95, 96, 70, 98, 99,100, 60, 33, 58, 94, 39, 88, 89,
-+ 90,110,117,120, 30, 40,115, 0, 0, 0,104,106, 81,105,107, 124,
-+ 121,123,122, 32, 82, 83, 85, 86, 87, 71, 72, 73, 74, 75, 76, 77,
-+ 78, 79, 80, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0,101, 69, 53, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 56, 27, 57, 29,111,112,113,114, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+};
-+#else
- static unsigned char usb_kbd_keycode[256] = {
- 0, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38,
- 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44, 2, 3,
-@@ -64,6 +88,7 @@
- 29, 42, 56,125, 97, 54,100,126,164,166,165,163,161,115,114,113,
- 150,158,159,128,136,177,178,176,142,152,173,140
- };
-+#endif
-
- struct usb_kbd {
- struct input_dev dev;
-@@ -84,6 +109,12 @@
-
- if (urb->status) return;
-
-+#if 0
-+ printk("kbd_irq[%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x]\n",
-+ kbd->new[0],kbd->new[1],kbd->new[2],kbd->new[3],kbd->new[4],
-+ kbd->new[5],kbd->new[6],kbd->new[7],kbd->new[8]);
-+#endif
-+
- for (i = 0; i < 8; i++)
- input_report_key(&kbd->dev, usb_kbd_keycode[i + 224], (kbd->new[0] >> i) & 1);
-
-@@ -200,7 +231,11 @@
-
- kbd->usbdev = dev;
-
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ kbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_LED);
-+#else
- kbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP);
-+#endif
- kbd->dev.ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL) | BIT(LED_COMPOSE) | BIT(LED_KANA);
-
- for (i = 0; i < 255; i++)
-diff -Nur linux_c860_org/drivers/video/Config.in linux/drivers/video/Config.in
---- linux_c860_org/drivers/video/Config.in 2002-09-11 12:02:37.000000000 +0900
-+++ linux/drivers/video/Config.in 2004-06-10 21:09:10.000000000 +0900
-@@ -10,6 +10,21 @@
- if [ "$CONFIG_FB" = "y" ]; then
- define_bool CONFIG_DUMMY_CONSOLE y
- if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-+ bool "UNICON Support(EXPERIMENTAL)" CONFIG_UNICON
-+ if [ "$CONFIG_UNICON" = "y" ]; then
-+ tristate "Double Byte GB encode (module only)" CONFIG_UNICON_GB
-+ if [ "$CONFIG_UNICON_GB" = "y" ]; then
-+ define_bool CONFIG_UNICON_GB m
-+ fi
-+ tristate "Double Byte SJIS encode (module only)" CONFIG_UNICON_SJIS
-+ if [ "$CONFIG_UNICON_SJIS" = "y" ]; then
-+ define_bool CONFIG_UNICON_SJIS m
-+ fi
-+ tristate "Double Byte EUCJP encode (module only)" CONFIG_UNICON_EUCJP
-+ if [ "$CONFIG_UNICON_EUCJP" = "y" ]; then
-+ define_bool CONFIG_UNICON_EUCJP m
-+ fi
-+ fi
- if [ "$CONFIG_PCI" = "y" ]; then
- tristate ' nVidia Riva support (EXPERIMENTAL)' CONFIG_FB_RIVA
- fi
-@@ -58,7 +73,9 @@
- dep_bool ' Cached FB support' CONFIG_POODLE_CONSISTENT_ALLOC $CONFIG_FB_POODLE
- fi
- dep_bool ' Corgi LCD support' CONFIG_FB_CORGI $CONFIG_ARCH_PXA_CORGI
-+ dep_bool ' Tosa LCD support' CONFIG_FB_TOSA $CONFIG_ARCH_PXA_TOSA
- dep_bool ' SHARP LOGO screen support' CONFIG_SHARP_LOGO_SCREEN $CONFIG_ARCH_SHARP_SL
-+ dep_bool ' Boot fastsysclk 100MHz. (EXPERIMENTAL)' CONFIG_SL_SYSCLK100 $CONFIG_ARCH_PXA_CORGI
- fi
- dep_tristate ' CyberPro 2000/2010/5000 support' CONFIG_FB_CYBER2000 $CONFIG_PCI
- if [ "$CONFIG_APOLLO" = "y" ]; then
-diff -Nur linux_c860_org/drivers/video/Makefile linux/drivers/video/Makefile
---- linux_c860_org/drivers/video/Makefile 2002-10-04 21:01:43.000000000 +0900
-+++ linux/drivers/video/Makefile 2004-06-10 21:09:10.000000000 +0900
-@@ -41,6 +41,10 @@
- obj-$(CONFIG_PPC) += macmodes.o
- endif
-
-+obj-$(CONFIG_UNICON_GB) += encode-gb.o
-+obj-$(CONFIG_UNICON_BIG5) += encode-big5.o
-+obj-$(CONFIG_UNICON_SJIS) += encode-sjis.o
-+obj-$(CONFIG_UNICON_EUCJP) += encode-eucjp.o
- obj-$(CONFIG_FB_ACORN) += acornfb.o
- obj-$(CONFIG_FB_AMIGA) += amifb.o
- obj-$(CONFIG_FB_PM2) += pm2fb.o fbgen.o
-@@ -91,7 +95,7 @@
- obj-$(CONFIG_FB_COTULLA) += cotulla_fb.o discovery_frontlight.o
- obj-$(CONFIG_FB_POODLE) += cotulla_fb.o poodle_frontlight.o
- obj-$(CONFIG_FB_CORGI) += w100fb.o fbgen.o corgi_backlight.o
--
-+obj-$(CONFIG_FB_TOSA) += tc6393fb.o fbgen.o tosa_backlight.o
-
- subdir-$(CONFIG_FB_MATROX) += matrox
- ifeq ($(CONFIG_FB_MATROX),y)
-diff -Nur linux_c860_org/drivers/video/encode-eucjp.c linux/drivers/video/encode-eucjp.c
---- linux_c860_org/drivers/video/encode-eucjp.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/encode-eucjp.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,67 @@
-+/*
-+ * linux/video/encode_eucjp.c
-+ *
-+ * Copyright (C) 2000 Kazuhide Takahashi
-+ * HOLON Inc.
-+ * Copyright (C) 1999 Christopher Li, Jim Chen
-+ * GNU/Linux Research Center
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file COPYING in the main directory of this archive
-+ * for more details.
-+ *
-+ *
-+ */
-+
-+
-+#include <linux/module.h>
-+#include <linux/fb_doublebyte.h>
-+#include "font_jis16.h"
-+#define min1 0xa1
-+#define max1 0xfe
-+
-+
-+int is_left(int c)
-+{
-+ return ( c >= min1 && c<=max1);
-+}
-+int is_right(int c)
-+{
-+ return ( c >= min1 && c<=max1);
-+}
-+int index_euc (int left, int right)
-+{
-+ if ( left == 0x8E )
-+ left = 0;
-+ else
-+ left &= 0x7F;
-+ right &= 0x7F;
-+
-+ if (left > 0x29)
-+ return ((right - 0x40 + (left - 0x25) * 96) << 5);
-+ else
-+ return ((right - 0x20 + (left - 0x20) * 96) << 5);
-+}
-+struct double_byte db_gb =
-+{
-+ 0,
-+ "EUCJP",
-+ is_left,
-+ is_right,
-+ index_euc,
-+ 16,16,
-+ max_jis16,
-+ font_jis16
-+};
-+
-+int init_module(void)
-+{
-+ if (doublebyte_default) return 1;
-+ doublebyte_default = &db_gb;
-+ return 0;
-+}
-+
-+void cleanup_module(void)
-+{
-+ doublebyte_default = (void*) 0;
-+}
-diff -Nur linux_c860_org/drivers/video/encode-gb.c linux/drivers/video/encode-gb.c
---- linux_c860_org/drivers/video/encode-gb.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/encode-gb.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,50 @@
-+/*
-+ * linux/video/encode_gb.c
-+ *
-+ * Copyright (C) 1999 Christopher Li, Jim Chen
-+ * GNU/Linux Research Center
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file COPYING in the main directory of this archive
-+ * for more details.
-+ *
-+ *
-+ */
-+
-+
-+#include <linux/module.h>
-+#include <linux/fb_doublebyte.h>
-+#include "font_gb16.h"
-+#define min1 0xa1
-+#define max1 0xfe
-+int index_gb(int left, int right)
-+{
-+ return ((left-min1)*94+right-min1) << 5;
-+}
-+int is_hz(int c)
-+{
-+ return ( c >= min1 && c<=max1);
-+}
-+struct double_byte db_gb =
-+{
-+ 0,
-+ "GB",
-+ is_hz,
-+ is_hz,
-+ index_gb,
-+ 16,16,
-+ max_gb16,
-+ font_gb16
-+};
-+
-+int init_module(void)
-+{
-+ if (doublebyte_default) return 1;
-+ doublebyte_default = &db_gb;
-+ return 0;
-+}
-+
-+void cleanup_module(void)
-+{
-+ doublebyte_default = (void*) 0;
-+}
-diff -Nur linux_c860_org/drivers/video/encode-sjis.c linux/drivers/video/encode-sjis.c
---- linux_c860_org/drivers/video/encode-sjis.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/encode-sjis.c 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,84 @@
-+/*
-+ * linux/video/encode_sjis.c
-+ *
-+ * Copyright (C) 2000 Kazuhide Takahashi
-+ * HOLON Inc.
-+ * Copyright (C) 1999 Christopher Li, Jim Chen
-+ * GNU/Linux Research Center
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file COPYING in the main directory of this archive
-+ * for more details.
-+ *
-+ *
-+ */
-+
-+
-+#include <linux/module.h>
-+#include <linux/fb_doublebyte.h>
-+#include "font_jis16.h"
-+#define min1 0x81
-+#define max1 0xfc
-+
-+
-+int is_left(int c)
-+{
-+ return ( (c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xfc) );
-+}
-+int is_right(int c)
-+{
-+ return ( (c >= 0x40 && c <= 0x7e) || (c >= 0x80 && c <= 0xfc) );
-+}
-+int index_sjis (int left, int right)
-+{
-+ int ch1, ch2;
-+
-+ if ( !is_left(left) || !is_right(right) ) return -512;
-+
-+ ch1 = left;
-+ ch2 = right;
-+
-+ if ( ch1 <= 0x9f )
-+ ch1 -= 0x71;
-+ else
-+ ch1 -= 0xb1;
-+ ch1 *= 2;
-+ ++ch1;
-+
-+ if ( ch2 >= 0x7f )
-+ --ch2;
-+ if ( ch2 >= 0x9e ) {
-+ ch2 -= 0x7d;
-+ ++ch1;
-+ } else {
-+ ch2 -= 0x1f;
-+ }
-+
-+ if (ch1 > 0x29)
-+ return ((ch2 - 0x40 + (ch1 - 0x25) * 96) << 5);
-+ else
-+ return ((ch2 - 0x20 + (ch1 - 0x20) * 96) << 5);
-+}
-+struct double_byte db_gb =
-+{
-+ 0,
-+ "SJIS",
-+ is_left,
-+ is_right,
-+ index_sjis,
-+ 16,16,
-+ max_jis16,
-+ font_jis16
-+};
-+
-+int init_module(void)
-+{
-+ if (doublebyte_default) return 1;
-+ doublebyte_default = &db_gb;
-+ return 0;
-+}
-+
-+void cleanup_module(void)
-+{
-+ doublebyte_default = (void*) 0;
-+}
-diff -Nur linux_c860_org/drivers/video/fbcon-cfb16.c linux/drivers/video/fbcon-cfb16.c
---- linux_c860_org/drivers/video/fbcon-cfb16.c 2003-01-14 14:43:43.000000000 +0900
-+++ linux/drivers/video/fbcon-cfb16.c 2004-06-10 21:09:10.000000000 +0900
-@@ -13,6 +13,7 @@
- * 30-Jul-2002 Lineo Japan, Inc. for 2.4.18
- * 31-Oct-2002 SHARP
- * added support for rotation logo screen on SHARP SL-C700
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/module.h>
-@@ -217,9 +218,11 @@
-
- width *= fontwidth(p)/4;
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#if 0 /* c700 bug fix 0 */
- if (width * 8 == bytes)
- rectfill(dest, 1, lines * width * 4, bgx, bytes);
- else
-+#endif
- rectfill(dest, lines, width * 4, bgx, bytes);
- #else
- if (width * 8 == bytes)
-@@ -240,10 +243,17 @@
- u8 *dest, *cdat, bits;
- int bytes = p->next_line, rows;
- u32 eorx, fgx, bgx;
-+#ifdef CONFIG_UNICON
-+ u8 *temp;
-+#endif
-
- #if defined(CONFIG_FBCON_ROTATE_R)
- dest = p->screen_base +
-+#ifdef CONFIG_UNICON
-+ yy * fontwidth(p) * bytes + (p->var.xres - (xx+1) * fontheight(p) - 1) * 2;
-+#else
- yy * fontwidth(p) * bytes + (p->var.xres - xx * fontheight(p) - 1) * 2;
-+#endif
- #elif defined(CONFIG_FBCON_ROTATE_L)
- dest = p->screen_base +
- (p->var.yres - yy * fontwidth(p) - 1) * bytes + xx * fontheight(p) * 2;
-@@ -262,6 +272,32 @@
- case 8:
- cdat = p->fontdata + (c & p->charmask) * fontheight(p);
- #if defined(CONFIG_FBCON_ROTATE_R)
-+#ifdef CONFIG_UNICON
-+ rows = fontheight(p);
-+ temp = dest+rows*2;
-+ for (; rows--; dest += 2,temp -= 2) {
-+ bits = *cdat++;
-+ fb_writew((tab_cfb16[bits >> 7 & 1] & eorx) ^ bgx,
-+ temp);
-+ fb_writew((tab_cfb16[bits >> 6 & 1] & eorx) ^ bgx,
-+ temp+1*bytes);
-+ fb_writew((tab_cfb16[bits >> 5 & 1] & eorx) ^ bgx,
-+ temp+2*bytes);
-+ fb_writew((tab_cfb16[bits >> 4 & 1] & eorx) ^ bgx,
-+ temp+3*bytes);
-+ if (fontwidth(p) == 8) {
-+ fb_writew((tab_cfb16[bits >> 3 & 1] & eorx) ^ bgx,
-+ temp+4*bytes);
-+ fb_writew((tab_cfb16[bits >> 2 & 1] & eorx) ^ bgx,
-+ temp+5*bytes);
-+ fb_writew((tab_cfb16[bits >> 1 & 1] & eorx) ^ bgx,
-+ temp+6*bytes);
-+ fb_writew((tab_cfb16[bits & 1] & eorx) ^ bgx,
-+ temp+7*bytes);
-+ }
-+ }
-+ dest = temp;
-+#else
- for (rows = fontheight(p); rows--; dest += 2) {
- bits = *cdat++;
- fb_writew((tab_cfb16[bits >> 7 & 1] & eorx) ^ bgx,
-@@ -283,6 +319,7 @@
- dest+7*bytes);
- }
- }
-+#endif
- #elif defined(CONFIG_FBCON_ROTATE_L)
- for (rows = fontheight(p); rows--; dest += 2) {
- bits = *cdat++;
-@@ -734,6 +771,15 @@
- rectfill(p->screen_base +
- (p->var.xres - (p->var.xoffset + bottom_start) - 1) * 2,
- right_start, bottom_width, bgx, bytes);
-+#else
-+#ifdef CONFIG_FB_TOSA /* re_check */
-+ if (!bottom_only && (right_width = p->var.yres - right_start))
-+ rectfill(p->screen_base + right_start * bytes + (p->var.xres - 1) * 2,
-+ right_width, p->var.xres_virtual, bgx, bytes);
-+ if ((bottom_width = p->var.xres - bottom_start))
-+ rectfill(p->screen_base +
-+ (p->var.xres - (p->var.xoffset + bottom_start) - 1) * 2,
-+ right_start, bottom_width, bgx, bytes);
- #else // general R
- if (!bottom_only && (right_width = p->var.yres - right_start))
- rectfill(p->screen_base + right_start * bytes + (p->var.xres - 1) * 2,
-@@ -743,6 +789,7 @@
- (p->var.xres - (p->var.xoffset + bottom_start) - 1) * 2,
- right_start, bottom_width, bgx, bytes);
- #endif
-+#endif
- #elif defined(CONFIG_FBCON_ROTATE_L)
- #ifdef CONFIG_FB_CORGI
- if (!bottom_only && (right_width = p->var.yres - right_start))
-@@ -752,6 +799,15 @@
- rectfill(p->screen_base + (p->var.yres - 1) * bytes +
- (p->var.xoffset + bottom_start) * 2,
- right_start, bottom_width, bgx, bytes);
-+#else
-+#ifdef CONFIG_FB_TOSA /* re_check */
-+ if (!bottom_only && (right_width = p->var.yres - right_start))
-+ rectfill(p->screen_base + (p->var.yres - right_start - 1) * bytes,
-+ right_width, p->var.xres_virtual, bgx, bytes);
-+ if ((bottom_width = p->var.xres - bottom_start))
-+ rectfill(p->screen_base + (p->var.yres - 1) * bytes +
-+ (p->var.xoffset + bottom_start) * 2,
-+ right_start, bottom_width, bgx, bytes);
- #else // general L
- if (!bottom_only && (right_width = p->var.yres - right_start))
- rectfill(p->screen_base + (p->var.yres - right_start - 1) * bytes,
-@@ -761,6 +817,7 @@
- (p->var.xoffset + bottom_start) * 2,
- right_start, bottom_width, bgx, bytes);
- #endif
-+#endif
- #else
- if (!bottom_only && (right_width = p->var.xres-right_start))
- rectfill(p->screen_base+right_start*2, right_width,
-diff -Nur linux_c860_org/drivers/video/fbcon.c linux/drivers/video/fbcon.c
---- linux_c860_org/drivers/video/fbcon.c 2003-01-14 14:44:30.000000000 +0900
-+++ linux/drivers/video/fbcon.c 2004-06-10 21:09:10.000000000 +0900
-@@ -66,6 +66,7 @@
- * added support for rotation logo screen on SHARP SL-C700
- * 08-Nov-2002 SHARP
- * SHARP logo screen modification
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #undef FBCONDEBUG
-@@ -78,6 +79,11 @@
- #include <linux/kernel.h>
- #include <linux/delay.h> /* MSch: for IRQ probe */
- #include <linux/tty.h>
-+
-+#ifdef CONFIG_UNICON
-+#include <linux/fb_doublebyte.h>
-+#endif
-+
- #include <linux/console.h>
- #include <linux/string.h>
- #include <linux/kd.h>
-@@ -668,7 +674,12 @@
- if (con == fg_console && p->type != FB_TYPE_TEXT) {
- if (fbcon_softback_size) {
- if (!softback_buf) {
-+#ifndef CONFIG_UNICON
- softback_buf = (unsigned long)kmalloc(fbcon_softback_size, GFP_KERNEL);
-+#else
-+ softback_buf = (unsigned long)kmalloc(fbcon_softback_size*2, GFP_KERNEL);
-+#endif
-+
- if (!softback_buf) {
- fbcon_softback_size = 0;
- softback_top = 0;
-@@ -816,11 +827,18 @@
- (p->var.yres_virtual % fontwidth(p) < p->var.yres % fontwidth(p)))
- p->vrows--;
- #else
-+#ifdef CONFIG_FB_TOSA /* re_check */
-+ p->vrows = p->var.yres_virtual / fontwidth(p);
-+ if ((p->var.yres % fontwidth(p)) &&
-+ (p->var.yres_virtual % fontwidth(p) < p->var.yres % fontwidth(p)))
-+ p->vrows--;
-+#else
- p->vrows = p->var.xres_virtual / fontheight(p);
- if ((p->var.xres % fontheight(p)) &&
- (p->var.xres_virtual % fontheight(p) < p->var.xres % fontheight(p)))
- p->vrows--;
- #endif
-+#endif
- #else
- p->vrows = p->var.yres_virtual/fontheight(p);
- if ((p->var.yres % fontheight(p)) &&
-@@ -916,6 +934,27 @@
- * restriction is simplicity & efficiency at the moment.
- */
-
-+#ifdef CONFIG_UNICON
-+static inline unsigned short * hibyte_pos(struct vc_data * conp,unsigned short* p)
-+{
-+ unsigned long pos=(long)p;
-+
-+ if (pos >= conp->vc_origin && pos < conp->vc_scr_end) {
-+ /* pos in the vc buffer - Chrisl 99.11.12*/
-+ return (unsigned short*)(pos+conp->vc_screenbuf_size);
-+ } else if (conp->vc_num == fg_console){
-+ /*&& softback_lines,because the scroll will first change
-+ softback_lines, then call this function, so it is ignored here
-+ -JimChen 99.11.12*/
-+ return (unsigned short*)(pos+fbcon_softback_size);
-+ } else {
-+ /* Should not happen */
-+ printk("Warnning, changing not active console\n");
-+ return p;
-+ }
-+}
-+#endif
-+
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- static __inline__ int real_x(struct display *p, int xpos)
- {
-@@ -993,6 +1032,60 @@
- vbl_cursor_cnt = CURSOR_DRAW_DELAY;
- }
-
-+#ifdef CONFIG_UNICON
-+struct double_byte * doublebyte_default = NULL;
-+EXPORT_SYMBOL(doublebyte_default);
-+/* ypos is absolute y(relative to video buffer), not y in screen coordinate,
-+ and the validation is assured by the caller */
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+void fbcon_putc_tl(struct vc_data *conp, int c, int xpos, int ypos)
-+#else
-+void fbcon_putc_tl(struct vc_data *conp, int c, int ypos, int xpos)
-+#endif
-+{
-+ int unit = conp->vc_num;
-+ struct display *p = &fb_display[unit];
-+ int extendedchar;
-+ u_char * fontdata_save;
-+
-+ if (!doublebyte_default){
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ p->dispsw->putc(conp, p, c&0xffff, xpos, ypos);
-+#else
-+ p->dispsw->putc(conp, p, c&0xffff, ypos, xpos);
-+#endif
-+ return;
-+ }
-+ extendedchar = c & (DB_VALIDATE<<16);
-+ fontdata_save = p -> fontdata;
-+ if (extendedchar) {
-+ int index;
-+ if ( c & (DB_RIGHT_MASK << 16)) {// right half
-+ index = doublebyte_default->font_index((c>>16)&0xff, (c&0xff)) + 16;
-+ } else {
-+ index = doublebyte_default->font_index((c&0xff),(c>>16)&0xff);
-+ }
-+ //printk("<6>%d %x",(unsigned long)p->fontdata-(unsigned long) font_gb16,c);
-+ if (index >=0 && index < doublebyte_default->charcount) {
-+ p->fontdata = doublebyte_default->font_data +index;
-+ c = (c & 0xff00);
-+ }else c = c & 0xffff;
-+ } else {
-+ c = c & 0xffff;
-+ }
-+
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ p->dispsw->putc(conp, p, c, xpos, ypos);
-+#else
-+ p->dispsw->putc(conp, p, c, ypos, xpos);
-+#endif
-+
-+ if (extendedchar) {
-+ p->fontdata = fontdata_save;
-+ }
-+}
-+EXPORT_SYMBOL(fbcon_putc_tl);
-+#endif
-
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- static void fbcon_putc(struct vc_data *conp, int c, int xpos, int ypos)
-@@ -1019,16 +1112,39 @@
- redraw_cursor = 1;
- }
-
-+#ifdef CONFIG_UNICON
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ fbcon_putc_tl(conp, c, real_x(p, xpos), ypos);
-+#else
-+ fbcon_putc_tl(conp, c, real_y(p, ypos), xpos);
-+#endif
-+#else
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- p->dispsw->putc(conp, p, c, real_x(p, xpos), ypos);
- #else
- p->dispsw->putc(conp, p, c, real_y(p, ypos), xpos);
- #endif
-+#endif
-
- if (redraw_cursor)
- vbl_cursor_cnt = CURSOR_DRAW_DELAY;
- }
-
-+#ifdef CONFIG_UNICON
-+//ypos is absolute pos.
-+static void fbcon_putcs_tl(struct vc_data *conp, const unsigned short *s, int count,
-+ int ypos, int xpos)
-+{
-+ const unsigned short *str=s;
-+
-+ while (count--) {
-+ fbcon_putc_tl(conp, (scr_readw(hibyte_pos(conp,(unsigned short *)str))<<16)|scr_readw(str),
-+ ypos, xpos);
-+ str++;
-+ xpos++;
-+ }
-+}
-+#endif
-
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- static void fbcon_putcs(struct vc_data *conp, const unsigned short *s, int count, int xpos, int ypos)
-@@ -1057,11 +1173,19 @@
- cursor_undrawn();
- redraw_cursor = 1;
- }
-+#ifndef CONFIG_UNICON
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- p->dispsw->putcs(conp, p, s, count, real_x(p, xpos), ypos);
- #else
- p->dispsw->putcs(conp, p, s, count, real_y(p, ypos), xpos);
- #endif
-+#else
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ fbcon_putcs_tl(conp,s,count,real_x(p,xpos),ypos);
-+#else
-+ fbcon_putcs_tl(conp,s,count,real_y(p,ypos),xpos);
-+#endif
-+#endif
- if (redraw_cursor)
- vbl_cursor_cnt = CURSOR_DRAW_DELAY;
- }
-@@ -1362,6 +1486,9 @@
- unsigned short *start;
- unsigned short *le;
- unsigned short c;
-+#ifdef CONFIG_UNICON
-+ unsigned short c_ext;
-+#endif
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- int y = 0;
- #else
-@@ -1373,30 +1500,53 @@
- le = advance_row(s, 1);
- do {
- c = scr_readw(s);
-+#ifdef CONFIG_UNICON
-+ c_ext = scr_readw(hibyte_pos(conp,s));
-+#endif
- if (attr != (c & 0xff00)) {
- attr = c & 0xff00;
- if (s > start) {
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start,
- real_x(p, line), y);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_x(p,line),y);
-+#endif
- y += s - start;
- #else
-- p->dispsw->putcs(conp, p, start, s - start,
-- real_y(p, line), x);
-+#ifndef CONFIG_UNICON
-+ p->dispsw->putcs(conp, p, start, s - start,
-+ real_y(p, line), x);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_y(p,line),x);
-+#endif
- x += s - start;
- #endif
- start = s;
- }
- }
-+#ifndef CONFIG_UNICON
- if (c == scr_readw(d)) {
-+#else
-+ if (c == scr_readw(d) && c_ext == scr_readw(hibyte_pos(conp,d))) {
-+#endif
- if (s > start) {
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start,
- real_x(p, line), y);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_x(p,line),y);
-+#endif
- y += s - start + 1;
- #else
-- p->dispsw->putcs(conp, p, start, s - start,
-- real_y(p, line), x);
-+#ifndef CONFIG_UNICON
-+ p->dispsw->putcs(conp, p, start, s - start,
-+ real_y(p, line), x);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_y(p,line),x);
-+#endif
- x += s - start + 1;
- #endif
- start = s + 1;
-@@ -1414,9 +1564,17 @@
- } while (s < le);
- if (s > start)
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start, real_x(p, line), y);
- #else
-+ fbcon_putcs_tl(conp,start,s-start,real_x(p,line),y);
-+#endif
-+#else
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start, real_y(p, line), x);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_y(p,line),x);
-+#endif
- #endif
- line++;
- if (d == (u16 *)softback_end)
-@@ -1441,6 +1599,9 @@
- unsigned short *start = s;
- unsigned short *le = advance_row(s, 1);
- unsigned short c;
-+#ifdef CONFIG_UNICON
-+ unsigned short c_ext;
-+#endif
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- int y = 0;
- #else
-@@ -1450,30 +1611,53 @@
-
- do {
- c = scr_readw(s);
-+#ifdef CONFIG_UNICON
-+ c_ext = scr_readw(hibyte_pos(conp,s));
-+#endif
- if (attr != (c & 0xff00)) {
- attr = c & 0xff00;
- if (s > start) {
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start,
- real_x(p, line), y);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_x(p,line),y);
-+#endif
- y += s - start;
- #else
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start,
- real_y(p, line), x);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_y(p,line),x);
-+#endif
- x += s - start;
- #endif
- start = s;
- }
- }
-+#ifndef CONFIG_UNICON
- if (c == scr_readw(d)) {
-+#else
-+ if (c == scr_readw(d) && c_ext == scr_readw(hibyte_pos(conp,d))) {
-+#endif
- if (s > start) {
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start,
- real_x(p, line), y);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_x(p,line),y);
-+#endif
- y += s - start + 1;
- #else
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, s - start,
- real_y(p, line), x);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_y(p,line),x);
-+#endif
- x += s - start + 1;
- #endif
- start = s + 1;
-@@ -1487,17 +1671,28 @@
- }
- }
- scr_writew(c, d);
-+#ifdef CONFIG_UNICON
-+ scr_writew(scr_readw(s+(conp->vc_screenbuf_size>>1)),d+(conp->vc_screenbuf_size>>1));
-+#endif
- console_conditional_schedule();
- s++;
- d++;
- } while (s < le);
- if (s > start)
-+#ifndef CONFIG_UNICON
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- p->dispsw->putcs(conp, p, start, s - start, real_x(p, line), y);
- #else
- p->dispsw->putcs(conp, p, start, s - start, real_y(p, line), x);
- #endif
- console_conditional_schedule();
-+#else
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ fbcon_putcs_tl(conp,start,s-start,real_x(p,line),y);
-+#else
-+ fbcon_putcs_tl(conp,start,s-start,real_y(p,line),x);
-+#endif
-+#endif
- if (offset > 0)
- line++;
- else {
-@@ -1603,10 +1798,18 @@
- attr = c & 0xff00;
- if (d > start) {
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, d - start, dx, y);
-+#else
-+ fbcon_putcs_tl(conp,start,d-start,dx,y);
-+#endif
- y += d - start;
- #else
-- p->dispsw->putcs(conp, p, start, d - start, dy, x);
-+#ifndef CONFIG_UNICON
-+ p->dispsw->putcs(conp, p, start, d - start, dy, x);
-+#else
-+ fbcon_putcs_tl(conp,start,d-start,dy,x);
-+#endif
- x += d - start;
- #endif
- start = d;
-@@ -1615,10 +1818,18 @@
- if (s >= ls && s < le && c == scr_readw(s)) {
- if (d > start) {
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, d - start, dx, y);
-+#else
-+ fbcon_putcs_tl(conp,start,d-start,dx,y);
-+#endif
- y += d - start + 1;
- #else
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, d - start, dy, x);
-+#else
-+ fbcon_putcs_tl(conp,start,d-start,dy,x);
-+#endif
- x += d - start + 1;
- #endif
- start = d + 1;
-@@ -1636,9 +1847,17 @@
- } while (d < le);
- if (d > start)
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, d - start, dx, y);
- #else
-+ fbcon_putcs_tl(conp,start,d-start,dx,y);
-+#endif
-+#else
-+#ifndef CONFIG_UNICON
- p->dispsw->putcs(conp, p, start, d - start, dy, x);
-+#else
-+ fbcon_putcs_tl(conp,start,d-start,dy,x);
-+#endif
- #endif
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- sx++;
-@@ -1660,6 +1879,9 @@
-
- while (count) {
- scr_memcpyw((u16 *)softback_in, p, conp->vc_size_row);
-+#ifdef CONFIG_UNICON
-+ scr_memcpyw((u16 *)softback_in+(fbcon_softback_size>>1),p+(conp->vc_screenbuf_size>>1),conp->vc_size_row);
-+#endif
- count--;
- p = advance_row(p, 1);
- softback_in += conp->vc_size_row;
-@@ -1764,6 +1986,13 @@
- conp->vc_size_row * (b-count)),
- conp->vc_video_erase_char,
- conp->vc_size_row * count);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw((unsigned short *)(conp->vc_origin +
-+ conp->vc_size_row * (b-count) +
-+ conp->vc_screenbuf_size),
-+ conp->vc_video_erase_char & 0xff,
-+ conp->vc_size_row * count);
-+#endif
- return 1;
- }
- #else
-@@ -1879,6 +2108,13 @@
- conp->vc_size_row * t),
- conp->vc_video_erase_char,
- conp->vc_size_row * count);
-+#ifdef CONFIG_UNICON
-+ scr_memsetw((unsigned short *)(conp->vc_origin +
-+ conp->vc_size_row * t +
-+ conp->vc_screenbuf_size),
-+ conp->vc_video_erase_char & 0xff,
-+ conp->vc_size_row * count);
-+#endif
- return 1;
- }
- #else
-@@ -2566,11 +2802,31 @@
- return p->fb_info->fbops->fb_set_cmap(&palette_cmap, 1, unit, p->fb_info);
- }
-
-+#ifdef CONFIG_UNICON
-+/*offset:relative to softback_curr if softback valid in this vc
-+The return pos may exists in buffer pointed by conp->vc_origin or softback_top.
-+I assume the offset is always >=0 in normal case and I use the -offset-1 to mean to get the pos of the second word
-+*/
-+#endif
-+
- static u16 *fbcon_screen_pos(struct vc_data *conp, int offset)
- {
- int line;
- unsigned long p;
--
-+#ifdef CONFIG_UNICON
-+ if (offset < 0) {
-+ offset = -offset - 1;
-+ if (conp->vc_num != fg_console || !softback_lines)
-+ return (u16 *)(conp->vc_origin + offset + conp->vc_screenbuf_size);
-+ line = offset / conp->vc_size_row;
-+ if (line >= softback_lines)
-+ return (u16 *)(conp->vc_origin + offset - softback_lines * conp->vc_size_row + conp->vc_screenbuf_size);
-+ p = softback_curr + offset;
-+ if (p >= softback_end)
-+ p += softback_buf - softback_end;
-+ return (u16 *)(p+fbcon_softback_size);
-+ }
-+#endif
- if (conp->vc_num != fg_console || !softback_lines)
- return (u16 *)(conp->vc_origin + offset);
- line = offset / conp->vc_size_row;
-@@ -2582,6 +2838,10 @@
- return (u16 *)p;
- }
-
-+#ifdef CONFIG_UNICON
-+// pos is a pointer either pointing into softback or (vc_origin--vc_scr_end),
-+// return the pointer to the start of next row ( no matter in vi_origin or softback!)
-+#endif
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- static unsigned long fbcon_getxy(struct vc_data *conp, unsigned long pos, int *py, int *px)
- #else
-@@ -2684,6 +2944,11 @@
- p -= conp->vc_size_row;
- q -= conp->vc_size_row;
- scr_memcpyw((u16 *)q, (u16 *)p, conp->vc_size_row);
-+#ifdef CONFIG_UNICON
-+ scr_memcpyw((u16* )(q+conp->vc_screenbuf_size),
-+ (u16* )(p+fbcon_softback_size),
-+ conp->vc_size_row);
-+#endif
- }
- softback_in = p;
- update_region(unit, conp->vc_origin, logo_lines * conp->vc_cols);
-diff -Nur linux_c860_org/drivers/video/fbmem.c linux/drivers/video/fbmem.c
---- linux_c860_org/drivers/video/fbmem.c 2003-01-14 14:48:09.000000000 +0900
-+++ linux/drivers/video/fbmem.c 2004-06-10 21:09:10.000000000 +0900
-@@ -16,6 +16,8 @@
- * - Added support for ATI w100 on SHARP SL-C700
- * 11-Sep-2002 SHARP
- * - Allocated frame buffer to cache memory on SHARP SL-B500/5600
-+ * 24-Jul-2003 Lineo Solutions, Inc.
-+ * - Added support for TOSHIBA TC6393XB on SHARP SL-6
- */
-
- #include <linux/config.h>
-@@ -145,6 +147,8 @@
- extern int cotulla_fb_init(void);
- extern int w100fb_init(void);
- extern int w100fb_setup(char*);
-+extern int tc6393fb_init(void);
-+extern int tc6393fb_setup(char*);
-
- static struct {
- const char *name;
-@@ -322,6 +326,9 @@
- #ifdef CONFIG_FB_CORGI
- { "w100fb", w100fb_init, w100fb_setup },
- #endif
-+#ifdef CONFIG_FB_TOSA
-+ { "tc6393fb", tc6393fb_init, NULL },
-+#endif
-
- /*
- * Generic drivers that don't use resource management (yet)
-diff -Nur linux_c860_org/drivers/video/font_gb16.h linux/drivers/video/font_gb16.h
---- linux_c860_org/drivers/video/font_gb16.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/font_gb16.h 2004-06-10 21:09:10.000000000 +0900
-@@ -0,0 +1,8180 @@
-+#define max_gb16 261696
-+unsigned char font_gb16[max_gb16] = {
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x30,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x50,0x20,0x0,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,0x3,0x0,0x0,0x0,0x0,0x0,0x0,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x4,0x4,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0xc,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x2,0x2,0x4,0x4,0x9,0x9,0x12,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x4,0x4,0x8,0x8,0x1f,0x20,0x40,0x0,0x8,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x10,0x10,0x20,0x40,0x80,0x0,0xc0,0x40,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x63,0x63,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x0,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,0x4,0x8,0xc,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x60,0x60,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,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,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44,0x88,0x10,0x98,0x98,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x0,0x1,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x98,0x98,0x88,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x4,0x0,
-+0x0,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,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,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x0,0x0,
-+0x0,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x12,0x24,0x48,0x90,0x20,0x40,0x80,0x40,0x20,0x90,0x48,0x24,0x12,0x8,0x4,
-+0x20,0x90,0x48,0x24,0x12,0x9,0x4,0x2,0x4,0x9,0x12,0x24,0x48,0x90,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x4,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x5,0x7,0x0,0x0,0x0,0xc0,0x40,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x7,0x4,0x7,0x0,0x0,0x0,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x84,0x88,0x88,0x90,0x90,0x90,0x90,0x90,0x90,0x88,0x88,0x84,0xfe,0x0,
-+0x0,0xfe,0x42,0x22,0x22,0x12,0x12,0x12,0x12,0x12,0x12,0x22,0x22,0x42,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0xfc,0xf8,0xf0,0xf0,0xe0,0xe0,0xe0,0xe0,0xf0,0xf0,0xf8,0xfc,0xfe,0x0,
-+0x0,0xfe,0x7e,0x3e,0x1e,0x1e,0xe,0xe,0xe,0xe,0x1e,0x1e,0x3e,0x7e,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1,0x1,0x1,0xf,0x1,0x1,0x1,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x10,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x20,0x40,0x80,0x0,0x80,0x40,0x20,0x10,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1f,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x8,0x8,0x4,0x4,0x0,
-+0x0,0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0x8,0x4,0x4,0x2,0x2,0x1,0x0,0x0,0x4,0x4,0x8,0x8,0x8,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,
-+0x0,0x7f,0x20,0x10,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x10,0x20,0x7f,0x0,0x0,0x0,0xfc,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xfc,0x0,0x0,
-+0x0,0x3f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x78,0x0,0x0,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3c,0x0,
-+0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x8,0x7,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0xc0,0x20,0x10,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x0,
-+0x0,0x7,0x18,0x20,0x20,0x40,0x40,0x7f,0x40,0x40,0x40,0x20,0x20,0x18,0x7,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,
-+0x0,0x0,0x0,0x18,0x18,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x41,0xa2,0x14,0x8,0x0,0x0,0x0,0x0,0x0,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,
-+0x2,0x2,0x2,0x2,0x2,0x2,0x4,0x4,0x4,0x4,0x4,0x9,0x9,0x9,0x9,0x9,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x20,0x7f,0x0,0x0,0x0,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x18,0x20,0x20,0x40,0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x60,0x10,0x10,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x7,0x18,0x20,0x20,0x40,0x43,0x43,0x40,0x20,0x20,0x18,0x7,0x0,0x0,0x0,0x0,0x80,0x60,0x10,0x10,0x8,0x8,0x8,0x8,0x10,0x10,0x60,0x80,0x0,0x0,
-+0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x6,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1,0x1,0x7,0x9,0x9,0xa,0xa,0x7,0x2,0x2,0x4,0x24,0x18,0x60,0x90,0x80,0x0,0x0,0x80,0x40,0x40,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x7f,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0xfc,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x18,0x20,0x41,0x41,0x42,0x22,0x1c,0x0,0x7f,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x70,0x88,0x4,0x4,0x4,0x8,0x30,0x0,0xfc,0x0,0xfc,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x38,0x47,0x0,0x38,0x47,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x8,0xf0,0x4,0x8,0xf0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x38,0x40,0x41,0x81,0x81,0x41,0x42,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x84,0x2,0x2,0x2,0x2,0x4,0x38,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3c,0x42,0x41,0x81,0x81,0x41,0x42,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x80,0x0,0x0,0x0,0x0,0x80,0x7e,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x1,0x2,0x7f,0x4,0x4,0x8,0x10,0x10,0x20,0x10,0x20,0x20,0x40,0x40,0xfc,0x80,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x4,0x5,0x6,0x1c,0x64,0x84,0x64,0x1c,0x6,0x5,0x4,0x4,0x0,0x0,0x0,0x18,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x60,0x18,0x0,0x0,
-+0x0,0x30,0xc,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xc,0x30,0x0,0x0,0x0,0x40,0x40,0x40,0xc0,0x70,0x4c,0x42,0x4c,0x70,0xc0,0x40,0x40,0x40,0x0,0x0,
-+0x0,0x0,0x1,0x6,0x18,0x60,0x80,0x60,0x98,0x66,0x19,0x6,0x1,0x0,0x0,0x0,0x18,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x60,0x98,0x60,0x18,0x0,
-+0x30,0xc,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xc,0x33,0xc,0x30,0x0,0x0,0x0,0x0,0xc0,0x30,0xc,0x2,0xc,0x32,0xcc,0x30,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3c,0x42,0x81,0x81,0x81,0x42,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x84,0x2,0x2,0x2,0x84,0x78,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,
-+0x0,0x1,0x3,0x5,0x9,0x11,0x1,0x1,0x1,0x1,0x3,0x4,0x4,0x4,0x3,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x40,0x80,0x0,
-+0x0,0x3,0x4,0x4,0x4,0x3,0x1,0x1,0x3f,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x80,0x40,0x40,0x40,0x80,0x0,0x0,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x30,0x48,0x48,0x30,0x0,0x0,0x0,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,0x1,0x1,0x2,0x2,0x2,0x4,0x0,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,0x2,0x2,0x4,0x4,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x20,0x40,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x53,0x24,0x8,0x8,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x8,0x4,0x3,0x0,0x0,0xf4,0xc,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0x8,0xf0,0x0,
-+0x1,0xf,0x11,0x21,0x21,0x21,0x11,0xf,0x1,0x1,0x1,0x21,0x21,0x31,0x2f,0x1,0x0,0xe8,0x18,0x8,0x8,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x8,0x10,0xe0,0x0,
-+0x0,0x40,0x27,0x18,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x18,0x27,0x40,0x0,0x0,0x2,0xe4,0x18,0x8,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x18,0xe4,0x2,0x0,
-+0x0,0x0,0xf,0x10,0x20,0x40,0x40,0x41,0x41,0x42,0x42,0x24,0x14,0xf,0x10,0x20,0x10,0x20,0xe8,0x58,0x48,0x80,0x80,0x0,0x0,0x0,0x0,0x8,0x10,0xe0,0x0,0x0,
-+0x1,0x2,0x2,0x2,0x2,0x2,0x3f,0x2,0x2,0x2,0x3a,0x46,0x42,0x45,0x38,0x0,0xc0,0x20,0x20,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf8,0x0,
-+0x0,0x30,0x48,0x48,0x48,0x49,0x32,0x4,0x8,0x11,0x22,0x42,0x82,0x2,0x1,0x0,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x8c,0x52,0x52,0x52,0x52,0x8c,0x0,
-+0x7,0x8,0x8,0x4,0x2,0x3,0x4,0x8,0x8,0x5,0x2,0x1,0x4,0x8,0x8,0x7,0x80,0x40,0xc0,0x0,0x0,0x0,0x80,0x40,0x40,0x80,0x0,0x0,0x80,0x40,0x40,0x80,
-+0x60,0x21,0x31,0x31,0x29,0x29,0x29,0x29,0x25,0x25,0x25,0x25,0x23,0x23,0xa1,0x41,0x80,0x40,0x0,0x0,0x18,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x18,0x0,0x7e,0x0,
-+0x1,0x1,0x2,0x2,0x2,0x4,0xfc,0x40,0x30,0x8,0x8,0x11,0x16,0x18,0x20,0x0,0x0,0x0,0x80,0x80,0x80,0x40,0x7e,0x4,0x18,0x20,0x20,0x90,0x50,0x30,0x8,0x0,
-+0x1,0x1,0x3,0x3,0x3,0x7,0xff,0x3f,0x1f,0xf,0xf,0x1f,0x1e,0x18,0x20,0x0,0x0,0x0,0x80,0x80,0x80,0xc0,0xfe,0xf8,0xf0,0xe0,0xe0,0xf0,0xf0,0x30,0x8,0x0,
-+0x0,0x7,0x18,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x18,0x7,0x0,0x0,0x0,0xc0,0x30,0x8,0x8,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x30,0xc0,0x0,0x0,
-+0x0,0x7,0x1f,0x3f,0x3f,0x7f,0x7f,0x7f,0x7f,0x7f,0x3f,0x3f,0x1f,0x7,0x0,0x0,0x0,0xc0,0xf0,0xf8,0xf8,0xfc,0xfc,0xfc,0xfc,0xfc,0xf8,0xf8,0xf0,0xc0,0x0,0x0,
-+0x0,0x7,0x18,0x27,0x28,0x50,0x50,0x50,0x50,0x50,0x28,0x27,0x18,0x7,0x0,0x0,0x0,0xc0,0x30,0xc8,0x28,0x14,0x14,0x14,0x14,0x14,0x28,0xc8,0x30,0xc0,0x0,0x0,
-+0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1,0x0,0x0,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,
-+0x1,0x3,0x7,0xf,0x1f,0x3f,0x7f,0xff,0x7f,0x3f,0x1f,0xf,0x7,0x3,0x1,0x0,0x0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x0,0x0,
-+0x0,0x7f,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7f,0x0,0x0,0x0,0xfc,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x0,0x0,
-+0x0,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x0,0x0,0x0,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0x0,0x0,
-+0x0,0x1,0x2,0x4,0x4,0x8,0x8,0x10,0x10,0x20,0x20,0x40,0x40,0xff,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x8,0x4,0x4,0xfe,0x0,0x0,
-+0x0,0x1,0x3,0x7,0x7,0xf,0xf,0x1f,0x1f,0x3f,0x3f,0x7f,0x7f,0xff,0x0,0x0,0x0,0x0,0x80,0xc0,0xc0,0xe0,0xe0,0xf0,0xf0,0xf8,0xf8,0xfc,0xfc,0xfe,0x0,0x0,
-+0x0,0x43,0x23,0x10,0x8,0x4,0x2,0x61,0x62,0x4,0x8,0x10,0x23,0x43,0x80,0x0,0x0,0x4,0x8,0x10,0x20,0x40,0x80,0xc,0x8c,0x40,0x20,0x10,0x8,0x4,0x2,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x38,0xfe,0x38,0x20,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x8,0x38,0xff,0x38,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x3,0x3,0x7,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x80,0x80,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x7,0x3,0x3,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x80,0x80,0x0,0x0,
-+0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0xfe,0xfe,0x0,0x0,0x0,0xfe,0xfe,0xfe,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x6,0xa,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,
-+0x0,0xf,0x10,0x10,0x0,0x0,0x0,0x1,0x6,0x8,0x10,0x10,0x10,0x10,0x1f,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x90,0x0,
-+0x0,0xf,0x10,0x10,0x0,0x0,0x1,0x6,0x1,0x0,0x0,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x10,0x0,
-+0x0,0x3,0x5,0x5,0x5,0x9,0x9,0x9,0x11,0x11,0x1f,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x8,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x17,0x18,0x10,0x0,0x0,0x10,0x10,0xf,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x10,0x0,
-+0x0,0xf,0x10,0x10,0x10,0x10,0x10,0x17,0x18,0x10,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x10,0x0,
-+0x0,0x1f,0x10,0x10,0x0,0x1,0x1,0x1,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,0xc0,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,
-+0x0,0xf,0x10,0x10,0x10,0x10,0x9,0x6,0x9,0x10,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x10,0x0,
-+0x0,0xf,0x10,0x10,0x10,0x10,0x10,0x11,0xe,0x0,0x0,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x10,0x0,
-+0x0,0x23,0x64,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x23,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xc8,0x0,
-+0x0,0x20,0x61,0xa2,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x90,0x0,
-+0x0,0x23,0x64,0xa4,0x20,0x20,0x20,0x20,0x21,0x22,0x24,0x24,0x24,0x24,0x27,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x20,0x20,0xe4,0x0,
-+0x0,0x23,0x64,0xa4,0x20,0x20,0x20,0x21,0x20,0x20,0x20,0x24,0x24,0x24,0x23,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x40,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0xc4,0x0,
-+0x0,0x20,0x61,0xa1,0x21,0x22,0x22,0x22,0x24,0x24,0x27,0x20,0x20,0x20,0x20,0x0,0x0,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xf0,0x40,0x40,0x40,0x48,0x0,
-+0x0,0x27,0x64,0xa4,0x24,0x24,0x24,0x25,0x26,0x24,0x20,0x20,0x24,0x24,0x23,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0xc4,0x0,
-+0x0,0x23,0x64,0xa4,0x24,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x24,0x24,0x23,0x0,0x0,0xc0,0x20,0x20,0x20,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0xc4,0x0,
-+0x0,0x27,0x64,0xa4,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0xf0,0x10,0x10,0x20,0x40,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x84,0x0,
-+0x0,0x23,0x64,0xa4,0x24,0x24,0x22,0x21,0x22,0x24,0x24,0x24,0x24,0x24,0x23,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x40,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0xc4,0x0,
-+0x0,0x23,0x64,0xa4,0x24,0x24,0x24,0x24,0x23,0x20,0x20,0x24,0x24,0x24,0x23,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x60,0xa0,0x20,0x20,0x20,0x20,0x20,0xc4,0x0,
-+0x0,0x38,0x45,0x45,0x5,0x5,0x5,0x19,0x21,0x41,0x41,0x41,0x45,0x45,0x7c,0x0,0x0,0xe0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xe4,0x0,
-+0x0,0x40,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x40,0x0,0x0,0x4,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x4,0x0,
-+0x0,0x40,0x87,0x88,0x88,0x80,0x80,0x80,0x80,0x83,0x84,0x88,0x88,0x8f,0x40,0x0,0x0,0x4,0x82,0x42,0x42,0x42,0x42,0x42,0x82,0x2,0x2,0x42,0x42,0xc2,0x4,0x0,
-+0x0,0x40,0x87,0x88,0x88,0x80,0x80,0x83,0x80,0x80,0x80,0x88,0x88,0x87,0x40,0x0,0x0,0x4,0x82,0x42,0x42,0x42,0x82,0x2,0x82,0x42,0x42,0x42,0x42,0x82,0x4,0x0,
-+0x0,0x41,0x82,0x82,0x82,0x84,0x84,0x88,0x88,0x8f,0x80,0x80,0x80,0x80,0x40,0x0,0x0,0x84,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xe2,0x82,0x82,0x82,0x82,0x4,0x0,
-+0x0,0x40,0x8f,0x88,0x88,0x88,0x8b,0x8c,0x88,0x80,0x80,0x88,0x88,0x87,0x40,0x0,0x0,0x4,0xc2,0x2,0x2,0x2,0x82,0x42,0x42,0x42,0x42,0x42,0x42,0x82,0x4,0x0,
-+0x0,0x40,0x87,0x88,0x88,0x88,0x88,0x8b,0x8c,0x88,0x88,0x88,0x88,0x87,0x40,0x0,0x0,0x4,0x82,0x42,0x42,0x2,0x2,0x82,0x42,0x42,0x42,0x42,0x42,0x82,0x4,0x0,
-+0x0,0x40,0x8f,0x88,0x88,0x80,0x80,0x80,0x80,0x81,0x81,0x81,0x81,0x81,0x40,0x0,0x0,0x4,0xe2,0x22,0x22,0x42,0x82,0x82,0x82,0x2,0x2,0x2,0x2,0x2,0x4,0x0,
-+0x0,0x40,0x87,0x88,0x88,0x88,0x88,0x87,0x88,0x88,0x88,0x88,0x88,0x87,0x40,0x0,0x0,0x4,0x82,0x42,0x42,0x42,0x42,0x82,0x42,0x42,0x42,0x42,0x42,0x82,0x4,0x0,
-+0x0,0x40,0x87,0x88,0x88,0x88,0x88,0x88,0x87,0x80,0x80,0x88,0x88,0x87,0x40,0x0,0x0,0x4,0x82,0x42,0x42,0x42,0x42,0xc2,0x42,0x42,0x42,0x42,0x42,0x82,0x4,0x0,
-+0x0,0x40,0x88,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x88,0x40,0x0,0x0,0x4,0xe2,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xe2,0x4,0x0,
-+0x0,0x40,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x40,0x0,0x0,0x4,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x4,0x0,
-+0x0,0x40,0x91,0x92,0x92,0x90,0x90,0x90,0x90,0x91,0x92,0x92,0x92,0x93,0x40,0x0,0x0,0x4,0xe2,0x12,0x12,0x12,0x12,0x22,0xc2,0x2,0x2,0x12,0x12,0xf2,0x4,0x0,
-+0x0,0x40,0x91,0x92,0x92,0x90,0x90,0x90,0x90,0x90,0x90,0x92,0x92,0x91,0x40,0x0,0x0,0x4,0xe2,0x12,0x12,0x12,0x22,0xc2,0x22,0x12,0x12,0x12,0x12,0xe2,0x4,0x0,
-+0x0,0x40,0x90,0x90,0x90,0x90,0x91,0x91,0x92,0x92,0x93,0x90,0x90,0x90,0x40,0x0,0x0,0x4,0x62,0xa2,0xa2,0xa2,0x22,0x22,0x22,0x22,0xfa,0x22,0x22,0x22,0x4,0x0,
-+0x0,0x40,0x93,0x92,0x92,0x92,0x92,0x93,0x92,0x90,0x90,0x92,0x92,0x91,0x40,0x0,0x0,0x4,0xf2,0x2,0x2,0x2,0xe2,0x12,0x12,0x12,0x12,0x12,0x12,0xe2,0x4,0x0,
-+0x0,0x40,0x91,0x92,0x92,0x92,0x92,0x92,0x93,0x92,0x92,0x92,0x92,0x91,0x40,0x0,0x0,0x4,0xe2,0x12,0x12,0x2,0x2,0xe2,0x12,0x12,0x12,0x12,0x12,0xe2,0x4,0x0,
-+0x0,0x40,0x93,0x92,0x92,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x40,0x0,0x0,0x4,0xf2,0x12,0x12,0x22,0x42,0x42,0x42,0x82,0x82,0x82,0x82,0x82,0x4,0x0,
-+0x0,0x40,0x91,0x92,0x92,0x92,0x92,0x91,0x92,0x92,0x92,0x92,0x92,0x91,0x40,0x0,0x0,0x4,0xe2,0x12,0x12,0x12,0x12,0xe2,0x12,0x12,0x12,0x12,0x12,0xe2,0x4,0x0,
-+0x0,0x40,0x91,0x92,0x92,0x92,0x92,0x92,0x91,0x90,0x90,0x92,0x92,0x91,0x40,0x0,0x0,0x4,0xe2,0x12,0x12,0x12,0x12,0x32,0xd2,0x12,0x12,0x12,0x12,0xe2,0x4,0x0,
-+0x0,0x40,0x9c,0xa2,0xa2,0x82,0x82,0x84,0x88,0x90,0xa0,0xa2,0xa2,0xbe,0x40,0x0,0x0,0x4,0x72,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x72,0x4,0x0,
-+0x7,0x18,0x20,0x41,0x41,0x81,0x81,0x81,0x81,0x81,0x41,0x41,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0x4,0x4,0x2,0x2,0x2,0x2,0x2,0x4,0x4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x80,0x80,0x81,0x82,0x84,0x44,0x47,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x44,0x42,0x42,0x82,0x2,0x2,0x44,0xc4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x80,0x80,0x83,0x80,0x80,0x44,0x47,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x44,0x42,0xc2,0x2,0xc2,0x42,0x44,0xc4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x43,0x45,0x85,0x85,0x89,0x89,0x8f,0x41,0x41,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0x4,0x4,0x2,0x2,0x2,0x2,0xc2,0x4,0x4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x84,0x84,0x87,0x80,0x80,0x44,0x47,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x4,0x2,0x2,0xc2,0x42,0x42,0x44,0xc4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x84,0x84,0x87,0x84,0x84,0x44,0x47,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x44,0x2,0x2,0xc2,0x42,0x42,0x44,0xc4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x80,0x80,0x80,0x81,0x81,0x41,0x41,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x44,0x42,0x82,0x82,0x2,0x2,0x4,0x4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x84,0x84,0x83,0x84,0x84,0x44,0x47,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x44,0x42,0x42,0x82,0x42,0x42,0x44,0xc4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x47,0x44,0x84,0x84,0x87,0x80,0x80,0x44,0x47,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xc4,0x44,0x42,0x42,0xc2,0x42,0x42,0x44,0xc4,0x8,0x30,0xc0,0x0,
-+0x7,0x18,0x20,0x4b,0x4a,0x8a,0x8a,0x8a,0x8a,0x8a,0x4a,0x4b,0x20,0x18,0x7,0x0,0xc0,0x30,0x8,0xe4,0x24,0x22,0x22,0x22,0x22,0x22,0x24,0xe4,0x8,0x30,0xc0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x20,0x40,0x80,0x80,0x80,0x80,0xbf,0x80,0x80,0x80,0x80,0x80,0x40,0x20,0x0,0x0,0x8,0x4,0x2,0x2,0x2,0x12,0xfa,0x2,0x2,0x2,0x2,0x2,0x4,0x8,0x0,
-+0x0,0x20,0x40,0x80,0x9f,0x80,0x80,0x80,0x80,0x80,0xbf,0x80,0x80,0x40,0x20,0x0,0x0,0x8,0x4,0x22,0xf2,0x2,0x2,0x2,0x2,0x12,0xfa,0x2,0x2,0x4,0x8,0x0,
-+0x0,0x20,0x40,0x9f,0x80,0x80,0x80,0x8f,0x80,0x80,0x80,0xbf,0x80,0x40,0x20,0x0,0x0,0x8,0x24,0xf2,0x2,0x2,0x42,0xe2,0x2,0x2,0x12,0xfa,0x2,0x4,0x8,0x0,
-+0x0,0x20,0x40,0x80,0xbf,0xa4,0xa4,0xa4,0xa4,0xa4,0xbf,0x80,0x80,0x40,0x20,0x0,0x0,0x8,0x4,0x2,0xfa,0x4a,0x4a,0x4a,0x4a,0x4a,0xfa,0x2,0x2,0x4,0x8,0x0,
-+0x0,0x20,0x40,0x9f,0x82,0x82,0x82,0x9f,0x84,0x84,0x84,0x84,0xbf,0x40,0x20,0x0,0x0,0x8,0x24,0xf2,0x2,0x2,0x22,0xf2,0x22,0x22,0x22,0x22,0xfa,0x4,0x8,0x0,
-+0x0,0x20,0x40,0x82,0x81,0x80,0xbf,0x80,0x80,0x84,0x84,0x88,0x90,0x40,0x20,0x0,0x0,0x8,0x4,0x2,0x2,0x12,0xfa,0x2,0x2,0x42,0x22,0x12,0x12,0x4,0x8,0x0,
-+0x0,0x20,0x42,0x82,0x82,0x82,0x82,0x83,0xbe,0x82,0x82,0x82,0x82,0x41,0x20,0x0,0x0,0x8,0x4,0x2,0x2,0x12,0x7a,0x82,0x2,0x2,0x2,0x22,0x22,0xe4,0x8,0x0,
-+0x0,0x20,0x40,0x84,0x84,0x84,0x84,0x84,0x88,0x88,0x90,0xa0,0x80,0x40,0x20,0x0,0x0,0x8,0x84,0x82,0x82,0x82,0x82,0x82,0x42,0x22,0x1a,0x12,0x2,0x4,0x8,0x0,
-+0x0,0x20,0x42,0x82,0x82,0x9f,0x82,0x82,0x82,0x84,0x84,0x88,0x90,0x40,0x20,0x0,0x0,0x8,0x4,0x2,0x42,0xe2,0x42,0x42,0x42,0x42,0x4a,0x4a,0x3a,0x4,0x8,0x0,
-+0x0,0x20,0x41,0x81,0x81,0x81,0xbf,0x81,0x81,0x81,0x81,0x81,0x81,0x40,0x20,0x0,0x0,0x8,0x4,0x2,0x2,0x12,0xfa,0x2,0x2,0x2,0x2,0x2,0x2,0x4,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,
-+0x0,0xe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xe,0x0,0x0,0xe0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,
-+0x0,0x3b,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x3b,0x0,0x0,0xb8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xb8,0x0,
-+0x0,0x77,0x22,0x22,0x22,0x21,0x21,0x21,0x21,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x1c,0x8,0x8,0x8,0x10,0x10,0x10,0x10,0xa0,0xa0,0xa0,0xa0,0x40,0x40,0x0,
-+0x0,0x70,0x20,0x10,0x10,0x8,0x8,0x8,0x4,0x4,0x4,0x2,0x2,0x1,0x1,0x0,0x0,0x1c,0x8,0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x40,0x80,0x80,0x0,0x0,0x0,
-+0x0,0x71,0x20,0x20,0x20,0x11,0x11,0x11,0x11,0xa,0xa,0xa,0xa,0x4,0x4,0x0,0x0,0xdc,0x88,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x1c,0x0,
-+0x0,0xe3,0x41,0x41,0x41,0x22,0x22,0x22,0x22,0x14,0x14,0x14,0x14,0x8,0x8,0x0,0x0,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x7e,0x0,
-+0x0,0xe3,0x41,0x41,0x41,0x22,0x22,0x22,0x22,0x14,0x14,0x14,0x14,0x8,0x8,0x0,0x0,0xfe,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0xfe,0x0,
-+0x0,0xee,0x44,0x42,0x42,0x41,0x40,0x40,0x40,0x40,0x41,0x41,0x42,0x44,0xee,0x0,0x0,0xe,0x4,0x8,0x8,0x10,0xa0,0x40,0xa0,0xa0,0x10,0x10,0x8,0x4,0xe,0x0,
-+0x0,0x70,0x20,0x10,0x8,0x4,0x2,0x1,0x2,0x2,0x4,0x8,0x10,0x20,0x70,0x0,0x0,0x1c,0x8,0x10,0x20,0x40,0x80,0x0,0x80,0x80,0x40,0x20,0x10,0x8,0x1c,0x0,
-+0x0,0xe0,0x40,0x20,0x11,0xa,0xa,0x4,0xa,0xa,0x11,0x11,0x20,0x40,0xe0,0x0,0x0,0xee,0x44,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x84,0x44,0xee,0x0,
-+0x0,0xe0,0x40,0x20,0x11,0xa,0xa,0x4,0xa,0xa,0x11,0x11,0x20,0x40,0xe0,0x0,0x0,0xfe,0x54,0x94,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x94,0x54,0xfe,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x2,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x3f,0x4,0x4,0x4,0x4,0x3f,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x40,0x40,0x78,0xc0,0x40,0x40,0x40,0x78,0xc0,0x40,0x40,0x40,0x0,0x0,
-+0x0,0x38,0x10,0x8,0x4,0x2,0x2,0x1,0x1,0xf,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x38,0x10,0x20,0x40,0x80,0x80,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x80,0x0,
-+0x0,0x18,0x24,0x24,0x24,0x24,0x24,0x19,0x2,0x4,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x60,0x90,0x90,0x90,0x90,0x90,0x60,
-+0x0,0xf,0x10,0x10,0x10,0x10,0xb,0x4,0x1c,0x22,0x41,0x40,0x40,0x21,0x1e,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x70,0x20,0xa0,0x44,0xa4,0x18,0x0,
-+0x10,0x10,0x10,0x20,0x20,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x10,0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,0x10,0xc,
-+0x60,0x10,0x8,0x4,0x4,0x2,0x2,0x2,0x2,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x1,0x21,0x11,0x9,0x5,0x1,0x2,0x4,0x8,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x10,0x20,0x40,0x0,0x80,0x40,0x20,0x10,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1f,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,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,0x2,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x1,0x3,0x5,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x0,0x0,0x0,0x3,0x4,0x8,0x10,0x10,0x10,0x1f,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0xe0,0x0,0x0,0x0,0x0,0x10,0x10,0xf0,0x0,
-+0x0,0xf,0x10,0x10,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x10,0x10,0xf,0x0,0x0,0xe0,0x10,0x10,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x1,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x3f,0x0,0x0,0x3,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xe0,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x17,0x18,0x10,0x0,0x0,0x0,0x10,0x10,0xf,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x17,0x18,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0xc0,0x20,0x10,0x10,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x1f,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x2,0x2,0x2,0x0,0x0,0xf0,0x10,0x10,0x20,0x20,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x10,0x8,0x7,0x8,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x20,0xc0,0x20,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x10,0x10,0x8,0x7,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x30,0xd0,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x30,0x30,0x0,0x0,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,0x0,0x30,0x30,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3,0xc,0x30,0x40,0x30,0xc,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x30,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x30,0xc,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x60,0x18,0x6,0x1,0x0,0x0,0x0,0x0,0x0,0x1,0x6,0x18,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x60,0x18,0x4,0x18,0x60,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x18,0x24,0x42,0x42,0x4,0x8,0x8,0x8,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x18,0x20,0x46,0x49,0x48,0x48,0x48,0x49,0x46,0x20,0x18,0x7,0x0,0x0,0x0,0xc0,0x20,0x10,0x90,0x88,0x88,0x88,0x88,0x90,0x90,0x64,0x8,0xf0,0x0,0x0,
-+0x0,0x1,0x2,0x2,0x4,0x4,0x8,0xf,0x10,0x10,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0xe0,0x10,0x10,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x10,0x10,0x20,0xc0,0x20,0x10,0x10,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0xf,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xfc,0x4,0x4,0x0,0x20,0xe0,0x20,0x0,0x4,0x4,0xfc,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xfc,0x4,0x4,0x0,0x20,0xe0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1f,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x1f,0x0,0x0,0x0,0x0,0x0,0xd0,0x30,0x10,0x0,0x0,0x0,0x38,0x10,0x10,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x5,0x2,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x71,0x21,0x22,0x24,0x38,0x24,0x22,0x21,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0xc0,0x60,0x50,0x48,0x44,0x42,0x41,0x40,0x40,0x40,0xe0,0x0,0x0,0x0,0x0,0x0,0x6,0xc,0x14,0x24,0x44,0x84,0x4,0x4,0x4,0x4,0xe,0x0,0x0,0x0,0x0,
-+0x0,0x60,0x30,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0x8,0x88,0x48,0x28,0x18,0x8,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x20,0x20,0x20,0x20,0x11,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x8,0x8,0x8,0x8,0x8,0x90,0x60,0xc0,0x30,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x24,0x22,0x21,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x20,0xc0,0x0,0x0,0x0,0x80,0x70,0x0,0x0,0x0,0x0,
-+0x0,0xf,0x10,0x20,0x20,0x10,0xf,0x0,0x0,0x20,0x30,0x2f,0x0,0x0,0x0,0x0,0x0,0xe8,0x18,0x8,0x0,0x0,0xe0,0x10,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x41,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x10,0x10,0x8,0x8,0x4,0x4,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0xe3,0x41,0x41,0x41,0x22,0x22,0x22,0x14,0x14,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x8e,0x4,0x4,0x4,0x88,0x88,0x88,0x50,0x50,0x20,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x10,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x10,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x10,0x20,0x40,0x80,0x0,0x80,0x40,0x20,0x10,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x10,0x8,0x4,0x2,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x20,0x20,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xe,0x0,0x0,
-+0x0,0x40,0x20,0x10,0x8,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0x8,0x4,0x0,0x0,
-+0x0,0xe0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x2,0x2,0x4,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x10,0x10,0x8,0x8,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0xf,0x10,0x0,0xf,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x40,0xc0,0x40,0x50,0xa0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x8,0x8,0xb,0xc,0x8,0x8,0x8,0xc,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x0,0x0,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,0x20,0x20,0x60,0xa0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0xf,0x10,0x10,0x1f,0x10,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0xc0,0x0,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x2,0x2,0x2,0xf,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xa0,0x60,0x20,0x20,0x20,0x60,0xa0,0x20,0x20,0x40,0x80,0x0,
-+0x0,0x8,0x8,0x8,0x8,0xb,0xc,0x8,0x8,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x5,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x8,0x8,0x8,0x9,0xa,0xd,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x40,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1a,0xd,0x9,0x9,0x9,0x9,0x9,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x30,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1b,0xc,0x8,0x8,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1b,0xc,0x8,0x8,0x8,0xc,0xb,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3,0x4,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa0,0x60,0x20,0x20,0x20,0x60,0xa0,0x20,0x20,0x20,0x30,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x5,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7,0x8,0x8,0x7,0x0,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x0,0x80,0x40,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x2,0x2,0x2,0xf,0x2,0x2,0x2,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0xc,0x4,0x4,0x4,0x4,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x8,0x8,0x4,0x4,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x11,0x9,0x9,0xa,0xa,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x20,0x20,0xa0,0xa0,0x40,0x40,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x40,0x80,0x0,0x80,0x40,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x4,0x2,0x1,0x1,0x2,0x2,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0xf,0x8,0x0,0x1,0x2,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x40,0x80,0x0,0x0,0x40,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0x10,0x8,0x8,0x8,0x8,0x8,0x4,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x40,0x20,0x20,0x20,0x20,0x20,0x10,0x8,0x10,0x20,0x20,0x20,0x20,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x4,0x4,0x25,0x1e,0x4,0x7,0xc,0x14,0x23,0x22,0x25,0x18,0x0,0x0,0x0,0x0,0x0,0x20,0xc0,0x0,0x80,0xe0,0x90,0x88,0x8,0x8,0x10,0x20,0xc0,
-+0x4,0x4,0x4,0x47,0x3c,0x4,0x4,0x1f,0x24,0x42,0x42,0x41,0x22,0x1c,0x0,0x0,0x0,0x0,0x60,0x80,0x0,0x40,0x40,0xf0,0x48,0x84,0x84,0x4,0x84,0x8,0x30,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x10,0x18,0x10,0x10,0x10,0x10,0x11,0xa,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x10,0x8,0x18,0x10,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x20,0x30,0x20,0x20,0x20,0x20,0x20,0x21,0x22,0x14,0xc,0x0,0x0,0x0,0x0,0x0,0x20,0x10,0x8,0x4,0x4,0xc,0x8,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0xf,0x1,0x2,0x0,0x11,0xe,0x0,0x0,0x0,0x0,0x1,0x2,0xc,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0xc0,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0xf,0x0,0x1,0x0,0x21,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xc,0x0,0x0,0x80,0x40,0x80,0x0,0xe0,0x10,0x10,0x10,0x10,0x20,0x20,0xc0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x0,0x1,0x0,0x3,0x1c,0x1,0x3,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0xc0,0x80,0x0,0x0,0x80,0x80,0x40,0x38,0x0,
-+0x0,0xf,0x0,0x1,0x0,0x3,0x3c,0x1,0x2,0x3,0x4,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x80,0x0,0x0,0xc0,0x80,0x0,0x0,0x80,0x80,0x80,0x80,0x40,0x3c,0x0,
-+0x0,0x0,0x0,0x4,0x4,0x4,0x3f,0x4,0x7,0x4,0xc,0x14,0x34,0x15,0x8,0x0,0x0,0x0,0x0,0x0,0x10,0x8,0x4,0x8,0xe0,0x10,0x8,0x8,0x8,0x30,0xc0,0x0,
-+0x0,0x4,0x4,0x7,0x3c,0x4,0x5,0x6,0xc,0x14,0x24,0x64,0x35,0xc,0x4,0x0,0x0,0x0,0x10,0x88,0x4,0x18,0xc0,0x20,0x10,0x8,0x8,0x8,0x10,0xe0,0x0,0x0,
-+0x0,0x2,0x2,0x2,0x2,0x43,0x3c,0x4,0x4,0x4,0x8,0x8,0x10,0x22,0x41,0x0,0x0,0x0,0x0,0x20,0x10,0xc8,0x44,0x54,0x4c,0x40,0x40,0x80,0x80,0x80,0x0,0x0,
-+0x0,0x4,0x4,0x4,0x4,0x87,0x78,0x8,0x8,0x8,0x10,0x11,0x21,0x45,0x82,0x0,0x8,0x4,0x12,0x48,0x24,0x90,0x88,0xa8,0x98,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x2,0x3,0x1d,0x0,0x3,0x1c,0x0,0x3,0x0,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x60,0x80,0x0,0xe0,0x80,0x40,0x40,0xe0,0x20,0x0,0x0,0x0,0xc0,0x0,
-+0x4,0x4,0x4,0x7,0x3a,0x1,0x7,0x38,0x0,0x7,0x0,0x20,0x20,0x10,0xf,0x0,0x0,0x8,0xc4,0x12,0x8,0xc4,0x0,0x80,0x80,0xc0,0x40,0x0,0x0,0x0,0x80,0x0,
-+0x0,0x1,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x8,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,
-+0x0,0x2,0x1,0x1,0x2,0x4,0x8,0x10,0x20,0x10,0x8,0x4,0x2,0x1,0x1,0x0,0x0,0x8,0x4,0x22,0x10,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x10,0x10,0x20,0x20,0x27,0x40,0x40,0x40,0x50,0x50,0x20,0x20,0x1,0x0,0x0,0x80,0x40,0x40,0x40,0x78,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x0,0x0,
-+0x0,0x0,0x10,0x10,0x20,0x20,0x27,0x40,0x40,0x40,0x50,0x50,0x20,0x20,0x1,0x0,0x8,0x84,0x52,0x48,0x44,0x70,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x0,0x0,
-+0x0,0x0,0x10,0xf,0x0,0x3,0x4,0x0,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,
-+0x0,0x0,0x10,0xf,0x0,0x3,0x4,0x0,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0x8,0xe4,0x82,0x10,0x8,0x4,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,
-+0x0,0x4,0x2,0x2,0x3f,0x1,0x0,0x0,0x1,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x30,0xc0,0x0,0x0,0x80,0x40,0xe0,0x20,0x0,0x0,0x0,0x0,0xe0,0x0,
-+0x0,0x4,0x2,0x2,0x3f,0x1,0x0,0x0,0x1,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x8,0x4,0xd2,0x8,0x4,0x80,0x40,0xe0,0x20,0x0,0x0,0x0,0x0,0xe0,0x0,
-+0x0,0x18,0xc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x9,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x20,0x40,0x80,0x0,0x0,
-+0x0,0x18,0xc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x9,0x6,0x0,0x0,0x10,0x8,0x24,0x10,0x8,0x0,0x0,0x0,0x0,0x10,0x20,0x40,0x80,0x0,0x0,
-+0x0,0x3,0x1,0x1,0x7f,0x1,0x7,0x9,0x9,0x9,0x6,0x0,0x1,0x1,0x2,0xc,0x0,0x0,0x0,0x0,0xf8,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,
-+0x3,0x1,0x1,0x1,0x7f,0x1,0x7,0x9,0x9,0x9,0x6,0x0,0x1,0x1,0x2,0xc,0x8,0x4,0x12,0x8,0xf4,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x10,0x8,0x8,0xb,0x7c,0x8,0x8,0x8,0x9,0x8,0x8,0x8,0x7,0x0,0x0,0x80,0x40,0x40,0x40,0xfc,0x40,0x40,0x40,0x40,0x40,0x80,0x0,0x0,0xf0,0x0,
-+0x0,0x0,0x10,0x8,0x8,0xb,0x7c,0x8,0x8,0x8,0x9,0x8,0x8,0x8,0x7,0x0,0x8,0x84,0x52,0x48,0x44,0xf0,0x40,0x40,0x40,0x40,0x40,0x80,0x0,0x0,0xf0,0x0,
-+0x0,0x10,0xf,0x1,0x2,0x4,0x8,0x1f,0x22,0x44,0x4,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,
-+0x0,0x10,0xf,0x1,0x2,0x4,0x8,0x1f,0x22,0x44,0x4,0x4,0x2,0x1,0x0,0x0,0x8,0x24,0x92,0x8,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,
-+0x0,0x4,0x4,0x47,0x3c,0x9,0x8,0x8,0x10,0x10,0x12,0x22,0x21,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x30,0x40,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,
-+0x0,0x4,0x4,0x47,0x3c,0x9,0x8,0x8,0x10,0x10,0x12,0x22,0x21,0x40,0x0,0x0,0x8,0x4,0x12,0x8,0x4,0xe0,0x30,0x40,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,
-+0x0,0x2,0x2,0x2,0x3,0x7e,0x4,0x7,0x4,0xc,0x8,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x80,0xc0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x20,0x20,0xc0,0x0,
-+0x0,0x4,0x4,0x5,0x7,0x7c,0x8,0xb,0xc,0x18,0x10,0x0,0x0,0x0,0x0,0x3,0x0,0x8,0x4,0x12,0x88,0x4,0x0,0xc0,0x20,0x10,0x10,0x10,0x20,0x20,0xc0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x8,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x20,0x40,0x80,0x0,
-+0x0,0x0,0x0,0x1,0x6,0x78,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0xc,0xf0,0x40,0x0,0x0,0x0,0x0,0x0,0x1,0xe,0x0,0x0,0x8,0x4,0x12,0xc8,0x24,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7f,0x21,0x2,0x4,0x4,0x4,0x4,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x8,0xfc,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7f,0x21,0x2,0x4,0x4,0x4,0x4,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x8,0xfc,0xc0,0x8,0x4,0x12,0x8,0x4,0x0,0x0,0x0,0xf0,0x0,
-+0x0,0x0,0x2,0x1,0x1,0x1,0x1,0x1,0x6,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,
-+0x0,0x0,0x2,0x1,0x1,0x1,0x1,0x1,0x6,0x8,0x10,0x10,0x10,0x8,0x7,0x0,0x8,0x4,0x12,0x8,0x4,0x30,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,
-+0x0,0x0,0xc,0x4,0x7,0x7c,0x24,0x8,0x8,0x10,0x10,0x23,0x44,0x4,0x3,0x0,0x0,0x0,0x20,0x10,0x8,0x18,0x40,0x40,0x40,0x40,0x40,0xe0,0x50,0x48,0x84,0x0,
-+0x0,0x20,0x10,0x10,0x13,0x20,0x20,0x20,0x40,0x4a,0x4a,0x52,0x51,0x60,0x40,0x0,0x0,0x0,0x0,0x1c,0xe8,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,
-+0x0,0x2,0x1,0x21,0x11,0x17,0x19,0x11,0x31,0x4a,0x4a,0x44,0x44,0x4a,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x8,0x4,0x4,0x4,0x74,0x8c,0x94,0x62,0x0,0x0,
-+0x0,0x10,0x8,0x8,0x8,0x1e,0x69,0xa,0xc,0x18,0x28,0x48,0xa9,0x29,0x18,0x0,0x0,0x0,0x0,0x0,0x60,0x90,0x10,0x10,0x10,0x10,0x10,0xf0,0x18,0x24,0xc2,0x0,
-+0x0,0x0,0x0,0x7,0x19,0x21,0x42,0x42,0x42,0x44,0x44,0x28,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x30,0x8,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0xc0,0x0,
-+0x0,0x20,0x10,0x10,0x10,0x27,0x20,0x20,0x40,0x48,0x48,0x53,0x54,0x64,0x43,0x0,0x0,0x80,0x40,0x50,0x78,0xc0,0x40,0x40,0x40,0x40,0x40,0xc0,0x70,0x48,0x84,0x0,
-+0x0,0x20,0x10,0x10,0x10,0x27,0x20,0x20,0x40,0x48,0x48,0x53,0x54,0x64,0x43,0x0,0x8,0x84,0x52,0x48,0x74,0xc0,0x40,0x40,0x40,0x40,0x40,0xc0,0x70,0x48,0x84,0x0,
-+0x0,0x20,0x10,0x10,0x10,0x27,0x20,0x20,0x40,0x48,0x48,0x53,0x54,0x64,0x43,0x0,0xc,0x92,0x52,0x4c,0x70,0xc0,0x40,0x40,0x40,0x40,0x40,0xc0,0x70,0x48,0x84,0x0,
-+0x0,0x0,0x2,0x3e,0x4,0x8,0x8,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x20,0x20,0x30,0x28,0x24,0x20,0x20,0x40,0x40,0x40,0x80,0x0,0x0,
-+0x0,0x0,0x2,0x3e,0x4,0x8,0x8,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x8,0x4,0x12,0x28,0x24,0x30,0x28,0x24,0x20,0x20,0x40,0x40,0x40,0x80,0x0,0x0,
-+0x0,0x0,0x2,0x3e,0x4,0x8,0x8,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0xc,0x12,0x12,0x2c,0x20,0x30,0x28,0x24,0x20,0x20,0x40,0x40,0x40,0x80,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x1,0x2,0x2,0x1,0x0,0x3,0x4,0x8,0x78,0x26,0x1,0x0,0x0,0x0,0x80,0xc0,0x0,0x0,0x0,0x0,0xe0,0x98,0x84,0x8c,0x90,0x80,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x1,0x2,0x2,0x1,0x0,0x3,0x4,0x8,0x78,0x26,0x1,0x0,0x8,0x4,0x92,0xc8,0x4,0x0,0x0,0x0,0xe0,0x98,0x84,0x8c,0x90,0x80,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x1,0x2,0x2,0x1,0x0,0x3,0x4,0x8,0x78,0x26,0x1,0x0,0xc,0x12,0x92,0xcc,0x0,0x0,0x0,0x0,0xe0,0x98,0x84,0x8c,0x90,0x80,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x18,0x6,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x12,0x8,0x84,0x40,0x20,0x18,0x6,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7,0x8,0x10,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x24,0x24,0x18,0x80,0x40,0x20,0x18,0x6,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x20,0x17,0x10,0x10,0x20,0x27,0x20,0x40,0x48,0x48,0x51,0x52,0x62,0x41,0x0,0x0,0x70,0xc0,0x40,0x40,0x40,0xf8,0x40,0x40,0x40,0x40,0xc0,0x70,0x48,0x84,0x0,
-+0x0,0x20,0x17,0x10,0x10,0x20,0x27,0x20,0x40,0x48,0x48,0x51,0x52,0x62,0x41,0x0,0x8,0xe4,0x52,0x48,0x44,0x40,0xf8,0x40,0x40,0x40,0x40,0xc0,0x70,0x48,0x84,0x0,
-+0x0,0x20,0x17,0x10,0x10,0x20,0x27,0x20,0x40,0x48,0x48,0x51,0x52,0x62,0x41,0x0,0x0,0xec,0x52,0x52,0x4c,0x40,0xf0,0x40,0x40,0x40,0x40,0xc0,0x70,0x48,0x84,0x0,
-+0x0,0x1,0x1,0x1,0x3f,0x1,0x1,0x1f,0x1,0x1,0x1,0x1d,0x23,0x21,0x1e,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0xc0,0x30,0x8,0x0,
-+0x0,0x0,0x13,0xc,0x0,0x1,0x1,0x1,0x2,0x1a,0x27,0x44,0x48,0x30,0x0,0x1,0x0,0x0,0x80,0x80,0x80,0x0,0x10,0x10,0x10,0x10,0xa0,0x70,0x28,0x44,0x80,0x0,
-+0x0,0x8,0x4,0x4,0x7,0x7c,0x4,0x1c,0x24,0x24,0x24,0x1c,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x90,0xc8,0x4,0xc,0x10,0x0,0x0,0x10,0x10,0x10,0x18,0xf0,0x0,
-+0x0,0x1,0x10,0x10,0x10,0x1f,0x11,0x29,0x45,0x42,0x45,0x48,0x30,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0xc0,0x20,0x10,0x8,0x8,0x8,0x10,0x10,0x20,0xc0,0x0,
-+0x2,0x2,0x2,0x2,0x23,0x1e,0x4,0x4,0x44,0x3f,0x4,0x4,0x4,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x10,0x8,0xc8,0x8,0x8,0x8,0x8,0x8,0xf0,0x0,
-+0x0,0x0,0x2,0x1,0x0,0x0,0x3,0x24,0x1f,0x2,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x30,0x48,0x88,0x8,0x8,0x70,0x0,0x80,0x80,0x40,
-+0x0,0x2,0x1,0x0,0x6,0x9,0x10,0x11,0x7e,0x8,0x8,0x4,0x2,0x2,0x1,0x0,0x0,0x0,0x80,0x40,0x40,0x80,0x30,0xc8,0x4,0x4,0x88,0x70,0x0,0x0,0x0,0x80,
-+0x0,0x0,0x0,0x1,0x0,0x0,0x11,0x12,0x14,0x14,0x18,0x1a,0x11,0x10,0x1,0x2,0x0,0x0,0x0,0x0,0x80,0x80,0xe0,0x90,0x88,0x88,0x88,0x88,0x90,0xe0,0x0,0x0,
-+0x0,0x0,0x10,0x10,0x10,0x11,0x22,0x24,0x24,0x24,0x28,0x2a,0x31,0x10,0x0,0x3,0x0,0x80,0x40,0x40,0xf8,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x58,0xe0,0x80,0x0,
-+0x0,0x0,0x0,0x2,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xf,0x11,0x11,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0xc0,0x0,0x0,0x0,0x0,0xc0,0x30,0x8,0x0,0x0,
-+0x0,0x2,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1f,0x21,0x41,0x42,0x3c,0x0,0x0,0x0,0x0,0x0,0x10,0x38,0xc0,0x0,0x0,0x0,0x0,0xc0,0x30,0x8,0x4,0x0,
-+0x0,0x1c,0x2,0x2,0x4,0x8,0x10,0x10,0x10,0x13,0x14,0x18,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x8,0x30,0xc0,0x0,
-+0x0,0x10,0x8,0x9,0xa,0xa,0x12,0x14,0x14,0x18,0x8,0x0,0x0,0x0,0x1,0x2,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,
-+0x0,0x0,0xf,0x0,0x0,0x0,0x1,0x2,0x7,0x8,0x10,0x3,0x4,0x4,0x3,0x0,0x0,0x40,0xa0,0x20,0x40,0x80,0x0,0xf0,0x8,0x4,0x4,0x84,0x44,0x28,0xf0,0x0,
-+0x0,0x8,0x8,0x8,0xe,0x79,0xa,0xc,0x8,0x18,0x28,0x28,0x68,0x18,0x8,0x0,0x0,0x0,0x20,0x50,0x88,0x8,0x10,0x10,0x10,0x10,0x10,0x12,0x14,0x8,0x0,0x0,
-+0x0,0x3,0x1c,0x0,0x1,0x2,0x4,0xf,0x18,0x20,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xc0,0x40,0x80,0x0,0x0,0xe0,0x10,0x8,0x8,0x8,0x10,0x10,0x60,0x80,0x0,
-+0x0,0x0,0x8,0x4,0x4,0x7,0x3c,0x7,0xc,0x14,0x24,0x34,0xc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x8,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,0x0,
-+0x0,0x10,0x8,0x8,0x4f,0x38,0xb,0xc,0x8,0x18,0x28,0x48,0x68,0x18,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x18,0x4,0x4,0x4,0x4,0x8,0x10,0x60,0x0,
-+0x0,0x0,0x3,0x1c,0x0,0x1,0x1,0x3,0xf,0x12,0x22,0x44,0x38,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x0,0x0,0xf0,0x8,0x4,0x4,0x64,0x94,0x88,0x70,0x0,
-+0x0,0xf,0x0,0x1,0x3,0x6,0x8,0x13,0x24,0x3,0x2,0x4,0x18,0x26,0x41,0x0,0x0,0xc0,0x80,0x0,0xe0,0x10,0x10,0x90,0xa0,0xc0,0x0,0x0,0x38,0x44,0x88,0x0,
-+0x0,0x2,0x1,0x1,0x1f,0x1,0x2,0x3,0x4,0x8,0x11,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0xe0,0x0,0x8,0xc,0xd0,0x60,0xc0,0x40,0x40,0x40,0x0,0xf8,0x0,
-+0x0,0x2,0x1,0x1,0x1,0x2,0x2,0x2,0x3,0x2,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x22,0x22,0x24,0x24,0x18,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x1f,0x0,0x2,0x1,0x1,0x1,0x1,0x1,0x2,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0xf0,0x10,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x3f,0x0,0x0,0x0,0x2,0x1,0x1,0x1,0x1,0x2,0x2,0x4,0x8,0x0,0x0,0x0,0xf8,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x3,0x5,0x9,0x11,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1,0x3,0x5,0x9,0x11,0x21,0x1,0x1,0x1,0x1,0x1,0x0,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1,0x11,0x1f,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x3,0xc,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x21,0x3f,0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,0x3,0xc,0x0,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x1f,0x1,0x1,0x1,0x1,0x1,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3f,0x1,0x1,0x1,0x1,0x1,0x1,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x1,0x1,0x3f,0x3,0x5,0x9,0x11,0x21,0x1,0x5,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x1,0x2,0x4,0x8,0x10,0x20,0x42,0x1,0x0,0x0,0x80,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,
-+0x0,0x2,0x2,0x2,0x3f,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x21,0x40,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x0,
-+0x0,0x2,0x2,0x2,0x3f,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x21,0x40,0x0,0x8,0x4,0x12,0x8,0xe4,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x0,
-+0x0,0x8,0x8,0x4,0x4,0x3f,0x2,0x1,0x1,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x70,0x80,0x80,0x40,0x40,0x20,0x20,0x0,
-+0x0,0x8,0x8,0x4,0x4,0x3f,0x2,0x1,0x1,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x12,0x8,0xe4,0x0,0x0,0x0,0x70,0x80,0x80,0x40,0x40,0x20,0x20,0x0,
-+0x0,0x2,0x2,0x2,0x3,0x4,0x4,0x8,0x10,0x20,0x0,0x1,0x2,0xc,0x30,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x2,0x2,0x2,0x3,0x4,0x4,0x8,0x10,0x20,0x0,0x1,0x2,0xc,0x30,0x0,0x8,0x4,0x12,0x8,0xe4,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x8,0xf,0x10,0x20,0x41,0x1,0x2,0x2,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x10,0xf8,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x8,0xf,0x10,0x20,0x41,0x1,0x2,0x2,0x4,0x8,0x10,0x20,0x0,0x8,0x4,0x12,0x8,0xf4,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x20,0x20,0xf0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x12,0x8,0x24,0xf0,0x20,0x20,0x20,0x40,0xe0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x7f,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x1,0x0,0x0,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x80,0x80,0x0,0x0,
-+0x0,0x0,0x0,0x8,0x8,0x8,0x8,0x7f,0x8,0x8,0x8,0x8,0x9,0x1,0x2,0x0,0x8,0x4,0x92,0x88,0x84,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x18,0x4,0x2,0x30,0x8,0x4,0x0,0x0,0x1,0x2,0x24,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x18,0x4,0x2,0x30,0x8,0x4,0x0,0x0,0x1,0x2,0x24,0x18,0x0,0x8,0x4,0x12,0x8,0x4,0x0,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x1,0x3,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0xe0,0x20,0x40,0x40,0x80,0x0,0x0,0x80,0x40,0x30,0x10,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x1,0x3,0x4,0x8,0x10,0x20,0x0,0x8,0x4,0x12,0x8,0xe4,0x20,0x40,0x40,0x80,0x0,0x80,0x40,0x20,0x18,0x8,0x0,
-+0x0,0x4,0x4,0x4,0x4,0x7,0x7c,0x4,0x4,0x4,0x4,0x4,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x20,0x40,0x80,0x0,0x0,0x0,0x20,0xf0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x7,0x7c,0x4,0x4,0x4,0x4,0x4,0x3,0x0,0x0,0x8,0x4,0x12,0x8,0x4,0x0,0xe0,0x20,0x40,0x80,0x0,0x0,0x20,0xf0,0x0,0x0,
-+0x0,0x0,0x0,0x20,0x10,0x8,0xc,0x4,0x0,0x0,0x0,0x1,0x2,0xc,0x30,0x0,0x0,0x0,0x20,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x40,0x20,0x10,0x18,0x8,0x0,0x0,0x1,0x2,0x4,0x18,0x60,0x8,0x4,0x12,0x48,0x24,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x4,0x7,0x4,0x8,0x8,0x10,0x24,0x2,0x1,0x2,0x4,0x18,0x60,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0xf,0x8,0x10,0x10,0x20,0x49,0x5,0x2,0x5,0x8,0x30,0xc0,0x0,0x8,0x4,0x52,0xe8,0x44,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x1f,0x1,0x1,0x7f,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x0,0x0,0x20,0xf0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0x3e,0x2,0x2,0xff,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x8,0x4,0x52,0xe8,0x4,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x4,0x3,0x21,0x18,0x8,0x0,0x0,0x0,0x1,0x6,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x2,0x21,0x11,0x8,0x8,0x0,0x0,0x1,0x2,0x4,0x8,0x30,0x0,0x0,0x0,0x0,0x10,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x8,0x4,0x42,0x22,0x10,0x10,0x0,0x1,0x2,0x4,0x8,0x10,0x60,0x0,0x8,0x4,0x12,0x28,0x24,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1f,0x0,0x0,0x0,0x7f,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0x0,0x20,0xf0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0xff,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x8,0x4,0x92,0xc8,0x4,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x6,0x5,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x4,0x4,0x4,0x6,0x5,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x8,0x4,0x12,0x8,0x4,0x0,0x0,0x80,0x60,0x20,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1f,0x0,0x0,0xc,0x2,0x1,0x0,0x0,0x1,0x2,0x4,0x8,0x30,0x0,0x0,0x10,0xf8,0x10,0x20,0x20,0x40,0x40,0x80,0xc0,0x30,0x10,0x0,0x0,0x0,0x0,
-+0x2,0x1,0x0,0x0,0x1f,0x0,0x1,0x3,0x5,0x9,0x11,0x21,0x1,0x1,0x1,0x0,0x0,0x80,0x80,0x0,0xc0,0x80,0x0,0x0,0x40,0x30,0x10,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x4,0x8,0x10,0x0,0x0,0x0,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x4,0x4,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x10,0x10,0x8,0x8,0xc,0x4,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x4,0x4,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x0,0x8,0x4,0x12,0x8,0x44,0x20,0x10,0x10,0x8,0x8,0xc,0x4,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x4,0x4,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0xc,0x12,0x12,0x4c,0x20,0x10,0x10,0x8,0x8,0xc,0x4,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x8,0x8,0x8,0x8,0x9,0xe,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x60,0x80,0x0,0x0,0x0,0x0,0x20,0xf0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x20,0x20,0x21,0x21,0x26,0x38,0x20,0x20,0x20,0x20,0x1f,0x0,0x0,0x8,0x4,0x12,0x8,0x4,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0xc0,0x0,0x0,
-+0x0,0x0,0x0,0x20,0x20,0x21,0x21,0x26,0x38,0x20,0x20,0x20,0x20,0x1f,0x0,0x0,0x0,0xc,0x12,0x12,0xc,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0xc0,0x0,0x0,
-+0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x20,0xf0,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x1,0x1,0x2,0x4,0x8,0x10,0x20,0x0,0x8,0x4,0x12,0x48,0xe4,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x1,0x1,0x2,0x4,0x8,0x10,0x20,0x0,0x0,0xc,0x12,0x52,0xec,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x18,0x24,0x43,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x30,0xe,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x18,0x24,0x43,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x12,0x8,0x4,0x0,0x0,0x0,0xc0,0x30,0xe,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x18,0x24,0x43,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x12,0x12,0xc,0x0,0x0,0x0,0xc0,0x30,0xe,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x9,0x9,0x11,0x21,0x1,0x5,0x2,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x20,0x10,0x8,0x8,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x9,0x9,0x11,0x21,0x5,0x2,0x0,0x8,0x4,0x12,0x8,0x4,0x8,0xfc,0x0,0x0,0x20,0x10,0x8,0x8,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x9,0x9,0x11,0x21,0x5,0x2,0x0,0xc,0x12,0x12,0xc,0x0,0x8,0xfc,0x0,0x0,0x20,0x10,0x8,0x8,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x6,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x20,0x20,0x40,0x80,0x80,0x40,0x40,0x0,0x0,0x0,
-+0x0,0x0,0xe,0x1,0x0,0x0,0x1c,0x3,0x0,0x0,0x1c,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x60,0x20,0x0,0x0,0xc0,0x40,0x0,0x80,0x60,0x20,0x0,0x0,
-+0x0,0x2,0x2,0x2,0x2,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x10,0x3f,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x10,0xf8,0x8,0x8,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x4,0x2,0x1,0x0,0x1,0x2,0x4,0x8,0x10,0x60,0x0,0x0,0x0,0x20,0x10,0x20,0x20,0x40,0x80,0x80,0x60,0x20,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x3,0x3e,0x2,0x2,0x3,0x7e,0x2,0x2,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0x40,0xe0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x8,0x4,0x5,0x3e,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x10,0x20,0x0,0x80,0x80,0x40,0x20,
-+0x0,0x10,0x8,0x8,0x4,0x5,0x7e,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x10,0x20,0x0,0x80,0x80,0x40,0x40,0x20,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x40,0x48,0xfc,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x20,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x0,0x0,0x1f,0x0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x3f,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x0,
-+0x0,0x0,0xf,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x6,0x18,0x0,0x0,0x40,0xe0,0x0,0x10,0xf8,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x1,0x1,0x2,0x4,0x8,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x84,0x88,0x90,0xa0,0xc0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x20,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x40,0x40,0xe0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x10,0x1f,0x10,0x10,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x20,0x3f,0x20,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x1f,0x9,0x9,0x9,0x9,0x7f,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x40,0xe0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x0,0x2,0x1,0x1,0x1,0x1,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x40,0x80,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0xf8,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x10,0x8,0x6,0x2,0x0,0x0,0x0,0x1,0x2,0x24,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x2,0x2,0x22,0x3f,0x20,0x20,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x8,0x0,0x8,0x4,0x12,0x28,0xf4,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x1,0x1,0xf,0x1,0x1,0x2,0x2,0x2,0x5,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x7,0x8,0x10,0x21,0x1,0x2,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0xe0,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x2,0x2,0x4,0x4,0x8,0xf,0x10,0x10,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0xe0,0x10,0x10,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x10,0x10,0x20,0xc0,0x20,0x10,0x10,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x10,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0x10,0x10,0x8,0x8,0xfc,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x40,0xc0,0x40,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x20,0x20,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x28,0x2f,0x28,0x20,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x8,0x28,0xe8,0x28,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x71,0x21,0x22,0x24,0x28,0x38,0x24,0x22,0x21,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x10,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x60,0x30,0x30,0x28,0x28,0x24,0x24,0x22,0x22,0x21,0x70,0x0,0x0,0x0,0x0,0x0,0xc,0x18,0x18,0x28,0x28,0x48,0x48,0x88,0x88,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x60,0x30,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0x8,0x88,0x48,0x28,0x18,0xc,0x0,0x0,0x0,0x0,
-+0x0,0x1f,0x10,0x10,0x0,0x4,0x7,0x4,0x0,0x10,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x20,0xe0,0x20,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x10,0x8,0x4,0x2,0x4,0x8,0x10,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x41,0x41,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0xfc,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x6,0x9,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x40,0xa0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x1,0xf,0x11,0x21,0x21,0x21,0x11,0xf,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xe0,0x10,0x8,0x8,0x8,0x10,0xe0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x10,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x10,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x10,0x20,0x40,0x80,0x0,0x80,0x40,0x20,0x10,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x43,0x21,0x11,0x11,0x11,0x11,0xf,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x84,0x8,0x10,0x10,0x10,0x10,0xe0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x20,0x20,0x20,0x10,0x48,0x44,0x7c,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x8,0x8,0x8,0x8,0x10,0x24,0x44,0x7c,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0xc0,0x40,0x40,0x40,0x40,0x40,0xd0,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0xc,0xb,0x8,0x8,0x8,0x0,0x0,0x80,0x40,0x40,0x80,0x0,0xc0,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0xc,0x12,0x22,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x4,0x2,0x1,0x2,0x4,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0x4,0x4,0x2,0x1,0x2,0x4,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x0,0x0,0x80,0x0,0x0,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x2,0x4,0x4,0x3,0x2,0x4,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x3,0x0,0x0,0x0,0x40,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0xc0,0x0,
-+0x0,0x0,0x0,0x1,0xa,0x14,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,
-+0x0,0x3,0x4,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x18,0x8,0x8,0xd,0xa,0x9,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x40,0x80,0x0,0x0,0x0,0x80,0x40,0x70,0x0,0x0,0x0,0x0,
-+0x4,0xa,0x2,0x1,0x1,0x1,0x3,0x2,0x2,0x4,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x50,0x50,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xc,0xb,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xd0,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x18,0x8,0x4,0x4,0x4,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x8,0x7,0x8,0x8,0x7,0x4,0x8,0x8,0x8,0x7,0x0,0x2,0x1,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0xc0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x24,0x4,0x4,0x4,0x4,0x4,0x8,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x40,0x40,0x40,0x40,0x40,0x40,0x50,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x18,0x14,0x13,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x40,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x9,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x8,0x14,0x4,0x4,0x4,0x4,0x4,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x7,0x9,0x11,0x11,0x11,0x11,0x11,0x9,0x7,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x14,0x4,0x2,0x2,0x1,0x1,0x2,0x4,0x8,0x8,0x10,0x0,0x0,0x0,0x0,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x80,0x80,0x40,0x50,0x20,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x11,0x29,0x9,0x9,0x9,0x9,0x9,0x9,0x7,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x4,0x8,0x11,0x11,0x11,0x11,0x11,0xa,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0xa0,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,0x2,0x2,0x4,0x4,0x8,0xf,0x10,0x10,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0xe0,0x10,0x10,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x0,0xe0,0x10,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x10,0xe0,0x10,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1f,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x3f,0x20,0x0,0x0,0x0,0x0,0x0,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf8,0x8,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x0,0x20,0xe0,0x20,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x8,0x0,0x7f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x20,0x0,0xf8,0x8,0x8,0x20,0xe0,0x20,0x0,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x33,0x49,0x9,0x5,0x3,0x5,0x9,0x9,0x11,0x11,0x63,0x0,0x0,0x0,0x0,0x0,0x98,0x24,0x20,0x40,0x80,0x40,0x20,0x20,0x10,0x10,0x8c,0x0,0x0,0x0,0x0,
-+0x0,0x17,0x18,0x10,0x0,0x0,0x1,0x0,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x10,0xe0,0x10,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x20,0x23,0x24,0x28,0x30,0x20,0x60,0x0,0x0,0x0,0x0,0x0,0xc,0x8,0x18,0x28,0xc8,0x8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x4,0x74,0x23,0x20,0x20,0x20,0x23,0x24,0x28,0x30,0x20,0x60,0x0,0x0,0x0,0x0,0x40,0x4c,0x88,0x18,0x28,0xc8,0x8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x21,0x22,0x3c,0x22,0x21,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x38,0x0,0x0,0x0,0x0,
-+0x0,0x1f,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,0x0,0x0,0x0,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x30,0x28,0x28,0x24,0x24,0x22,0x21,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x18,0x28,0x28,0x48,0x48,0x88,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0xf,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0xd0,0x30,0x10,0x0,0x0,0x0,0x0,0x0,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x41,0x41,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0xfc,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x1c,0x8,0x8,0x4,0x4,0x2,0x1,0x0,0x1,0x12,0xc,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x10,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x10,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x10,0x70,0x0,0x0,0x0,0x0,0x0,0x1c,0x10,0x20,0x40,0x80,0x0,0x80,0x40,0x20,0x10,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x1,0x1f,0x21,0x41,0x41,0x41,0x21,0x1f,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xf0,0x8,0x4,0x4,0x4,0x8,0xf0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf8,0x4,0x4,0x0,0x0,
-+0x0,0x38,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x10,0x10,0x10,0x10,0x30,0xd0,0x10,0x10,0x10,0x38,0x0,0x0,0x0,0x0,
-+0x0,0x73,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x7f,0x0,0x0,0x0,0x0,0x0,0x9c,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xfc,0x0,0x0,0x0,0x0,
-+0x0,0x73,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x7f,0x0,0x0,0x0,0x0,0x0,0x9c,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xfc,0x4,0x4,0x0,0x0,
-+0x0,0x3e,0x24,0x4,0x4,0x7,0x4,0x4,0x4,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x8,0x4,0x4,0x4,0x8,0xf0,0x0,0x0,0x0,0x0,
-+0x0,0x70,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0x88,0x48,0x48,0x48,0x88,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x1c,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x8,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x2f,0x30,0x20,0x0,0x0,0x1,0x0,0x0,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xe0,0x10,0x8,0x4,0x4,0xfc,0x4,0x4,0x8,0x10,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x71,0x22,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x22,0x71,0x0,0x0,0x0,0x0,0x0,0xf0,0x8,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0xf0,0x0,0x0,0x0,0x0,
-+0x0,0x3,0x4,0x8,0x8,0x4,0x3,0x0,0x3,0x4,0x8,0x38,0x0,0x0,0x0,0x0,0x0,0xfc,0x8,0x8,0x8,0x8,0xf8,0x88,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x0,0xf,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x40,0xc0,0x40,0x40,0xd0,0x20,0x0,0x0,0x0,0x0,
-+0x0,0x7,0x8,0x10,0x17,0x18,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x20,0xc0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x2,0x2,0x2,0x2,0x4,0x4,0x8,0x1f,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf0,0x10,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x1f,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0xe0,0x0,0x0,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x0,0x7,0x8,0x10,0x10,0x1f,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x80,0x40,0x20,0x20,0xe0,0x0,0x0,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x33,0x9,0x9,0x5,0x7,0x9,0x9,0x11,0x23,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x98,0x20,0x20,0x40,0xc0,0x20,0x20,0x10,0x88,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0xb,0xc,0x8,0x0,0x1,0x0,0x0,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0xc0,0x20,0x20,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x38,0x10,0x10,0x10,0x11,0x12,0x14,0x18,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x20,0x60,0xa0,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x3,0x38,0x10,0x10,0x10,0x11,0x12,0x14,0x18,0x30,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x70,0x20,0x60,0xa0,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x8,0x9,0xe,0x9,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x80,0x80,0x0,0x0,0x0,0x80,0x90,0x60,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0xf,0x4,0x4,0x4,0x4,0x4,0x14,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x38,0x10,0x18,0x14,0x12,0x12,0x11,0x10,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x10,0x30,0x50,0x90,0x90,0x10,0x10,0x38,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0x4,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0xb,0x1c,0x8,0x8,0x8,0x8,0xc,0xb,0x8,0x8,0x8,0x1c,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x40,0x0,0x0,0x0,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x11,0x1,0x1,0x1,0x1,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x8,0x4,0x4,0x4,0x2,0x1,0x1,0x2,0x14,0x8,0x0,0x0,0x0,0x0,0x70,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0xd,0x13,0x11,0x11,0x11,0x11,0x13,0xd,0x1,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x60,0x90,0x10,0x10,0x10,0x10,0x90,0x60,0x0,0x0,0x80,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x20,0x40,0x80,0x0,0x80,0x40,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf0,0x10,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x40,0x40,0x40,0xc0,0x40,0x40,0x40,0xe0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3b,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf8,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3b,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf8,0x8,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3c,0x28,0x8,0x8,0xf,0x8,0x8,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x38,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x10,0x10,0x10,0x10,0x90,0x90,0x90,0x38,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x1c,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x7,0x8,0x0,0x0,0x1,0x0,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0xe0,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x38,0x11,0x12,0x12,0x1e,0x12,0x12,0x11,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x3,0x4,0x4,0x4,0x3,0x1,0x2,0xa,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0x70,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x7,0x0,0x0,0x7,0x8,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x40,0xc0,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x2,0x0,0x7,0x8,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x40,0xc0,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,
-+0x0,0x4,0x2,0x1,0x0,0x7,0x8,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x40,0xc0,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x0,0x7,0x8,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x40,0xc0,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,
-+0x0,0x0,0x7,0x0,0x0,0x3,0x4,0x8,0xf,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x80,0x40,0x20,0xe0,0x0,0x0,0x20,0xc0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x2,0x0,0x3,0x4,0x8,0xf,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x40,0x20,0xe0,0x0,0x0,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x4,0x2,0x1,0x0,0x3,0x4,0x8,0xf,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x80,0x40,0x20,0xe0,0x0,0x0,0x20,0xc0,0x0,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x0,0x3,0x4,0x8,0xf,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x80,0x40,0x20,0xe0,0x0,0x0,0x20,0xc0,0x0,0x0,0x0,
-+0x0,0x0,0x3,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x4,0x0,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4,0x2,0x1,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x7,0x0,0x3,0x4,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x2,0x0,0x3,0x4,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x4,0x2,0x1,0x0,0x3,0x4,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x0,0x3,0x4,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x0,0xf,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x2,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x0,0x8,0x5,0x2,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x0,0xf,0x0,0x2,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0xe0,0x0,0x80,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x0,0x2,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x4,0x2,0x1,0x0,0x2,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x80,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x2,0x1,0x0,0x0,0x2,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x80,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x2,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xb0,0x0,0x0,0x0,
-+0x0,0x1,0x2,0x4,0x0,0x3,0x4,0x8,0xf,0x8,0x8,0x4,0x3,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x0,0x80,0x40,0x20,0xe0,0x0,0x0,0x20,0xc0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x7,0x8,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0xc0,0x40,0x40,0x40,0x40,0xc0,0x60,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x7,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x8,0x7,0x0,0x0,0x0,0x0,0x0,0xa0,0x60,0x20,0x20,0x20,0x60,0xa0,0x20,0x20,0x40,0x80,0x0,
-+0x0,0x0,0x1,0x2,0x0,0x1a,0xd,0x9,0x9,0x9,0x9,0x9,0x9,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x0,0x0,0x0,
-+0x0,0x0,0x1,0x2,0x0,0xd,0x6,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x60,0x0,0x0,0x0,
-+0x0,0x4,0x2,0x1,0x0,0xd,0x6,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x40,0x80,0x0,0x0,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x60,0x0,0x0,0x0,
-+0x0,0x2,0x1,0x0,0x0,0xd,0x6,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x60,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0xa0,0x40,
-+0x0,0x4,0x4,0x8,0x1f,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x3,0xc,0x30,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x10,0x10,0xa0,0x40,0xa0,0x10,0x10,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x3f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x0,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,
-+0x0,0x4,0x4,0x8,0x1f,0x1,0x1,0x1,0x1,0x2,0x2,0x4,0x8,0x11,0x20,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0xa0,0x40,
-+0x0,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x2,0x2,0x4,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x8,0x0,0x0,
-+0x0,0x0,0x3f,0x0,0x0,0x1,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0xc0,0x40,0x80,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0xa0,0x40,
-+0x0,0x1,0x9,0x9,0x11,0x1f,0x1,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x50,0x20,
-+0x0,0x0,0x2,0x2,0x4,0x4,0x8,0x8,0x11,0x8,0x8,0x4,0x4,0x2,0x2,0x0,0x0,0x0,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x80,0x80,0x40,0x40,0x20,0x20,0x0,
-+0x0,0x0,0x7f,0x2,0x2,0x4,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x20,0xa0,0x40,
-+0x0,0x0,0x3f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x9,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0xa0,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x4,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x0,
-+0x0,0x0,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x11,0x11,0x11,0x11,0x11,0x11,0x1f,0x1,0x1,0x1,0x7f,0x0,0x0,0x0,0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,0x0,0x0,0x0,0xfc,0x0,0x0,
-+0x0,0x0,0x0,0x1,0x2,0x4,0x8,0x11,0x3,0x5,0x9,0x11,0x1,0x1,0x1,0x1,0x0,0x40,0x80,0x0,0x0,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1f,0x0,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0xf8,0x8,0x8,0x8,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0xf,0x8,0x8,0x8,0xa,0x9,0x8,0x8,0x8,0x8,0x8,0xf,0x0,0x0,0x0,0x0,0xe0,0x20,0x20,0x20,0x20,0x20,0xa0,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,
-+0x0,0x0,0x3f,0x4,0x4,0x4,0x4,0x4,0x4,0x5,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0xc0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x2,0x2,0x2,0x7f,0x4,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x2,0x1,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0xf0,0x10,0x10,0x20,0x20,0x40,0x80,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x2,0x2,0x2,0x4,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0xf0,0x8,0x0,0x0,
-+0x0,0x10,0x8,0x4,0x2,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x7f,0x1,0x1,0x1,0xf,0x10,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x10,0xe0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x7f,0x1,0x1,0xf,0x10,0x20,0x20,0x20,0x20,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x10,0xe0,0x0,
-+0x0,0x0,0x8,0x8,0x8,0x7f,0x8,0x8,0x8,0x8,0x8,0x9,0x8,0x7,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0xfc,0x40,0x40,0x40,0x80,0x80,0x0,0x0,0xf0,0x0,0x0,
-+0x0,0x0,0x7f,0x9,0x9,0x11,0x1f,0x1,0x1,0x1,0x2,0x2,0x4,0x8,0x10,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0x20,0x0,
-+0x0,0x0,0x1c,0x4,0x4,0x4,0x2,0x2,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x18,0x0,
-+0x0,0x2,0x2,0x4,0x4,0x8,0x8,0x1f,0x1,0x2,0x4,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x40,0x20,0xf0,0x10,0x0,0x0,
-+0x0,0x0,0x0,0x1f,0x0,0x0,0x4,0x2,0x1,0x0,0x0,0x1,0x2,0x4,0x8,0x0,0x0,0x0,0x0,0xf0,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x40,0x20,0x0,0x0,0x0,
-+0x0,0x3f,0x8,0x8,0x8,0x10,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x20,0x20,0x20,0x40,0x40,0xf8,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,
-+0x0,0x8,0x8,0x8,0x8,0x10,0x10,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x8,0x8,0x8,0x10,0x10,0x20,0x0,
-+0x0,0x2,0x2,0x2,0x2,0x7f,0x2,0x2,0x2,0x4,0x4,0x4,0x8,0x10,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x7c,0x0,
-+0x0,0x0,0x1,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x0,0x0,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x60,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x84,0x84,0x7c,0x0,
-+0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x8,0x4,0x2,0x1,0x0,0x0,0x1,0x2,0x4,0x18,0x60,0x0,0x0,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x40,0x20,0x10,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x78,0x88,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x73,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x73,0x73,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9c,0x9c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xee,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xee,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xee,0xee,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xee,0xee,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x1,0x1,0x1,0x0,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,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,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x3,0x3,0x3,0x3,0x3,0x3,0x7f,0x7f,0x3,0x3,0x3,0x3,0x3,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x8,0x8,0x8,0x8,0x8,0x9,0x8,0xff,0x9,0x9,0x8,0x8,0x8,0x9,0xe,0x8,0x0,0x10,0x30,0x40,0x80,0x0,0x4,0xfe,0x0,0x0,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x20,0x20,0x20,0x27,0xfc,0x24,0x24,0x27,0x24,0x24,0x3c,0xe6,0x45,0x4,0x8,0x10,0x20,0x28,0x24,0xfe,0x20,0x20,0x24,0xa4,0xa8,0xa8,0x90,0x90,0x30,0x4a,0x8a,0x6,
-+0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x17,0x18,0x10,0x0,0x0,0x0,0x10,0x10,0xf,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x0,0x0,0x0,0x3,0x4,0x8,0x10,0x10,0x10,0x1f,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0xe0,0x0,0x0,0x0,0x0,0x10,0x10,0xf0,0x0,
-+0x0,0x7,0x8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x7,0x0,0x0,0xc0,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0xc0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x2f,0xf9,0xa9,0xaa,0xaa,0xac,0xaa,0xaa,0xa9,0xe9,0xad,0xa,0x8,0x8,0x8,0x4,0x7e,0x4,0x4,0x14,0x7c,0x54,0x54,0x54,0x54,0x74,0x54,0x4,0x4,0x14,0xc,
-+0x0,0x7f,0x44,0x48,0x48,0x51,0x49,0x49,0x45,0x45,0x45,0x69,0x51,0x40,0x40,0x40,0x4,0xfe,0x8,0x8,0x28,0xf8,0x28,0x28,0x28,0x28,0x28,0xe8,0x28,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x11,0x13,0xfc,0x11,0x11,0x12,0x10,0x17,0x1c,0xf0,0x40,0x1,0x6,0x40,0x40,0x90,0x8,0xfc,0x4,0x10,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x10,0x10,0x10,0x11,0xff,0x10,0x11,0x15,0x1a,0x30,0xd7,0x10,0x10,0x10,0x51,0x26,0x40,0x40,0x90,0x8,0xfc,0x4,0x10,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x0,0x0,0x8,0x7f,0x48,0x48,0x49,0x49,0x48,0x48,0x48,0x78,0x48,0x1,0x2,0x4,0x90,0x90,0x94,0xfe,0x90,0x90,0x8,0x8,0x90,0x90,0x60,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x0,0x8,0x7d,0x4b,0x48,0x49,0x49,0x4a,0x48,0x4f,0x78,0x48,0x0,0x1,0x6,0x40,0x40,0x90,0x8,0xfc,0x4,0x10,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x2,0x1,0xff,0x0,0x1f,0x10,0x10,0x10,0x1f,0x5,0xc,0x14,0x24,0xc5,0x6,0x4,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0xf0,0x8,0x90,0x60,0x30,0xe,0x4,0x0,
-+0x10,0x10,0x25,0x7f,0x45,0x44,0x45,0x7c,0x44,0x45,0x45,0x45,0x7d,0x45,0x0,0x0,0x20,0x20,0x24,0x24,0xfc,0x0,0xfc,0x4,0x4,0xfc,0x4,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x0,0x1f,0x10,0x93,0x52,0x53,0x10,0x37,0x54,0xd7,0x10,0x24,0x24,0x47,0x4,0x80,0x44,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xbc,0xa4,0xbc,0x40,0x44,0x44,0xfc,0x4,
-+0x8,0xff,0x8,0x43,0x32,0x13,0x2,0xf3,0x11,0x13,0x14,0x12,0x16,0x1a,0x13,0x0,0x24,0xfe,0x20,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x44,0x44,0xa4,0x4,0xd4,0x8,
-+0x20,0x21,0x28,0x3c,0x53,0x90,0x15,0xfe,0x10,0x17,0x10,0x29,0x24,0x44,0x81,0x6,0x18,0xe0,0x40,0x48,0xfc,0xe0,0x5c,0x48,0x40,0xfe,0x90,0x10,0xa0,0x60,0x98,0x8,
-+0x4,0x4,0xff,0x4,0x4,0x0,0x8,0x4,0x4,0x2,0x1,0x2,0x4,0x8,0x30,0xc0,0x40,0x44,0xfe,0x40,0x40,0x20,0x20,0x40,0x40,0x80,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x5,0xff,0x11,0x11,0x21,0x24,0x7f,0xa4,0x27,0x25,0x24,0x3c,0x24,0x0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xfc,0x10,0xfe,0x10,0x90,0x90,0x10,0x50,0x20,
-+0x0,0x3f,0x11,0x9,0x7f,0x42,0x82,0x7f,0x4,0x7,0xa,0x9,0x10,0x11,0x22,0xc,0x78,0x80,0x10,0x20,0xfe,0x2,0x4,0xf8,0x0,0xf0,0x20,0x40,0x80,0x60,0x1c,0x8,
-+0x4,0x7a,0x49,0x48,0x57,0x60,0x51,0x4a,0x4c,0x4b,0x6a,0x52,0x42,0x42,0x4f,0x40,0x4,0x8,0x10,0x4,0xfe,0xa0,0x10,0x8,0x8,0xfc,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x28,0x28,0xfe,0x29,0x39,0x12,0x7c,0x57,0x54,0x7c,0x11,0xfe,0x10,0x10,0x10,0x13,0x40,0x20,0x0,0xfe,0x2,0x44,0x40,0xfe,0x88,0x88,0x8,0x90,0x60,0x50,0x8c,0x4,
-+0x10,0x1f,0x20,0x5f,0x80,0x3f,0x2,0x3f,0x22,0x4,0xff,0x8,0x19,0x6,0x9,0x30,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xe8,0x28,0x8,0xf8,0x88,0x8,0xa,0x8a,0x44,
-+0x2,0x1,0x7f,0x40,0x82,0x2,0x2,0xff,0x4,0x8,0x18,0x6,0x1,0x2,0xc,0x30,0x0,0x0,0xfe,0x2,0x4,0x0,0x4,0xfe,0x20,0x20,0x20,0x40,0x80,0x40,0x30,0x10,
-+0x8,0x8,0x8,0x17,0x10,0x31,0x52,0x94,0x1b,0x12,0x13,0x12,0x13,0x12,0x10,0x10,0x40,0x40,0x48,0xfc,0xa0,0x10,0x4e,0x44,0xf8,0x48,0xf8,0x48,0xf8,0x4a,0x42,0x3e,
-+0x10,0x10,0x10,0x13,0xfa,0x14,0x10,0x3f,0xd0,0x10,0x11,0x10,0x10,0x10,0x50,0x23,0x40,0x20,0x0,0xfe,0x2,0x44,0x40,0xfe,0x88,0x88,0x8,0x90,0x60,0x50,0x8c,0x4,
-+0x0,0x8,0x7f,0x48,0x49,0x48,0x4f,0x78,0x4b,0x4a,0x4a,0x4b,0x7a,0x4a,0x3,0x2,0x80,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x1,0x21,0x21,0x3f,0x0,0x3f,0x20,0x2f,0x20,0x20,0x3f,0x20,0x20,0x40,0x80,0x0,0x0,0x8,0x8,0xf8,0x0,0xfc,0x10,0xf8,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,0x80,
-+0x4,0x3e,0x24,0x25,0x25,0x3e,0x24,0x27,0x24,0x3c,0x25,0x24,0x24,0x44,0x94,0x9,0x40,0x20,0x0,0xfe,0x2,0x44,0x40,0xfe,0x88,0x88,0x8,0x90,0x60,0x50,0x8c,0x4,
-+0x1,0x7f,0x41,0x82,0x7f,0x4,0xc,0x3,0x1c,0x1,0xff,0x5,0x9,0x11,0x61,0x1,0x0,0xfe,0x2,0x4,0xfc,0x20,0x40,0x80,0x70,0x4,0xfe,0x40,0x20,0x1c,0x8,0x0,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x45,0x96,0x8,0x40,0x20,0x4,0xfe,0x10,0xf8,0x90,0x90,0x90,0x90,0x90,0x90,0x92,0x12,0xe,0x0,
-+0x3f,0x20,0x3f,0x20,0x3f,0x0,0x6,0x78,0x40,0x40,0x40,0x46,0x58,0x60,0x0,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0x4,0xfe,0x84,0x84,0x84,0xa4,0x94,0x88,0x80,0x80,
-+0x1,0x1,0x3f,0x21,0x21,0xff,0x2,0xc,0x30,0xc0,0x3f,0x24,0x24,0x24,0xff,0x0,0x0,0x8,0xfc,0x8,0x8,0xfe,0x80,0x60,0x1e,0x4,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x0,0x0,0x7c,0x44,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x40,0x40,0x7f,0x40,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0xc4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x8,0x8,0xa,0x7f,0x8,0x3f,0x8,0xff,0x10,0x1e,0x12,0x22,0x22,0x54,0x89,0x2,0x40,0x40,0x44,0x7e,0x88,0x8,0x48,0x48,0x48,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0xa,0x7f,0x8,0x3e,0x9,0xfe,0x10,0x1e,0x22,0x4a,0x85,0x0,0x24,0x22,0x40,0x40,0x40,0x40,0x44,0xfe,0x8,0x48,0x50,0x20,0x50,0x8e,0x4,0x0,0x88,0x44,0x4,
-+0x10,0x20,0x7d,0x44,0x7c,0x45,0x7c,0x10,0xfe,0x28,0x55,0x92,0x7c,0x10,0x11,0x10,0x0,0x4,0xde,0x44,0x44,0x54,0xcc,0x44,0x44,0xcc,0x54,0x44,0x44,0x44,0x54,0x88,
-+0x20,0x10,0x13,0xfc,0x8,0x10,0x10,0x37,0x58,0x94,0x10,0x10,0x10,0x11,0x12,0x14,0x10,0x38,0xc0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x12,0x12,0x12,0x2f,0x22,0x6f,0xa2,0x3f,0x24,0x27,0x24,0x24,0x28,0x33,0x20,0x20,0x10,0x10,0x10,0x94,0x3e,0xc4,0x24,0xa8,0x28,0xa8,0x90,0x90,0xa8,0x28,0x46,0x84,
-+0x2,0x4,0x1f,0x11,0x15,0x11,0x1f,0x11,0x15,0x11,0x1,0xff,0x2,0x4,0x18,0x60,0x0,0x10,0xf8,0x10,0x50,0x10,0xf0,0x10,0x50,0x10,0x4,0xfe,0x80,0x60,0x1c,0x8,
-+0x10,0x11,0x17,0x14,0x5d,0x54,0x57,0x94,0x15,0x14,0x10,0x1f,0x10,0x11,0x12,0x1c,0x80,0x4,0xfe,0x44,0x54,0x44,0xfc,0x44,0x54,0x4,0x40,0xfe,0xa0,0x10,0xe,0x4,
-+0x0,0x41,0x37,0x14,0x85,0x64,0x27,0xc,0x15,0x24,0xe0,0x2f,0x20,0x21,0x22,0x2c,0x80,0x4,0xfe,0x44,0x54,0x44,0xfc,0x44,0x54,0x4,0x40,0xfe,0xa0,0x10,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x4,0x1f,0x11,0x11,0x11,0x1f,0x10,0x10,0x10,0x10,0xf,0x0,0x40,0x44,0xfe,0x40,0x50,0xf8,0x10,0x10,0x10,0xf0,0x10,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x11,0x19,0x37,0xd1,0x11,0x12,0x12,0x15,0x58,0x20,0x44,0xe4,0x44,0x54,0x54,0xd4,0x14,0x54,0xf4,0x54,0x54,0x44,0x44,0x44,0x94,0x8,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x12,0x12,0x12,0x14,0x58,0x20,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x18,0xe,0x4,0x0,
-+0x0,0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x4a,0x7a,0x4a,0x4,0x8,0x10,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x18,0xe,0x4,0x0,
-+0x0,0x8,0x7f,0x4a,0x4a,0x4a,0x4a,0x4a,0x4b,0x4a,0x4a,0x7a,0x4a,0x2,0x1,0x0,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0x48,0xf8,0x8,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x12,0x1f,0x28,0x45,0x80,0x3f,0x21,0x21,0x21,0x3f,0x20,0x20,0x20,0x20,0x1f,0x0,0x48,0x7c,0xa0,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x20,0x10,0x8,0xe,0x4,0x0,
-+0x0,0x0,0x1f,0x10,0x90,0x57,0x54,0x14,0x34,0x57,0xd4,0x14,0x24,0x24,0x43,0x0,0x80,0x44,0xfe,0x0,0x4,0xfe,0x44,0x44,0x44,0xfc,0x4,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x0,0x3f,0x21,0x21,0x21,0x21,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x1f,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0xfc,0x13,0x10,0x14,0x19,0x31,0xd1,0x12,0x12,0x14,0x14,0x58,0x23,0xa0,0x90,0x90,0x84,0xfe,0x80,0x80,0xf8,0x8,0x8,0x90,0x60,0x20,0x50,0x8e,0x4,
-+0x4,0x7e,0x44,0x44,0x47,0x7c,0x10,0x11,0x5d,0x51,0x52,0x52,0x5c,0x74,0xc8,0x3,0xa0,0x90,0x90,0x84,0xfe,0x80,0x80,0xf8,0x8,0x8,0x90,0x60,0x20,0x50,0x8e,0x4,
-+0x28,0x28,0xff,0x29,0x39,0x11,0x7d,0x55,0x55,0x7d,0x11,0xff,0x11,0x11,0x10,0x10,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x50,0x20,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x15,0xff,0x11,0x7d,0x11,0xff,0x11,0x31,0x39,0x55,0x55,0x91,0x10,0x10,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x11,0x11,0x11,0xfd,0x11,0x11,0x11,0x11,0x1d,0xf1,0x40,0x0,0x0,0x3,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x3f,0x1,0x7f,0x89,0x22,0x7f,0x22,0x3e,0x8,0x7f,0x49,0x7f,0x8,0x7f,0x8,0x9,0xf8,0x0,0xfe,0x24,0x8,0x7c,0x48,0x48,0x78,0x48,0x48,0x78,0x48,0x48,0x88,0x18,
-+0x0,0x3f,0x24,0x24,0x3f,0x1,0x1,0x3f,0x1,0x1,0xff,0x2,0x4,0x8,0x1f,0x0,0x8,0xfc,0x48,0x48,0xf8,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x20,0x10,0xf8,0x8,
-+0x4,0x4,0xc,0x32,0x1,0x2,0xc,0x30,0xdf,0x11,0x11,0x1f,0x10,0x10,0x10,0xf,0x40,0x20,0x58,0x88,0x0,0x80,0x60,0x18,0xf6,0x10,0x10,0xf0,0x10,0x4,0x4,0xfc,
-+0x2,0x4,0x8,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x0,0x20,0x40,0x84,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0xff,0x1,0x2,0x4,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x4,0xfe,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x17,0x14,0x14,0xff,0x14,0x10,0x1b,0x30,0xd0,0x1f,0x10,0x11,0x12,0x57,0x20,0x4,0xfe,0xa4,0xa4,0xfc,0x44,0x50,0xf8,0x40,0x44,0xfe,0x80,0x10,0x8,0xfc,0x4,
-+0x8,0x8,0xf,0x10,0x10,0x33,0x52,0x92,0x12,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x0,0x4,0xfe,0x40,0x88,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x7e,0x44,0x54,0x54,0x55,0x54,0x54,0x54,0x54,0x54,0x10,0x28,0x24,0x45,0x82,0x40,0x40,0x44,0x7e,0x88,0x8,0x48,0x48,0x48,0x50,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x4,0xe,0x78,0x8,0x8,0x7e,0x8,0x8,0xff,0x8,0x9,0x8,0x10,0x10,0x20,0x40,0x8,0xfc,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x8,0x1c,0xf1,0x11,0x11,0xfd,0x11,0x39,0x35,0x50,0x51,0x97,0x10,0x10,0x10,0x10,0x20,0x44,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x12,0xf9,0x20,0x2f,0x20,0x24,0xfa,0x21,0x21,0x22,0x22,0x3c,0xe4,0x48,0x0,0x0,0x4,0x7e,0x10,0xd0,0x10,0x90,0xfc,0x10,0x10,0x90,0x50,0x50,0x14,0xfe,0x0,
-+0x1,0x9,0xfd,0x21,0x25,0x25,0x25,0xf5,0x25,0x29,0x21,0x22,0x3a,0xe2,0x44,0x8,0x0,0x4,0x7e,0x10,0x10,0x10,0x10,0x7c,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0x21,0x22,0x27,0x24,0xfe,0x25,0x24,0x2f,0x34,0xe6,0x25,0x24,0x24,0x28,0xb2,0x41,0x4,0x3e,0xa4,0xa4,0xa4,0xa4,0xc2,0xbc,0xa4,0xa4,0xa4,0x98,0x88,0x94,0xa4,0x42,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x11,0x15,0x19,0x31,0xd1,0x12,0x12,0x14,0x59,0x20,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x48,0x48,0x50,0x30,0x20,0x50,0x8e,0x4,0x0,
-+0x8,0x12,0x3f,0x22,0x32,0x2a,0x22,0xfe,0x22,0x32,0x2a,0x22,0x22,0x22,0x4a,0x85,0x8,0x7c,0x48,0x48,0x48,0x86,0x0,0xfc,0x44,0x48,0x28,0x10,0x30,0x48,0x8e,0x4,
-+0x0,0x2b,0x28,0x24,0x45,0x43,0x85,0x7f,0x25,0x25,0x25,0x25,0x24,0x24,0x4c,0x83,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x12,0x12,0x14,0x19,0x10,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x48,0x48,0x50,0x30,0x20,0x50,0x8e,0x4,0x0,
-+0x8,0x48,0x49,0x49,0x49,0x7d,0x41,0x41,0x79,0x49,0x49,0x4a,0x4a,0x4c,0x89,0x8,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x48,0x48,0x50,0x30,0x20,0x50,0x8e,0x4,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x12,0x1c,0x33,0xd0,0x10,0x10,0x11,0x11,0x52,0x24,0x20,0xa0,0xa0,0x90,0x10,0xe,0x4,0x8,0xfc,0x88,0x88,0x88,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x12,0x11,0xfc,0x13,0x14,0x18,0x30,0xd7,0x10,0x10,0x10,0x10,0x50,0x20,0x40,0x40,0x48,0x50,0x40,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x8,0x8,0xa,0x11,0x10,0x37,0x30,0x50,0x90,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x48,0x50,0x40,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x40,0x20,0xf8,0x7,0x54,0x55,0xfd,0x25,0x25,0x25,0x3d,0xe5,0x26,0x4b,0x90,0x0,0x10,0x48,0xbe,0x40,0x54,0x54,0x7e,0x48,0x48,0x48,0x7e,0x48,0xa8,0x98,0x8,0x8,
-+0x1,0x21,0x19,0x9,0x1,0x3f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x8,0x18,0x20,0x0,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x2,0x2,0x3f,0x2,0x2,0x12,0x32,0x22,0x44,0x84,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x30,0x2c,0x26,0x22,0x20,0x20,0xa0,0x40,0x0,
-+0x10,0x10,0x21,0x20,0x44,0xf8,0x11,0x20,0x40,0xfc,0x3,0x0,0x1c,0xe0,0x40,0x0,0x20,0x20,0x24,0xac,0xb0,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x8,0x8,0xa,0xff,0x8,0x8,0x7e,0x8,0xa,0xff,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0xa,0xff,0x8,0x7e,0x8,0xff,0x8,0x11,0x3f,0xd1,0x11,0x11,0x11,0x11,0x1,0x0,0x7c,0x48,0x50,0x58,0x44,0x64,0x58,0x50,0xf0,0x10,0x10,0x10,0x50,0x20,0x0,
-+0x11,0x11,0x11,0x17,0xf9,0x11,0x37,0x39,0x55,0x57,0x91,0x11,0x12,0x12,0x14,0x10,0x0,0x3e,0x22,0xe4,0x24,0x28,0xe4,0x24,0x22,0xe2,0x22,0x34,0x28,0x20,0x20,0x20,
-+0x10,0x10,0x11,0x10,0xfc,0x13,0x32,0x38,0x57,0x50,0x90,0x10,0x10,0x11,0x12,0x14,0x40,0x28,0xfc,0x88,0x50,0xfe,0x44,0x20,0xfe,0x80,0xf8,0x88,0x88,0x8,0x28,0x10,
-+0x8,0x7c,0x49,0x48,0x48,0x7b,0x4a,0x48,0x4f,0x78,0x48,0x48,0x48,0x48,0x89,0x1a,0x40,0x28,0xfc,0x88,0x50,0xfe,0x44,0x20,0xfe,0x80,0xf8,0x88,0x88,0x88,0x28,0x10,
-+0x11,0x11,0x21,0x27,0x49,0xf1,0x27,0x41,0xf9,0x47,0x1,0x19,0xe2,0x42,0x4,0x0,0x0,0x3e,0x22,0xe4,0x24,0x28,0xe4,0x24,0x22,0xe2,0x22,0x34,0x28,0x20,0x20,0x20,
-+0x10,0x10,0x17,0x10,0xfd,0x10,0x37,0x39,0x55,0x52,0x95,0x10,0x13,0x10,0x10,0x10,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0x20,0x50,0x4e,0xf4,0x40,0xf8,0x40,0x40,0x40,
-+0x0,0x8,0xfd,0x10,0x10,0x23,0x22,0x3c,0x67,0xa4,0x24,0x24,0x24,0x3c,0x25,0x2,0x40,0x28,0xfc,0x88,0x50,0xfe,0x44,0x20,0xfe,0x80,0xf8,0x88,0x88,0x88,0x28,0x10,
-+0x10,0x10,0x10,0x14,0x7f,0x54,0x54,0x55,0x54,0x7c,0x13,0x14,0x1c,0xe4,0x40,0x0,0x20,0x20,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x11,0x1c,0x20,0x23,0x7e,0x90,0x13,0x7c,0x10,0x10,0x14,0x18,0x11,0x2,0x40,0x28,0xfc,0x88,0x50,0xfe,0x44,0x20,0xfe,0x80,0xf8,0x88,0x88,0x88,0x28,0x10,
-+0x8,0x8,0xb,0x11,0x10,0x37,0x54,0x90,0x1f,0x11,0x11,0x11,0x11,0x11,0x12,0x14,0x80,0x50,0xf8,0x10,0xa0,0xfc,0x88,0x40,0xfe,0x0,0xf0,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x40,0x37,0x11,0x0,0xf,0xe8,0x20,0x2f,0x21,0x21,0x21,0x29,0x31,0x22,0x4,0x80,0x48,0xfc,0x10,0xa0,0xfe,0x84,0x40,0xfe,0x0,0xf0,0x10,0x10,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x4,0xf,0x10,0x2f,0x48,0x8,0xf,0x8,0x8,0x8,0x7,0x0,0x40,0x44,0xfe,0x40,0x10,0xf8,0x10,0x90,0x90,0x90,0x90,0x30,0x4,0x4,0xfc,0x0,
-+0x4,0x3e,0x24,0x25,0x26,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x45,0x94,0x8,0x80,0x88,0xfc,0x8,0x28,0xf8,0x28,0x28,0x28,0xe8,0x28,0x10,0x2,0x2,0xfe,0x0,
-+0x4,0x4,0x4,0xf,0x10,0x20,0x5f,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x10,0xf8,0x10,0x90,0xd0,0x90,0x90,0x90,0x90,0x30,0x4,0x4,0xfc,0x0,
-+0x2,0x1,0x7f,0x8,0x17,0x14,0x37,0x50,0x9f,0x12,0x14,0x5,0xc,0x14,0x66,0x4,0x0,0x8,0xfc,0x0,0xf0,0x10,0xf0,0x80,0xfc,0xa0,0x90,0x8,0xd0,0x20,0x5c,0x8,
-+0x1,0x7f,0x1,0x3f,0x1,0xff,0x8,0x49,0x29,0x2a,0x1c,0x2a,0xc9,0x8,0x28,0x10,0x4,0x84,0x4,0x24,0x24,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x84,0x84,0x14,0x8,
-+0x8,0xff,0x8,0x47,0x20,0x27,0x84,0x4f,0x14,0x27,0xe4,0x20,0x2f,0x22,0x21,0x20,0x20,0xfe,0x50,0xfc,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x44,0x10,0xfe,0x10,0x10,0x30,
-+0x1f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x8,0xf,0x10,0x2f,0x48,0xf,0x8,0x8,0x7,0xf0,0x0,0xfe,0x2,0x74,0x0,0x70,0x0,0xf0,0x90,0xd0,0x90,0x90,0xb4,0x4,0xfc,
-+0x8,0xb,0xa,0x12,0x12,0x33,0x32,0x50,0x9f,0x10,0x10,0x11,0x12,0x14,0x18,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x44,0xfe,0x40,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x10,0x17,0x14,0x24,0x27,0x60,0xbf,0x21,0x22,0x2c,0x1,0x3f,0x1,0x1,0xff,0x0,0x10,0xf8,0x10,0x10,0xf0,0x80,0xfc,0xc0,0xa0,0x9c,0x80,0xf8,0x0,0x4,0xfe,0x0,
-+0x20,0x20,0x20,0x3c,0x25,0x4a,0x45,0xa1,0x21,0x21,0x21,0x25,0x29,0x31,0x20,0x0,0x80,0x80,0x84,0xfe,0x4,0x14,0xfc,0x14,0x14,0xf4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0x0,0x3f,0x1,0x1,0x1f,0x1,0x1,0x1,0x1,0x7f,0x0,0x0,0x0,0xfe,0x2,0x4,0x10,0xf8,0x0,0x20,0xf0,0x0,0x60,0x20,0x8,0xfc,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x11,0x1d,0x31,0xd1,0x11,0x11,0x11,0x11,0x50,0x20,0x80,0x80,0x84,0xfe,0x4,0x14,0xfc,0x14,0x14,0xf4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0x8,0xfc,0x8,0x8,0x28,0x10,0x0,0xf8,0x8,0x90,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x1f,0x10,0x1f,0x10,0x1f,0x4,0x7f,0x4,0xff,0x4,0x9,0x35,0xc3,0x9,0x11,0x3,0xf0,0x10,0xf0,0x10,0xf0,0x40,0xfc,0x40,0xfe,0x40,0x20,0x5e,0x84,0x20,0x10,0x0,
-+0x8,0x10,0x22,0xd4,0x48,0x31,0x2a,0xcc,0x14,0x24,0xcc,0x14,0x64,0x4,0x28,0x10,0x40,0x40,0x40,0x44,0xfe,0x4,0x4,0x84,0x44,0x44,0x4,0x4,0x4,0x4,0x28,0x10,
-+0x8,0x8,0x1e,0x14,0x28,0x7f,0xaa,0x2a,0x3e,0x2a,0x2a,0x3e,0x0,0xe,0x70,0x20,0x40,0x40,0x44,0x7e,0x84,0x14,0xf4,0x94,0x94,0xf4,0x94,0x88,0x82,0x82,0x7e,0x0,
-+0x13,0x12,0x13,0x16,0x5b,0x51,0x57,0x91,0x1f,0x11,0x12,0x2d,0x28,0x41,0x82,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x10,0xfc,0x10,0xfe,0x10,0x48,0x56,0xe4,0x50,0x48,0xc0,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x30,0x38,0x55,0x52,0x94,0x18,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x20,0x20,0x40,0x40,0xd0,0x48,0x46,0x42,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x8,0xfd,0x11,0x11,0x21,0x25,0x3f,0x65,0xa4,0x25,0x27,0x24,0x3c,0x24,0x0,0x20,0x44,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x4,0xfc,0x4,0x4,0x7c,0x4,0x4,0xfc,0x4,0x0,0x12,0x51,0x50,0x90,0xf,0x0,0x44,0x7e,0x40,0x48,0x7c,0x40,0x44,0x7e,0x40,0x0,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x1,0x2,0x1f,0x11,0x11,0x1f,0x11,0x12,0x1f,0x5,0x9,0xff,0x1,0x1,0x1,0x1,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x4,0x4,0x4,0x4,0x4,0x7c,0x4,0x4,0x4,0x4,0x4,0x4,0x1c,0xe4,0x44,0x0,0x80,0x80,0x88,0x98,0xa0,0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x4,0x7c,0x4,0x7c,0x4,0x7c,0x6,0x4,0x3f,0x9,0x1f,0x1,0xff,0x1,0x1,0x1,0x88,0xfc,0x80,0xfc,0x80,0xfc,0x80,0x10,0xf8,0x0,0xf0,0x4,0xfe,0x0,0x0,0x0,
-+0x4,0x4,0x7c,0x4,0x1c,0xe4,0x40,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0x40,0x44,0x78,0x42,0x42,0x3e,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x0,0x1f,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x12,0x2,0x4,0x8,0x30,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x20,0x18,0x8,
-+0x10,0x10,0x11,0x1d,0x21,0x41,0xbd,0x11,0x11,0xfd,0x11,0x11,0x14,0x18,0x11,0x2,0x0,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x50,0x88,0x6,0x2,
-+0x8,0x8,0xf,0x10,0x12,0x31,0x51,0x9f,0x10,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x80,0x48,0xfc,0x0,0x18,0x10,0x24,0xfe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x44,0x29,0x11,0x29,0x49,0x89,0x9,0x19,0x29,0x49,0x89,0x8,0x8,0x51,0x22,0x0,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x50,0x88,0x6,0x2,
-+0x4,0x7,0x8,0x14,0x23,0x2,0xc,0x30,0xdf,0x11,0x11,0x1f,0x11,0x11,0x1f,0x10,0x0,0xf0,0x20,0x40,0x80,0x80,0x60,0x1e,0xf4,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x8,0xf,0x14,0x12,0x23,0xc,0x30,0xdf,0x11,0x1f,0x11,0x1f,0x2,0x29,0x28,0x47,0x0,0xe0,0x40,0x80,0x80,0x60,0x1e,0xf4,0x10,0xf0,0x10,0xf0,0x0,0x88,0x94,0xf4,
-+0x10,0x10,0x17,0x14,0x5a,0x51,0x51,0x9f,0x10,0x13,0x12,0x2a,0x26,0x46,0x83,0x2,0x80,0x48,0xfc,0x0,0x18,0x10,0x24,0xfe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x10,0x10,0x5,0xfd,0x9,0x11,0x35,0x59,0x95,0x11,0x12,0x12,0x14,0x18,0x13,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0x20,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x1,0x1,0x7f,0x2,0x5,0x9,0x37,0xc1,0x9,0x8,0x7f,0x8,0x8,0x8,0x10,0x20,0x0,0x8,0xfc,0x80,0x40,0x30,0xce,0x4,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,
-+0x4,0x4,0xff,0x4,0x1,0x1,0xff,0x3,0x5,0x9,0x11,0x2f,0xc1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x0,0x4,0xfe,0x80,0x40,0x20,0x10,0xee,0x4,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x7f,0x5,0x5,0x5,0x9,0x9,0x11,0x2f,0xc1,0x1,0x1,0x1,0x0,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x20,0x20,0x10,0xee,0x4,0x0,0x0,0x0,
-+0x8,0xa,0x1f,0x28,0x45,0x1,0x7f,0x3,0x5,0x9,0x11,0x2f,0xc1,0x1,0x1,0x1,0x40,0x48,0x7c,0xa0,0x10,0x0,0xfc,0x80,0x40,0x20,0x10,0xee,0x4,0x0,0x0,0x0,
-+0x1,0x21,0x21,0x3f,0x0,0x3e,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x22,0x4a,0x85,0x0,0x8,0x8,0xf8,0x8,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0x88,0xa8,0x10,
-+0x10,0x17,0x24,0x24,0x44,0xff,0x14,0x24,0x44,0xff,0x44,0x4,0x1c,0xe4,0x4a,0x11,0x4,0xbe,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xc4,0x94,0x8,
-+0x0,0xff,0x1,0x7,0x19,0xe1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x41,0x81,0x4,0xfe,0x0,0x60,0x18,0x4,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x28,0x10,
-+0x0,0xff,0x4,0x8,0x1f,0x28,0xc8,0xf,0x9,0x1,0x7d,0x5,0x9,0x11,0x61,0x3,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0xf0,0x8,0x18,0xa0,0x40,0x20,0x1e,0x4,0x0,
-+0x0,0x7a,0x4a,0x4b,0x48,0x7b,0x12,0x12,0x13,0x5a,0x52,0x53,0x5a,0xe2,0x44,0x9,0x40,0x44,0x44,0xfc,0x4,0xbe,0xa4,0xa4,0xbc,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xcc,
-+0x4,0x42,0x21,0x2f,0x2,0x2,0xe2,0x2f,0x22,0x22,0x22,0x22,0x24,0x58,0x8f,0x0,0x10,0x20,0x40,0xf8,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x26,0xfc,0x0,
-+0x0,0x4f,0x20,0x27,0x4,0x4,0xe7,0x20,0x2f,0x28,0x2f,0x28,0x2f,0x50,0x8f,0x0,0x10,0xf8,0x0,0xf0,0x10,0x10,0xf0,0x0,0xf8,0x88,0xf8,0x88,0xf8,0x6,0xfc,0x0,
-+0x1,0x1f,0x12,0x11,0x10,0x1f,0x0,0x3f,0x21,0x3f,0x21,0x3f,0x0,0xff,0x4,0x18,0x10,0xf8,0x10,0x10,0x90,0xf0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x40,0x40,
-+0x0,0x20,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,0x20,0x26,0x38,0x60,0x0,0x80,0x80,0x80,0x80,0x88,0x98,0xa0,0xc0,0x80,0x80,0x80,0x82,0x82,0x82,0x7e,0x0,
-+0x2,0x3f,0x22,0x22,0x3e,0x9,0xff,0x8,0x7f,0x41,0x5d,0x55,0x5d,0x41,0x7f,0x41,0x0,0x7c,0x44,0x44,0x48,0x48,0xd0,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0xa,0x1f,0x28,0x45,0x0,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x1,0x1,0x0,0x20,0x28,0x7c,0xa0,0x10,0x7c,0x80,0x10,0x78,0x80,0x8,0x7c,0x80,0x2,0x2,0xfe,
-+0x8,0x8,0x10,0x13,0x22,0x4a,0x8a,0x12,0x33,0x52,0x93,0x12,0x14,0x14,0x19,0x16,0x40,0x40,0x40,0xfc,0x44,0x48,0x40,0x40,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x4,0xfe,0x11,0x7d,0x11,0x1f,0xf1,0x0,0x7f,0x4,0x8,0x1f,0x28,0xc8,0xf,0x8,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xfc,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x8,0xff,0x9,0x2,0x3f,0x24,0x23,0x24,0x3f,0x0,0x20,0x3e,0x20,0x26,0x78,0x20,0x24,0xfe,0x20,0x10,0xf8,0x90,0x10,0x90,0xf0,0x0,0x88,0x98,0xa0,0xc4,0x84,0x7c,
-+0x4,0x4,0xff,0x4,0x49,0x2a,0xc,0x7f,0x49,0x49,0x5d,0x6b,0x49,0x49,0x41,0x43,0x40,0x44,0xfe,0x40,0x20,0x24,0x3e,0x44,0xa4,0x24,0x24,0x28,0x10,0x28,0x46,0x84,
-+0x20,0x20,0x20,0x3e,0x20,0x22,0x2c,0x70,0x21,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x80,0x80,0x98,0xe0,0x80,0x84,0x84,0x7c,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x20,0x3e,0x20,0x2e,0x30,0x0,0xff,0x10,0x1e,0x22,0x52,0xc,0x8,0x10,0x60,0x80,0x98,0xe0,0x80,0x88,0x78,0x4,0xfe,0x80,0x88,0x98,0xa0,0xc0,0x84,0x84,0x7c,
-+0x0,0x20,0x24,0x3e,0x20,0x20,0x2e,0x30,0x4,0x12,0x50,0x51,0x96,0x18,0x67,0x0,0x80,0x88,0x98,0xa0,0xc0,0x84,0x84,0x7c,0x0,0x40,0x88,0x6,0x12,0x10,0xf0,0x0,
-+0x0,0x3,0x7d,0x1,0x1,0x3f,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x1,0x1,0x1,0x38,0xc0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,0x0,
-+0x1,0x0,0x3f,0x20,0x24,0x24,0x24,0x24,0x27,0x24,0x24,0x24,0x25,0x4e,0x84,0x0,0x0,0x88,0xfc,0x0,0x40,0x40,0x44,0x4c,0x50,0x60,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x1,0x0,0x3f,0x20,0xaf,0x68,0x2f,0x28,0x2f,0x60,0xbf,0x24,0x24,0x44,0x88,0x10,0x0,0x88,0xfc,0x0,0xf8,0x88,0xf8,0x88,0xf8,0x0,0xfe,0x10,0x10,0x10,0x10,0x10,
-+0x20,0x1b,0x8,0x40,0x40,0x5f,0x40,0x41,0x42,0x44,0x48,0x50,0x40,0x42,0x41,0x40,0x4,0xfe,0x4,0x84,0xa4,0xf4,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x14,0x8,
-+0x8,0x49,0x2b,0x2c,0x9,0x7f,0x49,0x49,0x5d,0x5b,0x69,0x49,0x49,0x4b,0x40,0x41,0x20,0x20,0x20,0x24,0x7e,0x84,0x44,0x44,0x44,0x48,0x28,0x10,0x28,0x48,0x86,0x4,
-+0x8,0x49,0x2a,0x8,0x7f,0x49,0x5d,0x6b,0x49,0x43,0x8,0xff,0x8,0x8,0x10,0x20,0x20,0x20,0x24,0x3e,0x44,0xc4,0x28,0x10,0x28,0x46,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x2,0x1,0x1,0x1,0x8,0x8,0x48,0x48,0x48,0x89,0xa,0xc,0x18,0x28,0x47,0x0,0x0,0x0,0x20,0x30,0x20,0x40,0x48,0x46,0x82,0x0,0x0,0x10,0x10,0x10,0xf0,0x0,
-+0x0,0x0,0x3e,0x23,0x22,0x22,0x3e,0x23,0x20,0x3e,0x23,0x62,0xa2,0x3e,0x20,0x0,0x40,0x20,0x8,0xfc,0x0,0x88,0x50,0xfe,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,
-+0x2,0x3f,0x22,0x22,0x3e,0x21,0x3e,0x62,0xa2,0x3e,0x20,0x1f,0x0,0x0,0x7f,0x0,0x20,0x14,0xfe,0x44,0x28,0xfe,0x10,0xfe,0x10,0x90,0x80,0xf8,0x80,0x84,0xfe,0x0,
-+0x2,0x3f,0x22,0x3e,0x21,0x3e,0x62,0xbe,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x20,0xfc,0x88,0x50,0xfe,0x20,0xf8,0x20,0x20,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x30,
-+0x1,0x4f,0x29,0x9,0x9,0xf,0xe8,0x28,0x2f,0x39,0x29,0x29,0x2f,0x50,0x8f,0x0,0x20,0x90,0x14,0xfe,0x0,0x44,0x28,0xfe,0x10,0x10,0x7c,0x10,0x10,0x16,0xfc,0x0,
-+0x2,0x7a,0x4a,0x53,0x52,0x62,0x52,0x4b,0x48,0x48,0x68,0x53,0x40,0x40,0x4f,0x40,0x20,0x20,0x24,0xac,0x30,0x20,0xa4,0x1c,0x40,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x28,0x28,0xfe,0x29,0x3b,0x15,0x7d,0x55,0x55,0x7d,0x11,0xff,0x11,0x11,0x11,0x11,0x84,0xfe,0x90,0x7c,0x54,0x54,0x7c,0x54,0x54,0x7c,0x10,0x50,0x20,0x30,0x4e,0x84,
-+0x0,0x20,0x10,0x10,0x7,0x0,0xf0,0x10,0x11,0x11,0x11,0x12,0x14,0x28,0x47,0x0,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x8,0x8,0x8,0x50,0x20,0x6,0xfc,0x0,
-+0x10,0x10,0x23,0x22,0x4a,0xfb,0x12,0x22,0x43,0xf6,0x4a,0x3,0x1a,0xe2,0x42,0x2,0x80,0x48,0xfc,0x8,0x8,0xf8,0x0,0x4,0xfe,0x94,0x94,0xfc,0x94,0x94,0x94,0xc,
-+0x4,0x7e,0x45,0x54,0x54,0x54,0x55,0x54,0x54,0x54,0x54,0x10,0x28,0x47,0x82,0x0,0x8,0x1c,0xe0,0x0,0x40,0x20,0xfc,0x4,0x8,0x10,0x20,0x40,0x80,0x46,0x3c,0x0,
-+0x1,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x19,0x29,0x2f,0x49,0x89,0x9,0x8,0x0,0x88,0xfc,0x8,0x8,0xf8,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x10,0x17,0x10,0x10,0x27,0x24,0x67,0xa4,0x27,0x24,0x22,0x21,0x20,0x21,0x22,0x2c,0x4,0xfe,0x40,0x44,0xfe,0x44,0xfc,0x44,0xfc,0x44,0x40,0x40,0x80,0x60,0x1e,0x4,
-+0x2,0x1,0x7f,0x4,0x14,0x14,0x24,0x44,0x1f,0x8,0x4,0x2,0x1,0x2,0xc,0x30,0x0,0x8,0xfc,0x40,0x50,0x48,0x4c,0x44,0xf0,0x20,0x40,0x80,0x0,0xc0,0x3c,0x8,
-+0x2,0x1,0x1,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x40,0x20,0x10,0x10,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x10,0x10,0x7c,0x8,0x2a,0x2a,0xfe,0x12,0x10,0xfc,0x11,0x11,0x12,0x24,0x40,0x10,0x88,0x88,0xbe,0x84,0x94,0x94,0xbe,0x88,0x88,0xbe,0x8,0x8,0x8,0x8,0x8,
-+0x20,0x12,0x11,0x7d,0x8,0x2f,0x29,0xfd,0x11,0x11,0xfd,0x11,0x11,0x11,0x21,0x40,0x20,0x10,0x10,0x7c,0x8,0x28,0x28,0x7e,0x10,0x10,0x7c,0x10,0x50,0x90,0x10,0x10,
-+0x20,0x10,0x10,0x7d,0x9,0x2b,0x28,0xfc,0x11,0x13,0xfc,0x10,0x10,0x13,0x20,0x40,0x10,0x88,0x88,0x3e,0x4,0xd4,0x54,0xbe,0x8,0xc8,0x3e,0x8,0xc8,0x8,0x8,0x8,
-+0x0,0x40,0x27,0x24,0x4,0x7,0xe4,0x27,0x26,0x26,0x2b,0x2a,0x32,0x50,0x8f,0x0,0x80,0x48,0xfc,0x8,0x8,0xf8,0x0,0xf8,0xa8,0xa8,0xf8,0xa8,0xa8,0x6,0xfc,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x37,0x38,0x54,0x51,0x91,0x12,0x14,0x10,0x11,0x10,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x40,0x40,0x50,0x48,0x4c,0x44,0x40,0x40,0x80,
-+0x5,0x7,0x4,0x3f,0x24,0x27,0x3c,0x27,0x20,0x2f,0x29,0x29,0x29,0x49,0x90,0x20,0x0,0x84,0xc,0xd0,0xa0,0x4,0x8c,0x90,0x20,0x44,0xc,0x10,0x22,0x42,0xfe,0x0,
-+0x0,0x7b,0x48,0x48,0x49,0x79,0x49,0x49,0x48,0x79,0x48,0x4b,0x48,0x49,0x4a,0x98,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x0,0xfc,0x0,0xfe,0xa8,0x24,0x22,0x60,
-+0x1,0x1,0x7f,0x1,0x3f,0x1,0x1,0xff,0x2,0x5,0xc,0x34,0xc4,0x5,0x6,0x4,0x0,0x8,0xfc,0x0,0xf8,0x0,0x4,0xfe,0x0,0x10,0xa0,0x40,0x30,0xe,0x4,0x0,
-+0x8,0x2a,0x1c,0x7f,0x49,0x5d,0x6b,0x47,0x8,0x3f,0x51,0x1f,0x11,0x1f,0x0,0xff,0x20,0x24,0x3e,0x44,0xa8,0x10,0x2e,0xc4,0x90,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,
-+0x49,0x2a,0x8,0x7f,0x49,0x5d,0x6b,0x49,0x43,0x0,0x2a,0x29,0x28,0x48,0x7,0x0,0x20,0x20,0x24,0x3e,0x48,0xa8,0x10,0x2e,0x44,0x0,0x10,0x88,0xa4,0x24,0xe0,0x0,
-+0x1,0x3f,0x21,0x21,0x21,0x3f,0x28,0x9,0xff,0x9,0x9,0x11,0x11,0x25,0x42,0x0,0x4,0x84,0x4,0x24,0x24,0x24,0x24,0x24,0xa4,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x0,0x3f,0x21,0xa7,0x64,0x27,0x24,0x27,0x64,0xa7,0x21,0x22,0x26,0x3b,0x42,0x81,0x84,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x20,0x10,0x6e,0x84,0x8,0xf8,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x31,0x39,0x52,0x52,0x94,0x10,0x10,0x10,0x10,0x10,0x80,0x82,0x82,0x84,0xe8,0x90,0x82,0xc2,0xa4,0x88,0x92,0x82,0x84,0x88,0x90,0xa0,
-+0x0,0x20,0x11,0x0,0xfc,0xb,0x48,0x28,0x29,0x11,0x29,0x25,0x45,0x81,0x3,0x0,0x10,0x10,0xf4,0x12,0x10,0xfe,0x10,0x50,0x50,0x70,0x50,0x48,0x48,0x6a,0x86,0x2,
-+0x2,0x42,0x2a,0x2b,0xa,0x8a,0x5f,0x2,0x2a,0x2a,0xd3,0x42,0x44,0x48,0x50,0x1,0x4,0xfe,0x10,0xa4,0x7e,0x44,0xd4,0x54,0x54,0xd4,0x54,0x54,0x10,0x28,0x46,0x82,
-+0x0,0x40,0x2f,0x28,0x10,0x83,0x52,0x13,0x12,0x22,0xe2,0x3f,0x20,0x23,0x22,0x24,0x80,0x40,0xfe,0x2,0x64,0x80,0x10,0xf8,0x20,0x20,0x24,0xfe,0x0,0x20,0x18,0x8,
-+0x2,0x1,0x3f,0x20,0x40,0xf,0x8,0xf,0x8,0x8,0x8,0xff,0x0,0xc,0x8,0x10,0x0,0x0,0xfc,0x4,0xe8,0x0,0x20,0xf0,0x40,0x40,0x44,0xfe,0x0,0x40,0x30,0x10,
-+0x10,0x10,0x17,0x14,0xfc,0x11,0x15,0x19,0x31,0xd1,0x11,0x1f,0x10,0x11,0x51,0x22,0x40,0x20,0xfe,0x2,0x34,0xc0,0x10,0xf8,0x10,0x10,0x14,0xfe,0x0,0x90,0xc,0x4,
-+0x0,0x0,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0xff,0x0,0x4,0xc,0x10,0x20,0x20,0xf0,0x0,0x0,0x0,0x10,0xf8,0x40,0x40,0x44,0xfe,0x0,0x40,0x30,0x18,0x8,
-+0x0,0x40,0x30,0x10,0x0,0xf,0x11,0x12,0x22,0xe4,0x24,0x28,0x30,0x20,0x22,0x21,0x80,0x80,0x84,0x8c,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x88,0x8e,0x84,0x80,0x80,0x0,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x33,0x3a,0x56,0x52,0x92,0x13,0x12,0x12,0x12,0x12,0x0,0x4,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x64,0x9c,0xc,0x4,0x4,0x14,0x8,
-+0x0,0x0,0xff,0x1,0x1,0x1,0x3f,0x21,0x21,0x21,0x22,0x24,0x28,0x20,0x20,0x20,0x0,0x4,0xfe,0x0,0x0,0x8,0xfc,0x8,0x8,0x88,0x48,0x28,0x28,0x8,0x28,0x10,
-+0x0,0x3f,0x1,0x7f,0x1,0x3f,0x1,0xff,0x1,0x3f,0x3,0x5,0x9,0x11,0x61,0x1,0x78,0x80,0x8,0xfc,0x0,0xf0,0x14,0xfe,0x10,0xf0,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x20,0x21,0x20,0x3c,0x47,0x48,0xa0,0x20,0x27,0x20,0x20,0x24,0x28,0x31,0x22,0x4,0x0,0x8,0x90,0x0,0xfc,0x90,0x90,0x94,0xfe,0x90,0x90,0x90,0x90,0x10,0x10,0x10,
-+0x0,0x20,0x2f,0x20,0x28,0xb0,0xa7,0xa4,0x24,0x24,0x24,0x25,0x54,0x4c,0x84,0x4,0x0,0x4,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x64,0x94,0x14,0x4,0x4,0x14,0x8,
-+0x0,0x0,0x1f,0x10,0x90,0x57,0x50,0x10,0x37,0x54,0x94,0x14,0x25,0x24,0x44,0x4,0x80,0x44,0xfe,0x0,0x8,0xfc,0x40,0x44,0xfe,0x44,0x44,0xa4,0x14,0x4,0x14,0x8,
-+0x10,0xc,0x4,0x3f,0x4,0x4,0x4,0x4,0xff,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x10,0x30,0x40,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x8,0xfc,0x11,0x11,0x11,0x7d,0x11,0x11,0x11,0x1e,0xf2,0x42,0x4,0x8,0x3,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xfc,0x4,0x88,0x48,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x8,0xff,0x8,0x20,0x13,0x92,0x42,0xa,0x12,0xe2,0x24,0x24,0x24,0x29,0x32,0x20,0x24,0xfe,0x20,0x20,0xfe,0x22,0x24,0xf8,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x13,0x10,0x12,0xfd,0x17,0x11,0x1a,0x34,0xd3,0x12,0x12,0x13,0x12,0x52,0x23,0x38,0xc0,0x44,0x4c,0x50,0xfe,0x50,0x4e,0x44,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,
-+0x10,0x10,0x12,0x12,0xff,0x10,0x14,0x18,0x11,0x31,0xd2,0x12,0x14,0x18,0x51,0x22,0x40,0x50,0x48,0x40,0xfe,0x80,0x80,0xf8,0x8,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x20,0x20,0x20,0x38,0x47,0x80,0x78,0x20,0x21,0xfa,0x24,0x21,0x28,0x30,0x20,0x0,0x40,0x40,0x40,0x48,0xfc,0x40,0xe0,0xd0,0x48,0x4e,0x44,0xf0,0x40,0x40,0x40,0x40,
-+0x0,0x40,0x30,0x17,0x4,0x84,0x44,0xf,0x14,0x25,0xe4,0x24,0x28,0x29,0x32,0x24,0x40,0x40,0x40,0xfc,0x44,0x48,0x40,0xf8,0x8,0x10,0xa0,0x40,0xa0,0x10,0xe,0x4,
-+0x20,0x20,0x2f,0x20,0x27,0xfc,0x27,0x24,0x27,0x24,0x20,0x2f,0x22,0x21,0x20,0x20,0x50,0x48,0xfe,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x44,0x10,0xfe,0x10,0x10,0x50,0x20,
-+0x8,0xa,0x7f,0x8,0x8,0x7f,0x41,0x82,0x3e,0x4,0x8,0x7e,0x8,0x8,0x29,0x12,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x10,0x10,0x17,0x10,0xfb,0x12,0x13,0x1a,0x33,0xd2,0x10,0x1f,0x12,0x11,0x50,0x20,0x50,0x48,0xfc,0x40,0xf8,0x48,0xf8,0x48,0xf8,0x48,0x10,0xfe,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x10,0x1d,0x21,0x21,0x7d,0x91,0x11,0x7d,0x11,0x11,0x15,0x19,0x11,0x0,0x40,0x40,0x84,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x10,0x12,0x1f,0x28,0x45,0x20,0x10,0x83,0x42,0xa,0x13,0xe2,0x22,0x22,0x23,0x22,0x40,0x44,0x7e,0xa0,0x10,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x8,0x11,0x11,0x31,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x40,0x40,0x84,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x2,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x11,0x1,0x3f,0x21,0x21,0x21,0x21,0x21,0x1,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0x8,0x28,0x10,0x0,
-+0x8,0x8,0x12,0x3f,0x22,0x32,0x2a,0x22,0xfe,0x22,0x32,0x2a,0x22,0x22,0x4a,0x84,0x20,0x20,0x44,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,
-+0x8,0x7c,0x4b,0x48,0x4b,0x7a,0x4c,0x49,0x48,0x78,0x4f,0x48,0x48,0x48,0x49,0x98,0x40,0x48,0xfc,0x40,0xfc,0x4,0x8,0xf0,0x20,0x44,0xfe,0x40,0x40,0x40,0x40,0x80,
-+0x8,0x7c,0x4f,0x48,0x4b,0x7a,0x4b,0x4a,0x4b,0x7a,0x48,0x4f,0x4a,0x49,0x48,0x98,0x50,0x48,0xfe,0x40,0xf8,0x48,0xf8,0x48,0xf8,0x48,0x10,0xfe,0x10,0x10,0x50,0x20,
-+0x2,0x42,0x32,0x1f,0x82,0x5f,0x50,0xf,0x11,0x22,0xe3,0x2e,0x22,0x22,0x2a,0x25,0x10,0x10,0x90,0xd4,0x3e,0xd4,0x54,0x94,0x14,0x24,0xa4,0x24,0x44,0x44,0x94,0x8,
-+0x0,0x40,0x30,0x13,0x82,0x62,0x22,0xa,0x13,0x22,0xe2,0x22,0x22,0x23,0x22,0x20,0x40,0x40,0x88,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,
-+0x4,0x7f,0x4,0x24,0x24,0x24,0x24,0x25,0x3e,0x2,0x2,0x1e,0xe2,0x42,0xb,0x4,0x0,0x8,0x88,0x50,0x20,0x50,0x88,0x8,0x4,0x8c,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x20,0x20,0x20,0x2f,0xf8,0x27,0x24,0x2c,0x37,0xe4,0x24,0x27,0x24,0x24,0xa4,0x44,0x40,0x50,0x48,0xfe,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x8,
-+0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x80,0x60,0x30,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x10,0x78,0x57,0x50,0x57,0x54,0x54,0x57,0x54,0x54,0x77,0x54,0x4,0x4,0x4,0x40,0x50,0x48,0xfe,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x8,
-+0x10,0x8,0x8,0x2,0xfe,0x4,0x8,0xa,0x1c,0x2a,0x48,0x88,0x8,0x8,0x8,0x8,0x40,0x40,0x40,0x40,0x40,0x40,0x60,0x50,0x4c,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x20,0x21,0x23,0x22,0xfb,0x22,0x23,0x22,0x23,0x22,0x38,0xe7,0x40,0x0,0x0,0x0,0x80,0x8,0xfc,0x8,0xf8,0x0,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0xff,0x0,0x0,0x1,0x1,0x3,0x5,0x9,0x11,0x21,0x41,0x1,0x1,0x1,0x1,0x4,0xfe,0x80,0x80,0x0,0x0,0x40,0x20,0x18,0xc,0x4,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x2,0xff,0x4,0x9,0x11,0x3f,0x51,0x91,0x11,0x11,0x11,0x11,0x1,0x1,0x0,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,
-+0x1,0x9,0x9,0x9,0x9,0x9,0xff,0x1,0x9,0xd,0x11,0x21,0x0,0x3,0xc,0x70,0x0,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x10,0x18,0x20,0x20,0xc0,0x0,0x0,0x0,
-+0x10,0x3e,0x49,0x0,0x27,0x10,0x13,0x82,0x43,0xa,0x13,0xe2,0x2f,0x21,0x20,0x20,0x40,0xfc,0x20,0x48,0xfc,0x40,0xf8,0x48,0xf8,0x48,0xf8,0x48,0xfe,0x10,0x90,0x30,
-+0x10,0x8,0x2,0x7f,0x0,0x22,0x14,0xff,0x2,0x3f,0x22,0x22,0x22,0x3e,0x22,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x10,0x10,0x10,0x13,0x58,0x55,0x51,0x93,0x15,0x19,0x11,0x11,0x11,0x10,0x10,0x10,0x40,0x40,0x44,0xfe,0x80,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x2c,0x20,0x20,0x20,
-+0x20,0x20,0x2f,0x2a,0xfb,0x26,0x25,0x2b,0x32,0xe5,0x28,0x27,0x22,0x22,0xa5,0x40,0x80,0x40,0xfe,0x2,0xbc,0xa4,0x28,0x18,0x8,0xf6,0x0,0xfc,0x48,0x44,0x44,0x80,
-+0x0,0x48,0x2f,0x10,0x2b,0x48,0xf,0x18,0x2b,0x4a,0x8b,0xa,0xb,0xa,0x52,0x22,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x18,
-+0x4,0x4,0x3f,0x4,0xff,0x10,0x8,0x7f,0x8,0x11,0x3a,0x54,0x93,0x19,0x11,0x2,0x40,0x50,0x48,0x40,0xfe,0x40,0x44,0x44,0x48,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x8,0x8,0x8,0x8,0xfe,0x8,0x18,0x1c,0x2a,0x28,0x48,0x89,0x8,0x8,0x8,0x8,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x30,0x30,0x50,0x90,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x0,0x0,0x0,0xff,0x0,0x1,0x1,0x2,0x4,0x8,0x10,0x60,0x0,0x2,0x1,0x80,0x80,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,
-+0x4,0x7e,0x44,0x54,0x57,0x54,0x54,0x54,0x54,0x54,0x55,0x2a,0x24,0x44,0x80,0x0,0x10,0x10,0x10,0x14,0xfe,0x10,0x30,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x8,0x7f,0x48,0x4a,0x49,0x78,0x48,0x4f,0x48,0x78,0x48,0x49,0x4a,0x7c,0x48,0x0,0x1c,0xe0,0x88,0x48,0x50,0x0,0x44,0xfe,0x40,0xc0,0xe0,0x50,0x4e,0x44,0x40,0x40,
-+0x4,0x7f,0x44,0x45,0x44,0x7c,0x10,0x13,0x5c,0x50,0x50,0x50,0x5d,0xe2,0x40,0x0,0x1c,0xe0,0x44,0x26,0xa8,0x0,0x24,0xfe,0x20,0x60,0x70,0xa8,0x26,0x24,0x20,0x20,
-+0x0,0x0,0x7f,0x0,0x11,0x8,0x1,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x1,0x8,0x7c,0x80,0x8,0x18,0xa0,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,0x0,
-+0x1,0xe,0xf1,0x49,0x2a,0x20,0x8,0xff,0x8,0x1c,0x1b,0x29,0x48,0x88,0x8,0x8,0x0,0x8,0x18,0x20,0x40,0x84,0xc,0x10,0x20,0x40,0x4,0xc,0x10,0x20,0x40,0x80,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x12,0x9,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x40,0x44,0xfe,0x40,0x38,0xc0,0x10,0x20,0x4,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x4,0x4,0xff,0x14,0x16,0x12,0x2c,0x68,0x17,0x20,0x5f,0x81,0x9,0x19,0x21,0x3,0x40,0x44,0xfe,0x40,0xf8,0x90,0x60,0x20,0xd0,0xe,0xf4,0x0,0x20,0x18,0x8,0x0,
-+0x10,0x1e,0x10,0x3e,0x44,0x29,0x12,0x65,0xf,0x38,0xcf,0x8,0xf,0xa,0x9,0xc,0x0,0xf8,0x88,0x50,0x20,0x50,0x8c,0x44,0xe0,0x3e,0xe4,0x20,0xe0,0x10,0xa0,0x78,
-+0x2,0x2,0x4,0x1f,0x2,0xff,0x4,0x8,0x13,0x2c,0xc1,0xe,0x0,0x1,0xe,0x70,0x0,0x40,0x20,0xf0,0x4,0xfe,0x40,0xa0,0x10,0x4e,0x84,0x10,0x60,0x80,0x0,0x0,
-+0x0,0x3f,0x1,0x1,0xff,0x2,0x5,0x9,0x3f,0xd1,0x11,0x1f,0x1,0x1,0x3f,0x0,0x10,0xf8,0x0,0x4,0xfe,0x80,0x40,0x20,0xfe,0x14,0x10,0xf0,0x0,0x10,0xf8,0x8,
-+0x0,0x4,0x7e,0x10,0x10,0x1f,0x22,0x22,0x65,0x94,0x8,0x8,0x10,0x20,0x43,0x80,0x40,0x50,0x48,0x40,0x7c,0xc0,0x48,0x7c,0xc0,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x21,0x21,0x21,0x2f,0xb2,0xad,0xa5,0x2f,0x21,0x21,0x21,0x2f,0x25,0x21,0x21,0x21,0x0,0x6,0x38,0xe0,0x20,0x20,0x3e,0xe8,0x28,0x28,0xe8,0x28,0x48,0x48,0x88,0x8,
-+0x20,0x20,0x21,0x27,0xb0,0xaf,0xa1,0x22,0x24,0x39,0x22,0x20,0x23,0x20,0x20,0x27,0x80,0xa0,0x10,0xf8,0x80,0xfe,0x20,0x50,0x8e,0x24,0x40,0x88,0x10,0x20,0xc0,0x0,
-+0x10,0x10,0x10,0x14,0x54,0x59,0x51,0x91,0x11,0x11,0x11,0x29,0x25,0x45,0x81,0x1,0x20,0x20,0x20,0x20,0x20,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x4,0x4,0xff,0x4,0x1,0x2,0x4,0x18,0x6f,0x88,0x8,0x8,0x8,0x8,0x7,0x0,0x40,0x44,0xfe,0x40,0x0,0x80,0x40,0x30,0xee,0x24,0xa0,0x40,0x10,0x10,0xf0,0x0,
-+0x8,0x10,0x3c,0x24,0x34,0x2d,0x26,0xfc,0x24,0x34,0x2c,0x24,0x24,0x24,0x54,0x88,0x20,0x20,0x50,0x50,0x88,0x6,0x4,0xf8,0x88,0x88,0xa8,0x90,0x80,0x84,0x84,0x7c,
-+0x1,0x1,0x2,0x2,0x4,0x8,0x30,0xcf,0x8,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x80,0x80,0x40,0x20,0x1e,0xe4,0x20,0x20,0xa0,0x40,0x8,0x8,0xf8,0x0,
-+0x0,0x40,0x31,0x11,0x82,0x44,0x48,0x13,0x12,0x22,0xe2,0x22,0x22,0x22,0x21,0x20,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0xf4,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,0x0,
-+0x4,0xff,0x4,0x4,0x5f,0x50,0x57,0x75,0x17,0x74,0x57,0x55,0x95,0x27,0x44,0x80,0x84,0xfe,0xa8,0xa4,0xfe,0x20,0xa0,0x24,0xa4,0xa4,0xa8,0x28,0x10,0xb2,0x4a,0x86,
-+0x10,0x11,0x11,0x11,0xfc,0x17,0x14,0x1f,0x30,0xd0,0x1f,0x10,0x11,0x12,0x54,0x20,0x10,0xf8,0x10,0xf0,0x4,0xbe,0xa4,0xbc,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x10,0x10,0x55,0x39,0x10,0xfc,0x10,0x33,0x39,0x55,0x91,0x11,0x11,0x12,0x14,0x10,0x10,0x50,0x50,0x7c,0x90,0x10,0xfe,0x4,0x7e,0x44,0x44,0x44,0x7c,0x80,0x7e,0x0,
-+0x10,0x10,0x17,0x10,0xff,0x12,0x33,0x3a,0x57,0x54,0x91,0x11,0x11,0x11,0x11,0x11,0x90,0x94,0xfe,0x90,0xfc,0x94,0xfc,0x94,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x3f,0x24,0x3f,0x24,0x3f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x40,0x44,0xfe,0x48,0xfc,0x48,0xf8,0x48,0xf8,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x8,0x8,0x7f,0x8,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x1,0x1,0x1,0x1,0x20,0x28,0xfc,0x20,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x20,0x2f,0x28,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x22,0x45,0x44,0x88,0x10,0x4,0xfe,0x0,0x84,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x24,0x4,0x84,0x94,0x8,
-+0x10,0x3e,0x50,0x9,0x1,0xff,0x1,0x3f,0x21,0x23,0x25,0x5,0x9,0x11,0x61,0x1,0x20,0x7c,0xa0,0x10,0x4,0xfe,0x8,0xfc,0x8,0x88,0x58,0x20,0x10,0xe,0x4,0x0,
-+0x10,0x10,0x17,0x24,0x25,0x65,0xa5,0x25,0x25,0x25,0x25,0x21,0x22,0x24,0x28,0x20,0x0,0x44,0xe4,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x44,0x4,0x84,0x44,0x14,0x8,
-+0x2,0x1f,0x12,0x12,0x12,0x12,0x12,0xff,0x12,0x12,0x12,0x12,0x12,0x12,0x26,0x41,0x8,0x7c,0x48,0x48,0x48,0x48,0x48,0xfe,0x48,0x48,0x48,0x48,0x48,0x48,0xa8,0x10,
-+0x0,0x40,0x27,0x24,0x85,0x65,0x25,0xd,0x15,0x25,0xe5,0x21,0x22,0x24,0x28,0x20,0x0,0x44,0xe4,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x4,0x84,0x44,0x54,0x8,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x17,0x10,0x10,0x1f,0x11,0x22,0x24,0x4f,0x80,0x4,0xfe,0x4,0x4,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x10,0x8,0xfc,0x4,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x7a,0x12,0x53,0x5c,0x51,0x51,0x5d,0xf1,0x41,0x1,0x88,0x50,0x0,0xfe,0x22,0xaa,0x72,0x22,0xfe,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x4,
-+0x10,0x10,0x17,0x10,0xf8,0x17,0x10,0x19,0x36,0xd4,0x14,0x17,0x14,0x14,0x57,0x24,0x10,0x38,0xc0,0x40,0x44,0xfe,0x40,0x44,0x5e,0x44,0x44,0x5c,0x44,0x44,0xfc,0x4,
-+0x0,0x0,0x3f,0x0,0x12,0x11,0x9,0x4,0x4,0x2,0x1,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0xf8,0x8,0x8,0x10,0x10,0x20,0x40,0x80,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x8,0x8,0xff,0xa,0x2,0xff,0x4,0x8,0x10,0x17,0x30,0x50,0x90,0x10,0x1f,0x10,0x20,0x24,0xfe,0x20,0x4,0xfe,0x0,0x40,0x48,0xfc,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x1,0x2,0x4,0x19,0x21,0xdf,0x1,0x9,0x19,0x21,0x5,0x2,0x40,0x44,0xfe,0x40,0x0,0x80,0x40,0x30,0xe,0xf4,0x0,0x20,0x18,0x8,0x0,0x0,
-+0x1,0x1,0xff,0x5,0x9,0x11,0x3f,0xd0,0x10,0x1f,0x10,0x10,0x1f,0x0,0xff,0x0,0x0,0x4,0xfe,0x40,0x20,0x10,0xfe,0x14,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x0,
-+0x0,0x8,0xfc,0x17,0x10,0x21,0x22,0x7c,0xab,0x2a,0x2b,0x2a,0x2b,0x38,0x27,0x0,0x40,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x0,
-+0x11,0x11,0x17,0x11,0xfc,0x10,0x15,0x1a,0x34,0xd3,0x10,0x12,0x12,0x14,0x51,0x20,0x10,0x10,0xfc,0x10,0x40,0xa0,0x10,0x4e,0x44,0xf8,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x2,0x1,0x7f,0x48,0x8e,0x12,0x2c,0x68,0x17,0x20,0x5f,0x81,0x9,0x11,0x25,0x2,0x0,0x0,0xfe,0x2,0xf4,0x90,0x60,0x20,0xd0,0xe,0xf4,0x0,0x20,0x18,0x8,0x0,
-+0x0,0x4,0x8,0x10,0x2f,0xc4,0x4,0x8,0x30,0x1,0x21,0x21,0x21,0x21,0x3f,0x20,0x80,0x40,0x20,0x10,0xee,0x24,0x20,0xa0,0x40,0x0,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x4,0x7f,0x1,0x1,0x3f,0x1,0x2,0xff,0x4,0x8,0x17,0x20,0x40,0x80,0x1f,0x20,0x48,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x20,0xf0,0x80,0x80,0x88,0xfc,
-+0x0,0x40,0x37,0x14,0x0,0x0,0xf7,0x10,0x10,0x10,0x17,0x10,0x14,0x18,0x10,0x0,0x80,0x40,0xfe,0x2,0x24,0x70,0x80,0x80,0x88,0xfc,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x11,0x1d,0x31,0xd1,0x11,0x11,0x11,0x12,0x54,0x20,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x20,0x20,0x30,0x2c,0x24,0x20,0x20,0x20,0x20,
-+0x8,0x8,0x28,0x2e,0x28,0x28,0x2e,0x71,0x1,0xff,0x3,0x5,0x9,0x11,0x21,0x1,0x80,0x88,0x98,0xa0,0xc0,0x84,0x84,0x7c,0x0,0xff,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x4,0x8,0x12,0xea,0x2c,0x29,0x14,0xe6,0xa,0x12,0x66,0xa,0x13,0xe2,0x14,0x8,0x8,0x8,0x8,0x8,0x8,0xfe,0x8,0x18,0x18,0x28,0x48,0x88,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x11,0x12,0xff,0x12,0x16,0x1b,0x30,0xd1,0x12,0x1c,0x10,0x11,0x50,0x20,0x40,0x80,0xf0,0x20,0xf8,0x48,0x48,0xf8,0xa0,0x22,0x1e,0xc0,0x30,0x80,0x60,0x10,
-+0x10,0x10,0x11,0x13,0xf8,0x17,0x10,0x19,0x32,0xd4,0x19,0x12,0x10,0x11,0x50,0x23,0x80,0xa0,0x10,0xf8,0x80,0xfe,0xa0,0x10,0x48,0x8e,0x24,0x40,0x90,0x20,0x40,0x80,
-+0x11,0x10,0x10,0x7d,0x55,0x55,0x55,0x55,0x7d,0x11,0x14,0x1f,0xe4,0x40,0x0,0x0,0x4,0x8c,0x50,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x20,0x20,0x20,
-+0x20,0x20,0x20,0x39,0x4b,0x56,0x82,0x23,0x20,0x21,0x26,0x20,0x28,0x31,0x20,0x0,0x80,0x80,0xf0,0x20,0xf8,0x48,0x48,0xf8,0xa2,0x22,0x1e,0xc0,0x30,0x80,0x60,0x10,
-+0x1,0x21,0x11,0x12,0x7,0x2,0xf2,0x13,0x10,0x11,0x16,0x10,0x10,0x15,0x18,0x0,0x0,0x0,0xf0,0x20,0xf8,0x48,0x48,0xf8,0xa2,0x22,0x1e,0xc0,0x30,0x80,0x60,0x10,
-+0x10,0x10,0x27,0x24,0x4d,0xf5,0x25,0x45,0xfd,0x5,0x5,0x1c,0xe5,0x48,0x13,0x20,0x40,0x24,0xfe,0x0,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x10,0x10,0x10,0x1d,0x20,0x20,0x7c,0x91,0x11,0xfd,0x11,0x11,0x15,0x19,0x12,0x4,0x20,0x10,0x4,0xfe,0x0,0x84,0x48,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x1,0x1,0x7f,0x8,0x4,0x4,0x1f,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x8,0xfc,0x10,0x20,0x48,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x17,0x50,0x44,0x42,0x4f,0x49,0x4f,0x49,0x4f,0x41,0x5f,0x41,0x41,0x41,0x40,0x4,0xfe,0x4,0x44,0x84,0xe4,0x24,0xe4,0x24,0xe4,0x4,0xf4,0x4,0x4,0x4,0xc,
-+0x8,0xff,0x0,0x7f,0x55,0x5d,0x55,0x7f,0x0,0x3e,0x32,0x2a,0x3e,0x0,0xff,0x0,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x10,0x28,0x46,0x82,
-+0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x1,0x45,0x29,0x11,0x29,0x49,0x9,0x18,0x2b,0x4a,0x8a,0xb,0xa,0xa,0x53,0x22,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x20,0x27,0x20,0x20,0xf8,0x21,0x27,0x21,0x21,0x21,0x3a,0xe2,0x44,0x8,0x11,0x0,0x0,0xf8,0x20,0x40,0x80,0x4,0xfe,0x24,0x24,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x1,0x11,0x9,0x1,0x7f,0x40,0x80,0x1f,0x0,0x0,0x7f,0x2,0x4,0x8,0x1f,0x0,0x0,0x10,0x20,0x0,0xfe,0x2,0x24,0xf0,0x0,0x8,0xfc,0x0,0x40,0x20,0xf0,0x10,
-+0x1,0x11,0x9,0x7f,0x40,0x8f,0x8,0xf,0x1,0x1f,0x11,0x11,0x11,0x11,0x1,0x1,0x0,0x10,0x20,0xfe,0x2,0xe4,0x20,0xe0,0x10,0xf8,0x10,0x10,0x10,0x50,0x20,0x0,
-+0x8,0x8,0x8,0x8,0x8,0x9,0x8,0xff,0x9,0x9,0x8,0x8,0x8,0x9,0xe,0x8,0x0,0x10,0x30,0x40,0x80,0x0,0x4,0xfe,0x0,0x0,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x8,0xa,0x9,0x10,0x17,0x34,0x58,0x93,0x10,0x10,0x1f,0x10,0x10,0x11,0x13,0x10,0x40,0x48,0x50,0x40,0xfe,0x2,0x14,0xf8,0x0,0x4,0xfe,0x40,0x90,0x8,0xfc,0x4,
-+0x8,0x7f,0x48,0x48,0x48,0x79,0x4b,0x48,0x48,0x79,0x49,0x4a,0x4c,0x48,0x49,0x98,0x0,0xf8,0x20,0x40,0x80,0x4,0xfe,0x94,0x94,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x49,0x29,0x2a,0x8,0x7f,0x41,0x41,0x5d,0x55,0x55,0x55,0x5d,0x41,0x45,0x42,0x20,0x20,0x20,0x24,0x7e,0x84,0x44,0x44,0x48,0x28,0x28,0x10,0x28,0x28,0x46,0x84,
-+0x10,0x13,0x10,0x7c,0x54,0x55,0x57,0x7c,0x54,0x55,0x55,0x7e,0x54,0x10,0x11,0x10,0x0,0xf8,0x20,0x40,0x80,0x4,0xfe,0x94,0x94,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x1,0x9,0x7d,0x49,0x49,0x49,0x49,0x48,0x4b,0x4a,0x7a,0x4b,0x2,0x2,0x3,0x2,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x13,0x12,0x12,0x23,0x22,0x62,0xa3,0x20,0x27,0x24,0x24,0x27,0x24,0x24,0x27,0x24,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x13,0x10,0x7c,0x10,0x10,0xfd,0x12,0x51,0x5d,0x51,0x51,0x71,0x48,0x87,0x0,0x8,0xfc,0x88,0x88,0x88,0xa8,0x10,0x0,0xf8,0x8,0x8,0x8,0xf8,0x6,0xfc,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x15,0x1a,0x32,0xd4,0x10,0x10,0x10,0x10,0x50,0x27,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x48,0x50,0x10,0x20,0xc0,0x0,
-+0x10,0x10,0x10,0x1c,0x21,0x21,0x7d,0x92,0x12,0x7c,0x10,0x10,0x14,0x18,0x10,0x7,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x48,0x50,0x10,0x20,0xc0,0x0,
-+0x8,0xa,0x7f,0x8,0x9,0x7f,0x41,0x7f,0x41,0x7f,0x48,0xa,0xff,0x8,0x8,0x9,0x4,0x7e,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x94,0x8,
-+0x2,0x22,0xff,0xa2,0xa2,0xaf,0xa8,0xaf,0xa8,0xaf,0xaa,0xe2,0xbf,0x2,0x2,0x2,0x4,0x3e,0xa4,0x24,0xa4,0xfc,0xa4,0xa4,0xa4,0xbc,0x24,0xa4,0xe4,0x24,0x44,0x8c,
-+0x2,0x42,0x2f,0x22,0x2,0x8f,0x48,0x4f,0x8,0x1f,0x2a,0xe2,0x3f,0x22,0x22,0x22,0x4,0x3e,0xa4,0x24,0xa4,0xfc,0xa4,0xa4,0xa4,0xbc,0x24,0xa4,0xe4,0x24,0x44,0x8c,
-+0x11,0x11,0x22,0x11,0x3f,0x21,0x3f,0x21,0x3f,0x1,0xff,0x5,0x9,0x11,0x61,0x1,0x10,0x10,0x20,0x10,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x40,0x20,0x1c,0x8,0x0,
-+0x0,0x8,0x7c,0x48,0x49,0x49,0x49,0x4a,0x4a,0x4c,0x48,0x78,0x48,0x0,0x0,0x7,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x48,0x10,0x10,0x20,0xc0,0x0,
-+0x10,0x10,0x10,0x10,0x55,0x59,0x51,0x92,0x12,0x14,0x10,0x28,0x24,0x44,0x80,0x7,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x48,0x10,0x10,0x20,0xc0,0x0,
-+0x2,0x2,0x7f,0x4,0x9,0x11,0x21,0x3f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x0,0x8,0xfc,0x0,0x0,0x0,0x20,0xf0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x10,0xfc,0x11,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x17,0x50,0x20,0x20,0x20,0x20,0x20,0x20,0x28,0x3c,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x22,0x21,0x2f,0x22,0xf4,0x2f,0x20,0x37,0x24,0xe7,0x24,0x27,0x24,0x24,0xa4,0x45,0x10,0x10,0xd0,0x14,0xbe,0xc4,0x24,0xa8,0xa8,0xa8,0x90,0x90,0xa8,0xa8,0xc6,0x84,
-+0x25,0x3f,0x44,0xbf,0x4,0x3f,0x24,0x25,0x0,0x3f,0x1,0x1f,0x1,0x7f,0x1,0x3,0x4,0x84,0x24,0xa4,0x24,0xa4,0xa4,0x8c,0x30,0xc0,0x0,0xf0,0x0,0xfc,0x0,0x0,
-+0x10,0x12,0x12,0x22,0x42,0x92,0x13,0x2e,0x62,0xa2,0x22,0x23,0x20,0x20,0x21,0x22,0x0,0x4,0xfe,0x24,0x24,0xa4,0xe4,0x24,0x24,0x64,0xa4,0x24,0x44,0x84,0x28,0x10,
-+0x2,0x41,0x2f,0x22,0x4,0x8f,0x40,0x47,0x14,0x27,0xe4,0x27,0x24,0x24,0x24,0x25,0x10,0x10,0xd0,0x14,0xbe,0xc4,0x24,0xa8,0xa8,0xa8,0x90,0x90,0xa8,0xa8,0xc6,0x84,
-+0x11,0x11,0x11,0x11,0xff,0x11,0x33,0x3b,0x55,0x55,0x99,0x11,0x11,0x11,0x11,0x11,0x0,0x3e,0x22,0x24,0xe4,0x28,0x28,0xa4,0x62,0x22,0x22,0x32,0x2a,0x24,0x20,0x20,
-+0x0,0x3f,0x21,0x21,0x21,0x3f,0x20,0x20,0x20,0x3f,0x21,0x21,0x21,0x21,0x3f,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x8,0xfc,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x25,0x25,0x24,0x24,0x44,0x45,0x86,0x4,0x10,0xf8,0x0,0x20,0xf0,0x0,0x8,0xfc,0x0,0x10,0xa0,0x40,0x30,0xe,0x4,0x0,
-+0x1,0x1,0x5,0xd,0x11,0x21,0x41,0x0,0x1,0x1,0x7f,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x40,0x20,0x18,0xc,0x4,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x0,
-+0x1f,0x10,0x1f,0x10,0x1f,0x0,0x3f,0x20,0x2f,0x20,0x3f,0x25,0x44,0x44,0x87,0x4,0xf0,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x0,0xf0,0x4,0xfe,0x8,0x90,0x60,0x1e,0x4,
-+0x10,0x10,0x10,0x10,0x53,0x5a,0x54,0x90,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x18,0x40,0x40,0x40,0x40,0xfc,0x44,0x48,0x40,0x40,0xa0,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x40,0x37,0x14,0x84,0x68,0x21,0x9,0x11,0x21,0xe1,0x21,0x22,0x22,0x24,0x28,0x0,0x0,0xfc,0x4,0x8,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x78,0x48,0x57,0x50,0x60,0x51,0x4a,0x4b,0x48,0x69,0x51,0x42,0x44,0x40,0x40,0x40,0x40,0x44,0xfe,0x80,0xa0,0x20,0x28,0xfc,0x20,0x28,0x24,0x26,0x22,0xa0,0x40,
-+0x10,0x10,0x10,0x7d,0x11,0x12,0xfc,0x11,0x10,0x5c,0x51,0x50,0x70,0x48,0x87,0x0,0x40,0x40,0xa0,0x10,0x28,0x6e,0x84,0x20,0x60,0x88,0x18,0x20,0x40,0x86,0xfc,0x0,
-+0x20,0x10,0x10,0x0,0xfc,0xb,0x10,0x34,0x59,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x90,0x90,0x10,0x10,0x10,0x50,0x20,
-+0x12,0x11,0x17,0x14,0xf9,0x11,0x11,0x18,0x37,0xd0,0x13,0x10,0x17,0x10,0x51,0x20,0x48,0x50,0xfe,0x2,0xf4,0x10,0xf0,0x18,0xe0,0x40,0xf8,0x40,0xfc,0x40,0x40,0x80,
-+0x4,0xe,0x78,0x8,0x9,0xfe,0x8,0x1c,0x1a,0x28,0x29,0x49,0x8a,0x8,0x8,0x8,0x40,0x40,0x80,0x80,0xfe,0x4,0x28,0x20,0xa8,0xa4,0x26,0x22,0x20,0x20,0xa0,0x40,
-+0x20,0x20,0x20,0x27,0xfc,0x24,0x24,0x27,0x24,0x24,0x3c,0xe6,0x45,0x4,0x8,0x10,0x20,0x28,0x24,0xfe,0x20,0x20,0x24,0xa4,0xa8,0xa8,0x90,0x90,0x30,0x4a,0x8a,0x6,
-+0x10,0x13,0x10,0x12,0xfd,0x12,0x37,0x38,0x57,0x52,0x92,0x13,0x11,0x10,0x1f,0x10,0x0,0xa8,0xb4,0xa8,0x10,0x8,0xfe,0x4,0xf8,0x8,0x8,0xf8,0x10,0xa0,0xfe,0x0,
-+0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x3e,0x22,0x22,0x22,0x2a,0x24,0x40,0x81,0x0,0x80,0xa0,0x90,0xfc,0x80,0x80,0x84,0x44,0x48,0x48,0x30,0x20,0x62,0x92,0xa,0x6,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x8,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,
-+0x0,0x0,0x1f,0x1,0xff,0x5,0x3d,0x5,0xd,0x75,0x3,0x5,0x9,0x11,0x61,0x1,0x20,0xf0,0x0,0x4,0xfe,0x40,0x58,0x60,0x44,0x3c,0x80,0x40,0x30,0x1c,0x8,0x0,
-+0x8,0x1d,0xf1,0x11,0x11,0xff,0x11,0x38,0x37,0x54,0x50,0x91,0x10,0x10,0x17,0x10,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x0,0xfe,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x1b,0x20,0x40,0x12,0x1a,0x32,0x52,0x97,0x10,0x2a,0x29,0x28,0x48,0x7,0x0,0x8,0xfc,0x40,0x50,0x78,0x40,0x40,0x48,0xfc,0x0,0x10,0x88,0xa4,0x24,0xe0,0x0,
-+0x0,0x47,0x31,0x15,0x82,0x44,0x4f,0x10,0x17,0x24,0xe4,0x27,0x22,0x21,0x3f,0x20,0x0,0x50,0x68,0x50,0x20,0x10,0xfe,0x4,0xf0,0x10,0x10,0xf0,0x20,0x44,0xfe,0x0,
-+0x0,0x40,0x20,0x27,0x4,0x4,0xe4,0x27,0x24,0x24,0x24,0x2e,0x35,0x24,0x8,0x10,0x20,0x28,0x24,0xfe,0x20,0x20,0x24,0xa4,0xa8,0xa8,0x90,0x90,0x30,0x4a,0x8a,0x6,
-+0x1f,0x0,0x1,0x1,0x79,0xf,0x9,0x11,0x17,0x21,0x21,0x4f,0x81,0x1,0x5,0x2,0xf0,0x20,0x40,0x84,0x2c,0xf0,0x20,0x10,0xd0,0x8,0x4e,0xe4,0x0,0x0,0x0,0x0,
-+0x0,0x47,0x24,0x24,0x7,0x0,0xef,0x20,0x20,0x27,0x20,0x20,0x2f,0x50,0x8f,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0xf8,0x80,0xa0,0xf0,0x80,0x90,0xf8,0x6,0xfc,0x0,
-+0x8,0xfc,0x9,0x49,0x49,0x49,0x49,0x48,0x7f,0x4,0x5,0x1c,0xe4,0x44,0x14,0x8,0x20,0x24,0xfe,0x24,0xfc,0x24,0xfc,0x4,0xfe,0x80,0xfc,0x4,0x4,0x4,0x28,0x10,
-+0x8,0x1c,0xf1,0x10,0x11,0xfc,0x10,0x38,0x37,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x0,0x8,0xfc,0x20,0x24,0xa4,0xa8,0x20,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x8,0x7c,0x48,0x49,0x4a,0x4d,0x48,0x48,0x48,0x48,0x79,0x4a,0x2,0x1,0x0,0x80,0x80,0x88,0xfc,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x1,0x0,0x1f,0x12,0x92,0x53,0x55,0x19,0x31,0x5f,0xd1,0x11,0x12,0x22,0x44,0x8,0x0,0x84,0xfe,0x0,0x4,0xfe,0x24,0x24,0x24,0xe4,0x24,0x24,0xa4,0x7c,0x24,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x17,0x18,0x30,0xd7,0x12,0x11,0x11,0x10,0x50,0x20,0x40,0x40,0x50,0xf8,0x40,0x48,0xfc,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x2,0x3f,0x22,0x22,0x3e,0x22,0x3e,0x2,0xff,0x8,0x2a,0x2f,0x28,0x58,0x87,0x0,0x40,0x40,0x40,0x40,0x48,0x58,0x60,0x40,0x40,0x44,0x44,0x3c,0x0,0x6,0xfc,0x0,
-+0x0,0x40,0x32,0x12,0x82,0x63,0x2e,0x2,0x12,0x22,0xe2,0x22,0x22,0x22,0x21,0x20,0x40,0x40,0x40,0x48,0x7c,0xc8,0x48,0x48,0x48,0x48,0x68,0x50,0x42,0x2,0xfe,0x0,
-+0x0,0x43,0x22,0x22,0x2,0x3,0xe2,0x22,0x22,0x22,0x22,0x24,0x28,0x50,0x8f,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x80,0x80,0x40,0x20,0x1c,0x0,0x6,0xfc,0x0,
-+0x8,0x7c,0x9,0x9,0x9,0x79,0x41,0x47,0x41,0x79,0x9,0x9,0x9,0x9,0x50,0x20,0x20,0x20,0x20,0x20,0x24,0x3e,0xe4,0x24,0x24,0x24,0x34,0x28,0x22,0x2,0xfe,0x0,
-+0x8,0xfc,0x9,0x49,0x49,0x49,0x49,0x4b,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x28,0x10,0x20,0x20,0x20,0x20,0x24,0x3e,0xe4,0x24,0x24,0x24,0x34,0x28,0x22,0x2,0xfe,0x0,
-+0x2,0xff,0x24,0x24,0x3c,0x24,0x24,0x3c,0x24,0x24,0x3f,0xe4,0x44,0x7,0x4,0x4,0x10,0x10,0x10,0x90,0x94,0x9e,0x90,0x90,0x90,0x90,0x90,0x90,0x94,0xfe,0x0,0x0,
-+0x1,0x11,0x11,0x11,0x11,0x11,0xff,0x0,0x21,0x21,0x22,0x24,0x28,0x20,0x3f,0x20,0x0,0x20,0xf0,0x0,0x0,0x4,0xfe,0x0,0x8,0x8,0x88,0x68,0x28,0x8,0xf8,0x8,
-+0x8,0x8,0x9,0x13,0x10,0x30,0x50,0x91,0x16,0x10,0x10,0x13,0x10,0x10,0x10,0x17,0x80,0xfc,0x8,0x10,0xa0,0x40,0x90,0x10,0x20,0x7e,0x84,0x48,0x30,0x20,0xc0,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x14,0x14,0x12,0x11,0x10,0x20,0x20,0x40,0x80,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x1,0x1,0x1,0x3f,0x1,0x1,0xff,0x4,0x4,0x14,0x14,0x24,0x48,0x88,0x11,0x20,0x0,0x0,0x10,0xf8,0x0,0x4,0xfe,0x40,0x40,0x50,0x48,0x46,0x42,0x40,0x40,0x80,
-+0x20,0x20,0x27,0xf8,0x24,0x22,0x70,0x50,0x52,0x54,0x50,0x52,0x21,0x50,0x4f,0x80,0x0,0x4,0xbe,0x84,0xa4,0x94,0x84,0x84,0x94,0xa4,0x84,0x94,0x8,0x6,0xfc,0x0,
-+0x0,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x23,0x20,0x20,0x40,0x40,0x80,0x0,0x10,0x78,0x80,0x0,0x0,0x8,0xfc,0x80,0x80,0x80,0xe0,0xb0,0x90,0x80,0x80,0x80,
-+0x10,0x10,0x11,0x15,0x59,0x51,0x51,0x91,0x11,0x11,0x10,0x28,0x25,0x42,0x84,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x90,0x88,0xc,0x4,0x0,
-+0x2,0x1,0x1,0xff,0x2,0x4,0x8,0x1f,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x60,0x0,0x0,0x4,0xfe,0x0,0x40,0x20,0xf0,0x50,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x40,0x20,0x20,0x7,0x14,0x14,0x14,0x24,0xe7,0x24,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x1,0x1,0x1,0x3f,0x21,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x1,0x7e,0x20,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x10,0x8,0xfc,0x4,0x0,
-+0x1,0x21,0x21,0x3f,0x22,0x1,0x7f,0x40,0x9f,0x0,0x7f,0x1,0x11,0x11,0x25,0x2,0x0,0x8,0x8,0xf8,0x8,0x0,0xfe,0x2,0xf4,0x0,0xfc,0x0,0x20,0x18,0x8,0x0,
-+0x2,0x1,0x7f,0x42,0x82,0x2,0x3f,0x2,0x2,0x4,0x4,0x8,0x9,0x12,0x20,0x40,0x0,0x0,0xfe,0x2,0x84,0x50,0xf8,0x80,0x90,0xb0,0xc0,0x80,0x82,0x82,0x7e,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x2,0xff,0x28,0x2a,0xff,0xaa,0xaa,0xaa,0xc6,0x82,0xfe,0x82,0x82,0xfe,0x83,0x2,0x44,0x44,0x54,0x54,0x54,0x54,0xfc,0x54,0x54,0x54,0x54,0x54,0x94,0x94,0x4,0x4,
-+0x0,0x4,0x7f,0x54,0x57,0x54,0x57,0x7c,0x54,0x57,0x55,0x55,0x7e,0x44,0x8,0x0,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x80,0x88,0xfe,0x8,0x48,0x28,0x8,0x28,0x10,
-+0x0,0x7c,0x47,0x44,0x47,0x44,0x7f,0x10,0x10,0x5f,0x51,0x51,0x5a,0xe4,0x48,0x0,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x80,0x88,0xfe,0x8,0x48,0x28,0x8,0x28,0x10,
-+0x8,0x1f,0xf2,0x12,0x12,0xfe,0x12,0x3a,0x36,0x52,0x52,0x92,0x12,0x12,0x14,0x18,0x0,0xfe,0x22,0x22,0xfa,0x22,0x22,0xfa,0x2,0xfa,0x8a,0x8a,0x8a,0xfa,0x8a,0x4,
-+0x4,0xe,0x78,0x8,0xfe,0x8,0x1d,0x2a,0x48,0x9,0x2,0x29,0x28,0x48,0x7,0x0,0x20,0x20,0x20,0xa4,0xac,0xb0,0x50,0x48,0x8e,0x4,0x0,0x90,0xac,0x24,0xe0,0x0,
-+0x10,0x1f,0x28,0x45,0x1,0x7f,0x2,0x3f,0x4,0xff,0x8,0x1f,0x24,0x42,0x2,0x0,0x40,0x7c,0xa0,0x10,0x0,0xfc,0x0,0xf8,0x0,0xfe,0x10,0xfc,0x10,0x10,0x50,0x20,
-+0x9,0x9,0x9,0x11,0x17,0x31,0x51,0x91,0x11,0x11,0x11,0x12,0x12,0x14,0x18,0x10,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x10,0x17,0x24,0x24,0x4d,0xfc,0x14,0x25,0x44,0xfd,0x5,0x5,0x1d,0xe5,0x48,0x10,0x4,0xfe,0x44,0x44,0xf4,0x44,0x44,0xf4,0x4,0xf4,0x14,0x14,0x14,0xf4,0x14,0x8,
-+0x0,0x9,0x7f,0x49,0x49,0x7f,0x49,0x4b,0x4b,0x7d,0x49,0x49,0x49,0x79,0x49,0x1,0x80,0xd0,0x10,0x12,0x56,0xb8,0x10,0x90,0x50,0x10,0x28,0x28,0x28,0x46,0x84,0x0,
-+0x0,0x3f,0x2,0x2,0x2,0x2,0x2,0x1f,0x4,0x4,0x4,0x4,0x4,0x4,0xff,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0x2,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x1,0x1,0xff,0x2,0x4,0x18,0x60,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x20,0x14,0xfe,0x80,0x60,0x1c,0x8,
-+0x20,0x10,0x10,0x5,0xfc,0x8,0x10,0x34,0x58,0x94,0x10,0x10,0x10,0x11,0x12,0x14,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x1,0x1,0x21,0x21,0x21,0x21,0x3f,0x21,0x1,0x41,0x41,0x41,0x41,0x41,0x7f,0x40,0x0,0x0,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x27,0x24,0x24,0xff,0x24,0x75,0x6d,0xa5,0x25,0x24,0x25,0x25,0x2b,0x30,0x20,0x4,0xfe,0x0,0x44,0xe4,0x4,0xde,0x44,0x44,0xd4,0xc,0x44,0x44,0xe4,0x14,0x8,
-+0x0,0x3f,0x20,0x3f,0x20,0x2f,0x29,0x29,0x29,0x2f,0x20,0x29,0x2a,0x23,0x5c,0x80,0x4,0xfe,0x0,0x88,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x8,0x8,0x88,0x28,0x10,
-+0x4,0x7f,0x44,0x44,0x47,0x7c,0x10,0x17,0x50,0x59,0x53,0x55,0x5d,0xf1,0x41,0x1,0x90,0xfe,0x90,0x48,0xf8,0x50,0x64,0xfe,0x80,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x20,0x20,0x23,0x7a,0x82,0x2,0xfb,0x22,0x22,0xfb,0x22,0x22,0x2f,0x30,0x20,0x0,0x10,0x10,0xd0,0x54,0x7e,0x54,0xd4,0x54,0x54,0xd4,0x54,0x54,0xf4,0x24,0x54,0x88,
-+0x10,0x10,0x20,0x3c,0x45,0x8a,0x14,0xfe,0x4,0x4,0x7c,0x4,0x4,0xfc,0x4,0x0,0x40,0x50,0x94,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x0,0x5e,0x32,0x34,0x14,0x95,0x5a,0x14,0x32,0x33,0xda,0x54,0x51,0x52,0x50,0x10,0x20,0x20,0x50,0x50,0x88,0x6,0xfc,0x20,0x24,0xfe,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x0,0x78,0x48,0x50,0x51,0x62,0x55,0x48,0x48,0x4f,0x68,0x51,0x42,0x44,0x41,0x40,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x40,0x50,0xfc,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x8,0x8,0x7e,0x8,0x1c,0x2a,0x48,0x3f,0x1,0x9,0x9,0x11,0x11,0x29,0x47,0x80,0x20,0x28,0xfc,0x20,0x78,0xa4,0x20,0xf8,0x10,0x40,0xe0,0x0,0x0,0x6,0xfc,0x0,
-+0x0,0x4,0xfe,0x11,0x11,0x21,0x25,0x7f,0xa4,0x25,0x25,0x25,0x25,0x3d,0x25,0x1,0x20,0x20,0x20,0x24,0x24,0x24,0x24,0xfc,0x20,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x18,0x25,0x24,0x60,0xbd,0x24,0x25,0x26,0x24,0x25,0x26,0x24,0x20,0x20,0x40,0x40,0x48,0xfc,0x50,0x64,0xfe,0x88,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,
-+0x1,0x3f,0x1,0xf,0x8,0x9,0x9,0x7f,0x8,0x7e,0x8,0x3e,0x22,0x2a,0x2a,0xff,0x10,0xf8,0x0,0xe0,0x20,0x20,0x28,0xfc,0x20,0xfc,0x20,0xf8,0x88,0xa8,0xa8,0xfe,
-+0x10,0x10,0x1f,0x10,0xfd,0x13,0x10,0x18,0x33,0xd0,0x17,0x14,0x17,0x14,0x57,0x24,0x80,0x44,0xfe,0x80,0x10,0xf0,0x40,0x88,0xf8,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x4,
-+0x20,0x20,0x3c,0x48,0x51,0xfd,0x55,0x55,0x7d,0x55,0x55,0x7d,0x54,0x54,0x55,0x8c,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x20,0x28,0x3c,0xe2,0x82,
-+0x0,0x10,0x10,0x10,0x1e,0x22,0x22,0x22,0x54,0x94,0x8,0x14,0x14,0x22,0x41,0x80,0x40,0x40,0x40,0x40,0x40,0x60,0x50,0x4c,0x44,0x40,0x40,0x40,0x40,0x6,0xfc,0x0,
-+0x10,0x10,0x12,0x12,0xfb,0x10,0x17,0x18,0x30,0xd7,0x14,0x14,0x14,0x14,0x54,0x24,0x40,0x40,0x48,0x48,0xf8,0x4,0xfe,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xb4,0x8,
-+0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x0,0x4,0x4,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x4,0x4,0x4,
-+0x2,0x1,0x7f,0x44,0x88,0x0,0x3f,0x8,0x10,0x3f,0x1,0x2,0x4,0x18,0x61,0x0,0x0,0x0,0xfe,0x42,0x24,0x0,0xf8,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x10,0x11,0xfc,0x13,0x30,0x39,0x56,0x50,0x91,0x16,0x10,0x17,0x10,0x10,0x80,0xf8,0x88,0xf8,0x14,0xfe,0x80,0x44,0x6c,0xb0,0x30,0x68,0xa6,0x24,0xa0,0x40,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x5f,0x90,0x11,0x13,0x10,0x11,0x10,0x10,0x10,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x80,0x0,0xfc,0x8,0x10,0xa0,0x40,0x60,0x20,
-+0x8,0x12,0x3f,0x22,0x32,0x2a,0x22,0x23,0xfe,0x22,0x32,0x2a,0x22,0x42,0x8a,0x4,0x8,0x7c,0x48,0x48,0x48,0x48,0x86,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x0,0x8,0x7e,0x4a,0x4b,0x48,0x4f,0x48,0x48,0x4b,0x4a,0x4a,0x7a,0x4a,0x2,0x2,0x40,0x40,0x48,0x48,0xf8,0x4,0xfe,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xb4,0x8,
-+0x1,0x1,0x3f,0x21,0x21,0x3f,0x1,0x1,0x7f,0x41,0x41,0x7f,0x41,0x1,0x1,0x1,0x0,0x8,0xfc,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,
-+0x1,0x0,0x1f,0x10,0x91,0x52,0x54,0x1b,0x32,0x52,0xd2,0x12,0x22,0x22,0x41,0x0,0x0,0x84,0xfe,0x80,0x40,0x20,0x10,0xee,0x24,0x20,0xa0,0x40,0x8,0x8,0xf8,0x0,
-+0x2,0x1,0x7f,0x48,0x92,0x4,0x3f,0x22,0x23,0x24,0x2a,0x21,0x22,0x24,0x3f,0x20,0x0,0x0,0xfe,0x22,0x14,0x0,0xf8,0x8,0xc8,0x48,0x88,0x8,0x88,0x8,0xf8,0x8,
-+0x20,0x20,0x27,0xf9,0xa8,0xaf,0xa8,0xab,0xaa,0xab,0xaa,0xbb,0x20,0x23,0x20,0x2f,0x80,0x48,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x48,0xf8,0x48,0xf8,0x40,0xf8,0x40,0xfe,
-+0x1,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x21,0x21,0x22,0x24,0x48,0x50,0x80,0x0,0x0,0x84,0xfe,0x80,0x80,0x88,0xfc,0x80,0xc0,0xa0,0x90,0x88,0x8e,0x84,0x80,0x80,
-+0x20,0x17,0x50,0x40,0x4f,0x40,0x44,0x44,0x44,0x47,0x40,0x5f,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x44,0xe4,0x44,0x44,0x44,0x44,0xf4,0x14,0xd4,0x14,0x54,0x24,0xc,
-+0x8,0x8,0x14,0x12,0x21,0x20,0x7e,0xa2,0x22,0x2a,0x24,0x20,0x21,0x21,0x1f,0x0,0x4,0x4,0x4,0x24,0xa4,0xa4,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x0,0x8,0x7c,0x48,0x49,0x4a,0x48,0x48,0x48,0x48,0x48,0x78,0x49,0x2,0x4,0x8,0x80,0x80,0x80,0xfc,0x4,0x48,0x40,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x10,0x10,0x10,0x10,0x55,0x5a,0x50,0x90,0x10,0x10,0x10,0x10,0x19,0x26,0x44,0x88,0x80,0x80,0x80,0xfc,0x4,0x48,0x40,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x10,0x10,0x13,0x10,0xfc,0x17,0x11,0x19,0x37,0xd1,0x11,0x17,0x10,0x10,0x53,0x20,0x8,0x3c,0xc0,0x40,0x48,0xfc,0x50,0x54,0xfe,0x50,0x50,0xfc,0x40,0x50,0xf8,0x0,
-+0x10,0x10,0x13,0x1c,0x20,0x23,0x7d,0x91,0x17,0x79,0x11,0x13,0x14,0x18,0x13,0x0,0x8,0x3c,0xc0,0x40,0x48,0xfc,0x50,0x54,0xfe,0x50,0x50,0xfc,0x40,0x50,0xf8,0x0,
-+0x0,0x0,0x3f,0x1,0x1,0x7f,0x9,0x9,0xff,0x9,0x9,0x7f,0x1,0x1,0x3f,0x0,0x10,0x78,0x80,0x0,0x8,0xfc,0x20,0x24,0xfe,0x20,0x28,0xfc,0x0,0x10,0xf8,0x0,
-+0x1,0x7f,0x1,0x3f,0x2,0xff,0x4,0x8,0x1f,0x28,0xc8,0xf,0x8,0x8,0xf,0x8,0x0,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x20,0xf0,0x2e,0x24,0xe0,0x20,0x20,0xe0,0x20,
-+0x10,0x17,0x10,0x13,0xfc,0x17,0x39,0x32,0x57,0x5a,0x92,0x13,0x12,0x12,0x13,0x12,0x40,0xfc,0x40,0xf8,0x80,0xfe,0x10,0x8,0xfe,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0xfe,0x29,0x28,0xfe,0xaa,0xaa,0xae,0xc2,0x82,0x82,0xfe,0x83,0x82,0xfe,0x82,0x20,0x10,0xfe,0x4,0xfe,0x84,0xfc,0x0,0xfc,0x8,0x30,0x24,0xfe,0x20,0xa0,0x40,
-+0x0,0x3f,0x20,0x2f,0x20,0x3f,0x2a,0x29,0x28,0x2e,0x40,0x9f,0x10,0x10,0x1f,0x10,0x10,0xf8,0x0,0xf0,0x0,0xfc,0x10,0xa0,0x60,0x1e,0x4,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x40,0x37,0x10,0x83,0x62,0x23,0x8,0x13,0x20,0xe0,0x2f,0x20,0x20,0x21,0x20,0x80,0x44,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xf8,0x10,0x64,0xfe,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x20,0x27,0x48,0xfa,0x12,0x22,0x42,0xfb,0x42,0x0,0x18,0xe0,0x40,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x42,0x42,0x3e,0x0,
-+0x1,0x7f,0x1,0x3f,0x2,0x7f,0x8,0x1f,0xe8,0xf,0x10,0x7c,0x54,0x7c,0x12,0xfe,0x8,0xfc,0x0,0xf8,0x0,0xfc,0x20,0xf0,0x2e,0xe4,0x20,0xf8,0xa8,0xf8,0x24,0xfc,
-+0x0,0xf7,0x52,0x31,0x52,0x94,0x10,0x14,0x3f,0x64,0xbf,0x24,0x3f,0x24,0x3f,0x20,0x20,0xa0,0xa8,0xa4,0xa0,0xae,0xf0,0x20,0xa4,0x24,0x18,0x10,0x30,0x4a,0x8a,0x4,
-+0x10,0x10,0x20,0x20,0x4b,0xfa,0x13,0x22,0x43,0xf8,0x40,0x7,0x18,0xe0,0x40,0x0,0x48,0x7c,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x1,0x0,0x1f,0x11,0x91,0x51,0x55,0x15,0x35,0x55,0xd5,0x15,0x25,0x25,0x4e,0x4,0x0,0x84,0xfe,0x20,0x20,0x20,0x24,0x2c,0xf0,0x20,0x20,0x20,0x22,0xe2,0x1e,0x0,
-+0x8,0x8,0xff,0x8,0x1,0x41,0x33,0x12,0x4,0x10,0xe0,0x20,0x21,0x21,0x22,0xc,0x20,0x24,0xfe,0x20,0x0,0x8,0xfc,0x8,0x90,0x80,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x2,0x11,0xf8,0x27,0x21,0x41,0x42,0x77,0xd0,0x51,0x51,0x52,0x54,0x77,0x50,0x0,0x8,0x98,0xa0,0xfe,0x8,0x8,0x52,0xbc,0x84,0x8,0x8,0x10,0xa4,0xfe,0x42,0x0,
-+0x14,0x14,0x14,0x54,0x55,0x5e,0x54,0x54,0x54,0x54,0x54,0x54,0x5d,0xe6,0x44,0x0,0x50,0x50,0x84,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x8,0x1c,0xf0,0x11,0x10,0x14,0xfe,0x10,0x15,0x7e,0x44,0x45,0x44,0x44,0x7c,0x44,0x40,0x20,0x28,0xfc,0x0,0x88,0x50,0x4,0xfe,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,
-+0x8,0x4,0xff,0x8,0x8,0x12,0x7c,0x8,0x12,0x7e,0x0,0xa,0x29,0x28,0x48,0x7,0x20,0x44,0xfe,0x20,0x20,0x44,0xf8,0x10,0x24,0xfc,0x0,0x0,0x88,0xa4,0x24,0xe0,
-+0x21,0x11,0x1,0xa,0x70,0x20,0x27,0x0,0xff,0x10,0x1f,0x10,0x13,0x10,0x16,0x38,0x0,0x8,0xfc,0x48,0x40,0xa0,0x1c,0x4,0xfe,0x0,0xe0,0x20,0x20,0xa4,0x24,0x1c,
-+0x20,0x13,0x10,0x0,0x7,0xf0,0x10,0x13,0x12,0x12,0x12,0x13,0x16,0x18,0x10,0x0,0x4,0xfe,0x4,0x24,0xf4,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x24,0x4,0x14,0x8,
-+0x4,0x4,0x4,0x24,0x24,0x24,0x27,0x24,0x24,0x24,0x24,0x24,0x27,0xf8,0x40,0x0,0x40,0x40,0x40,0x44,0x4c,0x50,0x60,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x8,0x8,0x9,0xff,0x8,0x7f,0x49,0x49,0x4b,0x18,0x1c,0x2b,0x49,0x88,0x8,0x8,0x4,0x4,0x4,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x0,0x7d,0x45,0x55,0x55,0x55,0x55,0x54,0x55,0x56,0x54,0x11,0x2a,0x44,0x81,0x0,0x8,0xfc,0x8,0xf8,0x8,0x8,0xf8,0x84,0xfe,0x54,0x94,0x24,0x44,0x84,0x28,0x10,
-+0x0,0x40,0x30,0x11,0x1,0x2,0x8,0x10,0x20,0xe0,0x20,0x20,0x21,0x22,0x24,0x28,0x80,0x80,0x80,0x8,0xfc,0x8,0x50,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x5,0xfe,0x24,0x24,0x3d,0x25,0x25,0x25,0x3d,0x25,0x24,0x24,0xfd,0x6,0x4,0x4,0x4,0xcc,0x50,0x4,0xfe,0x4,0x4,0x4,0xfc,0x44,0x20,0xa4,0x8a,0x8a,0x78,0x0,
-+0x4,0x4,0xff,0x14,0x1f,0x12,0x2e,0x25,0x48,0x11,0x2,0x4,0x52,0x51,0x90,0xf,0x40,0x44,0xfe,0x40,0xf8,0x48,0x48,0x88,0xc8,0x28,0x10,0x0,0x4,0x92,0x92,0xf0,
-+0x4,0x8,0x7f,0x44,0x44,0x47,0x44,0x48,0x54,0x42,0x41,0x42,0x44,0x48,0x7f,0x40,0x0,0x4,0xfe,0x4,0x4,0xe4,0x24,0x44,0x44,0x84,0x4,0x84,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x8,0x1f,0x12,0x22,0x4a,0x86,0x5,0x4,0x8,0x11,0x22,0x44,0x8,0x0,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0xc4,0x34,0x14,0x4,0x28,0x10,
-+0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x14,0x12,0x21,0x21,0x42,0x84,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x50,0x50,0x88,0x88,0xc,0x6,0x4,
-+0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x14,0x12,0x21,0x41,0x82,0x0,0xff,0x0,0x0,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x50,0x90,0x88,0xe,0x4,0x0,0xfe,0x0,
-+0x0,0x40,0x2f,0x20,0x7,0x1,0xf,0x12,0x24,0xeb,0x30,0x27,0x20,0x21,0x22,0x24,0x80,0x88,0xfc,0x80,0xf8,0x0,0xfc,0x20,0x10,0xee,0x84,0xf0,0x80,0x40,0x30,0x10,
-+0x8,0x8,0x4a,0x2a,0x1c,0x8,0xfe,0x8,0x1c,0x1a,0x28,0x48,0x88,0x8,0xb,0x8,0x0,0x8,0xfc,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0xfe,0x0,
-+0x2,0x7f,0x14,0x15,0x7f,0x55,0x55,0x55,0x55,0x63,0x41,0x7f,0x41,0x41,0x7f,0x41,0x28,0x28,0xfe,0x28,0xa8,0x28,0xfe,0x4,0x7e,0x44,0x44,0x7c,0x44,0x44,0x7c,0x44,
-+0x10,0x12,0x1f,0x24,0x42,0x10,0x8,0xff,0x10,0x1c,0x14,0x27,0x24,0x44,0x94,0xb,0x20,0x24,0x3e,0x48,0x84,0x80,0xfe,0x40,0x7c,0xa0,0x24,0xfe,0x20,0x50,0x8e,0x4,
-+0x8,0xb,0xa,0x12,0x12,0x33,0x50,0x90,0x12,0x12,0x12,0x12,0x15,0x18,0x10,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0xc6,0x7c,0x0,
-+0x0,0x78,0x4b,0x4a,0x4d,0x78,0x11,0x11,0x5d,0x50,0x53,0x52,0x5f,0xe2,0x40,0x0,0x40,0x20,0xfe,0x8a,0x24,0x20,0xfc,0x24,0xfc,0x20,0xfe,0x22,0xfe,0x22,0x20,0x20,
-+0x10,0x1f,0x28,0x5f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x4,0xff,0xa,0x32,0xc4,0xf,0x40,0x7c,0xa0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x20,0x9e,0x44,0xe0,
-+0x2,0x1,0x7f,0x44,0x99,0x1,0x3f,0x21,0x3f,0x1,0x7f,0x41,0x7f,0x41,0x1,0x1,0x0,0x0,0xfe,0x42,0x34,0x0,0xf8,0x8,0xf8,0x0,0xfc,0x4,0xfc,0x4,0x0,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x10,0x15,0x19,0x33,0xd5,0x11,0x11,0x11,0x11,0x51,0x21,0x20,0x24,0x24,0x24,0xfc,0xa0,0x14,0xfe,0x10,0xfc,0x10,0xfc,0x10,0x14,0xfe,0x0,
-+0x1,0x21,0x21,0x3f,0x28,0x11,0x10,0x3f,0x50,0x9f,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x8,0x8,0xf8,0x8,0x0,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0x84,0xfe,0x0,
-+0x8,0x9,0x9,0x11,0x11,0x30,0x51,0x93,0x15,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x20,0x24,0x24,0x24,0xfc,0xa0,0x14,0xfe,0x20,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x8,0x7c,0x48,0x49,0x4a,0x79,0x49,0x49,0x49,0x79,0x49,0x49,0x49,0x49,0x5a,0x84,0x80,0x80,0xf8,0x10,0x24,0xfe,0x0,0x78,0x48,0x48,0x68,0x50,0x42,0x42,0x3e,0x0,
-+0x1,0x0,0x1f,0x10,0x90,0x57,0x51,0x11,0x32,0x54,0xd0,0x1f,0x20,0x20,0x40,0x0,0x0,0x84,0xfe,0x80,0x48,0xfc,0x10,0x10,0xac,0x44,0x40,0xfe,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x55,0x38,0x10,0xfe,0x11,0x38,0x34,0x53,0x90,0x10,0x10,0x10,0x10,0x40,0x20,0x28,0xfc,0x88,0x88,0x88,0x54,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x40,0x30,0x17,0x1,0x81,0x61,0x22,0x4,0x10,0x2f,0xe0,0x20,0x20,0x20,0x20,0x20,0x80,0x48,0xfc,0x10,0x10,0x10,0xac,0x44,0x40,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x3e,0x2,0x12,0xa,0x12,0x1,0x7f,0x8,0x14,0x22,0x1,0xff,0x1,0x1,0x1,0x1,0xf8,0x8,0x48,0x28,0x48,0x0,0xfc,0x20,0x50,0x88,0x0,0xfe,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x14,0xff,0x10,0x30,0x38,0x54,0x54,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x90,0x50,0x50,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x2,0x2,0xff,0x4,0x8,0xb,0x10,0x10,0x30,0x5f,0x90,0x10,0x10,0x10,0x11,0x10,0x0,0x4,0xfe,0x0,0x0,0xf8,0x10,0x20,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x8,0x4,0x4,0x0,0x0,0x0,0x0,0x1,0x0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x0,0x4,0xfe,0x13,0x10,0x21,0x24,0x7f,0xa4,0x24,0x24,0x25,0x3d,0x22,0x4,0x0,0x88,0x4c,0x50,0xfe,0x20,0xfc,0x20,0xfe,0x40,0x88,0xfc,0x10,0x10,0x14,0xfe,0x0,
-+0x20,0x23,0x22,0x23,0xfa,0x23,0x20,0x2f,0x34,0xe7,0x24,0x27,0x24,0x2f,0xa0,0x40,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x80,0xfc,0x84,0xa8,0x90,0x90,0xae,0xc4,
-+0x11,0x10,0x10,0x17,0xfc,0x13,0x10,0x1f,0x30,0xd1,0x11,0x12,0x14,0x18,0x53,0x20,0x8,0x98,0xa0,0xfc,0x40,0xf8,0x40,0xfe,0x80,0x8,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x11,0x11,0x11,0x17,0xfd,0x11,0x17,0x18,0x33,0xd2,0x12,0x13,0x12,0x12,0x53,0x22,0x10,0x10,0x10,0xfc,0x10,0x14,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x12,0x12,0xfa,0x12,0x15,0x18,0x30,0xd0,0x17,0x10,0x10,0x10,0x5f,0x20,0x40,0x40,0x48,0x48,0x48,0x48,0x54,0xe2,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x1f,0x20,0x20,0x7f,0x90,0x11,0x7d,0x11,0x11,0x15,0x19,0x11,0x1,0x90,0x90,0x90,0xfc,0x90,0x94,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x11,0x11,0x17,0x11,0xfc,0x10,0x11,0x1a,0x35,0xd0,0x13,0x12,0x12,0x12,0x53,0x22,0x10,0x10,0xfc,0x10,0x40,0xa0,0x10,0xe,0xf4,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x20,0x20,0x0,0xf,0xe0,0x21,0x21,0x22,0x22,0x24,0x28,0x50,0x8f,0x0,0x80,0x80,0x80,0x80,0x88,0xfc,0x80,0x0,0x40,0x20,0x10,0x18,0x8,0x6,0xfc,0x0,
-+0x10,0x12,0x1f,0x28,0x45,0x2,0x4,0x8,0x1f,0x20,0xcf,0x8,0x8,0x8,0xf,0x8,0x40,0x48,0x7c,0xa0,0x10,0x80,0x40,0x20,0xf8,0xe,0xe4,0x20,0x20,0x20,0xe0,0x20,
-+0x1,0x0,0x1f,0x92,0x52,0x5f,0x12,0x31,0x52,0xd7,0x18,0x17,0x24,0x24,0x47,0x4,0x0,0x84,0xfe,0x20,0x28,0xfc,0xa0,0x40,0x20,0xf0,0xe,0xf4,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x14,0x18,0x30,0xd0,0x10,0x10,0x10,0x10,0x50,0x20,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x2,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x11,0x1,0xff,0x1,0x3,0x5,0x9,0x11,0x61,0x1,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x4,0xfe,0x0,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x0,0xff,0x2,0x2,0x2,0x3,0x4,0xc,0xa,0x11,0x20,0x40,0x0,0x3,0xc,0x30,0x4,0xfe,0x0,0x0,0x0,0xf8,0x8,0x8,0x10,0x90,0xa0,0x40,0x80,0x0,0x0,0x0,
-+0x10,0x10,0x1f,0x20,0x2f,0x61,0xbf,0x22,0x24,0x2c,0x32,0x21,0x22,0x24,0x28,0x21,0x80,0x88,0xfc,0x80,0xf8,0x0,0xfe,0x20,0x90,0x9e,0xa4,0xc0,0xa0,0x98,0x88,0x80,
-+0x8,0x7f,0x8,0xff,0x0,0x7f,0x49,0x7f,0x49,0x7f,0x22,0x7f,0x22,0xff,0x22,0x41,0x50,0x48,0x44,0xfe,0x40,0x48,0x48,0x50,0x50,0x20,0x20,0x60,0x90,0x92,0xa,0x6,
-+0x9,0x9,0x7f,0x9,0x9,0x7f,0x41,0x81,0x1f,0x11,0x11,0x11,0x11,0x11,0x11,0x1,0x20,0x28,0xfc,0x20,0x20,0xfe,0x2,0x4,0xf0,0x10,0x10,0x10,0x10,0x50,0x20,0x0,
-+0x4,0xfe,0x20,0x20,0x3c,0x25,0x27,0x44,0xa5,0x15,0x9,0x9,0x11,0x21,0x41,0x0,0x20,0x20,0x40,0x40,0x88,0x4,0xfe,0x2,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x5f,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x80,0xa0,0x90,0x90,0x84,0xfe,0x80,0x40,0x40,0x40,0x20,0x20,0x12,0x12,0xa,0x6,
-+0x8,0x8,0x10,0x37,0x50,0x90,0x10,0x1f,0x10,0x11,0x11,0x11,0x11,0x2,0xc,0x30,0xa0,0x90,0xbc,0xc0,0x42,0x32,0xe,0xf0,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x10,
-+0x8,0x8,0x10,0x37,0xd0,0x10,0x12,0x11,0xff,0xa,0x9,0x18,0x28,0xc9,0xa,0xc,0xa0,0x90,0xfc,0x80,0x40,0x24,0x1c,0x0,0xfe,0x8,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x8,0x8,0x13,0x20,0x48,0x8,0x17,0x30,0x50,0x97,0x10,0x12,0x11,0x11,0x10,0x10,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x40,0x27,0x20,0xf,0x0,0xe7,0x20,0x24,0x22,0x24,0x28,0x22,0x51,0x8f,0x0,0x80,0x90,0xf8,0x90,0xfc,0x90,0xf0,0x80,0x90,0xa0,0x98,0x88,0x80,0x6,0xfc,0x0,
-+0x4,0x4,0x8,0x10,0x7f,0x0,0x3f,0x20,0x20,0x3f,0x2,0x11,0x50,0x50,0x8f,0x0,0x0,0x40,0x20,0x10,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x0,0x80,0x94,0x12,0xf2,0x0,
-+0x4,0xfe,0x48,0x4b,0x7a,0x4c,0x48,0x48,0x78,0x48,0x48,0x4d,0xf9,0xa,0xc,0x8,0x40,0x40,0x44,0xfe,0x44,0x48,0x60,0x60,0xa0,0xa0,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x13,0x1e,0x32,0xd2,0x13,0x10,0x10,0x1f,0x50,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x0,0x0,
-+0x0,0x1f,0x10,0x12,0x11,0x11,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x10,0xf8,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x8,0x4,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x1,0xff,0x1,0x1,0x1,0x10,0x20,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x41,0x22,0x14,0x7f,0x49,0x49,0x7f,0x49,0x49,0x7f,0x8,0x8,0xff,0x8,0x8,0x8,0x0,0x7c,0x44,0x48,0x48,0x50,0x50,0x48,0x44,0x44,0x44,0x64,0xd4,0x48,0x40,0x40,
-+0x11,0x10,0x10,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x10,0x17,0x10,0x10,0x50,0x20,0x4,0x88,0x50,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x20,0x20,0x20,
-+0x4,0x3e,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x25,0x54,0x88,0x0,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0xfc,0x0,0x4,0xfe,0x0,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0xff,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0xf0,0x10,0x4,0xfe,0x0,
-+0x10,0x1f,0x10,0x3f,0x40,0xbf,0x12,0xa,0x5,0x38,0x2,0x12,0xa,0x5,0x8,0x70,0x8,0xfc,0x0,0xf8,0x0,0xf0,0x50,0x90,0x10,0xf0,0x10,0x50,0x90,0x12,0xca,0x24,
-+0x10,0x10,0x17,0x24,0x24,0x64,0xa7,0x24,0x24,0x24,0x27,0x20,0x20,0x3f,0x20,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x0,0x0,
-+0x12,0x11,0x10,0x13,0x5a,0x56,0x53,0x92,0x12,0x13,0x10,0x1f,0x10,0x10,0x10,0x10,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x44,0x33,0x11,0x80,0x40,0x41,0xa,0x10,0x22,0xe1,0x20,0x20,0x21,0x22,0x2c,0x40,0x44,0x4c,0x50,0x40,0xa0,0x1c,0x48,0x40,0x48,0x58,0xa0,0x90,0x10,0xe,0x4,
-+0x0,0x40,0x2f,0x21,0x2,0x4,0xef,0x21,0x29,0x25,0x22,0x2a,0x33,0x24,0x8,0x10,0x8,0x1c,0x70,0x10,0x10,0x10,0x5c,0x50,0x50,0x50,0x50,0x7c,0x0,0x80,0x46,0x3c,
-+0xa,0x7d,0x8,0xb,0xa,0x7a,0x4b,0x42,0x42,0x7b,0x8,0xf,0x8,0x8,0x50,0x20,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0xfe,0x40,0x40,0x40,0x40,
-+0x7f,0x1,0x9,0x9,0x9,0x15,0x23,0x41,0x1f,0x11,0x11,0x1f,0x11,0x1,0x7f,0x0,0xfc,0x8,0x20,0xf0,0x0,0x6,0xfc,0x10,0xf8,0x10,0x10,0xf0,0x0,0x10,0xf8,0x4,
-+0x1,0x21,0x19,0x9,0x1,0x1,0x7f,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x7f,0x0,0x0,0x8,0x18,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x12,0x11,0xfd,0x10,0x17,0x18,0x30,0xd0,0x13,0x10,0x10,0x10,0x57,0x20,0x40,0x40,0x44,0x4c,0x50,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x11,0xd,0x5,0x7f,0x40,0x8f,0x8,0x8,0x8,0xf,0x4,0x4,0x4,0x8,0x30,0x0,0x10,0x30,0x40,0xfe,0x22,0xf4,0x20,0x20,0x20,0xe0,0x80,0x80,0x84,0x84,0x7c,
-+0x8,0x8,0xff,0x8,0x47,0x30,0x10,0x81,0x47,0x11,0x21,0xe2,0x22,0x24,0x29,0x20,0x20,0x24,0xfe,0x20,0xf0,0x40,0x80,0x4,0xfe,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x10,0x10,0x12,0x11,0xfd,0x10,0x37,0x38,0x54,0x50,0x93,0x10,0x10,0x10,0x17,0x10,0x40,0x40,0x44,0x4c,0x50,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x7f,0x2,0x2,0x2,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x10,0x14,0x14,0x17,0x50,0x20,0x40,0x88,0xfc,0x8,0x48,0x8,0x28,0x10,0x0,0xfe,0x82,0x92,0x92,0xf2,0xa,0x4,
-+0x4,0x7f,0x44,0x46,0x45,0x45,0x7c,0x13,0x12,0x5e,0x53,0x52,0x5e,0xf2,0x43,0x2,0x1c,0xe0,0x48,0x2c,0x28,0x10,0x44,0x9e,0x4,0x4,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x1f,0x22,0x22,0x64,0xaf,0x21,0x21,0x2f,0x21,0x21,0x21,0x2f,0x24,0x20,0x4,0x44,0xe4,0x4,0x94,0x54,0xd4,0x14,0x14,0xd4,0x14,0x14,0xc4,0x4,0x14,0x8,
-+0x1,0x2,0xf,0x8,0xa,0x9,0x8,0x8,0xf,0x8,0x2,0x22,0x22,0x3f,0x20,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x60,0x4,0xfe,0x4,0x4,0x24,0x24,0xe4,0x34,0x8,
-+0x20,0x10,0x13,0x0,0xfd,0x8,0x13,0x38,0x54,0x93,0x11,0x11,0x12,0x14,0x18,0x10,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x80,0x88,0xfe,0x8,0x48,0x28,0x8,0x28,0x10,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x1f,0x0,0x0,0xff,0x0,0x8,0x4,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x14,0x4,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x1,0x7f,0x8,0x10,0x22,0x41,0x7f,0x8,0xa,0x7f,0x8,0x8,0x8,0xf,0xf8,0x0,0x4,0x84,0x4,0x24,0x24,0x24,0xa4,0xa4,0x24,0x24,0x24,0x24,0x4,0x84,0x14,0x8,
-+0x8,0x1f,0xf0,0x12,0x11,0xfd,0x10,0x3b,0x36,0x52,0x53,0x92,0x12,0x12,0x13,0x12,0x1c,0xe0,0x48,0x4c,0x48,0x10,0x44,0x9e,0x4,0x4,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x10,0x5b,0x56,0x53,0x92,0x13,0x12,0x10,0x1f,0x10,0x10,0x10,0x10,0x48,0x7c,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x2,0x41,0x37,0x10,0x1,0x3,0xf2,0x13,0x12,0x12,0x13,0x12,0x12,0x2b,0x44,0x3,0x8,0x10,0xfc,0x80,0x8,0xfc,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x6,0xfc,
-+0x1,0x41,0x33,0x12,0x4,0x10,0x21,0xc6,0x40,0x1f,0x12,0x12,0x12,0x12,0xff,0x0,0x0,0x8,0xfc,0x48,0x40,0xa0,0x10,0xe,0x4,0xf0,0x90,0x90,0x90,0x94,0xfe,0x0,
-+0x10,0x10,0x2f,0x20,0x47,0x94,0x14,0x27,0x60,0xaf,0x20,0x21,0x25,0x25,0x28,0x20,0x40,0x44,0xfe,0x40,0xfc,0xa4,0xa4,0xfc,0x0,0xfe,0x40,0x20,0x24,0xa,0xfa,0x0,
-+0x8,0xb,0x12,0x13,0x22,0x4b,0x88,0x17,0x30,0x50,0x9f,0x12,0x11,0x11,0x10,0x10,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x10,0x14,0xfe,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x22,0x7f,0x42,0x43,0x42,0x42,0x7e,0x42,0x42,0x42,0x42,0x7e,0x42,0x0,0x40,0x40,0x44,0x7e,0x84,0x4,0x4,0x84,0x64,0x24,0x4,0x4,0x4,0x4,0x28,0x10,
-+0x8,0x7f,0x48,0x4a,0x49,0x49,0x7b,0x14,0x13,0x5a,0x52,0x53,0x5d,0xe0,0x4f,0x0,0x20,0xa8,0xb0,0xa4,0x18,0x10,0xf8,0x6,0xf8,0x8,0x8,0xf8,0x10,0xa4,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0x54,0x58,0x50,0x90,0x10,0x10,0x10,0x28,0x24,0x44,0x80,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x3e,0x2,0x12,0xc,0x8,0x1f,0x20,0xcf,0x8,0x8,0xf,0x4,0x2,0x7f,0x0,0x80,0x90,0xa0,0x48,0x50,0x20,0xf0,0x2e,0xf4,0x20,0x20,0xe0,0x40,0x88,0xfc,0x0,
-+0x10,0x14,0x3e,0x49,0x5,0x1,0x3f,0x1,0xff,0x0,0x0,0x3f,0x8,0x4,0x1,0x0,0x40,0x48,0xfc,0x20,0x10,0x0,0xf8,0x0,0xfe,0x40,0x50,0xf8,0x40,0x40,0x40,0x80,
-+0x8,0x7f,0x48,0x4a,0x49,0x79,0x4b,0x4c,0x4b,0x7a,0x4a,0x4b,0x49,0x78,0x4f,0x0,0x20,0xa8,0xb0,0xa4,0x18,0x8,0xfe,0x4,0xf8,0x8,0x8,0xf8,0x10,0xa4,0xfe,0x0,
-+0x3e,0x12,0xc,0xf,0x10,0x2f,0xc8,0xf,0x4,0x7f,0x0,0x7,0x4,0x4,0x8,0x30,0x90,0xa0,0x48,0xf0,0x10,0xee,0x24,0xe0,0x48,0xfc,0x40,0xe0,0x40,0x44,0x44,0x3c,
-+0x0,0xfe,0x2,0x42,0x24,0x24,0x18,0x8,0x18,0x14,0x24,0x22,0x42,0x80,0x0,0x0,0x0,0xfc,0x84,0x88,0x88,0x90,0xa0,0x98,0x84,0x84,0x84,0xc4,0xa8,0x90,0x80,0x80,
-+0x23,0x22,0x22,0x23,0xfa,0x22,0x23,0x20,0x2f,0x20,0x3a,0xe2,0x42,0x5,0x8,0x10,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x40,0x50,0x78,0x40,0x40,0xc6,0x7c,
-+0x10,0x10,0x17,0x24,0x24,0x64,0xa4,0x27,0x24,0x24,0x24,0x24,0x25,0x26,0x24,0x20,0x8,0x3c,0xc0,0x40,0x40,0x40,0x44,0xfe,0x20,0x20,0x20,0x90,0x12,0x4a,0x2a,0x4,
-+0x0,0x40,0x2f,0x22,0x1,0x87,0x44,0x4d,0x14,0x25,0xe5,0x25,0x25,0x25,0x24,0x24,0x80,0x44,0xfe,0x8,0x14,0xfe,0x44,0xf4,0x44,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x0,0x40,0x20,0x2f,0x8,0x8,0xe8,0x2f,0x28,0x28,0x28,0x2f,0x28,0x50,0x8f,0x0,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0xf8,0x8,0x6,0xfc,0x0,
-+0x2,0x7,0x78,0x8,0x8,0xa,0xff,0x8,0xa,0x3f,0x22,0x22,0x22,0x3e,0x22,0x1,0x20,0x20,0x20,0x44,0x7e,0x88,0x48,0x48,0x48,0x48,0x50,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x12,0x1f,0x28,0x45,0x81,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x20,0x40,0x44,0x7e,0xa0,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x44,0x28,0x10,0x29,0x49,0x89,0xa,0x18,0x28,0x48,0x88,0x9,0x9,0x52,0x24,0x40,0x40,0x40,0x44,0x4c,0x50,0x60,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x1,0x41,0x31,0x13,0x84,0x60,0x20,0x9,0x12,0x24,0xeb,0x21,0x22,0x24,0x21,0x20,0x0,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x10,0x4e,0x40,0xfc,0x50,0x4c,0x44,0x40,0x80,
-+0x0,0x7e,0x2,0x22,0x1a,0x12,0x23,0x8,0x1f,0x30,0x5f,0x90,0x1f,0x10,0x1f,0x10,0x8,0xfc,0x8,0x48,0x38,0x28,0x48,0x80,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x0,0x40,0x24,0xfe,0x88,0x54,0xfe,0x24,0xfc,0x24,0x74,0x54,0x54,0x74,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x16,0x1b,0x32,0xd2,0x12,0x12,0x12,0x13,0x52,0x20,0x8,0x3c,0xe0,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x50,0xd0,0x2a,0xa,0x4,
-+0x2,0x1,0x3f,0x20,0x20,0x2f,0x28,0x28,0x2f,0x28,0x28,0x28,0x4a,0x4d,0x88,0x0,0x0,0x4,0xfe,0x0,0x70,0x80,0x80,0x88,0xfc,0x80,0x80,0x40,0x40,0xa4,0x94,0xc,
-+0x0,0x20,0x22,0x22,0x22,0x22,0xfb,0x26,0x22,0x22,0x22,0x22,0x3a,0xe2,0x41,0x0,0x40,0x40,0x40,0x40,0x48,0x7c,0xc8,0x48,0x48,0x48,0x68,0x50,0x42,0x2,0xfe,0x0,
-+0x4,0x7f,0x4,0x1,0x3f,0x8,0x4,0x7f,0x41,0x81,0x1f,0x11,0x11,0x11,0x1,0x1,0x48,0xfc,0x40,0x10,0xf8,0x20,0x40,0xfe,0x2,0x14,0xf8,0x10,0x10,0x50,0x20,0x0,
-+0x10,0x14,0x3e,0x49,0xbf,0x1,0x1,0x3f,0x21,0x21,0x3f,0x3,0x5,0x19,0x61,0x1,0x80,0x88,0xfc,0x20,0xf8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0x24,0x18,0x0,
-+0x2,0x1,0x3f,0x8,0x4,0x7f,0x41,0x81,0x1f,0x11,0x11,0x11,0x11,0x11,0x1,0x1,0x0,0x10,0xf8,0x20,0x40,0xfe,0x2,0x14,0xf8,0x10,0x10,0x10,0x50,0x20,0x0,0x0,
-+0x8,0x6,0x2,0x7f,0x1,0x1,0x3f,0x21,0x21,0x3f,0x3,0x5,0x19,0x61,0x1,0x1,0x20,0x60,0x88,0xfc,0x8,0x8,0xf8,0x8,0x0,0xfc,0x4,0x4,0x14,0x8,0x0,0x0,
-+0x4,0x42,0x2f,0x20,0x0,0xf,0xe8,0x28,0x2f,0x21,0x22,0x24,0x28,0x50,0x88,0x7,0x10,0x28,0xfc,0x88,0x88,0xf8,0x80,0x88,0xfc,0x88,0x88,0xa8,0x90,0x80,0x86,0xfc,
-+0x10,0x10,0x27,0x21,0x48,0xff,0x14,0x28,0x43,0xfa,0x42,0x2,0x1a,0xe2,0x40,0x0,0x80,0x48,0xfc,0x10,0xa0,0xfe,0x42,0x44,0xf8,0x48,0x48,0x48,0x48,0x58,0x40,0x40,
-+0x10,0x15,0xfe,0x10,0x7c,0x44,0x7c,0x44,0x7c,0x44,0x7c,0x44,0xfe,0x0,0x28,0x45,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x40,0x48,0x86,0x2,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x14,0x14,0x58,0x20,0x40,0x20,0x4,0xfe,0x20,0x24,0x3e,0x20,0x24,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x0,0x40,0x37,0x10,0x83,0x62,0x23,0xa,0x13,0x22,0xe3,0x22,0x2f,0x21,0x23,0x24,0x40,0x48,0xfc,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x10,0xc,0x4,
-+0x0,0x4,0xfe,0x11,0x11,0x21,0x25,0x3f,0x65,0xa5,0x25,0x27,0x24,0x3c,0x25,0x2,0x50,0x50,0x54,0xfe,0x54,0x54,0x54,0xfc,0x54,0x54,0x54,0xfe,0x0,0x88,0x86,0x2,
-+0x2,0x2,0x2,0x3,0x2,0x2,0x3f,0x20,0x20,0x20,0x3f,0x0,0x29,0x24,0x44,0x80,0x0,0x0,0x8,0xfc,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x0,0x10,0xc8,0x44,0x4,
-+0x4,0x4,0x4,0x3f,0x24,0x24,0x24,0x3f,0x24,0x24,0x24,0xff,0x0,0x10,0x30,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0xf8,0x48,0x48,0x48,0xfe,0x0,0x10,0xc,0x4,
-+0x10,0x7c,0x11,0x7d,0x12,0xff,0x4,0x7e,0x44,0x7c,0x44,0x7c,0x44,0x45,0x56,0x48,0x40,0x20,0xfe,0x2,0x4,0xfe,0x20,0x20,0xa8,0xbc,0xa0,0xa0,0xa0,0x60,0x26,0x1c,
-+0x8,0x8,0x7e,0x8,0xa,0x1c,0x68,0x8,0x2b,0x11,0x1,0x7f,0x1,0x1,0xff,0x0,0x40,0x48,0xfc,0x48,0xc8,0x68,0x58,0x8a,0x6,0x0,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x2,0x2,0x2,0x7f,0x42,0x42,0x7f,0x42,0x42,0x7f,0x42,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x10,0x27,0x24,0x64,0xa4,0x24,0x27,0x24,0x24,0x24,0x24,0x27,0x24,0x20,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x44,0xfc,0x4,0x0,
-+0x8,0x8,0x1f,0x20,0x40,0x80,0x3f,0x22,0x22,0x3f,0x22,0x22,0x3f,0x20,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x24,0x14,0x8,
-+0x1,0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x2f,0x28,0x28,0x28,0x48,0x48,0x8f,0x8,0x0,0x84,0xfe,0x80,0x88,0xfc,0x80,0x88,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x13,0x5a,0x56,0x52,0x92,0x12,0x12,0x12,0x12,0x14,0x14,0x18,0x10,0x40,0x20,0x4,0xfe,0x20,0x24,0x3e,0x20,0x24,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x10,0x8,0x7f,0x4,0x1f,0x14,0x14,0x18,0x1f,0x10,0x1f,0x1,0xff,0x2,0x4,0x38,0x10,0x20,0xfc,0x50,0xf8,0x50,0x50,0x30,0xf0,0x10,0xf0,0x4,0xfe,0x80,0x78,0x10,
-+0x0,0x40,0x30,0x17,0x84,0x68,0x27,0x0,0x12,0x22,0xe2,0x22,0x22,0x25,0x28,0x20,0x80,0x40,0x40,0xfe,0x4,0x8,0xfc,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,0xc6,0x7c,
-+0x0,0x7f,0x41,0x41,0x7f,0x40,0x52,0x7f,0x52,0x52,0x7f,0x40,0x52,0x51,0xa0,0x1,0x8,0x7c,0x48,0x48,0x48,0x48,0x86,0x0,0xfc,0x88,0x50,0x20,0x50,0x88,0x86,0x4,
-+0x8,0xfd,0x11,0x11,0x21,0x25,0x3f,0x65,0xa5,0x25,0x25,0x25,0x25,0x3d,0x22,0x4,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,0x74,0x54,0x54,0x74,0x4,0x14,0x8,
-+0x0,0x8,0x7d,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x49,0x7b,0x49,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x14,0x24,0x44,0x84,0x84,0x4,0x4,0x4,0x28,0x10,
-+0x1,0x7f,0x49,0x49,0x7f,0x49,0x49,0x7f,0x41,0x5d,0x55,0x55,0x5d,0x51,0x85,0x2,0x20,0xa8,0x40,0x7e,0xc8,0x48,0x7c,0x48,0x48,0x7c,0x48,0x48,0x48,0x7e,0x40,0x40,
-+0x0,0x7,0x44,0x24,0x25,0x4,0xc,0x17,0x24,0xe5,0x25,0x25,0x25,0x25,0x8,0x10,0x4,0xfe,0x44,0x44,0xf4,0x44,0x54,0xfc,0x4,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x30,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x48,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x50,0x20,0x0,
-+0x10,0x10,0x10,0x10,0xff,0x12,0x17,0x1a,0x33,0xd2,0x10,0x1f,0x10,0x10,0x50,0x20,0x48,0x7c,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x11,0x1,0x3f,0x21,0x21,0x21,0x21,0x21,0x1,0x1,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x8,0xfc,0x8,0x8,0x8,0x28,0x10,0x0,0x0,
-+0x10,0x10,0x10,0x1c,0x20,0x21,0x7c,0x90,0x10,0xfc,0x10,0x12,0x14,0x18,0x10,0x0,0x40,0x40,0x44,0x7e,0x84,0x4,0x4,0x84,0x64,0x24,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x40,0x27,0x24,0x4,0x5,0xe4,0x24,0x27,0x24,0x25,0x25,0x2d,0x35,0x25,0x8,0x10,0x4,0xfe,0x44,0x44,0xf4,0x44,0x54,0xfc,0x4,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x4,0x7e,0x45,0x45,0x45,0x7d,0x52,0x10,0x13,0x5c,0x50,0x50,0x5e,0xf0,0x41,0x2,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x50,0x50,0x88,0x8c,0x6,0x4,
-+0x4,0x8,0x34,0x3,0x6,0x1a,0x67,0x8c,0x13,0x6,0x19,0x2,0xd,0x1,0x6,0x38,0x40,0x20,0x58,0x80,0xc0,0x30,0xce,0x44,0x80,0x80,0xf0,0x20,0x40,0x80,0x0,0x0,
-+0x0,0x9,0xfd,0x13,0x11,0x21,0x25,0x3f,0x65,0xa4,0x27,0x24,0x24,0x3d,0x22,0x0,0x50,0x50,0x54,0xfe,0x50,0x50,0x70,0x0,0xfc,0x20,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x50,0x17,0x1c,0xf4,0x41,0x2,0x0,0x50,0x50,0x54,0xfe,0x50,0x50,0x70,0x0,0xfc,0x20,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x0,0x42,0x32,0x13,0x2,0x4,0xf0,0x17,0x10,0x10,0x10,0x11,0x12,0x28,0x44,0x3,0x40,0x40,0x50,0xf8,0x40,0x40,0x48,0xfc,0x40,0x80,0xa0,0x18,0x8,0x0,0x6,0xfc,
-+0x0,0x41,0x31,0x17,0x1,0x1,0xf1,0x11,0x11,0x10,0x17,0x10,0x14,0x19,0x12,0x0,0x50,0x50,0x54,0xfe,0x50,0x50,0x70,0x0,0xfc,0x20,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x1f,0x4,0x3,0x3e,0x14,0x8,0x76,0x0,0x7f,0x40,0x9f,0x10,0x1e,0x11,0x10,0xff,0xf0,0x40,0x80,0xf8,0x50,0x20,0xdc,0x0,0xfe,0x2,0xf4,0x10,0x10,0xf0,0x14,0xfe,
-+0x0,0x0,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x78,0x4f,0x48,0x48,0x78,0x48,0x48,0x48,0x78,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x8,0x7f,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x13,0x1c,0x20,0x20,0x7c,0x90,0x10,0xfc,0x10,0x12,0x14,0x18,0x10,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0xb,0xfc,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x50,0x20,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x40,0x58,0x84,0x2,
-+0xf,0x8,0xf,0x28,0x2f,0x28,0x2f,0x20,0x3e,0x2,0xfe,0x12,0x12,0x22,0xc2,0x2,0xe0,0x20,0xe0,0x28,0xe8,0x28,0xe8,0x8,0xf8,0x80,0xfc,0x84,0x84,0x84,0x84,0x80,
-+0x10,0x10,0x10,0x1d,0x21,0x22,0x7d,0x90,0x10,0x7d,0x11,0x11,0x15,0x1a,0x14,0x8,0x40,0x20,0x20,0xfe,0x2,0x4,0xfc,0x20,0x28,0x3c,0x20,0x20,0x20,0xa0,0x66,0x3c,
-+0x2,0x1,0x7f,0x40,0x80,0x1f,0x1,0x1,0x11,0x11,0x11,0x11,0x11,0x29,0x47,0x80,0x0,0x0,0xfe,0x2,0x24,0xf0,0x0,0x0,0x20,0xf0,0x0,0x0,0x0,0x6,0xfc,0x0,
-+0x0,0x40,0x27,0x20,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x3f,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x2,0x4,0x8,0x10,0x3f,0x0,0xf0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x20,0x10,0xf8,0x8,
-+0x2,0x2,0x2,0xff,0x4,0x9,0x9,0x11,0x3f,0x1,0x9,0x9,0x11,0x21,0x45,0x2,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x10,0xf8,0x0,0x40,0x20,0x10,0x18,0x8,0x0,
-+0x4,0x4,0x7,0x8,0x14,0x22,0x1,0x2,0xc,0x30,0xc6,0x1,0x0,0x6,0x1,0x0,0x0,0x0,0xf0,0x20,0x40,0x80,0x0,0xc0,0x30,0xe,0x4,0x80,0x0,0x0,0x80,0x40,
-+0x4,0xff,0x4,0x3f,0x1,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x3f,0x1,0x7f,0x44,0xfe,0x40,0xf8,0x0,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x0,0xfc,
-+0x21,0x2f,0x21,0x27,0xb0,0xaf,0xa0,0x27,0x24,0x27,0x24,0x27,0x20,0x27,0x20,0x2f,0x14,0xfe,0x10,0xfc,0x40,0xfe,0x44,0xfe,0x44,0xfc,0x44,0xfc,0x40,0xfc,0x40,0xfe,
-+0x0,0x8,0x7c,0x0,0x5,0xfe,0x10,0x10,0x20,0x24,0x42,0xfe,0x41,0x1,0x2,0x4,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x4,0x28,0x10,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x38,0x35,0x53,0x50,0x91,0x11,0x12,0x14,0x10,0x10,0x40,0x40,0x48,0xfc,0x80,0x80,0xa0,0x24,0xfe,0x20,0x28,0x24,0x22,0x22,0xa0,0x40,
-+0x8,0xb,0xa,0x12,0x13,0x32,0x52,0x92,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x4,0xfe,0x4,0x14,0xfc,0x4,0x14,0xfc,0x94,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x10,0x13,0x12,0x12,0x5b,0x56,0x52,0x92,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x4,0xfe,0x4,0x14,0xfc,0x4,0x14,0xfc,0x94,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x0,0x40,0x23,0x10,0x10,0x1,0x1,0xb,0x10,0x60,0x20,0x21,0x22,0x24,0x20,0x0,0x40,0x48,0xfc,0x80,0x80,0x20,0x24,0xfe,0x20,0xa0,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x0,0x43,0x32,0x12,0x83,0x42,0x4a,0x12,0x12,0x22,0xe2,0x22,0x22,0x22,0x22,0x22,0x4,0xfe,0x4,0x14,0xfc,0x4,0x14,0xfc,0x94,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x1,0xa,0x37,0x24,0x24,0x27,0x24,0x2c,0x37,0x20,0x4,0x4,0x4,0x8,0x10,0x60,0x0,0x8,0xdc,0x48,0x48,0xc8,0x48,0x48,0xd8,0x8,0x40,0x42,0x42,0x42,0x3e,0x0,
-+0x10,0x11,0x10,0x10,0xfc,0x11,0x14,0x18,0x30,0xd0,0x17,0x10,0x10,0x10,0x50,0x20,0x10,0x10,0xd0,0x50,0x10,0x10,0xd0,0x50,0x14,0x1e,0xf0,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x8,0x6,0x2,0x10,0xc,0x4,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0x7e,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x78,0x48,0x53,0x50,0x60,0x57,0x48,0x4a,0x4a,0x6a,0x52,0x45,0x44,0x48,0x40,0x40,0x40,0x50,0xf8,0x40,0x48,0xfc,0x40,0x50,0x78,0x40,0x40,0x40,0xc6,0x3c,0x0,
-+0x0,0x7f,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x0,0x8,0x4,0x2,0xff,0x0,0x8,0xfc,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x0,0x20,0x40,0x84,0xfe,0x0,
-+0x0,0x47,0x20,0x20,0x3,0x2,0xf2,0x13,0x10,0x11,0x10,0x17,0x10,0x28,0x47,0x0,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0xf8,0x0,0x10,0xa0,0xfc,0x0,0x6,0xfc,0x0,
-+0x1,0x0,0x1f,0x10,0x97,0x50,0x53,0x12,0x32,0x52,0xd3,0x10,0x21,0x20,0x4f,0x0,0x0,0x84,0xfe,0x0,0xfc,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x10,0xa4,0xfe,0x0,
-+0x10,0x12,0x7f,0x12,0x14,0xff,0x8,0x12,0x3f,0x62,0xa2,0x3e,0x22,0x22,0x3e,0x22,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0xe,0x8,0xff,0x28,0x2a,0x49,0x58,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x0,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0xf4,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x1,0x3f,0x1,0x1f,0x1,0x7f,0x0,0x1f,0x12,0x11,0xff,0x22,0x21,0x3f,0x0,0x0,0x10,0xf8,0x0,0xf0,0x0,0xfc,0x0,0xf0,0x10,0x14,0xfe,0x10,0x10,0xf8,0x10,0x60,
-+0x10,0x10,0x51,0x50,0x7c,0x53,0x90,0x14,0x19,0x30,0xd7,0x10,0x10,0x10,0x10,0x13,0x20,0x28,0xfc,0x20,0x20,0xfe,0x92,0x54,0x10,0x94,0xfe,0x20,0x20,0x50,0x8c,0x4,
-+0x0,0x44,0x28,0x10,0x2b,0x4a,0x8a,0x1a,0x2a,0x4b,0xa,0x8,0x8,0x8,0x57,0x20,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x48,0x78,0x84,0x4,
-+0x0,0x20,0x13,0x10,0x0,0x7,0xf0,0x10,0x11,0x10,0x17,0x10,0x14,0x18,0x10,0x3,0x20,0x28,0xfc,0x20,0x20,0xfe,0x92,0x54,0x10,0x94,0xfe,0x20,0x20,0x50,0x8c,0x4,
-+0x10,0x10,0x10,0x11,0xfc,0x10,0x17,0x10,0x10,0x11,0x1e,0xe4,0x48,0x10,0x0,0x0,0x40,0x40,0x44,0xf8,0x48,0x50,0xfe,0x48,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,
-+0x8,0x7c,0x48,0x49,0x48,0x78,0x4f,0x48,0x48,0x79,0x4a,0x4c,0x48,0x78,0x48,0x0,0x40,0x40,0x44,0xf8,0x48,0x50,0xfe,0x48,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,
-+0x4,0x7e,0x44,0x55,0x54,0x54,0x57,0x54,0x54,0x55,0x56,0x54,0x10,0x28,0x44,0x84,0x40,0x40,0x44,0xf8,0x48,0x50,0xfe,0x48,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,
-+0x10,0x10,0x10,0x14,0xfe,0x10,0x31,0x38,0x54,0x54,0x90,0x10,0x10,0x10,0x13,0x10,0x20,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x3b,0x42,0x82,0x7b,0x22,0x22,0xfa,0x23,0x22,0x2a,0x34,0x24,0x8,0x3,0x40,0x24,0xfe,0x50,0x50,0xfc,0x50,0x70,0x0,0xf8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x3e,0x24,0x24,0x24,0x3c,0x25,0x24,0x24,0x3c,0x24,0x24,0x24,0x27,0x54,0x88,0x20,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x1,0x0,0x3f,0x22,0x22,0x3f,0x22,0x23,0x20,0x2f,0x22,0x21,0x20,0x43,0x8c,0x30,0x0,0x84,0xfe,0x20,0x28,0xfc,0x20,0xe0,0x0,0xf0,0x20,0x40,0x80,0x60,0x1e,0x4,
-+0x0,0x40,0x37,0x14,0x84,0x67,0x24,0x4,0x14,0x25,0xe4,0x24,0x28,0x28,0x31,0x26,0x80,0x44,0xfe,0x90,0x94,0xfe,0x90,0xf0,0x0,0xf8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x10,0x10,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x2a,0x46,0x84,0x8,0x40,0x20,0x20,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x20,0x11,0x11,0xfd,0x1,0x48,0x4b,0x48,0x49,0x49,0x11,0x1d,0xe1,0x41,0x1,0x20,0x20,0x24,0x24,0x24,0xfc,0x0,0xfe,0x44,0xfe,0x54,0x54,0x54,0x54,0x4,0xc,
-+0x20,0x20,0x2b,0x3c,0x50,0x91,0x11,0x15,0xff,0x11,0x10,0x11,0x28,0x24,0x47,0x80,0x0,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x8,0x90,0x94,0xfe,0x0,
-+0x21,0x26,0x3c,0x44,0x87,0x7c,0x24,0x27,0xfd,0x24,0x24,0x27,0x2c,0x34,0x25,0x6,0x88,0x7c,0x48,0x48,0x48,0x48,0x86,0x0,0xfc,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x0,0x6,0x38,0x20,0x24,0x3e,0x21,0x24,0x3e,0x20,0x20,0x3e,0xe0,0x20,0x20,0x23,0x8,0xfc,0x88,0x88,0x88,0x88,0x6,0x0,0xf8,0x88,0x90,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x44,0x64,0x55,0x4e,0x44,0x7f,0x44,0x4e,0x55,0x64,0x44,0x44,0x7f,0x40,0x1,0x0,0xc,0xf0,0x40,0x40,0x44,0x7e,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x88,0x8,
-+0x21,0x26,0x24,0x44,0x4f,0xf4,0x24,0x47,0x45,0xfc,0x4,0xf,0x34,0xc4,0x5,0x6,0x88,0x7c,0x48,0x48,0x48,0x48,0x86,0x0,0xfc,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x10,0x10,0x11,0xfd,0x13,0x15,0x11,0x11,0x1d,0xe1,0x41,0x1,0x1,0x1,0x80,0xa0,0x90,0x84,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,
-+0x10,0x8,0x4,0x1f,0x10,0x10,0x10,0x10,0x1f,0x14,0x4,0x4,0x8,0x8,0x10,0x60,0x10,0x20,0x50,0xf8,0x10,0x10,0x10,0x10,0xf0,0x50,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x7c,0x44,0x48,0x48,0x50,0x48,0x48,0x44,0x44,0x44,0x69,0x51,0x42,0x44,0x48,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xa0,0xa0,0xa0,0x10,0x10,0x8,0x6,0x4,
-+0x0,0x0,0x0,0xfc,0x7,0x4,0x48,0x29,0x10,0x10,0x28,0x24,0x44,0x80,0x0,0x0,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x90,0x90,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x24,0x22,0x3f,0x20,0x2f,0xf8,0x2f,0x20,0x2f,0x21,0x22,0x3f,0xe2,0x42,0xa,0x4,0x20,0xa0,0xe0,0x24,0xbe,0xc4,0xa4,0x24,0xa4,0x28,0x28,0x90,0x10,0x28,0x46,0x84,
-+0x0,0x8,0x7c,0x4f,0x48,0x48,0x4a,0x4a,0x4a,0x4a,0x4b,0x7a,0x48,0x0,0x0,0x0,0x40,0x40,0x48,0xfc,0x40,0x40,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x42,0x42,0x3e,
-+0x8,0x7f,0x48,0x49,0x49,0x49,0x79,0x51,0x11,0x59,0x50,0x57,0x59,0xe0,0x40,0x0,0x88,0xfe,0x54,0xfe,0x54,0xdc,0x4,0xfc,0x4,0xfc,0x8,0xfe,0x8,0x88,0x28,0x10,
-+0x10,0xa,0xff,0x0,0x7e,0x43,0x42,0x7e,0x0,0x7e,0x4,0x8,0xfe,0x8,0x29,0x12,0x40,0x40,0x44,0x7e,0x88,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x11,0x14,0xfe,0x11,0x55,0x55,0x55,0x55,0x7d,0x55,0x11,0x14,0x18,0x10,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x20,0x50,0x8c,0x4,
-+0x0,0x7f,0x41,0x41,0x5f,0x41,0x49,0x49,0x49,0x4f,0x49,0x41,0x40,0x40,0x7f,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0x24,0x24,0x24,0xe4,0x4,0x14,0xf4,0x4,0xfc,0x4,
-+0x10,0x10,0x1c,0x23,0x20,0x7d,0x91,0x11,0xfd,0x11,0x11,0x10,0x14,0x18,0x10,0x0,0x20,0x20,0x24,0xfe,0x20,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x2f,0x28,0x2f,0x28,0x2f,0x48,0x48,0x8f,0x8,0x78,0x80,0x80,0x84,0xfe,0x80,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x47,0x24,0x24,0x7,0x4,0xe5,0x25,0x25,0x25,0x25,0x29,0x21,0x50,0x8f,0x0,0x38,0xc0,0x40,0x48,0xfc,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x6,0xfc,0x0,
-+0x20,0x2f,0x24,0x25,0xfa,0x25,0x28,0x20,0x3f,0xe0,0x28,0x25,0x22,0x25,0xa8,0x50,0x0,0xfc,0xa4,0x28,0x10,0x28,0xc4,0x0,0xbc,0x84,0xc4,0x28,0x10,0x28,0xce,0x84,
-+0x0,0x8,0x7c,0x49,0x4a,0x48,0x48,0x49,0x4e,0x48,0x49,0x7a,0x48,0x0,0x1,0x6,0x40,0x40,0xfc,0x8,0x90,0x60,0x40,0xa0,0x7e,0x84,0x88,0x50,0x20,0x40,0x80,0x0,
-+0x2,0x2,0x7,0x8,0x18,0x25,0x2,0xc,0x71,0x2,0xc,0x12,0x21,0x1,0xe,0x70,0x0,0x0,0xf0,0x20,0x40,0x80,0x80,0x80,0xfc,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,
-+0x1,0x1,0x7f,0x2,0x4,0x8,0x30,0xc0,0x0,0x7f,0x4,0x2,0x2,0x0,0x0,0x0,0x0,0x8,0xfc,0x80,0x40,0x30,0xe,0x24,0x20,0xfc,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x16,0x10,0x1f,0x10,0x1c,0xf1,0x42,0x4,0x8,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x4c,0x40,0xfe,0xc0,0xe0,0x50,0x48,0x46,0x44,0x40,
-+0x8,0x10,0x3c,0x24,0x3c,0x24,0x3d,0x24,0xff,0x14,0x14,0x24,0x24,0x45,0x96,0x8,0x8,0xfc,0x88,0x88,0x88,0x88,0x26,0x24,0xfe,0x60,0x70,0xb0,0xa8,0x26,0x24,0x20,
-+0x0,0xf,0x8,0x8,0x8,0x8,0x31,0x1,0xff,0x3,0x3,0x5,0x9,0x11,0x61,0x1,0x20,0xf0,0x20,0x20,0x20,0x20,0x1c,0x0,0xfe,0x0,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x8,0x7d,0x49,0x49,0x49,0x49,0x7a,0x10,0x17,0x58,0x50,0x51,0x5d,0xe2,0x44,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xc,0x40,0xfe,0xc0,0xe0,0x50,0x4e,0x44,0x40,0x40,
-+0x8,0x10,0x3c,0x25,0x35,0x2e,0x24,0xfc,0x24,0x34,0x2c,0x24,0x24,0x44,0x94,0x8,0x40,0x20,0x0,0xfe,0x2,0x4,0x80,0x88,0x90,0xa0,0xc0,0x80,0x84,0x84,0x7c,0x0,
-+0x2,0x3f,0x22,0x22,0x22,0x22,0x49,0x9,0xff,0x8,0x1c,0x2b,0x49,0x88,0x8,0x8,0x4,0x4,0x4,0x24,0x24,0x24,0xa4,0x24,0xa4,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x17,0x11,0x59,0x56,0x53,0x94,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x80,0x84,0xfe,0x0,0xfc,0x20,0xfe,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x0,0x7b,0x48,0x49,0x52,0x4c,0x48,0x68,0x50,0x41,0x41,0x3f,0x1,0x1,0xff,0x0,0x44,0xfe,0x88,0xfc,0x88,0xf8,0x88,0xf8,0x88,0x98,0x0,0xf8,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0x7c,0x57,0x54,0x54,0x54,0x57,0x7c,0x50,0x14,0x1c,0xf2,0x41,0x10,0xd4,0x92,0x90,0x90,0xfe,0x90,0x90,0xd4,0x98,0x90,0xa8,0xc8,0x8a,0x86,0x2,
-+0x10,0x10,0x13,0x54,0x54,0x57,0x54,0x54,0x54,0x57,0x54,0x54,0x5c,0x74,0x42,0x1,0x10,0xd0,0x94,0x92,0x90,0xfe,0x90,0x90,0xd4,0x98,0x90,0xa8,0xc8,0x8a,0x86,0x2,
-+0x8,0x38,0xec,0x2a,0x28,0xfe,0x28,0x28,0x38,0xea,0x2c,0x28,0x35,0x24,0xa5,0x42,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x80,0xfe,0x2,0x12,0xfa,0x2,0x14,0x8,
-+0x8,0x9,0xf,0x11,0x11,0x3f,0x51,0x91,0x11,0x13,0x1d,0x11,0x11,0x11,0x15,0x12,0x20,0xa8,0x24,0x20,0x24,0xfe,0x20,0x20,0xa4,0x18,0x10,0x30,0x48,0x8a,0x6,0x2,
-+0x10,0x8,0x7f,0x41,0x92,0x1e,0x22,0x54,0x8,0x14,0x22,0x7f,0xa2,0x22,0x3e,0x20,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x10,0x28,0x46,0x82,
-+0x1,0x41,0x31,0x11,0x1,0x3,0xf5,0x19,0x11,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x20,0x20,0x24,0x2c,0x30,0x20,0x60,0xa0,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x27,0x24,0x24,0x24,0x45,0x2a,0x10,0x28,0x44,0x86,0x1,0x10,0xd0,0x94,0x92,0x90,0xfe,0x90,0x90,0xd4,0x98,0x90,0xa8,0xc8,0x8a,0x86,0x2,
-+0x0,0x7f,0x4,0x24,0x14,0x14,0x4,0x4,0xff,0x0,0x2a,0x29,0x28,0x48,0x7,0x0,0x8,0xfc,0x40,0x48,0x58,0x60,0x40,0x44,0xfe,0x0,0x10,0x88,0xa4,0x24,0xe0,0x0,
-+0x0,0x3f,0x20,0x20,0x20,0x27,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x43,0x80,0x8,0xfc,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0xa0,0x40,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x12,0x14,0x58,0x20,0x0,0x4,0xfe,0x0,0x8,0xfc,0x88,0x88,0x88,0xa8,0x90,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x47,0x24,0x27,0x4,0x7,0xe2,0x25,0x2c,0x34,0x25,0x24,0x27,0x50,0x8f,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x8,0xfc,0x88,0x88,0x48,0x28,0xd0,0x6,0xfc,0x0,
-+0x0,0x77,0x55,0x55,0x77,0x0,0x7f,0x0,0xff,0x10,0x22,0x3f,0x2,0x2,0x12,0xc,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0xc4,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x20,0x20,0x23,0x3c,0x24,0x4b,0x40,0xa0,0x20,0x21,0x22,0x20,0x28,0x30,0x22,0x1,0x10,0xd0,0x94,0x92,0x90,0xfe,0x90,0x90,0xd4,0x98,0x90,0xa8,0xc8,0x8a,0x86,0x2,
-+0x0,0x3f,0x21,0x21,0x2f,0x21,0x22,0x24,0x28,0x3f,0x20,0x2,0x51,0x50,0x90,0xf,0x8,0xfc,0x8,0x48,0xe8,0x8,0x88,0x68,0x28,0xf8,0x8,0x0,0x84,0x92,0x12,0xf0,
-+0x0,0xff,0x2,0x2,0x4,0x7f,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x40,0x4,0xfe,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x8,
-+0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x42,0x3e,0x0,
-+0x0,0x7f,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x8,0x8,0xff,0x0,0x0,0x0,0x0,0x8,0xfc,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x24,0x3e,0xe0,0x20,0x20,0x20,0x20,
-+0x8,0xc,0x8,0x1f,0x20,0x41,0x81,0x1,0x9,0x9,0x11,0x11,0x21,0x1,0x5,0x2,0x0,0x0,0x8,0xfc,0x8,0x10,0x0,0x0,0x40,0x20,0x10,0x18,0x8,0x0,0x0,0x0,
-+0x20,0x23,0x21,0x3d,0x25,0x49,0x41,0xa1,0x21,0x21,0x27,0x20,0x28,0x30,0x20,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0xfe,0x8,0x8,0x8,0x8,0x8,
-+0x0,0x47,0x32,0x12,0x83,0x62,0x22,0xb,0x12,0x22,0xe2,0x2f,0x20,0x20,0x20,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x8,0x8,0x8,0x8,
-+0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x0,0x0,0xff,0x0,0x3f,0x0,0x7f,0x0,0x3f,0x20,0x24,0x24,0x24,0xa,0x11,0x60,0x28,0x24,0xfe,0x20,0xa0,0x20,0xe0,0x20,0xa0,0x90,0x90,0x90,0x92,0xa,0x8a,0x84,
-+0x1,0x11,0x11,0x21,0x7f,0x2,0x2,0x7,0x6,0xa,0x9,0x10,0x21,0x42,0x8c,0x30,0x0,0x20,0x10,0x4,0xfe,0x0,0x0,0xf0,0x10,0x20,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x7f,0x44,0x44,0x7f,0x20,0x18,0x8,0x0,0xf0,0x10,0x12,0x14,0x18,0x10,0x0,0x4,0xfe,0x44,0x44,0xfc,0x0,0x8,0x88,0x88,0x88,0x88,0x88,0x88,0x8,0x28,0x10,
-+0x10,0x1f,0x28,0x45,0x0,0x8,0x8,0x10,0x37,0x50,0x90,0x10,0x10,0x10,0x13,0x10,0x40,0x7c,0xa0,0x10,0x80,0x90,0x88,0xfe,0x80,0x50,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x57,0x90,0x10,0x10,0x10,0x10,0x10,0x11,0x16,0x10,0x80,0xa0,0x98,0x88,0x80,0xfc,0x80,0x88,0x88,0x50,0x60,0x40,0xa0,0x12,0xa,0x6,
-+0x0,0x0,0x7f,0x4,0x3,0x1,0x3f,0x0,0x0,0x1,0x6,0x8,0x30,0x48,0x7,0x0,0x10,0x78,0x80,0x0,0x0,0x0,0xf8,0x10,0x60,0x80,0x0,0x0,0x0,0x6,0xfc,0x0,
-+0x20,0x17,0x10,0x45,0x45,0x49,0x49,0x5f,0x69,0x48,0x48,0x49,0x4a,0x48,0x48,0x40,0x4,0xfe,0x4,0x44,0x24,0x4,0xf4,0x4,0x24,0xc4,0x84,0x44,0x54,0x34,0x4,0xc,
-+0x0,0x40,0x30,0x10,0x87,0x60,0x20,0x8,0x17,0x20,0xe0,0x20,0x21,0x22,0x27,0x20,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x80,0x10,0x8,0xfc,0x4,
-+0x0,0x10,0xf8,0x20,0x27,0x20,0x20,0xf8,0x2f,0x20,0x20,0x20,0x39,0xe2,0x47,0x0,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x80,0x8,0x4,0xfe,0x2,
-+0x8,0xff,0x8,0x4f,0x24,0x22,0x8f,0x62,0x2a,0x14,0x2f,0xe4,0x27,0x24,0x27,0x24,0x24,0xfe,0x20,0xf8,0x90,0xa0,0xfc,0xa0,0x90,0x8e,0xf4,0x90,0xf0,0x90,0xf0,0x10,
-+0x10,0x10,0x14,0x7e,0x54,0x54,0x54,0x54,0x54,0x54,0x5c,0x54,0x11,0x11,0x12,0x14,0x8,0xfc,0x88,0x88,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0x88,0xa,0xa,0x6,0x0,
-+0x0,0x3f,0x11,0xd,0x5,0xff,0x9,0x11,0x3f,0xd1,0x11,0x1f,0x11,0x11,0x1f,0x10,0x78,0x80,0x10,0x30,0x44,0xfe,0x20,0x10,0xfe,0x14,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0xe,0xf1,0x54,0x38,0xfe,0x11,0x54,0x92,0x7c,0x54,0x55,0x7c,0x54,0x54,0x7d,0x44,0x4,0xde,0x44,0x44,0x44,0x54,0xcc,0x44,0x44,0xcc,0x54,0x44,0x44,0x44,0x54,0x88,
-+0x10,0x14,0x12,0xfd,0x12,0x38,0x56,0x91,0x12,0x14,0x1,0xff,0x2,0x4,0x18,0x60,0x10,0x50,0x94,0x7e,0x90,0x38,0xd4,0x12,0x90,0x50,0x4,0xfe,0x80,0x40,0x3c,0x8,
-+0x8,0xfd,0x11,0x11,0x21,0x29,0x7d,0xa9,0x29,0x29,0x29,0x29,0x3a,0x2a,0x4,0x8,0x10,0xf8,0x10,0x10,0x10,0x90,0x50,0x50,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x10,0x11,0x3d,0x21,0x41,0xfd,0x11,0x11,0xfd,0x11,0x11,0x15,0x1a,0x12,0x4,0x8,0x10,0xf8,0x10,0x10,0x10,0x90,0x50,0x50,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x22,0x3f,0x40,0xbe,0x2a,0xff,0x2a,0x3e,0x2,0x1f,0x1,0x6,0x3f,0x9,0x19,0x22,0x20,0x24,0x7e,0xc4,0x28,0x90,0x2e,0xc4,0x20,0xc0,0x80,0x10,0xf8,0x20,0x18,0x8,
-+0x0,0xf,0x8,0x8,0x8,0xa,0x9,0x9,0x8,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0xa0,0xa0,0x20,0x20,0x22,0x22,0x22,0x1e,0x0,
-+0x10,0x13,0x10,0x14,0x59,0x51,0x51,0x91,0x11,0x11,0x11,0x29,0x24,0x44,0x81,0x2,0x4,0xfe,0x40,0x88,0xfc,0x8,0x28,0x28,0x28,0x48,0x48,0x48,0x80,0x90,0xc,0x4,
-+0x0,0x0,0x3f,0x20,0x20,0x3f,0x24,0x24,0x22,0x22,0x21,0x20,0x41,0x42,0x84,0x18,0x10,0x78,0x80,0x0,0x0,0xf8,0x8,0x10,0x10,0x20,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x40,0x33,0x12,0x2,0x2,0xf2,0x12,0x12,0x12,0x12,0x14,0x15,0x28,0x44,0x3,0x8,0x1c,0xe0,0x0,0x0,0xf8,0x8,0x90,0x50,0x20,0x50,0x8c,0x4,0x0,0x6,0xfc,
-+0x8,0x8,0xff,0x8,0x20,0x1b,0x4a,0x22,0x22,0xa,0xf2,0x22,0x22,0x22,0x21,0x20,0x20,0x24,0xfe,0x20,0x10,0xf8,0x10,0x10,0x10,0x50,0x20,0x0,0x2,0x2,0xfe,0x0,
-+0x4,0x7e,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x11,0x2a,0x44,0x81,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x48,0x48,0x50,0x30,0x20,0x50,0x48,0x8e,0x4,
-+0x2,0x44,0x29,0x11,0x29,0x49,0x89,0x9,0x19,0x29,0x49,0x89,0x9,0x9,0x50,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x20,0x20,0x21,0x3d,0x25,0x49,0x41,0xa1,0x21,0x21,0x21,0x25,0x29,0x32,0x24,0x9,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x48,0x48,0x50,0x30,0x20,0x50,0x48,0x8e,0x4,
-+0x0,0x40,0x37,0x10,0x80,0x40,0x47,0x10,0x10,0x20,0xe0,0x21,0x26,0x29,0x20,0x20,0x10,0x38,0xc0,0x80,0x40,0x40,0xfc,0x8,0x30,0x40,0x80,0x0,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x10,0x10,0x13,0xfc,0x10,0x10,0x10,0x10,0x1c,0xf0,0x41,0x1,0x2,0x4,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x8,0x8,0xff,0x8,0xa,0x1,0xff,0x4,0x4,0x7,0x4,0x4,0x8,0x8,0x10,0x20,0x20,0x24,0xfe,0x20,0x20,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x4,0x3,0x1,0x0,0xff,0x4,0x4,0x7,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x4,0x3e,0x24,0x24,0x27,0x3c,0x24,0x24,0x24,0x3c,0x24,0x24,0x25,0x25,0x4e,0x84,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x2,0x1,0x3f,0x20,0x3f,0x21,0x20,0x3f,0x22,0x22,0x23,0x22,0x44,0x44,0x88,0x10,0x0,0x8,0xfc,0x8,0xf8,0x0,0x84,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0xa0,0x40,
-+0x0,0x7c,0x44,0x48,0x4f,0x50,0x48,0x48,0x44,0x44,0x44,0x68,0x51,0x41,0x42,0x44,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x10,0x10,0xff,0x24,0x24,0x24,0x24,0x44,0x28,0x10,0x29,0x45,0x82,0x4,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x8,0x8,0x8,0x10,0x17,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x0,0x20,0x10,0x10,0x7,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x15,0x19,0x12,0x4,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x20,0x20,0x47,0xfc,0x10,0x20,0x40,0xfc,0x40,0x0,0x1d,0xe1,0x42,0x4,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x20,0x10,0x10,0x0,0xff,0x20,0x24,0x3e,0x24,0x24,0x24,0x24,0x44,0x54,0x89,0x2,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x50,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x8,0x8,0xff,0x8,0x4,0x4,0x7c,0x4,0x4,0x7c,0x4,0x4,0xfc,0x4,0x4,0x4,0x20,0x24,0xfe,0x20,0x40,0x48,0x7c,0x40,0x48,0x7c,0x40,0x44,0x7e,0x40,0x40,0x40,
-+0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x7c,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x40,0x40,0x44,0x7e,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,
-+0x0,0x8,0x7c,0x4f,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x78,0x4f,0x0,0x0,0x0,0x90,0x90,0x94,0x9e,0x90,0x90,0x94,0x9e,0x90,0x90,0x90,0x94,0x9e,0x90,0x90,0x90,
-+0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x24,0x2c,0x30,0x20,0x30,0x2c,0x24,0x20,0x20,0x10,0x12,0xa,0x4,
-+0x4,0x7f,0x45,0x45,0x45,0x7d,0x45,0x45,0x45,0x7d,0x45,0x45,0x45,0x45,0x54,0x88,0x4,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x2,0x2,0x2,0xfe,0x0,
-+0x0,0x7f,0x42,0x42,0x5e,0x42,0x42,0x5e,0x42,0x42,0x7e,0x42,0x42,0x42,0x7f,0x0,0x4,0xfe,0x40,0x50,0x78,0x40,0x50,0x78,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x0,
-+0x20,0x10,0x10,0x7,0x0,0xf0,0x10,0x13,0x10,0x10,0x10,0x17,0x14,0x18,0x10,0x0,0x90,0x90,0x94,0x9e,0x90,0x90,0x90,0x9c,0x90,0x90,0x94,0x9e,0x90,0x90,0x90,0x90,
-+0x0,0x8,0x7c,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x49,0x79,0x4a,0x2,0x4,0x8,0x40,0x50,0x48,0x48,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,0x0,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x24,0x54,0x88,0x20,0x20,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x2c,0x20,0x20,0x20,
-+0x1,0x0,0x3f,0x20,0x24,0x24,0x2f,0x21,0x23,0x22,0x25,0x24,0x28,0x30,0x43,0x8c,0x0,0x88,0xfc,0x80,0x90,0x88,0xfe,0x0,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x1,0x41,0x2f,0x21,0x1,0x8f,0x49,0x9,0x1f,0x29,0xe1,0x21,0x22,0x22,0x24,0x28,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x20,0xfe,0x22,0x22,0x2a,0x24,0x20,0x20,0x20,
-+0x4,0x7f,0x4,0x7f,0x44,0x7f,0x4,0x8,0x3f,0xd0,0x11,0x11,0x11,0x2,0xc,0x30,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x42,0x4a,0xf4,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x8,0x8,0xff,0x8,0x4,0x4,0x8,0x10,0x20,0xcf,0x4,0x4,0x4,0x8,0x10,0x20,0x20,0x24,0xfe,0x20,0x80,0x80,0x40,0x30,0xe,0xe4,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xab,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x1,0x8,0x48,0x48,0x48,0x84,0x84,0x2,0xfc,0x44,0x44,0x44,0x44,0x44,0x44,0x94,0x8,
-+0x0,0x8,0x7c,0x48,0x48,0x49,0x49,0x4a,0x4d,0x48,0x48,0x78,0x49,0x1,0x2,0x4,0x20,0xa0,0xa0,0x90,0x90,0x8,0xe,0x4,0xf8,0x88,0x88,0x88,0x8,0x8,0x28,0x10,
-+0x10,0x1f,0x10,0x2f,0x40,0xbf,0x1,0x9,0x8,0x10,0x3f,0x48,0x8,0x8,0x12,0x21,0x8,0xfc,0x0,0xf8,0x0,0xf8,0x8,0x8,0x88,0x48,0xb8,0xa8,0x88,0x8a,0x8a,0x4,
-+0x0,0x4,0x4,0x8,0x8,0x10,0x20,0x4f,0x84,0x4,0x4,0x4,0x4,0x8,0x11,0x20,0x80,0x80,0x40,0x40,0x20,0x10,0x8,0xee,0x24,0x20,0x20,0x20,0x20,0x20,0x40,0x80,
-+0x10,0x10,0x20,0x20,0x48,0xf9,0x11,0x22,0x45,0xf8,0x40,0x0,0x19,0xe1,0x42,0x4,0x20,0xa0,0xa0,0x90,0x90,0x8,0xe,0x4,0xf8,0x88,0x88,0x88,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x10,0x13,0xfc,0x10,0x10,0x10,0x10,0x10,0x1c,0xf0,0x40,0x1,0x6,0x40,0x20,0x20,0x4,0xfe,0x88,0x88,0x88,0x88,0x48,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0x8,0x8,0xfe,0x18,0x2c,0x4b,0x8,0x1,0x11,0x9,0xa,0x4,0x8,0x30,0xc0,0x20,0x20,0x24,0xfe,0x60,0xb8,0x24,0x20,0x10,0x30,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x41,0x31,0x11,0x82,0x64,0x28,0x7,0x11,0x21,0xe1,0x21,0x22,0x22,0x24,0x28,0x20,0x20,0x20,0x10,0x10,0xe,0x4,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x10,0x10,0x10,0x54,0x38,0x11,0xfd,0x12,0x39,0x34,0x50,0x90,0x11,0x11,0x12,0x14,0x20,0xa0,0xa0,0x90,0x90,0x8,0xe,0x4,0xf8,0x88,0x88,0x88,0x8,0x8,0x28,0x10,
-+0x1,0x1,0x1,0xff,0x2,0x4,0x8,0x30,0xdf,0x11,0x11,0x1f,0x11,0x11,0x1f,0x10,0x0,0x0,0x4,0xfe,0x80,0x40,0x20,0x1e,0xf4,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x8,0x9,0x9,0x11,0x12,0x32,0x54,0x9b,0x11,0x11,0x11,0x11,0x12,0x12,0x14,0x10,0x20,0x20,0x20,0x10,0x10,0xe,0x4,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x0,0x4,0x4,0x8,0x1f,0x24,0xc4,0x9,0x30,0x0,0x2a,0x29,0x28,0x48,0x7,0x0,0x80,0x80,0x40,0x20,0xf0,0x2e,0x24,0x20,0xc0,0x0,0x10,0x88,0xa4,0x24,0xe0,0x0,
-+0x10,0x10,0x13,0x10,0x59,0x57,0x51,0x93,0x12,0x12,0x12,0x12,0x12,0x10,0x11,0x16,0x40,0x50,0xf8,0x40,0x54,0xfe,0x10,0xf8,0x8,0x48,0x48,0x48,0x48,0xa0,0x18,0x8,
-+0x11,0xd,0x5,0x7f,0x3,0x5,0x19,0x4,0x4,0x3f,0x4,0x4,0xff,0x8,0x18,0x20,0x10,0x30,0x40,0xfc,0x80,0x40,0x3c,0x48,0x40,0xf8,0x40,0x44,0xfe,0x20,0x18,0x8,
-+0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x0,0x0,0x8,0xfc,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x8,0x8,0xa,0x7f,0x8,0xa,0xff,0x8,0xa,0x7f,0x8,0x8,0xf,0x78,0x20,0x0,0x8,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x3b,0x36,0x52,0x52,0x92,0x13,0x12,0x14,0x14,0x18,0x0,0x8,0xfc,0x8,0x8,0x8,0x18,0xa8,0x48,0x48,0xa8,0x18,0x8,0xa,0xa,0x6,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x54,0x57,0x54,0x7c,0x51,0x14,0x1d,0xe4,0x40,0x0,0x80,0x80,0xfc,0x88,0x50,0x20,0xde,0x24,0xf8,0x20,0xfc,0x20,0xfc,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x11,0x56,0x54,0x54,0x57,0x54,0x54,0x55,0x5c,0x65,0x0,0x0,0x0,0x80,0x80,0xfc,0x88,0x50,0x20,0xde,0x24,0xf8,0x20,0xfc,0x20,0xfc,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x1d,0x22,0x20,0x7c,0x93,0x10,0xfc,0x11,0x10,0x15,0x18,0x10,0x0,0x80,0x80,0xfc,0x88,0x50,0x20,0xde,0x24,0xf8,0x20,0xfc,0x20,0xfc,0x20,0x20,0x20,
-+0x0,0x3f,0x20,0x28,0x24,0x22,0x22,0x21,0x21,0x22,0x22,0x24,0x28,0x30,0x40,0x80,0x10,0xf8,0x10,0x50,0x50,0x90,0x90,0x10,0x10,0x90,0x90,0x50,0x50,0x12,0xa,0x6,
-+0x1,0x0,0x1f,0x10,0x97,0x54,0x56,0x15,0x34,0x54,0xd4,0x14,0x25,0x2a,0x48,0x10,0x0,0x84,0xfe,0x8,0xfc,0x8,0x18,0x18,0xa8,0x48,0x48,0xa8,0x18,0x1a,0xa,0x6,
-+0x10,0x10,0x10,0x15,0x5a,0x50,0x50,0x93,0x10,0x10,0x29,0x24,0x45,0x40,0x80,0x0,0x80,0x80,0xfc,0x88,0x50,0x20,0xde,0x24,0xf8,0x20,0xfc,0x20,0xfc,0x20,0x20,0x20,
-+0x0,0x41,0x23,0x24,0x0,0x1,0xee,0x20,0x27,0x20,0x23,0x20,0x27,0x20,0x50,0x8f,0x80,0xfc,0x8,0xb0,0x40,0xb0,0x4e,0x40,0xfc,0x40,0xf8,0x40,0xfc,0x40,0x46,0xfc,
-+0x0,0x47,0x30,0x12,0x2,0xa,0x12,0x12,0x23,0xe0,0x20,0x2f,0x20,0x20,0x20,0x20,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x4,0x28,0x10,
-+0x10,0x10,0x24,0x23,0x4a,0xf8,0x17,0x22,0x42,0xfa,0x42,0x3,0x1a,0xe2,0x45,0x8,0x40,0x7c,0x88,0x50,0x20,0xd8,0x26,0xf8,0x20,0xf8,0x20,0xfc,0x20,0x20,0x26,0xfc,
-+0x0,0x47,0x24,0x24,0x6,0x5,0xe4,0x24,0x24,0x24,0x25,0x2e,0x34,0x24,0x8,0x10,0x8,0xfc,0x8,0x8,0x18,0x18,0xa8,0x48,0x48,0xa8,0x18,0x18,0x8,0xa,0xa,0x6,
-+0x1,0x1,0x7f,0x1,0x3f,0x2,0xff,0x4,0x9,0x31,0xcf,0x1,0x1f,0x1,0x1,0x1,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x20,0x1e,0xe4,0x0,0xf0,0x0,0x0,0x0,
-+0x0,0x3f,0x20,0x20,0x2f,0x20,0x28,0x24,0x22,0x21,0x22,0x24,0x28,0x20,0x40,0x80,0x10,0xf8,0x10,0x10,0xf0,0x50,0x50,0x90,0x90,0x10,0x90,0xd0,0x50,0x12,0xa,0x6,
-+0x10,0x12,0x12,0x2f,0x22,0x62,0xaf,0x2a,0x2a,0x2f,0x22,0x22,0x22,0x24,0x28,0x20,0x40,0x40,0x48,0xfc,0x48,0x48,0xf8,0x40,0x44,0xfe,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x0,0xff,0x0,0x1,0x3,0x5,0x9,0x31,0xc1,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x4,0xfe,0x80,0x0,0x0,0x60,0x18,0x6,0x12,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0xff,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x40,0x30,0xe,0x4,
-+0x8,0xff,0x8,0x7f,0x49,0x7f,0x49,0x7f,0x49,0x8,0xff,0x10,0x1e,0x12,0x22,0x47,0x20,0xa0,0x20,0x24,0x7e,0x84,0x44,0x44,0x28,0x28,0x90,0x10,0x28,0x48,0x86,0x4,
-+0x4,0x3e,0x24,0x25,0x24,0x3c,0x24,0x27,0x24,0x3c,0x24,0x24,0x24,0x24,0x4d,0x86,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x20,0x57,0x55,0x55,0x55,0x77,0x55,0x55,0x55,0x77,0x14,0x24,0x24,0x44,0x84,0xc,0xf0,0x2,0x54,0x54,0x0,0x7c,0x8,0x10,0x14,0xfe,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x10,0x11,0xfc,0x10,0x14,0x1b,0x30,0xd0,0x10,0x10,0x10,0x10,0x51,0x26,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x11,0x11,0x17,0xf9,0x11,0x17,0x1d,0x35,0xd7,0x11,0x11,0x11,0x12,0x54,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x20,0xfe,0x22,0x22,0x2a,0x24,0x20,0x20,
-+0x10,0x17,0x20,0xfb,0x22,0x52,0x53,0xf8,0x17,0x14,0xfc,0x17,0x14,0x14,0x17,0x14,0x8,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x10,0x11,0x14,0x7e,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x5d,0x11,0x11,0x11,0x11,0x8,0xfc,0x0,0xf8,0x88,0x88,0xf8,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,
-+0x10,0x1f,0x10,0x2f,0x40,0xbf,0xa,0x7f,0xa,0x7f,0x4a,0x7f,0xa,0xa,0x12,0x62,0x8,0xfc,0x0,0xf8,0x0,0xf8,0x8,0xc8,0x48,0xc8,0x8,0xe8,0x28,0xaa,0x4a,0x4,
-+0x10,0x12,0x1f,0x28,0x45,0x88,0x8,0x17,0x30,0x52,0x91,0x11,0x10,0x10,0x10,0x10,0x40,0x44,0x7e,0xa0,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x8,0x8,0x8,0x10,0x10,0x3f,0x50,0x90,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x18,0x40,0x40,0x50,0x4c,0x44,0xfe,0x40,0x40,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x10,0x10,0x17,0x20,0x22,0x62,0xa0,0x27,0x20,0x20,0x2f,0x20,0x20,0x20,0x21,0x20,0x8,0x3c,0xc0,0x8,0x48,0x50,0x0,0xf8,0x20,0x44,0xfe,0x40,0x40,0x40,0x40,0x80,
-+0x2,0x3f,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x22,0x4a,0x84,0x8,0xfc,0x88,0x88,0x88,0x98,0x80,0xfc,0xa4,0xa4,0xa8,0x90,0xa8,0xa8,0xc6,0x84,
-+0x40,0x30,0x17,0x0,0x82,0x62,0x20,0xb,0x10,0x20,0xef,0x20,0x20,0x20,0x21,0x20,0x8,0x3c,0xc0,0x8,0x48,0x50,0x0,0xf8,0x20,0x44,0xfe,0x40,0x40,0x40,0x40,0x80,
-+0x40,0x30,0x17,0x0,0x81,0x60,0x20,0xf,0x10,0x23,0xe2,0x22,0x22,0x22,0x23,0x22,0x80,0x48,0xfc,0x0,0x10,0xa0,0x4,0xfe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x17,0x10,0x3,0xfa,0xa,0x13,0x38,0x57,0x94,0x14,0x17,0x14,0x14,0x17,0x14,0x8,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x20,0x10,0x10,0x1,0xfd,0xb,0x15,0x31,0x55,0x99,0x15,0x11,0x11,0x11,0x11,0x11,0x90,0x90,0x94,0x12,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x28,0x28,0x46,0x84,0x0,
-+0x4,0x4,0x4,0x7f,0x4,0x4,0x7f,0x44,0x44,0x7f,0x44,0x4,0x8,0x30,0xc0,0x0,0x40,0x40,0x48,0xfc,0x48,0x48,0xf8,0x40,0x44,0xfe,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x1,0x1,0xff,0x1,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x21,0x21,0x20,0x20,0x14,0xfe,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x17,0x18,0x30,0xd0,0x10,0x11,0x11,0x12,0x54,0x28,0x0,0x8,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0xa0,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x15,0xfe,0x20,0x29,0x49,0x7f,0x9,0x9,0xf,0xf9,0x49,0x9,0x9,0x9,0x28,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x10,0x10,0x17,0x24,0x24,0x64,0xa5,0x25,0x27,0x25,0x25,0x25,0x29,0x29,0x31,0x21,0x80,0x44,0xfe,0x80,0x88,0x88,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x8,0x28,0x10,
-+0x4,0x8,0x14,0x62,0x1,0xe,0x30,0xdf,0x1,0x1,0x3f,0x1,0x9,0x5,0x7f,0x0,0x40,0x20,0x50,0x8c,0x0,0xe0,0x1e,0xf4,0x0,0x10,0xf8,0x0,0x20,0x48,0xfc,0x0,
-+0x4,0x8,0x34,0x3,0xc,0x30,0xc0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x20,0x40,0x0,0x40,0x20,0x58,0x80,0x60,0x1e,0xe4,0x0,0x0,0x10,0xf8,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x3c,0x27,0x24,0x24,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x25,0x45,0x8d,0x28,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x8,0x7c,0x4b,0x4a,0x4a,0x7a,0x4a,0x4a,0x4b,0x7a,0x4a,0x4a,0x4a,0x5a,0x84,0x8,0x40,0x24,0xfe,0x40,0x44,0x44,0x84,0xfe,0x84,0xa4,0x94,0x94,0x84,0x84,0x94,0x88,
-+0x2,0x1,0x3f,0x22,0x22,0x22,0x24,0x27,0x2c,0x35,0x24,0x24,0x24,0x44,0x84,0x4,0x0,0x8,0xfc,0x0,0x10,0x10,0x14,0xfe,0x10,0x10,0x90,0x90,0x10,0x10,0x50,0x20,
-+0x1,0x0,0x3f,0x22,0x22,0x25,0x2c,0x34,0x24,0x2f,0x29,0x2a,0x48,0x49,0x8a,0x8,0x0,0x84,0xfe,0x10,0x14,0xfe,0x90,0x10,0xb4,0xfe,0x44,0xa4,0x84,0x44,0x34,0x8,
-+0x8,0x8,0xa,0x7f,0x8,0xa,0xff,0x8,0x28,0x2a,0x2f,0x28,0x28,0x58,0x88,0x7,0x40,0x40,0x40,0x40,0x40,0x60,0x50,0x4c,0x44,0x40,0x40,0x40,0x40,0x40,0x6,0xfc,
-+0x0,0xff,0x0,0x3f,0x20,0x20,0x3f,0x0,0x7f,0x44,0x44,0x7f,0x44,0x44,0x7f,0x40,0x44,0xe4,0x84,0xd4,0x94,0x94,0x94,0x54,0xf4,0x54,0x54,0xd4,0x44,0x44,0xd4,0x48,
-+0xff,0x4,0x3f,0x24,0x3f,0x12,0x23,0x4a,0x17,0x32,0x53,0x91,0x13,0x1d,0x10,0x17,0xfe,0x40,0xf8,0x48,0xf8,0x0,0xfc,0x0,0xf8,0x48,0xf8,0x0,0xf8,0x10,0xe2,0x1c,
-+0x4,0x7e,0x44,0x55,0x54,0x54,0x57,0x54,0x55,0x55,0x55,0x11,0x29,0x27,0x45,0x80,0x8,0x8,0x2c,0xfa,0x8,0x8,0xfe,0x48,0x48,0x78,0x48,0x48,0x78,0xca,0xa,0x4,
-+0x10,0x1f,0x20,0x2f,0x48,0x8f,0x8,0xf,0x4,0xf,0xc,0x12,0x21,0x42,0x4,0x38,0x8,0xfc,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x0,0xf0,0x20,0x40,0x80,0x40,0x30,0xe,
-+0x8,0x8,0xf,0x10,0x17,0x34,0x57,0x94,0x17,0x14,0x10,0x1f,0x12,0x11,0x10,0x10,0x50,0x48,0xfe,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x44,0x10,0xfe,0x10,0x10,0x50,0x20,
-+0x8,0x8,0x8,0x10,0x10,0x37,0x50,0x90,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x90,0x90,0x10,0x10,0x10,0x50,0x20,
-+0x1,0x2,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x1f,0x11,0x1,0xff,0x1,0x1,0x1,0x0,0x10,0xf8,0x10,0xf0,0x0,0xf0,0x10,0x10,0xf0,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x4,0x8,0x10,0x20,0x40,0x8,0x4,0x4,0x2,0x2,0x1,0x2,0x4,0x8,0x30,0xc0,0x40,0x20,0x10,0xc,0x24,0x20,0x40,0x40,0x80,0x80,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x9,0x7d,0x49,0x4b,0x4d,0x79,0x49,0x49,0x49,0x79,0x4a,0x4c,0x48,0x48,0x49,0x9e,0x4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x4,0xf,0x10,0x20,0x5f,0x10,0x11,0x11,0x11,0x11,0x11,0x2,0x4,0x18,0x60,0x0,0x0,0xe0,0x40,0x90,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x18,0x8,
-+0x2,0x1,0x7f,0x40,0x9f,0x0,0x1f,0x10,0x1f,0x0,0x3f,0x21,0x3f,0x21,0x3f,0x20,0x0,0x0,0xfe,0x22,0xf4,0x0,0xf0,0x10,0xf0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0x20,0x18,0x8,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x40,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x7c,0x44,0x49,0x49,0x53,0x4d,0x49,0x45,0x45,0x45,0x69,0x51,0x41,0x41,0x41,0x88,0x88,0x88,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x13,0xfc,0x24,0x24,0x24,0x25,0x48,0x28,0x10,0x28,0x47,0x84,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x10,0x10,0x27,0x20,0x43,0xfa,0x13,0x22,0x43,0xfa,0x40,0x7,0x1a,0xe1,0x40,0x0,0x50,0x48,0xfc,0x40,0xf8,0x48,0xf8,0x48,0xf8,0x48,0x10,0xfe,0x10,0x10,0x10,0x20,
-+0x0,0x8,0x7c,0x49,0x49,0x4b,0x4d,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x88,0x88,0x88,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x28,0x10,
-+0x1,0xf,0x79,0x4b,0x4a,0x4b,0x4a,0x4b,0x49,0x49,0x4a,0x7c,0x4a,0x2,0x3,0x0,0x10,0xfe,0x10,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x44,0x64,0x94,0x4,0xe4,0xc,
-+0x7,0x8,0x7f,0x4a,0x4b,0x4a,0x4b,0x4a,0x4b,0x49,0x49,0x7f,0x48,0x0,0x1,0xe,0xfc,0x80,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x40,0x3e,0xc0,0xa0,0x42,0xb2,0xe,
-+0x1,0x40,0x2f,0x0,0x1,0x1,0xe2,0x27,0x20,0x20,0x20,0x25,0x2a,0x30,0x23,0xc,0x0,0x84,0xfe,0x80,0x0,0x10,0x10,0xe0,0x48,0x48,0x90,0x20,0x50,0x88,0x4,0x4,
-+0x0,0x4,0xfe,0x4,0x4,0x5,0x7e,0x44,0x40,0x40,0x40,0x40,0x4c,0x70,0x41,0x6,0x80,0x80,0x80,0x84,0xfe,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x17,0x14,0xfc,0x17,0x34,0x3c,0x57,0x54,0x95,0x15,0x16,0x14,0x10,0x10,0x0,0x84,0xfe,0x88,0x88,0xa8,0xa8,0xbe,0x88,0x10,0x18,0xa8,0xaa,0x4a,0x86,0x0,
-+0x10,0x13,0x10,0x1c,0x21,0x21,0x7d,0x91,0x11,0x7c,0x10,0x10,0x14,0x18,0x10,0x0,0x4,0xfe,0x20,0x28,0x3c,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x8,0x4,0x7f,0x1,0x1,0x3f,0x1,0x1,0x7f,0x0,0x3f,0x24,0x24,0x24,0xff,0x0,0x20,0x48,0xfc,0x0,0x10,0xf8,0x0,0x8,0xfc,0x0,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x41,0x2f,0x29,0x9,0x8f,0x49,0x49,0x1f,0x28,0x28,0xca,0x4b,0x4d,0x48,0x40,0x41,0x4,0xfe,0x10,0x10,0x50,0x50,0x54,0x7e,0x10,0x10,0x20,0x30,0x52,0x52,0x8e,0x0,
-+0x0,0x3f,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0x8,0x8,0xff,0x8,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0xf,0x8,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0x20,0xe0,0x20,
-+0x10,0x10,0x11,0x10,0xfc,0x10,0x30,0x3b,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x11,0x11,0x11,0x11,0xff,0x11,0x39,0x35,0x51,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x12,0x1f,0x28,0x45,0x80,0x3f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x40,0x44,0x7e,0xa0,0x10,0x0,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3d,0x24,0x24,0x24,0x3c,0x24,0x27,0x24,0x3c,0x24,0x24,0x24,0x44,0x94,0x8,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x8,0x8,0x9,0x7e,0x8,0x8,0xfe,0x9,0x28,0x28,0x2e,0x28,0x28,0x38,0x48,0x87,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x6,0xfc,
-+0x0,0x0,0x7f,0x40,0x7f,0x40,0x5f,0x51,0x51,0x5f,0x90,0x2,0x29,0x28,0x48,0x7,0x50,0x48,0xfc,0x40,0xc0,0x48,0x48,0x50,0x22,0x52,0x8e,0x0,0x90,0xac,0x24,0xe0,
-+0x8,0x1d,0xf0,0x10,0x10,0xfc,0x10,0x3b,0x34,0x50,0x50,0x90,0x10,0x10,0x10,0x10,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x7c,0x4,0x8,0xff,0x24,0x24,0x3c,0x24,0x3c,0x24,0x24,0xfe,0x4,0x5,0x6,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x50,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x10,0xfe,0x44,0x29,0xfe,0x1,0x7c,0x44,0x7d,0x44,0x7c,0x10,0xfe,0x10,0x10,0x11,0x40,0x78,0xd0,0x20,0x58,0x86,0xf8,0x20,0xfc,0x0,0xf8,0x88,0xa8,0xa8,0x58,0x84,
-+0x0,0x7f,0x40,0x40,0x48,0x44,0x42,0x41,0x42,0x44,0x48,0x50,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x24,0x64,0x84,0x4,0x84,0x64,0x34,0x14,0x4,0x4,0x14,0x8,
-+0x1,0x7f,0x41,0x41,0x63,0x63,0x55,0x55,0x49,0x55,0x53,0x63,0x41,0x41,0x45,0x42,0x4,0x84,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x10,0x13,0x12,0x1e,0x23,0x22,0x7e,0x92,0x12,0x7e,0x12,0x13,0x16,0x1a,0x12,0x2,0x4,0xfe,0x4,0x4,0xc,0x8c,0x54,0x24,0x24,0x54,0x8c,0xc,0x4,0x4,0x14,0x8,
-+0x20,0x22,0x3f,0x48,0x48,0x88,0x9,0xff,0x8,0x2a,0x2a,0x2a,0x2a,0x3e,0x23,0x2,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0xa0,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x3e,0x25,0x24,0x24,0x3c,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x27,0x44,0x8c,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x20,0x23,0x22,0x4a,0x4b,0xf2,0x12,0x22,0x42,0xfa,0x42,0x3,0x1a,0xe2,0x42,0x2,0x4,0xfe,0x4,0x4,0xc,0x8c,0x54,0x24,0x24,0x54,0x8c,0xc,0x4,0x4,0x14,0x8,
-+0x1,0x41,0x41,0x7f,0x0,0x7f,0x40,0x48,0x44,0x42,0x41,0x42,0x44,0x48,0x50,0x40,0x0,0x4,0x4,0xfc,0x4,0xfe,0x4,0x24,0x44,0x84,0x4,0x84,0x44,0x34,0x14,0x8,
-+0x41,0x31,0x17,0x81,0x61,0x2f,0x1,0x12,0x27,0xea,0x22,0x23,0x22,0x22,0x21,0x20,0x10,0x10,0xfc,0x10,0x14,0xfe,0x20,0x10,0xfe,0x14,0x10,0xf0,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x10,0x11,0xfc,0x10,0x30,0x38,0x54,0x50,0x90,0x10,0x10,0x13,0x10,0x10,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x20,0x3e,0x50,0x81,0x7f,0x0,0x1f,0x10,0x1f,0x0,0x7f,0x40,0x4f,0x48,0x4f,0x40,0x40,0x7c,0x90,0x0,0xfc,0x0,0xf0,0x10,0xf0,0x4,0xfe,0x4,0xe4,0x24,0xe4,0xc,
-+0x2,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x2,0xff,0x4,0x9,0x11,0x2f,0xc1,0x1,0x1,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x40,0x20,0x50,0xee,0x4,0x0,0x0,
-+0x2,0x1,0xff,0x0,0x1f,0x10,0x10,0x1f,0x0,0x7f,0x40,0x4f,0x48,0x48,0x4f,0x40,0x0,0x4,0xfe,0x0,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x4,0xe4,0x24,0x24,0xe4,0xc,
-+0x1,0x7f,0x8,0xf,0x0,0x7f,0x48,0x8f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x8,0xfc,0x20,0xe0,0x0,0xfe,0x22,0xe4,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x30,
-+0x10,0xc,0x4,0x7f,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x20,0x24,0x22,0x40,0x10,0x30,0x40,0xfc,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x10,0x88,0x44,0x4,
-+0x11,0x10,0x92,0x55,0x38,0x10,0xfe,0x11,0x38,0x34,0x54,0x53,0x90,0x12,0x12,0x14,0x4,0x88,0x50,0xfc,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0xa4,0x92,0x2,
-+0x10,0x10,0x1f,0x10,0xfb,0x12,0x12,0x1b,0x30,0xd7,0x14,0x15,0x15,0x15,0x54,0x24,0x80,0x44,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0xf4,0x14,0xf4,0x4,0xc,
-+0x10,0x10,0x1f,0x20,0x21,0x7d,0x91,0x11,0x7c,0x13,0x12,0x12,0x16,0x1a,0x12,0x2,0x40,0x24,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0xf4,0x94,0xf4,0x4,0xc,
-+0x8,0x1c,0xf3,0x10,0x11,0xfd,0x11,0x39,0x34,0x53,0x52,0x92,0x12,0x12,0x12,0x12,0x40,0x24,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0xf4,0x94,0xf4,0x4,0xc,
-+0x1,0x11,0x11,0x1f,0x11,0x21,0x1,0xff,0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x7f,0x0,0x1f,0x10,0x10,0x1f,0x0,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0xfc,0x10,0x90,0x90,0x90,0x90,0x14,0xfe,0x10,0x90,0x90,0x90,0x90,0x10,0x50,0x20,
-+0x2,0xff,0x2,0x7a,0x4a,0x4a,0x7b,0x2,0xff,0x2,0x7a,0x4a,0x4a,0x7a,0x4a,0x5,0x20,0x20,0x20,0x40,0x7c,0x84,0x28,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x8e,0x4,
-+0x10,0x14,0x12,0x10,0xfc,0x15,0x16,0x1c,0x34,0xd7,0x15,0x15,0x15,0x15,0x55,0x24,0x0,0x4,0xfe,0x44,0xf4,0x14,0xa4,0x44,0xa4,0x1c,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x4,0x4,0x4,0x4,0x4,0xff,0x4,0x4,0x4,0x2,0x2,0x1,0x2,0xc,0x70,0x0,0x0,0x80,0x40,0x4,0xfe,0x0,0x0,0x20,0x30,0x40,0x80,0x0,0x80,0x44,0x34,0xc,
-+0x10,0x10,0x29,0x29,0x25,0x43,0x89,0x7d,0x1,0x7d,0x44,0x44,0x47,0x44,0x7c,0x40,0x20,0x48,0xfc,0x8,0x48,0x28,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x4,0x3e,0x24,0x24,0x24,0x3d,0x26,0x24,0x24,0x3d,0x26,0x24,0x24,0x44,0x94,0x8,0x40,0x40,0x7c,0x84,0x88,0x50,0x20,0x50,0x8e,0x4,0xf8,0x88,0x88,0x88,0xf8,0x88,
-+0x1,0x0,0x1f,0x12,0x92,0x53,0x54,0x18,0x37,0x50,0xd0,0x13,0x24,0x24,0x44,0x3,0x0,0x84,0xfe,0x0,0x10,0xf8,0x0,0x0,0xf0,0x20,0xc0,0x0,0x0,0x2,0x2,0xfe,
-+0x8,0x4,0x7f,0x44,0xbf,0x4,0x3f,0x4,0x7f,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x4,0x4,0xe4,0x54,0x94,0x14,0x94,0x14,0xd4,0x94,0xd4,0x94,0x84,0x84,0x94,0x88,
-+0x8,0x8,0x7f,0x8,0xf,0x1,0x3f,0x21,0x21,0x3f,0x1,0xff,0x1,0x1,0x1,0x1,0x20,0x28,0xfc,0x20,0xe0,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x4,0xff,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x4,0xf,0x11,0x22,0x54,0x10,0x1f,0x0,0x44,0xfe,0x40,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x4,0x84,0x44,0x4,0xd4,0x8,
-+0x11,0x11,0x11,0x12,0xff,0x14,0x38,0x34,0x51,0x52,0x97,0x1a,0x12,0x12,0x13,0x12,0x0,0x0,0xf8,0x8,0x10,0xa0,0x40,0xa0,0x10,0xe,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x14,0x7e,0x55,0x56,0x55,0x54,0x7c,0x51,0x11,0x15,0x1d,0xe5,0x41,0x1,0x20,0x20,0x50,0x88,0x6,0x4,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x1b,0x4a,0x42,0x47,0x4c,0x52,0x41,0x46,0x58,0x60,0x4f,0x48,0x48,0x4f,0x40,0x4,0xfe,0x4,0x4,0xe4,0x44,0x84,0x4,0xc4,0x3c,0x14,0xe4,0x24,0x24,0xf4,0x8,
-+0x0,0x7f,0x48,0x53,0x52,0x62,0x53,0x48,0x4f,0x4d,0x6c,0x57,0x44,0x44,0x44,0x44,0x8,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x14,0xa4,0xfc,0x44,0x44,0x54,0x8,
-+0x10,0x10,0x1c,0x11,0x21,0x3e,0x50,0x90,0x7c,0x13,0x11,0x11,0x15,0x19,0x11,0x1,0x80,0x80,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x1,0x2,0x4,0x8,0x11,0x21,0xc1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x80,0x40,0x20,0x10,0xe,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x4,0x7,0x8,0x14,0x22,0x1,0x6,0x18,0xe0,0xf,0x8,0x8,0x8,0xf,0x8,0x0,0x0,0xf0,0x10,0x20,0x40,0x80,0x60,0x1e,0x4,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x20,0x20,0x49,0xfa,0x14,0x23,0x40,0xf8,0x43,0x2,0x1a,0xe2,0x43,0x2,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,0xf8,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x39,0x35,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x48,0x30,0x20,0x10,0x4e,0x84,0x0,
-+0x0,0x7d,0x45,0x45,0x45,0x45,0x7d,0x11,0x51,0x5d,0x51,0x51,0x51,0x5d,0xe1,0x41,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x48,0x30,0x20,0x10,0x4e,0x84,0x0,
-+0x10,0x10,0x14,0xfe,0x11,0x7c,0x10,0xfe,0x13,0x38,0x34,0x54,0x51,0x91,0x12,0x10,0x88,0x88,0x88,0x88,0xfc,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x8,0x8,0x8,0x8,
-+0x0,0xff,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x29,0x5,0x2,0x5,0x18,0xe0,0x4,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x0,0x0,0x80,0x70,0xe,
-+0x1,0x0,0x3f,0x20,0x20,0x2f,0x20,0x3f,0x20,0x2f,0x20,0x21,0x41,0x42,0x84,0x18,0x0,0x84,0xfe,0x80,0x88,0xfc,0x88,0xfe,0x88,0xf8,0x88,0x40,0x40,0x30,0xe,0x4,
-+0x4,0x7f,0x1,0x3f,0x1,0xff,0x28,0x42,0x3f,0x1,0x1f,0x1,0xff,0x2,0xc,0x30,0x48,0xfc,0x0,0xf8,0x0,0xfe,0x28,0x84,0xf8,0x0,0xf0,0x4,0xfe,0x80,0x78,0x10,
-+0x20,0x2f,0x20,0x27,0xfc,0x24,0x27,0x24,0x24,0x27,0x3c,0xe3,0x40,0x1,0x6,0x18,0x4,0xfe,0x40,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x40,0x80,0x60,0x1e,0x4,
-+0x2,0xff,0x24,0x24,0x3c,0x24,0x24,0x3d,0x24,0x24,0x24,0x3e,0xe4,0x44,0x7,0x4,0x20,0x20,0x20,0x20,0xa4,0xac,0xb0,0x20,0x20,0x20,0x20,0x50,0x50,0x8e,0x4,0x0,
-+0x10,0x1f,0x10,0x13,0xfe,0x12,0x33,0x3a,0x52,0x53,0x92,0x11,0x10,0x11,0x12,0x1c,0x4,0xfe,0x48,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x48,0x40,0x80,0x60,0x1e,0x4,
-+0x0,0x0,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,
-+0x0,0x0,0x8,0xfd,0x11,0x12,0x14,0x11,0x11,0x11,0x10,0x1c,0xf0,0x41,0x2,0xc,0x80,0x80,0x80,0x8,0xfc,0x10,0x10,0x10,0x20,0x20,0xc0,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x0,0x8,0xfc,0x10,0x17,0x10,0x10,0x10,0x10,0x1d,0xf1,0x41,0x2,0x4,0x8,0x80,0x80,0x80,0x80,0x84,0xfe,0x84,0x84,0x84,0x84,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x8,0x8,0x7f,0x8,0x8,0xff,0x4,0x9,0x11,0x21,0xc9,0x9,0x11,0x21,0x5,0x2,0x20,0x28,0xfc,0x20,0x24,0xfe,0x40,0x20,0x10,0xe,0x24,0x90,0x48,0x8,0x0,0x0,
-+0x2,0x2,0xff,0x5,0x5,0x9,0x32,0xc8,0x8,0x3f,0x8,0x8,0xff,0x8,0x18,0x20,0x20,0x14,0xfe,0x0,0x64,0x84,0xfc,0x20,0x20,0xf8,0x20,0x24,0xfe,0x20,0x18,0x8,
-+0x12,0x12,0x12,0x22,0x2f,0x62,0xa2,0x22,0x22,0x3f,0x20,0x22,0x22,0x24,0x28,0x20,0x10,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x14,0xfe,0x0,0x10,0x8,0xc,0x4,0x0,
-+0x8,0x12,0x3f,0x22,0x3e,0x22,0x3e,0x22,0x22,0xfe,0x6,0xa,0x12,0x22,0x4a,0x4,0x0,0x4,0xfe,0x4,0x4,0xfc,0x80,0x84,0xfe,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x0,0x4,0x4,0x8,0x8,0x11,0x21,0xc2,0x2,0x4,0x8,0x10,0x1f,0x0,0x0,0x0,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,0x0,0x0,0x40,0x20,0xf0,0x10,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0xf,0x8,0x8,0xf,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0xfe,0x2,0x24,0xf0,0x20,0x20,0xe0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x7f,0x0,0x0,0x0,0x3f,0x20,0x20,0x40,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0xe0,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0x90,0x50,0x20,
-+0x0,0x9,0xfd,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1d,0xf1,0x42,0x2,0x4,0x8,0x8,0xfc,0x8,0x8,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0xa,0xa,0x6,0x0,
-+0x0,0x3f,0x1,0x1,0xff,0x0,0x1,0x1,0x7d,0x5,0x9,0x11,0x21,0xc1,0x5,0x2,0x10,0xf8,0x0,0x4,0xfe,0x0,0x8,0x18,0xa0,0x40,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x11,0x11,0x11,0x11,0xfb,0x11,0x11,0x19,0x31,0xdf,0x10,0x11,0x11,0x12,0x54,0x20,0x10,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x14,0xfe,0x0,0x10,0x8,0xc,0x4,0x0,
-+0x0,0x3f,0x1,0x1,0xff,0x0,0x1f,0x10,0x11,0x11,0x11,0x11,0x11,0x2,0xc,0x30,0x10,0xf8,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x8,0x8,0x8,0x8,0x7f,0x8,0x8,0x8,0x8,0x8,0xff,0x0,0x4,0xc,0x10,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,0x40,0x30,0x18,0x8,
-+0x10,0x10,0x10,0x1c,0x21,0x22,0x7c,0x90,0x10,0x7c,0x11,0x10,0x14,0x18,0x10,0x0,0x80,0x80,0x84,0xfe,0x4,0x4,0x44,0x44,0x84,0xa4,0xf4,0x14,0x4,0x4,0x28,0x10,
-+0x8,0x8,0x8,0xf,0x10,0x22,0x42,0x84,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x84,0x44,0xc4,0x44,0x4,0x28,0x10,
-+0x2,0x42,0x32,0x13,0x84,0x68,0x20,0x1,0x9,0x12,0xe4,0x27,0x20,0x20,0x20,0x20,0x0,0x0,0x4,0xfe,0x4,0x84,0x84,0x4,0x4,0x44,0x24,0xe4,0x24,0x4,0x28,0x10,
-+0x8,0x8,0xff,0x8,0x10,0x1f,0x20,0x20,0x5f,0x90,0x10,0x10,0x1f,0x10,0x0,0x0,0x20,0x24,0xfe,0x20,0x8,0xfc,0x8,0x88,0xc8,0x88,0x88,0x88,0x88,0x8,0x50,0x20,
-+0x4,0x44,0x28,0x11,0x29,0x4a,0x8,0x9,0x19,0x29,0x49,0x89,0x9,0x8,0x50,0x20,0x80,0x80,0x84,0xfe,0x4,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x4,0x4,0x28,0x10,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x12,0x12,0x12,0x12,0x16,0x1a,0xe4,0x44,0x8,0x0,0xc,0xf0,0x0,0x0,0x4,0xfe,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x30,0x38,0x54,0x50,0x11,0x11,0x10,0x10,0x10,0x10,0x80,0x80,0x84,0xfe,0x4,0x4,0x44,0x44,0x84,0xa4,0x14,0xf4,0x14,0x4,0x28,0x10,
-+0x4,0x7e,0x44,0x54,0x55,0x56,0x54,0x54,0x54,0x54,0x55,0x55,0x10,0x28,0x44,0x84,0x80,0x80,0x84,0xfe,0x4,0x4,0x44,0x44,0x84,0xa4,0x14,0xf4,0x14,0x4,0x28,0x10,
-+0x20,0x20,0x22,0x3f,0x42,0x83,0x7a,0x4a,0x4a,0x4b,0x4a,0x7a,0x42,0xa,0x4,0x0,0x20,0x20,0x7c,0x44,0x88,0x50,0x20,0x50,0x9e,0x22,0x44,0xa8,0x10,0x20,0x40,0x80,
-+0x1,0xff,0x1,0x3f,0x20,0x3f,0x1,0x3f,0x8,0x4,0xff,0x1,0x3f,0x1,0x1,0x1,0x4,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xf8,0x20,0x44,0xfe,0x0,0xf8,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x10,0x10,0xff,0x12,0x12,0x22,0x22,0x14,0x8,0x14,0x22,0x40,0x40,0x44,0xfe,0x40,0x20,0x24,0xfe,0x20,0x24,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x0,0x8,0x7c,0x48,0x4f,0x48,0x48,0x48,0x4b,0x4a,0x4a,0x7a,0x4a,0x2,0x3,0x2,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x1f,0x28,0x45,0x90,0x13,0x12,0xfe,0x12,0x1a,0x32,0xd2,0x12,0x12,0x53,0x20,0x40,0x7e,0xa0,0x10,0x0,0xfc,0x20,0x28,0xfc,0xa8,0xa8,0xa8,0xb8,0x20,0xfe,0x0,
-+0x8,0x8,0x8,0x10,0x1f,0x30,0x50,0x90,0x13,0x12,0x12,0x12,0x12,0x12,0x13,0x12,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x10,0x87,0x60,0x20,0x8,0x13,0x22,0xe2,0x22,0x22,0x22,0x23,0x22,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x7c,0x7,0xa,0x12,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x14,0x15,0x58,0x20,0x8,0x3c,0xc0,0x10,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0xa8,0xee,0x24,0x0,
-+0x10,0x10,0x10,0x10,0x13,0xfc,0x24,0x24,0x45,0x25,0x19,0x11,0x29,0x45,0x81,0x1,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x14,0xfe,0x11,0x7c,0x0,0x7d,0x44,0x44,0x7c,0x0,0x44,0x28,0xfe,0x40,0x3,0x20,0x20,0x24,0xfe,0x20,0x28,0xfc,0x88,0x88,0x88,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1f,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0x1,0x1f,0x11,0x11,0x1f,0x11,0x1,0x3f,0x0,0x3f,0x24,0x24,0x24,0xff,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x4,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x1f,0x10,0x1f,0x11,0x11,0x7f,0x40,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0xfe,0x2,0xf4,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x8,0x8,0x10,0x21,0x41,0x2,0x4,0x8,0x30,0xc0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x40,0x30,0x18,0x8,0x0,0x80,0x40,0x30,0xe,0x4,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x4,0x3e,0x24,0x24,0x24,0x3d,0x26,0x25,0x24,0x3c,0x24,0x24,0x24,0x24,0x4d,0x86,0x8,0xfc,0x88,0x88,0x88,0xe,0x0,0xfc,0x84,0x88,0x48,0x70,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x10,0x14,0xfe,0x11,0x12,0x10,0x7c,0x44,0x44,0x44,0x44,0x7c,0x44,0x3,0x40,0x40,0x40,0x44,0xfe,0x8,0x88,0x88,0x88,0x88,0x50,0x20,0x20,0x50,0x8e,0x4,
-+0x4,0x7f,0x40,0x40,0x5e,0x52,0x52,0x52,0x5a,0x54,0x50,0x52,0x54,0x58,0x80,0x1,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x30,0x4c,0x86,0x2,
-+0x0,0x7f,0x41,0x41,0x5f,0x41,0x41,0x4f,0x48,0x48,0x48,0x4f,0x48,0x40,0x7f,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x24,0x4,0xfc,0x4,
-+0x2,0x1,0x3f,0x20,0x3f,0x22,0x22,0x27,0x24,0x2f,0x34,0x27,0x24,0x24,0x47,0x84,0x0,0x4,0xfe,0x4,0xfc,0x80,0x48,0xfc,0x40,0xf8,0x40,0xf8,0x40,0x48,0xfc,0x0,
-+0x1,0x7e,0x8,0x8,0x9,0xff,0x8,0x8,0x9,0x7f,0x41,0x41,0x41,0x41,0x7f,0x41,0x84,0x4,0x4,0x24,0x24,0xa4,0x24,0x24,0x24,0xa4,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x0,0x1,0x3e,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x42,0x83,0x0,0x38,0xc0,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x88,0x68,0xa6,0x4,0x0,
-+0x0,0x3f,0x20,0x20,0x20,0x3f,0x24,0x4,0x7f,0x44,0x44,0x4a,0x51,0x40,0x41,0x40,0x84,0xc4,0x84,0x94,0x94,0x94,0x94,0x14,0xd4,0x54,0x54,0x54,0x44,0x44,0x54,0x88,
-+0x1,0x7f,0x40,0x9f,0x2,0xf,0xa,0x9,0x8,0x7f,0x4,0xf,0x32,0xc2,0x4,0x18,0x0,0xfe,0x22,0xf4,0x0,0xe0,0x20,0x20,0xa8,0xfc,0x40,0xe0,0x5e,0x44,0x40,0xc0,
-+0x10,0x10,0x10,0x17,0xfc,0x10,0x14,0x1f,0x30,0xd0,0x17,0x10,0x10,0x10,0x5f,0x20,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x41,0x21,0x21,0x7,0xf1,0x11,0x2f,0x71,0xa1,0x37,0x21,0x21,0x21,0x2f,0x24,0x20,0x10,0x10,0x10,0xd0,0x10,0x10,0xf8,0x16,0x12,0xd0,0x10,0x10,0xf0,0x10,0x10,0x10,
-+0x0,0x1f,0x1,0x1,0xff,0x1,0x9,0x9,0x79,0x9,0x9,0x39,0xc9,0x1,0x1,0x1,0x70,0x80,0x0,0x4,0xfe,0x0,0x24,0x2c,0x30,0x20,0x22,0x22,0x1e,0x0,0x0,0x0,
-+0x10,0x11,0x11,0xfd,0x11,0x15,0x18,0x30,0xd3,0x10,0x10,0x10,0x11,0x11,0x52,0x24,0x8,0xfc,0x8,0x8,0x8,0xf8,0x80,0x84,0xfe,0x84,0x84,0x84,0x4,0x4,0x14,0x8,
-+0x10,0x17,0x12,0x11,0x58,0x54,0x50,0x93,0x1c,0x10,0x17,0x10,0x10,0x10,0x1f,0x10,0x8,0xfc,0x8,0x10,0xa0,0x40,0xb0,0xe,0x44,0x40,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x13,0x12,0xfc,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x40,0x20,0xfe,0x2,0x4,0xfc,0x4,0x4,0xfc,0x0,0xfc,0x4,0x4,0x4,0xfc,0x0,
-+0x10,0x8,0x4,0x4,0x7f,0x1,0x1,0x1,0xff,0x1,0x2,0x2,0x4,0x8,0x30,0xc0,0x10,0x18,0x20,0x48,0xfc,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x2,0x1,0x7f,0x40,0x80,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0xfe,0x2,0x14,0xf8,0x10,0x10,0xf0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x0,
-+0x0,0x7f,0x40,0x84,0x3e,0x0,0x2,0x7f,0x14,0x14,0x14,0x14,0x24,0x24,0x43,0x80,0x0,0xfe,0x2,0xc,0x8,0x8,0xfe,0x8,0x48,0x28,0x8,0x28,0x12,0x2,0xfe,0x0,
-+0x0,0x1,0x7d,0x5,0x45,0x29,0x29,0x11,0x11,0x29,0x25,0x44,0x80,0x1,0x6,0x18,0x8,0xfc,0x8,0x28,0x28,0x28,0x28,0x48,0x48,0x48,0x68,0xa0,0xa0,0x22,0x22,0x1e,
-+0x10,0x1f,0x28,0x45,0x1,0x7f,0x40,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x1f,0x10,0x40,0x7c,0x90,0x8,0x0,0xfe,0x2,0xf4,0x10,0xf0,0x0,0xf0,0x10,0x10,0xf0,0x0,
-+0x20,0x20,0x23,0x3a,0x4c,0x51,0x81,0x21,0x21,0x21,0x21,0x25,0x29,0x31,0x21,0x1,0x80,0x40,0xfe,0x2,0x4,0xf8,0x8,0x8,0xf8,0x0,0xf8,0x8,0x8,0x8,0xf8,0x0,
-+0x20,0x23,0x3c,0x51,0x91,0x11,0xfe,0x10,0x55,0x56,0x54,0x54,0x54,0x7c,0x44,0x0,0x88,0xfe,0x88,0xdc,0x54,0xdc,0x90,0xfc,0x90,0xfc,0x90,0xfc,0x90,0x94,0xfe,0x80,
-+0x10,0x13,0x12,0x1f,0x5a,0x57,0x50,0x93,0x12,0x12,0x12,0x12,0x12,0x10,0x11,0x16,0x8,0xfc,0x48,0xfe,0x48,0xf8,0x0,0xf8,0x8,0x48,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x1,0x4f,0x31,0x17,0x84,0x67,0x22,0x3,0x16,0x2b,0xc2,0x43,0x42,0x42,0x43,0x42,0x10,0xfe,0x10,0xbc,0xa4,0xbc,0x20,0xfc,0x20,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x0,0x1f,0x11,0x11,0xff,0x11,0x1f,0x0,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x10,0xf8,0x10,0x14,0xfe,0x10,0xf0,0x0,0xf0,0x10,0x10,0x10,0x10,0x60,0x18,0x8,
-+0x1,0x21,0x11,0x9,0x9,0x1,0xff,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x8,0xc,0x10,0x20,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x1,0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x84,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x40,0x29,0x27,0x2,0x6,0xea,0x22,0x26,0x2a,0x32,0x22,0x2b,0x24,0x50,0x8f,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0xf8,0x20,0x20,0x20,0x28,0xfc,0x0,0x6,0xfc,0x0,
-+0x0,0x11,0xfb,0x22,0x22,0x23,0xfa,0x22,0x23,0x22,0x20,0x39,0xe1,0x42,0x4,0x8,0x80,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x80,0xd0,0x68,0x78,0x42,0x42,0x3e,
-+0x10,0x10,0x11,0x11,0x7d,0x11,0x15,0xff,0x11,0x11,0x10,0x28,0x24,0x41,0x82,0x4,0x0,0x8,0xfc,0x28,0x28,0x28,0x28,0x48,0x48,0x48,0x40,0x90,0x90,0x12,0x12,0xe,
-+0x1,0x1,0x1,0x7f,0x1,0x1,0xff,0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x8,0xfc,0x0,0x4,0xfe,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x4,0xfe,0x11,0x10,0x20,0x23,0x7c,0xa4,0x24,0x25,0x24,0x24,0x3c,0x27,0x0,0x20,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x4,0x25,0x24,0x24,0x24,0x24,0x25,0x24,0x24,0x24,0x4,0x8,0x13,0x60,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x8,0x8,0x1f,0x10,0x20,0x7f,0xa1,0x21,0x3f,0x21,0x21,0x3f,0x21,0x1,0x1,0x0,0x0,0x0,0xe0,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0xa,0x2,0x2,0xfe,
-+0x20,0x1b,0x49,0x41,0x4f,0x41,0x41,0x5f,0x41,0x41,0x4f,0x41,0x41,0x5f,0x40,0x40,0x4,0xfe,0x4,0x44,0xe4,0x4,0x24,0xf4,0x4,0x44,0xe4,0x4,0x24,0xf4,0x4,0xc,
-+0x10,0x10,0x14,0xfe,0x21,0x28,0x48,0x7e,0x8,0x8,0x8,0xfe,0x8,0x8,0x9,0xa,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0x48,0x48,0x88,0x8a,0x8a,0x6,0x0,
-+0x2,0x4,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x22,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x88,0x80,0x90,0xa8,0xba,0x82,0x7e,
-+0x1,0x41,0x21,0x22,0x4,0xb,0xe2,0x22,0x22,0x22,0x22,0x26,0x2a,0x32,0x24,0x8,0x0,0x0,0xf0,0x20,0x44,0xfe,0x0,0xf8,0x88,0x88,0xa8,0x90,0x82,0x82,0x7e,0x0,
-+0x0,0x3e,0x2,0x24,0x18,0x10,0x20,0x4f,0x81,0x1,0x3f,0x1,0x2,0x4,0x18,0x60,0x80,0x90,0xa0,0x48,0x50,0x20,0x10,0xee,0x4,0x10,0xf8,0x0,0xc0,0x30,0x18,0x8,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x37,0x38,0x54,0x50,0x93,0x10,0x10,0x10,0x1f,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x32,0x3a,0x56,0x53,0x92,0x12,0x12,0x12,0x13,0x10,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x4,0xfe,0x0,
-+0x4,0x7e,0x44,0x45,0x46,0x7d,0x51,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf2,0x44,0x8,0x80,0x80,0xf8,0x10,0x24,0xfe,0x8,0x7c,0x48,0x48,0x68,0x50,0x42,0x42,0x3e,0x0,
-+0x1,0x1,0x3f,0x21,0x3f,0x1,0xff,0x0,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x0,0x8,0xfc,0x8,0xf8,0x0,0xfe,0x10,0xf8,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x8,0x8,0x14,0x22,0x41,0xbe,0x0,0x2,0x7f,0x8,0x8,0x10,0x22,0x7f,0x1,0x0,0x4,0x4,0x4,0x24,0xa4,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x20,0x23,0x22,0xfe,0x43,0x42,0x92,0xff,0x12,0x12,0x1f,0xf2,0x52,0x12,0x13,0x10,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x24,0x2c,0xb0,0x20,0x22,0xa2,0x1e,0x0,
-+0x0,0x40,0x37,0x11,0x83,0x64,0x20,0x9,0x13,0x20,0xe1,0x23,0x25,0x29,0x21,0x21,0x80,0x48,0xfc,0x10,0x4c,0x44,0x80,0x10,0xf8,0x80,0x44,0x28,0x10,0x4e,0x84,0x0,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x32,0x3b,0x56,0x52,0x93,0x12,0x12,0x12,0x13,0x10,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x24,0x2c,0xb0,0x20,0x22,0xa2,0x1e,0x0,
-+0x10,0x11,0x11,0x1d,0x21,0x21,0x7d,0x90,0x13,0xfe,0x12,0x12,0x17,0x1a,0x12,0x2,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x44,0xfe,0x44,0x64,0x9c,0xc,0x4,0x14,0x8,
-+0x8,0x4,0xff,0x0,0x3f,0x21,0x21,0x3f,0x0,0x7f,0x2,0x4,0xff,0x4,0x14,0x8,0x0,0x7c,0xc4,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x0,0x7f,0x40,0x5f,0x41,0x41,0x41,0x4f,0x41,0x41,0x41,0x41,0x5f,0x40,0x7f,0x40,0x4,0xfe,0x24,0xf4,0x4,0x4,0x44,0xe4,0x4,0x44,0x24,0x4,0xf4,0x4,0xfc,0x4,
-+0x0,0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x1,0x7f,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x1,0xff,0x9,0x35,0xc,0x14,0x65,0x6,0x0,0xfc,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x20,0x18,0xa0,0x40,0x3c,0x8,
-+0x0,0x40,0x20,0x17,0x0,0x0,0xf1,0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x47,0x0,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x90,0x90,0x10,0x10,0x50,0x20,0x6,0xfc,0x0,
-+0x0,0x0,0x8,0x7c,0x49,0x49,0x4a,0x4d,0x48,0x48,0x4b,0x7a,0x4a,0x2,0x3,0x2,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0xf4,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x7e,0x44,0x77,0x54,0x54,0xfe,0x82,0x7c,0x44,0x7c,0x45,0x7c,0x44,0x54,0x4b,0x40,0x20,0x4,0xfe,0x20,0x20,0x44,0xfc,0x10,0x24,0x44,0x88,0x10,0x28,0xc6,0x2,
-+0x0,0xfc,0x4,0xb,0x10,0x10,0x15,0x1b,0x31,0xd0,0x10,0x11,0x16,0x10,0x51,0x26,0x80,0x40,0x4,0xfe,0x40,0x80,0x8,0xf8,0x10,0x24,0x4c,0x90,0x20,0x50,0x8c,0x4,
-+0x2,0x42,0x33,0x14,0x8b,0x62,0x22,0xa,0x1f,0x24,0xe4,0x24,0x27,0x20,0x20,0x20,0x0,0x8,0xfc,0x0,0xf8,0x88,0x48,0x8,0xfe,0x88,0x48,0x8,0xfc,0x8,0x28,0x10,
-+0x10,0x1f,0x10,0x2f,0x40,0xbf,0x2,0x3f,0x4,0x8,0x3f,0x2,0xc,0x31,0x46,0x18,0x8,0xfc,0x0,0xf8,0x0,0xf8,0x8,0xe8,0x8,0x88,0x8,0x8,0x88,0x8a,0x6a,0x24,
-+0x2,0x1,0x1,0xff,0x1,0x2,0x4,0x8,0x1f,0x2,0x4,0x8,0x31,0x6,0x18,0x60,0x0,0x0,0x4,0xfe,0x0,0x20,0x60,0x80,0x10,0x30,0x40,0xc0,0x20,0x10,0xc,0x4,
-+0x2,0x1,0x7f,0x41,0x9f,0x1,0x1f,0x1,0x7f,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0xfe,0x2,0xf4,0x0,0xf0,0x0,0xfc,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x8,0xfc,0x8,0x4f,0x48,0x48,0x49,0x4b,0x7d,0x4,0x4,0x1d,0xe6,0x44,0x15,0xa,0x80,0x40,0x44,0xfe,0x40,0x80,0x8,0xf8,0x10,0x24,0x4c,0x90,0x20,0x58,0x8c,0x4,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x63,0x41,0x41,0x7f,0x41,0x41,0x7f,0x41,0x44,0xc4,0x44,0x44,0xfe,0x44,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x7c,0x44,
-+0x3e,0x4,0xff,0x22,0x3f,0x22,0x3e,0x22,0xff,0x2,0xa,0x29,0x28,0x48,0x7,0x0,0x40,0x44,0x7e,0x84,0x44,0x48,0x28,0x10,0x2e,0xc4,0x0,0x88,0xa4,0x24,0xe0,0x0,
-+0x22,0x22,0x22,0x22,0xff,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x22,0x3e,0x22,0x0,0x0,0x7c,0x44,0x44,0xc8,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0xa,0xff,0x8,0x8,0x7f,0x41,0x7f,0x41,0x7f,0x8,0x9,0xff,0x8,0x8,0x8,0x20,0x20,0x24,0xfe,0x20,0x28,0xfc,0x20,0x20,0xfe,0x22,0x22,0xaa,0x24,0x20,0x20,
-+0x1,0x1,0x2,0x4,0xa,0x11,0x20,0xdf,0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x80,0x40,0x20,0x90,0x8e,0xe4,0x40,0x90,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x40,0x37,0x10,0x0,0x84,0x44,0x46,0xd,0x14,0x25,0xe6,0x24,0x25,0x24,0x27,0x24,0x0,0xfc,0x8,0x10,0x64,0x44,0x4c,0x54,0xe4,0x54,0x4c,0x44,0x44,0x84,0xfc,0x4,
-+0x2,0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0x7f,0x4,0xb,0x10,0x20,0xc6,0x1,0x0,0x0,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x40,0xfc,0x40,0x20,0x90,0x4e,0x4,0x80,0x40,
-+0x0,0x1f,0x0,0x0,0x41,0x51,0x49,0x45,0x41,0x45,0x49,0x51,0x45,0x42,0x7f,0x40,0x0,0xf0,0x20,0x40,0x84,0x14,0x34,0x44,0x4,0x44,0x34,0x14,0x4,0x4,0xfc,0x4,
-+0x0,0x10,0x78,0x57,0x54,0x57,0x54,0x55,0x55,0x55,0x55,0x75,0x45,0x8,0x11,0x20,0x10,0x18,0x14,0xfe,0x10,0xf0,0x14,0xd4,0x54,0x54,0x58,0xd0,0x28,0x4a,0x8a,0x4,
-+0x0,0x7f,0x40,0x84,0x8,0x0,0x3f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x0,0xfe,0x2,0x44,0x20,0x0,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x14,0xfe,0x11,0x7e,0x45,0x7c,0x45,0x7c,0x10,0xfe,0x11,0x10,0x11,0x10,0x20,0x20,0x50,0x88,0x6,0x4,0xdc,0x44,0x54,0xcc,0x44,0xcc,0x54,0x44,0x54,0x88,
-+0x10,0x10,0x10,0x17,0xfc,0x17,0x14,0x1d,0x35,0xd5,0x15,0x14,0x19,0x13,0x55,0x20,0x10,0x14,0x10,0xfe,0x10,0xf0,0x14,0xd4,0x58,0x52,0xea,0x6,0x40,0x24,0xa,0xf8,
-+0x13,0x12,0x12,0x13,0xfa,0x12,0x13,0x18,0x37,0xd0,0x10,0x1f,0x10,0x10,0x50,0x20,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x40,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x0,0x3f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x0,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x17,0x5c,0x57,0x54,0x95,0x15,0x15,0x15,0x14,0x19,0x13,0x15,0x10,0x10,0x14,0x10,0xfe,0x10,0xf0,0x14,0xd4,0x58,0x52,0xea,0x6,0x40,0x24,0xa,0xf8,
-+0x13,0x12,0x12,0x13,0x5a,0x56,0x53,0x90,0x17,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x11,0x11,0x11,0x15,0x59,0x51,0x51,0x90,0x13,0x10,0x10,0x2b,0x24,0x44,0x80,0x0,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x0,0xfe,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x47,0x30,0x10,0x80,0x60,0x20,0xf,0x10,0x20,0xe0,0x20,0x20,0x20,0x20,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x40,0x37,0x10,0x82,0x62,0x22,0x9,0x11,0x20,0xe0,0x20,0x21,0x22,0x24,0x8,0x0,0x8,0xfc,0x8,0x8,0x8,0x10,0x10,0x20,0xa0,0x40,0xa0,0x10,0x8,0xe,0x4,
-+0x1,0x1,0x1,0x7f,0x2,0x4,0xa,0x32,0xc2,0x1f,0x2,0x2,0x2,0x4,0x8,0x30,0x0,0x0,0x8,0xfc,0x80,0x40,0x30,0xe,0x4,0xf0,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x12,0x14,0x18,0x80,0x40,0x48,0xfc,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x8,0x10,0x3e,0x23,0x32,0x2a,0x22,0xfe,0x22,0x32,0x2a,0x22,0x22,0x22,0x4a,0x85,0x40,0x30,0x14,0xfe,0x0,0x8,0x7c,0x48,0x48,0x48,0x48,0x48,0x4a,0x4a,0x86,0x0,
-+0x20,0x23,0x20,0x21,0xf9,0x27,0x24,0x2b,0x20,0x23,0x20,0x3b,0xe0,0x47,0x0,0x0,0x40,0xfc,0x0,0xf8,0x8,0xfe,0x2,0xfc,0xc0,0x68,0xb0,0x28,0xe6,0x24,0xa0,0x40,
-+0x0,0x17,0xf8,0x91,0x91,0x97,0x94,0x9b,0x90,0x91,0x96,0xf1,0x96,0x1,0x6,0x0,0x48,0xfc,0x0,0xf0,0x10,0xfe,0x2,0xfc,0x80,0x48,0xf0,0x50,0xce,0x44,0x40,0xc0,
-+0x1,0x7f,0x0,0xf,0x8,0x7f,0x40,0x9f,0x6,0xb,0x35,0x9,0x33,0x5,0x39,0x3,0x8,0xfc,0x0,0xe0,0x20,0xfe,0x2,0xf4,0x10,0x20,0x40,0x80,0x60,0x1c,0x8,0x0,
-+0x1,0x7f,0x0,0xf,0x8,0xf,0x0,0x7f,0x40,0x9f,0x1,0xf,0x1,0x3f,0x1,0x0,0x8,0xfc,0x20,0xf0,0x20,0xe0,0x0,0xfe,0x2,0xf4,0x0,0xe0,0x0,0xf4,0x4,0xfc,
-+0x8,0x8,0xa,0x7f,0x8,0x9,0xff,0x14,0x14,0x56,0x55,0x95,0x24,0x24,0x4c,0x80,0x0,0x7c,0x44,0x44,0x48,0x48,0xd0,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x10,0x11,0x10,0x10,0xfc,0x24,0x24,0x27,0x24,0x44,0x28,0x10,0x28,0x44,0x84,0x0,0x0,0xfc,0x4,0x8,0x10,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x15,0xfe,0x10,0x7c,0x11,0xfe,0x10,0x38,0x35,0x54,0x50,0x90,0x10,0x10,0x8,0x3c,0xc0,0x40,0x50,0x78,0xc0,0x40,0x48,0x7c,0xc0,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x0,0xff,0x4,0x8,0x1f,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0xa0,0x40,
-+0x40,0x32,0x12,0x3,0x84,0x68,0x20,0xf,0x10,0x23,0xe2,0x22,0x22,0x22,0x23,0x22,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0xb,0x7c,0x48,0x48,0x4b,0x4a,0x4a,0x4a,0x4a,0x4b,0x7a,0x48,0x0,0x0,0x0,0x4,0xfe,0x8,0x8,0x48,0xe8,0x48,0x48,0x48,0x48,0xc8,0x48,0x8,0x8,0x28,0x10,
-+0x0,0xb,0x7e,0x4b,0x4a,0x4b,0x48,0x49,0x4a,0x4c,0x4a,0x7a,0x4a,0x3,0x0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x84,0xfe,0x4,0x44,0x44,0xa4,0x4,0xe4,0x14,0x8,
-+0x8,0x8,0xff,0x8,0x10,0x1f,0x10,0x30,0x53,0x92,0x12,0x12,0x13,0x12,0x10,0x10,0x20,0x24,0xfe,0x20,0x4,0xfe,0x8,0x48,0xe8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x8,0x8,0xff,0x8,0x40,0x3f,0x10,0x80,0x63,0x22,0xa,0x12,0xe3,0x22,0x20,0x20,0x20,0x24,0xfe,0x20,0x4,0xfe,0x8,0x48,0xe8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x39,0x37,0x55,0x50,0x90,0x11,0x16,0x10,0x11,0x16,0x80,0x40,0x44,0xfe,0x40,0x80,0x8,0xf8,0x10,0x24,0x4c,0x90,0x20,0x50,0x8c,0x4,
-+0x0,0x0,0x3f,0x1,0x1,0x1,0xff,0x1,0x3,0x5,0x9,0x11,0x21,0x41,0x1,0x1,0x10,0x38,0xc0,0x0,0x0,0x4,0xfe,0x0,0x80,0x40,0x20,0x18,0xe,0x4,0x0,0x0,
-+0x2,0x7,0x78,0x8,0xa,0xff,0x8,0x18,0x1c,0x2a,0x2a,0x48,0x88,0x8,0x8,0x8,0x0,0x0,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,0x0,
-+0x8,0x8,0xf,0x10,0x10,0x33,0x52,0x92,0x12,0x12,0x13,0x12,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x8,0x48,0xe8,0x48,0x48,0x48,0x48,0xc8,0x48,0x8,0x8,0x28,0x10,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x2f,0xc0,0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x80,0x40,0x20,0x10,0xee,0x4,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0x2,0x4,0xf,0x10,0x2f,0xc8,0x8,0xf,0x0,0x1f,0x12,0x12,0x12,0xff,0x0,0x0,0x80,0x40,0xe0,0x10,0xee,0x24,0x20,0xe0,0x10,0xf8,0x90,0x90,0x94,0xfe,0x0,
-+0x8,0x10,0x24,0x54,0x89,0x52,0x28,0x4c,0x94,0x27,0x4c,0x94,0x24,0x44,0x14,0x8,0x40,0x40,0x7c,0x84,0x88,0x50,0x20,0x50,0x88,0xe,0xfc,0x88,0x88,0x88,0xf8,0x88,
-+0x20,0x1b,0x48,0x42,0x41,0x5f,0x41,0x42,0x44,0x4f,0x42,0x44,0x49,0x52,0x44,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x4,0x44,0x84,0x24,0x44,0x84,0x84,0x64,0x24,0xc,
-+0x40,0x3f,0x10,0x0,0x80,0x67,0x24,0xc,0x14,0x24,0xe7,0x24,0x20,0x20,0x20,0x20,0x4,0xfe,0x8,0x8,0x48,0xe8,0x48,0x48,0x48,0x48,0xc8,0x48,0x8,0x8,0x28,0x10,
-+0x40,0x37,0x14,0x4,0x87,0x64,0x24,0xd,0x15,0x25,0xe5,0x25,0x25,0x24,0x27,0x24,0x4,0xfe,0x44,0x54,0xfc,0x44,0x54,0xfc,0x14,0x14,0x14,0xf4,0x14,0x4,0xfc,0x4,
-+0x8,0x8,0x7e,0x8,0x8,0xff,0x14,0x14,0x36,0x75,0x94,0x14,0x14,0x14,0x24,0x4d,0x20,0x28,0xfc,0x20,0x24,0xfe,0x50,0x50,0xd8,0x56,0x52,0x50,0x50,0x50,0x90,0x30,
-+0x40,0x23,0x22,0x3,0xfa,0x13,0x21,0x6b,0xb4,0x28,0x22,0x22,0x22,0x23,0x20,0x20,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x4,0x44,0x44,0xa4,0x4,0xe4,0x14,0x8,
-+0x8,0x8,0x7f,0x52,0x90,0x28,0x7e,0xa8,0x3e,0x28,0x3e,0x28,0x29,0x3e,0x20,0x20,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x7f,0x11,0x11,0x25,0x42,0x9f,0x10,0x11,0x11,0x11,0x11,0x2,0xc,0x30,0x0,0x4,0x7e,0x44,0x44,0x7c,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x0,0xb,0x7e,0x4b,0x4a,0x4a,0x4a,0x4b,0x48,0x4b,0x48,0x4f,0x78,0x4a,0x2,0x4,0x8,0xfc,0x48,0x58,0xe8,0x48,0x48,0xf8,0x40,0xf8,0x40,0xfe,0x0,0xa8,0xa4,0x4,
-+0x0,0x3f,0x21,0x31,0x2d,0x25,0x21,0x3f,0x1,0x7f,0x1,0xff,0x0,0x28,0x24,0x44,0x8,0xfc,0x8,0x28,0x38,0x48,0x8,0xf8,0x0,0xfc,0x0,0xfe,0x0,0x90,0x4c,0x44,
-+0x1,0x0,0x1f,0x10,0x97,0x54,0x57,0x14,0x37,0x54,0xd4,0x14,0x24,0x25,0x46,0x4,0x0,0x84,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x84,0x8c,0x50,0x20,0x10,0xe,0x4,
-+0x8,0xb,0x12,0x12,0x23,0x4a,0x8a,0x13,0x32,0x52,0x92,0x12,0x12,0x12,0x13,0x12,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x8c,0x50,0x20,0x10,0x88,0xe,0x4,
-+0x0,0x8b,0x5a,0x22,0x53,0x8a,0xa,0x1b,0x2a,0x4a,0x8a,0xa,0xa,0xa,0x53,0x22,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x8c,0x50,0x20,0x10,0x88,0xe,0x4,
-+0x10,0x13,0x12,0x12,0x5b,0x56,0x52,0x93,0x12,0x12,0x12,0x12,0x12,0x12,0x13,0x12,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x8c,0x50,0x20,0x10,0x88,0xe,0x4,
-+0x0,0x8,0x7f,0x48,0x49,0x49,0x49,0x49,0x48,0x4b,0x48,0x78,0x48,0x0,0x0,0x0,0x40,0x24,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x0,0xfc,0x8,0x30,0x20,0x20,0xa0,0x40,
-+0x2,0x1,0xff,0x0,0x1f,0x10,0x10,0x1f,0x0,0x3f,0x0,0x1,0x1,0x1,0x5,0x3,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x0,0xf8,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x11,0x11,0x17,0x11,0xfd,0x17,0x30,0x3b,0x56,0x53,0x92,0x13,0x10,0x11,0x13,0x14,0x10,0x10,0xfc,0x10,0x14,0xfe,0x48,0xfc,0x48,0xf8,0x48,0xf8,0x0,0x10,0xc,0x4,
-+0x12,0x13,0x24,0x49,0x9f,0x19,0x2f,0x69,0xaf,0x21,0x21,0x3f,0x22,0x24,0x28,0x20,0x0,0xc4,0x9e,0x0,0xe0,0x20,0xfe,0x24,0xe4,0x4,0x24,0xf4,0x84,0x44,0x54,0x8,
-+0x10,0x17,0x10,0x10,0x5b,0x56,0x52,0x93,0x12,0x12,0x13,0x10,0x10,0x1f,0x10,0x10,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x0,0x0,
-+0x2,0x7f,0x8,0x11,0x3f,0x1,0xff,0x1,0x1,0x7e,0x22,0x14,0x8,0x14,0x22,0xc1,0x8,0xfc,0x0,0x0,0xf8,0x0,0xfe,0x0,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x8,0x7c,0x48,0x4b,0x48,0x48,0x48,0x48,0x48,0x4f,0x78,0x48,0x0,0x1,0x2,0x90,0x90,0x90,0x90,0xfc,0x90,0x90,0x90,0x90,0x94,0xfe,0x0,0x90,0x88,0xc,0x4,
-+0x10,0x10,0x10,0x10,0x57,0x58,0x50,0x90,0x10,0x10,0x17,0x28,0x24,0x44,0x81,0x2,0x90,0x90,0x90,0x90,0xfc,0x90,0x90,0x90,0x90,0x94,0xfe,0x0,0x90,0x88,0xc,0x4,
-+0x10,0x10,0x15,0x7e,0x54,0x54,0x54,0x54,0x7c,0x50,0x10,0x14,0x1e,0xe2,0x47,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x40,0x30,0x10,0x2,0x9f,0x64,0x24,0x4,0x14,0x14,0xe7,0x3c,0x29,0x20,0x20,0x20,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x42,0x32,0x12,0x2,0x8f,0x62,0x22,0xa,0x12,0x3f,0xe0,0x22,0x22,0x24,0x24,0x28,0x10,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x14,0xfe,0x0,0x20,0x10,0x8,0xc,0x4,
-+0x2,0x1,0x7f,0x40,0x82,0x2,0xff,0x4,0x4,0x8,0x9,0x11,0x12,0x24,0x4f,0x0,0x0,0x0,0xfc,0x4,0x8,0x0,0xfe,0x0,0x80,0x80,0x0,0x0,0x20,0x10,0xf8,0x8,
-+0x4,0xfe,0x4,0x4,0x4,0x7c,0x40,0x40,0x44,0x7e,0x4,0x4,0x5,0x45,0x2b,0x10,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,0x80,0x90,0x8,0x4,0xfc,0x4,
-+0x10,0x10,0x23,0x20,0x44,0xf8,0x10,0x20,0x40,0xfc,0x40,0x0,0x1c,0xe0,0x47,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x1,0x9,0x7d,0x4a,0x4a,0x4e,0x4a,0x4a,0x4a,0x4a,0x4b,0x7a,0x4a,0x2,0x2,0x2,0x8,0x7c,0x8,0x8,0xfe,0x0,0x40,0x7e,0x90,0x14,0xfe,0x10,0x20,0x28,0x46,0x82,
-+0x8,0xb,0x8,0x10,0x17,0x32,0x52,0x93,0x14,0x10,0x1f,0x10,0x10,0x10,0x11,0x16,0x10,0xf8,0x10,0x10,0xfc,0x0,0x8,0xfc,0x40,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x5,0x89,0x51,0x22,0x53,0x96,0x1a,0x12,0x33,0x52,0x93,0x12,0x12,0x12,0x52,0x23,0x8,0xfc,0x8,0x8,0xfe,0x0,0x88,0xfc,0x20,0x24,0xfe,0x20,0x20,0x50,0x8e,0x4,
-+0x0,0x7,0x78,0x48,0x49,0x49,0x49,0x49,0x49,0x4f,0x49,0x79,0x49,0x1,0x5,0x2,0x10,0xd0,0x50,0x90,0x10,0x10,0x10,0x50,0x90,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x3f,0x20,0x2f,0x28,0x2f,0x28,0x2f,0x20,0x2f,0x20,0x20,0x5f,0x40,0x82,0x1,0x8,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xf8,0x40,0x84,0xfe,0x80,0x80,0x0,
-+0x10,0x13,0x20,0x28,0x6f,0xa9,0x29,0x2b,0x2c,0x28,0x2f,0x28,0x28,0x21,0x22,0x24,0x10,0xf8,0x10,0x14,0xfe,0x0,0x8,0xfc,0x40,0x44,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x27,0x24,0x24,0x24,0x44,0x44,0x87,0x4,0x10,0x78,0x80,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x8,0x7f,0x48,0x4a,0x49,0x49,0x48,0x4f,0x48,0x48,0x78,0x48,0x0,0x1,0x0,0x8,0x1c,0xe0,0x40,0x48,0x58,0x60,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x0,0x3f,0x1,0x1,0x11,0xd,0x5,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x78,0x80,0x0,0x0,0x10,0x30,0x40,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0xf,0x12,0x12,0x22,0x44,0x4,0x9,0x12,0x2,0x29,0x28,0x48,0x7,0x0,0x0,0x8,0xfc,0x48,0x48,0x48,0x88,0x88,0x28,0x10,0x0,0x88,0xa4,0x24,0xe0,0x0,
-+0x1,0x11,0xf9,0x27,0x21,0x21,0xf9,0x27,0x24,0x24,0x24,0x3c,0xe7,0x44,0x0,0x1,0x4,0x3e,0x24,0xe4,0x24,0x3c,0x24,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0x44,0x94,0x8,
-+0x1,0x1,0x7f,0x1,0x3f,0x1,0x7f,0x44,0x84,0x24,0x14,0xc,0x4,0x4,0x7f,0x0,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x44,0x40,0x48,0x58,0x60,0x40,0x48,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x8,0x9,0x7f,0x8,0xa,0x3f,0x22,0x22,0x22,0x3e,0x22,0x1,0x40,0x44,0xfe,0x40,0x7c,0x44,0xc4,0x7c,0x44,0x44,0x7c,0x44,0x44,0x44,0x94,0x8,
-+0x8,0x8,0x8,0x9,0xff,0x8,0x8,0xa,0x3f,0x22,0x22,0x22,0x22,0x3e,0x22,0x1,0x4,0x7e,0x44,0x44,0xc4,0x7c,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x94,0x8,
-+0x21,0x21,0x21,0x21,0xf9,0xaf,0xa9,0xa9,0xab,0xfa,0xa2,0x2a,0x3b,0xea,0x0,0x1,0x4,0x3e,0x24,0x24,0x24,0xfc,0x24,0x24,0xa4,0xbc,0xa4,0xa4,0xa4,0x44,0x94,0x8,
-+0x0,0x88,0x53,0x22,0x52,0x92,0x12,0x12,0x32,0x52,0x92,0x12,0x14,0x15,0x58,0x20,0x8,0x1c,0xe0,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xa8,0x94,0xf6,0x4,0x0,
-+0x11,0x11,0x55,0x39,0x17,0x11,0xfd,0x33,0x3a,0x56,0x52,0x93,0x12,0x10,0x10,0x11,0x4,0x3e,0x24,0x24,0xe4,0x3c,0x24,0xa4,0xa4,0xbc,0xa4,0xa4,0x24,0x44,0x94,0x8,
-+0x42,0x32,0x12,0x2,0x9f,0x62,0x22,0xf,0x18,0x28,0xc8,0x48,0x48,0x4f,0x48,0x40,0x4,0x3e,0x24,0x24,0xe4,0x3c,0xa4,0xe4,0xa4,0xbc,0xa4,0xa4,0xa4,0xa4,0x54,0x88,
-+0x0,0xf8,0xb,0xa,0xa,0x7a,0x42,0x42,0x42,0x7a,0xa,0xa,0xa,0xa,0x54,0x28,0x8,0x1c,0xe8,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xa8,0x94,0xf6,0x4,
-+0x1,0x1,0x1,0x3f,0x22,0x22,0x3f,0x22,0x21,0x20,0x27,0x24,0x24,0x24,0x48,0x90,0x20,0xf0,0x0,0xfc,0x4,0x68,0x80,0x8,0xf8,0x40,0xe0,0x40,0x40,0x44,0x44,0x3c,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4a,0x7a,0x4c,0x8,0x11,0x6,0x48,0x7c,0x40,0xfe,0x42,0x5c,0xe0,0x44,0x3c,0x10,0xf8,0x90,0x90,0x92,0x12,0xe,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x16,0x1b,0x32,0xd2,0x12,0x12,0x12,0x14,0x54,0x28,0x80,0x60,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0x10,0x1f,0x0,0x0,0x0,0xff,0x0,0x8,0xfc,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x40,0x30,0x13,0x82,0x62,0x22,0xb,0x12,0x12,0xe2,0x22,0x22,0x24,0x24,0x28,0x80,0x60,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x0,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x80,0x84,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0xff,0x8,0x8,0x8,0x10,0x10,0x30,0x50,0x90,0x11,0x12,0x14,0x10,0x10,0x20,0x24,0xfe,0x20,0x20,0x80,0x88,0x98,0xa0,0xc0,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x8,0x7d,0x49,0x4b,0x4d,0x49,0x49,0x49,0x48,0x4f,0x78,0x48,0x0,0x0,0x0,0xa0,0xa4,0x2c,0x30,0x60,0x22,0x22,0x1e,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x4,0x4,0x8,0x8,0x18,0x29,0x4a,0x8,0x9,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x40,0x48,0x58,0x60,0xc0,0x40,0x44,0x44,0x3c,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x83,0x4a,0x2b,0x12,0x32,0x57,0x94,0x1b,0x32,0x53,0x92,0x13,0x12,0x12,0xa2,0x42,0xf8,0x8,0xc8,0x48,0x48,0xfe,0x2,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x43,0x32,0x13,0x2,0x82,0x4f,0x48,0x13,0x12,0x23,0xe2,0x23,0x22,0x22,0x22,0x22,0xf8,0x8,0xc8,0x48,0x48,0xfe,0x2,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x7f,0x0,0x1f,0x11,0x51,0x51,0x5f,0x51,0x51,0x51,0x5f,0x50,0x40,0x7f,0x40,0x8,0xfc,0x10,0xf8,0x10,0x14,0x14,0xf4,0x14,0x14,0x14,0xf4,0x14,0x4,0xfc,0x4,
-+0x10,0x14,0x12,0x10,0x13,0xfc,0x10,0x10,0x11,0xb,0xc,0x8,0x14,0x24,0x42,0x1,0x4,0x4,0x4,0x24,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x84,0x94,0x88,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x50,0x90,0x11,0x12,0x14,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x80,0x88,0x98,0xa0,0xc0,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x40,0x33,0x10,0x0,0x0,0xf7,0x10,0x10,0x13,0x12,0x12,0x16,0x1a,0x13,0x2,0x10,0x38,0xc0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0x12,0xfe,0x13,0x3a,0x36,0x53,0x52,0x90,0x11,0x11,0x12,0x14,0x18,0x40,0x88,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x80,0xc8,0x54,0x5c,0x42,0x42,0x3e,
-+0x8,0x8,0x13,0x12,0x22,0x4a,0x8a,0x12,0x32,0x52,0x92,0x12,0x12,0x13,0x12,0x10,0x0,0x4,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0x94,0xf4,0x4,0x4,0xfc,0x4,0x0,
-+0x10,0x10,0x17,0x10,0x58,0x54,0x50,0x90,0x11,0x12,0x14,0x18,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x20,0x20,0x40,0x40,0xd0,0x4c,0x46,0x42,0x40,0x40,0x40,0x40,0x40,
-+0x41,0x31,0x11,0x3,0x86,0x6a,0x23,0xa,0x12,0x23,0xe2,0x22,0x22,0x23,0x22,0x22,0x40,0x20,0x4,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x20,0x20,0x2f,0x20,0xf8,0x20,0x20,0x20,0x21,0x2a,0x34,0xe8,0x40,0x0,0x0,0x0,0x0,0x4,0xfe,0x20,0x20,0x40,0x40,0xd0,0x4c,0x46,0x42,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x0,0xfc,0x4,0x45,0x46,0x28,0x28,0x10,0x28,0x24,0x44,0x81,0x1,0x2,0xc,0x80,0x80,0x80,0xfc,0x4,0x48,0x40,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x10,0xf8,0x27,0x20,0x20,0x20,0xf8,0x20,0x21,0x22,0x24,0x20,0x38,0xe0,0x40,0x0,0x0,0x4,0xfe,0x20,0x20,0x40,0x40,0xd0,0x4c,0x46,0x42,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x17,0x10,0xff,0x12,0x3a,0x36,0x53,0x52,0x92,0x12,0x13,0x10,0x1f,0x10,0x0,0x8,0xfc,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x4,0xfe,0x0,
-+0x0,0x40,0x2f,0x20,0x0,0xe0,0x20,0x21,0x22,0x24,0x28,0x20,0x20,0x50,0x8f,0x0,0x0,0x4,0xfe,0x40,0x40,0x80,0x80,0xa0,0x98,0x8c,0x84,0x80,0x80,0x6,0xfc,0x0,
-+0x10,0x13,0x22,0x21,0x44,0xfb,0x10,0x27,0x40,0xfc,0x1,0x1,0x1a,0xe4,0x49,0x2,0xc,0xf0,0x48,0x50,0x20,0xfc,0x40,0xfe,0x80,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x11,0x12,0xfc,0x13,0x12,0x1e,0x32,0xd2,0x1f,0x10,0x10,0x11,0x52,0x2c,0x80,0x80,0xf0,0x20,0x48,0xfc,0x48,0x48,0x48,0x48,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x1,0x3f,0x21,0x21,0x3f,0x1,0x7f,0x41,0x41,0x7f,0x41,0x2,0x29,0x28,0x48,0x7,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x0,0x90,0xac,0x24,0xe0,
-+0x0,0x8,0x7c,0x49,0x4a,0x49,0x49,0x49,0x49,0x49,0x4f,0x78,0x48,0x0,0x1,0x6,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0x24,0x24,0xfe,0x20,0x50,0x88,0x6,0x4,
-+0x1,0x0,0x1f,0x11,0x51,0x32,0x14,0x33,0x52,0xd2,0x12,0x1f,0x20,0x21,0x42,0xc,0x0,0x84,0xfe,0x0,0xf0,0x20,0x48,0xfc,0x48,0x48,0x48,0xfe,0xa0,0x10,0xe,0x4,
-+0x9,0x5,0x7f,0x2,0xff,0x4,0xf,0x12,0x25,0xda,0x4,0x19,0x62,0xc,0x72,0x1,0x20,0x48,0xfc,0x0,0xfe,0x40,0xe0,0x10,0x1e,0xa4,0xc0,0xa0,0x98,0x88,0x80,0x0,
-+0x10,0x10,0x10,0x15,0x5a,0x51,0x51,0x91,0x11,0x11,0x17,0x28,0x24,0x40,0x81,0x6,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0x24,0x24,0xfe,0x20,0x50,0x88,0x6,0x4,
-+0x40,0x30,0x11,0x2,0x84,0x63,0x22,0xa,0x12,0x12,0xef,0x20,0x20,0x21,0x22,0x2c,0x80,0x80,0xf0,0x20,0x48,0xfc,0x48,0x48,0x48,0x48,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x2,0x1,0x7f,0x40,0x9f,0x11,0x11,0x1f,0x10,0x10,0x1f,0x11,0x11,0x11,0x1f,0x10,0x0,0x0,0xfe,0x2,0xf4,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x0,0x10,0xf8,0x0,
-+0x8,0x8,0xb,0x10,0x10,0x20,0x42,0xfe,0x4,0x8,0x10,0x20,0x42,0xff,0x1,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x4,0x4,0x7f,0x4,0x1,0xff,0x10,0x10,0x1f,0x0,0x11,0x11,0x11,0x11,0x21,0x41,0x40,0x48,0xfc,0x40,0x4,0xfe,0x0,0x20,0xf0,0x0,0x10,0x10,0x10,0x12,0x12,0xe,
-+0x11,0x11,0x1f,0x11,0x58,0x57,0x52,0x92,0x13,0x10,0x12,0x12,0x12,0x12,0x14,0x18,0x10,0x14,0xfe,0x10,0x44,0xfe,0x0,0x8,0xfc,0x0,0x48,0x48,0x48,0x4a,0x4a,0x46,
-+0x4,0x4,0x3f,0x4,0x4,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x10,0x4,0x18,0x60,0x40,0x50,0xf8,0x40,0x44,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0x60,0x18,0x4,
-+0x0,0x8,0xfd,0x10,0x10,0x23,0x3c,0x65,0xa5,0x25,0x25,0x25,0x3c,0x24,0x1,0x6,0x88,0x88,0xfc,0x88,0x88,0xfe,0x24,0xfe,0x24,0xfc,0x24,0xfc,0x0,0x88,0x6,0x2,
-+0x10,0x10,0x11,0x15,0x7f,0x55,0x55,0x54,0x57,0x7c,0x50,0x15,0x1c,0xf4,0x43,0x0,0x20,0x44,0xfe,0x4,0xfc,0x4,0xfc,0x4,0xfe,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x1f,0x28,0x45,0x4,0x7f,0x4,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0xc,0x30,0x40,0x7c,0xa0,0x50,0x40,0xfc,0x40,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x60,0x18,
-+0x2,0x4,0x3f,0x20,0x3f,0x20,0x3f,0x0,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,
-+0x0,0x3f,0x22,0x2f,0x28,0x2f,0x28,0x2f,0x20,0x2f,0x21,0x27,0x21,0x5f,0x40,0x80,0x8,0xfc,0x8,0xe8,0x28,0xe8,0x28,0xe8,0x8,0xe8,0x8,0xc8,0xa,0xfa,0xa,0x4,
-+0x10,0x10,0x13,0x12,0x5b,0x56,0x53,0x90,0x17,0x10,0x10,0x13,0x10,0x10,0x1f,0x10,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x13,0x16,0x5b,0x52,0x53,0x90,0x17,0x10,0x10,0x13,0x28,0x44,0x8f,0x0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x1,0x11,0x9,0xff,0x4,0x4,0x4,0x8,0x10,0x60,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x10,0x24,0xfe,0x40,0x40,0x40,0x42,0x42,0x3e,
-+0x10,0x11,0x15,0x7f,0x55,0x55,0x54,0x55,0x54,0x54,0x57,0x5c,0x10,0x11,0x11,0x16,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x20,0x24,0xac,0x30,0xfe,0x90,0x90,0x12,0x12,0xe,
-+0x10,0x10,0x12,0x11,0x59,0x54,0x57,0x90,0x10,0x10,0x11,0x11,0x11,0x12,0x12,0x1c,0x40,0x40,0x44,0x4c,0x50,0x44,0xfe,0xa0,0xa0,0xa0,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x1,0x41,0x2f,0x21,0x0,0xf,0xe2,0x22,0x23,0x20,0x22,0x22,0x2a,0x32,0x24,0x8,0x10,0x14,0xfe,0x10,0x44,0xfe,0x0,0x8,0xfc,0x0,0x48,0x48,0x48,0x4a,0x4a,0x46,
-+0x4,0x4,0x4,0xff,0x4,0x8,0x8,0xc,0x12,0x10,0x21,0x41,0x82,0x2,0x4,0x18,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0x98,0xa0,0x80,0x40,0x40,0x20,0x10,0xe,0x4,
-+0x10,0x13,0x12,0x14,0xfb,0x10,0x11,0x1a,0x33,0xd0,0x10,0x17,0x10,0x10,0x50,0x20,0x0,0xfe,0x44,0x48,0xfc,0x80,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x10,0x11,0x95,0x56,0x38,0x11,0xfe,0x29,0x29,0x28,0x28,0x2b,0x4c,0x48,0x80,0x0,0x0,0xfe,0x4,0x40,0x48,0xfc,0x80,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x12,0x12,0x2a,0x2a,0x4f,0x90,0x1f,0x24,0x6f,0xa2,0x25,0x2f,0x22,0x2a,0x32,0x26,0x10,0x10,0x90,0x90,0xbe,0x44,0x84,0xa4,0x24,0x24,0x28,0x98,0x10,0xa8,0x46,0x84,
-+0x10,0x10,0x10,0x17,0x58,0x55,0x51,0x91,0x12,0x12,0x12,0x14,0x14,0x18,0x10,0x13,0x80,0x80,0x84,0xfe,0x80,0x20,0x20,0x24,0xac,0x70,0x20,0x20,0x50,0x50,0x8e,0x4,
-+0x10,0x10,0x11,0x11,0x7d,0x55,0x55,0x55,0x55,0x7d,0x11,0x11,0x15,0xfd,0x5,0x1,0x0,0x4,0xfe,0x4,0x4,0x74,0x54,0x54,0x54,0x54,0x54,0x74,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x7f,0x40,0x40,0x47,0x44,0x44,0x44,0x44,0x47,0x44,0x40,0x7f,0x40,0x0,0x0,0x4,0xfe,0x4,0x44,0xe4,0x44,0x44,0x44,0x44,0xc4,0x44,0x4,0xfc,0x4,0x0,
-+0x10,0x66,0x42,0x42,0x66,0x42,0x43,0x7e,0x1,0x7e,0x8,0x8,0xe,0xf8,0x40,0x3,0x8,0xfc,0x88,0x88,0x88,0x88,0x6,0x0,0xfc,0x88,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x11,0x11,0x11,0x1a,0x55,0x51,0x51,0x91,0x1f,0x12,0x12,0x12,0x13,0x10,0x10,0x10,0x0,0x8,0xfc,0x0,0xf8,0x8,0x48,0x28,0xfe,0x8,0x88,0x48,0xfc,0x8,0x28,0x10,
-+0x8,0x7e,0x8,0x3e,0x8,0x7e,0x8,0x3f,0x0,0xff,0x0,0x3f,0x9,0x28,0x48,0x7,0x20,0xfc,0x20,0xf8,0x20,0xfc,0x20,0xf8,0x8,0xfe,0x8,0xf8,0x0,0xa8,0x24,0xe0,
-+0x1,0x1,0x1,0x7f,0x1,0x9,0x9,0x8,0xff,0x8,0x8,0x8,0x8,0x10,0x20,0x0,0x0,0x0,0x8,0xfc,0x0,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x1,0x1,0xff,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x1,0x7f,0x2,0x29,0x28,0x48,0x7,0x0,0x4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x10,0xf8,0x4,0x90,0x8c,0x24,0xe0,
-+0x1,0x1,0x79,0x4a,0x4d,0x49,0x49,0x79,0x4f,0x4a,0x4a,0x4a,0x7b,0x48,0x0,0x0,0x0,0x8,0xfc,0x0,0xf8,0x8,0x48,0x28,0xfe,0x8,0x88,0x48,0xfc,0x8,0x50,0x20,
-+0x4,0x7e,0x44,0x57,0x54,0x54,0x55,0x56,0x54,0x54,0x54,0x54,0x28,0x24,0x44,0x80,0x20,0x20,0x24,0xfe,0x40,0x84,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,0x94,0x88,
-+0x8,0x1c,0xf1,0x11,0x11,0xfd,0x11,0x38,0x34,0x51,0x52,0x90,0x10,0x10,0x10,0x17,0x20,0x20,0x24,0x24,0x24,0xfc,0x44,0x40,0xfe,0x4,0x84,0x48,0x30,0x20,0xc0,0x0,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x2f,0xc0,0x0,0x3f,0x2,0x2,0x4,0x8,0x1f,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0xee,0x4,0x10,0xf8,0x0,0x0,0x40,0x20,0xf0,0x10,
-+0x10,0x10,0x10,0x14,0x59,0x52,0x55,0x90,0x10,0x17,0x10,0x28,0x24,0x41,0x83,0x0,0x40,0x40,0xa0,0x90,0x8,0x26,0xf4,0x0,0x4,0xfe,0x40,0x40,0x90,0x8,0xfc,0x4,
-+0x0,0x40,0x37,0x14,0x4,0x84,0x64,0x24,0xc,0x14,0xe4,0x24,0x24,0x24,0x27,0x20,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x40,0x2f,0x20,0x0,0x7,0xe0,0x20,0x2f,0x20,0x20,0x24,0x28,0x30,0x20,0x0,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x44,0xfe,0x44,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x1,0x41,0x31,0x12,0x5,0x1,0xf1,0x11,0x17,0x12,0x12,0x12,0x17,0x18,0x10,0x0,0x0,0x8,0xfc,0x0,0xf8,0x8,0x48,0x28,0xfe,0x8,0x88,0x48,0xfc,0x8,0x28,0x10,
-+0x10,0x10,0x20,0x20,0x49,0xfa,0x15,0x20,0x40,0xfb,0x0,0x0,0x18,0xe1,0x43,0x0,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0x8,0xfc,0x40,0x40,0x90,0x8,0xfc,0x4,
-+0x4,0x4,0x7f,0x4,0x7f,0x42,0x82,0x3f,0x5,0x9,0x1f,0x1,0xff,0x1,0x1,0x1,0x40,0x48,0xfc,0x40,0xfe,0x4,0x8,0xf8,0x0,0x20,0xf0,0x4,0xfe,0x0,0x0,0x0,
-+0x0,0x3f,0x21,0x21,0x3f,0x20,0x28,0x30,0x20,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x78,0x80,0x0,0x10,0xf8,0x80,0x42,0x32,0xe,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x24,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0xc,0xf0,0x20,0x24,0xfe,0x10,0x50,0x8a,0x6,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,
-+0x0,0x11,0x7b,0x2,0xa,0xff,0x22,0x22,0x23,0x42,0x48,0xfd,0x5,0x2,0x4,0x8,0x80,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x80,0xc8,0x48,0x54,0x5c,0x42,0x3e,
-+0x40,0x27,0x24,0x8,0x81,0x67,0x21,0xa,0x14,0x27,0xe0,0x20,0x2f,0x20,0x20,0x20,0x0,0xfe,0x84,0x88,0x0,0xfc,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,
-+0x40,0x37,0x14,0x4,0x87,0x64,0x24,0xf,0x10,0x24,0xe7,0x24,0x24,0x24,0x25,0x26,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x40,0x48,0x58,0x60,0x40,0xc2,0x42,0x3e,
-+0x20,0x10,0xfe,0x92,0x7d,0x10,0x7c,0x10,0xfe,0x11,0x7c,0x44,0x44,0x44,0x7c,0x44,0x0,0x50,0x48,0x84,0x20,0x20,0x50,0x48,0x86,0xfc,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x40,0x30,0x17,0x0,0x80,0x60,0x2f,0x8,0x10,0x23,0xe2,0x22,0x22,0x22,0x23,0x22,0x10,0x38,0xc0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x8,0x10,0x12,0x32,0x52,0x94,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x18,0x40,0x40,0x40,0x40,0x44,0x4c,0x50,0x60,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x1,0x1,0x1,0x1,0x11,0x11,0x11,0x21,0x42,0x2,0x4,0x4,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0x8,0x18,0x20,0x40,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x24,0x18,0x10,0x2b,0x48,0x8,0x18,0x28,0xc8,0x8,0x29,0x12,0x40,0x44,0xfe,0x40,0x28,0x24,0x20,0xfe,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x0,0x0,0x0,0xff,0x0,0x2,0x3f,0x22,0x22,0x22,0x3e,0x20,0x7,0x78,0x0,0x3,0x50,0x48,0x40,0xfe,0x40,0x40,0x48,0x48,0x48,0x50,0x50,0x20,0x22,0x52,0x8a,0x4,
-+0x0,0x0,0xff,0x0,0x3e,0x22,0x3e,0x20,0xe,0x70,0x0,0x2,0x29,0x28,0x48,0x7,0xa0,0x94,0xfe,0x80,0x88,0x88,0x50,0x50,0x22,0x52,0x8e,0x0,0x90,0xac,0x24,0xe0,
-+0x3f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x8,0x1f,0x30,0x57,0x90,0x17,0x10,0x1f,0x10,0xf8,0x0,0xfe,0x2,0x74,0x0,0x70,0x80,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfe,0x0,
-+0x8,0x8,0x10,0x30,0x57,0x90,0x10,0x10,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x80,0x88,0x98,0xe0,0x82,0x82,0x7e,0x10,0xf8,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x40,0x23,0x22,0x2,0xfa,0x13,0x20,0x70,0xaf,0x24,0x24,0x24,0x25,0x24,0x24,0x24,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x44,0xfe,0x44,0x44,0xb4,0x14,0x4,0x14,0x8,
-+0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x21,0x21,0x21,0x3f,0x20,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x17,0x11,0x11,0x11,0xfd,0x11,0x11,0x11,0x11,0x1e,0xf2,0x44,0x4,0x9,0x12,0x8,0xfc,0x8,0x8,0x10,0x10,0x3c,0x84,0x88,0x48,0x50,0x20,0x50,0x90,0xe,0x4,
-+0x8,0x8,0x7f,0x8,0xf,0x8,0xf,0x8,0xff,0x4,0x9,0x31,0xcf,0x1,0x1,0x3f,0x20,0x28,0xfc,0x20,0xe0,0x20,0xe0,0x24,0xfe,0x40,0x30,0x4e,0xe4,0x0,0x10,0xf8,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x12,0x14,0x18,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x4,0x7f,0x54,0x54,0x54,0x7f,0x54,0x55,0x55,0x7d,0x45,0x1,0x1,0x0,0x0,0x20,0x28,0xfc,0x20,0x50,0x88,0xfe,0x8,0xe8,0x28,0x28,0x28,0xe8,0x8,0x28,0x10,
-+0x8,0x1c,0xf3,0x10,0x10,0xfd,0x13,0x31,0x39,0x55,0x50,0x91,0x11,0x11,0x11,0x11,0x50,0x48,0xfc,0xa0,0xa2,0x3e,0x0,0xf0,0x4,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,
-+0x4,0xe,0x78,0x8,0x8,0xfe,0x8,0x18,0x1c,0x2a,0x28,0x48,0x88,0x9,0xa,0x8,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,0x88,0xc4,0x6,0x2,0x0,
-+0x12,0x1f,0x28,0x45,0x88,0x3f,0x8,0xf,0x8,0xf,0x8,0xff,0x0,0x8,0x18,0x20,0x44,0x7e,0xa0,0x10,0x20,0xf8,0x20,0xe0,0x20,0xe0,0x24,0xfe,0x0,0x20,0x18,0x8,
-+0x4,0x3e,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x24,0x4d,0x86,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x8a,0x8a,0x6,0x0,
-+0x20,0x20,0x21,0x3d,0x25,0x49,0x41,0xa1,0x21,0x21,0x21,0x25,0x29,0x32,0x24,0x8,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x1,0x40,0x20,0x2f,0x1,0x1,0xe5,0x25,0x25,0x29,0x21,0x21,0x22,0x50,0x8f,0x0,0x0,0xc0,0x48,0xfc,0x20,0x20,0x28,0x24,0x24,0x24,0x20,0x20,0x60,0x6,0xfc,0x0,
-+0x2,0x44,0x2f,0x28,0xf,0x88,0x4f,0x42,0x1f,0x24,0xc7,0x44,0x44,0x48,0x4a,0x51,0x10,0x90,0xd0,0x94,0xbe,0xc4,0xa4,0x28,0xa8,0x28,0x90,0x90,0xa8,0xa8,0xc6,0x84,
-+0x0,0x20,0x11,0x11,0x1,0xf1,0x11,0x11,0x11,0x11,0x11,0x15,0x19,0x12,0x4,0x8,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x0,0x1,0xfd,0x5,0x49,0x29,0x11,0x11,0x29,0x24,0x40,0x87,0x0,0x0,0x0,0x40,0x88,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x0,0x4,0xfe,0x10,0x10,0x14,0x7e,0x44,0x44,0x44,0x44,0x7c,0x10,0x10,0x14,0xfe,0x0,
-+0x10,0x10,0x27,0x20,0x49,0xf8,0x17,0x20,0x43,0xfa,0x2,0x2,0x1a,0xe0,0x41,0x6,0x40,0x48,0xfc,0x40,0xf0,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0x90,0xc,0x4,
-+0x10,0x11,0x21,0x21,0x49,0xf8,0x17,0x21,0x41,0xf9,0x1,0x1,0x19,0xe7,0x40,0x0,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x8,0x8,
-+0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x3f,0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x17,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x92,0x12,0x12,0x14,0x19,0x12,0x8,0xfc,0x8,0x8,0x10,0x10,0x3c,0x84,0x88,0x48,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x14,0xfe,0x10,0x14,0x7e,0x54,0x54,0x54,0x54,0x38,0x54,0x93,0x12,0x10,0x10,0x20,0x24,0xfe,0x20,0x28,0xfc,0xa8,0xa8,0xa8,0xa8,0x70,0xa8,0x26,0x24,0x20,0x20,
-+0x10,0x11,0x11,0xfd,0x21,0x28,0x4b,0x7d,0x9,0x9,0xf,0xf9,0x49,0xf,0x8,0x8,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x8,0x8,
-+0x10,0x14,0x3e,0x49,0x90,0x7d,0x10,0x7c,0x13,0xfe,0x11,0x39,0x55,0x91,0x11,0x11,0x40,0x48,0xfc,0x20,0x90,0xfc,0x90,0x94,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x9,0x8,0x1f,0x31,0x5f,0x91,0x1f,0x11,0x1f,0x11,0xff,0x5,0x9,0x11,0x61,0x1,0x0,0x90,0xf8,0x0,0xf0,0x0,0xf0,0x0,0xf8,0x0,0xfe,0x40,0x20,0x1c,0x8,0x0,
-+0x0,0x7f,0x8,0x8,0x8,0x8,0x8,0x8,0x14,0x12,0x11,0x20,0x21,0x42,0x84,0x8,0x0,0xf0,0x20,0x20,0x40,0x40,0xf8,0x8,0x10,0x20,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x4,0x4,0xf,0x8,0x10,0x3f,0x40,0x1f,0x0,0x3f,0x2,0x51,0x50,0x90,0xf,0x0,0x0,0x0,0xe0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x1,0x0,0x1f,0x12,0x92,0x53,0x54,0x18,0x30,0x5f,0xd0,0x10,0x20,0x21,0x42,0xc,0x0,0x84,0xfe,0x0,0x8,0xfc,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x40,0x37,0x11,0x1,0x81,0x61,0x25,0x9,0x11,0x21,0xe2,0x22,0x22,0x24,0x29,0x22,0x8,0xfc,0x8,0x8,0x10,0x10,0x3c,0x84,0x88,0x48,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x0,0x7e,0x42,0x42,0x7e,0x42,0x42,0x7e,0x40,0x44,0x44,0x4a,0x72,0x40,0x0,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xa4,0x94,0x88,0x80,0x80,0x80,0x80,
-+0x20,0x20,0x21,0x21,0xf9,0x4d,0x4b,0x49,0x49,0x8b,0x55,0x51,0x22,0x52,0x8c,0x8,0x20,0x14,0xfe,0x40,0x48,0x7c,0x50,0x90,0x14,0xfe,0x10,0x10,0x20,0x28,0x46,0x82,
-+0x10,0x17,0x21,0x21,0x49,0xf9,0x11,0x21,0x41,0xf9,0x2,0x2,0x1a,0xe4,0x49,0x2,0x8,0xfc,0x8,0x8,0x10,0x10,0x3c,0x84,0x88,0x48,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x17,0x10,0xfd,0x10,0x14,0x19,0x36,0xd1,0x11,0x11,0x11,0x11,0x52,0x24,0x80,0x48,0xfc,0x8,0x10,0xa0,0x40,0xb0,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0xf,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0x40,0x40,0xe0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x1,0x21,0x11,0xa,0x12,0x24,0x8,0x1f,0x28,0xcf,0x8,0xf,0x8,0x8,0x8,0x8,0x0,0x8,0x10,0xa0,0x98,0x48,0x20,0xf0,0x2e,0xe4,0x20,0xe0,0x20,0x20,0xa0,0x40,
-+0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x1f,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x4,0x4,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x8,0x1f,0x22,0x7f,0x24,0x3f,0x24,0x3f,0x20,0x3,0x7c,0x0,0x40,0x44,0xfe,0x40,0x4,0x24,0x24,0xa4,0xa4,0xa4,0xa4,0xa4,0x4,0x84,0x14,0x8,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x10,0x13,0x1a,0x31,0xd1,0x10,0x10,0x10,0x51,0x26,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0xf8,0x8,0x10,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x2,0x7e,0x2,0xfe,0x0,0x3f,0x21,0x3f,0x21,0x3f,0x4,0x3f,0x4,0xff,0x10,0x60,0x80,0xf8,0x82,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xf8,0x40,0xfe,0x10,0xc,
-+0x0,0x1f,0x1,0x1,0x7f,0x5,0x9,0x11,0x6f,0x0,0x0,0xff,0x1,0x1,0x5,0x2,0xe0,0x0,0x0,0x8,0xfc,0x40,0x20,0x1c,0xe8,0x40,0x84,0xfe,0x0,0x0,0x0,0x0,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x50,0x93,0x12,0x11,0x11,0x10,0x10,0x10,0x11,0x16,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0xf8,0x8,0x10,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x10,0x10,0x1e,0x22,0x52,0xcc,0x28,0x17,0x20,0xc0,0x1f,0x1,0x9,0x11,0x25,0x2,0x0,0x0,0xfc,0x88,0x50,0x20,0x20,0xd0,0xe,0x24,0xf0,0x0,0x40,0x30,0x10,0x0,
-+0x8,0x4,0x7f,0x11,0xa,0x4,0xa,0x31,0xd1,0x11,0x11,0x11,0x11,0x21,0x41,0x0,0x4,0x84,0xc4,0x24,0x24,0x24,0x24,0xa4,0x64,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x10,0x13,0x10,0x18,0x57,0x50,0x51,0x92,0x15,0x10,0x10,0x1f,0x10,0x10,0x11,0x10,0x38,0xc0,0x40,0x48,0xfc,0xe0,0x50,0x4e,0xf4,0x20,0x44,0xfe,0x40,0x40,0x40,0x80,
-+0x0,0x40,0x37,0x11,0x80,0x60,0x21,0xe,0x11,0x21,0xe1,0x21,0x21,0x22,0x24,0x20,0x80,0x44,0xfe,0x10,0xa0,0x40,0xb0,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x2,0x1,0x7f,0x41,0x81,0x1f,0x2,0x4,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0xfe,0x2,0x24,0xf0,0x80,0x44,0xfe,0x10,0x90,0x90,0x90,0x90,0x50,0x20,
-+0x2,0x1,0x7f,0x40,0x88,0xe,0x8,0x8,0xff,0x8,0x2c,0x2b,0x49,0x88,0x28,0x13,0x0,0x0,0xfe,0x2,0x4,0xf8,0x8,0x88,0x88,0x50,0x50,0x20,0x20,0x50,0x8e,0x4,
-+0x0,0x20,0x10,0x10,0x0,0x0,0xf7,0x10,0x10,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x20,0x17,0x10,0x0,0x0,0xf0,0x13,0x12,0x12,0x12,0x12,0x16,0x1a,0x11,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x2,0x2,0x2,0xfe,0x0,
-+0x0,0x7d,0x44,0x44,0x7d,0x45,0x45,0x45,0x7c,0x40,0x48,0x44,0x5c,0x60,0x41,0x6,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x92,0x92,0xe,0x0,
-+0x0,0x7f,0x0,0x0,0x3f,0x20,0x20,0x20,0x1f,0x0,0x52,0x51,0x50,0x90,0xf,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x4,0x4,0xfc,0x0,0x4,0x82,0x92,0x12,0xf0,0x0,
-+0x0,0x7d,0x44,0x48,0x48,0x50,0x4b,0x48,0x44,0x44,0x44,0x69,0x52,0x40,0x40,0x40,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x20,0x20,0xa8,0xa4,0x22,0x22,0x20,0xa0,0x40,
-+0x10,0x10,0x10,0x13,0xfc,0x24,0x24,0x25,0x25,0x44,0x28,0x10,0x28,0x44,0x84,0x3,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0xfc,0x4,0x88,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x12,0x22,0x23,0x4a,0xfa,0x12,0x23,0x42,0xfa,0x42,0x3,0x1a,0xe2,0x43,0x0,0x20,0x20,0x20,0x24,0xac,0x70,0x20,0xfc,0x20,0x70,0xac,0x24,0x20,0x24,0xfe,0x0,
-+0x8,0x8,0x13,0x10,0x24,0xfc,0x8,0x11,0x21,0xfd,0x41,0x1,0x1d,0xe1,0x40,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x1,0x7f,0x1,0x3f,0x0,0x1f,0x10,0x1f,0x4,0xff,0x10,0x7e,0x12,0x12,0x2a,0x44,0x8,0xfc,0x0,0xf8,0x0,0xf0,0x10,0xf0,0x44,0xfe,0x8,0xfc,0x88,0x88,0xf8,0x88,
-+0x12,0x12,0x12,0x12,0xfe,0x17,0x32,0x3a,0x56,0x52,0x92,0x12,0x14,0x15,0x18,0x10,0x0,0x0,0x0,0x4,0x1e,0xd4,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x5c,0x94,0x0,
-+0x1,0x1,0x1,0x7f,0x1,0x11,0x9,0x1,0xff,0x1,0x2,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0x8,0xfc,0x0,0x10,0x20,0x4,0xfe,0x0,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x5f,0x90,0x10,0x10,0x17,0x10,0x10,0x10,0x1f,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0x3f,0x4,0x1a,0x63,0x5,0x19,0x63,0x5,0x19,0x65,0x2,0x0,0x0,0xfe,0x2,0x4,0xf8,0x0,0x10,0x30,0x40,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x10,0x10,0x10,0x12,0xff,0x12,0x12,0x12,0x12,0x22,0x22,0x22,0x22,0x4a,0x84,0x0,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7c,0x44,0x0,
-+0x4,0x4,0xff,0x4,0x1,0x7f,0x1,0x9,0x5,0xff,0x1,0x2,0x4,0x8,0x30,0xc0,0x40,0x44,0xfe,0x40,0x8,0xfc,0x0,0x20,0x44,0xfe,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x10,0x13,0x10,0xfe,0x11,0x55,0x39,0x11,0xff,0x11,0x11,0x29,0x25,0x44,0x81,0x2,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x44,0x54,0x8c,0x4,0x2,
-+0x0,0xff,0x4,0x7f,0x44,0x44,0x7f,0x0,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x4,0xfe,0x40,0xfc,0x44,0x44,0xfc,0x10,0xf8,0x10,0x10,0x10,0x10,0x60,0x18,0x8,
-+0x0,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x1,0x1,0x1,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x11,0x1d,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x11,0x14,0x18,0x10,0x0,0x0,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,
-+0x10,0x17,0x14,0x24,0x24,0x67,0xa4,0x24,0x27,0x24,0x24,0x27,0x24,0x24,0x25,0x26,0x4,0xbe,0x84,0x84,0x84,0xbc,0x0,0x7c,0x84,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0x1c,0xf3,0x12,0x10,0xfd,0x10,0x39,0x36,0x54,0x51,0x92,0x14,0x11,0x12,0x10,0x40,0x20,0xfe,0x2,0x4,0xfc,0x80,0x44,0x6c,0xb0,0x30,0x68,0xa8,0x26,0xa4,0x40,
-+0x8,0x8,0x8,0x10,0x11,0x32,0x54,0x99,0x11,0x11,0x11,0x11,0x11,0x11,0x12,0x14,0x40,0x40,0x40,0xa0,0x10,0x8,0x6,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x7e,0x12,0x12,0x12,0x2a,0x44,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x0,0x8,0xfc,0x88,0x88,0x88,0xf8,0x80,0x4,0xfe,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x10,0x10,0x7f,0x11,0x11,0x25,0x42,0x9f,0x0,0x8,0x8,0xf,0x0,0x7f,0x0,0x0,0x0,0x4,0x7e,0x44,0x44,0x7c,0x44,0xe0,0x20,0x20,0x24,0xfe,0x4,0xc4,0x14,0x8,
-+0x10,0x10,0x13,0x12,0xfc,0x25,0x24,0x25,0x26,0x44,0x29,0x12,0x28,0x45,0x84,0x0,0x40,0x20,0xfe,0x2,0x4,0xfc,0x80,0x44,0x6c,0xb0,0x30,0x68,0xa8,0x26,0xa4,0x40,
-+0x4,0x7e,0x11,0x10,0x10,0x3e,0x22,0x63,0x92,0xc,0x4,0x8,0x10,0x20,0x40,0x0,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x4,0x4,0x24,0x24,0x24,0x25,0x24,0x24,0x4,0x3f,0x24,0x24,0x24,0x24,0xff,0x0,0x40,0x40,0x48,0x7c,0xa0,0x18,0x8,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x4,0x25,0x25,0x24,0x24,0x24,0x24,0x24,0x27,0x5,0x1,0x3f,0x1,0x1,0xff,0x0,0x0,0xf8,0x8,0x90,0x90,0x60,0x20,0xd0,0xe,0x4,0x10,0xf8,0x0,0x4,0xfe,0x0,
-+0x1,0x1,0x9,0xd,0x11,0x21,0x0,0x1,0xff,0x1,0x2,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0x20,0x10,0x18,0x8,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x10,0x14,0x3e,0x48,0x2,0x2,0x7f,0x2,0x1,0x7f,0x1,0x1,0x0,0x7,0x38,0x0,0x40,0x48,0xfc,0x20,0x80,0x50,0xf8,0x0,0x4,0xfe,0x10,0x20,0xc0,0x44,0x24,0x1c,
-+0x20,0x1b,0x8,0x40,0x4f,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x4f,0x48,0x40,0x40,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x24,0x24,0x24,0xe4,0x24,0x14,0x8,
-+0x8,0x4,0xff,0x2,0x3f,0x22,0x3e,0x22,0x3e,0x22,0x22,0x26,0x0,0x24,0x22,0x40,0x20,0x44,0xfe,0x0,0x8,0x48,0x48,0x48,0x48,0x48,0x8,0x18,0x0,0x90,0x4c,0x4,
-+0x10,0x8,0x7f,0x4,0x3f,0x4,0x4,0xff,0x4,0x4,0x3f,0xc,0x14,0x24,0xc4,0x4,0x20,0x48,0xfc,0x90,0xf8,0x90,0x94,0xfe,0x90,0x90,0xf0,0xc0,0xb0,0x8e,0x84,0x80,
-+0x2,0x1,0x1f,0x10,0x10,0x1f,0x10,0x17,0x14,0x17,0x14,0x27,0x24,0x44,0x84,0x4,0x0,0x8,0xfc,0x8,0x8,0xf8,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x1,0x7d,0x5,0x45,0x29,0x29,0x11,0x11,0x29,0x29,0x45,0x85,0x1,0x1,0x1,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x4c,0x30,0x20,0x10,0x4e,0x84,0x0,
-+0x10,0x11,0x10,0x14,0xfe,0x24,0x24,0x27,0x24,0x44,0x28,0x10,0x28,0x44,0x84,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x20,0x27,0x44,0xfc,0x15,0x24,0x45,0xfd,0x45,0x5,0x1d,0xe5,0x48,0x10,0x10,0x18,0x14,0xfe,0x10,0x10,0xd0,0x14,0xd4,0x54,0x54,0x58,0xd0,0x2a,0x46,0x82,
-+0x8,0x8,0xff,0x8,0x9,0x1,0x3f,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x7f,0x0,0x20,0x24,0xfe,0x20,0x20,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x10,0xf8,0x4,0x4,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x35,0x30,0x58,0x56,0x91,0x11,0x11,0x10,0x1f,0x10,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0x40,0x48,0x4c,0x48,0x50,0x4,0xfe,0x0,
-+0x1,0x1,0xff,0x1,0x3f,0x21,0x29,0x25,0x21,0x3f,0x23,0x5,0x9,0x31,0xc1,0x1,0x0,0x4,0xfe,0x8,0xfc,0x8,0x28,0x48,0x8,0xf8,0x88,0x40,0x30,0xe,0x4,0x0,
-+0x0,0x10,0xf8,0x27,0x24,0x44,0x55,0x7c,0xd5,0x55,0x55,0x55,0x55,0x75,0x48,0x10,0x10,0x18,0x14,0xfe,0x10,0x10,0xd0,0x14,0xd4,0x54,0x54,0x58,0xd0,0x2a,0x46,0x82,
-+0x0,0x8,0xfc,0x10,0x11,0x22,0x2d,0x78,0xa8,0x2a,0x29,0x29,0x29,0x38,0x27,0x0,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0x40,0x48,0x4c,0x48,0x50,0x4,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x13,0x11,0x1e,0x33,0xd0,0x10,0x10,0x11,0x12,0x54,0x20,0x40,0x44,0xfe,0x80,0x80,0xe0,0x20,0x24,0xfe,0x20,0x20,0xa8,0x24,0x22,0xa2,0x40,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x15,0x18,0x30,0xd2,0x11,0x11,0x11,0x10,0x57,0x20,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0x40,0x48,0x4c,0x48,0x50,0x4,0xfe,0x0,
-+0x12,0x1f,0x28,0x45,0x90,0x2b,0x20,0x27,0x24,0x24,0x27,0x24,0x24,0x27,0x20,0x20,0x44,0x7e,0xa0,0x10,0x8,0xfc,0x8,0xc8,0x48,0x48,0xc8,0x48,0x48,0xc8,0x28,0x10,
-+0x8,0x8,0x8,0x10,0x11,0x32,0x55,0x98,0x10,0x12,0x11,0x11,0x11,0x10,0x1f,0x10,0x40,0x40,0xa0,0xa0,0x10,0x8,0xf6,0x4,0x40,0x48,0x4c,0x48,0x50,0x4,0xfe,0x0,
-+0x8,0x4,0xff,0x2,0x3f,0x22,0x3e,0x22,0x3e,0x22,0x26,0x7f,0x4,0x4,0x18,0x60,0x20,0x44,0xfe,0x0,0x48,0x48,0x48,0x48,0x48,0x18,0x8,0xfc,0x8,0x8,0x28,0x10,
-+0x0,0x40,0x30,0x17,0x4,0x4,0xd,0x14,0x25,0xe5,0x25,0x25,0x25,0x25,0x8,0x10,0x10,0x18,0x14,0xfe,0x10,0x10,0xd0,0x14,0xd4,0x54,0x54,0x58,0xd0,0x2a,0x46,0x82,
-+0x8,0x8,0xff,0xa,0x2,0x7f,0x4,0xb,0x10,0x10,0x3f,0x50,0x90,0x10,0x11,0x10,0x20,0x24,0xfe,0x20,0x8,0xfc,0x0,0xf0,0x20,0x44,0xfe,0x40,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x12,0x12,0xfe,0x12,0x32,0x38,0x54,0x53,0x92,0x12,0x12,0x12,0x1f,0x10,0x80,0x90,0x94,0xbe,0xd0,0x8c,0x84,0x80,0x8,0xfc,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x4,0x24,0x24,0x25,0x26,0x25,0x1,0x6,0x18,0x6f,0x81,0x1f,0x9,0x5,0x7f,0x0,0x40,0x48,0xfc,0x40,0x30,0x10,0x0,0xc0,0x30,0xee,0x4,0xf0,0x20,0x48,0xfc,0x0,
-+0x4,0x7e,0x44,0x44,0x44,0x7d,0x10,0x10,0x53,0x5c,0x50,0x50,0x5c,0x70,0xc3,0x0,0x40,0x50,0x48,0x40,0x7c,0xc0,0x48,0x7c,0xc0,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x4,0x7e,0x44,0x54,0x54,0x55,0x54,0x54,0x57,0x54,0x54,0x54,0x10,0x28,0x47,0x84,0x40,0x50,0x48,0x40,0x7c,0xc0,0x48,0x7c,0xc0,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x0,0x1f,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x12,0x12,0x4,0x4,0x8,0x30,0xc0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0x80,0x82,0x82,0x7e,0x0,
-+0x20,0x27,0x39,0x41,0x82,0x7a,0x24,0x27,0xf9,0x21,0x25,0x22,0x2a,0x35,0x28,0x0,0x10,0x10,0x7c,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x10,0x14,0xfe,0x10,0x10,0x96,0x7c,
-+0x10,0x1e,0x28,0x45,0x8,0x4,0xff,0x2,0x3f,0x22,0x3e,0x22,0x3e,0x22,0x2a,0x24,0x40,0x7c,0x90,0x8,0x20,0x44,0xfe,0x8,0x8,0x48,0x48,0x48,0x48,0x48,0x8,0x18,
-+0x10,0x10,0x12,0x22,0x23,0x64,0xa4,0x28,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x2e,0x23,0x62,0xa4,0x28,0x2f,0x22,0x32,0x2d,0x24,0x2a,0x31,0x20,0x20,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfe,0x20,0x24,0xfe,0x20,0x20,0x26,0xfc,
-+0x8,0x10,0x3e,0x22,0x22,0x32,0x2a,0x22,0xfe,0x22,0x32,0x2a,0x22,0x22,0x4a,0x85,0x0,0x4,0xfe,0x84,0x94,0x94,0x94,0x94,0xa4,0xa4,0x20,0x50,0x50,0x52,0x92,0xe,
-+0x4,0x4,0xa,0x11,0x20,0x42,0xbf,0x0,0x24,0x14,0x15,0x15,0x3,0x7c,0x20,0x0,0x4,0x4,0x4,0x24,0xa4,0x64,0x24,0x24,0xa4,0xa4,0x24,0x24,0x84,0x4,0x14,0x8,
-+0x20,0x20,0x20,0x3c,0x24,0x4b,0x40,0xa0,0x23,0x20,0x20,0x24,0x28,0x30,0x23,0x0,0x40,0x50,0x48,0x40,0x7c,0xc0,0x48,0x7c,0xc0,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x2,0x42,0x22,0x2f,0x4,0x85,0x69,0x2f,0x11,0x21,0xe1,0x3f,0x29,0x21,0x21,0x21,0x0,0xc,0x30,0xe0,0x20,0x24,0x3e,0xe8,0x28,0x28,0xe8,0x28,0x28,0x48,0x88,0x8,
-+0x0,0x40,0x2f,0x28,0xa,0x8a,0x4a,0x4a,0x1a,0x2a,0xca,0x4a,0x42,0x45,0x48,0x50,0x20,0x20,0xa4,0xae,0xf0,0xa0,0xae,0xf0,0xa4,0xa4,0xa8,0x90,0x30,0x4a,0x8a,0x6,
-+0x2,0x41,0x34,0x14,0x84,0x65,0x25,0xd,0x15,0x25,0xe5,0x25,0x25,0x24,0x24,0x24,0x4,0xbe,0x84,0x4,0x4,0xf4,0x14,0x14,0xf4,0x14,0x14,0xf4,0x14,0x4,0x14,0x8,
-+0x0,0x0,0xfb,0x8,0x17,0x10,0x3b,0x8,0x8b,0x50,0x50,0x37,0x20,0x50,0x88,0x7,0x40,0x48,0xfc,0x48,0xfe,0x48,0xf8,0x40,0xf8,0x40,0x48,0xfc,0x40,0x40,0x46,0xfc,
-+0x10,0x1f,0x10,0x27,0x24,0x67,0xa4,0x2f,0x20,0x27,0x24,0x27,0x24,0x27,0x20,0x2f,0x4,0xfe,0x0,0xfc,0x44,0xfc,0x44,0xfe,0x0,0xfc,0x44,0xfc,0x44,0xfc,0x0,0xfe,
-+0x8,0x4,0x7f,0x1,0x3f,0x1,0x7f,0x2,0x2,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x20,0x48,0xfc,0x0,0xf8,0x0,0xfc,0x0,0x4,0xfe,0x20,0x20,0xc0,0x80,0x60,0x10,
-+0x10,0x10,0x11,0x91,0x73,0x34,0x10,0x10,0x1f,0x30,0x52,0xd1,0x10,0x10,0x10,0x10,0x80,0x80,0xf8,0x8,0x10,0xa0,0x40,0x94,0xfe,0x10,0x10,0x90,0x90,0x10,0x50,0x20,
-+0x4,0x44,0x24,0x4,0x15,0x24,0x64,0x5,0x1,0x7d,0x5,0x9,0x9,0x11,0x65,0x2,0x40,0x40,0x7c,0x84,0x48,0x30,0x20,0x40,0x8,0x98,0x60,0x20,0x10,0xe,0x4,0x0,
-+0x40,0x30,0x17,0x0,0x80,0x60,0x20,0x8,0x10,0x20,0xe0,0x20,0x20,0x2f,0x20,0x20,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,0x0,
-+0x0,0xff,0x4,0x5,0x7d,0x45,0x41,0x43,0x7c,0x25,0x75,0x25,0x35,0xc5,0x14,0xb,0x4,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfc,0x0,0xfe,
-+0x4,0x4,0xff,0x4,0x4,0x8,0x49,0x2a,0x28,0x8,0x1f,0x28,0x49,0x88,0x8,0x8,0x40,0x44,0xfe,0x40,0x40,0xf8,0x8,0xb0,0x50,0x94,0xfe,0x10,0x10,0x90,0x10,0x30,
-+0x4,0x44,0x24,0x4,0x15,0x24,0x64,0x5,0x1,0xff,0x5,0x9,0x11,0x21,0xc1,0x1,0x40,0x40,0x7c,0x84,0x48,0x30,0x20,0x40,0x4,0xfe,0x40,0x20,0x10,0xe,0x4,0x0,
-+0x4,0x44,0x24,0x4,0x15,0x24,0x64,0x4,0x1,0xff,0x1,0x2,0x4,0x8,0x30,0xc0,0x40,0x40,0x7c,0x84,0x48,0x30,0x20,0x40,0x4,0xfe,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x1,0x21,0x11,0x17,0x1,0x1,0xf1,0x11,0x1f,0x11,0x11,0x15,0x19,0x11,0x2,0x0,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x7f,0x40,0x40,0x4f,0x48,0x48,0x4f,0x48,0x48,0x48,0x50,0x60,0x40,0x7f,0x0,0x8,0xfc,0x20,0x70,0x80,0x0,0x10,0xf8,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x4,0x44,0x24,0xd,0x16,0x64,0x4,0xff,0x4,0x3f,0x24,0x38,0x27,0x20,0x3f,0x20,0x80,0xf8,0x88,0x90,0x60,0x40,0x84,0xfe,0x40,0xf8,0x48,0x38,0xc8,0x8,0xf8,0x8,
-+0x0,0x7c,0x45,0x4a,0x48,0x50,0x49,0x4a,0x44,0x45,0x45,0x69,0x53,0x40,0x40,0x40,0x80,0x80,0xf8,0x10,0xa0,0x40,0xb0,0x4e,0x44,0xf0,0x40,0x48,0xfc,0x40,0x40,0x40,
-+0x8,0x8,0xff,0x9,0x8,0x1f,0x10,0x3f,0x50,0x1f,0x10,0x1f,0x10,0x24,0x22,0x40,0x20,0x24,0xfe,0x20,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfc,0x0,0x48,0x26,0x2,
-+0x22,0x22,0x22,0x23,0xfa,0x22,0x7f,0x6a,0xa2,0x27,0x2a,0x32,0x22,0x2a,0x24,0x21,0x0,0x0,0x7c,0xc4,0x44,0x24,0x28,0x28,0x28,0x10,0x90,0x28,0x28,0x46,0x84,0x0,
-+0x1,0x9,0xfd,0x11,0x13,0x25,0x21,0x79,0xa9,0x29,0x29,0x29,0x29,0x3a,0x22,0x4,0x20,0x14,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x14,0xfe,0x0,0xa4,0x92,0x2,
-+0x9,0x8,0xf,0x10,0x10,0x3f,0x50,0x90,0x1f,0x10,0x10,0x1f,0x10,0x24,0x22,0x40,0x0,0x88,0xfc,0x80,0x90,0xf8,0x80,0x90,0xf8,0x80,0x84,0xfe,0x0,0x90,0x4c,0x4,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x25,0x26,0x24,0x3c,0x24,0x24,0x24,0x44,0x95,0xa,0x40,0x20,0x24,0xfe,0x0,0x88,0x6,0x2,0x88,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x2,0x1,0x1,0xff,0x8,0x8,0x10,0x28,0x44,0x2,0x1,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0x4,0xfe,0x20,0x10,0xc,0x24,0x40,0x80,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x10,0x8,0x9,0xff,0x0,0x14,0x22,0x41,0xa2,0x14,0x8,0x14,0x12,0x22,0x40,0x0,0x0,0x7c,0x44,0xc4,0x48,0x48,0x50,0x48,0xc4,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x41,0x31,0x10,0x7,0x80,0x60,0x20,0xb,0x10,0x27,0xe1,0x21,0x21,0x21,0x22,0x2c,0x0,0x8,0xfc,0x80,0xa0,0x44,0xa4,0x1c,0x0,0xfc,0x20,0x20,0x20,0x22,0x22,0x1e,
-+0x8,0xfd,0x8,0x48,0x4b,0x48,0x48,0x49,0x7e,0x4,0x1c,0xe4,0x44,0x14,0x9,0x2,0xc,0xf0,0x20,0x24,0xfe,0x50,0x88,0x6,0x8c,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x10,0x13,0x10,0x10,0xfc,0x27,0x24,0x25,0x27,0x45,0x29,0x11,0x29,0x45,0x82,0x4,0x18,0xe0,0x40,0x40,0x44,0xfe,0xa0,0x10,0x1e,0x14,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0xf,0x2,0xef,0xa9,0xaf,0xa0,0xaf,0xa8,0xaf,0xa8,0xaf,0xe8,0x89,0xf,0x0,0x1c,0xe0,0x48,0xfc,0x24,0xfc,0x0,0x88,0x88,0xfe,0x88,0xa8,0x28,0x8,0xa8,0x10,
-+0x12,0x11,0x11,0x17,0xfc,0x14,0x13,0x1a,0x32,0xd2,0x12,0x12,0x12,0x10,0x51,0x26,0x44,0x24,0x28,0xfe,0x2,0x4,0xf8,0x8,0x48,0x48,0x48,0x48,0x48,0xa2,0x22,0x1e,
-+0x10,0x10,0x10,0x1f,0x20,0x20,0x7d,0x92,0x10,0x7c,0x10,0x10,0x14,0x18,0x11,0x2,0x40,0x20,0x24,0xfe,0x0,0x88,0x6,0x2,0x88,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x20,0x23,0x28,0x3c,0x50,0x97,0x10,0xfd,0x13,0x15,0x11,0x29,0x25,0x41,0x82,0x4,0x18,0xe0,0x40,0x40,0x44,0xfe,0xa0,0x10,0x1e,0x14,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x9,0x9,0x8,0x17,0x10,0x30,0x50,0x93,0x10,0x17,0x11,0x11,0x11,0x11,0x12,0x1c,0x0,0x8,0xfc,0x80,0xa0,0x44,0xa4,0x1c,0x0,0xfc,0x20,0x20,0x20,0x22,0x22,0x1e,
-+0x9,0x7d,0x49,0x4f,0x49,0x79,0x49,0x4f,0x49,0x79,0x4a,0x4a,0x4f,0x48,0x88,0x18,0x0,0x4,0x3e,0xe4,0x24,0x24,0x24,0xe4,0x24,0x24,0x24,0xb4,0xe8,0x60,0x20,0x20,
-+0x8,0x88,0x50,0x27,0x50,0x89,0xa,0x1c,0x29,0x48,0x88,0x8,0x8,0x9,0x52,0x24,0x80,0x40,0x44,0xfe,0x0,0x10,0xc,0x4,0x10,0xa0,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x8,0xf,0x10,0x20,0x5f,0x91,0x11,0x1f,0x11,0x11,0x1f,0x11,0x11,0x21,0x41,0x80,0x0,0xe0,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x8,0x28,0x10,
-+0x20,0x20,0x20,0x3f,0x24,0x48,0x41,0xa2,0x20,0x20,0x20,0x24,0x28,0x30,0x21,0x2,0x40,0x20,0x24,0xfe,0x0,0x88,0x6,0x2,0x88,0x50,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x22,0x24,0x2f,0x48,0x4f,0xf8,0x1f,0x22,0x5f,0x84,0xf7,0x4,0x34,0xc8,0x49,0x10,0x10,0x90,0xd0,0x94,0xbe,0xc4,0xa4,0x28,0xe8,0x28,0x90,0x90,0xa8,0xa8,0xc6,0x84,
-+0x10,0x10,0x20,0x23,0x44,0xf8,0x11,0x22,0x40,0xfc,0x0,0x0,0x1c,0xe0,0x41,0x2,0x40,0x20,0x24,0xfe,0x0,0x88,0x6,0x2,0x88,0x50,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x24,0x24,0x49,0x24,0x3f,0x24,0x3f,0x24,0x3f,0x4,0xff,0x15,0x14,0x24,0x44,0x4,0x84,0x84,0x24,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x24,0xe4,0x24,0x84,0x84,0x14,0x8,
-+0x8,0x8,0x7f,0x9,0xa,0xff,0x8,0x1f,0x22,0xcc,0x8,0xe,0x78,0x8,0x29,0x12,0x40,0x40,0x40,0x44,0x7e,0x88,0x8,0x48,0x50,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x2,0xff,0x28,0x28,0xfe,0xab,0xaa,0xaa,0xc7,0x82,0x83,0xfe,0x82,0x82,0xfe,0x82,0x20,0x24,0xfc,0x28,0x28,0xfe,0x10,0x20,0xfc,0x88,0x10,0xfe,0x10,0x10,0x50,0x20,
-+0x10,0x13,0x20,0xfc,0x20,0x57,0x50,0xfd,0x13,0x15,0x1d,0xf1,0x51,0x11,0x12,0x14,0xc,0xf0,0x40,0x40,0x44,0xfe,0x90,0x18,0x1e,0x14,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x20,0xff,0x20,0x50,0x51,0xfe,0x10,0x10,0x1e,0xf0,0x50,0x10,0x11,0x12,0x40,0x20,0x24,0xfe,0x0,0x88,0x6,0x2,0x88,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7c,0x44,0x0,0x0,0x0,0x4,0x4,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x9c,0xe4,0x84,0x4,0x4,0x4,
-+0x2,0x1,0x7f,0x48,0x91,0x9,0xf,0x11,0x1,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0xfe,0x22,0x14,0x0,0xf0,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x10,0x13,0x12,0x13,0xfe,0x13,0x14,0x19,0x33,0xd4,0x1c,0x14,0x15,0x17,0x50,0x20,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x4,0xfe,0x44,0x44,0xa4,0x14,0xe4,0x28,0x10,
-+0x10,0x10,0x17,0x10,0xfd,0x10,0x17,0x18,0x30,0xdf,0x10,0x11,0x10,0x10,0x50,0x23,0x80,0x48,0xfc,0x0,0x10,0xa0,0xfc,0x80,0x84,0xfe,0x90,0x10,0xa0,0x60,0x98,0x8,
-+0x20,0x24,0x3e,0x20,0x20,0x26,0x78,0x2,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x80,0x88,0x98,0xe0,0x82,0x82,0x7e,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x4,0xe,0x78,0xb,0x8,0xfe,0x8,0x19,0x1c,0x2a,0x29,0x49,0x89,0x9,0x9,0x9,0x20,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x12,0x12,0x22,0x4f,0x82,0x12,0x1f,0x22,0x62,0xaf,0x22,0x22,0x23,0x3e,0x28,0x20,0x0,0x8,0x7c,0x80,0x0,0x4,0xfe,0x8,0x8,0x88,0x8,0x8,0xc8,0x8,0x28,0x10,
-+0x0,0x78,0x48,0x50,0x51,0x62,0x55,0x49,0x49,0x49,0x69,0x51,0x41,0x41,0x42,0x44,0x40,0x40,0xa0,0xa0,0x10,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x4,0x4,0x7f,0x4,0xff,0x10,0x15,0x3f,0x64,0xbf,0x24,0x3f,0x24,0x24,0x3f,0x20,0x40,0x50,0x48,0x40,0xfe,0x40,0x40,0xa0,0x24,0x28,0x30,0x20,0x52,0x92,0x8a,0x4,
-+0x8,0x8,0xa,0x7f,0x8,0x8,0x9,0xff,0x10,0x10,0x20,0x24,0x42,0x7e,0x1,0x2,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0xa4,0x24,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x4,0x7f,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x40,0x44,0xfe,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x48,0x28,0x10,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x31,0x38,0x54,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x24,0xfe,0x20,0x28,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x1,0x1,0xff,0x3,0x5,0x9,0x11,0x21,0xc1,0x1,0x0,0x24,0x22,0x22,0x40,0x0,0x0,0x4,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,0x0,0x0,0x90,0x48,0x44,0x4,
-+0x10,0x10,0x17,0x10,0xfb,0x10,0x17,0x18,0x33,0xd0,0x12,0x12,0x12,0x13,0x54,0x28,0x40,0x48,0xfc,0x40,0xf8,0x48,0xfe,0x48,0xf8,0x40,0x48,0x7c,0x40,0x40,0xc6,0x3c,
-+0x0,0x0,0x7f,0x48,0x4b,0x48,0x7f,0x48,0x4b,0x78,0x4a,0x4a,0x4a,0x7b,0x44,0x8,0x40,0x48,0xfc,0x40,0xf8,0x48,0xfe,0x48,0xf8,0x40,0x48,0x7c,0x40,0x40,0xc6,0x3c,
-+0x20,0x13,0x12,0xff,0x2,0x4b,0x48,0x49,0x4a,0x54,0x12,0x1e,0xe2,0x43,0x0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x4,0xfe,0x44,0x44,0xa4,0x4,0xe4,0x28,0x10,
-+0x0,0x40,0x30,0x17,0x0,0x80,0x67,0x20,0x8,0x13,0xe2,0x22,0x22,0x22,0x23,0x22,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x10,0x23,0x44,0x78,0x9,0x10,0x20,0x7d,0x1,0x1,0xd,0x71,0x21,0x1,0x20,0x20,0x24,0xfe,0x20,0x20,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x11,0x3e,0x24,0x48,0xbe,0x2b,0x2a,0x3e,0x2a,0x2a,0x3f,0x2a,0x2a,0x42,0x86,0x4,0xfe,0x44,0x44,0x54,0x88,0x10,0x50,0x7c,0x90,0x14,0xfe,0x10,0x10,0x10,0x10,
-+0x10,0x11,0x11,0x15,0xff,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x87,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x0,0x0,0x0,0xff,0x0,0x12,0x12,0x12,0x7f,0x12,0x12,0x12,0x12,0x22,0x41,0x2,0x40,0x50,0x48,0xfe,0x40,0x40,0x44,0x44,0x48,0x48,0x50,0x20,0x62,0x92,0xa,0x4,
-+0x4,0xff,0x4,0x10,0x7f,0x10,0x7c,0x13,0x7c,0x11,0x39,0x35,0x51,0x91,0x11,0x11,0x44,0xfe,0x40,0x90,0xfc,0x90,0x94,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x8,0x8,0xff,0x8,0x9,0x2,0x4,0x8,0x14,0x24,0xc4,0x4,0x4,0x8,0x10,0x20,0x20,0x24,0xfe,0x20,0x20,0x80,0x40,0x20,0x50,0x4e,0x44,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x2,0x4,0xc,0x34,0xc4,0x4,0x8,0x10,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x80,0x60,0x50,0x4e,0x44,0x40,0x40,0x40,
-+0x9,0x9,0x9,0x17,0x11,0x31,0x5f,0x90,0x13,0x12,0x12,0x13,0x12,0x12,0x13,0x12,0x10,0x10,0x10,0xfc,0x10,0x14,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x24,0xc4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0x4e,0x44,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x0,0x1f,0x10,0x90,0x50,0x51,0x12,0x3d,0x51,0xd1,0x11,0x22,0x22,0x44,0x0,0x80,0x44,0xfe,0x40,0x40,0xa0,0x10,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x40,0x20,0x2f,0x0,0xe5,0x25,0x25,0x2f,0x25,0x25,0x2d,0x35,0x24,0x9,0x0,0x20,0x28,0x24,0xfe,0x20,0x20,0x24,0x24,0xe8,0x28,0x30,0x20,0x60,0x92,0xa,0x4,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x20,0x2f,0x28,0x28,0x2f,0x28,0x48,0x8f,0x8,0x8,0xfc,0x8,0x8,0xf8,0x80,0x80,0x88,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x8,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x1,0x1,0x1,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,0x0,
-+0x10,0x14,0x3e,0x49,0x80,0x3e,0x22,0x23,0x3e,0x22,0x22,0x3e,0x22,0x22,0x4a,0x85,0x40,0x48,0xfc,0x10,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x94,0x8,
-+0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x0,0x10,0x38,0xc0,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x2f,0xc1,0x1,0x1f,0x1,0x11,0x9,0x5,0x7f,0x0,0x0,0x0,0x80,0x40,0x20,0x50,0xee,0x4,0x0,0xf0,0x0,0x10,0x20,0x48,0xfc,0x0,
-+0x1,0x1,0x2,0x4,0x8,0x12,0x21,0xc0,0x0,0x1f,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x80,0x40,0x20,0x10,0x8e,0x84,0x0,0xf0,0x10,0x20,0x20,0x40,0x80,0x0,
-+0x0,0x40,0x37,0x10,0xf,0x80,0x67,0x20,0x8,0x17,0xe0,0x20,0x2f,0x20,0x20,0x20,0x80,0x88,0xfc,0x88,0xfe,0x88,0xf8,0x80,0x90,0xf8,0x80,0x88,0xfc,0x80,0x80,0x80,
-+0x41,0x31,0x17,0x1,0xfb,0xd,0x11,0x29,0x73,0xa8,0x2f,0x20,0x21,0x22,0x24,0x20,0x10,0x10,0xfc,0x10,0xb8,0x56,0x10,0x10,0xf8,0x0,0xfe,0x40,0x50,0x4c,0x44,0xc0,
-+0x4,0x25,0x25,0x24,0x24,0x24,0x7,0x4,0x1f,0x1,0x2,0x7f,0x1,0x9,0x11,0x63,0x0,0xf8,0x10,0xa0,0x40,0xb0,0xe,0x24,0xc0,0x0,0x10,0xf8,0x8,0x20,0x18,0x8,
-+0x20,0x20,0x3b,0x42,0x83,0x7a,0x23,0x20,0xff,0x24,0x24,0x24,0x2c,0x30,0x20,0x0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfc,0x44,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x8,0x8,0xb,0x10,0x11,0x31,0x51,0x91,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x16,0x0,0x4,0xfe,0x4,0x4,0x4,0x8,0x8,0x88,0x90,0x50,0x20,0x50,0x88,0x6,0x4,
-+0x41,0x21,0x2f,0x1,0x1,0xe0,0x27,0x24,0x27,0x20,0x27,0x20,0x2b,0x30,0x2f,0x0,0x10,0x14,0xfe,0x10,0xf0,0x44,0xfe,0x44,0xfc,0x40,0xfc,0x40,0xf8,0x40,0xfe,0x0,
-+0x2,0x42,0x22,0x2f,0x2,0x2,0xe2,0x22,0x2f,0x22,0x22,0x22,0x24,0x50,0x8f,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x26,0xfc,0x0,
-+0x22,0x22,0xff,0x22,0x3e,0x8,0x7f,0x49,0x49,0x7f,0x8,0xff,0x8,0x8,0x9,0x8,0x2,0x6,0xf8,0x40,0x40,0x44,0x7e,0x48,0x48,0x48,0x48,0xc8,0x48,0x88,0x8,0x8,
-+0x0,0x7f,0x4,0x24,0x14,0x4,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x8,0xfc,0x40,0x48,0x50,0x44,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x8,0x8,0x7e,0x18,0x2c,0x4b,0x88,0x0,0x3f,0x0,0xff,0x1,0x9,0x11,0x25,0x2,0x20,0x28,0xfc,0x70,0xa8,0x24,0x22,0x0,0xf8,0x0,0xfe,0x0,0x20,0x18,0x8,0x0,
-+0x0,0x40,0x33,0x12,0x2,0x2,0xf3,0x12,0x12,0x12,0x12,0x14,0x10,0x28,0x44,0x3,0x8,0x1c,0xe0,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6,0xfc,
-+0x10,0x11,0x11,0x15,0x59,0x51,0x51,0x92,0x12,0x14,0x10,0x10,0x28,0x44,0x84,0x0,0x8,0xfc,0x8,0x8,0xf8,0x28,0x20,0x10,0xe,0xc4,0x20,0x10,0xc0,0x30,0x8,0x0,
-+0x40,0x33,0x10,0x1,0x80,0x63,0x20,0x7,0x14,0x29,0xe1,0x20,0x20,0x20,0x23,0x2c,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x2,0xf4,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x1f,0x10,0x10,0x1f,0x11,0x10,0x10,0x10,0x16,0x21,0x40,0x86,0x1,0x0,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x80,0x80,0x40,0x20,0x90,0xe,0x4,0x80,0xc0,0x40,
-+0x0,0xff,0x2,0x4,0xc,0x12,0x21,0x40,0xfe,0x8,0x8,0x8,0xf,0x71,0x22,0x0,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x84,0x4,0x28,0x10,
-+0x12,0x12,0xff,0x12,0x0,0x7f,0x12,0x12,0xff,0x12,0x12,0x12,0x12,0x22,0x42,0x2,0x4,0x84,0xc4,0x24,0x24,0xa4,0x24,0xa4,0xe4,0x24,0x24,0x24,0x24,0x4,0x14,0x8,
-+0x8,0x8,0x8,0xfe,0x8,0x7e,0x42,0x42,0x42,0x7e,0x14,0x15,0x16,0x24,0x41,0x82,0x20,0x20,0x24,0xfe,0x20,0xfc,0x84,0x84,0x84,0xfc,0x50,0x50,0x50,0x92,0x12,0xe,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x0,0x1,0xe,0x70,0x1f,0x1,0x1,0x1,0xff,0x0,0x40,0x44,0xfe,0x40,0x0,0xf8,0x20,0xc0,0x38,0x6,0xf0,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x8,0x7f,0x48,0x4b,0x48,0x7f,0x48,0x4b,0x7a,0x4b,0x4a,0x4b,0x7a,0x4a,0x2,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0xf,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x7e,0x42,0x42,0x7e,0x42,0x42,0x7e,0x42,0xe0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x24,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x10,0x10,0x1e,0x25,0x48,0xbe,0x2a,0x2a,0x3e,0x2a,0x2a,0x3e,0x0,0xf,0x70,0x20,0x40,0x20,0x24,0xfe,0x8,0xfc,0x88,0x88,0x88,0xf8,0x20,0x70,0xac,0x24,0xa0,0x40,
-+0x2,0x1,0x1,0xff,0x0,0x1f,0x10,0x10,0x10,0x1f,0x1,0x9,0x9,0x11,0x25,0x2,0x0,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0xf0,0x0,0x40,0x30,0x18,0x8,0x0,
-+0x10,0x10,0x17,0x10,0x58,0x57,0x52,0x92,0x12,0x13,0x10,0x11,0x12,0x14,0x11,0x10,0x80,0x44,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x10,0x10,0x93,0x54,0x19,0xfc,0x13,0x10,0x39,0x35,0x51,0x91,0x11,0x11,0x11,0x11,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x4,0x4,0xc,
-+0x10,0x13,0x92,0x54,0x19,0xfd,0x11,0x31,0x39,0x55,0x90,0x10,0x10,0x10,0x11,0x16,0x4,0xfe,0x20,0x24,0xfe,0x24,0xfc,0x24,0xfc,0x24,0xa0,0x40,0x60,0x90,0xe,0x4,
-+0x10,0x13,0x20,0x20,0x44,0xfc,0x8,0x13,0x20,0x41,0xfc,0x0,0x1c,0xe0,0x47,0x0,0x0,0xfc,0x8,0x10,0x30,0x48,0x86,0x2,0x0,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x8,0x8,0x8,0x8,0x7f,0x8,0x8,0x8,0x8,0xff,0x8,0x8,0x8,0x8,0x10,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x14,0x7f,0x10,0x3f,0x55,0x1d,0x3,0xff,0x0,0x1f,0x0,0x1f,0x0,0x1f,0x10,0x1f,0x40,0x7c,0xc8,0x28,0x10,0x6e,0x4,0xfe,0x0,0xf0,0x0,0xf0,0x0,0xf0,0x10,0xf0,
-+0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x0,0x1f,0x10,0x10,0x1f,0x9,0x11,0x65,0x2,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x20,0x18,0x8,0x0,
-+0x0,0xfd,0x4,0x8,0x18,0x26,0xc2,0x0,0x7c,0x10,0x10,0x10,0x1e,0xe0,0x40,0x3,0x4,0xfe,0x10,0x24,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x20,0x58,0x84,0x2,
-+0x8,0x8,0x7e,0x9,0x3e,0x8,0xff,0x0,0x3f,0x22,0x3e,0x22,0x3e,0x22,0x22,0x26,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0xfe,0x24,0x24,0xfc,0x24,0x20,0xa0,0x40,
-+0x20,0x20,0x27,0x21,0x20,0xff,0x20,0x23,0x22,0x23,0x22,0x3b,0xe1,0x41,0x2,0xc,0x80,0x48,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x20,0x22,0x22,0x1e,
-+0x12,0x12,0xff,0x12,0x20,0x3f,0x41,0xbd,0x25,0x25,0x25,0x25,0x3d,0x21,0x5,0x2,0x20,0x20,0xa0,0x24,0x7e,0x84,0x44,0x44,0x48,0x28,0x28,0x10,0x28,0x28,0x46,0x84,
-+0x20,0x20,0x27,0x79,0x40,0x87,0x78,0x23,0x22,0xfb,0x22,0x23,0x29,0x31,0x22,0xc,0x80,0x48,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x20,0x22,0x22,0x1e,
-+0x8,0xb,0x10,0x20,0x40,0x8,0x11,0x36,0x50,0x93,0x10,0x10,0x10,0x10,0x17,0x10,0x0,0xf8,0x10,0x20,0x60,0x98,0xe,0x2,0x0,0xf8,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x0,0x1f,0x10,0x57,0x30,0x10,0x13,0x3c,0x50,0x97,0x10,0x20,0x20,0x4f,0x80,0x80,0x44,0xfe,0x0,0xf8,0x30,0xc0,0x38,0x6,0x0,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x20,0x10,0x13,0xfc,0x3,0x48,0x4f,0x48,0x4b,0x12,0x13,0x1e,0xe3,0x42,0x2,0x2,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0x2,0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x14,0x4,0x8,0x70,0x0,0x10,0xf8,0x20,0x44,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x50,0x42,0x42,0x3e,
-+0x2,0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x10,0x10,0x1f,0x14,0x4,0x4,0x8,0x70,0x0,0x10,0xf8,0x20,0x44,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x50,0x40,0x42,0x42,0x3e,
-+0x1,0x1,0x83,0x64,0x28,0x7,0x10,0x20,0x3f,0xe0,0x20,0x2f,0x20,0x20,0x22,0x21,0x0,0x0,0xf0,0x20,0x48,0xfc,0x88,0x88,0xfe,0x88,0x88,0xf8,0x88,0x80,0x80,0x0,
-+0x10,0x10,0x13,0x12,0x56,0x5a,0x52,0x92,0x12,0x12,0x12,0x12,0x2a,0x46,0x82,0x2,0x0,0x4,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x2,0x1,0x7f,0x44,0x88,0x3f,0x4,0xff,0x4,0x3f,0x8,0xf,0x18,0x28,0xcf,0x8,0x0,0x0,0xfe,0x42,0x24,0xf0,0x14,0xfe,0x10,0xf0,0x0,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x17,0x11,0xf9,0x17,0x11,0x1b,0x33,0xd5,0x19,0x11,0x11,0x11,0x51,0x21,0x10,0xd0,0x10,0x12,0x54,0xb8,0x10,0x10,0x90,0x50,0x10,0x10,0x28,0x46,0x84,0x0,
-+0x2,0x1,0x7f,0x44,0x88,0x12,0x2,0x3f,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x60,0x0,0x0,0xfe,0x42,0x34,0x10,0x20,0xf0,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x20,0x21,0x45,0xfd,0x9,0x11,0x21,0xfd,0x41,0x0,0x1c,0xe0,0x40,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x78,0x88,0x8,0x8,0x8,0x8,0x8,
-+0x0,0x4,0xfe,0x10,0x11,0x11,0xfe,0x10,0x10,0x10,0x1e,0xf0,0x40,0x1,0x2,0xc,0x40,0x40,0x88,0xfc,0x8,0x8,0x10,0x10,0x20,0x20,0x50,0x50,0x88,0xe,0x4,0x0,
-+0x4,0x4,0x7c,0x4,0x4,0x4,0x7c,0x4,0x4,0x4,0x7c,0x4,0x4,0x4,0xff,0x0,0x40,0x48,0x7c,0x40,0x40,0x48,0x7c,0x40,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x0,
-+0x4,0x4,0x7,0x8,0x8,0x10,0x20,0x0,0x1,0x1,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0x40,0xe0,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0xe,0x4,0x0,
-+0x4,0x7,0x8,0x10,0x21,0x2,0xc,0x11,0x69,0x9,0x9,0x11,0x2,0x4,0x18,0xe0,0x20,0xf0,0x20,0x40,0x80,0x60,0x10,0xc,0x24,0x30,0x20,0x40,0x0,0x40,0x30,0xe,
-+0x4,0x4,0x4,0x4,0xff,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x10,0x20,0xc0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x40,0x2f,0x20,0x0,0x87,0x64,0x24,0xc,0x15,0x26,0xe4,0x25,0x24,0x24,0x27,0x24,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xa4,0x1c,0x4,0x4,0xf4,0x4,0x4,0xfc,0x4,
-+0x0,0x3f,0x20,0x2f,0x29,0x29,0x2f,0x29,0x29,0x2f,0x2a,0x29,0x2e,0x48,0x41,0x82,0x4,0xfe,0x0,0x7c,0x10,0x50,0x50,0x54,0x7e,0x20,0x30,0x50,0xd2,0x92,0xe,0x0,
-+0x10,0x14,0x12,0x10,0xfe,0x11,0x92,0x54,0x18,0x30,0x54,0xd2,0x10,0x10,0x50,0x23,0x40,0x40,0x40,0x44,0xfe,0x8,0x88,0x88,0x90,0x50,0x50,0x20,0x50,0x50,0x8e,0x4,
-+0x0,0x20,0x23,0x22,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x22,0x22,0x23,0x22,0x20,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x0,0x1,0x6,0x78,0x40,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x40,0x40,0x7f,0x40,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x3e,0x20,0x3c,0x20,0x3f,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x7f,0x2,0xc,0x70,0x78,0x8,0x78,0x8,0xf8,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x8,0x48,0x30,
-+0x10,0x10,0x1f,0x21,0x62,0x14,0x8,0x14,0x23,0xc0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x40,0x40,0x40,0x50,0x4c,0x44,0x40,0x46,0xfc,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x8,0x2,0xff,0x0,0x3f,0x22,0x22,0x22,0x3e,0x8,0x2a,0x49,0x88,0x29,0x12,0x40,0x50,0x48,0x40,0x44,0xfe,0x40,0x50,0x50,0x50,0x50,0x50,0x52,0x92,0xe,0x0,
-+0x1,0x0,0x1f,0x11,0x91,0x51,0x52,0x14,0x30,0x50,0xd0,0x11,0x22,0x24,0x48,0x10,0x0,0x84,0xfe,0x0,0x0,0xf8,0x10,0x20,0x20,0x40,0xc0,0x20,0x10,0x8,0xe,0x4,
-+0x28,0x28,0xfe,0x29,0x3a,0x11,0x7c,0x54,0x57,0x7c,0x10,0xfe,0x11,0x12,0x10,0x10,0x80,0x84,0xfe,0x4,0x44,0x54,0xe4,0x44,0xfc,0x44,0xe4,0xd4,0x54,0x44,0x54,0x48,
-+0x10,0x10,0x11,0x11,0xfe,0x14,0x11,0x1d,0x31,0xd1,0x11,0x11,0x11,0x11,0x50,0x20,0x80,0x80,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0x24,0xe4,0x4,0x14,0x8,
-+0x0,0x45,0x2d,0x11,0x29,0x49,0x89,0x19,0x29,0x49,0x89,0x9,0x9,0x9,0x57,0x20,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x1,0x0,0x1f,0x10,0x93,0x52,0x12,0x13,0x32,0x52,0xd3,0x12,0x12,0x22,0x2f,0x40,0x0,0x84,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x20,0x2f,0x28,0x48,0x48,0x8f,0x8,0x8,0xfc,0x8,0x8,0xf8,0x80,0x84,0xfe,0x80,0x88,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0xfc,0x9,0x49,0x4a,0x4c,0x49,0x49,0x49,0x7d,0x5,0x1d,0xe5,0x4,0x28,0x10,0x80,0x80,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x24,0x4,0x14,0x8,
-+0x8,0x8,0xff,0x8,0x10,0x1f,0x22,0x52,0x8a,0x7f,0x6,0xb,0xa,0x12,0x22,0x2,0x20,0x24,0xfe,0x20,0x4,0xfe,0x4,0x44,0x84,0xf4,0x4,0x84,0xc4,0x44,0x14,0x8,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x27,0x24,0x24,0x27,0x24,0x40,0x80,0x8,0xfc,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0xe4,0x24,0x24,0xe4,0x4,0x14,0x8,
-+0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0xf,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x20,0x23,0x2a,0x3e,0x52,0x93,0x12,0xfe,0x12,0x12,0x13,0x2a,0x26,0x42,0x83,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x4,0xfe,0x0,
-+0x22,0x19,0x9,0x0,0xff,0x4,0x9,0x11,0x2f,0xc1,0x1,0x3f,0x1,0x1,0x1,0x1,0x8,0x18,0x20,0x44,0xfe,0x40,0x20,0x10,0xee,0x4,0x10,0xf8,0x0,0x0,0x0,0x0,
-+0x40,0x33,0x12,0x2,0x82,0x63,0x22,0xa,0x12,0x23,0xe2,0x22,0x22,0x22,0x3f,0x20,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0xff,0x22,0x3e,0x22,0x3e,0x22,0xff,0x2,0x3f,0x5,0x9,0x33,0x5,0x9,0x71,0x1,0x80,0xfe,0x44,0x28,0x10,0x28,0xc6,0x70,0x88,0x18,0xa0,0x40,0x30,0xe,0x4,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x16,0x1a,0x32,0xd2,0x13,0x12,0x12,0x12,0x53,0x20,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x4,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x16,0x1b,0x32,0xd2,0x13,0x15,0x15,0x15,0x59,0x21,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x3f,0x0,0x10,0xf8,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x0,0x0,0x8,0xfc,0x0,
-+0x0,0xf,0x8,0x8,0xf,0x8,0xf,0x8,0xf,0x8,0x8,0xff,0x4,0xc,0x10,0x20,0x20,0xf0,0x20,0x20,0xe0,0x20,0xe0,0x20,0xe0,0x20,0x24,0xfe,0x40,0x20,0x18,0x8,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x11,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x11,0x11,0x51,0x5d,0x51,0x52,0x5e,0xe4,0x48,0x0,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x24,0xfe,0x84,0x84,0x84,0xfc,0x84,
-+0x20,0x21,0x3d,0x41,0x81,0x7d,0x21,0x21,0xfd,0x21,0x25,0x2a,0x32,0x24,0x8,0x0,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x24,0xfe,0x84,0x84,0x84,0xfc,0x84,
-+0x8,0xb,0xa,0x12,0x13,0x32,0x53,0x92,0x13,0x12,0x12,0x1f,0x10,0x11,0x13,0x14,0x8,0xfc,0x8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x0,0x10,0xc,0x4,
-+0x4,0x4,0x8,0xf,0x10,0x20,0x4f,0x8,0x8,0x8,0x8,0xf,0x8,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x44,0xe4,0x44,0x44,0x44,0x44,0xc4,0x44,0x4,0x28,0x10,
-+0x10,0x13,0x12,0x12,0x5b,0x56,0x53,0x92,0x13,0x12,0x12,0x1f,0x10,0x11,0x13,0x14,0x8,0xfc,0x8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x0,0x10,0xc,0x4,
-+0x10,0x11,0x11,0x15,0x59,0x51,0x51,0x91,0x11,0x11,0x11,0x29,0x25,0x45,0x81,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x24,0x25,0x3f,0x24,0x24,0x3f,0x50,0x50,0x50,0x9f,0x10,0x84,0xc4,0xa4,0xa4,0xa4,0x24,0x24,0xa4,0x24,0xa4,0xe4,0xa4,0x84,0x84,0x94,0x88,
-+0x10,0x11,0x11,0x11,0xfd,0x10,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0xc,
-+0x2,0x7f,0x42,0x42,0x7e,0x0,0x7e,0x42,0x42,0x7e,0x42,0x42,0x7f,0x42,0x4a,0x44,0x20,0x44,0xfe,0x84,0xa4,0x84,0x94,0x88,0x80,0xfe,0x2,0x12,0xfa,0x2,0x14,0x8,
-+0x10,0x11,0x11,0x11,0xfd,0x24,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x81,0x1,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x14,0x8,
-+0x8,0xa,0x9,0x10,0x17,0x30,0x5f,0x91,0x12,0x15,0x19,0x11,0x11,0x11,0x11,0x10,0x40,0x48,0x50,0x40,0xfc,0xa0,0xfe,0x10,0x8,0xf6,0x14,0x10,0x50,0x24,0x4,0xfc,
-+0x1,0x11,0x9,0x7f,0x2,0xff,0x4,0x8,0x1f,0x28,0xcf,0x8,0xf,0x8,0xf,0x8,0x0,0x10,0x20,0xfc,0x0,0xfe,0x40,0x20,0xf0,0x2e,0xe4,0x20,0xe0,0x20,0xe0,0x20,
-+0x1,0x11,0x9,0x1,0x7f,0x2,0xff,0x4,0x8,0x1f,0x28,0xc8,0x9,0x8,0x8,0x7,0x0,0x10,0x20,0x8,0xfc,0x80,0xfe,0x40,0x20,0xf0,0x2e,0x24,0x20,0xc8,0x8,0xf8,
-+0x8,0x9,0x11,0x21,0x45,0xfc,0x9,0x11,0x21,0xfd,0x41,0x1,0x1d,0xe1,0x41,0x1,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x14,0x8,
-+0x20,0x2f,0x28,0x2a,0xf9,0x2f,0x38,0x6a,0xaa,0x2a,0x2b,0x2a,0x28,0x31,0xa1,0x42,0x4,0xfe,0x8,0x28,0x4e,0xf2,0xa0,0xa8,0xa8,0xa8,0xe8,0x94,0x94,0x24,0x22,0x40,
-+0x27,0x26,0x25,0x24,0xff,0x20,0x23,0x26,0x3b,0xe2,0x22,0x20,0x23,0x20,0xa0,0x47,0xbc,0xb4,0xac,0xa4,0xbc,0x40,0xfc,0x40,0xf8,0x40,0x7c,0x0,0xf8,0x90,0x60,0x9e,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x14,0x18,0x30,0xd7,0x10,0x11,0x11,0x12,0x54,0x28,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,
-+0x20,0x27,0x24,0x24,0xff,0x24,0x25,0x2d,0x35,0xe5,0x24,0x25,0x25,0x29,0xb1,0x41,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0x24,0x24,0xfc,0x20,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x17,0x14,0x24,0x27,0x64,0xa5,0x25,0x25,0x25,0x24,0x25,0x25,0x29,0x31,0x21,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0x24,0x24,0xfc,0x20,0x24,0x24,0x24,0xfc,0x4,
-+0x0,0x7f,0x11,0x9,0x7f,0x44,0x7f,0x0,0x7e,0x43,0x7e,0x42,0x7e,0x44,0x7e,0x2,0x38,0xd0,0x10,0x24,0xfe,0x44,0xfc,0x8,0x8,0xfe,0x8,0x88,0x48,0x8,0x28,0x10,
-+0x12,0x9,0x9,0x7f,0x40,0x80,0x1f,0x10,0x11,0x11,0x11,0x12,0x12,0x4,0x8,0x70,0x10,0x10,0x20,0xfe,0x2,0x14,0xf8,0x10,0x10,0x10,0x90,0x90,0x90,0x84,0x84,0x7c,
-+0x0,0x40,0x30,0x10,0x7,0x8,0x10,0x10,0x20,0xef,0x20,0x21,0x21,0x22,0x24,0x28,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,
-+0x0,0x40,0x30,0x10,0x7,0x0,0xf0,0x10,0x10,0x1f,0x10,0x15,0x19,0x12,0x4,0x8,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,
-+0x10,0x10,0x10,0x20,0x45,0xff,0x9,0x11,0x21,0xfd,0x41,0x1,0x1d,0xe1,0x41,0x0,0x40,0x40,0x78,0x90,0x24,0xfe,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x2,0x2,0xfe,
-+0x10,0x10,0x10,0x10,0x11,0xfd,0x12,0x10,0x10,0x10,0x10,0x1d,0xf0,0x40,0x0,0x0,0x80,0x80,0x84,0xfe,0x4,0x4,0x84,0x44,0x14,0x24,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x8,0x8,0xff,0x8,0x7f,0x40,0x41,0x4f,0x41,0x7f,0x45,0x49,0x51,0x41,0x7f,0x40,0x20,0x24,0xfe,0x20,0xfc,0x44,0xe4,0x4,0x24,0xf4,0x44,0x34,0x14,0x4,0xfc,0x4,
-+0x10,0x10,0x14,0x1e,0x21,0x41,0xbe,0x10,0x10,0x7c,0x10,0x11,0x14,0x18,0x10,0x0,0x80,0x80,0x84,0xfe,0x4,0x4,0x84,0x44,0x14,0x24,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x0,0x7f,0x42,0x82,0x3f,0x4,0x9,0x11,0x3f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x0,0xfe,0x2,0x14,0xf8,0x0,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x4,0x4,0xff,0x4,0x4,0x3f,0x8,0x8,0x1f,0x18,0x28,0x48,0x8f,0x8,0x10,0xf8,0x10,0x14,0xfe,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x11,0x57,0x54,0x55,0x56,0x54,0x55,0x56,0x7c,0x44,0x0,0x1,0x6,0x40,0x40,0x90,0x8,0xfc,0x90,0xc,0x84,0xf8,0x88,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x8,0x8,0x11,0x17,0x31,0x52,0x95,0x11,0x12,0x13,0x14,0x18,0x10,0x11,0x16,0x40,0x40,0x90,0x8,0xfc,0x10,0xc,0x4,0xf0,0x10,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x40,0x30,0x10,0xff,0x0,0x49,0x4a,0x48,0x49,0x51,0x12,0x1c,0xe0,0x40,0x3,0x20,0x20,0x48,0x84,0xfe,0x88,0x6,0x82,0xf8,0x8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x40,0x30,0x10,0x1,0x87,0x61,0x22,0x5,0x11,0x22,0xe3,0x24,0x28,0x20,0x21,0x26,0x40,0x40,0x90,0x8,0xfc,0x10,0xc,0x4,0xf0,0x10,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x7f,0x11,0x11,0xff,0x11,0x11,0x7f,0x20,0x41,0xbf,0x21,0x21,0x21,0x3f,0x21,0x0,0x7c,0x44,0x44,0xc8,0x48,0x50,0x48,0x44,0x42,0xc2,0x62,0x54,0x48,0x40,0x40,
-+0x8,0xfc,0x8,0x48,0x4b,0x48,0x49,0x4a,0x48,0x7d,0x6,0x4,0x34,0xc4,0x14,0xb,0x20,0x20,0x48,0x84,0xfe,0x88,0x6,0x82,0xf8,0x8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x0,0xf7,0x94,0x98,0x91,0x92,0x90,0x91,0x9e,0x93,0xf2,0x92,0x2,0x3,0x2,0x80,0x40,0xfe,0x82,0xf4,0x10,0xa0,0x40,0xb0,0xe,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0x74,0x54,0x5f,0x54,0x54,0x54,0x54,0x54,0x54,0x74,0x48,0xa,0x11,0x20,0x0,0x0,0x4,0xbe,0xe4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xbc,0x24,0x0,
-+0x2,0x2,0x3,0x2,0x2,0x2,0xff,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x20,0xf0,0x0,0x0,0x4,0xfe,0x0,0x0,0x80,0x60,0x30,0x10,0x0,0x0,0x0,
-+0x0,0x8,0x7c,0x49,0x4b,0x4c,0x48,0x48,0x49,0x4e,0x49,0x79,0x49,0x1,0x1,0x1,0x80,0x80,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x7f,0x8,0x8,0x8,0x8,0x8,0xff,0x8,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x12,0x12,0x13,0xfe,0x12,0x17,0x1a,0x30,0xd3,0x12,0x12,0x13,0x12,0x52,0x23,0x20,0x20,0x24,0xac,0x30,0xa2,0x22,0x1e,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x10,0x12,0x12,0x13,0xfe,0x12,0x3b,0x36,0x50,0x53,0x92,0x12,0x13,0x12,0x12,0x13,0x20,0x20,0x24,0xac,0x30,0xa2,0x22,0x5e,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x8,0x49,0x49,0x49,0x7f,0x2,0xff,0x2,0x2,0x7e,0x42,0x40,0x46,0x58,0x61,0x2,0x8,0x7c,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x8a,0x8a,0x6,0x0,
-+0x20,0x27,0x24,0x24,0xb7,0xac,0xa4,0x27,0x24,0x24,0x25,0x24,0x27,0x24,0x20,0x21,0x4,0xbe,0x88,0xa8,0xa8,0xa8,0xa8,0xbe,0x8,0x10,0x18,0xa8,0xaa,0x4a,0x86,0x0,
-+0x1,0x3f,0x4,0x4,0x4,0x4,0x4,0xff,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x84,0x4,0x24,0x24,0x24,0xa4,0xe4,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x11,0x11,0x17,0x11,0xfd,0x11,0x11,0x11,0x11,0x1f,0x12,0x1e,0xf3,0x42,0x3,0x0,0x10,0x10,0xfc,0x10,0xf0,0x10,0xf0,0x10,0x14,0xfe,0x0,0x90,0x8,0x0,0xfc,0x0,
-+0x22,0x22,0x7f,0x22,0x3e,0x22,0x3e,0x22,0x22,0xff,0x54,0x62,0x40,0x7e,0x1,0x2,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xa4,0x24,0x44,0x44,0x84,0x14,0x8,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x14,0x10,0x10,0x10,0x10,0x1c,0xe1,0x42,0x4,0x8,0x80,0x80,0x80,0xfc,0x4,0x8,0x40,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x4,0xfe,0x10,0x11,0x22,0x24,0x7e,0xa4,0x24,0x24,0x24,0x25,0x3e,0x24,0x8,0x80,0x80,0x80,0xfc,0x4,0x8,0x40,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x7f,0x2,0x7f,0x4,0xff,0x8,0x1f,0x30,0x5f,0x90,0x1f,0x10,0x10,0x1f,0x10,0x70,0x80,0x10,0xf8,0x0,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x1,0x0,0x3f,0x20,0x2f,0x20,0x3f,0x20,0x2f,0x28,0x24,0x22,0x44,0x48,0x92,0x1,0x0,0x84,0xfe,0x80,0xf8,0x88,0xfe,0x88,0xf8,0x80,0xc4,0xa8,0x90,0x8e,0x84,0x0,
-+0x20,0x20,0x27,0x24,0xb7,0xac,0xa7,0xa4,0x27,0x24,0x25,0x24,0x25,0x2a,0x30,0x20,0x80,0x44,0xfe,0x40,0xfc,0x44,0xfe,0x44,0xfc,0x48,0x50,0xe0,0x50,0x4e,0x44,0xc0,
-+0x20,0x20,0x27,0xac,0x77,0x24,0xff,0x24,0x77,0x6c,0xa5,0x24,0x25,0x2a,0x30,0x20,0x80,0x44,0xfe,0x40,0xfc,0x44,0xfe,0x44,0xfc,0x48,0x50,0xe0,0x50,0x4e,0x44,0xc0,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x14,0x18,0x30,0xd0,0x10,0x10,0x10,0x1f,0x50,0x20,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,0x0,
-+0x10,0x10,0x10,0x17,0xfc,0x10,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x12,0x52,0x24,0x80,0x40,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x2,0x1,0x1,0xff,0x0,0x0,0xf,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x4,0xfe,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x10,0x17,0x54,0x58,0x51,0x91,0x11,0x11,0x11,0x29,0x25,0x42,0x82,0x4,0x80,0x40,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x2,0x2,0x3f,0x2,0x2,0xff,0x2,0x4,0xf,0x12,0x27,0x40,0x80,0x2,0x1,0x0,0x0,0x10,0xe0,0x40,0x84,0xfe,0x0,0x10,0xf8,0x0,0xf0,0x10,0x10,0x20,0x20,0xc0,
-+0x10,0x10,0x13,0x10,0xfc,0x17,0x10,0x19,0x33,0xd4,0x19,0x10,0x10,0x11,0x50,0x20,0x80,0x88,0xf8,0x90,0xa4,0xfe,0x80,0x8,0xfc,0x80,0xf8,0x8,0x8,0x10,0x90,0x60,
-+0x10,0x10,0x13,0x54,0x58,0x53,0x90,0x11,0x13,0x14,0x19,0x28,0x24,0x45,0x80,0x0,0x80,0x88,0xf8,0x90,0xa4,0xfe,0x80,0x8,0xfc,0x80,0xf8,0x8,0x8,0x10,0x90,0x60,
-+0x11,0x1f,0x21,0xff,0x0,0x1f,0x10,0x1f,0x2,0x7e,0x2,0x3e,0x2,0x7e,0x2,0x2,0x20,0xf0,0x4,0xfe,0x0,0xf0,0x10,0xf0,0x80,0xfc,0x80,0xf8,0x80,0xfc,0x80,0x80,
-+0x10,0x10,0x17,0x10,0x10,0xfd,0x11,0x11,0x11,0x11,0x11,0x1d,0xf1,0x40,0x0,0x0,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0x28,0xe8,0x28,0x8,0x28,0x10,
-+0x8,0x8,0x7f,0x8,0x0,0xff,0x0,0x1,0x1f,0x11,0x11,0x11,0x1f,0x11,0x0,0x0,0x20,0x28,0xfc,0x20,0x4,0xfe,0x20,0x20,0xa0,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x17,0x10,0xfc,0x11,0x39,0x35,0x51,0x51,0x91,0x11,0x11,0x10,0x10,0x10,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0x28,0xe8,0x28,0x8,0x28,0x10,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x3a,0x37,0x50,0x5f,0x90,0x10,0x11,0x12,0x1c,0x10,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x0,0x4,0xff,0x10,0x10,0x21,0x20,0x7c,0xa5,0x24,0x25,0x25,0x25,0x3d,0x23,0x0,0x20,0x28,0xfc,0x20,0x24,0xfe,0x40,0x88,0xfc,0x0,0xfc,0x54,0x54,0x54,0xfe,0x0,
-+0x0,0x7f,0x54,0x54,0x7d,0x55,0x55,0x7d,0x11,0xff,0x31,0x39,0x55,0x54,0x90,0x13,0x4,0xfe,0x40,0x84,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x8c,0x4,
-+0x4,0xe,0xf8,0x8,0x8,0xfe,0x8,0x1c,0x1a,0x29,0x28,0x48,0x88,0x8,0x8,0x8,0x10,0x10,0x90,0x50,0x10,0x90,0x50,0x14,0x1e,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x1,0x1,0x7f,0x1,0x3f,0x0,0x7f,0x40,0x8f,0x8,0x8,0x8,0x8,0x8,0x10,0x60,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x22,0xf4,0x20,0x20,0x20,0x24,0x24,0x1c,0x0,
-+0x0,0x0,0x8,0x7f,0x48,0x48,0x49,0x4b,0x48,0x48,0x48,0x79,0x4e,0x0,0x1,0x6,0x80,0x40,0x44,0xfe,0x40,0x80,0x8,0xf8,0x10,0x24,0x4c,0x90,0x20,0x50,0x8c,0x4,
-+0x0,0xff,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0x0,0x4,0xfe,0x10,0x90,0xd0,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x10,0x10,0x50,0x20,
-+0x0,0x47,0x34,0x17,0x84,0x67,0x22,0x3,0x14,0x24,0xe8,0x35,0x24,0x27,0x20,0x20,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x44,0x44,0xa4,0x14,0x4,0xe4,0x14,0x8,
-+0x1,0x1,0xff,0x1,0x1,0x1f,0x10,0x10,0x10,0x1f,0x14,0x4,0x4,0x8,0x10,0x60,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x50,0x40,0x40,0x42,0x42,0x3e,
-+0x8,0x4,0x4,0xff,0x4,0x8,0x10,0x7f,0x2,0x4,0x9,0x72,0x6,0x19,0xe0,0x0,0x4,0x4,0x84,0xc4,0x4,0xa4,0xa4,0x24,0x24,0xa4,0x24,0x24,0x4,0x84,0x94,0x8,
-+0x2,0x1,0x7f,0x48,0x8f,0x8,0x14,0x23,0xc,0x30,0xcf,0x8,0x8,0x8,0xf,0x8,0x0,0x0,0xfe,0x2,0xf4,0x20,0x40,0x80,0x60,0x1e,0xe4,0x20,0x20,0x20,0xe0,0x20,
-+0x0,0x43,0x22,0x22,0x3,0x2,0xe2,0x23,0x20,0x2f,0x20,0x29,0x32,0x24,0x8,0x0,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0xfe,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x1,0x9,0x9,0x9,0x9,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0x0,0x10,0xf8,0x0,0x4,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x0,0x9,0x7d,0x49,0x49,0x4f,0x48,0x4b,0x4a,0x4b,0x4a,0x7b,0x4a,0x2,0x2,0x2,0x40,0x48,0x7c,0x40,0x44,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x22,0x21,0x24,0x38,0x1,0x7f,0x1,0x1,0xff,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x8,0x90,0x60,0x1c,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x22,0x21,0x24,0x38,0x2,0x51,0x50,0x90,0xf,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x8,0x90,0x60,0x1c,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x10,0x10,0x10,0x17,0xfc,0x10,0x11,0x11,0x11,0x11,0x1d,0xf1,0x41,0x2,0x2,0x4,0x80,0x40,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x8,0x7c,0x4f,0x48,0x48,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x2,0x2,0x4,0x80,0x40,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x2,0x1,0x7f,0x40,0x84,0xc,0x10,0x20,0x0,0x3f,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0xfe,0x2,0x44,0x30,0x18,0x8,0x0,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x4,0xfe,0x10,0x10,0x10,0x10,0x1e,0xf1,0x42,0x0,0x52,0x51,0x50,0x90,0xf,0x0,0x10,0xf8,0x90,0x90,0xd0,0xb0,0x92,0x12,0xe,0x0,0x4,0x82,0x92,0x12,0xf0,0x0,
-+0x0,0x7f,0x21,0x2,0xc,0x8,0x8,0xb,0x1c,0xe8,0x8,0x8,0x8,0x8,0x28,0x10,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x13,0x12,0xfc,0x10,0x15,0x18,0x30,0xd3,0x10,0x10,0x10,0x10,0x57,0x20,0x40,0x20,0xfe,0x2,0x54,0x88,0x4,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x13,0x12,0x13,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x13,0x12,0x12,0x53,0x20,0x8,0xfc,0x0,0x8,0x88,0x50,0x50,0x20,0x20,0x50,0x98,0x8,0x0,0x4,0xfe,0x0,
-+0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3f,0x20,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,
-+0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0xa,0xc,0x18,0xe8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,0x0,
-+0x2,0x1,0x7f,0x40,0x84,0x3e,0x0,0x1,0x7f,0x14,0x14,0x14,0x25,0x26,0x44,0x83,0x0,0x0,0xfe,0x42,0x74,0x40,0x40,0xf0,0x10,0xa0,0x40,0xa0,0x18,0xa,0x2,0xfe,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x38,0x34,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0x3f,0x22,0x22,0x22,0x3e,0x22,0x1,0x1,0xff,0x1,0x2,0x4,0x8,0x30,0xc0,0x8,0xfc,0x88,0x88,0x88,0xf8,0x88,0x40,0x24,0xfe,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x2,0x1,0x7f,0x44,0x88,0x1f,0x10,0x1f,0x10,0x14,0x17,0x10,0x28,0x28,0x4f,0x88,0x0,0x0,0xfe,0x42,0x24,0xf8,0x8,0xf8,0x80,0x90,0xf0,0x80,0x88,0x88,0xf8,0x8,
-+0x8,0x8,0x7f,0x8,0x9,0x1,0xff,0x1,0x1,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x20,0x28,0xfc,0x20,0x20,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x57,0x61,0x41,0x41,0x7f,0x41,0x41,0x7f,0x41,0x10,0x90,0x50,0x7c,0x50,0x90,0x10,0xfe,0x4,0x7e,0x44,0x44,0x44,0x44,0x7c,0x44,
-+0x1,0x0,0x3f,0x21,0x21,0x3f,0x22,0x24,0x28,0x2f,0x20,0x20,0x3f,0x40,0x40,0x80,0x0,0x88,0xfc,0x0,0x8,0xfc,0x0,0x80,0x90,0xf8,0x80,0x84,0xfe,0x80,0x80,0x80,
-+0x40,0x30,0x13,0x2,0xfe,0xb,0x12,0x37,0x5b,0x96,0x12,0x13,0x12,0x14,0x18,0x10,0x40,0x24,0xfe,0x40,0x48,0xfc,0x80,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x1,0x1,0x7f,0x2,0x4,0x18,0xe7,0x0,0x3f,0x4,0xf,0x0,0x0,0x4,0x2,0x1,0x0,0x8,0xfc,0x80,0x40,0x30,0xce,0x4,0xf8,0x0,0xe0,0x20,0x20,0x20,0x40,0x80,
-+0x20,0x20,0x20,0x27,0xf8,0x21,0x22,0x25,0x28,0x23,0x38,0xe1,0x40,0x0,0x0,0x0,0x40,0x40,0x48,0xfc,0xa0,0x10,0xe,0xf4,0x0,0xfc,0x80,0xf8,0x8,0x8,0x90,0x60,
-+0x10,0x10,0x10,0x17,0xf8,0x11,0x1a,0x35,0xd0,0x17,0x10,0x11,0x10,0x10,0x50,0x20,0x40,0x40,0x48,0xfc,0xa0,0x10,0xe,0xf4,0x0,0xfc,0x80,0xf8,0x8,0x8,0x90,0x60,
-+0x4,0x7e,0x44,0x47,0x44,0x7d,0x12,0x15,0x5c,0x53,0x50,0x51,0x5c,0xf0,0x40,0x0,0x40,0x40,0x48,0xfc,0xa0,0x10,0xe,0xf4,0x0,0xfc,0x80,0xf8,0x8,0x8,0x90,0x60,
-+0x0,0x78,0x48,0x4f,0x48,0x79,0x4a,0x4d,0x48,0x7b,0x48,0x49,0x48,0x48,0x48,0x98,0x40,0x40,0x48,0xfc,0xa0,0x10,0xe,0xf4,0x0,0xfc,0x80,0xf8,0x8,0x8,0x90,0x60,
-+0x10,0x10,0x10,0x10,0x13,0xfc,0x10,0x10,0x10,0x17,0x1c,0xf1,0x41,0x2,0x4,0x8,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,
-+0x12,0x1f,0x28,0x45,0x90,0x10,0x13,0x58,0x54,0x50,0x97,0x10,0x10,0x11,0x12,0x1c,0x44,0x7e,0xa0,0x10,0x40,0x48,0xfc,0x48,0x48,0x48,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x10,0x10,0x11,0x21,0x22,0x64,0xa8,0x33,0x20,0x20,0x2f,0x21,0x21,0x22,0x27,0x20,0x80,0x80,0x40,0x40,0x20,0x10,0x4e,0xe4,0x0,0x8,0xfc,0x0,0x20,0x10,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0x5b,0x54,0x50,0x90,0x10,0x1f,0x10,0x11,0x11,0x12,0x14,0x18,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,
-+0x2,0x1,0x7f,0x44,0x84,0x7f,0x4,0x1f,0x10,0x11,0x11,0x11,0x12,0x4,0x8,0x70,0x0,0x0,0xfe,0x42,0x44,0xfc,0x50,0xf8,0x10,0x10,0x10,0x90,0x90,0x82,0x82,0x7e,
-+0x8,0x9,0xff,0x8,0xa,0x7f,0x0,0x7f,0x0,0xff,0x8,0x2a,0x49,0x88,0x29,0x12,0x20,0x20,0xa0,0x7e,0x82,0x4,0x28,0x20,0x20,0xa0,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x7f,0x40,0x5f,0x41,0x41,0x41,0x4f,0x41,0x41,0x41,0x5f,0x40,0x40,0x7f,0x0,0x8,0xfc,0x0,0xf0,0x0,0x0,0x40,0xe0,0x0,0x0,0x20,0xf0,0x0,0x4,0xfe,0x0,
-+0x12,0x1f,0x28,0x45,0xbf,0x20,0x2f,0x20,0x20,0x27,0x20,0x20,0x2f,0x20,0x3f,0x0,0x48,0x7c,0xa0,0x10,0xfc,0x0,0xf8,0x80,0xa0,0xf0,0x80,0x90,0xf8,0x0,0xfc,0x0,
-+0x82,0x47,0x28,0x10,0x28,0x48,0x88,0x9,0x18,0x28,0x48,0x88,0x8,0x8,0x57,0x20,0x4,0xfe,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x12,0x3a,0x36,0x52,0x52,0x92,0x12,0x13,0x12,0x13,0x10,0x8,0xfc,0x0,0xf8,0x20,0x20,0x20,0xf8,0x20,0x20,0x20,0x28,0xfc,0x0,0xfe,0x0,
-+0x0,0x4,0xfe,0x11,0x11,0x21,0x25,0x3f,0x65,0xa5,0x25,0x25,0x3d,0x22,0x4,0x8,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0xb,0x7e,0x4a,0x4a,0x4a,0x7a,0x4a,0x4a,0x7a,0x4a,0x4a,0x4b,0x7a,0x4b,0x0,0x8,0xfc,0x0,0xf8,0x20,0x20,0x20,0xf8,0x20,0x20,0x20,0x28,0xfc,0x0,0xfe,0x0,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x4a,0x7a,0x44,0x4,0x8,0x10,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x47,0x34,0x14,0x4,0x4,0xf,0x12,0x22,0xe2,0x22,0x22,0x24,0x24,0x28,0x30,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x3f,0x0,0x0,0x0,0xff,0x4,0x4,0x8,0xf,0x0,0x0,0x0,0x2,0x1,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x20,0xc0,
-+0x2,0x2,0xff,0x4,0x4,0xa,0x9,0x11,0x22,0x44,0x3f,0x24,0x24,0x24,0xff,0x0,0x0,0x4,0xfe,0x80,0x90,0xa0,0x40,0x20,0x1c,0x8,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x1,0x21,0x21,0x3f,0x20,0x8,0x4f,0x48,0x48,0x4b,0x48,0x50,0x10,0x27,0x40,0x80,0x0,0x8,0x8,0xf8,0x8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x2,0x1,0x7f,0x44,0x88,0x8,0x3e,0x8,0x8,0x7e,0x8,0x8,0x14,0x12,0x20,0x43,0x0,0x0,0xfe,0x42,0x24,0xf8,0x88,0xa8,0xa8,0xa8,0xa8,0x30,0x52,0x52,0x8e,0x0,
-+0x8,0x8,0xff,0x8,0x3e,0x22,0x14,0x8,0x3f,0xc1,0x1,0x3f,0x1,0x2,0xc,0x30,0x20,0x24,0xfe,0x20,0xa0,0x48,0x30,0x10,0xee,0x4,0x10,0xf8,0x0,0xc0,0x30,0x8,
-+0x1,0x1,0xff,0x4,0x9,0x11,0x2f,0xc1,0x3f,0x1,0x1,0x1f,0x1,0x1,0x7f,0x0,0x0,0x4,0xfe,0x40,0x20,0x10,0xee,0x4,0xf8,0x0,0x20,0xf0,0x0,0x8,0xfc,0x0,
-+0x10,0x20,0x7f,0x49,0x49,0x7f,0x49,0x49,0x7f,0x49,0xc,0x15,0x15,0x27,0x44,0x83,0x0,0x8,0x48,0x28,0x8,0x48,0x28,0x8,0xe,0xf8,0x8,0x8,0x48,0xc8,0x2,0xfe,
-+0x10,0x11,0x17,0x24,0x24,0x67,0xa4,0x24,0x27,0x24,0x20,0x21,0x21,0x22,0x24,0x28,0x80,0x8,0xfc,0x48,0x48,0xf8,0x48,0x88,0xf8,0x88,0x90,0x50,0x68,0x7a,0x42,0x3e,
-+0x20,0x20,0x23,0x3a,0x4b,0x50,0x8f,0x20,0x23,0x22,0x22,0x22,0x2a,0x30,0x21,0x6,0x40,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x10,0x11,0x13,0x12,0x5a,0x57,0x52,0x92,0x13,0x12,0x10,0x11,0x11,0x12,0x14,0x18,0x80,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x80,0xc8,0x48,0x54,0x5e,0x42,0x3e,
-+0x0,0x40,0x33,0x12,0x83,0x60,0x2f,0x8,0x13,0x22,0xe2,0x22,0x22,0x20,0x21,0x26,0x40,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x20,0x20,0x20,0x27,0xfc,0x24,0x24,0x27,0x24,0x24,0x3c,0xe7,0x44,0x0,0x0,0x0,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x0,0x20,0x24,0x3e,0x20,0x20,0x2e,0x70,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x80,0x84,0x98,0xe0,0x80,0x82,0x82,0x7e,
-+0x10,0x17,0x14,0x14,0xfc,0x17,0x14,0x1c,0x34,0xd5,0x16,0x14,0x14,0x14,0x57,0x24,0x4,0xfe,0x44,0x44,0x44,0xfc,0x44,0xc4,0xe4,0x5c,0x4c,0x44,0x44,0x4,0xfc,0x4,
-+0x0,0x7f,0x41,0x41,0x41,0x5f,0x41,0x43,0x43,0x45,0x49,0x51,0x41,0x41,0x7f,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x4,0x4,0x84,0x64,0x34,0x14,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x17,0x18,0x30,0xd3,0x12,0x12,0x12,0x12,0x53,0x22,0x8,0x3c,0xc0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x12,0x14,0x54,0x28,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x22,0x3f,0x20,0x2f,0x28,0x2f,0x20,0x3f,0x21,0x22,0x5f,0x42,0x8a,0x4,0x84,0xfe,0x0,0xc0,0x3e,0xa2,0xa4,0xa8,0x24,0xa2,0x22,0x32,0xac,0x20,0x20,0x20,
-+0x10,0xd,0x44,0x50,0x4b,0x40,0x60,0x57,0x40,0x48,0x53,0x72,0x52,0x53,0x52,0x40,0x4,0xfe,0x4,0x64,0x84,0x84,0xa4,0xf4,0x84,0xa4,0xf4,0x24,0x24,0xe4,0x14,0x8,
-+0x10,0x10,0x10,0x13,0x10,0xfd,0x11,0x11,0x10,0x10,0x10,0x1c,0xe0,0x40,0x7,0x0,0x80,0x40,0x48,0xfc,0x0,0x8,0x8,0x8,0x90,0x90,0x90,0xa0,0x20,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x11,0x15,0x19,0x30,0xd0,0x10,0x10,0x10,0x10,0x57,0x20,0x80,0x40,0x48,0xfc,0x0,0x8,0x8,0x8,0x90,0x90,0x90,0xa0,0x20,0x44,0xfe,0x0,
-+0x1,0x11,0x7f,0x51,0x51,0x57,0x55,0x55,0x55,0x57,0x51,0x73,0x45,0x9,0x1,0x1,0x4,0x44,0xe4,0x4,0x54,0xf4,0x54,0x54,0x54,0xd4,0x14,0x84,0x44,0x4,0x14,0x8,
-+0x10,0x10,0x10,0x13,0x7c,0x54,0x57,0x54,0x55,0x7d,0x51,0x15,0x1d,0xf5,0x41,0x1,0x90,0x90,0x90,0xfc,0x90,0x94,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x8,0x7c,0x48,0x4b,0x48,0x78,0x4f,0x48,0x49,0x79,0x49,0x49,0x49,0x49,0x89,0x19,0x90,0x90,0x90,0xfc,0x90,0x94,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x20,0x10,0x13,0xfe,0x44,0x29,0x29,0xff,0x11,0x15,0xfe,0x10,0x11,0x12,0x20,0x40,0x20,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x70,0xa8,0x2e,0x24,0x20,0x20,
-+0x2,0x2,0x72,0x5f,0x52,0x52,0x52,0x53,0x52,0x5e,0x52,0x72,0x52,0x2,0xb,0x4,0x20,0x10,0x14,0xfe,0x0,0x44,0xc4,0x44,0x44,0x48,0x28,0x28,0x28,0x0,0xfe,0x0,
-+0x8,0x8,0xff,0x9,0x1,0x7f,0x1,0x9,0x5,0xff,0x3,0x5,0x9,0x31,0xc1,0x1,0x20,0x24,0xfe,0x20,0x8,0xfc,0x0,0x20,0x44,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x1,0x1,0x1,0x7f,0x1,0x21,0x19,0x9,0xff,0x3,0x5,0x9,0x31,0xc1,0x1,0x1,0x0,0x0,0x8,0xfc,0x0,0x10,0x30,0x44,0xfe,0x80,0x40,0x30,0x1e,0x4,0x0,0x0,
-+0x10,0x14,0xfe,0x10,0x7d,0x56,0x54,0x54,0x7c,0x10,0x38,0x34,0x54,0x90,0x10,0x13,0x20,0x20,0x7c,0x88,0x14,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0x20,0x58,0x84,0x2,
-+0x8,0x8,0xff,0x8,0x4,0x24,0x25,0x26,0x24,0x4,0x3f,0x24,0x24,0x24,0xff,0x0,0x20,0x24,0xfe,0x20,0x90,0xf8,0x0,0x40,0x20,0x8,0xfc,0x48,0x48,0x48,0xfe,0x0,
-+0x8,0x8,0x7e,0x8,0x1c,0x2a,0x49,0xa,0x2,0xff,0x4,0x8,0x4,0x3,0x4,0x18,0x20,0x28,0xfc,0x20,0x70,0xac,0x24,0x20,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x10,0x12,0x11,0x10,0xff,0x10,0x30,0x38,0x57,0x50,0x90,0x10,0x10,0x10,0x1f,0x10,0x0,0x8,0x10,0xa4,0xfe,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x10,0x12,0x11,0x10,0xff,0x10,0x14,0x18,0x33,0xd0,0x10,0x10,0x10,0x10,0x5f,0x20,0x0,0x8,0x10,0xa4,0xfe,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x12,0x1f,0x28,0x45,0x84,0x24,0x25,0x26,0x24,0x4,0x3f,0x24,0x24,0x24,0xff,0x0,0x48,0x7c,0xa0,0x10,0x80,0xfc,0x40,0x20,0x20,0x8,0xfc,0x48,0x48,0x48,0xfe,0x0,
-+0x20,0x1b,0x49,0x41,0x7f,0x41,0x5f,0x59,0x55,0x51,0x5f,0x43,0x45,0x49,0x51,0x41,0x4,0xfe,0x4,0x14,0xfc,0x4,0xf4,0x34,0x54,0x14,0xf4,0x84,0x44,0x34,0x14,0xc,
-+0x10,0x8,0x4,0x7f,0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x10,0x20,0x48,0xfc,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x42,0x31,0x15,0x4,0x87,0x64,0x25,0xd,0x15,0x25,0xe5,0x24,0x25,0x26,0x24,0x24,0x4,0x7e,0x4,0x54,0xfc,0x44,0xf4,0x54,0xf4,0x54,0xf4,0xe4,0x54,0x4c,0x44,0xc,
-+0x2,0x41,0x25,0x24,0x7,0x4,0xe5,0x25,0x25,0x25,0x25,0x24,0x2d,0x36,0x24,0x4,0x4,0x7e,0x4,0x54,0xfc,0x44,0xf4,0x54,0xf4,0x54,0xf4,0xe4,0x54,0x4c,0x44,0xc,
-+0x10,0x12,0x12,0x12,0xfe,0x12,0x14,0x1b,0x32,0xd2,0x12,0x12,0x12,0x10,0x51,0x26,0x90,0x94,0x9e,0xa8,0xc4,0x84,0x88,0xfc,0x8,0x48,0x48,0x68,0xa8,0xa2,0x22,0x1e,
-+0x8,0x48,0x48,0x49,0x4a,0x48,0x1f,0x10,0x11,0x11,0x11,0x11,0x12,0x4,0x18,0xe0,0x80,0x84,0xfe,0x20,0x10,0x10,0xf8,0x10,0x10,0x10,0x10,0x90,0x90,0x82,0x82,0x7e,
-+0x22,0x22,0x3f,0x22,0xaf,0xaa,0xaa,0xaa,0x2f,0x22,0x27,0x2a,0x32,0x22,0x22,0x22,0x10,0x10,0xdc,0x24,0xc8,0xbe,0xa2,0xaa,0xaa,0x2a,0x2a,0xaa,0x2a,0x8,0x14,0x62,
-+0x10,0x12,0x22,0x22,0x42,0xfe,0x8,0x13,0x22,0xfe,0x2,0x2,0x1c,0xe0,0x41,0xe,0x90,0x90,0x9e,0xa8,0xc4,0x84,0x88,0xfc,0x8,0x48,0x48,0x68,0xa0,0xa2,0x22,0x1e,
-+0x10,0x11,0x10,0x54,0x58,0x57,0x50,0x90,0x10,0x13,0x10,0x28,0x24,0x40,0x8f,0x0,0x0,0x8,0x90,0xa0,0x4,0xfe,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x1,0x41,0x35,0x15,0x85,0x65,0x25,0x1,0x10,0x27,0xe5,0x25,0x25,0x25,0x3f,0x20,0x20,0x20,0x24,0x3e,0x50,0x88,0x8,0x0,0x8,0xfc,0x28,0x28,0x28,0x28,0xfe,0x0,
-+0x0,0x8,0xff,0x12,0x12,0x13,0x12,0xfe,0x13,0x12,0x12,0x12,0x1e,0xf2,0x43,0x2,0x80,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x48,0x30,0x10,0x8e,0x4,0x0,
-+0x22,0x21,0x20,0x27,0xfc,0x24,0x77,0x6c,0xa4,0x27,0x24,0x25,0x25,0x26,0x24,0x20,0x0,0x0,0x3e,0xa2,0xa4,0xa4,0xa8,0xa4,0xa4,0xa2,0x22,0x22,0xb4,0xa8,0x20,0x20,
-+0x0,0x44,0x2b,0x12,0x2a,0x4b,0x8a,0xa,0x1b,0x2a,0x4a,0x8a,0xa,0xa,0x53,0x22,0x80,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x48,0x30,0x10,0x8e,0x4,0x0,
-+0x0,0x3f,0x24,0x22,0x2f,0x28,0x2f,0x28,0x2f,0x28,0x29,0x2b,0x4c,0x48,0x80,0x0,0x84,0xfe,0x0,0x0,0xbe,0xa2,0xa4,0xa8,0xa4,0x22,0x22,0xa2,0xb4,0x28,0x20,0x20,
-+0x8,0x5,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x20,0x24,0x26,0x79,0x20,0x0,0x0,0x0,0xfc,0x44,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,0x40,
-+0x8,0x5,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x20,0x24,0x26,0x79,0x21,0x2,0x4,0x7e,0xc4,0x44,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x84,0x14,0x8,
-+0x0,0x40,0x33,0x12,0x82,0x63,0x26,0xa,0x13,0x22,0xe2,0x22,0x22,0x22,0x23,0x22,0x80,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x48,0x30,0x10,0x8e,0x4,0x0,
-+0x11,0x11,0x17,0x11,0xf8,0x17,0x14,0x18,0x33,0xd0,0x10,0x10,0x10,0x11,0x51,0x2e,0x10,0x10,0xfc,0x10,0x0,0xfe,0x82,0x84,0xf8,0x88,0x88,0x88,0x88,0x8,0x28,0x10,
-+0x4,0x4,0x7f,0x4,0x4,0x7f,0x42,0x82,0x1f,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x48,0xfc,0x40,0x40,0xfe,0x2,0x14,0xf8,0x10,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x2,0x1,0x7f,0x41,0x91,0x11,0x1f,0x11,0x21,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0xfe,0x2,0x4,0x20,0xf0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x2,0x3f,0x2,0x2,0xff,0x1,0x2,0x4,0xc,0x14,0x27,0x44,0x84,0x3,0x0,0x0,0x88,0xd8,0x20,0x44,0xfe,0x0,0x0,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x50,0x9f,0x11,0x13,0x15,0x19,0x11,0x11,0x10,0x10,0x80,0x80,0x84,0xec,0x90,0xa0,0xc4,0xfe,0x0,0x8,0x30,0xc0,0x4,0x4,0xfc,0x0,
-+0x20,0x20,0x20,0x27,0xf8,0x48,0x48,0x4f,0x49,0x8b,0x55,0x21,0x51,0x49,0x80,0x0,0x80,0x80,0x84,0xec,0x90,0xa0,0xc4,0xfe,0x0,0x8,0x30,0xc0,0x4,0x4,0xfc,0x0,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x55,0x55,0x63,0x41,0x7f,0x41,0x7f,0x41,0x20,0xa0,0x3c,0x44,0xc4,0x28,0x10,0x28,0xc6,0x4,0x7e,0x44,0x44,0x44,0x7c,0x44,
-+0x10,0x10,0x10,0x15,0x59,0x52,0x50,0x90,0x11,0x16,0x11,0x11,0x29,0x25,0x41,0x81,0x80,0x80,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x41,0x31,0x17,0x81,0x60,0x2f,0x8,0x10,0x10,0x27,0xe0,0x21,0x21,0x22,0x24,0x28,0x10,0x10,0xfc,0x10,0x0,0xfe,0x2,0x84,0x88,0xfc,0x88,0x8,0x8,0x8,0x50,0x20,
-+0x22,0x22,0xff,0x22,0x22,0x3e,0x8,0x7f,0x49,0x49,0x7f,0x8,0xff,0x8,0x9,0xa,0x20,0x20,0xa0,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x44,0x44,0xc4,0x84,0x14,0x8,
-+0x0,0x0,0x1f,0x10,0x11,0x11,0x21,0x7f,0x1,0x1,0x9,0x9,0x11,0x21,0x45,0x2,0x20,0xf0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x20,0x10,0x8,0xc,0x4,0x0,
-+0x0,0x3f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x10,0xf8,0x0,0xfe,0x2,0x74,0x0,0x70,0x0,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x20,0x23,0x38,0x47,0x84,0x7b,0x20,0x23,0xf8,0x27,0x24,0x24,0x2f,0x34,0x24,0x7,0x8,0xfc,0x40,0xfe,0x42,0x58,0x40,0x58,0x40,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,
-+0x4,0x7f,0x4,0x3f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x48,0xfc,0x40,0xf8,0x0,0xfe,0x2,0x74,0x0,0x70,0x0,0xf8,0x8,0xf8,0x8,0xf8,
-+0x3f,0x4,0x8,0x1f,0x28,0x48,0x8f,0x4,0xfe,0x10,0x20,0x7e,0xa3,0x22,0x3e,0x20,0xf8,0x0,0x10,0xf8,0x10,0x10,0xf0,0x4,0xfe,0x20,0x44,0xfe,0x44,0x44,0x7c,0x40,
-+0x0,0x3f,0x21,0x3f,0x21,0x3f,0x22,0x4,0x3f,0x2,0x4,0x3f,0x9,0x11,0x65,0x2,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x20,0xc0,0x10,0x8,0xf8,0x20,0x18,0x8,0x0,
-+0x13,0x12,0x12,0x23,0x22,0x62,0xa3,0x20,0x2f,0x2a,0x2a,0x2f,0x2a,0x2a,0x2f,0x28,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,0x0,0xbe,0xaa,0xaa,0xbe,0xaa,0xaa,0xbe,0xa2,
-+0x1,0x2,0x4,0x8,0x3f,0x8,0x10,0x24,0x7e,0x1,0x1,0x3f,0x1,0x1,0xff,0x0,0x0,0x0,0x20,0x10,0xf8,0x10,0x20,0x48,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,
-+0x20,0x23,0x20,0x27,0xfc,0x2b,0x20,0x2b,0x30,0xe7,0x24,0x24,0x27,0x24,0xa4,0x47,0x8,0xfc,0x40,0xfe,0x42,0x5c,0x40,0x58,0x0,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,
-+0x2,0x3f,0x22,0x22,0x22,0x3f,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x22,0x4b,0x84,0x40,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x28,0x10,
-+0x1,0x11,0x9,0x1,0x7f,0x1,0x5,0x9,0x11,0x1,0xff,0x2,0x4,0x8,0x10,0x60,0x0,0x10,0x20,0x8,0xfc,0x0,0x40,0x30,0x10,0x4,0xfe,0x80,0x40,0x20,0x1c,0x8,
-+0x0,0x47,0x34,0x14,0x4,0x87,0x64,0x24,0xc,0x17,0xe4,0x24,0x24,0x24,0x27,0x24,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0x10,0xfc,0x17,0x39,0x36,0x54,0x51,0x91,0x12,0x14,0x10,0x11,0x16,0x40,0x50,0xf8,0x40,0x44,0xfe,0x10,0x8c,0xf4,0x10,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x30,0x38,0x57,0x54,0x90,0x10,0x11,0x11,0x12,0x14,0x4,0xfe,0x94,0x94,0x94,0xfc,0x40,0x24,0xfe,0x80,0xf8,0x88,0x8,0x8,0x28,0x10,
-+0x0,0x40,0x31,0x12,0x4,0x9,0x10,0x10,0x27,0xe0,0x20,0x20,0x22,0x21,0x20,0x0,0x80,0x80,0x40,0x20,0x10,0x8,0x8e,0x84,0xf0,0x10,0x20,0x40,0x80,0x0,0xc0,0x40,
-+0x0,0x3f,0x20,0x2f,0x28,0x28,0x2f,0x28,0x28,0x2f,0x20,0x2f,0x20,0x20,0x5f,0x80,0x4,0xfe,0x8,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x80,0xf8,0x80,0x84,0xfe,0x0,
-+0x3,0x3c,0x4,0x7f,0x4,0xe,0x15,0x64,0x5,0x1,0xff,0x3,0x5,0x19,0x61,0x1,0x8,0x8,0x48,0xc8,0x48,0x48,0x48,0x8,0x18,0x4,0xfe,0x80,0x40,0x3c,0x8,0x0,
-+0x3,0x3c,0x4,0x7f,0x4,0xe,0x15,0x65,0x11,0x1f,0x21,0x1,0xff,0x1,0x1,0x1,0x8,0x8,0x48,0xc8,0x48,0x48,0x48,0x18,0x0,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x6,0x78,0x8,0xfe,0x9,0x1c,0x2a,0x49,0x2,0xc,0x31,0xc9,0x5,0x9,0x11,0x3,0x40,0x44,0x7e,0xa4,0x24,0x44,0x94,0x8,0x80,0x60,0x1e,0x24,0x40,0x30,0x10,0x0,
-+0x12,0x1f,0x28,0x45,0x1,0xff,0x14,0x13,0x14,0x1f,0x1,0x3f,0x22,0x27,0x20,0x20,0x48,0x7c,0xa0,0x10,0x4,0xfe,0x50,0x90,0x50,0xf0,0x8,0xfc,0x48,0xe8,0x28,0x10,
-+0x4,0x44,0x2b,0x12,0x2a,0x4b,0x8a,0xa,0x1b,0x28,0x48,0x8b,0x8,0x8,0x57,0x20,0x0,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x2,0x1,0xff,0x4,0x12,0x11,0x12,0x14,0x1f,0x1,0x7f,0x42,0x44,0x4f,0x40,0x40,0x0,0x4,0xfe,0x40,0x90,0x10,0x90,0x50,0xf0,0x4,0xfe,0x4,0x44,0xe4,0x14,0x8,
-+0x0,0x40,0x2f,0x10,0x85,0x64,0x25,0x7,0x10,0x2f,0xe8,0x29,0x2b,0x28,0x28,0x28,0x80,0x48,0xfc,0x0,0x28,0xc8,0x28,0xf8,0x84,0xfe,0x84,0x24,0xf4,0x4,0x14,0x8,
-+0x0,0x13,0xfa,0x22,0x23,0x22,0xfa,0x23,0x20,0x20,0x23,0x3c,0xe0,0x40,0xf,0x0,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x1,0x1,0x7f,0x1,0x5,0x9,0x31,0xc1,0xf,0x0,0x1,0x7f,0x1,0x1,0x5,0x2,0x0,0x8,0xfc,0x0,0x40,0x30,0xe,0x4,0xe0,0x40,0x88,0xfc,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x1,0x1,0x7f,0x1,0x1,0xff,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x0,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x20,0x20,0x3d,0x49,0x95,0x7f,0x55,0x55,0x7d,0x54,0x54,0x7d,0x0,0x1c,0xe3,0x40,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x20,0x18,0x8,0x0,0xfe,0x4,0x8,0x1c,0x2a,0x4a,0x88,0x8,0x8,0x8,0x8,0x8,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x8,0x8,0xff,0x8,0x6,0x78,0x8,0x8,0xff,0x8,0x1c,0x1a,0x2a,0x48,0x88,0x8,0x20,0x24,0xfe,0x20,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x8,0x28,0x10,
-+0x8,0xff,0xa,0x2,0x1f,0x4,0x4,0x8,0x10,0x10,0x7e,0x12,0x12,0x22,0x4a,0x85,0x20,0xfe,0x20,0x0,0xf0,0x10,0x90,0x60,0x20,0x24,0xfe,0x24,0x24,0x44,0x94,0x8,
-+0x1,0x1,0x1,0xff,0x1,0x3f,0x21,0x21,0x21,0x3f,0x29,0x5,0x2,0x5,0x18,0x60,0x0,0x0,0x4,0xfe,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x80,0x70,0xe,
-+0x0,0xff,0x4,0x3f,0x24,0x24,0x3f,0x1,0x1,0xff,0x3,0x3,0x5,0x19,0x61,0x1,0x4,0xfe,0x48,0xfc,0x48,0x48,0xf8,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x0,0xff,0x0,0x0,0x3e,0x22,0x22,0x22,0x32,0x2a,0x22,0x22,0x22,0x22,0x2a,0x24,0x4,0xfe,0x0,0x8,0xfc,0x88,0x88,0x88,0xc8,0xa8,0x88,0x88,0x88,0x88,0xa8,0x90,
-+0x0,0x3f,0x20,0x20,0x3f,0x22,0x22,0x23,0x22,0x22,0x22,0x22,0x44,0x44,0x88,0x10,0x8,0xfc,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x1,0x7f,0x40,0x41,0x7f,0x48,0x49,0x4f,0x49,0x49,0x49,0x49,0x55,0x52,0xa0,0x1,0x20,0xa0,0x20,0x20,0xa4,0x7e,0x24,0xa4,0x24,0x24,0x24,0x44,0x44,0x84,0xa8,0x10,
-+0x0,0x8,0xfd,0x11,0x11,0x21,0x25,0x7f,0xa4,0x24,0x24,0x25,0x3d,0x22,0x4,0x0,0x8,0x1c,0xe0,0x0,0x20,0x20,0x24,0xfe,0x20,0x20,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x0,0x3f,0x21,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x21,0x22,0x42,0x44,0x88,0x10,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x1,0x7,0x7c,0x4,0x4,0x5,0xff,0xc,0xe,0x15,0x14,0x24,0x44,0x4,0x4,0x4,0x4,0x84,0x4,0x24,0x24,0x24,0xa4,0x24,0x24,0xa4,0xa4,0x24,0x4,0x4,0x14,0x8,
-+0x10,0x1f,0x10,0x27,0x24,0x64,0xa4,0x27,0x20,0x20,0x2f,0x20,0x21,0x22,0x2c,0x20,0x4,0xfe,0xa4,0xfe,0xa4,0xa4,0xa4,0xfc,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x10,0x10,0x1f,0x22,0x22,0x67,0xa4,0x28,0x34,0x22,0x21,0x22,0x24,0x28,0x20,0x20,0x4,0x44,0xe4,0x4,0x14,0xd4,0x54,0x54,0x94,0x94,0x14,0x4,0x4,0x4,0x14,0x8,
-+0x10,0x11,0x1f,0x21,0x21,0x7f,0xa1,0x23,0x23,0x25,0x25,0x29,0x31,0x21,0x21,0x21,0x84,0xc4,0x4,0x4,0x14,0xf4,0x14,0x14,0x94,0x54,0x54,0x4,0x4,0x4,0x14,0x8,
-+0x1,0x0,0x1f,0x10,0x97,0x51,0x51,0x1f,0x31,0x53,0xd3,0x15,0x29,0x21,0x41,0x1,0x0,0x84,0xfe,0x44,0x84,0x14,0x54,0xf4,0x14,0x94,0x54,0x54,0x4,0x4,0x14,0x8,
-+0x2,0x1,0x1,0x0,0x7f,0x0,0x0,0x10,0x8,0x8,0x4,0x4,0x4,0x0,0xff,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x4,0xfe,0x0,
-+0x10,0x10,0x10,0x54,0x3b,0x10,0xfd,0x11,0x38,0x34,0x54,0x90,0x10,0x10,0x17,0x10,0x80,0x40,0x40,0x8,0xfc,0x0,0x8,0x8,0x90,0x90,0x90,0xa0,0xa0,0x24,0xfe,0x0,
-+0x0,0x47,0x34,0x14,0x4,0x84,0x67,0x24,0xc,0x14,0xe4,0x24,0x24,0x28,0x29,0x32,0x4,0xfe,0x40,0x40,0x44,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x14,0x8,
-+0x1,0x3f,0x1,0x1,0xff,0x1,0x1,0x3f,0x21,0x11,0xd,0x9,0x31,0xc1,0x5,0x2,0x10,0xf8,0x10,0x14,0xfe,0x10,0x10,0xf0,0x8,0x98,0x60,0x20,0x18,0xe,0x4,0x0,
-+0x2,0x2,0x2,0x2,0x7f,0x2,0x2,0x2,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x70,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x0,0x10,0xff,0x20,0x22,0x22,0xfb,0x23,0x20,0x27,0x24,0x3c,0xe5,0x44,0x4,0x4,0x40,0x24,0xfe,0x90,0x64,0x94,0xc,0xfc,0x40,0xfe,0x42,0x92,0xfa,0x2,0xa,0x4,
-+0x0,0xb,0x7e,0x4a,0x4b,0x4a,0x4a,0x4b,0x48,0x48,0x4b,0x78,0x48,0x0,0xf,0x0,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x1f,0x21,0x21,0x6f,0xa9,0x29,0x29,0x29,0x2a,0x2c,0x28,0x28,0x28,0x28,0x0,0x4,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xd4,0x8c,0x4,0x4,0x14,0x8,
-+0x1,0xfe,0x24,0x24,0x3d,0x24,0x24,0x24,0x3f,0x24,0x24,0x24,0x3e,0xe4,0x5,0x6,0x4,0xcc,0x50,0x0,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x4,0x4,0xff,0x24,0x10,0x17,0x1,0x71,0x13,0x10,0x10,0x17,0x10,0x28,0x47,0x0,0x40,0x44,0xfe,0x40,0x90,0xf8,0x0,0x50,0xf8,0x40,0x48,0xfc,0x40,0x46,0xfc,0x0,
-+0x0,0x40,0x2f,0x21,0x1,0x2,0xe7,0x20,0x20,0x20,0x2f,0x20,0x20,0x50,0x8f,0x0,0x80,0x88,0xfc,0x0,0x40,0x50,0xf8,0x40,0x40,0x48,0xfc,0x40,0x40,0x46,0xfc,0x0,
-+0x20,0x27,0x25,0x3f,0x44,0x85,0x7c,0x27,0x24,0xfd,0x24,0x25,0x2d,0x36,0x28,0x0,0x44,0xfe,0x8,0xfe,0x90,0xfc,0x94,0xfe,0x94,0xfc,0x94,0x98,0x98,0x96,0x90,0x90,
-+0x1,0x3f,0x24,0x22,0x3f,0x22,0x2f,0x22,0x3f,0x22,0x2f,0x26,0x4a,0x52,0xa2,0x2,0x8,0xfc,0x20,0x48,0xfc,0x40,0xf8,0x48,0xfe,0x48,0xf8,0x68,0x50,0x4e,0x44,0x40,
-+0x10,0x10,0x10,0x18,0x55,0x52,0x54,0x98,0x10,0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x88,0x4e,0x44,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x0,0x88,0x65,0x24,0x0,0x81,0x6d,0x24,0xc,0x14,0xe7,0x24,0x24,0x2a,0x31,0x20,0x20,0x28,0xfc,0x40,0xa0,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x26,0xfc,0x0,
-+0x2,0x1,0x7f,0x40,0x89,0x11,0x21,0x1f,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1,0x0,0x0,0xfe,0x2,0x24,0x10,0x8,0xf0,0x10,0x10,0x10,0x10,0x10,0x50,0x20,0x0,
-+0x8,0x8,0x14,0x13,0x21,0x40,0xbe,0x0,0x11,0x49,0x2a,0x2a,0x2a,0x7,0x78,0x21,0x20,0x20,0x20,0x24,0x7e,0x84,0x44,0x44,0x48,0x28,0x28,0x10,0x28,0x28,0x46,0x84,
-+0x8,0x7c,0x48,0x48,0x49,0x7a,0x4d,0x48,0x4a,0x7a,0x49,0x49,0x49,0x48,0x4f,0x98,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0x88,0x48,0x48,0x50,0x50,0x24,0xfe,0x0,
-+0x20,0x24,0x3a,0x42,0x40,0xf8,0x26,0x22,0xfa,0x22,0x23,0x2a,0x32,0x25,0x8,0x0,0x10,0x14,0xfe,0x20,0x50,0x94,0xfe,0x10,0x10,0x14,0xfe,0x10,0x10,0x16,0xfc,0x0,
-+0x2,0x1,0xff,0x4,0xc,0xc,0x14,0x24,0x44,0x2,0x29,0x29,0x28,0x48,0x7,0x0,0x0,0x4,0xfe,0x40,0x60,0x58,0x4c,0x44,0x40,0x0,0x10,0x28,0x24,0x24,0xe0,0x0,
-+0x10,0x10,0x17,0x14,0x58,0x57,0x51,0x91,0x12,0x13,0x10,0x28,0x25,0x42,0x84,0x0,0x40,0x48,0xfc,0x80,0xa0,0xf0,0x20,0x20,0x24,0xfe,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x10,0x10,0x27,0x40,0x48,0xfb,0x11,0x21,0x42,0xfb,0x0,0x0,0x39,0xc2,0x44,0x0,0x40,0x48,0xfc,0x80,0xa0,0xf0,0x20,0x20,0x24,0xfe,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x10,0x10,0x57,0x3a,0x12,0xff,0x12,0x32,0x3b,0x56,0x52,0x92,0x12,0x12,0x13,0x12,0x40,0x28,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x48,0x30,0x10,0x8e,0x4,0x0,
-+0x0,0x40,0x2f,0x10,0x3,0x2,0xa,0x12,0x23,0xe2,0x20,0x21,0x22,0x24,0x29,0x0,0x80,0x44,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x48,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x10,0xb,0x40,0x22,0xa,0x54,0x21,0x22,0x25,0x1,0xff,0x5,0x9,0x11,0x61,0x1,0x8,0xfc,0x88,0x8c,0x8a,0x88,0x8,0x28,0x10,0x4,0xfe,0x40,0x20,0x1c,0x8,0x0,
-+0x10,0xb,0x40,0x22,0xa,0x55,0x22,0x21,0x9,0x5,0xff,0x5,0x9,0x11,0x61,0x1,0x8,0xfc,0x88,0x8c,0x8a,0x28,0x10,0x0,0x20,0x44,0xfe,0x40,0x20,0x1c,0x8,0x0,
-+0x2,0x1,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x24,0x24,0x22,0x21,0x28,0x30,0x20,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf8,0x10,0x20,0x40,0x80,0x60,0x1c,0x8,
-+0x0,0xff,0x4,0x4,0x7f,0x44,0x44,0x44,0x44,0x44,0x4a,0x51,0x62,0x40,0x40,0x40,0x4,0xfe,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0xa4,0x1c,0xc,0x4,0x14,0x8,
-+0x10,0x13,0xfc,0x20,0x33,0x52,0x52,0xfe,0x12,0x12,0x1f,0xf2,0x52,0x12,0x12,0x12,0x4,0xfe,0x90,0x94,0xfe,0x94,0x94,0x94,0x94,0x94,0x54,0x2c,0x4,0x4,0x14,0x8,
-+0x0,0x1f,0x10,0x1f,0x10,0xff,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x1f,0x1,0x7f,0x10,0xf8,0x10,0xf0,0x14,0xfe,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x0,0xf0,0x0,0xfc,
-+0x0,0x0,0x78,0x4f,0x48,0x4b,0x4a,0x7a,0x4a,0x4b,0x48,0x49,0x7a,0x44,0x9,0x0,0x80,0x40,0x44,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x1,0x7f,0x0,0x1f,0x10,0x10,0x1f,0x0,0x7f,0x40,0x8f,0x8,0x8,0x8,0x10,0x60,0x8,0xfc,0x10,0xf8,0x10,0x10,0xf0,0x0,0xfe,0x22,0xf4,0x20,0x20,0x22,0x22,0x1e,
-+0x0,0x40,0x2f,0x20,0x3,0x2,0xe2,0x22,0x23,0x20,0x24,0x29,0x32,0x24,0x9,0x0,0x80,0x44,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x40,0x50,0x4c,0x46,0x42,0x80,
-+0x10,0x10,0x1f,0x10,0xfd,0x12,0x17,0x1a,0x33,0xd2,0x13,0x10,0x11,0x12,0x55,0x20,0x40,0x44,0xfe,0xa0,0x14,0x8,0xfe,0x8,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x80,
-+0x8,0xfd,0x4a,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x7a,0x4b,0x4a,0xfc,0x8,0x9,0xa,0x80,0x4,0x3e,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xb4,0xa8,0xa0,0x20,0x20,
-+0x10,0x10,0x1f,0x21,0x2a,0x64,0xaf,0x34,0x27,0x24,0x27,0x20,0x22,0x24,0x2a,0x21,0x80,0x88,0xfc,0x40,0x28,0x10,0xfe,0x14,0xf0,0x10,0xf0,0x80,0xa0,0x98,0x88,0x0,
-+0x1,0x0,0x1f,0x10,0x90,0x57,0x50,0x10,0x30,0x50,0xd0,0x10,0x20,0x22,0x41,0x0,0x0,0x84,0xfe,0x0,0x0,0xf8,0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x17,0x10,0x56,0x59,0x53,0x96,0x1b,0x12,0x13,0x28,0x25,0x42,0x84,0x0,0x40,0x44,0xfe,0x40,0xa8,0x10,0xf8,0xe,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0xc0,
-+0x1,0x7f,0x40,0xbc,0x24,0x14,0x25,0x6,0x8,0x33,0xcc,0x1,0xe,0x0,0x3,0x1c,0x0,0xfe,0x2,0xfc,0x48,0x28,0x48,0x88,0x40,0x30,0x4e,0x84,0x20,0xc0,0x0,0x0,
-+0x40,0x37,0x10,0x0,0x0,0x70,0x10,0x10,0x10,0x10,0x10,0x11,0x10,0x28,0x47,0x0,0x0,0xfc,0x8,0x10,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x6,0xfc,0x0,
-+0x0,0x40,0x2f,0x10,0x82,0x61,0x23,0xe,0x13,0x22,0xe3,0x20,0x21,0x22,0x25,0x20,0x40,0x44,0xfe,0x40,0xa8,0x10,0xf8,0xe,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x80,
-+0x0,0x7f,0x0,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x13,0x12,0x13,0xfe,0x13,0x14,0x19,0x33,0xd0,0x13,0x1f,0x12,0x12,0x53,0x22,0x8,0xfc,0x48,0xf8,0x48,0xf8,0x80,0xf8,0x10,0xe0,0x18,0xfe,0x8,0x8,0xf8,0x8,
-+0x20,0x20,0x3f,0x40,0x82,0x79,0x23,0x26,0xfb,0x22,0x23,0x20,0x29,0x32,0x25,0x0,0x40,0x44,0xfe,0x40,0xa8,0x10,0xf8,0xe,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x80,
-+0x0,0x3f,0x20,0x3f,0x29,0x25,0x29,0x23,0x2c,0x31,0x26,0x21,0x46,0x40,0x83,0xc,0x88,0xfc,0x0,0x78,0x48,0x28,0xc8,0x60,0x5e,0x84,0x40,0x90,0x20,0xc0,0x0,0x0,
-+0x8,0x49,0x2a,0x2c,0x8,0xff,0x8,0x18,0x1c,0x2b,0x2a,0x48,0x88,0x8,0x8,0x8,0x8,0x8,0x48,0x28,0x8,0x48,0x28,0x28,0xe,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,
-+0x1,0x7f,0x10,0x10,0x1f,0x21,0x21,0x52,0x8a,0x4,0x4,0x8,0x10,0x20,0x40,0x0,0x4,0x84,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x1,0xff,0x10,0x1f,0x31,0x4a,0x4,0x39,0x1,0xff,0x2,0x4,0xc,0x15,0x66,0x4,0x4,0x84,0x24,0x24,0x24,0x24,0x24,0xc,0x4,0xfe,0x8,0x90,0x60,0x30,0xe,0x4,
-+0x1,0x7f,0x10,0x10,0x1f,0x21,0x21,0x52,0xc,0x8,0x30,0x40,0x28,0x24,0x44,0x80,0x4,0x84,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0xc,0x0,0x90,0x4c,0x46,0x2,
-+0x1,0x9,0x9,0x11,0x21,0x41,0x6,0x19,0xe1,0x1f,0x1,0x2,0x2,0x4,0x8,0x30,0x0,0x20,0x18,0xc,0x34,0xc0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x0,0x44,0x2c,0x13,0x28,0x48,0x8f,0x8,0x19,0x29,0x49,0x89,0x9,0x9,0x51,0x21,0x90,0x90,0x90,0xfc,0x90,0x94,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x2,0x12,0xfa,0x22,0x2f,0x22,0xfa,0x27,0x26,0x2a,0x3a,0xe2,0x42,0x2,0x2,0x2,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x38,0xb8,0x54,0x54,0x92,0x10,0x10,0x10,0x10,
-+0x8,0x8,0x8,0x8,0xfe,0x8,0x18,0x1c,0x2a,0x28,0x49,0x8a,0x8,0x8,0x8,0x8,0x20,0x20,0x20,0x24,0xfe,0x20,0x60,0x70,0xa8,0xae,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x8,0xfd,0x10,0x13,0x20,0x20,0x7d,0xa6,0x24,0x25,0x26,0x25,0x24,0x3d,0x22,0x0,0x20,0x24,0xa8,0xfe,0x70,0xa8,0x26,0xa4,0xa4,0xde,0x54,0x54,0xbe,0x4,0x4,0x4,
-+0x1f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x8,0x8,0x7e,0x8,0x1c,0x2a,0x49,0x8,0x8,0xf0,0x0,0xfe,0x2,0x74,0x0,0x70,0x20,0x28,0xfc,0x20,0x70,0xae,0x24,0x20,0x20,
-+0x10,0x10,0x51,0x51,0x52,0x54,0x58,0x50,0x57,0x54,0x54,0x54,0x54,0x14,0x17,0x14,0x80,0x80,0x4,0xfe,0x0,0x80,0x60,0x24,0xfe,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x8,0x8,0x14,0x12,0x21,0x50,0x88,0x0,0x7f,0x1,0x2,0x14,0x8,0x4,0x4,0x0,0x0,0x7c,0x44,0x44,0xc8,0xc8,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x20,0x21,0x3c,0x4b,0x90,0x7c,0x55,0x56,0x7c,0x55,0x56,0x7d,0x0,0x1d,0xe2,0x40,0x20,0x24,0xa8,0xfe,0x70,0xa8,0x26,0xa4,0x84,0xde,0x54,0x54,0xbe,0x4,0x4,0x4,
-+0x2,0x42,0x22,0x22,0x1f,0x82,0x42,0x47,0x16,0x2a,0xea,0x32,0x22,0x22,0x22,0x22,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x38,0xb8,0x54,0x54,0x92,0x10,0x10,0x10,0x10,
-+0x0,0x9f,0x60,0x2f,0xa,0xb,0x1a,0x1f,0x20,0xe7,0x20,0x3f,0x24,0x28,0x32,0x1,0x80,0xfc,0x8,0xfc,0x28,0xe8,0x28,0xf8,0x0,0xf0,0x0,0xfc,0x90,0x8c,0x84,0x0,
-+0x8,0x17,0x30,0x5f,0x90,0x17,0x0,0x1f,0x10,0x11,0x11,0x11,0x11,0x2,0xc,0x30,0x18,0xe0,0x44,0xfe,0x40,0xfc,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x2,0x1,0x7f,0x4,0x2,0x1,0x6,0x18,0xe0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x8,0xfc,0x40,0x80,0x0,0xc0,0x30,0xe,0xf4,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x14,0x18,0x30,0xd3,0x10,0x10,0x10,0x10,0x50,0x20,0x40,0x40,0xa0,0xa0,0x10,0x88,0x4e,0x44,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x0,0x10,0xf8,0x20,0x21,0x22,0xfc,0x28,0x20,0x23,0x20,0x38,0xc0,0x0,0x0,0x0,0x40,0x40,0xa0,0xa0,0x10,0x88,0x4e,0x44,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x8,0xff,0x9,0x1,0x3f,0x1,0xff,0x8,0xa,0x13,0x24,0xc,0x12,0x1,0xe,0x70,0x24,0xfe,0x20,0x0,0xf8,0x0,0xfe,0x20,0x18,0xe8,0x20,0x20,0x40,0x80,0x70,0xe,
-+0x1f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x2,0xc,0x32,0xc1,0xf,0x0,0x2,0x1,0x0,0xf0,0x0,0xfe,0x2,0x74,0x0,0x70,0x80,0x60,0x18,0x6,0xe0,0x40,0x80,0x0,0x80,
-+0x8,0x28,0x28,0x2f,0x28,0x29,0xff,0x0,0x49,0x49,0x49,0x55,0x63,0x41,0x7f,0x41,0x20,0x20,0x50,0x50,0x88,0x4e,0x24,0x20,0x0,0xfc,0x4,0x8,0x50,0x20,0x10,0x10,
-+0x10,0x10,0x10,0x1c,0x21,0x22,0x7c,0x90,0x10,0x7d,0x10,0x10,0x14,0x18,0x10,0x0,0x40,0x40,0xa0,0xa0,0x10,0x88,0x4e,0x44,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x8,0x8,0x8,0x10,0x11,0x32,0x54,0x98,0x10,0x13,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x88,0x4e,0x44,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x0,0x44,0x28,0xfe,0x11,0x12,0x7c,0x10,0x10,0x13,0xfc,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x44,0x40,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x0,0x40,0x37,0x10,0x0,0xf,0x9,0x12,0x24,0xe1,0x23,0x24,0x28,0x20,0x23,0xc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x10,0x8c,0xf4,0x10,0x10,0xa0,0x40,0xa0,0x1e,0x4,
-+0x0,0x7f,0x0,0x3f,0x0,0x7f,0x1,0x1,0x21,0x19,0xa,0x2,0x4,0x8,0x30,0xc0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x0,0x8,0x18,0xa0,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x7c,0x45,0x48,0x48,0x53,0x48,0x49,0x46,0x44,0x45,0x6a,0x50,0x40,0x41,0x46,0x20,0x28,0xfc,0x20,0x24,0xfe,0x88,0x44,0x7a,0x88,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x10,0x10,0x54,0x55,0x56,0x54,0x54,0x55,0x54,0x5c,0x74,0x44,0x0,0x0,0x20,0x20,0x50,0x50,0x88,0x4e,0x24,0x20,0x0,0xfc,0x4,0x8,0x50,0x20,0x10,0x10,
-+0x10,0x13,0x28,0x24,0x43,0xa1,0x11,0x1,0xff,0x3,0x5,0x29,0x10,0x8,0x8,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x12,0x2,0x7f,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x10,0xf8,0x10,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x1,0x1,0x2,0x4,0xa,0x11,0x21,0xc0,0x1f,0x0,0x0,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0xe,0x4,0xf0,0x10,0x20,0x40,0x80,0x0,0x80,0x80,
-+0x0,0x47,0x34,0x15,0x84,0x65,0x26,0x8,0x17,0x24,0xe4,0x27,0x24,0x24,0x27,0x24,0x84,0x7e,0x24,0x24,0xa4,0x24,0x54,0x88,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x0,0x8,0xff,0x10,0x10,0x11,0x7f,0x10,0x11,0x11,0x1d,0xf1,0x41,0x1,0x2,0x4,0x80,0x48,0xfc,0x40,0x90,0x8,0xfc,0x4,0x50,0x50,0x50,0x50,0x52,0x52,0x4e,0x40,
-+0x20,0x27,0x24,0x25,0xfc,0x25,0x66,0x70,0xaf,0x24,0x24,0x27,0x24,0x24,0x27,0x24,0x84,0x7e,0x24,0x24,0xa4,0x24,0x54,0x88,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x0,0x8,0xff,0x10,0x10,0x21,0x23,0x3c,0x65,0xa5,0x25,0x25,0x25,0x3d,0x22,0x4,0x80,0x48,0xfc,0x40,0x90,0x8,0xfc,0x4,0x50,0x50,0x50,0x50,0x52,0x52,0x4e,0x40,
-+0x20,0x27,0x24,0x3d,0x4c,0x55,0x86,0x20,0x27,0x24,0x24,0x27,0x2c,0x34,0x27,0x4,0x84,0x7e,0x24,0x24,0xa4,0x24,0x54,0x88,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x2,0x7c,0x40,0x48,0x46,0x4a,0xf0,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x20,0x4,0xfe,0x44,0x44,0x44,0x44,0x94,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x20,0x18,0x9,0xff,0x2,0x42,0x22,0x14,0x14,0x8,0x8,0x14,0x22,0x43,0x81,0x0,0x4,0x4,0x24,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x0,0x1f,0x10,0x97,0x54,0x55,0x15,0x16,0x30,0x57,0xd4,0x14,0x27,0x24,0x44,0x7,0x84,0xfe,0x80,0x7c,0x24,0x24,0xa4,0x4c,0x80,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,
-+0x0,0x40,0x37,0x10,0x80,0x61,0x27,0x8,0x11,0x21,0xe1,0x21,0x21,0x21,0x22,0x24,0x80,0x48,0xfc,0x40,0x90,0x8,0xfc,0x4,0x50,0x50,0x50,0x50,0x52,0x52,0x4e,0x40,
-+0x20,0x27,0x24,0x24,0xfc,0x24,0x64,0x74,0xac,0x25,0x26,0x24,0x20,0x21,0x22,0x24,0x84,0x3e,0x24,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xb4,0xa8,0x20,0x20,0x20,
-+0x0,0x4,0x2,0x3,0x1,0xff,0x0,0x0,0x4,0xc,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x40,0x20,0x10,0x18,0xc,0xc,0x4,0x0,
-+0x2,0x2,0x2,0x2,0xff,0x2,0x2,0x4,0x4,0x4,0x8,0x8,0x11,0x16,0x20,0x40,0x0,0x40,0x20,0x4,0xfe,0x80,0x88,0x88,0x90,0xa0,0xc0,0x82,0x82,0x82,0x7e,0x0,
-+0x2,0x2,0xff,0x2,0x4,0x18,0x23,0x7f,0x8,0xf,0x8,0xf,0x8,0xff,0x0,0x0,0x40,0x24,0xfe,0xa0,0xc4,0xfc,0x0,0xfc,0x20,0xe0,0x20,0xe0,0x24,0xfe,0x20,0x20,
-+0x0,0x8,0x7c,0x48,0x4f,0x48,0x48,0x48,0x49,0x49,0x49,0x7a,0x42,0x4,0xb,0x10,0x80,0xa0,0x90,0x84,0xfe,0xa0,0xa4,0xa4,0x28,0x28,0x30,0x20,0x62,0xa2,0x1e,0x0,
-+0x10,0x1f,0x28,0x45,0x2,0x2,0xff,0x2,0x2,0x4,0x4,0x8,0x8,0x11,0x26,0x40,0x40,0x7c,0xa0,0x10,0x40,0x24,0xfe,0x80,0x90,0x90,0xa0,0xc2,0x82,0x82,0x7e,0x0,
-+0x1,0x7f,0x48,0x91,0x79,0x4a,0x54,0x61,0x56,0x49,0x4a,0x6b,0x54,0x43,0x40,0x4f,0x0,0xfe,0x22,0x14,0xf0,0xa0,0x40,0xb0,0xe,0xf4,0x40,0xf8,0x40,0xf8,0x40,0xfc,
-+0x0,0x7c,0x45,0x4a,0x48,0x50,0x4b,0x48,0x44,0x45,0x45,0x6a,0x51,0x40,0x47,0x40,0x80,0xfc,0x88,0x50,0x20,0xd8,0x6,0xf8,0x20,0x28,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x2,0x2,0xff,0x5,0x5,0x9,0x11,0x27,0xc0,0x1,0x1,0x7f,0x1,0x1,0xff,0x0,0x80,0x44,0xfe,0x0,0x10,0x20,0xc4,0x4,0xfc,0x0,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0xfc,0x13,0x14,0x18,0x31,0xd1,0x11,0x12,0x12,0x14,0x54,0x28,0x80,0xa0,0x90,0x90,0x84,0xfe,0xa0,0xa0,0x24,0x24,0x28,0x32,0x22,0x62,0x9e,0x0,
-+0x0,0x7c,0x44,0x48,0x48,0x57,0x48,0x48,0x45,0x45,0x65,0x5a,0x42,0x44,0x44,0x48,0x80,0xa0,0x90,0x90,0x84,0xfe,0xa0,0xa0,0x24,0x24,0x28,0x32,0x22,0x62,0x9e,0x0,
-+0x10,0x12,0x11,0x10,0xff,0x11,0x3a,0x34,0x50,0x5f,0x91,0x12,0x11,0x10,0x11,0x16,0x40,0x48,0x50,0x44,0xfe,0x50,0x4c,0x44,0x80,0xfe,0x8,0x8,0xb0,0x40,0xb0,0x8,
-+0x11,0xd,0x5,0x7f,0x5,0xd,0x11,0x21,0x2,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x10,0x30,0x40,0xfc,0x40,0x20,0x1c,0x8,0x0,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x10,0x12,0x11,0x10,0xff,0x11,0x12,0x1c,0x30,0xd7,0x11,0x12,0x11,0x10,0x51,0x26,0x40,0x48,0x50,0x44,0xfe,0x50,0x4c,0x44,0x80,0xfe,0x8,0x8,0xb0,0x40,0xb0,0x8,
-+0x10,0x1f,0x28,0x45,0x9,0x5,0x7f,0x5,0x9,0x11,0xff,0x4,0xc,0x3,0x4,0x38,0x40,0x7c,0xa0,0x10,0x20,0x48,0xfc,0x40,0x20,0x14,0xfe,0x20,0x40,0x80,0x60,0x10,
-+0x40,0x2f,0x28,0x8,0x8f,0x68,0x2f,0x8,0x2f,0x4c,0xd5,0x54,0x55,0x64,0x44,0x44,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfe,0x4,0xfe,0x44,0x54,0x44,0x54,0x44,0x54,0x48,
-+0x0,0x7b,0x48,0x50,0x52,0x62,0x52,0x4a,0x4a,0x4a,0x6a,0x52,0x42,0x42,0x43,0x40,0x4,0xfe,0x20,0x24,0xfe,0xa4,0xa4,0xa4,0xd4,0xcc,0x84,0x94,0x88,0x0,0xfe,0x0,
-+0x8,0x8,0xff,0x8,0x1,0x3f,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x20,0x24,0xfe,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x40,0x80,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x15,0x1e,0x10,0x12,0x7f,0x42,0x42,0x42,0x7e,0x42,0x40,0x40,0x40,0x80,0x3,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x50,0x48,0x86,0x2,
-+0x1,0x0,0x3f,0x21,0x20,0x27,0x24,0x24,0x24,0x27,0x24,0x24,0x44,0x44,0x88,0x10,0x0,0x84,0xfe,0x0,0x88,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x12,0x15,0x59,0x51,0x51,0x91,0x11,0x11,0x11,0x11,0x29,0x45,0x82,0x4,0x40,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x17,0x1a,0x32,0xd2,0x13,0x12,0x12,0x14,0x54,0x29,0x48,0x7c,0x40,0xfe,0x44,0x70,0xc4,0x7c,0x0,0x44,0xfe,0x44,0x44,0x84,0x94,0x8,
-+0x1,0x1,0x1,0x1,0x3f,0x20,0x28,0x24,0x22,0x21,0x21,0x22,0x24,0x28,0x3f,0x20,0x4,0xfe,0x0,0x8,0xfc,0x8,0x28,0x68,0x88,0x8,0x88,0x48,0x28,0x18,0xf8,0x8,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x2f,0x21,0x20,0x21,0x2f,0x21,0x41,0x41,0x82,0x1c,0x10,0xf8,0x0,0xfe,0x2,0xf4,0x0,0x8,0xf8,0x0,0xf8,0x8,0x8,0x8,0x28,0x10,
-+0x4,0xf,0x10,0x3f,0xe1,0x3f,0x21,0x3f,0x0,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x0,0xe0,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,
-+0x8,0x8,0xff,0x1c,0x2a,0x49,0x3f,0x22,0x3f,0x22,0x3f,0x28,0x2f,0x28,0x4f,0x88,0x20,0x24,0xfe,0x70,0xae,0x24,0xfc,0x40,0xf8,0x48,0xf8,0x48,0x50,0x62,0x42,0x3e,
-+0x8,0xff,0x10,0x11,0x20,0x23,0x3c,0x64,0xa5,0x24,0x24,0x24,0x25,0x3e,0x20,0x0,0x8,0xfc,0x8,0xf8,0x8,0xfe,0x20,0x24,0x2c,0xb0,0x20,0xb0,0x2e,0x24,0xa0,0x40,
-+0x3f,0x1,0x7f,0x49,0x85,0x9,0x3e,0x22,0x22,0x3f,0x8,0x2e,0x29,0x2e,0x70,0x20,0xf8,0x0,0xfe,0x22,0x44,0x20,0x40,0x78,0x88,0x50,0x20,0x50,0xfe,0x88,0x88,0xf8,
-+0x4,0x7e,0x44,0x45,0x46,0x44,0x7c,0x50,0x13,0x5d,0x51,0x51,0x51,0x5d,0xe1,0x1,0x40,0x40,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x7e,0x44,0x55,0x56,0x54,0x54,0x54,0x57,0x55,0x55,0x55,0x29,0x25,0x45,0x81,0x40,0x40,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x0,0x3f,0x22,0x22,0x3f,0x22,0x22,0x3f,0x28,0x28,0x2f,0x48,0x49,0x8a,0xc,0x0,0x84,0xfe,0x40,0x48,0xfc,0x48,0x48,0xf8,0x40,0x48,0x58,0x60,0x42,0x42,0x3e,
-+0x40,0x2f,0x28,0x8,0x88,0x4f,0x4a,0x2,0x1a,0x2b,0xca,0x4a,0x4a,0x4b,0x5c,0x8,0x20,0xa0,0xbc,0xc4,0xc4,0xa8,0x90,0x28,0x46,0x84,0x7c,0x44,0x44,0xc4,0x7c,0x44,
-+0x20,0x13,0x10,0x1,0xf8,0xb,0x10,0x38,0x56,0x91,0x10,0x11,0x12,0x14,0x11,0x10,0x8,0xfc,0x8,0xf8,0x8,0xfe,0x40,0x44,0x68,0x70,0xd0,0x48,0x4e,0x44,0x40,0x80,
-+0x0,0x3f,0x0,0x0,0x1f,0x0,0x0,0xff,0x1,0x11,0x9,0x5,0x9,0x11,0x65,0x2,0x10,0xf8,0x10,0x10,0xf0,0x10,0x14,0xfe,0x8,0x10,0xa0,0x40,0x20,0x1e,0x4,0x0,
-+0x0,0x7c,0x44,0x49,0x48,0x50,0x48,0x4b,0x44,0x45,0x45,0x69,0x51,0x41,0x41,0x41,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x1,0xf7,0x11,0x55,0x33,0x55,0x9,0x14,0x2b,0xd1,0x24,0x48,0x12,0x24,0x9,0x10,0x20,0xa8,0x24,0x20,0x3e,0xe0,0x20,0x24,0x24,0x28,0x10,0x30,0x52,0x8a,0xa,0x4,
-+0x8,0xfc,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x2a,0x14,0x40,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x11,0x1d,0x21,0x21,0x7d,0x91,0x10,0x7c,0x13,0x12,0x12,0x16,0x1a,0x13,0x2,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xb,0xa,0x12,0x12,0x33,0x50,0x90,0x17,0x14,0x14,0x14,0x14,0x14,0x17,0x14,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x10,0x10,0xfd,0x22,0x20,0x3d,0x25,0x25,0x25,0x25,0x25,0x25,0x45,0x95,0x9,0x80,0x80,0x88,0xfc,0x10,0x60,0x84,0x4c,0x50,0x20,0x20,0x10,0x10,0x4e,0x84,0x0,
-+0x3f,0x20,0x3f,0x25,0x29,0x32,0x25,0x29,0x39,0x29,0x29,0x29,0x4b,0x4c,0x88,0xb,0xfc,0x4,0xfc,0x0,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xf8,0x90,0x60,0x9c,
-+0x3f,0x20,0x3f,0x24,0x22,0x3f,0x22,0x24,0x28,0x21,0x3f,0x22,0x46,0x41,0x82,0xc,0xfc,0x4,0xfc,0x90,0xa4,0xfe,0xa0,0x98,0x88,0x0,0xfe,0x10,0x20,0xc0,0x30,0x8,
-+0x10,0x12,0x21,0x20,0x47,0xf9,0x12,0x24,0x40,0xff,0x1,0x2,0x19,0xe0,0x41,0x6,0x40,0x48,0x50,0x40,0xfe,0x50,0x4c,0x44,0x80,0xfe,0x8,0x8,0xb0,0x40,0xb0,0x8,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x2f,0x21,0x20,0x20,0x20,0x2a,0x4a,0x52,0x81,0x0,0x10,0xf8,0x0,0xfe,0x2,0xf4,0x0,0x8,0xf8,0x0,0x80,0x48,0x46,0x12,0xf0,0x0,
-+0x10,0x1f,0x10,0x2f,0x40,0xbf,0x0,0x3f,0x0,0x1f,0x0,0xff,0x12,0xa,0x32,0x6,0x8,0xfc,0x0,0xf8,0x0,0xf8,0x48,0xe8,0x48,0xc8,0x48,0xf8,0x48,0x8a,0x6a,0x4,
-+0x8,0x8,0x13,0x10,0x27,0x48,0x8b,0x10,0x30,0x57,0x90,0x10,0x1f,0x10,0x10,0x10,0x40,0x48,0xfc,0x48,0xfe,0x48,0xf8,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,
-+0x2,0x1,0x7f,0x1,0x42,0x27,0x11,0x22,0x4f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x0,0x8,0xfc,0x0,0x44,0x88,0x10,0x48,0xe4,0x20,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x0,0x40,0x20,0x2f,0x8,0x88,0x5f,0x48,0x18,0x28,0xc9,0x4b,0x4d,0x51,0x50,0x60,0x90,0xf8,0x80,0xfe,0x82,0xf4,0x80,0x88,0x78,0x0,0x40,0x24,0x2a,0xa,0xf8,0x0,
-+0x10,0x13,0x20,0x21,0x44,0xff,0x10,0x22,0x41,0xf9,0x0,0x1,0x1a,0xe4,0x41,0x0,0x8,0xfc,0x8,0xf8,0x8,0xfe,0x40,0x44,0x4c,0x50,0xe0,0x50,0x48,0x4e,0x44,0x80,
-+0x2,0x1,0xff,0x4,0x14,0x14,0x24,0x24,0x44,0x1,0x21,0x21,0x21,0x21,0x3f,0x20,0x0,0x4,0xfe,0x40,0x50,0x48,0x44,0x44,0x40,0x0,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x1,0xff,0x4,0x14,0x34,0x44,0x3f,0x1,0x1f,0x1,0xff,0x1,0x1,0x5,0x2,0x0,0x4,0xfe,0x40,0x50,0x4c,0x74,0x80,0x0,0xf0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x2,0x1,0xff,0x4,0x14,0x24,0x44,0x1f,0x0,0x1,0xff,0x1,0x1,0x1,0x5,0x2,0x0,0x4,0xfe,0x40,0x50,0x4c,0x44,0xe0,0x80,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x40,0x3f,0x22,0x6,0x8a,0x52,0x42,0x10,0x2f,0xc1,0x42,0x44,0x48,0x50,0x40,0x0,0x84,0xfe,0x20,0x30,0x2c,0x24,0xa0,0x84,0xfe,0xc0,0xa0,0x90,0x8e,0x84,0x80,
-+0xc,0x70,0x44,0x44,0x64,0x54,0x54,0x44,0x44,0x5c,0xe4,0x4,0x8,0x10,0x60,0x0,0x4,0xfe,0x84,0x84,0xa4,0x94,0x94,0x84,0x84,0xc4,0xa8,0x90,0x80,0x80,0x80,0x80,
-+0x2,0x7,0x78,0x8,0x8,0x9,0xff,0x8,0xa,0x3f,0x22,0x22,0x22,0x22,0x3e,0x22,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40,0x40,0x40,0x40,0x42,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x17,0x10,0xfc,0x13,0x16,0x1a,0x32,0xd3,0x10,0x11,0x12,0x14,0x51,0x20,0x80,0x44,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x0,0x4,0x7e,0x55,0x56,0x54,0x7c,0x54,0x55,0x57,0x55,0x7d,0x41,0x1,0x1,0x1,0x80,0x80,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x12,0x1d,0x31,0xd1,0x11,0x11,0x11,0x11,0x50,0x20,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x20,0xfc,0x21,0x51,0x52,0xfd,0x11,0x11,0x1d,0xf1,0x51,0x11,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,0x0,
-+0x8,0x8,0x8,0x10,0x11,0x32,0x54,0x99,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,0x0,
-+0x1,0x1,0x2,0x2,0x4,0x8,0x30,0xc8,0x8,0x9,0xe,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x80,0x80,0x40,0x30,0x1e,0x24,0x60,0x80,0x0,0x0,0x8,0x8,0xf8,0x0,
-+0x0,0x40,0x30,0x10,0x1,0x82,0x64,0x29,0x11,0x11,0xe1,0x21,0x21,0x21,0x20,0x20,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x10,0x20,0x25,0x7e,0x4,0x9,0x11,0x7d,0x1,0x1,0xd,0x71,0x20,0x0,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,0x0,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,0x0,
-+0x0,0x40,0x30,0x10,0x1,0x2,0xf4,0x11,0x11,0x11,0x11,0x11,0x15,0x19,0x10,0x0,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,0x0,0x10,0x30,0xc0,0x0,0x4,0x4,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x3f,0x24,0x24,0x3f,0x2,0x7,0x18,0x64,0x2,0x1,0x6,0x78,0x40,0x44,0xfe,0x48,0xfc,0x48,0x48,0xf8,0x0,0xf8,0x8,0x10,0x60,0x80,0x0,0x0,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x54,0x54,0x55,0x7c,0x51,0x14,0x1c,0xe5,0x42,0x0,0x4,0xfe,0x24,0xfc,0x24,0xfc,0x20,0x48,0xf0,0x24,0xfc,0x20,0xa8,0x26,0xa2,0x40,
-+0x0,0x7f,0x44,0x44,0x44,0x7f,0x42,0x2,0x7,0x8,0x14,0x62,0x1,0x6,0x18,0xe0,0x4,0xfe,0x44,0x44,0x44,0xfc,0x4,0x0,0xf0,0x10,0x20,0xc0,0x0,0x0,0x0,0x0,
-+0x0,0x4f,0x29,0x29,0xf,0x8,0xe1,0x23,0x26,0x29,0x20,0x20,0x27,0x50,0x8f,0x0,0x4,0xfe,0x24,0x24,0xfc,0x84,0x0,0xf8,0x8,0x10,0xa0,0xc0,0x0,0x6,0xfc,0x0,
-+0x10,0x13,0x22,0x3e,0x42,0x83,0x7e,0x10,0x10,0x7d,0x13,0x10,0x14,0x18,0x11,0x6,0x4,0xfe,0x94,0x94,0x94,0xfc,0x44,0x80,0xfc,0x4,0x8,0x90,0x60,0x40,0x80,0x0,
-+0x22,0x3f,0x50,0x89,0x7f,0x44,0x44,0x7f,0x44,0xf,0x10,0x28,0x4,0x3,0xe,0x70,0x44,0x7e,0xa0,0x14,0xfe,0x44,0x44,0xfc,0x4,0xf0,0x10,0x20,0x40,0x80,0x0,0x0,
-+0x8,0xfd,0x9,0x49,0x49,0x49,0x48,0x48,0x7d,0x4,0x5,0x1c,0xe4,0x45,0x16,0x8,0x4,0xfe,0x24,0xfc,0x24,0xfc,0x20,0x48,0xf0,0x24,0xfc,0x20,0xa8,0x26,0xa2,0x40,
-+0x40,0x33,0x12,0x2,0xfb,0xa,0x12,0x33,0x58,0x97,0x18,0x11,0x12,0x1c,0x10,0x10,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,0x40,
-+0x8,0x8,0xff,0x9,0x41,0x23,0x24,0x80,0x49,0x12,0x2f,0xe2,0x22,0x22,0x23,0x22,0x20,0x24,0xfe,0x20,0xf8,0x10,0xa0,0x40,0xb0,0xe,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x41,0x31,0x13,0x84,0x60,0x20,0x9,0x12,0x27,0xea,0x22,0x22,0x22,0x23,0x22,0x0,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x10,0xe,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0xfc,0x8,0x49,0x4a,0x48,0x48,0x48,0x7d,0x7,0x5,0x1d,0xe5,0x45,0x15,0x9,0x80,0x80,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x20,0x21,0x4a,0xf8,0x10,0x20,0x41,0xfb,0x5,0x1,0x19,0xe1,0x41,0x1,0x80,0x80,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x13,0x10,0x11,0xfd,0x25,0x25,0x25,0x25,0x44,0x28,0x13,0x28,0x44,0x84,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x4,0x28,0x10,
-+0x2,0x1,0x7f,0x44,0x44,0x44,0x7f,0x44,0x4e,0x4d,0x54,0x54,0x65,0x44,0x84,0x4,0x0,0x8,0xfc,0x20,0x20,0x24,0xfe,0x20,0x70,0x68,0xae,0xa4,0x20,0x20,0x20,0x20,
-+0x0,0xb,0xfc,0x11,0x11,0x11,0x7d,0x11,0x11,0x10,0x1c,0xf3,0x40,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x4,0x14,0x8,
-+0x8,0xff,0x10,0x11,0x21,0x25,0x3f,0x65,0xa5,0x24,0x24,0x27,0x24,0x3c,0x24,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x4,0x14,0x8,
-+0x10,0x13,0x10,0x7d,0x55,0x55,0x55,0x55,0x55,0x7c,0x10,0x17,0x1c,0xe4,0x40,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0xfc,0x4,0x24,0xf4,0x4,0x4,0x14,0x8,
-+0x0,0x3f,0x0,0x8,0x8,0x8,0x8,0x8,0xf,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x4,0x24,0xf4,0x4,0x4,0x28,0x10,
-+0x7e,0x42,0x42,0x7e,0x0,0x3f,0x0,0x8,0x8,0x8,0xf,0x0,0x0,0xff,0x0,0x0,0xfc,0x84,0x84,0xfc,0x20,0xf0,0x20,0x20,0x20,0x24,0xfe,0x4,0x24,0xf4,0x14,0x8,
-+0x0,0x20,0xff,0xa9,0xa9,0xa9,0xaf,0xa9,0xab,0xab,0xad,0xe9,0x89,0x11,0x21,0x1,0x80,0x44,0xfe,0x10,0x10,0x14,0xfe,0x10,0x30,0xb8,0x56,0x54,0x90,0x10,0x10,0x10,
-+0x0,0xb,0x7c,0x49,0x49,0x49,0x49,0x49,0x49,0x48,0x48,0x7f,0x48,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x4,0x14,0x8,
-+0x20,0x27,0x24,0x24,0xff,0x24,0x24,0x24,0x27,0x20,0x38,0xe7,0x40,0x0,0x1f,0x0,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x0,0x7f,0x0,0x8,0x6,0x2,0x20,0x19,0x9,0xff,0x2,0x2,0x4,0x8,0x30,0xc0,0x0,0xfc,0x84,0x88,0x80,0x80,0x80,0x0,0x4,0xfe,0x0,0xc0,0x30,0x18,0xc,0x4,
-+0x1,0x1,0x7f,0x1,0x3f,0x1,0x1,0xff,0x4,0xf,0xa,0x11,0x20,0x43,0xc,0x30,0x0,0x8,0xfc,0x0,0xf8,0x0,0x4,0xfe,0x0,0xf0,0x20,0x40,0x80,0x40,0x30,0xe,
-+0x1,0x1,0x3f,0x1,0x1,0x7f,0x8,0x6,0x22,0x18,0x8,0xff,0x1,0x2,0xc,0x30,0x0,0x10,0xf8,0x0,0x0,0xfc,0x4,0x88,0x80,0x80,0x84,0xfe,0x40,0x30,0x18,0x8,
-+0x0,0x47,0x31,0x11,0x1,0x1,0xf1,0x11,0x11,0x11,0x12,0x14,0x10,0x28,0x47,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x50,0x20,0x6,0xfc,0x0,
-+0x8,0x7c,0x48,0x4b,0x48,0x78,0x4f,0x48,0x49,0x79,0x4a,0x4a,0x4c,0x48,0x49,0x98,0x80,0x40,0x0,0xc4,0x4c,0x50,0xe0,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,0x80,
-+0x1,0x79,0x4f,0x49,0x48,0x7f,0x48,0x48,0x4b,0x7a,0x4a,0x4b,0x4a,0x7a,0x4a,0x2,0x10,0x14,0xfe,0x10,0x4,0xfe,0x90,0x94,0xfe,0x94,0x94,0x6c,0x4,0x4,0x14,0x8,
-+0x23,0x22,0x23,0x3a,0x2b,0x48,0x57,0x84,0x27,0x20,0x23,0x21,0x28,0x30,0x21,0x6,0xfc,0x4,0xfc,0x4,0xfc,0x0,0xfe,0x92,0xfe,0x0,0xfc,0x8,0x90,0x60,0x9e,0x4,
-+0x2,0x1,0xff,0x4,0x14,0x24,0x45,0x1,0x1f,0x11,0x11,0x1f,0x1,0x1,0x7f,0x0,0x0,0x4,0xfe,0x40,0x50,0x4c,0x44,0x10,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,
-+0x41,0x31,0x1f,0x1,0x80,0x6f,0x21,0x1,0x1f,0x29,0xe9,0x2a,0x2c,0x28,0x28,0x28,0x20,0x24,0xfe,0x20,0x8,0xfc,0x20,0x24,0xfe,0x24,0x24,0xd4,0xc,0x4,0x14,0x8,
-+0x8,0xff,0x8,0x1f,0x11,0x1f,0x0,0x7f,0x44,0x7f,0x40,0x1f,0x4,0x3,0xc,0x70,0x24,0xfe,0x20,0xf0,0x10,0xf0,0x4,0xfe,0x44,0xfc,0x4,0xf0,0x40,0x80,0x60,0x1c,
-+0x1f,0x10,0x1f,0x10,0x1f,0x0,0x7f,0x44,0x44,0x7f,0x40,0x1f,0x4,0x3,0xc,0x70,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x44,0x44,0xfc,0x4,0xf0,0x40,0x80,0x60,0x1c,
-+0x13,0x12,0x13,0x5a,0x57,0x50,0x97,0x14,0x14,0x17,0x10,0x13,0x11,0x10,0x11,0x16,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0xa4,0xa4,0xfc,0x0,0xf8,0x10,0xe0,0x18,0x6,
-+0x47,0x34,0x17,0x4,0x87,0x60,0x2f,0x9,0x19,0x2f,0xe0,0x27,0x22,0x21,0x26,0x38,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x24,0x24,0xfc,0x0,0xf0,0x20,0xc0,0x30,0xe,
-+0x47,0x24,0x27,0x4,0x7,0xe0,0x2f,0x29,0x2f,0x28,0x23,0x22,0x29,0x30,0x23,0xc,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x24,0xfc,0x4,0xf0,0x10,0x20,0xc0,0x30,0xe,
-+0x8,0x8,0xff,0x8,0x8,0x2,0x1,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x1f,0x0,0x20,0x24,0xfe,0x20,0x20,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,
-+0x8,0x8,0xff,0x8,0x20,0x10,0x90,0x47,0x41,0x9,0x11,0xe1,0x21,0x21,0x21,0x20,0x20,0x24,0xfe,0x20,0x0,0x80,0x44,0xfe,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x2,0x1,0xff,0x10,0x10,0x10,0x1f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x20,0x13,0x12,0x2,0xfe,0x43,0x42,0x42,0x43,0x42,0x42,0x4a,0x7e,0x2,0x3,0x2,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x20,0x20,0x10,0x92,0xa,0x6,
-+0x10,0x10,0x10,0x10,0x5f,0x5a,0x52,0x92,0x12,0x12,0x12,0x12,0x12,0x13,0x10,0x10,0x80,0x60,0x20,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x5,0x2,0xff,0x4,0x8,0x34,0xc4,0x3f,0x4,0x4,0x8,0x30,0x40,0x44,0xfe,0x40,0x50,0x8,0xfe,0x40,0x30,0x4e,0x44,0xf8,0x40,0x40,0x40,0x40,
-+0x1,0x89,0x51,0x2f,0x51,0x91,0x17,0x14,0x34,0x54,0x97,0x14,0x14,0x14,0x57,0x24,0x10,0x10,0x14,0xfe,0x10,0x14,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x4,
-+0x4,0x4,0xff,0x4,0x1f,0x0,0x1,0x0,0xff,0x1,0x2,0x4,0x8,0x10,0x22,0x1,0x40,0x44,0xfe,0x40,0xf0,0x20,0x40,0x80,0xfe,0x82,0x84,0x80,0x80,0x80,0x80,0x0,
-+0x21,0x21,0x39,0x27,0x41,0x79,0xa7,0x24,0xfc,0x24,0x27,0x24,0x2c,0x34,0x27,0x4,0x10,0x10,0x14,0xfe,0x10,0x14,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x4,
-+0x0,0x0,0x3f,0x2,0x2,0x3,0x3e,0x2,0x3,0xfe,0x2,0x2,0x2,0x2,0x1,0x0,0x10,0x78,0x80,0x0,0x20,0xf0,0x0,0x8,0xfc,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x1f,0x0,0x2,0x1,0x0,0xff,0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x2,0x1,0x0,0xf0,0x20,0x40,0x80,0x80,0xfe,0x84,0x88,0x80,0x80,0x80,0x80,0x80,0x80,0x0,
-+0x21,0x26,0x3c,0x44,0x84,0x7c,0x24,0x24,0xfd,0x26,0x24,0x20,0x29,0x31,0x22,0x4,0x4,0x3e,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xb4,0xa8,0xa0,0x20,0x20,0x20,0x20,
-+0x4,0xe,0x30,0x22,0x22,0x22,0x22,0x22,0x22,0x2e,0x32,0x2,0x4,0x18,0x60,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x54,0x48,0x40,0x40,0x40,0x40,
-+0x8,0x8,0xff,0x8,0x9,0x1,0x3f,0x21,0x20,0x20,0x20,0x20,0x20,0x23,0x4c,0x80,0x40,0x44,0xfe,0x40,0x20,0x10,0xfc,0x0,0x88,0x88,0x50,0x60,0xa0,0x12,0xa,0x6,
-+0x0,0x7f,0x40,0x5f,0x40,0x5f,0x40,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x1f,0x10,0x4,0xfe,0x4,0xf4,0x4,0xf4,0x4,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x20,0x23,0x22,0xfa,0xaa,0xaa,0xa8,0xa9,0xa9,0xa9,0xa9,0xb9,0x21,0x21,0x21,0x21,0x4,0xfe,0x4,0xf4,0x4,0xf4,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0x8,0x35,0xd5,0x49,0x39,0x25,0xcd,0x15,0x65,0xc,0x14,0x64,0x4,0x29,0x12,0x40,0x84,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x54,0x50,0x50,0x92,0x92,0xe,0x0,
-+0x6,0x78,0x40,0x48,0x4e,0x72,0xc1,0x1f,0x10,0x11,0x11,0x11,0x11,0x2,0xc,0x70,0x4,0xfe,0x44,0x44,0x54,0x88,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xc0,0x38,0x8,
-+0x1,0x1,0x2,0x2,0x4,0x8,0x10,0x21,0x41,0x2,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x80,0x0,0x0,0x0,0x20,0x10,0x8,0xfc,0x4,0x0,
-+0x0,0x8,0xfc,0x10,0x10,0x11,0x12,0x7c,0x10,0x10,0x10,0x10,0x1c,0xe0,0x41,0x6,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x10,0x10,0xfc,0x11,0x32,0x38,0x54,0x50,0x90,0x10,0x10,0x10,0x11,0x16,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x12,0x12,0x13,0x14,0xff,0x12,0x32,0x3a,0x57,0x52,0x94,0x14,0x17,0x10,0x10,0x10,0x0,0x8,0xfc,0x0,0xf8,0x8,0x88,0x48,0xfe,0x8,0x88,0x48,0xfc,0x8,0x28,0x10,
-+0x2,0xff,0x28,0x2a,0xff,0xaa,0xaa,0xae,0xc2,0x83,0x82,0xfe,0x82,0x82,0xfe,0x82,0x40,0x44,0x7e,0x80,0x4,0x7e,0x44,0x64,0x54,0xfe,0x84,0xa4,0x94,0xfc,0x4,0x18,
-+0x1f,0x1,0x7f,0x49,0x85,0x9,0x10,0x1f,0x20,0x5f,0x12,0xff,0x20,0x3f,0x0,0x0,0xf0,0x0,0xfe,0x22,0x44,0x20,0x0,0xf8,0x0,0xf0,0x14,0xfe,0x90,0xf8,0x10,0x30,
-+0x11,0x11,0x11,0x17,0x55,0x59,0x51,0x91,0x10,0x1f,0x10,0x10,0x29,0x46,0x84,0x0,0x10,0x10,0x14,0xfe,0x10,0xf0,0x10,0xf0,0x44,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x40,0x31,0x11,0x1,0x81,0x62,0x24,0x3,0x12,0x21,0xe1,0x20,0x20,0x20,0x23,0x2c,0x10,0xf8,0x10,0x10,0x10,0xe,0x0,0xf8,0x8,0x10,0x10,0xa0,0x40,0xa0,0x1e,0x8,
-+0x0,0x3f,0x21,0x21,0x3f,0x20,0x2f,0x28,0x28,0x2f,0x28,0x2f,0x28,0x48,0x8f,0x8,0x8,0xfc,0x8,0x8,0xf8,0x8,0xfc,0x8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x21,0x21,0x21,0x27,0xf9,0x49,0x49,0x49,0x48,0x8f,0x50,0x20,0x51,0x4a,0x84,0x0,0x10,0x10,0x10,0xfc,0x10,0xf0,0x10,0xf0,0x44,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x21,0x20,0x3f,0x20,0x43,0x78,0xa0,0x27,0xf8,0x20,0x2f,0x20,0x28,0x31,0x22,0xc,0x10,0xa0,0xfc,0x40,0xf8,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x10,0x10,0x1f,0x20,0x5f,0x12,0x11,0x10,0xff,0x12,0x21,0x20,0x3f,0x0,0x0,0x0,0x0,0x8,0xfc,0x10,0xf8,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0xf8,0x20,0xa0,0x40,
-+0x8,0x6,0x2,0x7f,0x1,0x3f,0x1,0xff,0x1,0x1,0x7f,0x1,0x2,0x4,0x18,0xe0,0x20,0x60,0x88,0xfc,0x0,0xf8,0x0,0xfe,0x0,0x8,0xfc,0x0,0x80,0x60,0x1e,0x4,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x48,0x7f,0x48,0x48,0x48,0x49,0x7a,0x44,0x8,0x0,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0xe0,0xd0,0x48,0x4e,0x44,0x40,0x40,
-+0x2,0x1,0x7f,0x40,0xa4,0x24,0x25,0x3c,0x4,0xff,0x24,0x24,0x24,0x25,0x46,0x4,0x0,0x0,0xfe,0x2,0x24,0x20,0xfc,0x20,0x24,0xfe,0x20,0x70,0xa8,0x2e,0x24,0x20,
-+0x20,0x20,0x20,0x23,0xf8,0x48,0x48,0x4f,0x48,0x88,0x50,0x21,0x52,0x4c,0x88,0x0,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0xe0,0xd0,0x48,0x4e,0x44,0x40,0x40,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x46,0x84,0x0,0x4,0xfe,0x24,0x24,0xfc,0x0,0x7c,0x44,0x44,0x7c,0x44,0x7c,0x44,0x44,0x7c,0x44,
-+0x20,0x1b,0x48,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x20,0x1b,0x48,0x42,0x41,0x44,0x54,0x54,0x64,0x44,0x44,0x43,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x4,0x84,0x94,0xc,0xc,0x24,0x24,0xe4,0x4,0x4,0x14,0x8,
-+0x10,0x12,0x11,0x24,0x24,0x64,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x0,0x4,0x7e,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x8,0x8,0xff,0x8,0x7c,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x7d,0x41,0x2,0xc,0x20,0x24,0xfe,0x28,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0x8,0x8,0x28,0x10,
-+0x4,0x7f,0x4,0x7f,0x40,0x8f,0x0,0x7f,0x6,0x3b,0x5,0x1a,0x64,0x18,0x62,0x1,0x48,0xfc,0x40,0xfe,0x2,0xe4,0x0,0xfc,0x10,0x30,0xc0,0xa0,0x90,0x8e,0x84,0x0,
-+0x10,0x10,0x17,0x10,0xff,0x14,0x39,0x34,0x53,0x50,0x97,0x10,0x13,0x10,0x17,0x10,0x90,0x94,0xfe,0x90,0xfe,0x2,0xf4,0x0,0xfc,0xc0,0x68,0xb0,0x68,0xae,0x24,0x60,
-+0x3e,0x22,0x22,0x3e,0x22,0x22,0x3e,0x21,0x2,0x4,0x3f,0x24,0x24,0x24,0xff,0x0,0xf8,0x88,0x88,0xf8,0x88,0x88,0xf8,0x8,0x28,0x10,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x20,0x23,0x38,0x40,0x80,0x7b,0x20,0x21,0xf8,0x23,0x22,0x22,0x2a,0x32,0x2f,0x0,0x0,0xf8,0x10,0x60,0x48,0xfc,0x40,0x40,0x88,0xfc,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x0,0x8b,0x50,0x20,0x50,0x97,0x10,0x11,0x30,0x53,0x92,0x12,0x12,0x12,0xaf,0x40,0x0,0xf8,0x10,0x60,0x48,0xfc,0x40,0x40,0x88,0xfc,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x8,0x8,0xff,0x8,0x1c,0x2a,0x49,0x8c,0x7,0xc,0x14,0x22,0x1,0x1,0xe,0x70,0x20,0x24,0xfe,0x20,0x70,0xae,0x24,0x20,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x1f,0x0,0x0,0x1,0xff,0x1,0x5,0x2,0x3f,0x24,0x24,0x24,0x24,0xff,0x0,0x0,0xf0,0x20,0xc0,0x4,0xfe,0x0,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x8,0x7c,0x4a,0x49,0x49,0x78,0x4f,0x48,0x78,0x48,0x49,0x49,0x7a,0x44,0x0,0x0,0x40,0x40,0x44,0x4c,0x50,0x44,0xfe,0x40,0xe0,0xe0,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x2,0xff,0x28,0x29,0xfe,0xaa,0xaa,0xaf,0xc2,0x82,0x82,0xfe,0x82,0x82,0xff,0x82,0x10,0x10,0x52,0x34,0xb8,0x10,0x7e,0x90,0xb0,0xb8,0xd6,0x92,0x90,0x90,0x46,0x3c,
-+0x1,0x0,0x7f,0x44,0x5f,0x4e,0x55,0x64,0x41,0x5f,0x41,0x4f,0x41,0x5f,0x81,0x1,0x0,0x84,0xfe,0x10,0x7c,0x38,0x54,0x92,0x40,0x7c,0x40,0x78,0x40,0x7c,0x40,0x40,
-+0x1,0x0,0x7f,0x44,0x5f,0x4e,0x55,0x64,0x44,0x42,0x7f,0x41,0x42,0x4c,0xb0,0x0,0x0,0x84,0xfe,0x10,0x7c,0x38,0x54,0x92,0x90,0xa4,0xfe,0xc0,0xb0,0x8e,0x84,0x80,
-+0x0,0x40,0x32,0x11,0x0,0x0,0xf7,0x10,0x11,0x11,0x12,0x14,0x10,0x28,0x44,0x83,0x40,0x40,0x48,0x50,0x40,0x44,0xfe,0x40,0x60,0x50,0x48,0x48,0x40,0x40,0x6,0xfc,
-+0x0,0x40,0x29,0x24,0x4,0x0,0xe3,0x2c,0x24,0x24,0x24,0x2d,0x34,0x24,0xa,0x11,0x20,0x20,0x24,0xa8,0x20,0x24,0xfe,0x20,0x70,0x68,0xa4,0x24,0x20,0x20,0x6,0xfc,
-+0x8,0xfc,0x8,0x8,0x9,0x79,0x4a,0x40,0x48,0x7c,0x9,0xa,0x8,0x8,0x50,0x20,0x80,0x80,0x80,0xfe,0x2,0x4,0x20,0x20,0xa8,0xa4,0x26,0x22,0x20,0x20,0xa0,0x40,
-+0x1,0x21,0x19,0xd,0x5,0x1,0xff,0x3,0x3,0x5,0x9,0x11,0x21,0xc1,0x1,0x1,0x0,0x8,0x18,0x20,0x40,0x4,0xfe,0x0,0x80,0x40,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x8,0x1c,0xf0,0x10,0x11,0xfd,0x11,0x39,0x35,0x55,0x55,0x99,0x13,0x15,0x18,0x10,0x0,0x80,0x60,0x2c,0x8,0x10,0x10,0x20,0x28,0x44,0x86,0x2,0x8,0x8,0xf8,0x0,
-+0x0,0x7f,0x11,0x9,0x0,0x1f,0x10,0x11,0x11,0x11,0x11,0x12,0x2,0x4,0x18,0x60,0xfc,0x0,0x10,0x20,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x90,0x80,0x82,0x82,0x7e,
-+0x40,0x30,0x10,0x0,0x81,0x61,0x21,0x9,0x15,0x25,0xe5,0x29,0x23,0x25,0x28,0x20,0x0,0x80,0x60,0x2c,0x8,0x10,0x10,0x20,0x28,0x44,0x86,0x2,0x8,0x8,0xf8,0x0,
-+0x2,0x1,0x7f,0x42,0x89,0x28,0x4b,0xc,0x77,0x1,0x3f,0x21,0x3f,0x1,0x7f,0x20,0x0,0x0,0xfe,0x2,0x24,0xc8,0x4,0x10,0xf0,0x0,0xf8,0x8,0xf8,0x4,0xfc,0x4,
-+0x2,0x1,0x7f,0x42,0x89,0x28,0x4b,0xc,0x77,0x1,0x21,0x21,0x21,0x21,0x3f,0x20,0x0,0x0,0xfe,0x2,0x24,0xc8,0x4,0x10,0xf0,0x0,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x7f,0x40,0x9f,0x10,0x1f,0x10,0x1f,0x0,0xff,0x9,0x1f,0x29,0xc9,0x9,0x1,0x0,0xfe,0x2,0xf4,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x20,0xf0,0x2e,0x24,0x60,0x0,
-+0x10,0x10,0x13,0x12,0xff,0x12,0x33,0x38,0x57,0x54,0x94,0x14,0x14,0x14,0x10,0x10,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x44,0xfe,0x44,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x0,0x7b,0x4a,0x4a,0x4a,0x7b,0x4a,0x4a,0x4b,0x7a,0x4a,0x4a,0x4a,0x7a,0x4b,0x2,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x20,0x20,0x10,0x92,0xa,0x6,
-+0x10,0x10,0x23,0x22,0x4b,0xfa,0x13,0x20,0x47,0xfc,0x4,0x4,0x1c,0xe4,0x40,0x0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x44,0xfe,0x44,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x7f,0x40,0x5f,0x40,0x5f,0x8,0xf,0x10,0x1f,0x31,0x51,0x9f,0x12,0x4,0x18,0x60,0xfc,0x4,0xf4,0x4,0xf4,0x0,0xe0,0x48,0xfc,0x8,0x8,0xf8,0x88,0x82,0x82,0x7e,
-+0x8,0x8,0x1f,0x10,0x20,0x7f,0xa1,0x21,0x21,0x3f,0x22,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0xe0,0x40,0x88,0xfc,0x8,0x8,0x8,0xf8,0x88,0x80,0x80,0x82,0x82,0x7e,
-+0x10,0x10,0x3e,0x24,0x48,0xff,0x49,0x49,0x7f,0x55,0x14,0x24,0x25,0x44,0x83,0x0,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x44,0x44,0x94,0xa,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0xfe,0x25,0x25,0x25,0x25,0x45,0x28,0x10,0x28,0x45,0x82,0x4,0x80,0x80,0xf8,0x10,0x24,0xfe,0x24,0x24,0xfc,0x54,0x50,0x90,0x92,0x12,0xe,0x0,
-+0x10,0x17,0x20,0x20,0x4b,0xfa,0x12,0x22,0x42,0xfa,0x2,0x2,0x1a,0xe2,0x43,0x2,0x4,0xfe,0x40,0x84,0xfe,0x94,0x94,0xf4,0x94,0x94,0xf4,0x94,0x94,0x94,0xfc,0x4,
-+0x0,0xff,0x2,0x4,0x7f,0x44,0x44,0x47,0x44,0x44,0x44,0x47,0x44,0x44,0x7f,0x40,0x4,0xfe,0x0,0x4,0xfe,0x44,0x44,0xc4,0x44,0x44,0x44,0xc4,0x44,0x44,0xfc,0x4,
-+0x4,0x4,0xff,0x4,0x4,0x0,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x20,0x40,0x44,0xfe,0x40,0x40,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x21,0x21,0x21,0x2f,0xf9,0x21,0x27,0x2c,0x34,0xe4,0x27,0x24,0x24,0x24,0xa7,0x44,0x10,0x10,0x14,0xfe,0x10,0x14,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x4,
-+0x9,0x7d,0x49,0x4f,0x49,0x79,0x4b,0x4a,0x4a,0x7a,0x4b,0x4a,0x4a,0x7a,0x4b,0x2,0x10,0x10,0x14,0xfe,0x10,0x14,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x4,
-+0x8,0xff,0xa,0xc,0x12,0x6b,0x2d,0x31,0xc9,0x15,0x24,0xcc,0x14,0xe4,0x29,0x12,0x24,0xfe,0x20,0x20,0x44,0xfe,0x4,0xfc,0x4,0xfc,0x90,0x90,0x92,0x92,0xe,0x0,
-+0x4,0xe,0x78,0x8,0x8,0xfe,0x8,0x1d,0x1a,0x28,0x28,0x48,0x88,0x8,0x8,0xb,0x20,0x20,0x20,0x20,0xa8,0xa6,0xa2,0x20,0x24,0x24,0x28,0x10,0x20,0x40,0x80,0x0,
-+0x80,0x61,0x2f,0x9,0x9,0x8f,0x69,0x29,0x9,0x1f,0x29,0xc9,0x4f,0x48,0x41,0x46,0x10,0x10,0x90,0x10,0x10,0x54,0x52,0x52,0x90,0x14,0x14,0x8,0x10,0x60,0x80,0x0,
-+0x1,0x0,0x3f,0x20,0x20,0x20,0x2f,0x28,0x28,0x28,0x2f,0x28,0x48,0x48,0x8f,0x8,0x0,0x84,0xfe,0x0,0x80,0x88,0xfc,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0xfc,0x24,0x24,0x25,0x24,0x44,0x28,0x10,0x28,0x44,0x80,0x3,0x20,0x20,0x20,0x20,0xa8,0xa6,0xa2,0x20,0x24,0x24,0x28,0x10,0x20,0x40,0x80,0x0,
-+0x4,0xff,0x4,0x3f,0x24,0x24,0x3f,0x1,0x3f,0x21,0x21,0x28,0x24,0x40,0x41,0x8e,0x44,0xfe,0x40,0xf8,0x48,0x48,0xf8,0x20,0xfc,0x0,0x8,0x90,0xa0,0x42,0xa2,0x1e,
-+0x0,0xff,0x1,0x1,0x11,0x11,0x11,0x21,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0x4,0xfe,0x0,0x0,0x8,0x18,0x20,0x40,0x80,0x80,0x40,0x20,0x10,0xe,0x4,0x0,
-+0x0,0x7f,0x40,0x40,0x40,0x7f,0x42,0x42,0x7f,0x42,0x41,0x41,0x48,0x50,0x60,0x40,0x10,0xf8,0x10,0x10,0x10,0xf0,0x0,0x8,0xfc,0x0,0x0,0x0,0x80,0x42,0x32,0xe,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x16,0x1a,0x33,0xd2,0x12,0x12,0x12,0x12,0x53,0x22,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x20,0x20,0x10,0x92,0xa,0x6,
-+0x0,0x0,0x3f,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xff,0x0,0x0,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xfe,0x0,0x0,
-+0x10,0x11,0x3f,0x20,0x7f,0xa9,0x25,0x21,0xff,0x29,0x45,0x41,0x7f,0x1,0xa,0x4,0x20,0x20,0xa0,0x24,0x7e,0x84,0x44,0x44,0xc8,0x28,0x28,0x10,0xa8,0x28,0x46,0x84,
-+0x12,0x11,0x10,0x12,0x5a,0x57,0x52,0x92,0x12,0x12,0x12,0x13,0x12,0x12,0x12,0x12,0x4,0x7e,0x4,0x44,0x24,0xfc,0x94,0x54,0x54,0x24,0x54,0x8c,0x4,0x4,0x14,0x8,
-+0x20,0x1b,0x48,0x41,0x41,0x4f,0x49,0x49,0x49,0x4f,0x49,0x41,0x41,0x5f,0x40,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x4,0x24,0xf4,0x14,0x14,0x8,
-+0x0,0x4,0x7e,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,0x1,0x1,0x2,0x4,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0xfc,0x84,0x84,0x4,0x4,0x14,0x8,
-+0x10,0x13,0x12,0x14,0x7d,0x55,0x55,0x55,0x7d,0x54,0x10,0x17,0x1c,0xe4,0x41,0x2,0x0,0xfe,0x2,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x40,0x24,0xfe,0x0,0x88,0x6,0x2,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x78,0x48,0x7,0x0,0x0,0x0,0x40,0x88,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x1e,0x20,0x21,0x7e,0x90,0x10,0x7c,0x11,0x12,0x10,0x14,0x18,0x10,0x0,0x40,0x40,0xfc,0x84,0x88,0x50,0x20,0x40,0x84,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x2,0x2,0x7,0x4,0xc,0x12,0x1,0x6,0x18,0xef,0x8,0x8,0x8,0x8,0xf,0x8,0x0,0x0,0xf0,0x10,0x20,0x40,0x80,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x1,0x2,0x4,0x8,0x3f,0xc0,0x3e,0x22,0x22,0x22,0x22,0x3e,0x22,0x0,0x0,0x0,0x0,0x80,0x40,0x30,0xfe,0x8,0xfc,0x88,0x88,0x88,0xc8,0xa8,0x90,0x80,0x80,
-+0x0,0x4f,0x24,0x22,0x4,0xe0,0x21,0x22,0x2c,0x21,0x22,0x20,0x2b,0x30,0x20,0x3,0x84,0xfe,0xa4,0x94,0xa4,0xc4,0x20,0x50,0x8e,0x24,0x40,0x90,0x20,0x40,0x80,0x0,
-+0x11,0x11,0x1f,0x11,0xfd,0x13,0x16,0x1b,0x32,0xd3,0x10,0x1f,0x10,0x10,0x51,0x26,0x10,0x14,0xfe,0x10,0x18,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0xa0,0x1c,0x8,
-+0x8,0xff,0x8,0x3f,0x21,0x3f,0x2,0xff,0x4,0x1f,0x21,0xdf,0x1,0x3f,0x1,0x3,0x24,0xfe,0x20,0xf8,0x8,0xf8,0x0,0xfe,0x40,0xf0,0x8,0xf6,0x0,0xf8,0x0,0x0,
-+0x8,0xff,0x9,0x7f,0x44,0x7f,0x4c,0x56,0x65,0x7f,0x42,0x44,0x4f,0x74,0x84,0x7,0x24,0xfe,0x20,0xfc,0x20,0xfc,0x70,0xae,0x24,0xfc,0x0,0x8,0xfc,0x8,0x8,0xf8,
-+0x11,0x11,0x1f,0x11,0xfd,0x13,0x32,0x3b,0x56,0x53,0x90,0x1f,0x10,0x10,0x11,0x16,0x10,0x14,0xfe,0x10,0x18,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0xb0,0xe,0x4,
-+0x1,0x79,0x4f,0x49,0x49,0x7b,0x4a,0x4b,0x4a,0x7b,0x48,0x4f,0x48,0x48,0x49,0x9e,0x10,0x14,0xfe,0x10,0x18,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0xb0,0xe,0x4,
-+0x1,0x7f,0x44,0x44,0x7f,0x4e,0x55,0x64,0x7f,0x42,0x44,0x4f,0x54,0x64,0x87,0x4,0x4,0xfe,0x20,0x24,0xfe,0x70,0xa8,0x24,0xfe,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,
-+0x1,0x7f,0x44,0x44,0x7f,0x4e,0x55,0x64,0x5f,0x41,0x4f,0x41,0x7f,0x41,0x85,0x2,0x8,0xfc,0x20,0x20,0xfc,0x70,0xae,0x24,0xf0,0x0,0xf0,0x0,0xfc,0x0,0x0,0x0,
-+0x0,0x3f,0x22,0x3f,0x26,0x2b,0x32,0x2f,0x28,0x2f,0x28,0x2f,0x49,0x42,0x8c,0x30,0x84,0xfe,0x20,0xfc,0x30,0x6e,0xa4,0xf8,0x88,0xf8,0x88,0xf8,0x40,0x52,0x42,0x3e,
-+0x10,0x10,0x10,0x17,0xfc,0x10,0x13,0x1c,0x30,0xd0,0x11,0x12,0x14,0x10,0x50,0x20,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0xe0,0xd0,0x48,0x4e,0x44,0x40,0x40,0x40,
-+0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x7f,0x3,0x3,0x5,0x9,0x11,0x61,0x1,0x1,0x0,0x0,0x4,0xfe,0x0,0x0,0x8,0xfc,0x80,0x40,0x20,0x18,0xe,0x4,0x0,0x0,
-+0x4,0x4,0x7f,0x4,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x1,0x2,0xc,0x70,0x40,0x48,0xfc,0x40,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x80,0x60,0x1c,
-+0x0,0x3f,0x29,0x25,0x3f,0x1,0x3f,0x1,0x7f,0x24,0x42,0x81,0x3f,0x1,0x1,0x7f,0x8,0xfc,0x28,0x48,0xf8,0x0,0xf8,0x0,0xfc,0x48,0x26,0x12,0xf8,0x0,0x8,0xfc,
-+0x1,0x7f,0x49,0x6b,0x5d,0x7f,0x8,0x7f,0x8,0xf,0x78,0x5,0x55,0x54,0x91,0x2,0x20,0xb0,0x28,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x40,0x30,0x1f,0x80,0x60,0x27,0x8,0x10,0x20,0xe1,0x22,0x24,0x20,0x20,0x20,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0xe0,0xd0,0x48,0x4e,0x44,0x40,0x40,0x40,
-+0x1,0x41,0x2f,0x11,0x81,0x63,0x22,0xb,0x12,0x23,0xe0,0x3f,0x20,0x20,0x23,0x2c,0x10,0x14,0xfe,0x10,0x18,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0xb0,0xe,0x4,
-+0x1,0x7f,0x44,0x84,0x3f,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x2,0xc,0x30,0x0,0xfe,0x42,0x54,0xf8,0x40,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x80,0x60,0x1c,
-+0x0,0x7f,0x44,0x48,0x48,0x51,0x49,0x49,0x45,0x45,0x45,0x69,0x51,0x41,0x41,0x41,0x4,0xfe,0x20,0x20,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0x42,0x3f,0x12,0x3,0x2,0xf2,0x13,0x10,0x1f,0x10,0x10,0x15,0x1a,0x14,0x0,0x8,0x8,0xfe,0x8,0xf8,0x8,0x8,0xf8,0x44,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x1,0x2,0x4,0x8,0x3f,0x1,0x11,0x1f,0x21,0x41,0x1,0xff,0x1,0x1,0x1,0x1,0x0,0x0,0x20,0x10,0xf8,0x8,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x8,0x8,0x7f,0x8,0xf,0x8,0x8,0xf,0x1,0xff,0x1,0x3,0x5,0x19,0x61,0x1,0x20,0x28,0xfc,0x20,0xe0,0x20,0x20,0xe0,0x4,0xfe,0x0,0x80,0x60,0x1c,0x8,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x12,0x12,0x1f,0x34,0xd4,0x14,0x14,0x17,0x10,0x50,0x20,0x8,0xfc,0x8,0x88,0x48,0x8,0x8,0xfe,0x8,0x88,0x48,0x8,0xfc,0x8,0x50,0x20,
-+0x8,0x8,0x48,0x4a,0x7f,0x48,0x89,0x8,0x8,0xe,0x18,0xe8,0x8,0x8,0xb,0x8,0x20,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x2,0x1,0xff,0x0,0x0,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x21,0x3f,0x20,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0xfc,0x24,0x24,0x27,0x25,0x45,0x29,0x11,0x29,0x44,0x84,0x0,0x4,0xfe,0x84,0xa4,0x94,0x84,0x84,0xfe,0x4,0x24,0x14,0x4,0xfe,0x4,0x28,0x10,
-+0x0,0x1f,0x10,0x12,0x11,0x10,0x10,0xff,0x20,0x22,0x21,0x20,0x3f,0x0,0x0,0x0,0x10,0xf8,0x10,0x10,0x90,0x90,0x14,0xfe,0x10,0x10,0x90,0x90,0xf8,0x10,0xa0,0x40,
-+0x4,0x7f,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x2,0xff,0x4,0x9,0x37,0xc1,0x1,0x1f,0x48,0xfc,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x40,0x30,0xce,0x4,0x20,0xf0,
-+0x4,0x7f,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x4,0xff,0x8,0x1f,0x28,0xcf,0x8,0xf,0x48,0xfc,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x20,0xf0,0x28,0xe6,0x20,0xe0,
-+0x4,0x7f,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x4,0xff,0x11,0x3f,0xd1,0x11,0x11,0x1,0x48,0xfc,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x10,0xfe,0x14,0x50,0x20,0x0,
-+0x4,0x7f,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x4,0xff,0x12,0x22,0xdf,0x4,0x8,0x30,0x48,0xfc,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x10,0xe,0xe4,0x20,0xa0,0x40,
-+0x4,0x7f,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x4,0xff,0x12,0x22,0xcb,0x12,0x22,0x6,0x48,0xfc,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x10,0xe,0x24,0x90,0x90,0x0,
-+0x1,0x1,0x1,0x1,0xff,0x1,0x3,0x3,0x5,0x9,0x11,0x21,0xc1,0x1,0x1,0x1,0x0,0x0,0x0,0x4,0xfe,0x0,0x80,0x40,0x20,0x10,0x8,0xe,0x4,0x0,0x0,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,0x0,
-+0x8,0x7c,0x4b,0x48,0x48,0x78,0x4f,0x49,0x4a,0x7c,0x4b,0x48,0x48,0x78,0x4f,0x0,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x10,0x4c,0x44,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x8,0x8,0x48,0x48,0x7e,0x49,0x8a,0x8,0xe,0x18,0xe8,0x8,0x8,0x8,0x9,0xe,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0x1c,0xf3,0x12,0x13,0xfe,0x33,0x39,0x52,0x54,0x53,0x90,0x13,0x10,0x10,0x17,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x50,0x64,0x42,0x90,0x20,0xc8,0x10,0x60,0x80,
-+0x1,0x2,0xc,0x37,0xc0,0x1f,0x10,0x1f,0x0,0x3f,0x1,0x1f,0x1,0x7f,0x1,0x3,0x0,0x80,0x60,0xde,0x4,0xf0,0x10,0xf0,0x30,0xc0,0x0,0xf0,0x0,0xfc,0x0,0x0,
-+0x0,0xf,0x72,0x52,0x5f,0x52,0x52,0x52,0x5f,0x52,0x52,0x74,0x54,0x9,0x10,0x0,0x0,0xde,0x52,0x54,0xd4,0x54,0x58,0x54,0xd2,0x52,0x52,0x52,0x5a,0x54,0x90,0x10,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4b,0x4a,0x7a,0x4a,0x2,0x2,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xa4,0x94,0x14,0x4,0x4,0x4,0x14,0x8,
-+0x20,0x20,0x38,0x23,0x42,0x7a,0xa2,0x22,0xfa,0x22,0x23,0x22,0x2a,0x32,0x22,0x2,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xa4,0x94,0x14,0x4,0x4,0x4,0x14,0x8,
-+0x0,0x7f,0x9,0x9,0x7f,0x9,0x9,0x9,0x7f,0x9,0x9,0x11,0x11,0x25,0x42,0x0,0x4,0x7e,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x20,0x27,0x22,0x22,0xfa,0x4f,0x4a,0x4a,0x8a,0x57,0x22,0x52,0x4d,0x84,0x8,0x0,0x0,0xde,0x52,0x52,0x54,0xd4,0x58,0x54,0x54,0xd2,0x52,0x5a,0x54,0x90,0x10,0x10,
-+0x10,0x10,0x20,0x23,0x4a,0xfa,0x12,0x22,0x42,0xfa,0x3,0x2,0x1a,0xe2,0x42,0x2,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xa4,0x94,0x14,0x4,0x4,0x4,0x14,0x8,
-+0x10,0x1f,0x10,0x2f,0x40,0x9f,0x0,0x7f,0x8,0x8,0x9,0x8,0x10,0x10,0x21,0x40,0x8,0xfc,0x0,0xf8,0x0,0xf8,0x88,0xc8,0x88,0x88,0xe8,0x28,0x2a,0x2a,0x4a,0x84,
-+0x0,0x7f,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0x10,0x20,0x40,0x80,0x0,0x10,0xf8,0x10,0x10,0x20,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x17,0x10,0x10,0xfc,0x24,0x24,0x24,0x24,0x49,0x29,0x11,0x2a,0x4a,0x84,0x8,0x8,0xfc,0x88,0x88,0x88,0x90,0x94,0xbe,0x84,0x4,0x4,0x4,0x4,0x4,0x28,0x10,
-+0x1,0xff,0x8,0x8,0x10,0x7f,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x43,0x0,0x8,0x88,0x8,0x8,0xfe,0x8,0x8,0x88,0x68,0x28,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x1,0x1,0x7f,0x2,0x4,0x8,0x10,0xef,0x0,0x0,0x3f,0x1,0x9,0x11,0x65,0x2,0x0,0x8,0xfc,0x80,0x40,0x30,0x4e,0xe4,0x0,0x10,0xf8,0x0,0x20,0x18,0x8,0x0,
-+0x1,0x1,0xff,0x1,0x1,0x7f,0x48,0x44,0x5f,0x41,0x41,0x5f,0x41,0x41,0x41,0x40,0x0,0x4,0xfe,0x0,0x4,0xfe,0x24,0x44,0xf4,0x4,0x4,0xf4,0x4,0x4,0x14,0x8,
-+0x0,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x1,0xff,0x2,0x2,0x4,0x18,0x60,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0x4,0x28,0x10,
-+0x0,0x4,0xfe,0x4,0x44,0x45,0x2a,0x28,0x10,0x10,0x28,0x24,0x44,0x80,0x0,0x0,0x60,0x50,0x44,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x1,0x3f,0x9,0x7f,0x52,0x9e,0x4,0x7f,0x4,0x3f,0x4,0x7f,0xc,0x14,0x65,0x6,0x10,0xf8,0x20,0xfe,0x92,0xf4,0x40,0xfc,0x40,0xf8,0x40,0xfc,0x90,0x60,0x1c,0x8,
-+0x10,0x10,0x10,0x17,0xfc,0x10,0x10,0x1f,0x30,0xd7,0x11,0x11,0x11,0x11,0x52,0x2c,0x80,0x88,0xfc,0x80,0x48,0x32,0xd2,0xe,0x8,0xfc,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x8,0x7c,0x48,0x4f,0x48,0x7a,0x4b,0x4a,0x4a,0x7a,0x4a,0x4b,0x4a,0x4a,0x4b,0x9a,0x80,0x40,0x4,0xfe,0x0,0x14,0x14,0xa4,0xa4,0x44,0xa4,0x1c,0xc,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x17,0x58,0x52,0x53,0x92,0x12,0x12,0x12,0x13,0x12,0x12,0x13,0x12,0x80,0x40,0x4,0xfe,0x0,0x14,0x14,0xa4,0xa4,0x44,0xa4,0x1c,0xc,0x4,0xfc,0x4,
-+0x40,0x37,0x10,0x42,0x41,0x5f,0x41,0x41,0x4f,0x49,0x49,0x49,0x49,0x41,0x41,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x4,0x24,0xf4,0x24,0x24,0x24,0x64,0x4,0x14,0x8,
-+0x40,0x30,0x10,0x0,0x87,0x64,0x27,0xc,0x17,0x20,0xe0,0x3f,0x20,0x20,0x20,0x20,0x88,0xfc,0x80,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x0,0xb,0x7e,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x7c,0x44,0x8,0x10,0x20,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x88,0x98,0xa0,0xc0,0x80,0x82,0x82,0x7e,0x0,
-+0x20,0x27,0x20,0x3a,0x49,0x51,0x80,0x20,0x2f,0x21,0x22,0x21,0x28,0x30,0x21,0x6,0x1c,0xe0,0x0,0x44,0x24,0x28,0x80,0x84,0xfe,0x8,0x8,0x10,0xa0,0xe0,0x18,0x8,
-+0x1,0x1,0x1,0x1,0x7f,0x41,0x41,0x42,0x42,0x44,0x48,0x50,0x40,0x40,0x40,0x40,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x84,0x64,0x34,0x14,0x4,0x4,0x14,0x8,
-+0x21,0x21,0x2f,0x21,0xf1,0x57,0x55,0x55,0x55,0x97,0x53,0x23,0x55,0x49,0x81,0x1,0x10,0x50,0xf4,0x1e,0x24,0xd4,0x54,0x54,0x54,0xd4,0x14,0x88,0x54,0x14,0x24,0x42,
-+0x10,0x10,0x24,0x44,0xfe,0x2,0x7c,0x44,0x7c,0x44,0x44,0x7c,0x44,0x44,0x54,0x48,0x80,0x88,0x98,0xa0,0xc0,0x84,0x84,0x7c,0x0,0x88,0x98,0xa0,0xc0,0x82,0x82,0x7e,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x49,0x29,0x12,0x2a,0x46,0x84,0x8,0x4,0xfe,0x4,0x4,0x4,0xfc,0x0,0x40,0x44,0x4c,0x50,0x60,0x42,0x42,0x3e,0x0,
-+0x1f,0x1,0x7f,0x49,0x85,0x9,0x2,0x3c,0x20,0x3e,0x20,0x3f,0x24,0x4,0x18,0x60,0xf0,0x0,0xfe,0x22,0x44,0x20,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x48,0x42,0x42,0x3e,
-+0x8,0x8,0xb,0x12,0x12,0x33,0x52,0x92,0x13,0x12,0x10,0x10,0x11,0x11,0x12,0x14,0x40,0x84,0x3e,0x4,0x4,0xbc,0x4,0x4,0xfc,0x94,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x40,0x37,0x14,0x4,0x84,0x67,0x25,0xd,0x15,0x25,0xe5,0x25,0x25,0x29,0x28,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x8,0x18,0x20,0x40,0x80,0x2,0x2,0xfe,0x0,
-+0x0,0x3f,0x20,0x20,0x20,0x3f,0x24,0x24,0x24,0x24,0x27,0x24,0x24,0x44,0x43,0x80,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x10,0x30,0xc0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x12,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x13,0x12,0x50,0x20,0x0,0x8,0x88,0x48,0x68,0x28,0x8,0x8,0x8,0x8,0x48,0x88,0x14,0x22,0x42,0x80,
-+0x11,0x11,0x11,0x23,0x22,0x64,0xa8,0x20,0x21,0x21,0x22,0x24,0x20,0x20,0x21,0x20,0x0,0x0,0x0,0xfc,0x4,0x8,0x40,0x40,0x50,0x48,0x4c,0x44,0x40,0x40,0x40,0x80,
-+0x0,0x7f,0x44,0x44,0x7f,0x44,0x41,0x7f,0x42,0x47,0x4c,0x54,0x47,0x40,0x7f,0x0,0x8,0xfc,0x40,0x50,0xf8,0x40,0x8,0xfc,0x0,0xf0,0x10,0x10,0xf0,0x8,0xfc,0x0,
-+0x0,0x78,0x4f,0x48,0x4b,0x78,0x4f,0x48,0x4b,0x7a,0x4a,0x4a,0x4a,0x4a,0x49,0x9a,0x14,0x10,0xfe,0x10,0xd0,0x10,0xf0,0x10,0xe8,0x28,0xa8,0xa8,0xaa,0xaa,0x4a,0x24,
-+0x2,0x41,0x30,0x17,0x0,0x2,0xf2,0x12,0x12,0x13,0x12,0x10,0x10,0x29,0x47,0x0,0x8,0x10,0xa0,0xfc,0x40,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x80,0x6,0xfc,0x0,
-+0x0,0x47,0x30,0x10,0x87,0x64,0x24,0xf,0x10,0x24,0xe2,0x22,0x24,0x20,0x22,0x21,0x0,0xbc,0x84,0x84,0xbc,0x20,0x24,0xbe,0x84,0xa4,0x94,0x94,0xa4,0x84,0x94,0x8,
-+0x8,0xff,0x8,0x3f,0x1,0x9,0x9,0xff,0x10,0x1f,0x10,0x1f,0x29,0x24,0x44,0x0,0x24,0xfe,0x20,0xf8,0x0,0xf0,0x4,0xfe,0x0,0xf8,0x0,0xfc,0x24,0x94,0x94,0xc,
-+0x10,0x10,0x10,0x10,0xfc,0x10,0x14,0x18,0x33,0xd2,0x12,0x12,0x12,0x12,0x53,0x22,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x1f,0x11,0x21,0x41,0x1f,0x11,0x11,0x11,0xff,0x1,0x1,0x1,0x1,0x1,0x0,0x8,0xfc,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x0,0xb,0xfe,0x12,0x13,0x22,0x2b,0x7e,0xaa,0x2b,0x2a,0x2a,0x3c,0x24,0x8,0x0,0x4,0xfe,0x4,0x4,0xfc,0x50,0xfc,0x50,0x54,0xfe,0xc4,0xa8,0x90,0x8e,0xc4,0x80,
-+0x21,0x21,0x27,0x21,0xff,0x21,0x22,0x3c,0x67,0xa1,0x22,0x27,0x20,0x3f,0xa0,0x40,0x10,0x10,0xfc,0x10,0xfe,0x10,0xae,0x84,0xf8,0x0,0x40,0xf8,0x40,0xfe,0x40,0x40,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x14,0x18,0x33,0xd0,0x10,0x12,0x16,0x1a,0x52,0x21,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x44,0x0,0xf8,0x10,0x20,0x80,0x64,0x22,0x8,0xf8,
-+0x1,0x2,0x4,0x8,0x12,0x21,0xc1,0x1f,0x0,0x0,0x4,0x13,0x51,0x50,0x8f,0x0,0x0,0x80,0x40,0x20,0x10,0xe,0x4,0xf8,0x20,0x40,0x0,0x0,0x14,0x12,0xf2,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x40,0x28,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x48,0x30,0x10,0x4e,0x84,0x0,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x57,0x61,0x41,0x41,0x7f,0x41,0x41,0x7f,0x41,0x20,0x94,0x7e,0x44,0x44,0x7c,0x44,0x44,0x7c,0x60,0x52,0x54,0x48,0x48,0x64,0x42,
-+0x2,0x4,0x1f,0x10,0x14,0x12,0x12,0x10,0x10,0x1f,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0xa0,0x44,0xfe,0x4,0x24,0xf4,0x4,0x28,0x10,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x2e,0x22,0x22,0x24,0x24,0x48,0x50,0x82,0x1,0x4,0xfe,0x4,0x4,0xfc,0x84,0x80,0xa4,0xa8,0xb0,0xa0,0x90,0x8e,0x84,0x80,0x0,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x16,0x1b,0x30,0xd0,0x17,0x10,0x10,0x10,0x5f,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x7f,0x8,0xf,0x8,0xf,0x8,0x7f,0x0,0x7e,0x2,0x24,0x14,0x8,0x16,0x62,0x8,0xfc,0x20,0xe0,0x20,0xe0,0x28,0xfc,0x20,0xfc,0x4,0x48,0x28,0x10,0x2e,0xc4,
-+0x4,0xff,0x10,0x7e,0x42,0x7e,0x41,0x7e,0x42,0x7e,0x40,0xf,0x0,0x7f,0x1,0x3,0x44,0xfe,0x20,0xf8,0x50,0x50,0xfc,0x20,0xf8,0x20,0x20,0xe0,0x88,0xfc,0x0,0x0,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x4f,0x48,0x4a,0x4a,0x4a,0x4a,0x7b,0x4a,0x3,0x2,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x0,0x44,0x44,0x44,0xb4,0x14,0x4,0xfc,0x4,
-+0x23,0x21,0x39,0x41,0x81,0x79,0x27,0x20,0xff,0x24,0x22,0x22,0x29,0x32,0x22,0xc,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x8,0xfe,0x62,0x94,0x94,0x8,0x98,0xa4,0x42,
-+0x20,0x21,0x3b,0x42,0x83,0x7a,0x23,0x22,0xfb,0x20,0x2f,0x20,0x29,0x32,0x24,0x0,0x80,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x40,0x37,0x14,0x4,0x87,0x64,0x24,0xf,0x10,0x20,0xe7,0x20,0x20,0x20,0x2f,0x20,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x9,0x9,0x13,0x12,0x34,0x59,0x91,0x12,0x14,0x11,0x10,0x2,0x51,0x50,0x90,0xf,0x0,0x0,0xfc,0x4,0x48,0x40,0x50,0x4c,0x44,0x40,0x80,0x0,0x84,0x92,0x12,0xf0,
-+0x10,0x10,0x10,0x13,0xfe,0x14,0x30,0x3b,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x44,0x2c,0x13,0x2a,0x4c,0x88,0xb,0x18,0x28,0x48,0x88,0x8,0x8,0x50,0x20,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x8,0x89,0x6e,0x28,0x8,0x7,0x28,0x2f,0x32,0xc2,0x5f,0x42,0x45,0x44,0x48,0x11,0x0,0x7c,0x4,0x28,0x90,0x88,0x7e,0x82,0x14,0x50,0xdc,0x50,0x70,0xd0,0x8e,0x4,
-+0x2,0x1,0x7f,0x40,0x80,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0x0,0xfe,0x2,0x4,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x13,0xfa,0x14,0x10,0x1b,0x30,0xd0,0x10,0x10,0x10,0x10,0x50,0x20,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x40,0x30,0x10,0x7,0x84,0x68,0x20,0xf,0x10,0x20,0xe0,0x20,0x20,0x20,0x21,0x20,0x80,0x40,0x40,0xfe,0x2,0x4,0x0,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x1,0x11,0x11,0x1f,0x21,0x21,0x41,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x13,0x10,0x10,0xfc,0x10,0x14,0x1b,0x30,0xd0,0x10,0x10,0x10,0x10,0x57,0x20,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0xfe,0x0,
-+0x20,0x27,0x39,0x41,0x81,0x79,0x21,0x27,0xf9,0x21,0x21,0x29,0x31,0x21,0xf,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x10,0x17,0x21,0x21,0x49,0xf9,0x11,0x27,0x41,0xf9,0x1,0x1,0x19,0xe1,0x47,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x8,0x7c,0x4b,0x4a,0x4c,0x78,0x48,0x49,0x4b,0x7d,0x49,0x49,0x49,0x49,0x49,0x99,0x40,0x40,0xfc,0x44,0x48,0x80,0x84,0x4c,0x50,0x20,0x20,0x10,0xe,0x44,0x80,0x0,
-+0x40,0x30,0x17,0x4,0x88,0x60,0x20,0x9,0x13,0x25,0xe9,0x21,0x21,0x21,0x21,0x21,0x40,0x40,0xfc,0x44,0x48,0x80,0x84,0x4c,0x50,0x20,0x20,0x10,0xe,0x44,0x80,0x0,
-+0x1,0x1,0x7f,0x41,0x81,0x2,0x2,0x5,0x9,0x18,0x28,0x48,0x88,0xa,0xc,0x8,0x0,0x0,0xfe,0x2,0x4,0x0,0x8,0x18,0x20,0xc0,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x0,0x7f,0x1,0x1,0x3f,0x1,0x1,0x7f,0x4,0x4,0xff,0x4,0x8,0x8,0x10,0x60,0x8,0xfc,0x0,0x10,0xf8,0x0,0x8,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x11,0x10,0xfe,0x22,0x22,0x22,0x42,0x24,0x14,0x8,0x14,0x22,0x41,0x6,0x0,0x0,0xfc,0x4,0x84,0x84,0x88,0x88,0x48,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x10,0xfe,0x22,0x24,0x64,0x18,0x14,0x62,0x2,0x3f,0x2,0x4,0x4,0x18,0x60,0x0,0x0,0xfc,0x84,0x48,0x30,0x20,0x50,0x8e,0x4,0xf0,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x10,0xfe,0x22,0x24,0x64,0x18,0x14,0x62,0x0,0x12,0x51,0x50,0x90,0xf,0x0,0x0,0x0,0xfc,0x84,0x48,0x30,0x20,0x50,0x8e,0x4,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x2,0x2,0x2,0x2,0x2,0xff,0x4,0x4,0x8,0x10,0xc,0x2,0x1,0x6,0x18,0x60,0x0,0x0,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x40,0x80,0x80,0x60,0x18,0x8,
-+0x0,0xb,0x7c,0x4a,0x49,0x4b,0x48,0x7f,0x48,0x48,0x49,0x49,0x7a,0x44,0x8,0x3,0xc,0xf0,0x84,0x4c,0x50,0xfc,0x80,0xfe,0x80,0xf8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x3f,0x21,0x20,0x20,0x27,0x24,0x3f,0x24,0x47,0x80,0x10,0xf8,0x0,0xfc,0x4,0xe8,0x0,0x8,0xf8,0x0,0xf0,0x4,0xfe,0x0,0xf8,0x0,
-+0x1,0x0,0x1f,0x10,0x90,0x53,0x52,0x12,0x32,0x5f,0xd2,0x12,0x22,0x22,0x43,0x0,0x0,0x84,0xfe,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x10,0x17,0x12,0x12,0xfa,0x17,0x12,0x1a,0x32,0xd7,0x12,0x12,0x14,0x19,0x50,0x20,0x0,0xde,0x52,0x54,0x54,0xd4,0x58,0x58,0x54,0xd2,0x52,0x52,0x5a,0x54,0x90,0x10,
-+0x20,0x27,0x20,0x2f,0xba,0xa9,0xa2,0x20,0x2f,0x20,0x27,0x24,0x24,0x24,0x24,0x24,0x8,0xfc,0x40,0xfe,0x4a,0x50,0x48,0x40,0xfc,0x80,0xfc,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x10,0x11,0x54,0x3b,0x12,0xfc,0x10,0x30,0x3b,0x54,0x53,0x92,0x12,0x12,0x12,0x12,0x8,0xfc,0x20,0xfe,0xaa,0x70,0xa8,0x20,0xfe,0x40,0xfe,0x52,0x52,0x52,0x52,0x6,
-+0x1,0x41,0x37,0x11,0x1,0x0,0xef,0x20,0x21,0x23,0x2d,0x21,0x29,0x31,0x21,0x1,0x10,0x10,0xfc,0x10,0x50,0x44,0xfe,0x80,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x8,0x7f,0x49,0x49,0x4f,0x49,0x49,0x49,0x49,0x4f,0x49,0x79,0x41,0x5,0x2,0x20,0xb0,0x28,0x20,0x24,0xfe,0x20,0x20,0x20,0xd4,0x18,0x10,0x30,0x4a,0x8a,0x6,
-+0x4,0x7e,0x40,0x42,0x62,0x55,0x54,0x48,0x54,0x52,0x62,0x40,0x44,0x7e,0x1,0x2,0x40,0x40,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x8e,0x4,0x0,
-+0x4,0x7e,0x40,0x42,0x62,0x54,0x54,0x48,0x54,0x52,0x62,0x40,0x45,0x7e,0x0,0x0,0x10,0x24,0xfe,0x84,0xa4,0x84,0x94,0x88,0x80,0xfe,0x2,0x12,0xfa,0x2,0x14,0x8,
-+0x4,0x7e,0x40,0x42,0x62,0x54,0x55,0x48,0x55,0x52,0x62,0x40,0x44,0x7e,0x0,0x3,0x8,0xfc,0x88,0x88,0x88,0x88,0x6,0x0,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x4,0xff,0x14,0x11,0x7d,0x11,0x7d,0x11,0xfc,0x13,0x3a,0x56,0x92,0x12,0x12,0x40,0x44,0xfe,0x40,0xfc,0x24,0xfc,0x24,0xfc,0x20,0xfe,0x22,0x2a,0xfa,0xa,0x4,
-+0x0,0xb,0x7e,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7b,0x4a,0x3,0x0,0x8,0xfc,0x0,0x8,0x88,0x50,0x50,0x20,0x20,0x50,0x50,0x88,0x8,0x4,0xfe,0x0,
-+0x10,0x17,0x14,0x24,0x27,0x64,0xa4,0x27,0x20,0x2f,0x28,0x28,0x2b,0x28,0x28,0x28,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x40,0xfe,0x42,0x4a,0xfa,0x2,0xa,0x4,
-+0x0,0x43,0x32,0x13,0x82,0x62,0x22,0xa,0x12,0x22,0xe2,0x22,0x23,0x22,0x23,0x20,0x8,0xfc,0x0,0x8,0x88,0x50,0x50,0x20,0x20,0x50,0x50,0x88,0x8,0x4,0xfe,0x0,
-+0x2,0x12,0x7a,0x5f,0x52,0x52,0x52,0x52,0x53,0x5e,0x52,0x72,0x52,0x2,0xa,0x4,0x10,0x10,0x24,0xfe,0x44,0x44,0x44,0xc4,0x7c,0x44,0x44,0x44,0x44,0x44,0x7c,0x44,
-+0x4,0x7e,0x44,0x44,0x44,0x7c,0x10,0x10,0x5c,0x51,0x51,0x51,0x5e,0xe2,0x44,0x8,0x10,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x10,0x10,0x10,0x8,0xe,0x4,0x0,
-+0x7,0x78,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x52,0x52,0x51,0x90,0x10,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0xfc,0x0,0x2,0x2,0xfe,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x10,0x7d,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5d,0x11,0x11,0x11,0x20,0x20,0x44,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x11,0x59,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x44,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x7e,0x8,0x3e,0x8,0x7e,0x0,0x3f,0x21,0x21,0x3f,0x20,0x20,0x20,0x1f,0x0,0x8,0xfc,0x20,0xf8,0x20,0xfc,0x8,0xfc,0x8,0x8,0xf8,0x8,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0x20,0x20,0x44,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x17,0xfc,0x10,0x14,0x1b,0x30,0xd0,0x10,0x1f,0x10,0x10,0x50,0x20,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa8,0xbc,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa0,0xa0,
-+0x8,0x48,0x49,0x49,0x49,0x7d,0x41,0x41,0x79,0x48,0x49,0x4f,0x48,0x48,0x88,0x8,0x40,0x84,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x8,0x8,0x10,0x2f,0x40,0x88,0x8,0x17,0x30,0x50,0x90,0x1f,0x10,0x10,0x10,0x10,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa8,0xbc,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa0,0xa0,
-+0x40,0x3f,0x12,0x2,0x82,0x6f,0x22,0xa,0x12,0x22,0xef,0x22,0x22,0x24,0x24,0x28,0x88,0x7c,0x10,0x10,0x7c,0x90,0x10,0x7c,0x10,0x10,0x94,0xfe,0x10,0x10,0x10,0x10,
-+0x40,0x37,0x14,0x4,0x85,0x65,0x25,0xd,0x15,0x25,0xe5,0x25,0x25,0x29,0x29,0x11,0x1c,0xe0,0x8,0x3c,0xc0,0x40,0x40,0x24,0x2c,0x30,0x20,0x10,0x10,0x4e,0x84,0x0,
-+0x22,0x21,0xfa,0x22,0x71,0xaa,0x22,0xff,0x4,0xf,0x31,0xcf,0x1,0x3f,0x1,0x3,0x88,0x8,0xbe,0x88,0x1c,0xaa,0x8,0xfe,0x40,0xe0,0x18,0xe6,0x0,0xf8,0x0,0x0,
-+0x0,0x47,0x32,0x11,0x8f,0x61,0x22,0xc,0x17,0x24,0xe4,0x27,0x24,0x24,0x27,0x24,0x3c,0xc0,0x48,0x50,0xfe,0x50,0x48,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x2,0x1f,0x10,0x12,0x11,0xff,0x10,0x12,0x21,0x40,0x3f,0x24,0x24,0x24,0xff,0x0,0x10,0xf8,0x10,0x10,0x14,0xfe,0x10,0x10,0x50,0x20,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x10,0x3e,0x22,0x2a,0xff,0x22,0x2a,0x22,0x46,0xff,0x4,0xf,0x18,0x68,0xf,0x8,0x78,0x48,0x48,0x86,0x78,0x48,0x30,0x4e,0x84,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x0,0x8,0x7c,0x49,0x49,0x7a,0x4a,0x4d,0x48,0x78,0x48,0x48,0x49,0x79,0x42,0x4,0x20,0xa0,0xa0,0x10,0x10,0x8,0xe,0xf4,0x90,0x90,0x90,0x90,0x10,0x10,0x50,0x20,
-+0x0,0x4,0x7f,0x54,0x54,0x54,0x55,0x7c,0x54,0x54,0x57,0x54,0x7c,0x44,0x0,0x0,0x20,0x20,0x24,0xa8,0xa8,0x20,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x4,0x44,0x34,0x15,0x4,0x7f,0x4,0x4,0x5,0xff,0x4,0x8,0x8,0x10,0x20,0x0,0x4,0x44,0xc4,0x24,0x24,0xa4,0x24,0x24,0x24,0xa4,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x93,0x55,0x39,0x11,0x7d,0x11,0x11,0xfd,0x11,0x11,0x22,0x22,0x44,0x89,0x8,0x1c,0xe0,0x0,0x0,0x0,0xf8,0x8,0x88,0x48,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x0,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0xff,0x0,0x0,0x0,0x0,0x0,0x30,0xc0,0x0,0x0,0x10,0xf8,0x20,0x20,0x20,0x24,0xfe,0x0,0x40,0x30,0x18,0x8,
-+0x2,0x1,0x7f,0x42,0x42,0x42,0x7f,0x42,0x42,0x44,0x44,0x44,0x48,0x4b,0x90,0x20,0x0,0x4,0xfe,0x0,0x40,0x28,0xfc,0x80,0x80,0x88,0x90,0xa0,0xc2,0x82,0x82,0x7e,
-+0x2,0x1,0x7f,0x8,0x4,0x7f,0x42,0x81,0x7f,0x4,0x7,0x4,0x8,0x8,0x10,0x60,0x0,0x8,0xfc,0x20,0x40,0xfe,0x2,0x4,0xfc,0x0,0xf0,0x10,0x10,0x10,0xa0,0x40,
-+0x10,0x10,0x13,0xfc,0x10,0x7f,0x12,0xfc,0x13,0x38,0x34,0x50,0x90,0x11,0x12,0x14,0x40,0x24,0xfe,0x88,0x50,0xfe,0x42,0x24,0xfe,0x80,0xf8,0x88,0x88,0x8,0x28,0x10,
-+0x0,0x78,0x4c,0x4a,0x49,0x78,0x4f,0x48,0x48,0x78,0x4f,0x48,0x48,0x48,0x48,0x98,0x40,0x40,0x44,0x48,0x50,0x40,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x12,0x12,0x12,0x12,0xfe,0x17,0x12,0x1a,0x32,0xd2,0x12,0x12,0x12,0x12,0x54,0x28,0x20,0x20,0x20,0x24,0x7e,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xd4,0x8a,0x82,0x7e,0x0,
-+0x0,0x8,0x7c,0x49,0x49,0x4b,0x4d,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x0,0x0,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x1f,0x21,0x21,0x7d,0xa5,0x25,0x25,0x3d,0x25,0x22,0x20,0x20,0x1f,0x0,0x4,0x4,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x84,0x84,0x94,0x8,
-+0x10,0x10,0x10,0x15,0x59,0x53,0x55,0x91,0x11,0x11,0x11,0x29,0x25,0x45,0x80,0x0,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x20,0x10,0x10,0x1,0xf9,0xb,0x11,0x35,0x59,0x95,0x11,0x11,0x11,0x11,0x10,0x10,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x4,0x7e,0x44,0x45,0x45,0x7f,0x15,0x11,0x5d,0x51,0x51,0x51,0x5d,0xe1,0x40,0x0,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x1,0x41,0x31,0x12,0x82,0x67,0x2a,0x2,0xa,0x13,0xe2,0x22,0x22,0x22,0x21,0x20,0x0,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x0,0x7,0x78,0x48,0x48,0x48,0x48,0x49,0x49,0x4a,0x4c,0x78,0x48,0x0,0xf,0x0,0x8,0xfc,0x20,0x20,0x40,0xc0,0xc0,0x50,0x4c,0x46,0x42,0x40,0x40,0x44,0xfe,0x0,
-+0x8,0x7f,0x48,0x48,0x48,0x78,0x48,0x49,0x49,0x7a,0x4c,0x48,0x48,0x48,0x4f,0x98,0x8,0xfc,0x20,0x20,0x40,0xc0,0xc0,0x50,0x4c,0x46,0x42,0x40,0x40,0x44,0xfe,0x0,
-+0x20,0x20,0x27,0x20,0x21,0xf8,0x20,0x2f,0x20,0x23,0x22,0x22,0x3a,0xe2,0x43,0x2,0x80,0x48,0xfc,0x0,0x10,0xa0,0x4,0xfe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x2,0x7e,0x2,0x3e,0x2,0x7e,0x2,0x1,0xff,0x2,0x4,0xc,0x35,0xc6,0x4,0x80,0x88,0xfc,0x80,0xf8,0x80,0xfc,0x80,0x4,0xfe,0x80,0x88,0x50,0x30,0xe,0x4,
-+0x0,0x7c,0x45,0x54,0x54,0x54,0x54,0x57,0x54,0x55,0x55,0x55,0x11,0x29,0x45,0x81,0x40,0x20,0xfc,0x0,0x88,0x50,0x4,0xfe,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x78,0x4f,0x50,0x51,0x50,0x60,0x57,0x48,0x4b,0x6a,0x52,0x42,0x42,0x43,0x42,0x80,0x48,0xfc,0x0,0x10,0xa0,0x4,0xfe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x55,0x63,0x41,0x7f,0x41,0x41,0x7f,0x41,0x4,0xfe,0x4,0x4,0x4,0x4,0x7c,0x44,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x1f,0x28,0x2f,0x68,0xa8,0x2b,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x28,0x30,0x20,0x8,0xfc,0x8,0xf8,0x88,0xa8,0xf8,0xa8,0xa8,0xa8,0xa8,0xa8,0xea,0x8a,0x86,0x80,
-+0x0,0x40,0x20,0x2f,0x80,0x60,0x27,0xc,0x14,0x24,0xe4,0x24,0x24,0x20,0x20,0x20,0x40,0x40,0x44,0xfe,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x54,0x48,0x40,0x40,0x40,
-+0x0,0xb,0x7c,0x49,0x4f,0x49,0x48,0x4b,0x4a,0x4a,0x4a,0x7a,0x4a,0x0,0x1,0x6,0x48,0xfc,0x40,0x14,0xfe,0x10,0x8,0xfc,0x8,0x48,0x48,0x48,0x48,0x90,0xc,0x4,
-+0x0,0x4,0x8,0x10,0x2f,0xc4,0x4,0x9,0x30,0x0,0x3f,0x24,0x24,0x24,0xff,0x0,0x80,0x80,0x40,0x20,0xd0,0x4e,0x44,0x40,0x80,0x8,0xfc,0x48,0x48,0x48,0xfe,0x0,
-+0x4,0xff,0x10,0x10,0x21,0x24,0x3e,0x64,0xa7,0x24,0x24,0x24,0x24,0x3c,0x24,0x0,0x8,0xfc,0x20,0x20,0x24,0xa8,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x11,0x10,0x10,0xfd,0x10,0x14,0x18,0x33,0xd0,0x10,0x10,0x10,0x10,0x50,0x20,0x8,0xfc,0x20,0x20,0x24,0xa8,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x1,0xff,0x0,0x1f,0x10,0x10,0x1f,0x0,0x3f,0x0,0x1,0x5,0x3,0x48,0x44,0x84,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x0,0xf0,0x40,0x80,0x0,0x0,0x48,0x24,0x24,
-+0x41,0x21,0x2f,0x1,0x87,0x60,0x27,0xc,0x14,0x27,0xe0,0x24,0x22,0x20,0x2f,0x0,0x0,0x42,0xe6,0x8,0xd0,0x2,0xc6,0x48,0x50,0xc0,0x2,0x46,0x88,0xf0,0x20,0x40,
-+0x8,0x9,0xff,0x8,0x7f,0x0,0x7f,0x41,0x41,0x7f,0x0,0x22,0x14,0xf,0xf0,0x40,0x4,0xc,0x90,0x20,0x40,0x4,0xc,0x10,0x20,0x42,0x6,0x8,0x10,0x20,0x40,0x80,
-+0x4,0xff,0x5,0x41,0x33,0x14,0x1,0xf6,0x1b,0x10,0x13,0x10,0x17,0x10,0x28,0x47,0x44,0xfe,0x40,0xf8,0x10,0xe0,0x18,0x46,0xf8,0x40,0xf8,0x40,0xfc,0x40,0x46,0xfc,
-+0x20,0x27,0x24,0x24,0xfc,0x27,0x64,0x74,0xac,0x27,0x24,0x24,0x24,0x24,0x25,0x28,0x4,0xbe,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xa4,0xa4,0x4c,
-+0x10,0xff,0x24,0x24,0x44,0x47,0x74,0xd4,0x54,0x57,0x54,0x54,0x54,0x74,0x45,0x8,0x4,0xbe,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xa4,0xa4,0x4c,
-+0x10,0x3e,0x49,0x81,0x43,0x24,0x1,0xf6,0x1b,0x10,0x13,0x10,0x17,0x10,0x28,0x47,0x40,0xfc,0x20,0xf8,0x10,0xe0,0x18,0x46,0xf8,0x40,0xf8,0x40,0xfc,0x40,0x46,0xfc,
-+0x0,0x78,0x4f,0x48,0x4b,0x78,0x4b,0x4a,0x4a,0x7b,0x48,0x4a,0x49,0x4f,0x48,0x98,0x80,0xa2,0xf2,0x84,0xe8,0x12,0xe2,0x24,0x28,0xf0,0x2,0x22,0x44,0xe8,0x10,0x60,
-+0x2,0x3f,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x4a,0x44,0x81,0x4,0x7e,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x84,0x94,0x8,
-+0x0,0x77,0x55,0x55,0x55,0x77,0x55,0x55,0x55,0x77,0x55,0x55,0x55,0x55,0x8b,0x0,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0xa,0xfe,0x2,0xa,0x4,
-+0x10,0x10,0x17,0xfc,0x13,0x10,0x17,0x18,0x31,0xd2,0x1d,0x10,0x17,0x10,0x50,0x20,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0xa0,0x50,0x4e,0xf4,0x40,0xfc,0x40,0x40,0x40,
-+0x1,0x8,0xfc,0x20,0x23,0x40,0x48,0x7c,0xca,0x4a,0x4a,0x48,0x48,0x78,0x47,0x0,0x8,0x88,0x90,0x8,0xfc,0x90,0x90,0x92,0x96,0x94,0x98,0x90,0x90,0x94,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0x10,0xfc,0x10,0x10,0x10,0x11,0x12,0x1c,0xf0,0x40,0x7,0x0,0x0,0x4,0xfe,0x10,0x10,0x20,0x20,0x68,0xa4,0x22,0x22,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x5,0xff,0x11,0x11,0x21,0x25,0x3f,0x65,0xa5,0x25,0x25,0x25,0x3d,0x25,0x0,0x10,0x10,0x10,0x10,0x12,0x16,0xd8,0x10,0x10,0x10,0x10,0x10,0x12,0x52,0x8e,0x0,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x3e,0x23,0x22,0x3e,0x21,0x3e,0x62,0xa2,0x3e,0x20,0xf0,0x0,0xfe,0x12,0x64,0x10,0x20,0xfc,0x88,0x50,0xfe,0x20,0xfc,0x20,0x20,0x20,
-+0x12,0x12,0x12,0x12,0xfe,0x12,0x13,0x1a,0x32,0xd2,0x12,0x12,0x12,0x13,0x52,0x20,0x20,0x20,0x20,0x20,0x24,0x2c,0xb0,0x20,0x20,0x20,0x20,0x20,0xa4,0x24,0x1c,0x0,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x16,0x1b,0x32,0xd2,0x12,0x12,0x12,0x14,0x54,0x29,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xf8,0x88,0x88,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x0,0x3e,0x23,0x22,0x3e,0x21,0x3e,0x62,0xa2,0x3e,0x0,0x7f,0x4,0x4,0x8,0x30,0x40,0x20,0xfc,0x88,0x50,0xfe,0x20,0xf8,0x20,0x20,0x8,0xfc,0x8,0x8,0x50,0x20,
-+0x4,0x7e,0x8,0x8,0x3e,0x8,0x8,0x7e,0x0,0x20,0x24,0x3e,0x20,0x20,0x2e,0x30,0x8,0xfc,0x20,0x20,0xf8,0x20,0x28,0xfc,0x0,0x80,0x98,0xe0,0x80,0x82,0x82,0x7e,
-+0x0,0x5,0x7f,0x55,0x55,0x55,0x55,0x7d,0x55,0x55,0x55,0x55,0x7d,0x45,0x1,0x0,0x10,0x10,0x10,0x10,0x10,0x12,0xdc,0x10,0x10,0x10,0x10,0x10,0x52,0x92,0xe,0x0,
-+0x0,0x8,0x7f,0x4a,0x4a,0x4b,0x4a,0x4a,0x4b,0x48,0x49,0x4f,0x78,0x48,0x0,0x0,0x40,0x88,0xfc,0x48,0x48,0xf8,0x48,0x88,0xf8,0x80,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x4,0x3e,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3c,0x24,0x27,0x24,0x24,0x54,0x88,0x20,0x44,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0x40,0xa4,0xfe,0x20,0x20,0x20,0x20,
-+0x1,0x0,0x1f,0x90,0x50,0x57,0x14,0x14,0x37,0x54,0xd5,0x14,0x24,0x24,0x49,0x12,0x0,0x84,0xfe,0x40,0x40,0xfc,0x44,0x40,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x2f,0x20,0x24,0x22,0x21,0x20,0x41,0x46,0x98,0x80,0x80,0x80,0xfc,0x84,0x88,0x80,0xf8,0x8,0x10,0x20,0x40,0x80,0x60,0x1e,0x4,
-+0x0,0x0,0x7f,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x48,0x50,0x40,0x7f,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0x44,0x3c,0x0,0x4,0xfe,0x0,
-+0x1,0x0,0x1f,0x90,0x57,0x50,0x10,0x10,0x31,0x56,0xdb,0x12,0x22,0x22,0x43,0x2,0x0,0x84,0xfe,0x8,0xfc,0x20,0x40,0xd8,0x46,0x42,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x1f,0x29,0x29,0x69,0xaf,0x28,0x28,0x2f,0x29,0x39,0x29,0x2f,0x28,0x20,0x20,0x10,0x14,0xfe,0x44,0x28,0x10,0xfe,0x10,0x10,0xfe,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x28,0x28,0x2a,0x2f,0x28,0x28,0x29,0x4e,0x48,0x80,0x8,0xfc,0x8,0x8,0xf8,0x48,0x40,0x40,0x4c,0x70,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x3f,0x21,0x3f,0x20,0x7f,0xa1,0x3f,0x21,0x7f,0x0,0x3f,0x0,0x0,0x1f,0x10,0x1f,0x10,0x7c,0x28,0xfe,0x10,0x7c,0x10,0x14,0xfe,0x0,0x0,0xf8,0x0,0xf0,0x10,0xf0,
-+0x12,0x1f,0x28,0x45,0x80,0x3f,0x20,0x3f,0x20,0x3f,0x32,0x52,0x5f,0x52,0x92,0x10,0x44,0x7e,0xa0,0x10,0x80,0xf8,0x8,0xf8,0x4,0xfe,0x24,0x24,0xfc,0x24,0x34,0x8,
-+0x10,0x10,0x17,0x24,0x24,0x67,0xa4,0x24,0x27,0x26,0x2a,0x2b,0x2a,0x32,0x22,0x22,0x80,0x44,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x94,0x94,0xfc,0x94,0x94,0x94,0xc,
-+0x0,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x80,0x80,0x80,0x80,0x84,0xfe,0x0,0x0,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0xf8,0x13,0x52,0x52,0x53,0x52,0x52,0x7b,0xa,0xa,0x3b,0xce,0xa,0x2a,0x12,0x40,0x28,0xfc,0x8,0x8,0xf8,0x0,0x4,0xfe,0x94,0x94,0xfc,0x94,0x94,0x94,0xc,
-+0x4,0xfe,0x28,0xfe,0xaa,0xaa,0xfe,0x0,0x7c,0x0,0xfe,0x10,0x58,0x55,0x92,0x34,0x8,0xfc,0x88,0x88,0x88,0xd8,0xd8,0xa8,0xa8,0xd8,0xd8,0x88,0x8a,0xa,0x6,0x0,
-+0x40,0x3f,0x10,0x7,0x84,0x64,0x27,0x8,0x13,0x20,0xef,0x20,0x22,0x24,0x29,0x20,0x4,0xfe,0xa0,0xfc,0xa4,0xa4,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x50,0x4c,0x44,0x80,
-+0x4,0xfe,0x28,0xfe,0xaa,0xaa,0xfe,0x0,0x7c,0x0,0xfe,0x10,0x59,0x55,0x92,0x30,0x4,0xf8,0x80,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa4,0x24,0x52,0x78,0x0,
-+0x0,0x7f,0x4,0x3f,0x24,0x24,0x3f,0x0,0x1f,0x0,0xff,0x1,0x11,0x21,0x45,0x2,0x8,0xfc,0x40,0xf8,0x48,0x48,0xf8,0x0,0xf0,0x4,0xfe,0x0,0x20,0x18,0x8,0x0,
-+0x22,0x22,0x2a,0x27,0xf2,0x2f,0x2a,0x2a,0x3a,0xef,0x2e,0x2a,0x2a,0x29,0xa8,0x40,0x10,0x10,0x90,0x24,0x3e,0xc4,0xa4,0xa4,0xa8,0xa8,0x90,0x90,0xa8,0xa8,0x46,0x84,
-+0x8,0x49,0x2a,0x7f,0x49,0x5d,0x6b,0x49,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x20,0x20,0x7e,0xc4,0x28,0x10,0x2e,0x44,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x12,0x11,0x10,0x13,0xfd,0x11,0x15,0x19,0x37,0xd1,0x11,0x11,0x11,0x11,0x52,0x24,0x8,0x18,0xa0,0xfc,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x13,0x54,0x5e,0x51,0x55,0xff,0x11,0x55,0x55,0x55,0x95,0x8,0x10,0x20,0x43,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x20,0x50,0x8c,0x4,
-+0x0,0x4,0x8,0x1f,0x24,0xc4,0x9,0x30,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x40,0x40,0x20,0xd0,0x4e,0x44,0x40,0x90,0xf8,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x2,0x7f,0x42,0x42,0x42,0x42,0x42,0x7e,0x42,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x8,0xfc,0x4b,0x4a,0x7b,0x4a,0x4b,0x78,0x4f,0x48,0x5c,0xe9,0x48,0x8,0x8,0x8,0x40,0x48,0xfc,0x48,0xf8,0x48,0xf8,0x0,0xfe,0x80,0x80,0xf8,0x8,0x8,0x50,0x20,
-+0x0,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0xff,0x0,0x2,0x6,0x8,0x10,0x30,0xc0,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x17,0x10,0x10,0x12,0xfd,0x11,0x11,0x10,0x1f,0x10,0x1c,0xe0,0x40,0x0,0x0,0x8,0xfc,0x40,0x40,0x48,0x48,0x50,0x50,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x1,0x11,0x9,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x8,0xfc,0x0,0x10,0x20,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x20,0x17,0x80,0x4a,0x11,0x20,0xef,0x20,0x20,0x20,0x20,0x20,0x40,0x44,0xfe,0x40,0x8,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x7f,0x1,0x11,0x11,0x9,0x9,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x8,0xfc,0x0,0x10,0x10,0x20,0x20,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0xb,0x10,0x10,0x37,0x50,0x90,0x13,0x10,0x7,0x4,0x4,0x4,0x4,0x8,0x30,0x30,0xc0,0x40,0x48,0xfc,0x40,0x50,0xf8,0x20,0xf0,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x42,0x25,0x28,0xfe,0x24,0x24,0x24,0x24,0xff,0x24,0x24,0x25,0x25,0x45,0x85,0x4,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0xc8,0xa8,0xa8,0x88,0x8,0x28,0xca,0xa,0x6,
-+0x0,0x47,0x30,0x10,0x4,0x3,0xf1,0x10,0x1f,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x8,0xfc,0x40,0x40,0x44,0x4c,0x50,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x3f,0x20,0x20,0x3f,0x22,0x21,0x2f,0x22,0x22,0x3f,0x22,0x22,0x42,0x84,0x8,0x8,0xfc,0x8,0x8,0xf8,0x20,0x48,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x12,0x13,0x12,0x12,0x1e,0xe2,0x42,0x4,0x8,0x13,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xfc,0x84,0x88,0x48,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x42,0x32,0x14,0x87,0x60,0x20,0x9,0x11,0x23,0xe2,0x24,0x28,0x20,0x21,0x26,0x40,0x50,0x48,0x40,0xfe,0x80,0x80,0xf8,0x8,0x10,0x90,0xa0,0x40,0xb0,0xe,0x4,
-+0x8,0x9,0x8,0x7f,0x49,0x4a,0x48,0x7e,0x42,0x54,0x54,0x48,0x54,0x52,0xa2,0x1,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x20,0x50,0x8c,0x4,
-+0x20,0x1b,0x4a,0x22,0x3,0x12,0x22,0x64,0x28,0x22,0xff,0x8,0x4,0x3,0xc,0x30,0x20,0xfe,0x22,0x24,0xf8,0x88,0x50,0x20,0x50,0x8c,0xfe,0x20,0x40,0x80,0x60,0x10,
-+0x0,0x8,0xfc,0x13,0x12,0x22,0x22,0x7b,0xaa,0x2a,0x2a,0x2a,0x3c,0x24,0x8,0x13,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xfc,0x84,0x88,0x48,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x10,0x23,0x7a,0x4a,0x4b,0x4a,0x7a,0x4b,0x48,0x48,0x49,0x79,0x42,0x4,0x8,0x40,0x88,0xfc,0x48,0x48,0xf8,0x48,0x88,0xf8,0x80,0xd0,0x54,0x7c,0x42,0x42,0x3e,
-+0x0,0x40,0x33,0x12,0x2,0x2,0xf3,0x12,0x12,0x12,0x12,0x13,0x12,0x28,0x47,0x0,0x40,0x88,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x54,0x39,0x11,0xff,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x20,0x20,0x44,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x4,0x7f,0x21,0x11,0x12,0xff,0x1,0x3f,0x21,0x21,0x21,0x21,0x3f,0x21,0x0,0x4,0x4,0x84,0x24,0x24,0x24,0xe4,0x24,0xa4,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x8,0x8,0x8,0xa,0x7f,0x8,0xa,0xc,0x18,0x68,0x8,0x8,0x8,0x8,0x28,0x10,0x40,0x40,0x40,0x40,0x40,0x50,0x4c,0x46,0x42,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x1c,0x23,0x20,0x7d,0x91,0x11,0x7d,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x28,0x24,0xfe,0x20,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x34,0x28,
-+0x4,0x4,0x4,0x8,0x8,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x80,0x80,0x80,0xa0,0x98,0x8c,0x84,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x4,0x4,0x7f,0x4,0x5,0x1,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x11,0x11,0x11,0x40,0x48,0xfc,0x40,0x50,0x8,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x8,0x8,0xff,0x8,0x1f,0x21,0x7f,0x81,0x1f,0x11,0x1f,0x11,0x1f,0x11,0x11,0x11,0x20,0x24,0xfe,0x20,0xfc,0x44,0xfc,0x4,0xf4,0x14,0xf4,0x14,0xf4,0x14,0x34,0xc,
-+0x4,0x4,0xff,0x4,0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x40,0x44,0xfe,0x40,0x10,0xf8,0x20,0x44,0xfe,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x4,0x4,0xff,0x4,0x40,0x2f,0x0,0x87,0x54,0x17,0x24,0xe7,0x24,0x24,0x24,0x24,0x40,0x44,0xfe,0x50,0x48,0xfe,0x44,0xfe,0x44,0xfc,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x20,0x20,0x20,0x2f,0xf8,0x27,0x24,0x24,0x27,0x24,0x3c,0xe7,0x44,0x4,0x4,0x4,0x40,0x50,0x48,0xfe,0x40,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x10,0x10,0x10,0x14,0xfe,0x10,0x30,0x38,0x54,0x54,0x90,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x40,0x40,0x40,0x60,0x58,0x4c,0x44,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x7f,0x41,0x41,0x5f,0x41,0x4f,0x49,0x4f,0x49,0x4f,0x49,0x49,0x40,0x7f,0x40,0x4,0xfe,0x4,0x44,0xf4,0x4,0xe4,0x24,0xe4,0x24,0xe4,0x24,0x64,0x4,0xfc,0x4,
-+0x8,0x4,0x7f,0x4,0x24,0x14,0x4,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x20,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,
-+0x0,0x40,0x30,0x1f,0x80,0x67,0x24,0x4,0x17,0x24,0xe4,0x27,0x24,0x24,0x24,0x24,0x40,0x50,0x48,0xfe,0x40,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x1,0x40,0x27,0x20,0x2,0x1,0xef,0x20,0x23,0x22,0x22,0x23,0x2a,0x32,0x23,0x2,0x10,0xa0,0xfc,0xa0,0xa8,0xb0,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x3,0xa,0x7f,0x4a,0x4b,0x49,0x7b,0x49,0x4f,0x49,0x4a,0x7d,0x48,0x1,0x2,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x10,0xf8,0x10,0xfe,0x10,0x48,0x56,0xe0,0x58,0x48,0xc0,
-+0x3,0x42,0x33,0x12,0x83,0x61,0x27,0x1,0x1f,0x21,0xe2,0x25,0x28,0x21,0x22,0x20,0xf8,0x8,0xf8,0x8,0xf8,0x10,0xfc,0x10,0xfe,0x10,0x48,0x56,0xe0,0x58,0x48,0xc0,
-+0x22,0x22,0x22,0x7f,0x22,0x3e,0x22,0x3e,0x22,0x22,0xff,0x0,0x24,0x22,0x41,0x82,0x4,0x7e,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x7c,0xc4,0x44,0x44,0x84,0x14,0x8,
-+0x22,0x22,0x22,0x7f,0x22,0x3e,0x23,0x3e,0x22,0x22,0xff,0x0,0x24,0x22,0x41,0x82,0x40,0x40,0x40,0x7c,0x44,0x88,0x20,0x20,0x20,0x20,0xd0,0x50,0x50,0x88,0xe,0x4,
-+0x20,0x20,0x2f,0x20,0xf8,0x27,0x64,0x74,0xac,0x24,0x24,0x25,0x26,0x24,0x27,0x24,0x0,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xa4,0xa4,0xa4,0x1c,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x0,0x3f,0x22,0x23,0x22,0x22,0x3f,0x22,0x2b,0x2a,0x32,0x42,0x8a,0x4,0x20,0x28,0x24,0xfe,0x20,0xa0,0x24,0xa4,0xe8,0x28,0x10,0x90,0x30,0x4a,0x8a,0x6,
-+0x1,0x7f,0x1,0x3f,0x1,0xff,0x1,0x3f,0x1,0xff,0x4,0x8,0x6,0x1,0x6,0x18,0x8,0xfc,0x0,0xf0,0x14,0xfe,0x10,0xf0,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x2,0x2,0x2,0x2,0x2,0x2,0x3,0xfe,0x2,0x2,0x2,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x4,0x4,0x4,0xfc,0x0,
-+0x0,0x8f,0x60,0x27,0x0,0x1f,0x0,0x17,0x20,0xe1,0x3f,0x22,0x26,0x21,0x22,0xc,0x88,0xfc,0x80,0xf8,0x88,0xfe,0x88,0xf8,0x80,0x4,0xfe,0x20,0x20,0xc0,0x30,0x8,
-+0x0,0x40,0x37,0x11,0x81,0x62,0x24,0x1,0x12,0x2c,0xe2,0x21,0x22,0x24,0x21,0x20,0x40,0x48,0xfc,0x50,0x4c,0x44,0xa0,0x10,0x4e,0x44,0x48,0x50,0x4c,0x44,0x40,0x80,
-+0x20,0x10,0x40,0x20,0xf,0x10,0x60,0x20,0x21,0xff,0x5,0x5,0x9,0x11,0x61,0x1,0x80,0x80,0x88,0xfc,0x80,0x88,0x88,0x78,0x4,0xfe,0x40,0x20,0x10,0x1c,0x8,0x0,
-+0x44,0x34,0x14,0x4,0x85,0x5f,0x44,0x4,0x14,0x24,0xe5,0x26,0x24,0x20,0x21,0x22,0x0,0x4,0xfe,0x24,0x24,0xa4,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0x14,0x8,
-+0x8,0x8,0x3f,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x8,0xff,0x0,0x8,0x18,0x20,0x20,0x20,0xf8,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x24,0xfe,0x0,0x20,0x18,0x8,
-+0x11,0x11,0x13,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x17,0x10,0x11,0x13,0x14,0x8,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0xfe,0x0,0x8,0x6,0x2,
-+0x1,0x1,0x3f,0x2,0x4,0x8,0xff,0x0,0x0,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0x10,0xf8,0x80,0x60,0x24,0xfe,0x10,0x90,0xd0,0x90,0x90,0x90,0x90,0x50,0x20,
-+0x10,0x10,0x10,0x17,0x50,0x5c,0x53,0x52,0x51,0x51,0x50,0x5c,0xe0,0x41,0x6,0x18,0x40,0x40,0x48,0xfc,0x40,0x40,0xf8,0x8,0x10,0x10,0xa0,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x4,0x7e,0x55,0x54,0x54,0x54,0x7f,0x54,0x54,0x54,0x55,0x7c,0x44,0x0,0x3,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,
-+0x10,0x10,0x13,0x54,0x54,0x55,0x57,0x54,0x55,0x55,0x55,0x55,0x7d,0x45,0x0,0x0,0x40,0x48,0xfc,0x40,0xa0,0x14,0xfe,0x8,0xe8,0x28,0x28,0x28,0xe8,0x8,0x28,0x10,
-+0x0,0x78,0x4f,0x49,0x48,0x78,0x48,0x49,0x4e,0x79,0x49,0x49,0x49,0x4a,0x8c,0x18,0x80,0x48,0xfc,0x10,0xa0,0x40,0xb0,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x2,0x1,0x7f,0x8,0x4,0x2,0x1,0x6,0x18,0x20,0xc8,0x8,0x8,0x8,0x10,0x20,0x0,0x8,0xfc,0x20,0x40,0x80,0x0,0xc0,0x30,0x2e,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x20,0x10,0x10,0xff,0x22,0x21,0x3c,0x24,0x24,0x24,0x24,0x27,0x24,0x34,0x49,0x82,0x80,0x84,0xfe,0x0,0x88,0xfc,0x88,0xf8,0x88,0xf8,0x88,0xfe,0x0,0x88,0x86,0x2,
-+0x20,0x10,0x11,0xfd,0x5,0x9,0x11,0x39,0x55,0x91,0x11,0x11,0x11,0x12,0x14,0x10,0x0,0xc,0xf0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x8,0x8,0xfe,0x2,0x4,0x8,0x1c,0x2a,0x48,0x88,0x8,0x8,0x8,0x8,0x8,0x0,0xf8,0x88,0x88,0x90,0x90,0xa0,0x90,0x88,0x84,0x84,0xc4,0xa8,0x90,0x80,0x80,
-+0x8,0xfc,0xb,0x48,0x48,0x49,0x4f,0x48,0x7d,0x5,0x5,0x1d,0xe5,0x45,0x14,0x8,0x40,0x48,0xfc,0x40,0xb0,0x14,0xfe,0x8,0xe8,0x28,0x28,0x28,0xe8,0x8,0x28,0x10,
-+0x8,0x8,0x8,0x7e,0x8,0x8,0xfe,0x8,0x28,0x2e,0x28,0x28,0x28,0x58,0x8f,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x88,0x80,0x84,0x84,0x7c,0x0,0x6,0xfc,0x0,
-+0x1,0x21,0x21,0x21,0x3f,0x0,0x7f,0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x1f,0x0,0x8,0x8,0x8,0xf8,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x0,0x2,0x2,0xfe,
-+0x8,0x8,0x10,0x1f,0x20,0x40,0x9f,0x0,0x1,0x6,0x8,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x8,0xfc,0x0,0x0,0xe0,0x40,0x80,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,
-+0x1,0x1,0x2,0x4,0x9,0x11,0x21,0xc9,0x9,0x9,0x9,0x9,0x9,0x9,0xff,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0xe,0x24,0xf0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x1,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x1f,0x18,0x28,0x28,0x48,0x8f,0x8,0x0,0x84,0xfe,0x4,0x4,0x4,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xa,0x7f,0x8,0x3e,0x8,0x7f,0x8,0x9,0x1,0xff,0x1,0x2,0x4,0x18,0x60,0x0,0x4,0x7e,0x24,0x24,0x24,0x44,0x54,0x88,0x0,0xfe,0x0,0x80,0x60,0x1c,0x8,
-+0x1,0x9,0xfd,0x11,0x11,0x21,0x27,0x79,0xa9,0x29,0x29,0x29,0x29,0x38,0x20,0x1,0x0,0x4,0x7e,0x24,0x24,0xe4,0x24,0x24,0x24,0x24,0x64,0xa4,0x24,0x44,0x94,0x8,
-+0x3e,0x22,0x22,0x22,0x3e,0x1,0x1,0xff,0x2,0xc,0x30,0xfe,0x22,0x22,0x22,0x3e,0xf8,0x88,0x88,0x88,0xf8,0x20,0x14,0xfe,0x80,0x60,0x18,0xfe,0x88,0x88,0x88,0xf8,
-+0x10,0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0xf0,0x0,0xe0,0x20,0x20,0x20,0x20,0x20,0x22,0x12,0xa,0x4,
-+0x1,0x41,0x31,0x12,0x4,0x1,0xf0,0x10,0x11,0x12,0x12,0x12,0x11,0x10,0x28,0x47,0x0,0x8,0xfc,0x0,0x0,0xf8,0x10,0x60,0x80,0x0,0x4,0x4,0xfc,0x0,0x6,0xfc,
-+0x2,0x1,0x7f,0x2,0x4,0x8,0x1f,0x4,0x4,0xff,0x4,0x4,0x4,0x8,0x30,0x0,0x0,0x8,0xfc,0x0,0x40,0x20,0xf0,0x50,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x2,0x42,0x33,0x14,0x87,0x68,0x27,0x0,0x10,0x20,0xe0,0x20,0x20,0x20,0x20,0x20,0x0,0x8,0xfc,0x0,0xf8,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0xa,0xa,0x6,
-+0x0,0x40,0x30,0x17,0x0,0x82,0x42,0x4a,0x12,0x21,0xe1,0x21,0x21,0x20,0x2f,0x20,0x80,0x40,0x48,0xfc,0x0,0x8,0x8,0x8,0x10,0x10,0x10,0x20,0x20,0x44,0xfe,0x0,
-+0x1,0x41,0x21,0x22,0x2,0x4,0xeb,0x20,0x20,0x20,0x20,0x21,0x2a,0x32,0x21,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0xf0,0x10,0x20,0x40,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x11,0x12,0xfc,0x10,0x17,0x1a,0x32,0xd2,0x13,0x12,0x12,0x12,0x53,0x22,0x80,0x80,0xfc,0x8,0x10,0xa4,0x1e,0x4,0x4,0x4,0xbc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x10,0x59,0x56,0x54,0x9b,0x10,0x10,0x13,0x12,0x12,0x12,0x13,0x12,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,0xf8,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x10,0x81,0x62,0x2c,0x3,0x10,0x20,0xe3,0x22,0x22,0x22,0x23,0x22,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,0xf8,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x1,0x3f,0x2,0x4,0x8,0x7f,0x49,0x89,0x1f,0x21,0x1,0x7f,0x1,0x1,0x1,0x0,0x10,0xf8,0x80,0x60,0x20,0xfe,0x2,0x24,0xf0,0x0,0x8,0xfc,0x0,0x0,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x14,0x1f,0x30,0xd0,0x10,0x10,0x10,0x10,0x50,0x20,0x10,0x38,0xc0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x11,0x1c,0x20,0x40,0xbc,0x13,0x10,0xfc,0x10,0x10,0x14,0x18,0x10,0x0,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x1c,0x20,0x40,0xbd,0x12,0x10,0xfd,0x11,0x11,0x15,0x19,0x11,0x1,0x8,0xfc,0x88,0x88,0x88,0x88,0x6,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x3f,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x20,0xf0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x40,0x33,0x10,0x0,0x0,0xf7,0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x47,0x0,0x10,0x38,0xc0,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x6,0xfc,0x0,
-+0x10,0x12,0x1f,0x28,0x45,0x2,0x4,0x8,0x30,0xcf,0x0,0x12,0x9,0x9,0x0,0x3f,0x40,0x48,0x7c,0xa0,0x10,0x80,0x40,0x30,0x4e,0xe4,0x0,0x10,0x10,0x20,0x40,0xf8,
-+0x8,0x8,0xb,0x10,0x10,0x30,0x50,0x9f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0xc0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x42,0x21,0x2f,0x1,0x7,0xe1,0x21,0x3f,0x21,0x21,0x27,0x29,0x33,0x25,0x9,0x1,0x10,0x20,0xfc,0x20,0xf8,0x28,0x28,0xfe,0x28,0x28,0xf8,0x20,0x30,0x2e,0x24,0x20,
-+0x10,0x14,0xfe,0x10,0x10,0x7d,0x46,0x7c,0x44,0x7c,0x10,0x14,0xfe,0x10,0x10,0x10,0x40,0x40,0x44,0x7e,0x80,0x0,0xf8,0x10,0x20,0x40,0x40,0x80,0x82,0x82,0x7e,0x0,
-+0x1,0x7f,0x49,0x6b,0x5d,0x49,0x7f,0x8,0x7f,0x8,0x7f,0x0,0x55,0x55,0x94,0x0,0x10,0x90,0x28,0x28,0x44,0x86,0x20,0x10,0x0,0x7c,0x4,0x4,0x8,0x8,0x90,0x0,
-+0x10,0x10,0x10,0x3c,0x43,0x80,0x3c,0x10,0x13,0xfc,0x10,0x10,0x14,0x18,0x11,0x0,0x40,0x50,0x48,0x7c,0xc0,0x40,0x44,0x7e,0xc0,0x44,0x4c,0x30,0x20,0x52,0x8a,0x6,
-+0x10,0x10,0x10,0x1c,0x23,0x40,0xbc,0x10,0x10,0xfc,0x10,0x10,0x14,0x18,0x10,0x0,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x10,0xc,0x4,0xff,0x0,0x3e,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x22,0x2a,0x24,0x10,0x30,0x44,0xfe,0x0,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x8,0x8,0x28,0x10,
-+0x42,0x22,0x2f,0x82,0x62,0x2f,0x2,0x15,0x28,0xe7,0x24,0x24,0x27,0x24,0x24,0x27,0x10,0x10,0xbc,0x10,0x10,0xfe,0x10,0x28,0xc6,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x0,0x43,0x32,0x13,0x0,0xf,0xf0,0x13,0x12,0x13,0x12,0x13,0x12,0x13,0x2a,0x47,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xf8,0x8,0xf8,0x6,0xfc,
-+0x40,0x30,0x10,0x0,0x87,0x60,0x20,0x8,0x17,0x20,0xe0,0x20,0x20,0x23,0x2c,0x20,0x80,0xa0,0x90,0xfc,0x80,0x80,0x88,0xfc,0x80,0x90,0xa0,0x40,0xc0,0x24,0x14,0xc,
-+0x40,0x21,0x29,0x5,0x0,0xef,0x24,0x25,0x25,0x25,0x25,0x2d,0x35,0x25,0xa,0x11,0x20,0xfc,0x24,0xfc,0x20,0xfe,0x0,0xfc,0x4,0xfc,0x0,0xfc,0x4,0xfc,0x0,0xfe,
-+0x10,0xfe,0x20,0x28,0x7e,0x8,0xf,0xf9,0x4a,0x9,0x1,0x3f,0x1,0x1,0xff,0x0,0xc,0xf0,0x80,0x84,0xfe,0x90,0x90,0x10,0x10,0x10,0x0,0xf8,0x0,0x4,0xfe,0x0,
-+0x1,0x21,0x21,0x3f,0x22,0x22,0xff,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x3e,0x21,0x0,0x8,0x8,0xf8,0x28,0x20,0x7c,0x44,0xa8,0x20,0x20,0x20,0x50,0x48,0x8e,0x4,
-+0x8,0x8,0x8,0x1f,0x10,0x21,0x41,0x81,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0xc0,0x0,0x0,0x0,0xfc,0x4,0x8,0x10,0x0,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,
-+0x22,0x14,0xff,0x14,0x7f,0x15,0x15,0xff,0x15,0x15,0x7f,0x14,0x36,0x55,0x94,0x15,0x20,0x20,0xa0,0x3e,0x42,0x94,0x10,0xd0,0x10,0x10,0x28,0x28,0x48,0x4c,0x86,0x4,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x35,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x10,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,0x0,
-+0x0,0x8,0x7c,0x48,0x49,0x4a,0x4d,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x0,0x0,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x10,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,0x0,
-+0x8,0x7c,0x4b,0x4a,0x4c,0x79,0x4a,0x4c,0x48,0x7b,0x48,0x48,0x48,0x48,0x4f,0x98,0x80,0x40,0xfe,0x2,0x4,0x10,0x8,0x4,0x0,0xf8,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x8,0x4,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x2,0x2,0x2,0x4,0x8,0x10,0x60,0x20,0x48,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,
-+0x20,0x20,0x27,0x20,0xfa,0x21,0x2f,0x20,0x23,0x22,0x3a,0xe2,0x42,0x2,0x3,0x2,0x40,0x48,0xfc,0x40,0x48,0x50,0xfe,0x8,0xfc,0x8,0xe8,0xa8,0xe8,0x8,0xf8,0x8,
-+0x8,0x7f,0x9,0x1,0x7f,0x9,0x5,0xff,0x0,0x1f,0x10,0x17,0x14,0x17,0x10,0x1f,0x28,0xfc,0x20,0x8,0xfc,0x20,0x44,0xfe,0x10,0xf8,0x10,0xd0,0x50,0xd0,0x10,0xf0,
-+0x8,0xfd,0x9,0x9,0x9,0x79,0x48,0x43,0x42,0x7a,0xb,0xa,0x8,0x88,0x53,0x20,0x4,0xfe,0x4,0x4,0xfc,0x24,0x20,0xfe,0x22,0x22,0xfe,0x22,0x20,0x24,0xfe,0x2,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x50,0x20,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x10,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,0x0,
-+0x13,0x10,0x11,0x10,0xff,0x10,0x30,0x38,0x57,0x51,0x97,0x11,0x1f,0x11,0x11,0x11,0xf8,0x40,0xf0,0x40,0xf8,0x42,0x7e,0x0,0xbc,0x10,0xbc,0x10,0xbe,0x10,0x52,0x8e,
-+0x20,0x27,0x39,0x41,0x41,0xff,0x21,0x23,0xfb,0x25,0x29,0x21,0x29,0x31,0x21,0x1,0xd0,0x10,0x10,0x52,0x34,0xd8,0x10,0x10,0x90,0x50,0x28,0x28,0x44,0x44,0x82,0x0,
-+0x10,0x9,0xff,0x0,0x3e,0x22,0x3e,0x0,0x7f,0x41,0x5d,0x55,0x5d,0x41,0x45,0x42,0x10,0x10,0x94,0x1e,0x10,0x10,0xfc,0x4,0x44,0x44,0x28,0x28,0x10,0x28,0x4e,0x84,
-+0x10,0x12,0x11,0x11,0x58,0x57,0x52,0x92,0x13,0x12,0x12,0x13,0x12,0x12,0x12,0x12,0x40,0x44,0x48,0x50,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x10,0x13,0x10,0x10,0xfc,0x17,0x31,0x39,0x56,0x55,0x99,0x11,0x11,0x12,0x14,0x10,0x38,0xc0,0x40,0x40,0x84,0xfe,0x20,0x10,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x9,0x7d,0x49,0x4b,0x4d,0x79,0x49,0x49,0x49,0x79,0x49,0x49,0x49,0x7a,0x42,0x4,0x40,0x28,0xfc,0x20,0x20,0xf8,0x20,0x20,0xf8,0x20,0x28,0xfc,0x0,0xa8,0xa6,0x2,
-+0x0,0x1f,0x2,0x2,0xff,0x4,0x4,0x8,0x34,0xc4,0x4,0x4,0x8,0x8,0x10,0x0,0xf0,0x0,0x0,0x4,0xfe,0x40,0x20,0x50,0x4e,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x8,0xb,0x8,0x10,0x10,0x3f,0x51,0x91,0x12,0x15,0x19,0x11,0x11,0x12,0x14,0x10,0x38,0xc0,0x40,0x40,0x84,0xfe,0x20,0x10,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0xb,0xfc,0x10,0x10,0x10,0x10,0x11,0x10,0x10,0x1e,0xf0,0x40,0x0,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x80,0x84,0xfe,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x44,0x45,0xfe,0x44,0x7c,0x11,0x7d,0x55,0x55,0x55,0x7d,0x11,0xff,0x11,0x11,0x11,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x13,0x10,0x11,0x10,0xff,0x10,0x14,0x18,0x37,0xd1,0x17,0x11,0x1f,0x11,0x51,0x21,0xf8,0x40,0xf0,0x40,0xf8,0x42,0x7e,0x0,0xbc,0x10,0xbc,0x10,0xbe,0x10,0x52,0x8e,
-+0x20,0x21,0xfe,0x28,0x11,0x2a,0xc6,0x0,0xfd,0x2a,0x28,0x29,0x28,0x28,0x47,0x80,0x4,0xde,0x44,0x44,0x54,0xcc,0x44,0xcc,0x54,0x64,0x44,0x54,0x88,0x2,0xfe,0x0,
-+0x10,0x11,0x10,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x45,0x1,0x1,0x20,0x24,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x4,0x14,0x8,
-+0x8,0x9,0x8,0x10,0x11,0x31,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x20,0x24,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x4,0x14,0x8,
-+0x2,0x1,0x7f,0x44,0x88,0x10,0x3,0x7e,0x8,0x9,0x8,0x8,0xe,0x78,0x20,0x0,0x0,0x0,0xfe,0x42,0x34,0x10,0xfc,0x80,0x88,0xfc,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x10,0x10,0x11,0x10,0x14,0x1e,0xf0,0x10,0x10,0x12,0x14,0x18,0x10,0x1,0x2,0xc,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x14,0x12,0xff,0x12,0x12,0x12,0x12,0x12,0x22,0x22,0x4a,0x84,0x40,0x44,0xfe,0x40,0x40,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7c,0x44,
-+0x0,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0xff,0x0,0x20,0xf0,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0x5b,0x54,0x50,0x90,0x17,0x10,0x10,0x10,0x11,0x12,0x17,0x10,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0x80,0x80,0x10,0x8,0xfc,0x4,
-+0x2,0x1,0x7f,0x44,0x88,0x10,0x0,0x11,0x14,0xfe,0x10,0x10,0x14,0x18,0x11,0x2,0x0,0x0,0xfe,0x42,0x34,0x10,0x4,0xfe,0x44,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x10,0x10,0x10,0x1c,0x20,0x21,0x7e,0x90,0x10,0xfc,0x10,0x12,0x14,0x18,0x11,0x2,0x40,0x40,0x40,0x7c,0x84,0x8,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x8e,0x4,0x0,
-+0x8,0xb,0x8,0x13,0x10,0x33,0x50,0x97,0x14,0x19,0x11,0x10,0x10,0x10,0x11,0x16,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x2,0xf4,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x2,0x1,0x7f,0x8,0x4,0x2,0xff,0x1,0x1,0x7f,0x1,0x9,0x19,0x21,0x45,0x2,0x0,0x8,0xfc,0x20,0x40,0x84,0xfe,0x0,0x8,0xfc,0x0,0x20,0x18,0xc,0x4,0x0,
-+0x1,0x7f,0x1,0x3f,0x2,0xff,0x4,0x8,0x37,0xc1,0x1f,0x1,0x5,0x9,0x31,0x1,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x40,0xe0,0x1e,0x24,0xf0,0x0,0x60,0x18,0x8,0x0,
-+0x4,0x7e,0x8,0x3e,0x8,0x7e,0x1,0x2,0xc,0x32,0xc1,0xf,0x0,0x0,0x0,0x1,0x8,0xfc,0x20,0xf8,0x20,0xfc,0x0,0x80,0x60,0x1e,0x4,0xe0,0x20,0x40,0x80,0x0,
-+0x22,0xff,0x22,0x3e,0x8,0x7f,0x49,0x49,0x7f,0x8,0x7f,0x8,0x3e,0x8,0xff,0x1,0x20,0xa0,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x94,0x8,
-+0x8,0x8,0xff,0x8,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x20,0x20,0xfe,0x20,0x18,0xe0,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x11,0x12,0xfd,0x10,0x12,0x1a,0x33,0xd0,0x17,0x14,0x14,0x15,0x54,0x24,0x40,0xa0,0x10,0x48,0xf6,0xa4,0x48,0xa8,0xf8,0x44,0xfe,0x84,0xa4,0xf4,0x4,0xc,
-+0x1,0x2,0x6,0x8,0x3f,0xc4,0x13,0x14,0x1f,0x1,0x3f,0x22,0x24,0x2f,0x20,0x20,0x0,0x80,0x40,0x30,0xfe,0x44,0x90,0x50,0xf0,0x8,0xfc,0x8,0x48,0xe8,0x8,0x18,
-+0x1,0x7f,0x40,0x97,0x10,0x97,0x50,0x57,0x10,0x37,0x58,0x93,0x11,0x10,0x11,0x16,0x0,0xfe,0x2,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x4,0xf0,0x20,0xc0,0x20,0x1c,
-+0x20,0x18,0x8,0x80,0x61,0x21,0x1,0x15,0x25,0x25,0xe9,0x29,0x21,0x21,0x20,0x20,0x0,0x80,0x40,0x60,0x20,0x20,0x0,0x8,0x4,0x6,0x2,0x8,0x8,0x8,0xf8,0x0,
-+0x1,0x1,0x7f,0x1,0x3f,0x1,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x10,0x11,0x14,0xfe,0x20,0x28,0x4b,0x7c,0x8,0x9,0xe,0xf8,0x48,0x8,0xb,0x8,0x0,0xfc,0x8,0x10,0x38,0xcc,0x2,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x1f,0x10,0x2f,0x40,0xbf,0x0,0x3f,0x2,0xd,0x70,0x1f,0x2,0x2,0x7f,0x0,0x8,0xfc,0x0,0xf8,0x10,0xf8,0x10,0x90,0x10,0x90,0x70,0xd0,0x10,0x52,0xea,0x6,
-+0x10,0x13,0x10,0x28,0x29,0x69,0xaf,0x29,0x29,0x29,0x2b,0x2d,0x28,0x20,0x20,0x23,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x4c,0x86,0x2,
-+0x8,0x77,0x44,0x54,0x54,0x57,0x54,0x54,0x54,0x57,0x74,0x55,0x14,0x25,0x46,0x80,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x24,0x34,0xa8,0xa0,0x20,0x20,
-+0x0,0x40,0x37,0x10,0x83,0x60,0x2f,0x8,0x13,0x22,0xe3,0x22,0x23,0x22,0x22,0x22,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0x24,0xff,0x24,0x3f,0x41,0xbd,0x25,0x3d,0x2,0x3f,0x1,0x1f,0x1,0xff,0x1,0x3,0x20,0x24,0x3e,0x44,0xa8,0x10,0x2e,0x44,0x70,0x80,0x0,0xf0,0x4,0xfe,0x0,0x0,
-+0x0,0x8,0x7f,0x48,0x4b,0x48,0x4f,0x78,0x4b,0x4a,0x4b,0x4a,0x7b,0x4a,0x2,0x2,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0x10,0x1f,0x10,0x2f,0x40,0xbf,0x4,0x3f,0x4,0x3f,0x4,0x7f,0x0,0x9,0x6,0x2,0x8,0xfc,0x0,0xf8,0x10,0xf8,0x10,0x90,0x10,0x90,0x10,0xd0,0x90,0x12,0xa,0x6,
-+0x10,0x17,0x10,0x13,0x58,0x57,0x50,0x93,0x12,0x13,0x12,0x13,0x12,0x12,0x12,0x12,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x4f,0x40,0x40,0x53,0x7a,0x42,0x42,0x42,0x4a,0x52,0x62,0x40,0x1,0x2,0xc,0x4,0xfe,0x40,0x88,0xfc,0x8,0x48,0x48,0x48,0x48,0x48,0x88,0xa0,0x18,0xc,0x4,
-+0x0,0x47,0x20,0x23,0x0,0xef,0x20,0x23,0x22,0x23,0x22,0x23,0x2a,0x32,0x22,0x2,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x1,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x21,0x21,0x22,0x22,0x44,0x88,0x30,0x0,0x88,0xfc,0x80,0x80,0x88,0xfc,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0xe,0x4,
-+0x0,0x10,0xf8,0x27,0x20,0x23,0xfa,0x22,0x22,0x23,0x20,0x39,0xe3,0x44,0x1,0x0,0x80,0x40,0x4,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x2,0x1,0x7f,0x40,0x84,0xc,0x12,0x2,0x3f,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0x0,0x0,0xfe,0x2,0x44,0x30,0x10,0x8,0xfc,0x8,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x8,0x1c,0xf0,0x10,0x11,0xfd,0x11,0x32,0x38,0x54,0x50,0x91,0x11,0x12,0x14,0x18,0x40,0x40,0x40,0x40,0x44,0x4c,0x50,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,0x0,
-+0x0,0x0,0x1,0xe,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0x8,0x8,0x8,0xff,0x0,0x20,0x70,0x80,0x0,0x0,0x0,0x10,0xf8,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x2,0x6,0x38,0x20,0x20,0x21,0x3f,0x22,0x22,0x22,0x22,0x22,0x3f,0xe0,0x40,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0xd0,0x48,0x44,0x42,0x42,0x62,0xd4,0x48,0x40,0x40,
-+0x0,0x8,0xfc,0x13,0x10,0x12,0x7d,0x11,0x10,0x10,0x11,0x1e,0xe4,0x0,0x1,0x0,0x40,0x50,0x48,0xfe,0x40,0x44,0x4c,0x50,0x60,0xd0,0x50,0x4e,0x44,0x40,0x40,0x80,
-+0x1,0x1,0x1,0x7f,0x1,0x21,0x19,0x9,0x3,0x5,0x9,0x11,0x61,0x1,0x5,0x2,0x0,0x40,0x28,0xfc,0x0,0x8,0x18,0xa0,0x40,0x40,0x30,0xe,0x4,0x0,0x0,0x0,
-+0x0,0x7f,0x40,0x41,0x41,0x41,0x41,0x42,0x42,0x44,0x44,0x48,0x50,0x40,0x7f,0x40,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x84,0x84,0x44,0x24,0x3c,0x14,0x4,0xfc,0x4,
-+0x10,0xc,0x4,0xff,0x4,0x4,0x3f,0x24,0x24,0x38,0x20,0x2f,0x20,0x20,0x3f,0x20,0x10,0x30,0x44,0xfe,0x40,0x48,0xfc,0x48,0x48,0x38,0x8,0xe8,0x8,0x8,0xf8,0x8,
-+0x40,0x37,0x14,0x4,0x84,0x44,0x54,0x14,0x14,0x24,0xe4,0x25,0x26,0x24,0x27,0x24,0x4,0xfe,0x4,0x44,0x44,0x44,0x44,0xa4,0xa4,0xa4,0x94,0x1c,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x8,0x7e,0x9,0x8,0xff,0x8,0x28,0x2e,0x28,0x28,0x29,0x58,0x88,0x7,0x40,0x40,0x78,0x88,0x10,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x0,0x6,0xfc,
-+0x0,0x3f,0x20,0x28,0x24,0x22,0x21,0x20,0x21,0x22,0x24,0x28,0x20,0x20,0x3f,0x0,0x8,0xfc,0x0,0x8,0x18,0x20,0x40,0x80,0x40,0x30,0x18,0x8,0x0,0x4,0xfe,0x0,
-+0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xf5,0x47,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x4,0x4,0x4,0x4,0x7f,0x44,0x44,0x44,0x44,0x7f,0x44,0x44,0x44,0x44,0x7f,0x40,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x8,0x11,0x7d,0x45,0x7d,0x45,0x7d,0x45,0x45,0xfd,0x15,0x25,0x45,0x85,0x15,0x8,0x4,0xfe,0x0,0x44,0x44,0x28,0x28,0x10,0x10,0x28,0x28,0x44,0x84,0x0,0xfe,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x28,0x28,0x28,0x2f,0x20,0x30,0x50,0x50,0x9f,0x10,0x4,0xfe,0x4,0x4,0xfc,0x80,0x88,0x88,0x88,0xf8,0x80,0x84,0x84,0x84,0xfc,0x4,
-+0x8,0xfd,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x45,0x15,0x8,0x4,0xfe,0x0,0x44,0x44,0x28,0x28,0x10,0x10,0x28,0x28,0x44,0x84,0x0,0xfe,0x0,
-+0x23,0x12,0x43,0x22,0xa,0x13,0x62,0x23,0x20,0x0,0xff,0x5,0x9,0x11,0x61,0x1,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x0,0xfc,0x0,0x4,0xfe,0x40,0x20,0x1c,0x8,0x0,
-+0x1,0xff,0x22,0x23,0x3e,0x22,0x22,0x3e,0x22,0x22,0x22,0x3e,0xe2,0x42,0x3,0x2,0x0,0x80,0x0,0xfc,0x4,0x84,0x88,0x88,0x48,0x50,0x20,0x50,0x48,0x8e,0x4,0x0,
-+0x0,0x7f,0x22,0x3e,0x22,0x3e,0x22,0xff,0x2,0x1,0xff,0x4,0xc,0x2,0x1,0xe,0x0,0x0,0xfc,0x44,0x48,0x28,0x10,0x2e,0x44,0x0,0xfe,0x20,0x20,0x40,0x80,0x70,
-+0x10,0x13,0x10,0x5d,0x51,0x51,0xfd,0x0,0x55,0x55,0x55,0x6d,0x45,0x7d,0x45,0x1,0xc,0xf0,0x24,0xfe,0x24,0x24,0xfc,0x20,0xfc,0x24,0x24,0x54,0x74,0x4,0x14,0x8,
-+0x10,0x17,0x12,0x7e,0x13,0x12,0xfe,0x13,0x52,0x5e,0x52,0x57,0x70,0x50,0x8f,0x0,0x40,0xe0,0x40,0x7c,0xc4,0x54,0x54,0xd4,0x48,0x54,0x52,0xe2,0x40,0x46,0xfc,0x0,
-+0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0xff,0x2,0x2,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x40,0x20,0x10,0xf8,0x8,
-+0x0,0x7f,0x49,0x45,0x5f,0x42,0x7f,0x44,0x4f,0x74,0x45,0x44,0x43,0x40,0x7f,0x40,0x4,0xfe,0x24,0x44,0xf4,0x4,0xfc,0x44,0xe4,0x5c,0x84,0x24,0xe4,0x4,0xfc,0x4,
-+0x22,0x22,0xff,0x22,0x77,0x55,0x77,0x24,0x3f,0x64,0xbf,0x24,0x3f,0x24,0x3f,0x20,0x4,0xfe,0x90,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x10,0x28,0x46,0x82,
-+0x10,0x10,0x13,0x10,0xfe,0x12,0x31,0x39,0x55,0x50,0x90,0x10,0x11,0x12,0x14,0x10,0x0,0x0,0xf8,0x8,0x8,0x8,0x8,0x10,0x10,0xa0,0x40,0xa0,0x10,0xe,0x4,0x0,
-+0x4,0xfe,0x2b,0x28,0xfe,0xaa,0xaa,0xab,0xc6,0x82,0xfe,0x82,0x82,0xfe,0x83,0x0,0x88,0x88,0xfe,0x88,0x20,0x50,0x8e,0x4,0xf8,0x20,0x20,0xf8,0x20,0x24,0xfe,0x0,
-+0x2,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x1,0x7d,0x5,0x9,0x11,0x21,0xc5,0x2,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0x8c,0x50,0x20,0x10,0xe,0x4,0x0,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x2f,0xc1,0x1,0x1,0xf,0x1,0x1,0x1,0x7f,0x0,0x0,0x0,0x80,0x40,0x20,0x50,0xee,0x4,0x0,0x40,0xe0,0x0,0x0,0x8,0xfc,0x0,
-+0x0,0x0,0x1f,0x10,0x90,0x51,0x52,0x1d,0x30,0x50,0xd3,0x10,0x20,0x20,0x4f,0x0,0x80,0x44,0xfe,0x40,0xa0,0x10,0xe,0xf4,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x1,0x9,0x5,0x7f,0x2,0xff,0x4,0x9,0x1f,0x21,0xcf,0x1,0x3f,0x1,0x5,0x2,0x0,0x20,0x48,0xfc,0x0,0xfe,0x40,0xe0,0x10,0xe,0xe4,0x0,0xf8,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0x0,0x40,0x30,0x10,0x4,0xfe,0x0,0x0,0x80,0x80,0x40,0x20,0x10,0xe,0x4,0x0,
-+0x1,0x9,0x5,0x7f,0x2,0xff,0x4,0x8,0x1f,0x22,0xc2,0x4,0x4,0x8,0x10,0x20,0x0,0x20,0x48,0xfc,0x0,0xfe,0x40,0x20,0xf0,0x2e,0x24,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x0,0x7e,0x2,0x23,0x22,0x14,0x14,0x8,0x14,0x14,0x22,0x42,0x81,0x2,0x4,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x20,0x20,0x24,0x3e,0x51,0x90,0x14,0xfe,0x13,0x54,0x54,0x54,0x54,0x7d,0x46,0x4,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0xfe,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x10,0x10,0x12,0x56,0x59,0x50,0x90,0x10,0x17,0x28,0x28,0x24,0x44,0x41,0x82,0x4,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0xfe,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x0,0x1f,0x12,0x9f,0x52,0x52,0x12,0x15,0x38,0x57,0xd4,0x15,0x24,0x24,0x45,0x4,0x84,0xfe,0x0,0xbc,0xa4,0xa4,0xa4,0xbc,0x44,0xfe,0x44,0xb4,0x44,0xa4,0x14,0x8,
-+0x8,0x8,0xa,0x7f,0x8,0x8,0x9,0xff,0x8,0x10,0x10,0x24,0x22,0x7f,0x1,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0xc4,0x44,0x44,0x64,0x54,0x48,0x40,0x40,0x40,
-+0x24,0x24,0x24,0x7e,0x24,0x24,0xff,0x0,0x7e,0x42,0x42,0x7e,0x43,0x42,0x7e,0x42,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x14,0xfc,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x12,0xfc,0x11,0x31,0x3b,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x40,0x40,0xfe,0xa2,0xa4,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x0,0x4,0xfe,0x10,0x11,0x23,0x25,0x7d,0xa5,0x25,0x25,0x25,0x25,0x3d,0x22,0x4,0x40,0x40,0x78,0x90,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x1,0x9,0xd,0x11,0x21,0x3,0xc,0x30,0xdf,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x0,0x20,0x18,0x4c,0x84,0x0,0x0,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfe,0x0,
-+0x20,0x11,0x10,0x0,0xfb,0x8,0x10,0x35,0x58,0x95,0x11,0x12,0x14,0x10,0x10,0x10,0x4,0xfe,0x84,0x84,0xfe,0x84,0x84,0xfc,0x80,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,
-+0x2,0x7f,0x22,0x22,0xff,0x22,0x22,0x7e,0x20,0x42,0xbf,0x22,0x22,0x22,0x3e,0x22,0x82,0x44,0x28,0xfe,0x10,0x10,0x14,0xfe,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x10,0x1e,0x22,0x33,0x4a,0xa4,0x14,0x8,0x11,0x22,0x40,0x24,0x24,0x40,0x20,0x20,0x28,0x24,0x20,0xfe,0x20,0x50,0x50,0x88,0xe,0x4,0x0,0x48,0x46,0x2,
-+0x11,0x11,0x11,0x15,0x5a,0x53,0x54,0x9a,0x11,0x12,0x20,0x28,0x44,0x42,0x82,0x4,0x10,0x18,0xd4,0x50,0x7e,0x50,0x90,0x90,0x28,0x28,0x46,0x84,0x0,0xa8,0xa4,0x4,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0xff,0x20,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xfe,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x20,0x10,0x43,0x20,0x8,0x51,0x22,0x25,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x80,0x90,0xf8,0x90,0x90,0x12,0x12,0xe,0x0,0xfe,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x10,0xfe,0x0,0xee,0xaa,0xee,0x28,0xfe,0x28,0x7c,0x28,0xfe,0x24,0x68,0xa5,0x32,0x8,0x1c,0xe0,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa4,0xaa,0x38,0x0,
-+0x20,0x27,0x20,0x23,0xfa,0x23,0x21,0x27,0x21,0x23,0x39,0xef,0x41,0x3,0xd,0x1,0x44,0xfe,0x0,0xb8,0xa8,0xb8,0x10,0xfc,0x10,0xf8,0x10,0xfe,0x48,0x30,0xe,0x84,
-+0x10,0x17,0x10,0x13,0xfe,0x13,0x11,0x1f,0x31,0xd3,0x11,0x1f,0x11,0x13,0x55,0x21,0x44,0xfe,0x0,0xb8,0xa8,0xb8,0x10,0xfc,0x10,0xf8,0x10,0xfe,0x48,0x30,0xe,0x84,
-+0x0,0xf,0x70,0x53,0x52,0x53,0x51,0x57,0x51,0x53,0x51,0x5f,0x71,0x43,0xd,0x1,0x44,0xfe,0x0,0xb8,0xa8,0xb8,0x10,0xfc,0x10,0xf8,0x10,0xfe,0x48,0x30,0xe,0x84,
-+0x0,0x40,0x30,0x10,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x12,0x14,0x18,0x17,0x0,0x40,0x40,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x20,0x20,0x20,0x38,0x4f,0x50,0x80,0x20,0x27,0x20,0x27,0x21,0x29,0x31,0x22,0xc,0x80,0x80,0x88,0xfc,0x80,0x50,0x22,0xd2,0xe,0x8,0xfc,0x20,0x20,0x22,0x22,0x1e,
-+0x10,0x10,0x10,0x10,0xfc,0x13,0x14,0x18,0x30,0xd0,0x10,0x10,0x11,0x11,0x52,0x24,0x40,0x50,0x48,0x40,0x44,0xfe,0x40,0x60,0xa0,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x20,0x20,0x47,0xf8,0x10,0x20,0x47,0xf8,0x7,0x1,0x19,0xe1,0x42,0xc,0x80,0x80,0x88,0xfc,0x80,0x50,0x22,0xd2,0xe,0x8,0xfc,0x20,0x20,0x22,0x22,0x1e,
-+0x8,0x8,0x7f,0xa,0x2,0xff,0x4,0xf,0x18,0x28,0xcf,0x2,0x29,0x28,0x48,0x7,0x20,0x28,0xfc,0x20,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x0,0x88,0x84,0x14,0xf0,
-+0x8,0x8,0x8,0x7f,0x8,0xa,0x1c,0x68,0x8,0x8,0x29,0x12,0x0,0x48,0x44,0x84,0x40,0x40,0x48,0xfc,0x48,0x48,0xc8,0x48,0xa8,0x8a,0xa,0x4,0x0,0x88,0x46,0x42,
-+0x0,0x0,0x3f,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x3f,0x0,0x10,0x78,0x80,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x2,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,
-+0x0,0x7f,0x2,0x12,0x12,0x22,0x4,0x18,0x60,0x0,0x4,0x13,0x51,0x50,0x8f,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x50,0x20,0x0,0x0,0x0,0x14,0x12,0xf2,0x0,
-+0x10,0x10,0x15,0xfe,0x10,0x10,0x7c,0x10,0x11,0xfe,0x12,0x12,0x1a,0x14,0x10,0x13,0x0,0x4,0xfe,0x24,0x24,0xa4,0xa4,0xa4,0x24,0x24,0x24,0x44,0x44,0x84,0x94,0x8,
-+0x8,0x8,0xb,0x10,0x10,0x30,0x50,0x9f,0x10,0x10,0x10,0x10,0x10,0x17,0x10,0x10,0x0,0x18,0xe0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x48,0xfc,0x0,0x0,
-+0x0,0x40,0x30,0x10,0x0,0x0,0xf0,0x10,0x10,0x11,0x11,0x15,0x1a,0x12,0x4,0x8,0x40,0x40,0x40,0x40,0x40,0x40,0xa0,0xa0,0xa0,0x10,0x10,0x10,0x8,0x8,0x6,0x4,
-+0x0,0x7f,0x1,0x1,0x1,0x9,0x9,0x11,0x21,0x1,0x2,0x2,0x4,0x8,0x10,0x60,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x11,0x10,0xfc,0x24,0x24,0x27,0x24,0x44,0x28,0x10,0x28,0x44,0x85,0x0,0x8,0x3c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x28,0xfc,0x0,
-+0x10,0x10,0x23,0x20,0x44,0xf9,0x11,0x22,0x40,0xfc,0x0,0x0,0x1c,0xe1,0x42,0x4,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x84,0x4,0x28,0x10,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x14,0x18,0x30,0xd0,0x11,0x11,0x11,0x12,0x54,0x28,0x0,0x8,0xfc,0x88,0x88,0x90,0x94,0xbe,0x84,0x84,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x1f,0x21,0x21,0x61,0xa1,0x21,0x21,0x21,0x22,0x22,0x22,0x24,0x28,0x30,0x0,0x8,0xfc,0x8,0x8,0x8,0x10,0x14,0x3e,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,
-+0x0,0x0,0x0,0xff,0x0,0x8,0x8,0x8,0x7e,0x8,0x8,0x10,0x11,0x22,0x4c,0x0,0x80,0xa0,0x94,0xfe,0x80,0x80,0x88,0x88,0x90,0x60,0x40,0xc0,0x20,0x12,0xa,0x6,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x8,0xf,0x8,0xf,0x8,0x8,0x7f,0x0,0x0,0x0,0x40,0x44,0xfe,0x40,0x8,0xfc,0x20,0xe0,0x20,0xe0,0x28,0x3c,0xe0,0x20,0x20,0x20,
-+0x8,0x8,0xff,0x8,0x1,0x7f,0x40,0x89,0x12,0x4,0x1f,0x28,0xc8,0x8,0xf,0x8,0x20,0x24,0xfe,0x20,0x0,0xfe,0x2,0x24,0x90,0x40,0xf0,0x2e,0x24,0x20,0xe0,0x20,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x41,0x81,0x1,0x7f,0x3,0x5,0x9,0x11,0x61,0x1,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0x4,0x0,0xfc,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x2,0x7f,0x0,0x3e,0x22,0x22,0x3e,0x0,0x7f,0x63,0x55,0x7f,0x49,0x49,0x49,0x43,0x10,0x10,0x10,0x14,0x7e,0x54,0x54,0x54,0x54,0x7c,0x54,0x10,0x10,0x14,0xfe,0x2,
-+0x10,0x10,0x17,0x14,0x59,0x52,0x54,0x91,0x12,0x14,0x1b,0x12,0x2a,0x26,0x43,0x82,0x80,0x40,0xfe,0x2,0x14,0x48,0xa4,0x10,0xe,0x4,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x40,0x30,0x17,0x4,0x89,0x62,0x24,0x1,0x12,0x24,0xeb,0x22,0x22,0x22,0x23,0x22,0x80,0x40,0xfe,0x2,0x14,0x48,0xa4,0x10,0xe,0x4,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x1,0x7f,0x40,0x84,0x9,0x12,0x4,0x8,0x10,0x2f,0xc8,0x8,0x8,0xf,0x8,0x0,0x0,0xfe,0x2,0x44,0x30,0x90,0x40,0x20,0x10,0xee,0x24,0x20,0x20,0xe0,0x20,
-+0x10,0x10,0x20,0x27,0x44,0xf9,0x11,0x21,0x47,0xf9,0x1,0x1,0x1a,0xe2,0x45,0x0,0x20,0x30,0x28,0xfe,0x20,0x24,0x24,0x28,0xe8,0x28,0x30,0x20,0x50,0x92,0xa,0x6,
-+0x0,0x0,0x7f,0x40,0x80,0xf,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0xfe,0x2,0x44,0xe0,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0x44,0x3c,0x0,
-+0x10,0x13,0x10,0x10,0xfb,0x10,0x11,0x1a,0x30,0xd7,0x10,0x11,0x11,0x12,0x54,0x20,0x0,0xf8,0x90,0x60,0xfc,0xa8,0x20,0x60,0x44,0xfe,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x0,0x1f,0x2,0x1,0x7f,0x2,0x4,0x19,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x0,0xe0,0x40,0x80,0xfc,0x88,0x90,0x80,0x4,0xfe,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x1,0x1,0x1,0x7f,0x41,0x41,0x42,0x44,0x49,0x41,0x42,0x44,0x48,0x40,0x40,0x40,0x0,0x0,0x4,0xfe,0x4,0x4,0x84,0x64,0x24,0x4,0x84,0x64,0x24,0x4,0x14,0x8,
-+0x4,0x4,0xff,0x4,0x14,0x10,0xfe,0x22,0x22,0x22,0x42,0x24,0x14,0x8,0x14,0x62,0x40,0x44,0xfe,0x40,0x40,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,
-+0x20,0x23,0x20,0x27,0xfd,0xac,0xa9,0xa8,0xaf,0xf8,0xa3,0x22,0x2a,0xfa,0x4a,0x2,0x10,0xf8,0x40,0xfe,0x52,0xe4,0x50,0x40,0xfc,0x88,0xfc,0xa8,0xa8,0xa8,0xa8,0x18,
-+0x10,0x13,0x10,0x27,0x25,0x68,0xa1,0x20,0x2f,0x20,0x27,0x24,0x24,0x24,0x24,0x24,0x10,0xf8,0x40,0xfe,0x52,0xe4,0x50,0x44,0xfe,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x0,0xfb,0x8,0x17,0x25,0x28,0x21,0x28,0x37,0xe0,0x27,0x24,0x24,0x24,0xa4,0x44,0x10,0xf8,0x40,0xfe,0x52,0xe4,0x50,0x44,0xfe,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x10,0x10,0x10,0x10,0xfe,0x22,0x22,0x22,0x22,0x42,0x24,0x14,0x8,0x14,0x22,0x40,0x0,0x0,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,
-+0x0,0x3f,0x20,0x2f,0x20,0x3f,0x29,0x28,0x4a,0x8c,0x0,0xff,0x4,0x2,0x0,0x0,0x10,0xf8,0x0,0xf0,0x0,0xfc,0x10,0xa0,0x60,0x1c,0x20,0xfe,0x20,0x20,0xa0,0x40,
-+0x2,0xf,0x70,0x29,0x2a,0x7f,0x2,0xc,0x8,0xb,0xc,0x38,0xc8,0x8,0x28,0x10,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x42,0x3e,0x0,
-+0x20,0x18,0x8,0x80,0x60,0x2f,0x1,0x9,0x12,0x24,0xe2,0x21,0x20,0x21,0x22,0x2c,0x80,0x80,0x80,0x80,0x84,0xfe,0x8,0x8,0x8,0x10,0x10,0x20,0xc0,0x20,0x18,0x8,
-+0x4,0x2,0x1,0x1,0x1,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0xe,0x4,
-+0x20,0x13,0x12,0x3,0xfe,0xb,0x12,0x36,0x5a,0x94,0x10,0x17,0x11,0x10,0x10,0x10,0x8,0xfc,0x0,0xfc,0x0,0xfe,0xc4,0xa8,0x90,0xce,0x8,0xfe,0x8,0x88,0x28,0x10,
-+0x10,0x10,0x14,0xfe,0x20,0x29,0x48,0x7e,0x8,0x8,0xe,0xf8,0x48,0x8,0x9,0xa,0x40,0x40,0x40,0x7c,0x84,0x8,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x0,0x7d,0x44,0x48,0x48,0x53,0x48,0x48,0x44,0x44,0x44,0x68,0x51,0x41,0x42,0x44,0x8,0xfc,0x0,0x0,0x4,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x8,0x8,0xff,0x8,0x2,0x29,0x29,0x48,0x7,0x10,0x8,0x20,0x66,0xa5,0x3c,0x0,0x20,0x24,0xfe,0x20,0x0,0x8,0x24,0x24,0xe0,0x20,0x10,0x40,0xcc,0x4a,0x78,0x0,
-+0x0,0x14,0xfc,0x24,0x24,0x27,0x20,0xff,0x20,0x27,0x24,0x24,0x3c,0xe4,0x44,0x4,0x40,0x44,0x44,0x44,0x44,0xfc,0x0,0xfe,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x11,0x10,0x10,0x1c,0x21,0x21,0x7d,0x91,0x11,0x7c,0x10,0x10,0x15,0x19,0x12,0x4,0x4,0x88,0x50,0x4,0xfe,0x4,0x4,0x4,0xfc,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x20,0x1b,0x8,0x40,0x5f,0x41,0x41,0x41,0x4f,0x41,0x41,0x41,0x5f,0x40,0x40,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0x4,0x44,0xe4,0x4,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x4,0x43,0x31,0x14,0x85,0x44,0x44,0x14,0x15,0x24,0xe4,0x24,0x25,0x24,0x24,0x24,0x4,0x7e,0x4,0x24,0xf4,0x44,0x44,0x44,0xf4,0x44,0x44,0x44,0xf4,0x4,0x14,0x8,
-+0x8,0x8,0x7f,0x8,0xa,0x2,0xff,0x4,0x8,0x1f,0x28,0x48,0x88,0x8,0xf,0x8,0x20,0x28,0xfc,0x20,0x20,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x7e,0x2,0x2,0x7e,0x40,0x40,0x7e,0x22,0x12,0x6,0x1a,0x62,0x22,0x2,0x4,0x4,0xfe,0x4,0x4,0xfc,0x80,0x84,0xfe,0x44,0x24,0xc,0x34,0xc4,0x44,0x14,0x8,
-+0x22,0x22,0x27,0x22,0xfa,0x2f,0x20,0x2f,0x34,0xe7,0x24,0x27,0x24,0x24,0xa5,0x44,0x90,0x90,0xd4,0x9e,0xa4,0xf4,0x14,0xd4,0x54,0xd4,0x48,0xc8,0x54,0x54,0x62,0x80,
-+0x0,0x40,0x3f,0x10,0x0,0x87,0x44,0x4c,0x14,0x24,0xe5,0x26,0x24,0x24,0x27,0x24,0x0,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xa4,0xa4,0x1c,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x4,0xff,0x4,0x7c,0x45,0x48,0x50,0x49,0x45,0x45,0x65,0x59,0x41,0x42,0x44,0x40,0x44,0xfe,0x40,0x20,0xfc,0x88,0x50,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x7d,0x49,0x49,0x49,0x79,0x49,0x49,0x49,0x78,0x48,0x4a,0x4a,0x4c,0x48,0x98,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,0x0,0x40,0xa4,0xa2,0x8a,0x88,0x78,
-+0x20,0x21,0x7d,0x89,0x11,0x7d,0x55,0x55,0x7d,0x54,0x54,0x7e,0x2,0x1c,0xe0,0x40,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,0x0,0x40,0xa4,0xa2,0x8a,0x88,0x78,
-+0x2,0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0x7f,0x5,0x19,0x67,0x81,0x1,0x7f,0x0,0x0,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x40,0xfc,0x40,0x30,0xce,0x4,0x10,0xf8,0x0,
-+0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0x7f,0x8,0x1f,0x28,0xc9,0x9,0x1,0x6,0x18,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x40,0xfc,0x20,0xf0,0x2e,0x24,0x20,0x0,0xc0,0x30,
-+0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,
-+0x2,0x4,0x8,0x3f,0x2,0x2,0xff,0x4,0xf,0x10,0x20,0xcf,0x0,0x0,0x3f,0x0,0x0,0x40,0x20,0xf0,0x10,0x4,0xfe,0x40,0xe0,0x10,0x4e,0xe4,0x0,0x10,0xf8,0x0,
-+0x1,0x1,0x2,0x4,0x9,0x11,0x21,0xd1,0xd,0x5,0xff,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x80,0x40,0x20,0x10,0xe,0x14,0x30,0x44,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x24,0x24,0x7e,0x24,0x24,0xff,0x2,0x7f,0x42,0x7e,0x42,0x7e,0x42,0x42,0x4a,0x45,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x1f,0x8,0x4,0x3,0x4,0x8,0x7f,0x24,0x18,0x66,0x1,0xff,0x5,0x19,0x61,0x1,0xf0,0x20,0x40,0x80,0x40,0x20,0xfc,0x48,0x30,0xcc,0x0,0xfe,0x40,0x30,0xc,0x0,
-+0x3,0x11,0xf8,0x91,0x92,0x97,0x94,0x93,0x94,0x90,0x9f,0x90,0xf1,0x92,0xc,0x0,0xf8,0x10,0xe0,0x10,0x8,0xbc,0xa4,0x18,0xa4,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x1,0x1,0x3f,0x1,0x11,0xd,0x5,0xff,0x10,0x12,0x11,0x10,0x10,0x14,0x18,0x10,0x0,0x10,0xf8,0x0,0x10,0x30,0x44,0xfe,0x10,0x20,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x10,0x17,0x10,0x11,0xfc,0x11,0x16,0x18,0x33,0xd2,0x12,0x13,0x12,0x10,0x57,0x20,0x0,0xfc,0x48,0x10,0xe0,0x10,0x4e,0x48,0xfc,0x48,0x48,0xf8,0x40,0x48,0xfc,0x4,
-+0x8,0xff,0x9,0x48,0x48,0x48,0x4b,0x48,0x7d,0x5,0x1d,0xe5,0x45,0x4,0x15,0x8,0x0,0xfc,0x24,0x88,0x70,0x88,0x26,0x24,0xfe,0x24,0x24,0xfc,0x20,0x28,0xfc,0x4,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x14,0x19,0x30,0xd0,0x10,0x10,0x10,0x13,0x50,0x20,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x24,0x45,0x28,0x10,0x28,0x44,0x84,0x3,0xa0,0x2c,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x7e,0x8,0x8,0x3e,0x8,0x8,0x7e,0x2,0x1,0x11,0x50,0x51,0x96,0x18,0x6f,0x8,0xfc,0x20,0x20,0xf8,0x20,0x28,0xfc,0x0,0x20,0x40,0x84,0x2,0xa,0x8,0xf8,
-+0x4,0x4,0x7,0x8,0x8,0x1f,0x28,0x48,0x8,0xf,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0xf0,0x20,0x48,0xfc,0x88,0x88,0x88,0xf8,0x8,0x0,0x2,0x2,0xfe,0x0,
-+0x20,0x1b,0x8,0x81,0x62,0x20,0x9,0x12,0x24,0xe2,0x22,0x22,0x22,0x22,0x2f,0x20,0x4,0xfe,0x44,0x44,0x44,0x84,0x14,0x8,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x0,
-+0x1,0x1,0x3f,0x3,0x5,0x19,0x61,0x9,0x8,0x7e,0x8,0x1c,0x2a,0xc9,0x8,0x8,0x0,0x8,0xfc,0x80,0x60,0x1c,0x8,0x20,0x28,0xfc,0x20,0x70,0xae,0x24,0x20,0x20,
-+0x12,0x11,0x17,0x24,0x25,0x64,0xa7,0x20,0x23,0x22,0x22,0x23,0x22,0x22,0x23,0x22,0x8,0x14,0xfe,0x44,0x54,0x44,0xfc,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0xff,0x8,0x20,0x10,0x81,0x49,0x12,0x24,0xe0,0x20,0x20,0x20,0x23,0x2c,0x20,0x24,0xfe,0x20,0x40,0x40,0x48,0x46,0x42,0x48,0x50,0x20,0x40,0x80,0x0,0x0,
-+0x0,0x4,0xfe,0x10,0x10,0x20,0x20,0x3d,0x64,0xa4,0x24,0x24,0x24,0x3c,0x23,0xc,0x20,0x20,0x20,0x20,0xa8,0xa6,0xa2,0x20,0x24,0x28,0x10,0x20,0x40,0x80,0x0,0x0,
-+0x10,0x8,0x6,0x1,0x2,0xc,0x31,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x5,0x2,0x10,0x30,0xc0,0x0,0xc0,0x30,0x8,0x0,0xfe,0x80,0x40,0x20,0x1c,0x8,0x0,0x0,
-+0x20,0x11,0xa,0x4,0xa,0x11,0x64,0x4,0xff,0x4,0x15,0x14,0x24,0x44,0x14,0x8,0x84,0x84,0x24,0x24,0x24,0xa4,0xa4,0x24,0xe4,0x24,0x24,0x84,0x84,0x4,0x14,0x8,
-+0x0,0x20,0x18,0x8,0x81,0x61,0x22,0xa,0x14,0x20,0xe0,0x20,0x20,0x20,0x23,0x2c,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x50,0x20,0x40,0x80,0x0,0x0,
-+0x10,0x10,0x20,0x20,0x49,0xf9,0x12,0x22,0x44,0xf8,0x0,0x0,0x18,0xe0,0x43,0xc,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x50,0x20,0x40,0x80,0x0,0x0,
-+0x10,0x11,0x17,0x25,0x24,0x65,0xa7,0x22,0x25,0x29,0x23,0x24,0x28,0x20,0x23,0x2c,0x80,0x4,0xfe,0x14,0xe4,0x14,0xfc,0x8,0x6,0xfa,0x8,0x90,0x60,0x90,0xe,0x4,
-+0x0,0x8,0x7c,0x49,0x4b,0x4c,0x48,0x4f,0x48,0x48,0x4b,0x7a,0x4a,0x2,0x3,0x2,0x40,0x40,0xa0,0x10,0xfe,0x44,0x40,0xfc,0x40,0x48,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x1e,0x24,0x48,0xff,0x1,0x1,0x7f,0x1,0x1,0x7f,0x0,0x44,0x42,0x80,0x20,0x24,0x3e,0x44,0xa4,0x24,0x24,0x28,0x10,0x28,0x46,0x84,0x0,0x88,0x46,0x2,
-+0x12,0x1f,0x28,0x45,0x8,0x4b,0x48,0x49,0x49,0x49,0x49,0x49,0x11,0x11,0x20,0x40,0x48,0x7c,0xa0,0x10,0x4,0xfe,0x20,0xfc,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x0,0x7,0x78,0x48,0x4b,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x4b,0x7a,0x4a,0x3,0x2,0x4,0xfe,0x90,0x94,0xfe,0x94,0x94,0x94,0x94,0x94,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x17,0xfc,0x24,0x24,0x24,0xfc,0x2f,0x24,0x24,0x3c,0xe4,0x44,0x5,0x8,0x10,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xfe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x44,0x8c,
-+0x8,0x8,0xff,0x8,0x9,0x1,0x1,0x1,0x1,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x20,0x24,0xfe,0x20,0x20,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x8,0x8,0xfe,0x8,0x18,0x1c,0x2a,0x2a,0x48,0x88,0x8,0x8,0x8,0x9,0x4,0x8,0x10,0x20,0xc0,0x4,0x8,0x10,0x20,0xc0,0x2,0x4,0x8,0x10,0x60,0x80,
-+0x1,0x1,0x1,0x1,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x7f,0x40,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x0,0x7b,0x4a,0x4a,0x4a,0x4a,0x4a,0xff,0x4a,0x4a,0x4a,0x4a,0x4a,0x5a,0x42,0x84,0x44,0xe4,0x44,0x54,0x54,0x54,0x54,0xf4,0x54,0x54,0x54,0x54,0x44,0x44,0x54,0xc8,
-+0x10,0x10,0x13,0x16,0x5a,0x53,0x52,0x92,0x13,0x12,0x13,0x2a,0x25,0x44,0x89,0x0,0x40,0x24,0xfe,0x4,0x4,0xfc,0x0,0x44,0xfe,0x44,0x54,0xcc,0x54,0x44,0x54,0x88,
-+0x10,0x8,0x8,0xfe,0x2,0x4,0x8,0xa,0x1c,0x2a,0x48,0x8,0x8,0x8,0x8,0x9,0x4,0x8,0x10,0x20,0xc0,0x4,0x8,0x10,0x20,0xc0,0x2,0x4,0x8,0x10,0x60,0x80,
-+0x20,0x1b,0x8,0x40,0x41,0x41,0x41,0x41,0x42,0x42,0x44,0x48,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x84,0x44,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x0,0x78,0x48,0x57,0x50,0x62,0x51,0x48,0x4f,0x48,0x68,0x50,0x41,0x42,0x44,0x48,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x10,0x17,0x10,0x13,0xfe,0x12,0x16,0x1b,0x30,0xd1,0x11,0x11,0x11,0x11,0x50,0x27,0x40,0xfe,0x0,0xfc,0x94,0xf4,0x94,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,
-+0x0,0x7c,0x45,0x57,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x2a,0x44,0x88,0x80,0xfc,0x8,0xfe,0x44,0x92,0xfe,0x0,0x7c,0x0,0x7c,0x0,0x7c,0x44,0x44,0x7c,
-+0x2,0x79,0x4f,0x48,0x4b,0x78,0x4f,0x4a,0x49,0x7f,0x48,0x4b,0x4a,0x4a,0x4b,0x9a,0x8,0x10,0xfc,0x40,0xf8,0x40,0xfc,0x48,0x50,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,
-+0x8,0x4,0x7f,0x1,0x3f,0x1,0x7f,0x9,0x5,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x20,0x48,0xfc,0x0,0xf8,0x0,0xfc,0x20,0x44,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x0,0x40,0x30,0x10,0x84,0x64,0x24,0xc,0x14,0x24,0xe4,0x24,0x24,0x24,0x27,0x24,0x40,0x40,0x40,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x2,0x1,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x21,0x29,0x25,0x29,0x51,0x85,0x2,0x0,0x8,0xfc,0x8,0x8,0xf8,0x0,0x4,0x7e,0x4,0x24,0x14,0x24,0x44,0x14,0x8,
-+0x12,0x11,0x27,0x20,0x4b,0xf8,0x17,0x22,0x41,0xff,0x40,0x3,0x1a,0xe2,0x43,0x2,0x8,0x10,0xfc,0x40,0xf8,0x40,0xfc,0x48,0x50,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x17,0x11,0xfc,0x13,0x12,0x12,0x13,0x12,0x1e,0xf2,0x42,0x2,0x2,0x2,0x40,0x24,0xfe,0x8,0x94,0xfe,0x4,0x94,0xc,0xf4,0x94,0x94,0xf4,0x4,0x14,0x8,
-+0x9,0x9,0xa,0x13,0x14,0x38,0x50,0x97,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x18,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x8,0x8,0x8,0x50,0x20,
-+0x2,0x1,0xff,0x8,0x4,0x3f,0x20,0x24,0x28,0x37,0x24,0x24,0x24,0x27,0x20,0x20,0x0,0x4,0xfe,0x20,0x48,0xfc,0x8,0x48,0x28,0xd8,0x48,0x48,0x48,0xc8,0x28,0x10,
-+0x1,0x11,0x9,0x7f,0x40,0x8f,0x8,0xf,0x0,0x1f,0x10,0x11,0x11,0x2,0xc,0x30,0x0,0x10,0x20,0xfe,0x2,0xe4,0x20,0xe0,0x10,0xf8,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x4a,0x7a,0x4a,0x2,0x2,0x20,0x40,0x84,0xfe,0x4,0x14,0xfc,0x94,0x94,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x1,0x21,0x19,0x9,0x1,0x7f,0x40,0x40,0x4f,0x48,0x48,0x48,0x4f,0x48,0x40,0x40,0x0,0x8,0x18,0x20,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x24,0x14,0x8,
-+0x1,0x9,0x5,0x7f,0x40,0x8f,0x8,0xf,0x1,0x7f,0x5,0xc,0x14,0x25,0x46,0x4,0x0,0x20,0x40,0xfe,0x2,0xe4,0x20,0xe0,0x8,0xfc,0x10,0xa0,0x40,0x20,0x1c,0x8,
-+0x10,0x11,0x10,0x10,0xfc,0x11,0x31,0x39,0x55,0x55,0x91,0x11,0x11,0x11,0x11,0x11,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x10,0x11,0x10,0x10,0xfc,0x11,0x15,0x19,0x11,0x31,0xd1,0x11,0x11,0x11,0x51,0x21,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x8,0x1d,0xf0,0x10,0x10,0xfd,0x11,0x39,0x35,0x51,0x51,0x91,0x11,0x11,0x11,0x11,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x10,0x14,0x5f,0x50,0x50,0x90,0x17,0x10,0x17,0x29,0x25,0x45,0x82,0xc,0x80,0x80,0x88,0xfc,0x80,0x50,0x22,0xd2,0xe,0x8,0xfc,0x20,0x20,0x22,0x22,0x1e,
-+0x4,0x4,0xff,0x4,0x10,0x1f,0x10,0x20,0x24,0x43,0x81,0x0,0x0,0x0,0x0,0x0,0x40,0x44,0xfe,0x40,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x10,0x3f,0x20,0x40,0x80,0x4,0x2,0x3,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x8,0x7f,0x0,0x22,0x14,0xff,0x2,0x3f,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x4,0xfe,0x24,0x24,0x24,0x44,0x54,0x88,0x4,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x1,0x1,0x1,0x9,0x9,0x11,0x11,0x21,0x41,0x1,0x1,0x0,0x1,0x2,0xc,0x70,0x0,0x0,0x0,0x20,0x10,0xc,0x4,0x10,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x0,0x9,0x7c,0x48,0x48,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x2,0xff,0x22,0x22,0x22,0x42,0x4a,0x84,0x2,0x7f,0x42,0x42,0x42,0x7e,0x42,0x0,0x0,0xfc,0x84,0x84,0x88,0x88,0x90,0x88,0x84,0x82,0xc2,0xa2,0x94,0x88,0x80,0x80,
-+0x10,0x13,0x20,0x20,0x44,0xf9,0x11,0x22,0x44,0xfc,0x1,0x1,0x1d,0xe1,0x41,0x1,0x4,0xfe,0x84,0x84,0x84,0x4,0x4,0x14,0x8,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0x2,0xff,0x4,0xa,0x32,0xcf,0x2,0x7f,0x4,0xf,0x38,0xcf,0x8,0xf,0x8,0x0,0x8,0xfc,0x40,0x20,0x5e,0xe4,0x80,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x4,0x7e,0x44,0x54,0x55,0x56,0x54,0x54,0x57,0x54,0x54,0x10,0x29,0x26,0x44,0x80,0x20,0x20,0x50,0x88,0x6,0xf8,0x0,0x4,0xfe,0x20,0x20,0xa8,0xa6,0x22,0xa0,0x40,
-+0x10,0x10,0x10,0x11,0x7d,0x56,0x54,0x54,0x54,0x7c,0x50,0x14,0x1c,0xe4,0x40,0x0,0x40,0x20,0x20,0xfe,0x2,0x4,0x80,0x88,0x98,0xa0,0xc0,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x0,0x1f,0x1,0x1,0xff,0x1,0x1,0x1,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x20,0xf0,0x0,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0x1,0x2,0x4,0x8,0x37,0xc1,0x1,0x3f,0x1,0x1,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0x80,0x40,0x30,0xce,0x4,0x10,0xf8,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x8,0x8,0xa,0x7f,0x8,0xa,0xff,0x14,0x14,0x56,0x55,0x94,0x14,0x24,0x44,0x8c,0x20,0x20,0x20,0x24,0x7e,0x84,0x44,0x44,0x48,0x28,0x28,0x10,0x28,0x28,0x46,0x84,
-+0x10,0x13,0x11,0x11,0xfd,0x11,0x15,0x1b,0x30,0xd7,0x14,0x12,0x11,0x12,0x54,0x28,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x8,0xbc,0xa4,0xa8,0x10,0xa8,0x46,0x4,
-+0x8,0x12,0x3f,0x22,0x22,0x3f,0x22,0x3e,0x22,0x22,0xfe,0xa,0x12,0x22,0xca,0x4,0x8,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x88,0x48,0x48,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x13,0x11,0x59,0x55,0x51,0x91,0x17,0x10,0x17,0x14,0x12,0x11,0x12,0x14,0x18,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x8,0xbc,0xa4,0xa8,0x10,0xa8,0x46,0x4,
-+0x0,0x40,0x32,0x12,0x82,0x62,0x2f,0x8,0x10,0x22,0xe2,0x24,0x20,0x20,0x23,0x2c,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x40,0x44,0x44,0x48,0x50,0x20,0xc0,0x0,0x0,
-+0x20,0x10,0x10,0x0,0xfc,0xb,0x10,0x38,0x54,0x90,0x10,0x10,0x10,0x17,0x10,0x10,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,0x0,
-+0x1,0x21,0x11,0x11,0x1,0x2,0xf4,0x13,0x11,0x11,0x10,0x10,0x14,0x18,0x13,0xc,0xf0,0x10,0x10,0x10,0x10,0xe,0x0,0xf8,0x8,0x10,0x90,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x4,0xfe,0x11,0x11,0x21,0x25,0x7f,0xa5,0x25,0x25,0x25,0x3d,0x24,0x0,0x0,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x1,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,
-+0x0,0x0,0x8,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x0,0x0,0x0,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,
-+0x8,0x8,0x8,0x17,0x14,0x34,0x54,0x97,0x14,0x14,0x14,0x17,0x14,0x10,0x10,0x10,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,
-+0x1,0x2,0xf,0x8,0xf,0x8,0xf,0x8,0x8,0x7f,0x0,0x0,0x3,0x1c,0xe0,0x0,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf2,0x14,0x18,0xf0,0x50,0x90,0x10,0x10,0x50,0x20,
-+0x0,0x47,0x34,0x18,0x81,0x62,0x20,0x8,0x17,0x20,0xe1,0x22,0x2c,0x20,0x20,0x20,0x0,0xfe,0x2,0xa4,0x10,0x48,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,0x40,0x40,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x12,0x2a,0x44,0x88,0x0,0x4,0xfe,0x0,0x8,0x7c,0x0,0x4,0xfe,0x54,0x58,0x50,0x48,0x48,0x56,0x64,0x40,
-+0x10,0x10,0x20,0x21,0x45,0xf9,0x11,0x21,0x41,0xfd,0x1,0x1,0x1d,0xe0,0x40,0x0,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,
-+0x20,0x10,0x10,0xfd,0x9,0x11,0x39,0x55,0x91,0x11,0x11,0x11,0x11,0x10,0x10,0x10,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,
-+0x0,0x40,0x30,0x17,0x84,0x68,0x20,0x9,0x11,0x21,0xe1,0x22,0x22,0x24,0x28,0x30,0x80,0x80,0x80,0xfc,0x84,0x88,0xc0,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x2,0x1,0x7f,0x41,0x81,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x1,0x1,0x1,0x0,0x0,0xfe,0x2,0x4,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,
-+0x10,0x10,0x13,0x12,0xfc,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x44,0x80,0x0,0x40,0x20,0xfe,0x22,0x20,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,
-+0x8,0x8,0xff,0x8,0xf,0x8,0xf,0x8,0x8,0xff,0x10,0x12,0x14,0x10,0x1f,0x0,0x20,0x28,0xfc,0x20,0xe0,0x20,0xe0,0x20,0x24,0xfe,0x0,0x20,0x10,0x0,0xf8,0x0,
-+0x8,0x4b,0x49,0x48,0x48,0x48,0x49,0x4a,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x10,0xe,0xf4,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x10,0x10,0x17,0x10,0x5b,0x56,0x53,0x92,0x13,0x12,0x13,0x12,0x1f,0x11,0x12,0x14,0x40,0x48,0xfc,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x10,0xc,0x4,
-+0x40,0x31,0x12,0x7,0x80,0x6f,0x21,0xa,0x14,0x29,0xe2,0x20,0x23,0x20,0x21,0x26,0x80,0x20,0x10,0xf8,0x80,0xfc,0x20,0x50,0x8e,0x24,0x40,0x90,0x20,0x40,0x80,0x0,
-+0x1,0x1,0xff,0x1,0x7f,0x0,0x3f,0x21,0x21,0x3f,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x4,0xfe,0x0,0xfc,0x8,0xfc,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x11,0x11,0x11,0x3f,0x21,0x41,0x41,0x81,0x3f,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x10,0x11,0x51,0x51,0x7d,0x91,0x11,0x11,0x7c,0x13,0x10,0x10,0x1c,0xf0,0x41,0x2,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x40,0xfc,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x8,0x28,0x29,0x29,0x3f,0x4a,0x8c,0xa,0xd,0x38,0xc8,0x8,0x8,0xb,0x8,0x8,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x1,0x7,0x7c,0x4,0x4,0x4,0x4,0xff,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x0,0x20,0xa0,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x13,0x22,0x22,0x4b,0xf8,0x17,0x24,0x44,0xff,0x44,0x4,0x1f,0xe4,0x40,0x0,0x8,0xfc,0x8,0x8,0xf8,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x40,0x42,0x3e,
-+0x1,0x9,0x9,0x11,0x11,0x20,0x3,0xc,0x3f,0xc8,0xf,0x8,0xf,0x8,0xf,0x8,0x0,0x20,0x10,0xc,0x24,0xc0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0x0,0x3f,0x20,0x20,0x3e,0x22,0x22,0x4a,0x44,0x80,0x1f,0x12,0x12,0xff,0x0,0xa0,0x90,0xfc,0x80,0x88,0x88,0x50,0x50,0x22,0xd2,0xe,0xf0,0x90,0x94,0xfe,0x0,
-+0x3,0x3c,0x4,0xff,0x4,0x15,0x75,0x15,0x75,0xc,0x16,0x25,0x44,0x4,0x4,0x4,0x84,0x4,0x84,0xd4,0x14,0x14,0xd4,0x14,0xd4,0x14,0x14,0x94,0x84,0x4,0x14,0x8,
-+0x8,0x7c,0x49,0x49,0x49,0x79,0x4a,0x4c,0x48,0x79,0x48,0x48,0x48,0x48,0x4b,0x98,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x3f,0x10,0xc,0x2,0x1,0x2,0xc,0x31,0xc1,0x1f,0x1,0x1,0x1,0xff,0x0,0x0,0xf8,0x10,0x60,0x80,0x0,0xc0,0x30,0xe,0x24,0xf0,0x0,0x0,0x4,0xfe,0x0,
-+0x8,0xb,0x48,0x48,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x11,0x11,0x20,0x40,0x4,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x1,0x11,0x11,0x11,0x1f,0x21,0x41,0x1,0xff,0x1,0x2,0x2,0x4,0x8,0x10,0x60,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x1,0x89,0x51,0x25,0x55,0x95,0x15,0x15,0x35,0x55,0x95,0x15,0x11,0x12,0x54,0x20,0x4,0xfe,0x10,0x10,0x7c,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x5c,0x10,0x10,
-+0x20,0x10,0x14,0xfe,0x21,0x22,0x3d,0x25,0x25,0x27,0x25,0x25,0x25,0x45,0x94,0x8,0x80,0x80,0x84,0xfe,0x20,0x20,0x24,0x3e,0xe4,0x24,0x34,0x28,0x22,0x2,0xfe,0x0,
-+0x0,0x47,0x34,0x14,0x87,0x64,0x24,0xf,0x11,0x21,0xe9,0x25,0x23,0x21,0x3f,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x20,0x20,0x24,0x28,0x30,0x24,0xfe,0x0,
-+0x0,0x20,0x13,0x10,0x0,0x7,0xf0,0x10,0x17,0x10,0x11,0x10,0x14,0x18,0x10,0x0,0x40,0x48,0xfc,0x40,0x44,0xfe,0x10,0x14,0xfe,0x10,0x10,0x90,0x10,0x10,0x50,0x20,
-+0x0,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x0,0x3,0x7c,0x4,0x3f,0x24,0x24,0x24,0x3f,0x4,0x4,0x7,0x7c,0x20,0x10,0xf8,0x90,0xd0,0x10,0x90,0xd0,0x90,0x90,0x90,0x90,0x10,0x92,0xca,0x46,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0xff,0x2,0x2,0x4,0x4,0x8,0x1f,0x28,0x48,0x88,0x8,0x8,0xf,0x8,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x15,0x1c,0x30,0xd3,0x12,0x12,0x12,0x12,0x53,0x22,0x40,0x40,0xa0,0xa0,0x10,0x8,0xf6,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x4,0x7e,0x44,0x47,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x7c,0x44,0x0,0x0,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x88,0x48,0x48,0x8,0x8,0x8,0x48,0x28,0x10,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x5f,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x2,0x4,0xa,0x31,0xdf,0x10,0x1f,0x10,0x1f,0x10,0x13,0x10,0x14,0x18,0x10,0x0,0x80,0x40,0x30,0xe,0xf4,0x10,0xf0,0x10,0xf8,0x10,0x20,0xc0,0x30,0x18,0x8,
-+0x20,0x20,0x20,0x3d,0x25,0x49,0x41,0xa1,0x21,0x21,0x21,0x24,0x28,0x30,0x23,0x1,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x24,0x3e,0xc2,0x0,
-+0x2,0x1,0x7f,0x48,0x86,0x2,0x10,0xc,0x4,0xff,0x1,0x1,0x2,0x4,0x18,0x60,0x0,0x0,0xfe,0x2,0x84,0x80,0x80,0x80,0x84,0xfe,0x0,0x40,0x20,0x10,0xc,0x4,
-+0x20,0x13,0x12,0x2,0x2,0xf2,0x12,0x12,0x13,0x12,0x10,0x15,0x19,0x12,0x4,0x8,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x20,0x10,0x8,0x4,0x4,
-+0x1,0x1,0x1,0x3f,0x21,0x21,0x21,0x3f,0x21,0x9,0x5,0x2,0x5,0x8,0x30,0xc0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x80,0x60,0x1e,0x4,
-+0x10,0x10,0x10,0x1f,0x11,0x21,0x41,0x1,0xff,0x1,0x2,0x2,0x4,0x8,0x10,0x60,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x20,0x1c,0x8,
-+0x10,0x10,0x1f,0x20,0x27,0x64,0xa4,0x24,0x27,0x24,0x22,0x21,0x20,0x21,0x26,0x28,0x40,0x44,0xfe,0x40,0xfc,0x44,0x44,0x44,0xfc,0x44,0x40,0x80,0xc0,0x30,0xe,0x4,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x24,0x22,0x3f,0x20,0x21,0x22,0x44,0x48,0x90,0x0,0x4,0xfe,0x4,0x4,0xfc,0x84,0x90,0xa4,0xfe,0x80,0xc0,0xa0,0x90,0x8e,0x84,0x80,
-+0x8,0xfc,0x8,0x49,0x49,0x49,0x49,0x49,0x7d,0x4,0x4,0x1c,0xe4,0x44,0x15,0xa,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x20,0xa0,0x40,0x60,0x90,0xe,0x4,
-+0x10,0x10,0x10,0x10,0xfc,0x25,0x27,0x24,0x24,0x49,0x29,0x11,0x29,0x45,0x85,0x1,0x40,0x40,0x40,0x80,0x88,0x4,0xfe,0x2,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x3e,0x8,0x8,0x8,0x9,0xe,0x70,0x20,0x0,0x80,0xa0,0x90,0x84,0xfe,0x80,0x80,0x80,0x80,0x40,0x40,0x20,0x22,0x12,0xa,0x4,
-+0x0,0x3f,0x0,0x0,0x0,0x0,0xff,0x1,0x1,0x9,0x19,0x21,0x41,0x1,0x5,0x2,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x20,0x18,0xc,0x4,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,
-+0x1,0x11,0x11,0x11,0x11,0xff,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x1f,0x0,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x8,0xfc,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x10,0x10,0x40,0x20,0x4,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x1,0x1,0xff,0x1,0x3f,0x21,0x3f,0x1,0x3f,0x1,0xff,0x1,0x3f,0x1,0x5,0x2,0x0,0x4,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xf8,0x8,0xfe,0x8,0xf8,0x8,0x0,0x0,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x14,0x1b,0x31,0xd1,0x11,0x11,0x11,0x17,0x52,0x20,0x20,0x28,0x24,0x20,0xfe,0x20,0x20,0xe0,0x20,0x10,0x10,0x10,0xd2,0x12,0xa,0x4,
-+0x8,0x7e,0x8,0x1c,0x68,0xa,0x19,0xff,0x0,0x3f,0x0,0x3f,0x0,0x1f,0x10,0x1f,0x8,0xf0,0x80,0xfc,0x90,0x90,0x14,0xfe,0x0,0xf8,0x0,0xf8,0x0,0xf0,0x10,0xf0,
-+0x2,0x42,0x22,0x2f,0x2,0x2,0xe3,0x26,0x2a,0x22,0x22,0x2b,0x24,0x50,0x8f,0x0,0x4,0x78,0x40,0xc0,0x40,0x7e,0x48,0x48,0x48,0x48,0x88,0x8,0x8,0x6,0xfc,0x0,
-+0x8,0x8,0x7d,0x8,0x1c,0xe9,0x8,0x29,0x12,0x2,0x7f,0x2,0x4,0x8,0x10,0x60,0x40,0x48,0xfc,0x48,0x48,0x88,0xca,0x2a,0x6,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0xf,0x8,0x8,0xf,0x8,0x8,0xf,0x0,0xff,0x1,0x9,0x9,0x9,0x15,0x23,0x40,0xe0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x4,0xfe,0x0,0x20,0xf0,0x0,0x0,0x6,0xfc,
-+0x0,0x0,0x7b,0x48,0x4f,0x48,0x49,0x4a,0x4c,0x48,0x4b,0x7a,0x4b,0x2,0x3,0x2,0x80,0x88,0xf0,0xa4,0xfe,0x80,0xf0,0x82,0x7e,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x2,0x2,0x7b,0x4d,0x48,0x48,0x4f,0x48,0x4a,0x4a,0x4a,0x7d,0x48,0x0,0xf,0x0,0x10,0x10,0xde,0x28,0x84,0x0,0xfc,0x40,0x48,0x48,0x48,0x54,0xe2,0x40,0xfe,0x0,
-+0x0,0x47,0x30,0x10,0xf,0x0,0xf0,0x13,0x12,0x12,0x12,0x13,0x12,0x28,0x47,0x0,0x38,0xc0,0x40,0x44,0xfe,0x40,0x48,0xfc,0x8,0x8,0x8,0xf8,0x8,0x6,0xfc,0x0,
-+0x8,0x8,0x8,0x10,0x10,0x3f,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x17,0x10,0x10,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x48,0xfc,0x0,0x0,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x5f,0x90,0x10,0x17,0x10,0x12,0x11,0x11,0x10,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x10,0x10,0xfc,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x4,0xf9,0x10,0x54,0x38,0x10,0xfe,0x13,0x30,0x39,0x54,0x50,0x93,0x10,0x10,0x10,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x24,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,
-+0x20,0x20,0x20,0x3c,0x25,0x4a,0x41,0xa1,0x21,0x21,0x21,0x25,0x29,0x31,0x20,0x0,0x80,0x80,0x84,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x0,0x20,0x3f,0x21,0x21,0x21,0x21,0x3f,0x20,0x20,0x20,0x24,0x28,0x30,0x60,0x0,0x20,0xf0,0x0,0x0,0x0,0x0,0x8,0xfc,0x80,0x80,0x40,0x40,0x22,0x12,0xa,0x6,
-+0x2,0x1,0x0,0xff,0x1,0x1,0x3f,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x1,0x1,0x0,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,
-+0x10,0x10,0x10,0x13,0x58,0x54,0x57,0x90,0x10,0x17,0x10,0x12,0x11,0x11,0x10,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x10,0x10,0xfc,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x2,0x1,0x7f,0x40,0x80,0x3f,0x4,0x8,0x1f,0x1,0x1,0x1f,0x1,0x1,0x7f,0x0,0x0,0x0,0xfe,0x2,0x14,0xf8,0x0,0x20,0xf0,0x10,0x0,0xf0,0x0,0x8,0xfc,0x0,
-+0x20,0x13,0x12,0x2,0xfe,0xa,0x12,0x32,0x5a,0x96,0x12,0x10,0x11,0x11,0x12,0x14,0x8,0xfc,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x68,0xa8,0xa0,0x22,0x22,0x1e,0x0,
-+0x0,0x40,0x20,0x20,0xf,0x0,0xe0,0x27,0x21,0x21,0x21,0x21,0x29,0x37,0x22,0x0,0x20,0x28,0x24,0x20,0xfe,0x20,0x20,0xe0,0x20,0x10,0x10,0x10,0xd2,0x12,0xa,0x4,
-+0x8,0x8,0x8,0x48,0x48,0x49,0x49,0x4a,0x48,0x58,0x68,0x48,0x8,0x8,0x9,0xe,0x80,0x80,0x80,0x84,0xfe,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x0,0x0,0x7f,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x5,0x2,0x10,0xf8,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x4,0xff,0x1,0x2,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x20,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x2,0x1,0x7f,0x40,0x80,0x0,0x0,0x7f,0x0,0x8,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x2,0x24,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x2,0x2,0x7f,0x2,0x3f,0x4,0xff,0x8,0x8,0x17,0x10,0x22,0x41,0x81,0x0,0x0,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x13,0x10,0x11,0xfc,0x13,0x12,0x1c,0x31,0xd1,0x10,0x10,0x10,0x10,0x51,0x26,0xc,0xf0,0x0,0x24,0xa8,0xfe,0x2,0x4,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x9,0x8,0xf,0x10,0x3f,0x50,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x3f,0x11,0x9,0x9,0x7f,0x40,0x80,0x1f,0x8,0x4,0x2,0x1,0x6,0x18,0x60,0x78,0x80,0x10,0x10,0x20,0xfe,0x2,0x4,0xf0,0x20,0x40,0x80,0x0,0xc0,0x3c,0x8,
-+0x1,0x0,0x3f,0x22,0xac,0x68,0x2e,0x28,0x2f,0x60,0xaf,0x22,0x21,0x40,0x83,0x1c,0x0,0x88,0xfc,0x80,0xb8,0x88,0xb8,0x88,0xf8,0x80,0xf0,0x20,0x40,0x80,0x60,0x1c,
-+0x8,0x4,0x3f,0x21,0x3f,0x21,0x3f,0x0,0xff,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x20,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x4,0x4,0xff,0x4,0x0,0xfd,0x8,0x10,0x51,0x5c,0x50,0x50,0x5e,0xf0,0x41,0x2,0x40,0x44,0xfe,0x40,0x24,0xfe,0x40,0x88,0xfc,0x0,0xa8,0xa8,0xaa,0xaa,0x26,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x12,0x32,0x3a,0x56,0x52,0x92,0x12,0x12,0x12,0x13,0x10,0x8,0xfc,0x0,0x8,0x88,0x50,0x50,0x20,0x20,0x50,0x48,0x88,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x30,0x39,0x54,0x50,0x90,0x10,0x10,0x11,0x12,0x14,0x40,0x20,0x24,0xfe,0x20,0x40,0x88,0xfc,0x0,0xa8,0xa8,0xa8,0xaa,0x2a,0x26,0x20,
-+0x0,0xa,0xfe,0x23,0x22,0x3c,0x48,0x4f,0x48,0xb0,0x11,0x22,0x44,0x88,0x0,0x0,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0xc0,0xe0,0x50,0x4e,0x44,0x40,0x40,0x40,
-+0x10,0x13,0x10,0x10,0xfc,0x10,0x17,0x18,0x30,0xd0,0x10,0x10,0x10,0x10,0x51,0x20,0x0,0xf8,0x10,0xa0,0x40,0x40,0xfe,0x42,0x44,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x20,0x20,0x28,0xfd,0x22,0x45,0x50,0x93,0xfa,0x13,0x3a,0xd3,0x12,0x12,0x12,0x12,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0xc4,0x54,0xd4,0x54,0xd4,0x54,0x44,0x44,0xcc,
-+0x8,0xa,0xf,0x8,0x8,0xa,0xff,0x8,0x8,0x2c,0x2b,0x49,0x48,0x88,0x29,0x12,0x0,0x0,0x0,0xfc,0x84,0x84,0x48,0x48,0x48,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x8,0x8,0x14,0x22,0x41,0xbe,0x9,0x8,0x7f,0xa,0x3f,0x22,0x22,0x22,0x3e,0x22,0x0,0xfc,0x4,0x48,0x28,0x10,0xfe,0x12,0x14,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x2,0x42,0x33,0x12,0x82,0x62,0x2f,0xa,0x12,0x27,0xea,0x32,0x22,0x2a,0x24,0x21,0x0,0x0,0x80,0x7c,0x44,0x44,0xc4,0x44,0x28,0x28,0x90,0x10,0x28,0x46,0x84,0x0,
-+0x0,0x0,0x3c,0xb,0x10,0x10,0x10,0x5d,0x50,0x50,0x50,0x50,0x5c,0xf1,0x42,0x4,0x40,0x20,0x24,0xfe,0x20,0x40,0x88,0xfc,0x0,0xa8,0xa8,0xa8,0xaa,0x2a,0x26,0x20,
-+0x2,0x2,0x2,0x7f,0x2,0x2,0x2,0x2,0xff,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x0,0x10,0xc,0xe4,0x20,0x20,0x20,0x20,0xfc,0x4,0x4,0x4,0x4,0x28,0x10,0x0,
-+0x4,0x7e,0x45,0x54,0x54,0x57,0x54,0x54,0x55,0x54,0x54,0x55,0x28,0x24,0x44,0x83,0x20,0x28,0xfc,0x20,0x20,0xfe,0x82,0x54,0x10,0x90,0x14,0xfe,0x20,0x50,0x8c,0x4,
-+0x10,0xa,0xff,0x0,0x7f,0x42,0x7e,0x0,0x7e,0x4,0x8,0x1e,0xe8,0x9,0x2a,0x14,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0xc8,0x68,0x58,0x88,0x89,0x9,0x3,0x0,
-+0x8,0xff,0x0,0x7e,0x42,0x7e,0x0,0x7e,0x4,0x8,0x7c,0x9,0x1a,0x44,0x42,0x82,0x40,0x40,0x48,0xfc,0x48,0x48,0xc8,0x48,0xa8,0x8a,0x8a,0x6,0x0,0x88,0x46,0x42,
-+0x4,0xff,0x4,0x3f,0x24,0x3f,0x2,0x3f,0x2,0xff,0xc,0x1f,0x30,0xdf,0x10,0x1f,0x44,0xfe,0x40,0xf8,0x48,0xf8,0x20,0xf0,0x84,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,
-+0x1f,0x10,0x1f,0x10,0x1f,0x2,0x3f,0x2,0xff,0x4,0xf,0x38,0xcf,0x8,0xf,0x8,0xf0,0x10,0xf0,0x14,0xf8,0x20,0xf0,0x84,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0xb,0x7e,0x4a,0x4b,0x48,0x4b,0x78,0x4f,0x48,0x49,0x49,0x7b,0x4d,0x1,0x1,0x4,0xfe,0x94,0x94,0xfc,0x48,0xfc,0x50,0xfe,0x40,0xfc,0x4,0xfc,0x4,0xfc,0x4,
-+0x3f,0x24,0x24,0x3f,0x2,0x3f,0x2,0xff,0x3,0xc,0x3f,0xc8,0xf,0x8,0xf,0x8,0xf8,0x48,0x48,0xf8,0x20,0xf0,0x44,0xfe,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0x3f,0x24,0x24,0x3f,0x10,0x3f,0x42,0xbf,0x22,0x22,0x3f,0x2,0x3,0x7e,0x20,0x8,0xfc,0x48,0x48,0xf8,0x4,0xfe,0x4,0xe4,0x24,0x24,0xe4,0x24,0xf4,0x14,0x8,
-+0x0,0x3f,0x1,0xff,0x5,0x9,0x32,0x4,0x9,0x39,0xc5,0x3,0xd,0x31,0x5,0x2,0xf0,0x0,0x4,0xfe,0x40,0x30,0x90,0x40,0x30,0x2e,0x44,0x80,0x60,0x18,0x8,0x0,
-+0xc,0x71,0x40,0x7c,0x40,0x7f,0x2,0x52,0x4a,0x42,0x52,0x4a,0x42,0x73,0xc6,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x90,0x50,0x10,0x90,0x50,0x10,0x8a,0xa,0x6,
-+0x3f,0x20,0x3f,0x20,0x2f,0x20,0x2f,0x28,0x2f,0x20,0x3f,0x50,0x50,0x57,0x90,0x10,0xf8,0x8,0xf8,0x0,0xf8,0x80,0xf8,0x88,0xf8,0x84,0xfe,0x84,0x94,0xf4,0x14,0x8,
-+0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x3,0x5,0x9,0x11,0x21,0xc1,0x1,0x1,0x1,0x0,0x40,0x30,0x10,0x4,0xfe,0x0,0x80,0x40,0x20,0x10,0xe,0x4,0x0,0x0,0x0,
-+0x0,0x40,0x20,0x20,0xf,0x0,0xe1,0x22,0x24,0x28,0x20,0x20,0x20,0x50,0x8f,0x0,0x80,0xa0,0x90,0x80,0xfc,0x80,0xc0,0xa0,0x98,0x88,0x80,0x80,0x80,0x6,0xfc,0x0,
-+0x10,0x10,0x10,0x17,0xfc,0x14,0x32,0x3a,0x51,0x51,0x92,0x12,0x14,0x18,0x10,0x10,0x8,0x8,0x8,0xc8,0x7e,0x48,0x88,0xa8,0x18,0x8,0x88,0x48,0x48,0x8,0x28,0x10,
-+0x1,0x1,0xff,0x1,0x1,0x3f,0x21,0x21,0x21,0x3f,0x23,0x5,0x9,0x31,0xc1,0x1,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x88,0x40,0x30,0xe,0x4,0x0,
-+0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x28,0x26,0x22,0x20,0x20,0x20,0x21,0x42,0x84,0x80,0xa0,0x90,0xfc,0x80,0x80,0x88,0x48,0x50,0x50,0x20,0x60,0x90,0x12,0xa,0x6,
-+0x4,0x25,0x25,0x24,0x24,0x24,0x24,0x24,0x7,0x1,0x3f,0x8,0x8,0x4,0xff,0x0,0x0,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x4,0x10,0xf8,0x20,0x20,0x44,0xfe,0x0,
-+0x7f,0x49,0x7f,0x49,0x7f,0x8,0x7f,0x8,0xf,0x79,0x1,0x3f,0x1,0x1,0xff,0x0,0x7c,0x4,0x28,0x10,0xfe,0x12,0x14,0x10,0x50,0x20,0x0,0xf8,0x0,0x4,0xfe,0x0,
-+0x1,0x0,0x3f,0x20,0x22,0x22,0x3f,0x22,0x22,0x22,0x23,0x22,0x40,0x4a,0x89,0x11,0x0,0x84,0xfe,0x0,0x20,0x24,0xfe,0x20,0x20,0x20,0xe0,0x20,0x0,0x48,0x26,0x22,
-+0x8,0x49,0x2a,0x8,0xff,0x19,0x2c,0x4a,0x10,0xfe,0x22,0x22,0x14,0x18,0x25,0x42,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x2,0x42,0x3f,0x22,0x82,0x4f,0x4a,0xa,0x1f,0x22,0xe7,0x2a,0x32,0x22,0x22,0x23,0x10,0x90,0xd0,0x10,0xbe,0xc2,0x94,0x90,0x90,0x10,0x10,0xa8,0x28,0x48,0x86,0x4,
-+0x10,0x10,0x10,0xfe,0x22,0x22,0x14,0x8,0x14,0x62,0x0,0x2a,0x29,0x28,0x48,0x7,0x0,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0xf8,0x88,0x0,0x10,0x88,0xa4,0x24,0xe0,
-+0x0,0x3f,0x20,0x20,0x3f,0x22,0x22,0x3f,0x32,0x32,0x52,0x52,0x53,0x92,0x2,0x2,0x44,0xe4,0x44,0x54,0xd4,0x14,0x54,0xf4,0x54,0x54,0x54,0x54,0x44,0x84,0x14,0x8,
-+0x0,0x7f,0x2,0x3f,0x24,0x24,0x24,0x22,0x2,0xff,0x4,0x8,0x4,0x3,0xc,0x30,0x8,0xfc,0x0,0xf8,0x48,0x48,0x48,0x18,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x10,0x10,0x13,0x10,0xfc,0x12,0x15,0x1a,0x30,0xd0,0x17,0x10,0x10,0x10,0x50,0x20,0x40,0x24,0xfe,0x20,0x48,0xf2,0x24,0x52,0xf8,0x20,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x2,0x1,0x7f,0x0,0x1f,0x10,0xff,0x10,0x1f,0x4,0x9,0x18,0x28,0x4a,0x8c,0x8,0x0,0x8,0xfc,0x0,0xf0,0x14,0xfe,0x10,0xf0,0x8,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x0,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x21,0x41,0x80,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x28,0x12,0x2,0xfe,
-+0x8,0x8,0x48,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x9,0x11,0x11,0x20,0x40,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x10,0x10,0x10,0x11,0xfe,0x14,0x33,0x38,0x54,0x50,0x97,0x10,0x10,0x10,0x1f,0x10,0x40,0x40,0xa0,0x10,0xe,0x4,0xf8,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0xfe,0x14,0x13,0x1c,0x30,0xd0,0x17,0x10,0x10,0x10,0x5f,0x20,0x40,0x40,0xa0,0x10,0xe,0x4,0xf8,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x1f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x8,0x8,0x7e,0x8,0x1c,0x2a,0x48,0x8,0x8,0xf0,0x0,0xfe,0x2,0x74,0x0,0x70,0x4,0xfe,0x84,0xfc,0x84,0xfc,0x84,0xfc,0x84,
-+0x0,0x0,0xfd,0x4,0x44,0x44,0x28,0x28,0x10,0x10,0x28,0x28,0x44,0x44,0x81,0x6,0x0,0x4,0xfe,0x84,0x84,0x84,0x88,0x48,0x48,0x50,0x20,0x30,0x50,0x88,0xe,0x4,
-+0x1,0x1,0xff,0x1,0x29,0x11,0x29,0x1,0x29,0x11,0x29,0x2,0x4,0x8,0x30,0xc0,0x0,0x4,0xfe,0x0,0x28,0x10,0x28,0x0,0x28,0x10,0x28,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x20,0x11,0x11,0x3,0x5,0xf1,0x11,0x11,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x80,0xa0,0x14,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x7d,0x5,0x5,0x9,0x9,0x11,0x21,0x41,0x81,0x5,0x2,0x0,0x0,0x0,0x8,0x18,0x20,0xc0,0x80,0x40,0x20,0x10,0xe,0x4,0x0,0x0,0x0,
-+0x0,0x8,0x7b,0x48,0x48,0x4f,0x79,0x49,0x4f,0x79,0x49,0x49,0x4f,0x78,0x48,0x3,0x0,0x18,0xe0,0x40,0x48,0xfc,0x50,0x54,0xfe,0x50,0x50,0x50,0xfc,0x40,0x50,0xf8,
-+0x8,0x1d,0xf0,0x10,0x11,0xfd,0x11,0x39,0x35,0x51,0x90,0x10,0x10,0x10,0x11,0x12,0x0,0x4,0x88,0x50,0xfc,0x4,0x4,0x4,0xfc,0x54,0x50,0x50,0x92,0x92,0xe,0x0,
-+0x0,0x8,0x7c,0x48,0x49,0x4b,0x48,0x48,0x48,0x48,0x49,0x79,0x4a,0x2,0x4,0x8,0x40,0x40,0x80,0x80,0x8,0xfc,0x94,0x90,0x90,0x90,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x8,0x7f,0x49,0x48,0x4b,0x7a,0x4d,0x49,0x7a,0x4d,0x48,0x48,0x79,0x4a,0x0,0x8,0x3c,0xc0,0x24,0xa8,0xfe,0x2,0x4,0xde,0x44,0x54,0x94,0xbe,0x4,0x4,0x4,
-+0x0,0x47,0x54,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x44,0x84,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x20,0x58,0x84,0x2,
-+0x0,0x3f,0x11,0x9,0x7f,0x48,0x88,0x1e,0x12,0x22,0x54,0xd,0x8,0x10,0x20,0x40,0x78,0x80,0x10,0x20,0xfe,0x22,0x24,0xf8,0x20,0xa0,0xa8,0xfc,0x20,0x20,0x20,0x20,
-+0x0,0x22,0x11,0x10,0x3,0x2,0xf2,0x12,0x13,0x12,0x10,0x10,0x15,0x19,0x12,0x4,0x0,0x8,0x10,0xa0,0xf8,0x8,0x8,0x8,0xf8,0xa8,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x8,0xfd,0x10,0x10,0x21,0x25,0x3f,0x65,0xa5,0x25,0x25,0x25,0x3c,0x24,0x0,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x20,0x58,0x84,0x2,
-+0x41,0x22,0x14,0xff,0x8,0x49,0x49,0x49,0x49,0x49,0x7f,0x9,0x8,0x10,0x21,0x42,0x4,0x7e,0x44,0xc4,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,0x44,0x84,0x84,0x14,0x8,
-+0x10,0x10,0x13,0x16,0x5a,0x52,0x52,0x93,0x10,0x10,0x10,0x29,0x26,0x44,0x80,0x0,0x8,0x1c,0xe0,0x0,0x20,0x20,0x24,0xfe,0x20,0x20,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x22,0x22,0x7f,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x22,0xff,0x0,0x15,0x22,0x40,0x8,0x1c,0x60,0x40,0x40,0x40,0x7e,0x48,0x48,0x48,0x48,0x48,0x88,0x8,0x8,0x8,
-+0x24,0x24,0x2f,0x24,0xfc,0x27,0x2c,0x34,0x27,0xe4,0x24,0x3f,0x20,0x24,0xa8,0x40,0x80,0x8c,0xf0,0xa0,0xa0,0xa4,0xbe,0xa8,0xa8,0xa8,0xa8,0xe8,0x28,0xa8,0x48,0x8,
-+0x4,0x14,0x7f,0x54,0x54,0x57,0x54,0x54,0x57,0x54,0x54,0x7f,0x50,0x4,0x8,0x0,0x80,0x8c,0xf0,0xa0,0xa0,0xa4,0xbe,0xa8,0xa8,0xa8,0xa8,0xe8,0x28,0xa8,0x48,0x8,
-+0x0,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x20,0x2,0x51,0x50,0x90,0xf,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0x88,0x96,0x12,0xf0,
-+0x4,0xe,0xf8,0x8,0xa,0xff,0x8,0x1c,0x1a,0x28,0x48,0x89,0x9,0xb,0x8,0x8,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,0x80,0x8,0x4,0xfe,0x2,0x0,
-+0x0,0x3f,0x0,0x0,0xff,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x0,0x0,0x8,0xfc,0x8,0x48,0xe8,0x8,0x88,0xc8,0x88,0x88,0x88,0x88,0x88,0x88,0x28,0x10,
-+0x8,0x8,0x8,0x10,0x10,0x22,0x7e,0x4,0x8,0x10,0x20,0x7e,0x0,0x0,0xff,0x0,0x10,0x10,0x10,0x20,0x20,0x44,0xfc,0x8,0x10,0x20,0x40,0xfc,0x0,0x4,0xfe,0x0,
-+0x0,0xff,0x8,0x8,0x10,0x1f,0x21,0x21,0x62,0x92,0xc,0x4,0x8,0x10,0x20,0x40,0x4,0xfe,0x40,0x40,0x40,0x44,0x4c,0x50,0x60,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x4,0x3e,0x21,0x24,0x3f,0x20,0x25,0x3e,0x20,0x21,0xff,0x10,0x25,0x7e,0x2,0x0,0x20,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,
-+0x1,0x1,0x7f,0x1,0x1,0x1,0xff,0x0,0x0,0x7f,0x8,0x4,0x4,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x2,0x3f,0x22,0x22,0x3e,0x0,0x7f,0x55,0x55,0x55,0x7f,0x55,0x55,0x55,0x55,0x43,0x4,0x7e,0x4,0x4,0xfc,0x4,0x74,0x54,0x54,0x54,0x54,0x54,0x74,0x4,0x14,0x8,
-+0x0,0x0,0x7f,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x48,0x50,0x40,0x7f,0x40,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x3c,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x8,0xb,0x8,0x10,0x17,0x30,0x50,0x93,0x12,0x12,0x12,0x12,0x13,0x12,0x10,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x4,0x14,0x8,
-+0x10,0x11,0x10,0x20,0x24,0x64,0xa4,0x24,0x24,0x24,0x24,0x25,0x26,0x24,0x20,0x21,0x0,0x8,0x88,0x48,0x48,0x8,0x8,0x8,0x8,0x10,0x90,0x20,0x28,0x46,0x82,0x0,
-+0x20,0x23,0x20,0x3c,0x27,0x48,0x40,0xa3,0x22,0x22,0x22,0x26,0x2b,0x32,0x20,0x0,0x4,0xfe,0x4,0x24,0xf4,0x4,0x4,0xf4,0x24,0x24,0x24,0x24,0xe4,0x4,0x14,0x8,
-+0x0,0x7f,0x40,0x40,0x40,0x40,0x7f,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x3f,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x39,0x36,0x54,0x50,0x90,0x10,0x11,0x13,0x10,0x10,0x10,0x90,0x90,0x90,0x8,0x8,0x4,0x42,0x40,0x40,0x80,0x88,0x4,0xfc,0x4,0x0,
-+0x8,0x8,0x18,0x24,0x43,0x82,0x7f,0x10,0x1f,0x10,0x1f,0x10,0x10,0xff,0x0,0x0,0x20,0x20,0x50,0x88,0x6,0x0,0xfc,0x10,0xf0,0x10,0xf0,0x14,0xfe,0x10,0x10,0x10,
-+0x8,0x8,0x8,0x8,0x14,0x14,0x22,0x22,0x41,0x80,0x2a,0x29,0x28,0x48,0x7,0x0,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x8e,0x4,0x0,0x10,0x88,0xa4,0x24,0xe0,0x0,
-+0x0,0x2b,0x28,0x28,0x45,0x53,0x91,0x11,0x21,0x21,0x29,0x45,0x7c,0x4,0x0,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x20,0x58,0x84,0x2,
-+0x2,0x41,0x30,0x17,0x0,0x0,0xf0,0x1f,0x10,0x10,0x10,0x10,0x11,0x2a,0x44,0x3,0x8,0x10,0xa0,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x80,0xa0,0x18,0x8,0x6,0xfc,
-+0x2,0x1,0x7f,0x40,0x81,0x1,0x1,0xff,0x3,0x5,0x9,0x11,0x21,0x41,0x1,0x1,0x0,0x0,0xfe,0x2,0x4,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,0x0,0x0,
-+0x0,0x40,0x31,0x11,0x1,0x2,0xf2,0x14,0x18,0x10,0x10,0x10,0x15,0x1b,0x10,0x0,0x40,0x20,0x20,0x20,0x10,0x8,0xe,0x44,0x40,0x40,0x80,0x90,0x8,0xf8,0x8,0x0,
-+0x0,0x47,0x20,0x20,0x0,0x7,0xe4,0x24,0x27,0x24,0x24,0x27,0x2c,0x34,0x24,0x4,0x0,0xf8,0x10,0xa0,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x15,0x19,0x30,0xd3,0x10,0x10,0x10,0x10,0x50,0x23,0x24,0xae,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x10,0x3d,0x25,0x35,0x2d,0x25,0x25,0xfc,0x27,0x34,0x2c,0x44,0x44,0x94,0xb,0x24,0xae,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x22,0x2a,0x27,0x22,0xff,0x22,0x37,0x2a,0x62,0xbf,0x24,0x28,0x25,0x22,0xa5,0x48,0x10,0x90,0x10,0x14,0xbe,0x44,0x24,0xa4,0x28,0xe8,0x90,0x90,0x28,0x28,0x46,0x84,
-+0x2,0x22,0xff,0xa2,0xa2,0xaf,0xaa,0xaa,0xaf,0xa2,0xa7,0xea,0x92,0x2,0x2,0x3,0x10,0x90,0xd0,0x10,0xbe,0xc2,0x94,0x90,0x90,0x10,0x10,0xa8,0x28,0x48,0x86,0x4,
-+0x8,0x8,0xff,0x8,0xa,0x2,0x3f,0x2,0x2,0x22,0x24,0x44,0x8,0x10,0x20,0x40,0x20,0x24,0xfe,0x20,0x20,0x10,0xf8,0x10,0x10,0x18,0x16,0x12,0x10,0x10,0x50,0x20,
-+0x4,0xfe,0x29,0x28,0xfe,0xaa,0xab,0xaa,0xae,0xc2,0x82,0xff,0x82,0xfe,0x82,0x0,0x8,0x1c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x70,0x68,0xae,0x24,0x20,0x20,0x20,0x20,
-+0x10,0x11,0x11,0x22,0x24,0x60,0xa1,0x22,0x24,0x2b,0x22,0x22,0x22,0x22,0x23,0x22,0x0,0x10,0xc,0x44,0x40,0xa0,0x10,0xe,0x4,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x1,0x7f,0x1,0x3f,0x1,0xff,0x4,0x1f,0x1,0x2,0x1f,0x1,0x9,0x15,0x22,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x20,0xc0,0x0,0x20,0xf0,0x0,0x20,0x18,0x8,
-+0x0,0x40,0x37,0x10,0x7,0x4,0xf4,0x17,0x14,0x10,0x11,0x12,0x14,0x28,0x47,0x0,0x40,0x44,0xfe,0x40,0xfc,0x44,0x44,0xfc,0x44,0xe0,0x58,0x48,0x40,0x46,0xfc,0x0,
-+0x0,0x7f,0x4,0x3f,0x24,0x24,0x3f,0x1,0x11,0x9,0xff,0x5,0x9,0x31,0xc1,0x1,0x8,0xfc,0x40,0xf8,0x48,0x48,0xf8,0x0,0x10,0x24,0xfe,0x40,0x30,0xe,0x4,0x0,
-+0x10,0x1f,0x10,0x27,0x24,0x64,0xa7,0x20,0x22,0x21,0x2f,0x21,0x22,0x24,0x28,0x20,0x4,0xfe,0xa0,0xfc,0xa4,0xa4,0xfc,0x40,0x48,0x50,0xfe,0x50,0x48,0x46,0x44,0x40,
-+0x22,0x14,0xff,0x8,0x2a,0x2a,0x2a,0x3e,0x8,0x11,0x21,0x7f,0x1,0x1,0xff,0x0,0x4,0x7e,0xc4,0x7c,0x44,0x7c,0x44,0x44,0x94,0x8,0x0,0xfc,0x0,0x4,0xfe,0x0,
-+0x48,0x25,0x20,0x1f,0x82,0x4a,0x4a,0xa,0x1a,0x2a,0xef,0x22,0x22,0x24,0x28,0x21,0x84,0x3e,0x24,0xe4,0x24,0xbc,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0x44,0x44,0x94,0x8,
-+0x2,0x1,0x7f,0x40,0x88,0xf,0x8,0x10,0x13,0x32,0x52,0x93,0x12,0x12,0x13,0x12,0x0,0x0,0xfe,0x2,0x4,0xfe,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x43,0x32,0x12,0x2,0x2,0xf3,0x12,0x12,0x12,0x12,0x16,0x1a,0x14,0x8,0x0,0x1c,0xe0,0x0,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x60,0x30,0x2c,0x24,0x20,0x20,
-+0x1,0x1,0x3f,0x1,0xff,0x1,0x3f,0x1,0x21,0x25,0x25,0x25,0x29,0x21,0x41,0x81,0x0,0x8,0xfc,0x8,0xfe,0x8,0xf8,0x0,0x8,0x48,0x48,0x28,0x28,0x8,0x8,0x8,
-+0x4,0xfe,0x28,0x28,0xff,0xaa,0xaa,0xab,0xae,0xc2,0x83,0xfe,0x82,0xfe,0x82,0x1,0x20,0x20,0x40,0x84,0xfe,0x48,0x86,0x42,0x78,0x88,0x48,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x8,0xff,0x8,0x4,0x7e,0x0,0x4,0xfe,0x8,0x2c,0x2a,0x48,0x89,0x28,0x10,0x20,0x24,0xfe,0x20,0x8,0xfc,0x0,0x4,0xfe,0x10,0x58,0x56,0x92,0x10,0x50,0x20,
-+0x20,0x3e,0x49,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x8,0xff,0x8,0x8,0x10,0x20,0x80,0xfc,0x20,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x1f,0x10,0x10,0x1f,0x1,0x1,0x3f,0x21,0x21,0x3f,0x1,0x1,0x1,0x7f,0x0,0x10,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0xf8,0x0,0x10,0xfc,0x4,0x0,
-+0x0,0x78,0x4f,0x51,0x51,0x62,0x55,0x48,0x4b,0x4a,0x6b,0x52,0x43,0x42,0x42,0x42,0x80,0x84,0xfe,0x0,0xf8,0x40,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0x0,0x78,0x4a,0x51,0x51,0x60,0x57,0x49,0x49,0x49,0x69,0x51,0x41,0x41,0x42,0x44,0x20,0x24,0xfe,0x20,0x44,0xfe,0x44,0x7c,0x44,0x7c,0x44,0x44,0x54,0x48,0x80,0x7e,
-+0x10,0x17,0x20,0x22,0x41,0xf8,0x10,0x2f,0x41,0xf9,0x42,0x1,0x18,0xe0,0x41,0x6,0x1c,0xe0,0x0,0x48,0x50,0x20,0x84,0xfe,0x8,0x8,0x10,0x10,0xa0,0x40,0xb0,0x8,
-+0x0,0x7d,0x44,0x76,0x55,0x55,0xfe,0x83,0x7d,0x45,0x7d,0x45,0x7d,0x45,0x56,0x48,0x20,0xfe,0x40,0x7c,0x90,0x7c,0x0,0x7c,0x44,0x7c,0x44,0x7c,0x44,0x4c,0x80,0x7e,
-+0x0,0x8,0xfd,0x10,0x10,0x21,0x22,0x7c,0xa4,0x27,0x24,0x24,0x24,0x3c,0x20,0x0,0x40,0x20,0xfc,0x88,0x88,0x54,0x22,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x1,0x21,0x21,0x21,0x3f,0x24,0x4,0xf,0x10,0x24,0x42,0x1,0x1,0x3,0x1c,0xe0,0x0,0x8,0x8,0x8,0xf8,0x8,0x0,0xfc,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x8,0x1c,0xf3,0x10,0x11,0xff,0x11,0x31,0x39,0x54,0x51,0x90,0x12,0x12,0x14,0x10,0x20,0x24,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x28,0xfc,0x40,0xa4,0xa2,0x8a,0x78,
-+0x2,0x81,0x60,0x2f,0x1,0x2,0xe4,0x29,0x22,0x24,0x29,0x22,0x25,0x50,0x8f,0x0,0x10,0x20,0x48,0xfc,0x0,0x88,0xd0,0x60,0x40,0xe0,0x58,0x48,0x40,0x86,0xfc,0x0,
-+0x0,0x78,0x49,0x54,0x52,0x60,0x50,0x4e,0x4a,0x4a,0x6a,0x52,0x42,0x45,0x48,0x40,0x44,0x28,0xfe,0x20,0x40,0xa4,0x38,0x50,0x98,0x34,0x54,0x90,0x30,0x6,0xfc,0x0,
-+0x1,0x21,0x21,0x3f,0x1,0x41,0x7f,0x0,0x3f,0x0,0x0,0xff,0x9,0x11,0x25,0x2,0x0,0x8,0x8,0xf8,0x0,0x4,0xfc,0x0,0xf8,0x0,0x4,0xfe,0x20,0x18,0x8,0x0,
-+0x0,0x7e,0x2,0x4,0x8,0xa,0xc,0x39,0xc9,0xa,0xc,0x8,0x8,0x8,0x28,0x10,0x20,0x20,0x20,0x20,0x20,0xb0,0xa8,0x24,0x26,0x22,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x11,0x11,0x11,0xfd,0x10,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x10,0x50,0x23,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x4,0x24,0x24,0x24,0x24,0x24,0x50,0x8c,0x4,
-+0x10,0x12,0x1f,0x28,0x45,0xbf,0x4,0x4,0xff,0x4,0x4,0x3f,0x4,0x8,0x10,0x60,0x40,0x44,0x7e,0xa0,0x10,0xf0,0x10,0x14,0xfe,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,
-+0x8,0x8,0xff,0x9,0x7f,0x0,0x1f,0x10,0xff,0x10,0x1f,0x9,0x18,0x2a,0xcc,0x8,0x20,0x24,0xfe,0x20,0xfc,0x0,0xf0,0x14,0xfe,0x10,0xf0,0x8,0x90,0x60,0x1c,0x8,
-+0x10,0x10,0x11,0x13,0xfc,0x10,0x31,0x3a,0x54,0x51,0x92,0x14,0x10,0x10,0x11,0x16,0x40,0x90,0x8,0xfc,0x4,0x88,0x6,0x82,0xf8,0x8,0x90,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x8,0x7d,0x4b,0x48,0x48,0x49,0x4a,0x48,0x49,0x4a,0x7c,0x48,0x0,0x1,0x6,0x40,0x90,0x8,0xfc,0x4,0x88,0x6,0x82,0xf8,0x8,0x90,0x50,0x20,0x50,0x8e,0x4,
-+0x20,0x20,0x27,0x44,0x49,0xf1,0x12,0x26,0x4a,0xfa,0x42,0x2,0x1a,0xe2,0x42,0x2,0x40,0x20,0xfe,0x2,0x4,0xfe,0x20,0x44,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x0,0x9,0xfc,0x10,0x10,0x11,0x11,0x7d,0x11,0x11,0x11,0x1d,0xf0,0x40,0x1,0x6,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x20,0x58,0x84,0x2,
-+0x1,0x1,0x3f,0x1,0x7f,0x42,0x84,0xf,0x1,0x2,0x3f,0x1,0x9,0x11,0x25,0x2,0x0,0x10,0xf8,0x0,0xfe,0x2,0x24,0xc0,0x0,0x10,0xf8,0x8,0x20,0x18,0x8,0x0,
-+0x10,0x11,0x10,0x1c,0x20,0x21,0x7d,0x91,0x11,0x7d,0x11,0x11,0x14,0x18,0x11,0x6,0x20,0x24,0xa4,0xa8,0x24,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x20,0x58,0x84,0x2,
-+0x2,0x7,0x38,0x20,0x20,0x3e,0x22,0x22,0x22,0x3e,0x22,0x20,0x21,0x42,0x84,0x0,0x8,0x1c,0xe0,0x80,0x80,0x84,0xfe,0x88,0x88,0x88,0x88,0x88,0x8,0x8,0x8,0x8,
-+0x20,0x23,0x22,0x23,0x22,0xfb,0x20,0x27,0x20,0x24,0x22,0x39,0xe2,0x44,0x2,0x1,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xbe,0x84,0xa4,0x94,0x8c,0x94,0xa4,0x94,0x8,
-+0x8,0x8,0x8,0x10,0x12,0x32,0x53,0x9e,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x10,0x40,0x40,0x40,0x40,0x48,0x7c,0xc8,0x48,0x48,0x68,0x50,0x40,0x42,0x2,0xfe,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0x8,0x8,0x8,0x9,0xe,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0xfe,0x2,0x4,0x0,0x20,0x60,0x80,0x0,0x0,0x0,0x8,0x8,0xf8,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x25,0x25,0x27,0x25,0x45,0x29,0x11,0x29,0x45,0x84,0x0,0x20,0x20,0x20,0x20,0x24,0x3e,0xe4,0x24,0x24,0x34,0x28,0x20,0x22,0x2,0xfe,0x0,
-+0x21,0x21,0x27,0x21,0x20,0xf8,0x21,0x22,0x2d,0x20,0x23,0x3a,0xe2,0x42,0x3,0x2,0x10,0x10,0xfc,0x10,0x40,0xa0,0x10,0xe,0xf4,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x8a,0x52,0x2f,0x62,0xaf,0x2a,0x2a,0x6a,0xaf,0x22,0x27,0x2a,0x32,0x22,0xa2,0x42,0x10,0x10,0x9c,0x24,0xc8,0xbe,0xa2,0xaa,0xaa,0x2a,0x2a,0xaa,0x8,0x14,0x22,0x42,
-+0x10,0x12,0x11,0x11,0xfc,0x10,0x17,0x19,0x31,0xd1,0x11,0x11,0x11,0x12,0x54,0x20,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x28,0x28,0x46,0x84,0x0,0x86,0x7c,0x0,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x10,0x13,0x5c,0x51,0x50,0x51,0x5e,0xf0,0x41,0x0,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x0,0xdc,0x44,0x54,0xcc,0x54,0x64,0x44,0x54,0x88,
-+0x0,0x7d,0x44,0x44,0x44,0x7d,0x12,0x10,0x5d,0x51,0x51,0x51,0x5d,0xf1,0x41,0x1,0x20,0x24,0xa8,0x70,0xa8,0x26,0x24,0x60,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x4,0x3e,0x24,0x24,0x24,0x3d,0x27,0x24,0x24,0x3d,0x25,0x25,0x25,0x45,0x95,0x9,0x20,0x20,0x40,0x40,0x88,0x4,0xfe,0x2,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0xff,0x8,0x2,0x4,0x8,0x3f,0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x20,0x24,0xfe,0x20,0x0,0x20,0x10,0xf8,0x8,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x10,0x10,0xfc,0x11,0x17,0x18,0x30,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0x20,0x20,0x40,0x40,0x88,0x4,0xfe,0x2,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0x2,0x4,0x8,0x10,0x20,0x7f,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0x20,0x10,0x8,0xfc,0x4,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0x1,0x7f,0x1,0x3f,0x2,0xff,0x4,0x9,0x39,0xc5,0x3,0xd,0x11,0x5,0x2,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x20,0x30,0x4e,0x84,0x60,0x10,0x0,0x0,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x10,0x90,0x10,0x10,0x14,0xfe,0x10,0x10,0x28,0x28,0x28,0x28,0x44,0x54,0x82,0x0,
-+0x1,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x2,0x2,0x4,0x6,0x9,0x31,0xc0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x80,0x80,0x40,0x40,0x30,0xe,0x4,0x0,
-+0x1,0x1,0xff,0x1,0x2,0x4,0xa,0x31,0xc0,0x2,0x29,0x29,0x28,0x48,0x7,0x0,0x0,0x4,0xfe,0x0,0x80,0x40,0x30,0xe,0x4,0x0,0x10,0x8,0x24,0x24,0xe0,0x0,
-+0x0,0x40,0x30,0x10,0x87,0x60,0x20,0x8,0x10,0x20,0xe1,0x21,0x22,0x24,0x28,0x20,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0xa0,0xa0,0x10,0x90,0x48,0x4e,0x4,0x0,
-+0x20,0x23,0x22,0x22,0x22,0xfa,0x22,0x22,0x2f,0x22,0x22,0x3a,0xe2,0x44,0x4,0x8,0x8,0xfc,0x8,0x8,0x88,0x48,0x48,0x8,0xfe,0x8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x20,0x20,0x20,0x2e,0xf3,0x2a,0x2a,0x3a,0x6a,0xa4,0x2a,0x29,0x31,0x20,0xa0,0x40,0x40,0x50,0x44,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x1,0x2,0x6,0x9,0x37,0xc0,0x0,0x1f,0x10,0x11,0x11,0x11,0x12,0x4,0x8,0x30,0x0,0x80,0x40,0x30,0xce,0x44,0x90,0xf8,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x0,0x0,0x1f,0x10,0x90,0x5f,0x51,0x19,0x35,0x52,0x92,0x15,0x25,0x28,0x40,0x0,0x80,0x44,0xfe,0x20,0x28,0x7e,0x48,0xc8,0x7e,0x48,0x48,0x7e,0x48,0x48,0x7e,0x40,
-+0x0,0x40,0x30,0x1f,0x81,0x69,0x29,0x6,0x12,0x25,0xe9,0x30,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x7e,0x48,0xc8,0x7c,0x48,0x48,0x7c,0x48,0x48,0x48,0x7e,0x40,0x40,
-+0x10,0x10,0x13,0x10,0x10,0xfc,0x17,0x10,0x10,0x10,0x10,0x1d,0xf1,0x43,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x40,0x40,0x80,0x90,0x8,0x4,0xfc,0x4,0x0,
-+0x10,0x17,0x10,0x17,0xfd,0x15,0x3d,0x37,0x50,0x53,0x92,0x13,0x12,0x13,0x10,0x1f,0x40,0xfe,0x0,0xfc,0x14,0xf4,0x14,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,
-+0x1,0x0,0x1f,0x10,0x92,0x51,0x50,0x11,0x36,0x50,0x92,0x11,0x20,0x21,0x42,0xc,0x0,0x84,0xfe,0x40,0x48,0x50,0xa0,0x10,0x4c,0x40,0x48,0x50,0xa0,0x10,0xe,0x4,
-+0x40,0x3f,0x10,0x7,0x84,0x67,0x20,0xb,0x12,0x23,0xe2,0x23,0x20,0x2f,0x20,0x20,0x4,0xfe,0xa0,0xfc,0xa4,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,
-+0x40,0x2f,0x20,0x7,0x4,0xe7,0x20,0x23,0x22,0x23,0x22,0x23,0x28,0x37,0x20,0x0,0x4,0xfe,0xa0,0xfc,0xa4,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,
-+0x0,0x40,0x32,0x11,0x0,0x0,0xf1,0x16,0x10,0x12,0x11,0x10,0x14,0x19,0x12,0x4,0x40,0x40,0x48,0x50,0xa0,0x90,0xe,0x44,0x40,0x48,0x50,0xa0,0xa0,0x10,0xe,0x4,
-+0x10,0x10,0x11,0x11,0x11,0xfd,0x11,0x11,0x11,0x11,0x11,0x1d,0xf1,0x40,0xf,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x0,0xfe,0x0,
-+0x4,0xe,0xf0,0x11,0x10,0x7c,0x11,0x10,0xfe,0x10,0x11,0x10,0x10,0x13,0x10,0xf,0x20,0xa4,0xa8,0x30,0x50,0x8c,0x24,0x20,0xa8,0xb0,0x20,0x50,0x8c,0x6,0x2,0xfe,
-+0x20,0x10,0x11,0x1,0xfd,0x9,0x11,0x35,0x59,0x95,0x11,0x11,0x11,0x10,0x17,0x10,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x0,0xfe,0x0,
-+0x0,0x8,0xfd,0x11,0x11,0x20,0x23,0x7c,0xa4,0x25,0x25,0x26,0x24,0x3c,0x25,0x2,0x20,0x20,0x24,0x24,0xfc,0x80,0xfe,0x80,0xa0,0x24,0xa8,0x50,0x50,0x88,0xe,0x4,
-+0x10,0x13,0x12,0x14,0xfc,0x11,0x14,0x18,0x33,0xd0,0x10,0x10,0x11,0x12,0x50,0x20,0x0,0xfe,0x2,0x54,0x88,0x4,0x20,0x24,0xfe,0x20,0x70,0xa8,0x26,0x24,0x20,0x20,
-+0x0,0x8,0x7f,0x4a,0x4a,0x49,0x49,0x48,0x48,0x48,0x48,0x78,0x49,0x2,0x4,0x18,0x0,0x0,0xf8,0x8,0x8,0x10,0x10,0xa0,0xa0,0x40,0xa0,0xa0,0x10,0x10,0xe,0x4,
-+0x1,0x21,0x21,0x3f,0x8,0xff,0x9,0x9,0x15,0x15,0x2a,0x22,0x44,0x84,0x8,0x30,0x0,0x8,0x8,0xf8,0x4,0xfe,0x0,0x10,0x30,0x40,0x80,0x80,0x40,0x20,0x1c,0x8,
-+0x0,0x23,0x18,0x8,0x80,0x60,0x23,0x8,0x10,0x21,0xe1,0x22,0x24,0x29,0x22,0x20,0x0,0xf8,0x10,0x20,0x40,0x84,0xfe,0xa4,0xa4,0x24,0x44,0x44,0x84,0x4,0x28,0x10,
-+0x10,0x10,0x13,0x12,0x13,0xfe,0x13,0x12,0x13,0x12,0x13,0x1d,0xf5,0x45,0x9,0x1,0x40,0x24,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x13,0x12,0xff,0x12,0x17,0x1a,0x33,0xd2,0x13,0x15,0x15,0x15,0x59,0x21,0x40,0x24,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x11,0x9,0x7f,0x40,0x9f,0x10,0x10,0x1f,0x1,0x1,0x7f,0x1,0x1,0xff,0x0,0x0,0x10,0x20,0xfe,0x2,0xf4,0x10,0x10,0xf0,0x0,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x1,0x9,0x5,0x7f,0x40,0x8f,0x8,0x8,0xf,0x1,0xff,0x3,0x5,0x19,0x61,0x1,0x0,0x20,0x40,0xfe,0x2,0xe4,0x20,0x20,0xe0,0x4,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x8,0x7d,0x48,0x4b,0x4a,0x7d,0x49,0x49,0x49,0x78,0x48,0x49,0x48,0x48,0x8b,0x18,0x20,0x24,0xa8,0xfe,0x2,0xfc,0x4,0x4,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x1,0x0,0x3f,0x20,0x2f,0x20,0x3f,0x20,0x2f,0x20,0x2f,0x28,0x48,0x48,0x8f,0x8,0x0,0x88,0xfc,0x80,0xf8,0x88,0xfe,0x88,0xf8,0x80,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x57,0x3a,0x13,0xfe,0x13,0x32,0x3b,0x56,0x53,0x93,0x15,0x15,0x19,0x11,0x40,0x24,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xa,0x9,0x11,0x10,0x37,0x54,0x94,0x15,0x15,0x15,0x15,0x15,0x15,0x14,0x14,0x40,0x48,0x48,0x50,0x44,0xfe,0x4,0x4,0xf4,0x14,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x10,0x22,0x79,0x49,0x48,0x7b,0x4a,0x7a,0x4a,0x4a,0xfa,0x2a,0x4a,0x8a,0x2a,0x12,0x40,0x48,0x48,0x50,0x44,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0xf4,0x84,0x14,0x8,
-+0x0,0x42,0x31,0x11,0x80,0x67,0x24,0xc,0x15,0x25,0xe5,0x25,0x25,0x25,0x24,0x24,0x40,0x48,0x48,0x50,0x44,0xfe,0x4,0x4,0xf4,0x14,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x10,0x12,0x11,0x7d,0x10,0x13,0xfe,0x12,0x52,0x5e,0x52,0x72,0x52,0x48,0x87,0x0,0x40,0x48,0x48,0x50,0x44,0xfe,0x4,0xf4,0x94,0x94,0x94,0xf4,0xc,0x6,0xfc,0x0,
-+0x23,0x10,0x40,0x23,0x9,0x71,0x11,0x12,0x14,0x1,0x9,0xa,0x12,0x4,0x18,0x60,0xf0,0x40,0x84,0xfe,0x24,0x24,0x24,0x54,0x88,0x0,0x10,0xa0,0x80,0x60,0x1c,0x8,
-+0x11,0x11,0x11,0x13,0xfc,0x12,0x13,0x1c,0x30,0xd3,0x10,0x12,0x12,0x13,0x50,0x20,0x0,0x0,0x4,0xfe,0x4,0x44,0xe4,0x84,0xa4,0xf4,0x84,0xa4,0xa4,0xe4,0x14,0x8,
-+0x0,0x40,0x37,0x10,0x83,0x60,0x2f,0x9,0x11,0x23,0xe2,0x25,0x28,0x30,0x20,0x20,0x80,0x88,0xfc,0x80,0xf8,0x80,0xfe,0x8,0x8,0xfe,0x8,0x8,0x88,0x88,0x28,0x10,
-+0x40,0x30,0x17,0x0,0x82,0x61,0x20,0xf,0x14,0x24,0xe7,0x24,0x24,0x24,0x27,0x24,0x8,0x3c,0xc0,0x4,0x4c,0x50,0x84,0x3e,0x4,0x4,0xbc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x21,0x23,0x4c,0xf8,0x10,0x21,0x46,0xf8,0x47,0x0,0x19,0xe2,0x45,0x0,0x80,0x80,0xf8,0x10,0xa0,0x40,0xa0,0x10,0x4e,0x44,0xfc,0x40,0x50,0x4c,0x44,0x80,
-+0x4,0x4,0xff,0x14,0x1f,0x28,0x4f,0x11,0x21,0xff,0x1,0x11,0x11,0x1f,0x0,0x0,0x40,0x44,0xfe,0x40,0xfc,0x4,0xf4,0x4,0x14,0xfc,0x4,0x14,0x14,0xf4,0x14,0x8,
-+0x10,0x10,0x10,0x10,0xfc,0x12,0x39,0x34,0x51,0x52,0x94,0x11,0x11,0x12,0x14,0x18,0xa0,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xb0,0xa8,0xa8,0x20,0x22,0x22,0x1e,0x0,
-+0x1,0x41,0x29,0x25,0x5,0x1,0xe3,0x25,0x29,0x21,0x22,0x24,0x28,0x50,0x88,0x7,0x40,0x40,0x48,0x58,0x60,0x40,0x60,0x50,0x50,0x40,0x44,0x44,0x3c,0x0,0x6,0xfc,
-+0x42,0x32,0x13,0x5,0x89,0x63,0x24,0x0,0x1f,0x20,0xe4,0x24,0x27,0x20,0x20,0x20,0x0,0x4,0xfe,0x4,0x24,0xf4,0x84,0x94,0xfc,0x84,0x94,0x94,0xf4,0x4,0x14,0x8,
-+0x1,0x79,0x49,0x52,0x55,0x61,0x52,0x48,0x4f,0x48,0x69,0x51,0x41,0x40,0x40,0x40,0x0,0x4,0xfe,0x4,0x24,0xf4,0x44,0x54,0xfc,0x44,0x54,0x54,0xf4,0x4,0x14,0x8,
-+0x0,0x40,0x30,0x10,0x7,0x0,0xf0,0x11,0x10,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x8,0x88,0x88,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x1,0x1,0xff,0x2,0x4,0xf,0x18,0x2f,0xc8,0xf,0x8,0xff,0x4,0x8,0x1f,0x0,0x0,0x4,0xfe,0x80,0x40,0xe0,0x10,0xee,0x4,0xe0,0x4,0xfe,0x0,0x20,0xf0,0x10,
-+0x10,0x10,0x50,0x53,0x7c,0x90,0x17,0x18,0x30,0xd7,0x11,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x10,0x14,0xfe,0x10,0x90,0x90,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x7a,0x49,0x4b,0x78,0x4f,0x49,0x7a,0x4d,0x48,0x49,0x8a,0x18,0x20,0x24,0xfe,0x20,0x48,0x50,0xfc,0x80,0xfe,0x10,0x4e,0x54,0xe0,0x58,0x48,0xc0,
-+0x0,0x7a,0x49,0x4b,0x48,0x7f,0x49,0x4a,0x4d,0x78,0x49,0x49,0x48,0x4f,0x88,0x18,0x40,0x48,0x50,0xfc,0x80,0xfe,0x10,0xe,0xf4,0x10,0x14,0xfe,0x4,0xe4,0x14,0x8,
-+0x1,0x0,0x1f,0x11,0x91,0x53,0x55,0x10,0x30,0x50,0x93,0x2c,0x20,0x40,0x80,0x0,0x0,0x84,0xfe,0x0,0x0,0xf8,0x10,0xa0,0x40,0xb0,0x8e,0x64,0x20,0x80,0x60,0x20,
-+0x11,0x9,0x7f,0x2,0xff,0x4,0x9,0x3f,0xc0,0x1f,0x0,0x1f,0x0,0x1f,0x10,0x1f,0x10,0x20,0xfc,0x0,0xfe,0x40,0x20,0xfe,0x4,0xf0,0x0,0xf0,0x0,0xf0,0x10,0xf0,
-+0x12,0x11,0x10,0x13,0xfc,0x10,0x33,0x3a,0x56,0x53,0x90,0x11,0x12,0x14,0x18,0x10,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0xc4,0x44,0x54,0x48,0x40,0x40,
-+0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x10,0x3f,0x54,0x94,0x14,0x24,0x4a,0x11,0x4,0x84,0x24,0x24,0x24,0x24,0x24,0x24,0xa4,0xe4,0xa4,0x84,0x84,0x84,0x94,0x8,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x11,0x11,0x5c,0x51,0x52,0x54,0x5c,0xf1,0x42,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0xfe,0xa4,0xa4,0xa4,0x24,0x54,0x88,
-+0x22,0x21,0x38,0x43,0x80,0x78,0x23,0x22,0xfa,0x23,0x20,0x29,0x32,0x24,0x8,0x0,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0xc4,0x44,0x54,0x48,0x40,0x40,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x15,0x19,0x30,0xd7,0x10,0x11,0x11,0x11,0x52,0x24,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfe,0x20,0x28,0x3c,0x20,0xa6,0x7c,
-+0x3e,0x23,0x22,0x3e,0x22,0x22,0x3e,0x0,0xff,0x8,0x2a,0x2f,0x28,0x58,0x49,0x87,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0x20,0x58,0x84,0x6,0xfc,
-+0x0,0x7c,0x45,0x44,0x44,0x7f,0x12,0x14,0x5d,0x51,0x51,0x51,0x5d,0xf1,0x40,0x0,0x40,0x20,0xfc,0x88,0x50,0xfe,0x22,0x24,0xfe,0x24,0x24,0x24,0x24,0x2c,0x20,0x20,
-+0x0,0x8,0x7d,0x48,0x48,0x4b,0x4a,0x4c,0x49,0x49,0x49,0x79,0x49,0x1,0x0,0x0,0x40,0x20,0xfc,0x88,0x50,0xfe,0x22,0x24,0xfe,0x24,0x24,0x24,0x24,0x2c,0x20,0x20,
-+0x10,0x10,0x10,0x20,0x2f,0x62,0xa2,0x24,0x24,0x28,0x2b,0x30,0x20,0x20,0x20,0x20,0x80,0x80,0x80,0x88,0xfc,0xa0,0xa0,0x90,0x90,0x88,0xee,0x84,0x80,0x80,0x80,0x80,
-+0x8,0x8,0x7e,0x8,0xfe,0x8,0x14,0x22,0xdf,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x20,0x28,0xfc,0x20,0xfe,0x20,0x50,0x8e,0xf4,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x13,0x78,0x57,0x54,0x5b,0x52,0x53,0x52,0x53,0x50,0x77,0x52,0x3,0x4,0x8,0x50,0xf8,0x40,0xfe,0x2,0xfc,0x48,0xf8,0x48,0xf8,0x0,0xfc,0x44,0x70,0xc0,0x7e,
-+0x10,0x11,0x11,0x11,0x59,0x55,0x51,0x91,0x10,0x11,0x12,0x14,0x10,0x11,0x12,0x10,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0xfe,0xa4,0xa4,0xa4,0x24,0x54,0x88,
-+0x2,0x41,0x30,0x17,0x80,0x60,0x27,0xc,0x14,0x27,0xe0,0x21,0x22,0x24,0x28,0x20,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0xc4,0x44,0x54,0x48,0x40,0x40,
-+0x41,0x22,0x14,0x7f,0x9,0x9,0x7f,0x48,0x49,0x7f,0x19,0x29,0x4d,0x8a,0x8,0x8,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xa4,0x24,0x24,0x24,0x4,0x14,0x8,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x24,0x24,0x3f,0x24,0x24,0x24,0x24,0x44,0x87,0x0,0x8,0xfc,0x8,0x8,0xf8,0x90,0x90,0x94,0xfe,0x90,0x90,0xf0,0x0,0x8,0xfc,0x0,
-+0x0,0x7f,0x1,0x1,0x1,0x1,0xff,0x1,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0xc0,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,
-+0x40,0x37,0x10,0x0,0x8f,0x61,0x21,0xa,0x14,0x28,0xe2,0x22,0x24,0x20,0x22,0x21,0x8,0xfc,0x80,0x84,0xfe,0x20,0x10,0x90,0x8e,0x84,0xd0,0xa8,0xa8,0x88,0x80,0x0,
-+0x10,0x10,0x17,0x10,0x13,0xfe,0x13,0x12,0x13,0x12,0x1f,0xf2,0x4f,0x1,0x3,0x4,0x40,0x44,0xfe,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x10,0xc,0x4,
-+0x0,0x3f,0x21,0x21,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x21,0x21,0x3f,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,
-+0x4,0xe,0xf8,0x8,0xb,0x8,0xff,0x8,0xa,0x3f,0x22,0x22,0x22,0x3e,0x22,0x0,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x10,0x10,0x17,0x10,0x58,0x54,0x57,0x90,0x10,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x10,0x78,0xc0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0xc,0xf3,0x10,0x10,0x13,0xfe,0x10,0x11,0x7d,0x46,0x45,0x45,0x46,0x7c,0x45,0x0,0x8,0xfc,0x40,0x44,0xfe,0x90,0x88,0x48,0x46,0x44,0x48,0x64,0x54,0x54,0x40,0x80,
-+0x8,0x7c,0x48,0x4b,0x4a,0x7a,0x4a,0x4b,0x4a,0x7a,0x4a,0x4f,0x48,0x49,0x8b,0x1c,0x90,0x90,0x94,0xfe,0x94,0x94,0x94,0xfc,0x94,0x94,0x94,0xfe,0x0,0x10,0xc,0x4,
-+0x10,0x10,0x10,0x10,0xfc,0x12,0x15,0x18,0x31,0xd2,0x14,0x11,0x11,0x12,0x54,0x28,0xa0,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xb0,0xa8,0xa8,0x20,0x22,0x22,0x1e,0x0,
-+0x8,0xf,0x18,0x24,0x43,0xc,0x30,0xc1,0x1,0x3f,0x1,0x9,0x11,0x21,0x5,0x2,0x0,0xf0,0x20,0x40,0x80,0x60,0x1e,0x4,0x10,0xf8,0x0,0x20,0x18,0x8,0x0,0x0,
-+0x0,0x47,0x31,0x11,0x1,0x2,0xf4,0x1b,0x12,0x12,0x12,0x13,0x12,0x28,0x47,0x0,0x8,0xfc,0x8,0x8,0x8,0x28,0x10,0xf8,0x8,0x8,0x8,0xf8,0x8,0x6,0xfc,0x0,
-+0x8,0x7c,0x48,0x48,0x48,0x7a,0x49,0x48,0x49,0x7a,0x4c,0x49,0x49,0x7a,0x44,0x8,0xa0,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xb0,0xa8,0xa8,0x20,0x22,0x22,0x1e,0x0,
-+0x4,0x7e,0x44,0x44,0x44,0x7e,0x11,0x10,0x5d,0x52,0x54,0x51,0x5d,0xf2,0x44,0x8,0xa0,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xb0,0xa8,0xa8,0x20,0x22,0x22,0x1e,0x0,
-+0x4,0x7e,0x44,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x55,0x11,0x29,0x45,0x81,0x40,0x40,0x44,0x7e,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x11,0x11,0x1d,0x21,0x22,0x7c,0x93,0x10,0x7c,0x10,0x10,0x15,0x19,0x12,0x4,0x40,0x40,0x50,0xf8,0x40,0x40,0x48,0xfc,0x40,0x40,0xa0,0xa0,0x10,0x10,0xe,0x4,
-+0x10,0x10,0x14,0x7e,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x55,0x5d,0x11,0x11,0x11,0x40,0x40,0x44,0x7e,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x82,0x1,0x8,0xfc,0x0,0x0,0x4,0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x4a,0x7a,0x44,0x8,0x0,0x10,0x38,0xc0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x13,0x10,0x14,0x58,0x50,0x51,0x96,0x10,0x11,0x10,0x28,0x24,0x40,0x87,0x0,0x0,0xfc,0x8,0x10,0x20,0x58,0x86,0x2,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x40,0x30,0x17,0x0,0x80,0x60,0x20,0x8,0x10,0x20,0xe0,0x20,0x20,0x20,0x21,0x20,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x0,0x0,0xfb,0x8,0x10,0x20,0x47,0x78,0x8,0x8,0x48,0x2b,0x10,0x28,0x47,0x80,0x10,0x38,0xc0,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x50,0xf8,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x17,0x20,0x23,0x62,0xa3,0x20,0x2f,0x28,0x33,0x20,0x20,0x20,0x21,0x20,0x80,0x48,0xfc,0x0,0xf8,0x8,0xf8,0x0,0xfe,0x2,0xf4,0x40,0x40,0x40,0x40,0x80,
-+0x2,0x1,0x7f,0x0,0x1f,0x10,0x1f,0x0,0x7f,0x40,0x9f,0x1,0x1,0x1,0x5,0x2,0x0,0x8,0xfc,0x10,0xf8,0x10,0xf0,0x0,0xfe,0x2,0xf4,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x0,0x3f,0x20,0x3f,0x22,0x24,0x28,0x2f,0x21,0x21,0x2a,0x44,0x4a,0x91,0x20,0x0,0x88,0xfc,0x0,0x1c,0x70,0x10,0x14,0xfe,0x10,0x10,0x10,0x7c,0x0,0x6,0xfc,
-+0x20,0x20,0x2f,0x21,0xf2,0x24,0x28,0x2f,0x31,0xe1,0x29,0x25,0x22,0x25,0xa8,0x50,0x0,0xc,0x70,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x7c,0x0,0x0,0x86,0x7c,
-+0x10,0x20,0x7f,0x48,0x49,0x6a,0x5c,0x4f,0xf8,0x48,0x48,0x6c,0x5a,0x49,0x8a,0x1c,0x0,0xc,0xf0,0x90,0x10,0x14,0x7e,0x90,0x90,0x90,0x90,0xfc,0x80,0x0,0x86,0x7c,
-+0x3,0x40,0x30,0x10,0x3,0x2,0xf2,0x13,0x12,0x12,0x13,0x12,0x12,0x2a,0x44,0x3,0xf8,0x10,0xa0,0x48,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x48,0x68,0x50,0x6,0xfc,
-+0x10,0x13,0x12,0x12,0xfe,0x12,0x32,0x3a,0x56,0x52,0x92,0x12,0x12,0x12,0x12,0x12,0x4,0xfe,0x4,0x4,0xf4,0x4,0x4,0xf4,0x94,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xae,0xc2,0x82,0x82,0xfe,0x82,0x82,0xfe,0x82,0x0,0xfe,0x82,0x82,0xfe,0x82,0x82,0xba,0xaa,0xaa,0xaa,0xba,0x82,0x82,0x8a,0x84,
-+0x0,0x0,0x7b,0x49,0x48,0x4f,0x78,0x4b,0x4a,0x7b,0x4a,0x4b,0x48,0x7b,0x40,0xf,0x80,0x48,0xfc,0x10,0xa4,0xfe,0x0,0xf8,0x48,0xf8,0x48,0xf8,0x40,0xf8,0x40,0xfe,
-+0x0,0x7f,0x40,0x40,0x5f,0x40,0x40,0x4f,0x48,0x48,0x48,0x48,0x4f,0x48,0x40,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x24,0x14,0x8,
-+0x20,0x23,0x3e,0x42,0x82,0x7a,0x22,0x22,0xfa,0x22,0x22,0x26,0x2a,0x32,0x22,0x2,0x4,0xfe,0x4,0x4,0xf4,0x4,0x4,0xf4,0x94,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x2,0x3f,0x22,0x22,0x32,0x2a,0x2a,0x22,0xff,0x22,0x22,0x22,0x22,0x42,0x4a,0x85,0x4,0xc,0x10,0x20,0x40,0x84,0xc,0x10,0xa0,0x42,0x6,0x8,0x10,0x20,0x40,0x80,
-+0x2,0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x3f,0x1,0x7f,0x0,0x10,0xf8,0x20,0x44,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x0,0xfc,
-+0x20,0x27,0x20,0x20,0xf8,0x27,0x74,0x6c,0xa7,0x24,0x24,0x27,0x24,0x24,0x24,0x24,0x0,0xf8,0x10,0xa0,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x20,0x27,0x20,0x20,0xf8,0x27,0x24,0x2c,0x37,0xe4,0x24,0x27,0x24,0x24,0xa4,0x44,0x0,0xf8,0x10,0xa0,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x10,0x14,0x3e,0x49,0x84,0x3f,0x20,0x2f,0x20,0x27,0x24,0x24,0x24,0x27,0x20,0x20,0x40,0x44,0xfe,0x20,0x10,0xf8,0x8,0xe8,0x8,0xc8,0x48,0x48,0x48,0xc8,0x28,0x10,
-+0x10,0x10,0x20,0x27,0x48,0xf9,0x12,0x27,0x41,0xf9,0x41,0x1,0x1a,0xe2,0x44,0x8,0x80,0x40,0x48,0xfc,0x80,0x10,0x8,0xfc,0x24,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x1,0x0,0x1f,0x10,0x97,0x50,0x50,0x17,0x34,0x57,0xd4,0x17,0x24,0x24,0x44,0x4,0x0,0x84,0xfe,0x0,0xf8,0xa0,0x44,0xfe,0x44,0xfc,0x44,0xfc,0x44,0x44,0x54,0x48,
-+0x10,0x10,0x11,0x22,0x24,0x6b,0xb0,0x27,0x24,0x27,0x24,0x27,0x24,0x24,0x24,0x25,0x80,0x80,0x40,0x20,0x10,0xee,0x4,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0xa8,0x90,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x15,0x1a,0x33,0xd0,0x11,0x10,0x10,0x10,0x51,0x26,0x10,0xf8,0x10,0x10,0x10,0x14,0xe,0x0,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x0,0x8,0x6,0x22,0x18,0x8,0x0,0xff,0x0,0x1,0x1,0x2,0x4,0x18,0x60,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x84,0xfe,0x80,0x0,0x60,0x10,0x8,0xc,0x4,
-+0x0,0x43,0x30,0x17,0x0,0x1,0xf2,0x17,0x11,0x11,0x12,0x12,0x14,0x28,0x44,0x3,0x18,0xe0,0x40,0xfc,0xe0,0x50,0x4e,0xf4,0x10,0x38,0x8,0x8,0x50,0x20,0x6,0xfc,
-+0x0,0xf,0x8,0x8,0x8,0x8,0x8,0x78,0x40,0x40,0x40,0x40,0x40,0x40,0x7f,0x40,0x20,0xf0,0x20,0x20,0x20,0x20,0x24,0x3e,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x3f,0x1,0x1,0xff,0x5,0x9,0x11,0x27,0x44,0x4,0x4,0x8,0x8,0x10,0x60,0xf0,0x0,0x0,0x4,0xfe,0x40,0x20,0x10,0xce,0x44,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x2,0x1,0x7f,0x44,0x88,0x11,0x1,0x1,0xff,0x1,0x2,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0xfe,0x42,0x34,0x10,0x40,0x24,0xfe,0x0,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x7f,0x44,0x47,0x4c,0x52,0x41,0x42,0x46,0x49,0x70,0x46,0x41,0x40,0x7f,0x40,0x4,0xfe,0x4,0xe4,0x44,0x84,0x4,0x84,0x44,0x3c,0x94,0x4,0x4,0x84,0xfc,0x4,
-+0x8,0x8,0x10,0x27,0x48,0x8,0x17,0x30,0x52,0x92,0x12,0x12,0x15,0x14,0x18,0x10,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x48,0x7c,0x40,0x40,0x40,0xc6,0x7c,0x0,
-+0x0,0x40,0x30,0x11,0x2,0x5,0xf0,0x10,0x17,0x10,0x11,0x12,0x14,0x29,0x44,0x3,0x40,0x40,0xa0,0x10,0xe,0xf4,0x40,0x48,0xfc,0x40,0x50,0x4c,0x44,0x40,0x86,0xfc,
-+0x0,0x40,0x31,0x12,0x84,0x48,0x57,0x0,0x10,0x2f,0xe0,0x22,0x24,0x28,0x22,0x21,0x80,0x80,0x40,0x20,0x10,0x2e,0xf4,0x80,0x88,0xfc,0x80,0xa0,0x98,0x88,0x80,0x0,
-+0x0,0x3f,0x20,0x3f,0x21,0x2f,0x21,0x3f,0x21,0x22,0x27,0x2c,0x57,0x64,0x87,0x4,0x8,0xfc,0x8,0xf8,0x10,0xe0,0x44,0xfe,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x8,0x7c,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0xf,0x0,0x40,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x8,0xf,0x10,0x20,0x7f,0xa1,0x21,0x21,0x3f,0x22,0x2,0x4,0x4,0x8,0x10,0x60,0x0,0xe0,0x40,0x88,0xfc,0x8,0x8,0x8,0xf8,0x88,0xa0,0x90,0x92,0x82,0x7e,0x0,
-+0x0,0x44,0x34,0x14,0x87,0x40,0x4f,0x8,0x17,0x24,0xe4,0x24,0x24,0x24,0x24,0x24,0x40,0x44,0x44,0x44,0xfc,0x0,0xfe,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x0,0x7f,0x40,0x40,0x40,0x7f,0x41,0x42,0x44,0x48,0x50,0x60,0x42,0x41,0x7f,0x40,0x4,0xfe,0x84,0x84,0x94,0xfc,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x11,0xfd,0x13,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0xa0,0x90,0x84,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xff,0x0,0x0,
-+0xc,0xf1,0x10,0x14,0xfe,0x10,0x38,0x56,0x92,0x38,0x28,0x28,0x2a,0x4c,0x48,0x81,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0x20,0x58,0x44,0x82,0x2,
-+0x0,0x78,0x4c,0x4a,0x48,0x78,0x4e,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x4d,0x88,0x18,0x8,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x84,0xa8,0x90,0x8c,0xc4,0x80,0x86,0x7c,
-+0x10,0x11,0x10,0x14,0x7f,0x55,0x55,0x55,0x55,0x7c,0x50,0x14,0x1d,0xf5,0x42,0x4,0x0,0x8,0x90,0x8,0xfc,0x8,0x8,0x8,0xf8,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x40,0x34,0x13,0x1,0xfc,0x8,0x17,0x39,0x55,0x91,0x11,0x11,0x11,0x12,0x14,0x10,0x4,0x7e,0x44,0x44,0x7c,0x44,0x44,0x7c,0x42,0x54,0x48,0x66,0x42,0x80,0x46,0x3c,
-+0x3,0x42,0x32,0x13,0x2,0x2,0xf3,0x12,0x12,0x12,0x12,0x13,0x12,0x28,0x44,0x3,0xf8,0x8,0x8,0xf8,0x8,0x8,0xfc,0x8,0xd0,0x20,0x90,0xc,0x4,0x0,0x6,0xfc,
-+0x0,0x3f,0x2,0x2,0xff,0x4,0x4,0x8,0x10,0x2f,0x48,0x88,0x8,0x8,0xf,0x8,0x10,0xf8,0x0,0x4,0xfe,0x40,0x40,0x20,0x10,0xee,0x24,0x20,0x20,0x20,0xe0,0x20,
-+0x1,0x1,0x1,0xff,0x1,0x21,0x21,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x2,0x2,0xfe,0x0,
-+0x7f,0x41,0x7f,0x52,0x7f,0x52,0x7f,0x52,0xa1,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x78,0x48,0x4c,0x80,0xfc,0x48,0x30,0x4e,0x84,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x30,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x11,0x1d,0x31,0xd7,0x11,0x11,0x11,0x11,0x50,0x20,0x80,0x80,0x84,0xfe,0x20,0x20,0x24,0x3e,0xe4,0x24,0x34,0x28,0x22,0x2,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x14,0x18,0x37,0xd0,0x10,0x10,0x10,0x10,0x50,0x20,0x10,0x38,0xc0,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x8,0x7d,0x48,0x48,0x4b,0x7a,0x4a,0x4a,0x4b,0x7a,0x48,0x48,0x49,0x49,0x8a,0x1c,0x0,0x10,0xa0,0x8,0xfc,0x8,0x8,0x8,0xf8,0xa8,0xa0,0xa0,0x20,0x22,0x22,0x1e,
-+0x10,0x20,0x7c,0x45,0x55,0x46,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0x14,0x8,0x40,0x20,0x0,0xfe,0x2,0x4,0x80,0x88,0x90,0xe0,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x7c,0x44,0x49,0x49,0x52,0x48,0x48,0x44,0x44,0x44,0x68,0x50,0x40,0x40,0x40,0x40,0x20,0x0,0xfe,0x2,0x4,0x80,0x88,0x90,0xe0,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x4,0x7e,0x4,0x24,0x24,0x27,0x24,0x24,0x3e,0x2,0x2,0x1a,0xe2,0x42,0x15,0xa,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x50,0x50,0x50,0x90,0x88,0xe,0x4,
-+0x4,0x7e,0x4,0x25,0x25,0x26,0x24,0x24,0x3e,0x2,0x2,0x1a,0xe2,0x42,0x14,0x8,0x40,0x20,0x0,0xfe,0x2,0x4,0x80,0x88,0x90,0xe0,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x20,0x27,0x24,0x25,0xfd,0x26,0x75,0x6d,0xa4,0x24,0x26,0x25,0x24,0x24,0x24,0x24,0x10,0x90,0x94,0x7e,0x10,0x24,0x7e,0xa4,0xa4,0xbc,0xa4,0x24,0x3c,0x24,0x24,0x2c,
-+0x0,0x3f,0x2,0x11,0xd,0x4,0x2,0x2,0xff,0x4,0x8,0x18,0x6,0x1,0x6,0x18,0x78,0x80,0x8,0x18,0x20,0x40,0x0,0x4,0xfe,0x10,0x10,0x20,0x40,0x80,0x60,0x10,
-+0x10,0x10,0x13,0x10,0xfc,0x11,0x15,0x19,0x33,0xd5,0x19,0x11,0x11,0x11,0x51,0x21,0x0,0x4,0xfe,0x80,0x80,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0xb,0x7c,0x48,0x4f,0x49,0x49,0x49,0x4f,0x49,0x49,0x79,0x4f,0x0,0x0,0x7,0x38,0xc0,0x40,0x44,0xfe,0x50,0x50,0x54,0xfe,0x50,0x50,0x54,0xfe,0x40,0x48,0xfc,
-+0x10,0x10,0x10,0x13,0xfa,0x14,0x11,0x1a,0x31,0xd0,0x10,0x11,0x12,0x12,0x52,0x21,0x40,0x20,0x0,0xfe,0x2,0x94,0x8,0x4,0xf8,0x10,0x60,0x80,0x0,0x2,0x2,0xfe,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x4f,0x48,0x48,0x48,0x4f,0x78,0x48,0x0,0xf,0x0,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0x7c,0x54,0x57,0x54,0x54,0x7c,0x51,0x14,0x1c,0xf4,0x43,0x0,0x20,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x40,0x30,0x17,0x80,0x60,0x2f,0x8,0x10,0x20,0xe7,0x20,0x20,0x20,0x2f,0x20,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0xfc,0x24,0x27,0x24,0x24,0x44,0x29,0x10,0x28,0x44,0x87,0x0,0x20,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x7f,0x8,0x8,0xf,0x8,0x8,0xa,0x11,0x11,0x10,0x24,0x28,0x30,0x60,0x0,0x8,0xfc,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x22,0x1e,0x0,
-+0x40,0x30,0x10,0x7,0xfc,0x8,0x10,0x37,0x58,0x94,0x11,0x11,0x12,0x14,0x10,0x10,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0xe0,0xd0,0x48,0x4e,0x44,0x40,0x40,0x40,
-+0x0,0x7f,0x3,0x5,0x19,0x61,0x1,0x7f,0x1,0x9,0x9,0x9,0x9,0x9,0xff,0x0,0x8,0xfc,0x0,0x60,0x18,0x8,0x0,0xfc,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,
-+0x8,0x8,0x8,0x10,0x1f,0x21,0x21,0x62,0x92,0xa,0x4,0x8,0x10,0x20,0x40,0x0,0x40,0x40,0x40,0x40,0x40,0x60,0x50,0x48,0x46,0x42,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x8,0xfc,0x3,0x2,0x7d,0x49,0x49,0x49,0x7a,0x2,0x4d,0x48,0x10,0xf9,0x2,0x4,0x40,0x20,0xfe,0x2,0x4,0xde,0x54,0x54,0x54,0x54,0x5c,0x94,0x90,0x12,0xe,0x0,
-+0x1,0xff,0x4,0x14,0x34,0x44,0x3f,0x0,0x1f,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x40,0x50,0x4c,0x44,0xf0,0x10,0xf0,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0x40,0x3f,0x10,0x2,0x86,0x68,0x27,0x8,0x17,0x24,0xe7,0x20,0x20,0x20,0x20,0x20,0x44,0xfe,0xa0,0xa8,0xa6,0xa2,0xf8,0x8,0xf8,0x0,0xfc,0x4,0x4,0x44,0x28,0x10,
-+0x8,0xfd,0x10,0x10,0x10,0x13,0x7c,0x10,0x10,0x10,0x10,0x1c,0xf1,0x41,0x2,0x4,0x8,0xfc,0x0,0x0,0x4,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x8,0x7d,0x0,0x0,0x4,0xfe,0x28,0x28,0x28,0x28,0x28,0x2a,0x2c,0x48,0x80,0x1,0x4,0xfe,0x10,0x24,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x58,0x44,0x82,0x2,
-+0x2,0x2,0x2,0x2,0x7f,0x2,0x2,0xe,0x2,0x5,0x4,0x4,0x8,0x8,0x30,0xc0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0xa0,0xa2,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x13,0x16,0x5a,0x51,0x50,0x90,0x13,0x10,0x10,0x28,0x25,0x45,0x82,0x4,0x40,0x20,0xfe,0x2,0x14,0xf8,0x0,0x8,0xfc,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0x1f,0x0,0x0,0x7f,0x4,0x4,0x4,0x8,0x8,0x10,0x60,0x0,0x0,0xfe,0x2,0x24,0xf0,0x0,0x8,0xfc,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x8,0xff,0x12,0x15,0x21,0x21,0x79,0xaa,0x2a,0x2d,0x28,0x28,0x39,0x22,0x4,0x40,0x20,0xfe,0x2,0x4,0xde,0x54,0x54,0x54,0x54,0x5c,0x94,0x90,0x12,0xe,0x0,
-+0x10,0x10,0x11,0x12,0xfc,0x13,0x12,0x1a,0x32,0xd3,0x12,0x10,0x10,0x11,0x52,0x24,0x80,0x80,0xf8,0x10,0x24,0xfe,0x44,0x44,0x44,0xfc,0x64,0xa0,0xa2,0x22,0x1e,0x0,
-+0x0,0x8,0x7d,0x4a,0x4c,0x4b,0x4a,0x7a,0x4a,0x4b,0x4a,0x48,0x78,0x49,0x2,0x4,0x80,0x80,0xf8,0x10,0x24,0xfe,0x44,0x44,0x44,0xfc,0x64,0xa0,0xa2,0x22,0x1e,0x0,
-+0x10,0x10,0x21,0x7d,0x46,0x44,0x44,0x7c,0x47,0x44,0x44,0x44,0x7d,0x45,0x2,0x4,0x40,0x20,0xfe,0x2,0x14,0xf8,0x0,0x4,0xfe,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x20,0x20,0x27,0x34,0xaa,0xa2,0xa3,0xa4,0x24,0x24,0x2a,0x21,0x21,0x22,0x24,0x28,0x80,0x40,0xfe,0x2,0x4,0x0,0xbc,0xa4,0xa4,0xb4,0xa8,0x20,0x22,0x22,0x1e,0x0,
-+0x2,0x1,0x7f,0x40,0x90,0x1e,0x12,0x12,0x22,0x32,0x4a,0x4,0x8,0x10,0x20,0x40,0x0,0x0,0xfe,0x2,0x4,0xf8,0x88,0x88,0x88,0xa8,0x90,0x80,0x82,0x82,0x7e,0x0,
-+0x20,0x20,0x23,0x22,0xfd,0x49,0x49,0x49,0x4a,0x92,0x55,0x20,0x50,0x49,0x82,0x4,0x40,0x20,0xfe,0x2,0x4,0xde,0x54,0x54,0x54,0x5c,0x54,0x90,0x92,0x12,0xe,0x0,
-+0x0,0x0,0xff,0x2,0x2,0x2,0x3,0x2,0x2,0x4,0x4,0x4,0x8,0x10,0x20,0x40,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x8,0x7c,0x4b,0x4a,0x4d,0x79,0x49,0x49,0x4a,0x7a,0x4d,0x48,0x48,0x49,0x4a,0x9c,0x40,0x20,0xfe,0x2,0x4,0xdc,0x54,0x54,0x54,0x54,0x5c,0x94,0x90,0x12,0xe,0x0,
-+0x0,0x40,0x37,0x10,0x80,0x60,0x20,0xb,0x10,0x20,0xe0,0x20,0x20,0x20,0x2f,0x20,0x0,0x8,0xfc,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x7f,0x1,0x1,0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x2,0x1,0x1,0x0,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x30,0x38,0x57,0x50,0x90,0x10,0x10,0x10,0x1f,0x10,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x7f,0x40,0x42,0x62,0x54,0x54,0x48,0x48,0x54,0x52,0x62,0x61,0x42,0x40,0x40,0x4,0xfe,0x4,0xc,0x8c,0x54,0x54,0x24,0x24,0x54,0x4c,0x8c,0x4,0x4,0x14,0x8,
-+0x8,0x8,0x10,0x27,0x40,0x8,0x8,0x10,0x37,0x50,0x90,0x10,0x10,0x10,0x1f,0x10,0x80,0x40,0x8,0xfc,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x0,0x7,0x78,0x48,0x48,0x48,0x78,0x4f,0x48,0x48,0x48,0x78,0x40,0xf,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0xa,0xff,0x20,0x20,0x26,0x38,0x20,0x0,0x3f,0x1,0x1f,0x1,0x1,0xff,0x0,0x4,0x7e,0x44,0x7c,0x44,0x7c,0x44,0x8c,0x0,0xf8,0x0,0xf0,0x0,0x4,0xfe,0x0,
-+0x2,0x1,0xff,0x10,0x10,0x10,0x10,0x1f,0x0,0x2,0x11,0x50,0x50,0x90,0xf,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x2,0x1,0x7f,0x10,0x10,0x10,0x1f,0x2,0x2,0xff,0x4,0x8,0x4,0x3,0x4,0x38,0x0,0x8,0xfc,0x0,0x0,0x20,0xf0,0x0,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x0,0x0,0x0,0x3f,0x20,0x3f,0x24,0x24,0x3f,0x29,0x31,0x2a,0x24,0x4a,0x91,0x2,0x80,0xa0,0x90,0xfc,0x80,0x80,0x84,0x44,0xc8,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x1,0x21,0x3f,0x0,0x7c,0x11,0xff,0x39,0x55,0x11,0xfd,0x24,0x48,0x30,0x29,0x46,0x0,0x8,0xf8,0x20,0x44,0xfe,0x24,0xfc,0x24,0xfc,0x44,0x60,0xa8,0xa2,0x22,0x1e,
-+0x12,0x12,0x2a,0x4a,0x8a,0x1f,0x20,0x7f,0xa0,0x2f,0x29,0x29,0x29,0x29,0x30,0x20,0x10,0x10,0x90,0xa4,0xbe,0xc4,0x24,0xa8,0x28,0x28,0x10,0x50,0xa8,0x28,0x46,0x84,
-+0x8,0xf,0x10,0x20,0x5f,0x10,0x10,0x13,0x12,0x12,0x12,0x12,0x22,0x22,0x41,0x80,0x0,0xe0,0x40,0x88,0xfc,0x0,0x10,0xf8,0x10,0x10,0x50,0x20,0x2,0x2,0xfe,0x0,
-+0x1,0x1,0x1,0xff,0x1,0x1,0x3f,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x4,0xfe,0x0,0x10,0xf8,0x0,0x4,0xfe,0x4,0x4,0x4,0x28,0x10,0x0,
-+0x0,0x40,0x2f,0x20,0x0,0x7,0xe0,0x20,0x2f,0x20,0x20,0x20,0x20,0x50,0x8f,0x0,0x80,0x88,0xfc,0x80,0x90,0xf8,0x80,0x88,0xfc,0x88,0x88,0xa8,0x90,0x86,0xfc,0x0,
-+0x10,0x10,0x11,0x12,0xff,0x12,0x32,0x3a,0x56,0x52,0x92,0x12,0x12,0x14,0x14,0x18,0x80,0xf8,0x10,0x24,0xfe,0x0,0x8,0xfc,0x88,0x88,0xa8,0x90,0x82,0x82,0x7e,0x0,
-+0x0,0x7f,0x41,0x41,0x5f,0x41,0x4f,0x41,0x5f,0x41,0x41,0x41,0x41,0x41,0x7f,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0xe4,0x4,0xf4,0x14,0x14,0x54,0x24,0x4,0xfc,0x4,
-+0x0,0x8,0x7c,0x49,0x49,0x4b,0x4d,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x80,0xa0,0x94,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,0x0,
-+0x10,0x10,0x10,0x11,0x59,0x57,0x55,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x80,0xa0,0x94,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,0x0,
-+0x0,0x10,0xc,0x4,0x0,0xff,0x1,0x1,0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x0,0x80,0x80,0x80,0x80,0x84,0xfe,0x4,0x4,0x4,0x84,0x64,0x24,0x4,0x4,0x28,0x10,
-+0x0,0x44,0x24,0x24,0x88,0x5f,0x42,0x4,0x28,0x5f,0xc0,0x40,0x43,0x5c,0x48,0x40,0x40,0x50,0x44,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x10,0x10,0x20,0x21,0x49,0xfb,0x15,0x21,0x41,0xfd,0x1,0x1,0x1d,0xe1,0x41,0x1,0x80,0xa0,0x94,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,0x0,
-+0x8,0x8,0xff,0x9,0x1,0x7f,0x1,0x3f,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x20,0x24,0xfe,0x20,0x8,0xfc,0x0,0xf8,0x0,0xfc,0x4,0x4,0x4,0x28,0x10,0x0,
-+0x4,0x4,0xff,0x4,0x1f,0x1,0x7f,0x5,0x19,0x2,0xff,0x4,0x8,0x7,0x4,0x18,0x40,0x44,0xfe,0x40,0xf0,0x0,0xfc,0x40,0x30,0x4,0xfe,0x20,0x40,0x80,0x60,0x10,
-+0x0,0x3f,0x1,0x1,0xff,0x5,0x9,0x31,0x5,0xff,0x4,0x8,0x4,0x3,0xc,0x30,0x30,0xc0,0x0,0x4,0xfe,0x40,0x38,0x10,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x57,0x90,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x44,0xfe,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x8,0xa,0x9,0x10,0x17,0x30,0x50,0x90,0x10,0x10,0x11,0x11,0x12,0x14,0x18,0x10,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0xc4,0xa4,0x14,0x4,0x4,0x4,0x28,0x10,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x2f,0x21,0x21,0x2f,0x21,0x21,0x5f,0x41,0x81,0x0,0x8,0xfc,0x8,0x8,0xf8,0x20,0xf0,0x8,0xfc,0x0,0x8,0xfc,0x0,0x2,0x2,0xfe,
-+0x10,0x10,0x20,0x27,0x48,0xf8,0x17,0x20,0x40,0xff,0x0,0x0,0x1c,0xe0,0x40,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x44,0xfe,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0xff,0x3,0x5,0x9,0x11,0x21,0x41,0x1,0x1,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x8,0x8,0xff,0x8,0x3f,0x21,0x3f,0x20,0x3f,0x20,0x3f,0x44,0x56,0x95,0x24,0xc,0x20,0x24,0xfe,0x20,0x8,0x8,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x8,0x28,0x10,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x48,0x4f,0x48,0x48,0x49,0x7a,0x44,0x8,0x0,0x0,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0xe0,0x50,0x50,0x4e,0x44,0x40,0x40,
-+0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x0,0xff,0x10,0x12,0x11,0x10,0x14,0x18,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x0,0x20,0x40,0x80,0x60,0x1c,0x8,
-+0x0,0x3f,0x21,0x3f,0x21,0x3f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x0,0xb,0x7e,0x4a,0x4b,0x4a,0x4a,0x4b,0x48,0x4f,0x4a,0x7a,0x4a,0x2,0x3,0x2,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x0,0xfe,0x88,0x50,0x20,0x90,0xe,0x4,
-+0x6,0xf8,0x11,0x11,0xff,0x39,0x55,0x91,0x11,0xfe,0x24,0x44,0x28,0x11,0x2a,0x44,0x40,0x84,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0x40,0x60,0xa0,0xa8,0x22,0x22,0x1e,
-+0x8,0x8,0x8,0x10,0x17,0x30,0x52,0x92,0x11,0x11,0x10,0x10,0x10,0x1f,0x10,0x10,0x80,0x40,0x40,0x8,0xfc,0x0,0x8,0x8,0x10,0x10,0x90,0xa0,0x24,0xfe,0x0,0x0,
-+0x0,0x47,0x34,0x17,0x84,0x67,0x20,0xb,0x12,0x23,0xe2,0x23,0x22,0x22,0x22,0x22,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x47,0x24,0x27,0x4,0x7,0xe0,0x23,0x22,0x23,0x22,0x23,0x2a,0x32,0x22,0x2,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x1,0x3f,0x21,0x21,0x3f,0x20,0x3f,0x20,0x3f,0x24,0x24,0x55,0x54,0xa4,0x14,0x8,0x8,0x88,0x8,0x8,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x8,0x88,0x8,0x28,0x10,
-+0x3f,0x21,0x3f,0x20,0x3f,0x20,0x3f,0x24,0x56,0x95,0x2c,0x2,0x51,0x50,0x90,0xf,0x8,0x8,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x28,0x10,0x0,0x84,0x92,0x12,0xf0,
-+0x0,0x0,0x7f,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0xff,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,0x0,0x0,0x4,0xfe,0x0,
-+0x1,0x0,0x1f,0x10,0x93,0x52,0x53,0x12,0x33,0x50,0xd7,0x14,0x24,0x24,0x4f,0x0,0x0,0x84,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0xa4,0xa4,0xa4,0xfe,0x0,
-+0x0,0x43,0x32,0x12,0x83,0x62,0x22,0xb,0x10,0x27,0xe4,0x24,0x24,0x24,0x2f,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfc,0xa4,0xa4,0xa4,0xa4,0xfe,0x0,
-+0x10,0x10,0x10,0x14,0x7f,0x54,0x54,0x54,0x54,0x7c,0x50,0x14,0x1e,0xe2,0x41,0x2,0x40,0x20,0x20,0x4,0xfe,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x2,0x1,0x1,0xff,0x10,0x8,0x8,0x4,0x4,0x2,0x1,0x2,0x4,0x8,0x30,0xc0,0x0,0x0,0x4,0xfe,0x10,0x10,0x20,0x20,0x40,0x80,0x0,0x80,0x60,0x10,0xe,0x4,
-+0x20,0x1b,0x48,0x40,0x5f,0x44,0x47,0x44,0x47,0x44,0x44,0x5f,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x24,0xf4,0x44,0xc4,0x44,0xc4,0x44,0x44,0xf4,0x44,0x44,0x54,0x8,
-+0x10,0x10,0x20,0x20,0x4f,0xfa,0x11,0x21,0x40,0xfc,0x0,0x0,0x1c,0xe1,0x42,0x4,0x80,0x40,0x40,0x4,0xfe,0x8,0x10,0x10,0xa0,0xa0,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x1,0x9,0x7d,0x49,0x4a,0x4c,0x48,0x48,0x49,0x49,0x49,0x7a,0x4c,0x1,0x2,0x0,0x0,0x0,0x4,0xfe,0xa4,0xa4,0xa4,0xa4,0x24,0x24,0x44,0x44,0x84,0x4,0x28,0x10,
-+0x8,0x1c,0xf0,0x11,0x12,0xff,0x10,0x33,0x38,0x57,0x50,0x95,0x15,0x19,0x10,0x10,0x40,0x40,0xf8,0x10,0x24,0xfe,0x4,0xfc,0x4,0xfc,0x40,0x24,0x22,0xa,0xf8,0x0,
-+0x2,0x1,0x7f,0x8,0x4,0x3,0x1c,0xe2,0x1f,0x1,0x2,0x3f,0x9,0x11,0x25,0x2,0x0,0x8,0xfc,0x20,0x40,0x80,0x70,0x4e,0x80,0x20,0x10,0xf0,0x20,0x18,0x8,0x0,
-+0x20,0x1b,0x8,0x40,0x40,0x4f,0x48,0x48,0x48,0x48,0x48,0x4f,0x48,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0x24,0xe4,0x24,0x4,0x14,0x8,
-+0x0,0x10,0x79,0x52,0x54,0x59,0x53,0x50,0x57,0x50,0x54,0x72,0x54,0x0,0x2,0x1,0x20,0xa0,0x10,0x48,0x86,0x14,0xf8,0x0,0xbc,0x84,0xa4,0x94,0xa4,0x84,0x94,0x8,
-+0x4,0x4,0x9,0x12,0xe4,0xf,0x0,0x3e,0x2,0x22,0x12,0xa,0x12,0x22,0xa,0x4,0x40,0x40,0x20,0x10,0x4e,0xe0,0x8,0xfc,0x8,0x88,0x48,0x28,0x48,0x88,0x28,0x10,
-+0x4,0x4,0x9,0x12,0xe4,0xf,0x0,0x7f,0x8,0x8,0xf,0x9,0x8,0xb,0x1c,0x0,0x40,0x40,0x20,0x10,0x4e,0xe0,0x8,0xfc,0x0,0x20,0xf0,0x20,0xa0,0x22,0x22,0x1e,
-+0x10,0x10,0x14,0x12,0xf8,0x10,0x16,0x1a,0x32,0xd2,0x12,0x12,0x12,0x15,0x58,0x20,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x28,0x16,0xfc,0x0,
-+0x10,0x10,0x10,0x14,0x7e,0x54,0x54,0x55,0x7d,0x55,0x11,0x15,0x1d,0xe5,0x41,0x1,0x8,0xfc,0x88,0x88,0x88,0xf8,0x24,0xfe,0x24,0x24,0x54,0x8c,0x4,0x4,0x14,0x8,
-+0x0,0x43,0x32,0x12,0x82,0x63,0x20,0xf,0x14,0x24,0xe4,0x24,0x25,0x24,0x24,0x24,0x8,0xfc,0x8,0x8,0x8,0xf8,0x44,0xfe,0x44,0x44,0x44,0xa4,0x14,0x4,0x14,0x8,
-+0x2,0x1,0x7f,0x44,0x88,0x1f,0x28,0x8,0xf,0x1,0x3f,0x21,0x22,0x2c,0x20,0x20,0x0,0x0,0xfe,0x42,0x24,0xf0,0x28,0x20,0xe0,0x8,0xfc,0x8,0x88,0x68,0x28,0x10,
-+0x4,0xe,0x78,0x8,0x8,0xff,0x8,0x8,0xa,0xc,0x18,0x68,0x9,0xa,0x28,0x10,0x80,0xa0,0x90,0x90,0x84,0xfe,0x80,0x90,0x90,0x60,0x40,0xa0,0x20,0x14,0x14,0xc,
-+0x10,0x14,0xfe,0x10,0x7c,0x45,0x7e,0x44,0x7d,0x10,0xfe,0x11,0x10,0x10,0x10,0x10,0x20,0x20,0x50,0x50,0x88,0x16,0x94,0x50,0x10,0x94,0x1e,0xf0,0x10,0x10,0x10,0x10,
-+0x2,0x7f,0x48,0x48,0x48,0x7e,0x42,0x42,0x42,0x7e,0x48,0x48,0x4a,0x7f,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x60,0x50,0x48,0x44,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x17,0x1a,0x32,0xd3,0x12,0x12,0x14,0x14,0x5b,0x20,0x8,0xfc,0x8,0x8,0xf8,0x0,0xfc,0x40,0x88,0xfc,0x20,0xf8,0x20,0x24,0xfe,0x0,
-+0x0,0x40,0x37,0x10,0x80,0x60,0x2f,0x8,0x10,0x20,0xe0,0x20,0x21,0x22,0x24,0x28,0x8,0x3c,0xc0,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x0,0x7f,0x1,0x11,0x11,0x11,0x11,0x29,0x29,0x45,0x85,0x1,0x1,0xff,0x0,0x0,0x8,0xfc,0x0,0x10,0x10,0x10,0x10,0x28,0x28,0x44,0x84,0x0,0x4,0xfe,0x0,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x48,0x78,0x47,0x0,0x0,0x0,0x40,0x88,0xfc,0x8,0x8,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x11,0x1d,0x21,0x21,0x7d,0x91,0x11,0x7d,0x10,0x10,0x17,0x18,0x10,0x0,0x40,0x88,0xfc,0x8,0x8,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x2,0x4,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x1f,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x20,0xf0,0x20,0x20,0x20,0xa0,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0x28,0x10,
-+0x0,0x23,0x18,0x8,0x80,0x6f,0x21,0x9,0x11,0x23,0xe0,0x20,0x20,0x20,0x20,0x20,0x8,0xfc,0x0,0x0,0x4,0xfe,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x40,0x37,0x10,0x0,0x2,0xe2,0x22,0x22,0x25,0x29,0x20,0x28,0x30,0x20,0x1f,0x0,0x8,0xfc,0x40,0x40,0x48,0x48,0x48,0x48,0x54,0x64,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x3f,0x20,0x3f,0x20,0x2f,0x21,0x22,0x27,0x20,0x20,0x3f,0x40,0x40,0xbf,0x0,0x8,0xfc,0x8,0xf8,0x0,0xfc,0x0,0x20,0xf0,0x80,0x88,0xfc,0x80,0x84,0xfe,0x0,
-+0x0,0x3f,0x2,0x2,0x2,0x2,0x7f,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x20,0xf0,0x0,0x0,0x0,0x8,0xfc,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x2,0x2,0x7f,0x2,0x2,0x4,0x4,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x0,0xf0,0x0,0x8,0xfc,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x10,0x13,0x10,0x10,0xfd,0x10,0x39,0x35,0x57,0x50,0x91,0x11,0x11,0x11,0x11,0x11,0x8,0xfc,0x80,0x88,0xfc,0x88,0x8,0x8,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x7f,0x4,0x4,0x3f,0x8,0x8,0xff,0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x8,0xfc,0x0,0x20,0xf0,0x20,0x24,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x1f,0x10,0x10,0x1f,0x0,0x0,0x3f,0x1,0x1,0xff,0x2,0x2,0x4,0x18,0x60,0x10,0xf8,0x10,0x10,0xf0,0x0,0x10,0xf8,0x0,0x4,0xfe,0x80,0x40,0x20,0x1c,0x8,
-+0x0,0x1f,0x11,0x11,0x11,0x11,0x11,0xff,0x11,0x11,0x22,0x22,0x3f,0x8,0x10,0x20,0x10,0xf8,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0xfc,0x10,0x50,0x20,
-+0x0,0x2,0x3f,0x0,0x0,0xff,0x4,0x4,0x27,0x24,0x24,0x24,0x27,0xf8,0x40,0x0,0x40,0x50,0x48,0x48,0x40,0xfe,0x40,0x40,0x40,0x40,0x20,0x20,0xa0,0x12,0xa,0x6,
-+0x0,0x0,0x7f,0x2,0x2,0x2,0x2,0x3f,0x4,0x4,0x4,0x8,0x8,0x8,0xff,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x10,0xfc,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0x10,0x13,0x10,0x10,0xfd,0x10,0x15,0x19,0x37,0xd0,0x11,0x11,0x11,0x11,0x51,0x21,0x8,0xfc,0x80,0x88,0xfc,0x88,0x8,0x8,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0xf,0x11,0x11,0x21,0x41,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x3f,0x52,0x92,0x7f,0x12,0x12,0xff,0x10,0x1e,0x22,0x52,0xd,0x18,0xe0,0x0,0x8,0xfc,0x90,0x90,0xfc,0x90,0x94,0xfe,0x10,0xfc,0x90,0x94,0xfe,0x10,0x10,0x10,
-+0x10,0x10,0x17,0x20,0x20,0x60,0xa0,0x27,0x21,0x21,0x21,0x22,0x22,0x22,0x3f,0x20,0x0,0x8,0xfc,0x80,0x80,0x80,0x88,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x9,0x9,0x9,0x12,0x15,0x31,0x51,0x91,0x1f,0x12,0x12,0x12,0x13,0x10,0x10,0x10,0x0,0x8,0xfc,0x0,0xf8,0x48,0x28,0x8,0xfe,0x48,0x28,0x8,0xfc,0x8,0x28,0x10,
-+0x10,0x10,0x11,0x11,0x11,0xfd,0x11,0x11,0x11,0x11,0x10,0x1c,0xf3,0x40,0x0,0x0,0x40,0x88,0xfc,0x8,0x8,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x83,0x0,0x80,0xa0,0x90,0xfc,0x80,0x80,0x84,0x44,0x48,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x3f,0x1,0x7f,0x51,0x89,0x14,0x7,0xc,0x13,0xc,0xf2,0xf,0x2,0x4,0x8,0x30,0xf8,0x0,0xfe,0x12,0x24,0x10,0xe0,0x40,0x80,0x60,0x1e,0xe4,0x20,0x20,0xa0,0x40,
-+0x0,0xb,0x7c,0x48,0x49,0x48,0x49,0x79,0x4f,0x48,0x49,0x49,0x79,0x49,0x1,0x1,0x8,0xfc,0x80,0x88,0xfc,0x88,0x8,0x8,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x11,0x11,0x51,0x51,0x7b,0x54,0x90,0x1c,0x31,0xd1,0x12,0x12,0x14,0x10,0x11,0x10,0x0,0x0,0x0,0x4,0xfe,0xa4,0xa4,0xa4,0x24,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x10,0x10,0x10,0x1f,0x24,0x44,0x84,0x8,0x8,0x8,0x10,0x11,0x21,0x42,0x4,0x8,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x84,0x84,0x84,0x4,0x4,0x4,0x28,0x10,
-+0x8,0x8,0xf,0x18,0x26,0x41,0x6,0x1a,0xe2,0x1f,0x2,0x2,0x4,0x4,0x8,0x30,0x0,0x0,0xf0,0x20,0xc0,0x0,0xc0,0x30,0xe,0xf4,0x10,0x10,0x10,0x10,0xa0,0x40,
-+0x10,0x13,0x10,0x10,0x59,0x54,0x51,0x91,0x17,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x8,0xfc,0x80,0x88,0xfc,0x88,0x8,0x8,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x43,0x32,0x12,0x3,0x0,0xe7,0x20,0x20,0x2f,0x20,0x20,0x28,0x31,0x22,0x4,0x8,0xfc,0x8,0x8,0xf8,0x0,0xfc,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x4,0x4,0x3f,0x4,0x4,0x4,0xff,0x0,0xf,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x20,0xf0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,
-+0x2,0x7f,0x44,0x44,0x5f,0x51,0x51,0x5f,0x44,0x44,0x7f,0x0,0x24,0x22,0x42,0x80,0x4,0x7e,0x44,0x44,0x44,0x7c,0x40,0x40,0x44,0x44,0x3c,0x0,0x88,0x44,0x42,0x2,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x12,0x12,0x14,0x10,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x0,0xff,0x4,0x4,0x4,0x7f,0x44,0x44,0x44,0x44,0x48,0x50,0x40,0x7f,0x40,0x0,0x4,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x34,0x4,0x4,0xfc,0x4,
-+0x0,0xb,0xfc,0x10,0x10,0x21,0x25,0x7f,0xa5,0x25,0x25,0x25,0x25,0x3d,0x25,0x1,0x4,0xfe,0x50,0x50,0x54,0xfe,0x54,0x54,0x54,0x54,0x5c,0x84,0x4,0x4,0xfc,0x4,
-+0x0,0x4,0xfe,0x10,0x10,0x20,0x20,0x7d,0xa6,0x24,0x24,0x24,0x24,0x3c,0x24,0x1,0x40,0x40,0x40,0x7e,0x42,0x82,0x84,0x44,0x24,0x18,0x8,0x10,0x20,0x40,0x80,0x0,
-+0x1,0x9,0x7d,0x49,0x4f,0x49,0x4b,0x7b,0x4d,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x0,0x6,0x38,0x20,0xe0,0x20,0xbe,0x68,0x28,0x28,0x28,0x28,0x48,0x48,0x88,0x8,
-+0x0,0x8,0x7f,0x48,0x4b,0x48,0x4b,0x4a,0x4b,0x49,0x4f,0x78,0x4b,0x2,0x2,0x3,0x40,0x48,0xfc,0x40,0xf8,0x0,0xf8,0x8,0xf8,0x10,0xfe,0x8,0xfc,0x8,0x8,0xf8,
-+0x0,0x7,0x7a,0x4a,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4a,0x7a,0x4c,0x8,0x11,0x2,0x8,0xfc,0x8,0x8,0x10,0x20,0x3c,0x84,0x88,0x48,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x11,0x11,0x1d,0x21,0x21,0x7d,0x91,0x11,0x7d,0x12,0x10,0x15,0x1a,0x10,0x0,0x8,0xfc,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x54,0x54,0xa4,0x24,0x44,0xa8,0x10,
-+0x10,0x10,0x57,0x50,0x7c,0x50,0x97,0x1a,0x32,0xd2,0x12,0x12,0x13,0x12,0x13,0x12,0x0,0x4,0xfe,0x90,0x90,0x94,0xfe,0x94,0x94,0x94,0x94,0x8c,0x4,0x4,0xfc,0x4,
-+0x9,0x1c,0xf0,0x10,0x11,0xfc,0x13,0x38,0x35,0x51,0x53,0x95,0x11,0x10,0x10,0x10,0x4,0xd8,0x20,0xd8,0x4,0x80,0xfe,0xa0,0x24,0xfe,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x2,0x4,0x1f,0x10,0x10,0x1f,0x10,0x1f,0x10,0x10,0x1f,0x2,0x51,0x50,0x90,0xf,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0xf0,0x10,0x10,0xf0,0x0,0x84,0x92,0x12,0xf0,
-+0x8,0x6,0x1,0x6,0x3a,0x2,0xff,0x4,0x8,0x1f,0x28,0xc8,0x8,0x8,0x0,0x0,0x30,0xc0,0x0,0xc0,0x38,0x0,0xfe,0x80,0x88,0xfc,0x88,0x88,0xa8,0x90,0x80,0x80,
-+0x0,0x3f,0x11,0x9,0x5,0xff,0x3,0x5,0x9,0x31,0x0,0x12,0x51,0x50,0x90,0xf,0xf8,0x0,0x10,0x20,0x44,0xfe,0x80,0x60,0x1c,0x8,0x0,0x0,0x84,0x92,0x12,0xf0,
-+0x0,0x78,0x4f,0x48,0x49,0x7a,0x48,0x49,0x4e,0x7a,0x49,0x48,0x49,0x4a,0x48,0x98,0x40,0x44,0xfe,0xe0,0x58,0x48,0xa0,0x10,0x4e,0x48,0x50,0xe0,0x58,0x48,0x40,0xc0,
-+0x2,0x2,0x2,0x7,0x4,0x8,0x10,0x24,0x43,0x1,0x0,0x1,0x2,0x4,0x18,0x60,0x0,0x0,0x8,0xfc,0x8,0x8,0x10,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,
-+0x11,0x11,0x17,0x11,0x59,0x55,0x5f,0x90,0x13,0x12,0x12,0x13,0x12,0x12,0x13,0x12,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0x12,0x56,0x5b,0x52,0x93,0x12,0x12,0x13,0x28,0x2a,0x46,0x8a,0x1,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x80,0x60,0x2c,0xa,0xf8,
-+0x11,0x10,0x10,0x14,0x59,0x50,0x57,0x90,0x11,0x11,0x13,0x2d,0x29,0x45,0x80,0x0,0x4,0xd8,0x20,0xd8,0x4,0x80,0xfe,0xa0,0x24,0xfe,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x40,0x37,0x12,0x1,0x80,0x61,0x23,0x8,0x10,0x27,0xe0,0x3f,0x20,0x21,0x22,0x2c,0x1c,0xe0,0x48,0x50,0x80,0x10,0xf8,0x40,0x84,0xfc,0x40,0xfe,0xa0,0x10,0xe,0x4,
-+0x20,0x18,0x8,0x0,0x81,0x61,0x22,0xb,0x14,0x20,0xe0,0x20,0x20,0x21,0x22,0x2c,0x80,0x80,0x84,0xfe,0x4,0x4,0x4,0x8,0xc8,0x50,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x0,0x3f,0x20,0x3f,0x24,0x22,0x24,0x28,0x24,0x27,0x28,0x3f,0x40,0x40,0x80,0x0,0x8,0xfc,0x8,0xf8,0x90,0xa0,0x98,0x88,0x80,0xf0,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x21,0x22,0x27,0x24,0xff,0x24,0x77,0x62,0xbf,0x24,0x27,0x24,0x24,0x2a,0x31,0x20,0x10,0x10,0x90,0x94,0xbe,0xc4,0xa4,0x28,0xe8,0x28,0x90,0x90,0xa8,0xa8,0x46,0x84,
-+0x2,0x2,0x7f,0x4,0x4,0xb,0x10,0x22,0x1,0xff,0x5,0x9,0x38,0xca,0xc,0x8,0x40,0x28,0xfc,0x80,0xf0,0x84,0x7c,0x0,0x4,0xfe,0x8,0x10,0xa0,0x60,0x1c,0x8,
-+0x1,0x0,0x3f,0x22,0x22,0x3f,0x22,0x22,0x23,0x20,0x2f,0x28,0x48,0x48,0x88,0x0,0x0,0x88,0xfc,0x20,0x24,0xfe,0x20,0x20,0xe0,0x88,0xfc,0x88,0x88,0xa8,0x90,0x80,
-+0x0,0x0,0xff,0x0,0x8,0x4,0x2,0x2,0x0,0x3,0xc,0x30,0x10,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x24,0xc4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x10,0x29,0x47,0x85,0x0,0x40,0x84,0xfe,0x4,0x4,0xfc,0x4,0xfc,0x4,0x4,0xfc,0x40,0x20,0x2c,0xa,0xf8,
-+0x1,0x7f,0x1,0x3f,0x0,0x1f,0x10,0x1f,0x4,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x8,0xfc,0x0,0xf8,0x0,0xf0,0x10,0xf0,0x44,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x10,0x11,0x11,0x1d,0x21,0x22,0x7c,0x93,0x10,0x7c,0x10,0x10,0x14,0x19,0x12,0x4,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x50,0x50,0x50,0x90,0x92,0x12,0xe,0x0,
-+0x0,0x42,0x32,0x13,0x82,0x64,0x20,0xf,0x10,0x20,0xe0,0x21,0x21,0x22,0x24,0x28,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0xa0,0xa0,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x7f,0x4,0x4,0x8,0x3f,0x1,0x2,0x4,0x3f,0x1,0x9,0x9,0x11,0x25,0x2,0x38,0xc0,0x0,0x10,0x20,0xc0,0x0,0x20,0x10,0xf8,0x8,0x20,0x10,0x8,0x8,0x0,
-+0x0,0x79,0x4b,0x54,0x50,0x63,0x52,0x4b,0x4a,0x4b,0x68,0x51,0x42,0x44,0x41,0x40,0x40,0x50,0x4c,0x44,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x0,0x0,0x7e,0x2,0x43,0x24,0x14,0x14,0x8,0x14,0x12,0x22,0x40,0x80,0x1,0x2,0x40,0x50,0x48,0x40,0xfe,0x40,0x44,0x44,0x48,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x10,0x10,0x21,0x21,0x45,0xf9,0x11,0x21,0x41,0xfd,0x1,0x1,0x1d,0xe1,0x41,0x1,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x0,0x0,0x7b,0x4a,0x4d,0x78,0x48,0x48,0x7f,0x48,0x49,0x49,0x79,0x49,0x1,0x1,0x40,0x20,0xfe,0x22,0xfc,0x20,0xf8,0x20,0xfe,0x20,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x13,0x14,0x7e,0x54,0x54,0x54,0x54,0x7c,0x50,0x14,0x1e,0xf2,0x40,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x30,0x28,0x24,0x24,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x7f,0x40,0x5f,0x51,0x51,0x5f,0x51,0x51,0x5f,0x51,0x41,0x41,0x41,0x7f,0x0,0x8,0xfc,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x0,0x0,0x4,0xfe,0x0,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x3e,0x22,0x3e,0x20,0x3e,0x20,0x3e,0x20,0x20,0x23,0xf0,0x0,0xfe,0x12,0x64,0x10,0xf8,0x8,0xf8,0x0,0xf8,0x88,0x50,0x20,0xde,0x4,
-+0x10,0x10,0x23,0xfe,0x25,0x50,0x51,0xfc,0x13,0x10,0x1d,0xf1,0x51,0x11,0x11,0x11,0x40,0x20,0xfe,0x22,0xfc,0x20,0xf8,0x20,0xfe,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x17,0x7c,0x54,0x54,0x57,0x54,0x74,0x57,0x54,0x54,0x57,0x74,0x54,0x4,0x4,0x4,0xbe,0x84,0x84,0x84,0xbc,0x0,0x7c,0xc4,0x44,0x28,0x90,0x28,0x28,0x46,0x84,
-+0x10,0x10,0x10,0x55,0x54,0x55,0x54,0x54,0x57,0x54,0x54,0x7c,0x4,0x0,0x1,0x6,0x20,0x20,0x28,0xfc,0x20,0x24,0xa8,0x20,0xfe,0x20,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x8,0x8,0x8,0x17,0x10,0x32,0x51,0x90,0x1f,0x10,0x10,0x10,0x11,0x12,0x14,0x18,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x44,0x2c,0x11,0x28,0x49,0x88,0x8,0x1b,0x28,0x48,0x88,0x8,0x8,0x51,0x26,0x20,0x20,0x28,0xfc,0x20,0x24,0xa8,0x20,0xfe,0x20,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0xff,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x4,0xfe,0x0,0x0,0x0,0x80,0x40,0x30,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x3f,0x20,0x3f,0x22,0x27,0x24,0x27,0x24,0x27,0x24,0x27,0x22,0x47,0x4a,0x81,0x1e,0xfe,0x0,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xf0,0x20,0xc0,0x3e,
-+0x7f,0x2,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x8,0xf,0x14,0x22,0x41,0x6,0x38,0xfc,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x0,0xf0,0x20,0x40,0x80,0x60,0x1c,
-+0x0,0xf,0x7c,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x50,0x48,0x44,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x20,0x20,0x27,0x24,0xfc,0x24,0x27,0x2d,0x35,0xe5,0x25,0x25,0x25,0x29,0xa1,0x40,0x10,0x90,0x10,0x20,0x3e,0x42,0x94,0x10,0x10,0x10,0x28,0x28,0x28,0x44,0x44,0x82,
-+0x20,0x20,0x27,0x3c,0x44,0x84,0x7f,0x25,0x25,0xfd,0x25,0x25,0x2d,0x35,0x29,0x0,0x10,0x90,0x10,0x20,0x3e,0x42,0x94,0x10,0x10,0x10,0x28,0x28,0x28,0x44,0x44,0x82,
-+0x1,0x11,0x11,0x1f,0x11,0x21,0x1,0xff,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x10,0x10,0x10,0x20,0x24,0x64,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x27,0x24,0x40,0x40,0x40,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x11,0x10,0x1e,0x25,0x28,0x7e,0xaa,0x2b,0x3e,0x2a,0x2a,0x3f,0x0,0xe,0xf0,0x40,0x4,0x88,0x54,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x8,0x8,0x11,0x10,0x22,0x7e,0x8,0x13,0x20,0x7e,0x0,0x0,0x1e,0xe0,0x40,0x0,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x0,0x3f,0x20,0x20,0x3f,0x20,0x2f,0x29,0x29,0x29,0x4f,0x48,0x83,0x0,0x80,0xa0,0x90,0xfc,0x80,0x80,0x84,0x44,0x48,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x8,0x4b,0x49,0x48,0x48,0x48,0x4b,0x1f,0x10,0x11,0x11,0x11,0x12,0x2,0xc,0x30,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x1e,0xf4,0x10,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x9,0x9,0x11,0x23,0x42,0xc,0x13,0x31,0x51,0x97,0x11,0x11,0x11,0x11,0x10,0x10,0x4,0x3e,0x0,0xc0,0x4,0x7e,0x88,0x8,0x8,0xc8,0x8,0x48,0x88,0x8,0x28,0x10,
-+0x8,0x12,0x3f,0x23,0x32,0x2a,0x22,0xfe,0x22,0x32,0x2a,0x22,0x22,0x43,0x8a,0x4,0x40,0x20,0x4,0xfe,0x20,0x20,0x40,0x84,0xf8,0x10,0x20,0x40,0x88,0xfc,0x4,0x0,
-+0x20,0x1b,0x48,0x41,0x41,0x41,0x5f,0x41,0x43,0x45,0x49,0x51,0x41,0x41,0x40,0x40,0x4,0xfe,0x4,0x4,0x4,0x24,0xf4,0x4,0x84,0x44,0x34,0x14,0x4,0x4,0x14,0x8,
-+0x40,0x20,0x2f,0x1,0x82,0x42,0x44,0x7,0x11,0x29,0xe6,0x22,0x25,0x24,0x28,0x30,0x0,0xc,0x70,0x10,0x10,0x50,0x5c,0x50,0x50,0x50,0x54,0xfe,0x0,0x80,0x7e,0x0,
-+0x0,0xf8,0x8,0xf,0x8,0x78,0x40,0x41,0x41,0x78,0x8,0x8,0x9,0xb,0x50,0x20,0x80,0x40,0x4,0xfe,0x40,0x40,0x80,0x8,0xf0,0x20,0x40,0x80,0x8,0xfc,0x4,0x0,
-+0x21,0x20,0x2f,0x20,0xfb,0x48,0x4f,0x48,0x4b,0x88,0x51,0x22,0x52,0x4c,0x88,0x0,0x10,0xa4,0xfe,0xa0,0xf8,0xa8,0xfe,0xa8,0xf8,0xa0,0xb0,0xa8,0xa8,0xa6,0xa0,0xa0,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x14,0x44,0x34,0x14,0x4,0x4,0xff,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x50,0x44,0x4c,0x50,0x40,0x44,0xfe,0x0,
-+0x0,0x78,0x48,0x51,0x52,0x65,0x50,0x4a,0x4a,0x49,0x69,0x51,0x41,0x40,0x4f,0x40,0x40,0x40,0xa0,0x10,0x2e,0xf4,0x0,0x48,0x48,0x48,0x48,0x50,0x50,0x24,0xfe,0x0,
-+0x0,0x9,0xfd,0x11,0x11,0x11,0x11,0x7d,0x11,0x11,0x10,0x1c,0xf0,0x41,0x2,0xc,0x8,0xfc,0x8,0x28,0x28,0x28,0x28,0x48,0x48,0x48,0x40,0xa0,0xa0,0x22,0x22,0x1e,
-+0x8,0x8,0x9,0xff,0x8,0x9,0x7f,0x55,0x55,0x7f,0x49,0x7f,0x49,0x49,0x43,0x41,0x10,0x10,0x18,0x94,0x10,0x14,0xfe,0x10,0x10,0x10,0x28,0x28,0x28,0x44,0x44,0x82,
-+0x0,0xf,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x8,0xff,0x4,0x8,0x10,0x3f,0x0,0x20,0xf0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x24,0xfe,0x0,0x20,0x10,0xf8,0x8,
-+0x8,0x7c,0x4b,0x4a,0x4b,0x7a,0x4b,0x48,0x48,0x7f,0x49,0x49,0x4a,0x4c,0x49,0x98,0x40,0x88,0xfc,0x8,0xf8,0x8,0xfc,0x48,0x50,0xe0,0x60,0x50,0x4e,0x44,0x40,0x80,
-+0x20,0x20,0x20,0x3d,0x26,0x48,0x41,0xa2,0x22,0x22,0x23,0x26,0x2a,0x32,0x23,0x2,0x80,0x80,0xf8,0x8,0x10,0x24,0x9e,0x4,0x4,0x4,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x2,0x7f,0x1,0x3f,0x1,0xff,0x0,0x44,0x29,0x12,0x20,0x60,0x20,0x23,0x2c,0x40,0x88,0xfc,0x0,0xf8,0x0,0xfe,0x80,0xfc,0x4,0x48,0x40,0xa0,0x90,0xe,0x4,
-+0x2,0x1,0x7f,0x49,0x89,0xf,0x11,0x21,0xff,0x2,0x2,0x2,0x4,0x4,0x18,0x60,0x0,0x0,0xfe,0x2,0x24,0xf0,0x0,0x4,0xfe,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x78,0x48,0x51,0x52,0x64,0x51,0x4a,0x4a,0x4a,0x6b,0x52,0x42,0x42,0x43,0x42,0x80,0x80,0xf8,0x8,0x10,0x24,0x9e,0x4,0x4,0x4,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x7d,0x45,0x49,0x49,0x51,0x49,0x49,0x45,0x45,0x45,0x69,0x51,0x41,0x41,0x41,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0x88,0x50,0x20,0x10,0x4e,0x84,0x0,
-+0x8,0x8,0x10,0x10,0x22,0x7f,0x8,0x10,0x23,0x7c,0x0,0x0,0x1c,0xe0,0x43,0x0,0x40,0x50,0x48,0x40,0x7c,0xc0,0x44,0x7e,0xc0,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x3f,0x22,0x22,0x22,0x3f,0x22,0x26,0x27,0x2a,0x2a,0x32,0x42,0x42,0x82,0x2,0x4,0xfe,0x0,0x4,0x7e,0xc4,0x44,0x7c,0x44,0xc4,0x7c,0x44,0x44,0x44,0x7c,0x44,
-+0x20,0x27,0x38,0x43,0x82,0x7b,0x21,0x27,0xf9,0x23,0x21,0x2f,0x29,0x33,0x2d,0x1,0x40,0xfc,0x0,0xb8,0xa8,0xb8,0x10,0xfc,0x10,0xf8,0x10,0xfe,0x48,0x30,0x8e,0x4,
-+0x0,0x3f,0x1,0x1,0xff,0x5,0x9,0x31,0xcf,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x30,0xc0,0x0,0x4,0xfe,0x40,0x30,0xe,0xe4,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,
-+0x12,0x1f,0x28,0x45,0x8,0x8,0xfe,0x8,0x18,0x1c,0x2a,0x28,0x48,0x88,0x8,0x8,0x44,0x7e,0xa0,0x10,0x4,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x1,0xff,0x0,0x3e,0x22,0x3e,0x4,0x7f,0x4,0x3f,0x4,0xff,0x9,0x18,0x6c,0x8,0x4,0xfe,0x0,0xf8,0x88,0xf8,0x40,0xfc,0x40,0xf8,0x40,0xfe,0x10,0xa0,0x70,0xe,
-+0x2,0x42,0x32,0x12,0x8f,0x62,0x26,0x7,0x1a,0x2a,0xf2,0x22,0x22,0x22,0x22,0x22,0x0,0x4,0x7e,0x44,0xc4,0x44,0x7c,0x44,0xc4,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,
-+0x2,0x2,0x4,0x8,0x10,0x3f,0x1,0x2,0x4,0x3f,0x0,0x0,0x0,0x3,0xc,0x70,0x0,0x0,0x20,0x20,0x40,0x80,0x0,0x8,0x8,0xf0,0x20,0x40,0x80,0x0,0x0,0x0,
-+0x82,0x44,0x29,0xfe,0x10,0x11,0x7c,0x10,0x10,0xfe,0x11,0x12,0x10,0x20,0x21,0x40,0x0,0x4,0xde,0x44,0x44,0x54,0xcc,0x44,0x44,0xcc,0x54,0x64,0x44,0x44,0x54,0x88,
-+0x22,0x11,0x10,0xff,0x8,0x10,0x3b,0x54,0x90,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x8,0x10,0xa0,0xfc,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x2,0x41,0x30,0x17,0x0,0x0,0xf3,0x10,0x10,0x10,0x1f,0x10,0x14,0x18,0x10,0x0,0x8,0x10,0xa0,0xfc,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x11,0x11,0xff,0x11,0x31,0x39,0x55,0x91,0x11,0x0,0x12,0x51,0x50,0x90,0xf,0x8,0xfc,0x8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x0,0x0,0x84,0x92,0x12,0xf0,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x4a,0x2,0x2,0x2,0x20,0x40,0x84,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x2,0x1,0x7f,0x0,0x1f,0x10,0x1f,0x0,0x3f,0x0,0x1,0xff,0x1,0x1,0x5,0x2,0x0,0x8,0xfc,0x0,0xf0,0x10,0xf0,0x0,0xf8,0x40,0x84,0xfe,0x0,0x0,0x0,0x0,
-+0x0,0xb,0xfc,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x1d,0xf1,0x41,0x0,0x0,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x58,0x84,0x2,
-+0x8,0x8,0x7f,0x8,0x8,0xff,0x4,0x8,0x1f,0x28,0xc8,0xf,0x8,0x8,0x8,0x7,0x20,0x28,0xfc,0x20,0x24,0xfe,0x40,0x20,0xf0,0x2e,0x24,0xe0,0x20,0x8,0x8,0xf8,
-+0x11,0x11,0x12,0x17,0xfc,0x17,0x30,0x39,0x56,0x51,0x96,0x10,0x11,0x16,0x10,0x10,0x0,0xf0,0x24,0xfe,0x44,0xfc,0x80,0x44,0x68,0xb0,0x30,0x68,0xa6,0x20,0xa0,0x40,
-+0x9,0x9,0xa,0x17,0x1c,0x37,0x50,0x91,0x16,0x10,0x17,0x10,0x11,0x16,0x10,0x10,0x0,0xf0,0x24,0xfe,0x44,0xfc,0x80,0x44,0x68,0xb0,0x30,0x68,0xa6,0x20,0xa0,0x40,
-+0x2,0x4,0x8,0x7f,0x40,0x40,0x4f,0x48,0x48,0x48,0x48,0x4f,0x48,0x40,0x40,0x40,0x0,0x0,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x24,0x4,0x14,0x8,
-+0x8,0xf,0x10,0x3f,0x61,0xa1,0x3f,0x6,0x19,0x62,0xc,0x31,0x6,0x18,0x62,0x1,0x0,0xe0,0x48,0xfc,0x8,0x8,0xf8,0x10,0x20,0xc0,0xc0,0xa0,0x90,0x8e,0x84,0x0,
-+0x8,0xff,0x9,0x3f,0x1,0xff,0x1,0x3f,0x1,0x21,0x25,0x25,0x25,0x29,0x41,0x1,0x24,0xfe,0x20,0xf8,0x8,0xfe,0x8,0xf8,0x0,0x8,0x48,0x28,0x28,0x28,0x8,0x8,
-+0x0,0x5,0xfe,0x10,0x11,0x21,0x25,0x7f,0xa5,0x25,0x25,0x25,0x25,0x3d,0x25,0x1,0x20,0x24,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x4,0x14,0x8,
-+0x1f,0x1,0x7f,0x51,0x89,0x11,0x5,0x3,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0xf0,0x0,0xfe,0x12,0x24,0x10,0x40,0x90,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x8,0x49,0x2a,0x9,0x7f,0x41,0x41,0x7f,0x41,0x41,0x7f,0x41,0x41,0x41,0x45,0x42,0x4,0x4,0x4,0x24,0xa4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x0,0x8,0x7f,0x48,0x48,0x4f,0x48,0x49,0x4a,0x4c,0x4b,0x48,0x78,0x48,0x0,0x0,0x40,0x44,0xf8,0x50,0x64,0xfe,0x80,0xf8,0x10,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x3e,0x22,0x3e,0x0,0xff,0x2,0x1f,0x10,0x11,0x12,0x4,0x78,0x0,0x3e,0x22,0x3e,0xf8,0x88,0xf8,0x4,0xfe,0x0,0xf0,0x10,0x10,0x90,0x40,0x3c,0x0,0xf8,0x88,0xf8,
-+0x10,0x11,0x10,0x3c,0x21,0x41,0xbd,0x11,0x11,0xfd,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x24,0xa8,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x4,0x14,0x8,
-+0x0,0x42,0x31,0x10,0x83,0x62,0x22,0xb,0x12,0x22,0xe3,0x22,0x22,0x22,0x22,0x22,0x40,0x48,0x50,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x8,0x28,0x10,
-+0x2,0x1,0x7f,0x41,0x89,0x5,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x10,0x10,0x0,0x0,0xfe,0x2,0x24,0x50,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x50,0x20,
-+0x2,0x41,0x30,0x11,0x82,0x6f,0x20,0x9,0x13,0x25,0xe9,0x21,0x21,0x21,0x21,0x21,0x8,0xb0,0x40,0xb0,0x48,0xfe,0x80,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x8,0x7c,0x4f,0x48,0x48,0x78,0x4b,0x48,0x4b,0x48,0x78,0x49,0x1,0x2,0xc,0x80,0x88,0xfc,0x80,0x50,0x22,0xd2,0xe,0x0,0xfc,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x5,0x5,0x9,0x9,0x11,0x21,0x41,0x1,0x1,0x5,0x2,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x10,0x8,0x4,0x4,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x3f,0x2,0x2,0xff,0x2,0x4,0x3f,0x10,0x21,0x5f,0x81,0x1,0x5,0x2,0x0,0x10,0xe0,0x40,0x84,0xfe,0x0,0x0,0xe0,0x80,0x8,0xfc,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x31,0x3a,0x54,0x50,0x90,0x10,0x10,0x10,0x13,0x1c,0x40,0x20,0x4,0xfe,0x0,0x88,0x6,0x8a,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x1,0x11,0x9,0x5,0x1,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x0,0x10,0x20,0x40,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x0,0x0,0x7b,0x48,0x4f,0x48,0x4b,0x48,0x4a,0x4a,0x4a,0x7b,0x42,0x4,0x8,0x0,0x40,0x48,0xfc,0x48,0xfe,0x48,0xf8,0x40,0x48,0xe8,0xd8,0x58,0x48,0x48,0x48,0x40,
-+0x10,0x12,0x1f,0x28,0x45,0x0,0x3f,0x1,0x1,0xff,0x2,0x2,0x4,0x8,0x10,0x60,0x40,0x48,0x7c,0xa0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x10,0x8,0x2,0xff,0x24,0x22,0x41,0xa4,0x14,0x8,0x14,0x24,0x22,0x42,0x80,0x1,0x20,0x20,0x20,0x24,0x7e,0x84,0x44,0x44,0x48,0x28,0x28,0x10,0x28,0x28,0x46,0x84,
-+0x21,0x21,0x27,0x21,0xff,0x21,0x77,0x69,0xa1,0x20,0x2f,0x20,0x20,0x20,0x23,0x2c,0x0,0x4,0xfe,0x14,0xd4,0x14,0xd4,0x24,0x4c,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x4,0x4,0x24,0x27,0x24,0x24,0x24,0x27,0xfc,0x0,0x0,0x1f,0x0,0x0,0x7f,0x0,0x40,0x40,0x40,0x4c,0x70,0x40,0x42,0x42,0x3e,0x0,0x20,0xf0,0x0,0x8,0xfc,0x0,
-+0x1,0x3f,0x21,0x3f,0x21,0x3f,0x10,0x10,0x3f,0x48,0xc8,0x54,0x40,0x7c,0x5,0x2,0x20,0xa0,0x20,0x3e,0x42,0x94,0x10,0x90,0xd0,0x90,0x90,0xa8,0xa8,0xa4,0x44,0x82,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x54,0x54,0x55,0x7e,0x51,0x15,0x1d,0xf5,0x40,0x0,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x80,0x80,0xfe,0x22,0x22,0x52,0x2,0xfa,0xa,0x4,
-+0x28,0x28,0xfe,0x29,0x38,0x10,0x7f,0x54,0x54,0x7c,0x11,0xfe,0x10,0x10,0x13,0x10,0x20,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x20,0x20,0xfb,0x20,0x20,0x24,0x24,0x24,0x29,0x21,0x21,0x22,0x24,0x20,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x8c,0x8a,0x8a,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x17,0xf8,0x12,0x11,0x18,0x37,0xd0,0x10,0x10,0x11,0x11,0x52,0x24,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0xe,0x4,
-+0x12,0x12,0x13,0x16,0xfb,0x12,0x13,0x1a,0x33,0xd2,0x17,0x11,0x11,0x11,0x52,0x24,0x80,0x48,0xfc,0x40,0xf8,0x40,0xf8,0x40,0xfc,0x0,0xf8,0x10,0x3c,0x4,0x14,0x8,
-+0x2,0x7f,0x4,0x24,0x24,0x45,0x7f,0xc,0xc,0x14,0x24,0x44,0x84,0x4,0x14,0x8,0x0,0x7c,0x44,0x44,0x48,0x48,0xd0,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0x8,0x14,0x22,0x41,0xbe,0x8,0x8,0x7f,0x8,0x2a,0x29,0x49,0x8,0x28,0x10,0x8,0x8,0x8,0x48,0x28,0x8,0x48,0x28,0xe,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,
-+0x8,0x7c,0x48,0x48,0x4b,0x78,0x48,0x4a,0x4a,0x7a,0x4d,0x49,0x49,0x4a,0x4c,0x98,0x80,0x80,0x80,0x88,0xfc,0x88,0x88,0x8c,0x8a,0x8a,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x4,0x24,0x17,0x14,0x4,0x5,0xf6,0x10,0x13,0x12,0x12,0x13,0x16,0x1a,0x13,0x2,0x20,0x24,0xa8,0x30,0x22,0xa2,0x5e,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x7f,0x40,0x88,0x8,0xf,0x8,0x8,0xf,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0xfe,0x2,0x4,0x20,0xf0,0x0,0x8,0xfc,0x8,0x48,0xe8,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x10,0x17,0xfc,0x12,0x32,0x3a,0x57,0x52,0x92,0x12,0x14,0x18,0x10,0x13,0x20,0x28,0x24,0xfe,0x20,0xa0,0xa0,0xa4,0xe4,0xa8,0xa8,0x90,0xb0,0x52,0x8a,0x6,
-+0x20,0x22,0x3f,0x48,0x88,0xa,0xff,0x8,0x28,0x2e,0x28,0x28,0x2f,0xf8,0x40,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x54,0x48,0x40,0x40,
-+0x20,0x3e,0x44,0xbe,0x2a,0x3e,0x2a,0x3f,0x2a,0x41,0x9f,0x11,0x1f,0x1,0x7f,0x20,0x0,0xfc,0x24,0x4c,0xd0,0x7c,0x90,0xfe,0x10,0x10,0xf8,0x10,0xf0,0x8,0xfc,0x4,
-+0x22,0x22,0x27,0x29,0xbf,0xaa,0xaa,0x2f,0x2a,0x2a,0x2f,0x2a,0x2a,0x2a,0x31,0x20,0x4,0x7e,0xa4,0x24,0xa4,0xc8,0xa8,0xbe,0xc8,0x88,0xfe,0x88,0x88,0x88,0x88,0x8,
-+0x2,0x42,0x32,0x12,0x82,0x62,0x2f,0xa,0x12,0x22,0xe2,0x22,0x22,0x22,0x23,0x20,0x48,0x48,0x48,0x48,0x48,0x48,0xfe,0x48,0x48,0x48,0x48,0x78,0x40,0x8,0xfc,0x0,
-+0x40,0x27,0x24,0x9,0x81,0x61,0x21,0x9,0x11,0x20,0xe0,0x2f,0x20,0x20,0x20,0x20,0x0,0xfe,0x2,0x4,0x0,0xfc,0x0,0x4,0xfe,0x4,0x24,0xf4,0x4,0x4,0x14,0x8,
-+0x2,0x44,0x2f,0x28,0xf,0x8,0xef,0x28,0x28,0x3f,0x21,0x2a,0x34,0x28,0x12,0x1,0x8,0x88,0xc8,0x88,0x88,0xfe,0x88,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0xa8,0x10,
-+0x3f,0x20,0x3f,0x20,0x24,0x22,0x2f,0x28,0x28,0x2f,0x28,0x28,0x4f,0x48,0x88,0x8,0xf8,0x8,0xf8,0x80,0x90,0xa8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x28,0x10,
-+0x4,0xff,0x14,0x8,0x7f,0x22,0x14,0xff,0x8,0xa,0x7f,0x2a,0x49,0x88,0x29,0x10,0x40,0xfe,0x40,0x6,0x78,0x40,0x44,0xfe,0x48,0x48,0x48,0x48,0x88,0x88,0x8,0x8,
-+0x8,0x8,0xff,0x8,0x8,0x0,0x2,0x1,0x50,0x50,0x50,0x90,0x10,0x10,0xf,0x0,0x20,0x24,0xfe,0x20,0x20,0x0,0x0,0x0,0x84,0x82,0x2,0x2,0x8,0x8,0xf8,0x0,
-+0x10,0x10,0x1d,0x20,0x20,0x7c,0x93,0x10,0x7c,0x10,0x11,0x10,0x14,0x18,0x10,0x0,0x40,0x20,0xfc,0x0,0x88,0x50,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,
-+0x2,0x7,0x38,0x20,0x20,0x20,0x3f,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x85,0x2,0x40,0x40,0x40,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x2,0x1,0x3f,0x8,0x4,0x4,0xff,0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x1,0x0,0x10,0xf8,0x20,0x20,0x44,0xfe,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,
-+0x10,0xa,0x7f,0x0,0x22,0x14,0xff,0xa,0x7f,0x8,0xa,0x29,0x48,0x89,0x28,0x10,0x8,0x1c,0x60,0x40,0x40,0x44,0xfe,0x48,0x48,0x48,0x48,0x88,0x88,0x8,0x8,0x8,
-+0x10,0x10,0x11,0x11,0x59,0x55,0x51,0x91,0x11,0x11,0x11,0x12,0x12,0x14,0x18,0x10,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x2,0x1,0x0,0x0,0x8,0x8,0x28,0x28,0x28,0x48,0x88,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x80,0xc0,0x80,0x0,0x8,0x4,0x2,0x2,0x2,0x0,0x10,0x10,0xf0,0x0,
-+0x8,0x8,0xf,0x10,0x10,0x37,0x50,0x90,0x17,0x10,0x13,0x12,0x12,0x12,0x13,0x12,0x80,0x44,0xfe,0x0,0x8,0xfc,0x0,0x8,0xfc,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x8,0x10,0x7f,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xf8,0x40,0x0,0x0,0x10,0x92,0x54,0x54,0x10,0xfe,0x10,0x10,0x14,0xfe,0x10,0x90,0x10,0x10,0x10,0x10,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x1,0x21,0x3f,0x21,0x41,0xbf,0x1,0x1,0xff,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x8,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,
-+0x0,0x7b,0x4a,0x4b,0x4a,0x7b,0x48,0x4a,0x4b,0x7c,0x48,0x4b,0x48,0x48,0x8f,0x18,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0x48,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x2,0x45,0x29,0x11,0x29,0x49,0x88,0x9,0x19,0x2a,0x4c,0x89,0x8,0x8,0x57,0x20,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x20,0x24,0xfe,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x13,0x12,0x13,0x5a,0x57,0x50,0x92,0x13,0x14,0x18,0x13,0x10,0x10,0x1f,0x10,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0x48,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x2,0x2,0x21,0x11,0x19,0x9,0x0,0x0,0xff,0x0,0x0,0x4,0xc,0x10,0x20,0x40,0x0,0x8,0x8,0x10,0x10,0x20,0x20,0x44,0xfe,0x0,0x0,0x40,0x20,0x18,0xc,0x4,
-+0x0,0x7f,0x11,0x11,0x11,0x11,0x11,0xff,0x11,0x11,0x11,0x11,0x21,0x21,0x41,0x1,0x84,0xc4,0x4,0x24,0x24,0x24,0x24,0xe4,0x24,0x24,0x24,0x24,0x4,0x4,0x14,0x8,
-+0x1,0x7f,0x12,0x12,0x12,0xff,0x12,0x12,0x12,0x23,0x41,0x7f,0x1,0x1,0xff,0x0,0x4,0x84,0x24,0x24,0x24,0xa4,0x24,0x24,0x4,0x14,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x0,0x7f,0x11,0x11,0x11,0x11,0x11,0xff,0x11,0x11,0x11,0x11,0x21,0x21,0x41,0x1,0x80,0xc4,0xc,0x10,0x20,0x44,0xc,0xd0,0x20,0x42,0x6,0x8,0x10,0x20,0x40,0x80,
-+0x0,0x7f,0x12,0x12,0x12,0x12,0x12,0xff,0x12,0x12,0x12,0x12,0x22,0x22,0x42,0x2,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0xb,0x10,0x20,0x40,0x8,0x17,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xae,0xc2,0x83,0x82,0xfe,0x82,0x82,0xff,0x82,0x4,0xfe,0x84,0xfc,0x84,0xfc,0x20,0xa0,0xfc,0x20,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x1,0x1,0x3f,0x1,0x1,0xff,0x8,0x4,0x3f,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x0,0x10,0xf8,0x0,0x4,0xfe,0x20,0x50,0xf8,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0xff,0x3,0x5,0x9,0x31,0xc1,0x1f,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0x4,0xf0,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x12,0x12,0x5b,0x54,0x54,0x98,0x10,0x13,0x10,0x10,0x10,0x10,0x1f,0x10,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x50,0xf8,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x26,0x24,0x24,0x45,0x28,0x10,0x28,0x44,0x87,0x0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x14,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x50,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x0,0x20,0x50,0x48,0x44,0x42,0x41,0x42,0x44,0x48,0x50,0x40,0x7f,0x40,0x0,0x0,0x10,0x10,0x24,0x24,0x44,0x84,0x4,0x84,0x44,0x34,0x14,0x4,0xfc,0x4,0x0,
-+0x8,0x7c,0x49,0x49,0x4a,0x7c,0x49,0x4a,0x4a,0x7a,0x4b,0x4a,0x4b,0x4a,0x88,0x18,0x80,0x80,0x0,0xfe,0x2,0x2,0x12,0xaa,0x4a,0xaa,0x1a,0xa,0xfa,0x2,0x14,0x8,
-+0x8,0x8,0x10,0x1f,0x20,0x40,0x90,0x28,0x25,0x22,0x25,0x28,0x20,0x3f,0x20,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x44,0xa4,0x24,0x24,0x24,0xa4,0x24,0xe4,0x14,0x8,
-+0x0,0x42,0x31,0x14,0x84,0x64,0x24,0xc,0x14,0x25,0xe5,0x26,0x24,0x27,0x24,0x20,0x0,0x8,0x10,0x94,0xa4,0x44,0x44,0xa4,0xa4,0x14,0xc,0xc,0x4,0xfc,0x4,0x0,
-+0x10,0x10,0x10,0xfd,0x11,0x13,0x25,0x21,0x51,0x51,0x91,0x25,0x45,0x7d,0x1,0x1,0x40,0xa0,0x88,0xfc,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x10,0x10,0x22,0x7f,0x0,0x3e,0x22,0x3e,0x22,0x3e,0x22,0x26,0x0,0x48,0x44,0x80,0x80,0x98,0xe0,0x84,0x84,0x7c,0x80,0x98,0xe0,0x84,0x84,0x7c,0x0,0x88,0x46,0x2,
-+0x8,0x8,0x8,0x10,0x17,0x30,0x50,0x90,0x11,0x11,0x12,0x14,0x18,0x10,0x10,0x10,0x40,0x40,0x40,0x44,0xfe,0x40,0xe0,0xe0,0x50,0x50,0x48,0x46,0x44,0x40,0x40,0x40,
-+0x11,0x11,0x11,0x21,0x2a,0x6c,0xa9,0x2e,0x28,0x2b,0x28,0x28,0x23,0x20,0x21,0x26,0x0,0x0,0xf8,0x10,0xa0,0x40,0xb0,0x2e,0xc0,0x10,0x60,0x88,0x10,0x60,0x80,0x0,
-+0x8,0x4,0x2,0x7f,0x1,0x3f,0x2,0xff,0x4,0xf,0x11,0x2f,0x42,0x84,0x3f,0x0,0x20,0x40,0x88,0xfc,0x0,0xf8,0x0,0xfe,0x10,0xf8,0x10,0xf0,0x10,0x14,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x31,0x39,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x80,0x80,0x80,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x0,0x8,0x7f,0x4a,0x4b,0x4a,0x4b,0x4a,0x4b,0x48,0x48,0x7f,0x48,0x1,0x2,0xc,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x50,0x48,0xfe,0xa0,0x10,0xe,0x4,
-+0x10,0x13,0x1c,0x20,0x27,0x7c,0x91,0x12,0x7d,0x10,0x10,0x10,0x15,0x19,0x12,0x4,0x18,0xe0,0x40,0x48,0xfc,0xe0,0x50,0x4e,0xf8,0x88,0x90,0x9c,0x4,0x4,0x28,0x10,
-+0x0,0x3f,0x1,0x1,0x7f,0x5,0x9,0x31,0xcf,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x78,0x80,0x0,0x8,0xfc,0x40,0x30,0xe,0xe4,0x20,0x40,0x70,0x10,0x10,0xa0,0x40,
-+0x20,0x10,0x10,0x0,0xfd,0x9,0x11,0x35,0x59,0x95,0x11,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x13,0x20,0x20,0x4f,0xf8,0x11,0x22,0x45,0xf8,0x0,0x0,0x19,0xe1,0x42,0x4,0x18,0xe0,0x40,0x48,0xfc,0xe0,0x50,0x4e,0xf8,0x88,0x90,0x9c,0x4,0x4,0x28,0x10,
-+0x20,0x20,0x20,0x27,0xfc,0x24,0x27,0x24,0x24,0x24,0x3e,0xe5,0x48,0x8,0x17,0x20,0x88,0xfc,0x80,0xfe,0x82,0xf0,0x84,0xfc,0x0,0xa0,0xa8,0xb0,0xa0,0xa4,0xfe,0x0,
-+0x0,0x0,0x0,0x3f,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x40,0x40,0x83,0x0,0x80,0xa0,0x90,0xfc,0x80,0x80,0x84,0x44,0x48,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x1,0xff,0x2,0x4,0x3f,0x24,0x24,0x24,0x24,0x20,0xf0,0x0,0xfe,0x12,0x64,0x10,0x4,0xfe,0x0,0x8,0xfc,0x88,0x88,0x88,0xa8,0x10,
-+0x2,0x3,0x2,0x3f,0x22,0x23,0x3e,0x23,0x20,0x22,0x32,0x2a,0x4a,0x42,0xbf,0x0,0x10,0xf8,0x0,0xfe,0x2,0xe4,0x8,0xf8,0x0,0x40,0x48,0x58,0x60,0x40,0xfe,0x0,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4b,0x7a,0x4c,0x4,0xb,0x0,0x48,0x7c,0x40,0xfe,0x42,0x70,0xc4,0x7c,0x0,0x50,0x54,0xd8,0x50,0x54,0xfe,0x0,
-+0x4,0xb,0x10,0x20,0x41,0x5,0x9,0x11,0x21,0x41,0x5,0x9,0x11,0x20,0x40,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x58,0x86,0x2,
-+0x8,0x8,0x10,0x21,0x42,0xc,0x13,0x30,0x50,0x97,0x10,0x11,0x12,0x14,0x11,0x10,0x40,0x40,0xa0,0x10,0xe,0x4,0xf8,0x40,0x48,0xfc,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x2,0x42,0x33,0x12,0x4,0x0,0xf0,0x1f,0x10,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x8,0x7f,0x9,0x7f,0x2,0x4,0x1f,0x1,0x2,0x3f,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x20,0xfc,0x20,0xfc,0x0,0x10,0xe0,0x0,0x8,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xae,0xa2,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x0,0x0,0x44,0x44,0xaa,0xaa,0xaa,0x92,0x92,0xaa,0xaa,0xa6,0xc6,0x82,0xfe,0x82,
-+0x8,0x8,0x14,0x12,0x21,0x5e,0x88,0x8,0x7e,0x8,0x2c,0x2a,0x4a,0x8,0x29,0x12,0x0,0x0,0x8,0xfc,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x10,0x10,0xfe,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x22,0x22,0x41,0x80,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0xfa,0x2,0xfe,0x0,
-+0x1,0x0,0x3f,0x20,0x2f,0x20,0x21,0x20,0x2f,0x20,0x20,0x20,0x40,0x40,0x82,0x1,0x0,0x88,0xfc,0x0,0xf8,0x20,0x40,0x80,0xfc,0x88,0x90,0x80,0x80,0x80,0x80,0x0,
-+0x2,0x1,0xff,0x2,0x4,0x1f,0x1,0x2,0x3f,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x10,0x0,0x4,0xfe,0x0,0x10,0xe0,0x0,0x8,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x10,0x10,0x11,0x13,0x5a,0x56,0x52,0x92,0x12,0x12,0x12,0x12,0x12,0x1f,0x10,0x10,0x80,0x80,0x8,0xfc,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,0x0,
-+0x10,0xfe,0x22,0x64,0x18,0x14,0x62,0x4,0x1f,0x3,0xc,0x3f,0x1,0x11,0x65,0x2,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,0x20,0xc0,0x0,0x10,0xf8,0x0,0x30,0x8,0x0,
-+0x10,0x13,0x10,0x11,0xfd,0x25,0x26,0x24,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x0,0xfe,0x42,0x70,0x40,0x40,0xfe,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x4,0x4,0xc,
-+0x10,0x10,0x23,0x20,0x48,0xf8,0x17,0x21,0x43,0xfd,0x9,0x1,0x1d,0xe1,0x41,0x1,0x40,0x44,0xf8,0x50,0x60,0x44,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x23,0x20,0x48,0xff,0x11,0x20,0x42,0xf9,0x7,0x0,0x1c,0xe0,0x41,0x2,0x40,0x50,0xf8,0x40,0x40,0xfc,0x24,0xa8,0x20,0x24,0xfe,0x40,0x60,0x90,0xc,0x4,
-+0x10,0x11,0x14,0xfe,0x20,0x28,0x48,0x7f,0x8,0x8,0xe,0xf8,0x48,0x8,0x8,0x8,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x7b,0x4a,0x4c,0x4b,0x48,0x4b,0x4a,0x4b,0x4a,0x7b,0x48,0x0,0x7,0x0,0x40,0x20,0xfe,0x2,0x4,0xfc,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x0,0x4,0xfe,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0x3f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x0,0xff,0x0,0x0,0x0,0xfe,0x2,0x14,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x4,0xfe,0x0,
-+0x1f,0x10,0x1f,0x10,0x1f,0x10,0xff,0x4,0x8,0x1f,0x2,0x51,0x50,0x90,0xf,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x14,0xfe,0x0,0x20,0xf0,0x10,0x84,0x82,0x12,0xf0,0x0,
-+0x20,0x10,0x14,0xfe,0x21,0x22,0x3c,0x24,0x24,0x24,0x24,0x24,0x44,0x55,0x8a,0x4,0x80,0x84,0xfe,0x80,0x0,0xfe,0x22,0x24,0xa0,0xa8,0xbc,0xa0,0xa0,0x60,0x26,0x1c,
-+0x2,0x1,0x1,0xff,0x2,0x2,0x4,0x8,0x3f,0x1,0x2,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x10,0x20,0xc0,0x0,0x0,0x0,0x10,0x10,0xf8,0x8,
-+0x0,0x42,0x32,0x13,0x2,0x4,0xf7,0x10,0x10,0x10,0x11,0x11,0x12,0x2c,0x44,0x3,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,0x6,0xfc,
-+0x1,0x0,0x3f,0x24,0xa4,0x6f,0x32,0x2f,0x6a,0xaf,0x2a,0x2f,0x40,0x43,0x9c,0x8,0x0,0x84,0xfe,0x44,0x28,0x7c,0x10,0x90,0xfc,0x90,0x94,0xfe,0x10,0x90,0x10,0x10,
-+0x0,0x8,0x7c,0x4f,0x48,0x48,0x79,0x4a,0x4b,0x78,0x48,0x49,0x4a,0x7b,0x48,0x0,0x80,0x40,0x44,0xfe,0x40,0x80,0x8,0x10,0xe0,0x40,0x80,0x0,0x8,0xfc,0x4,0x0,
-+0x10,0x10,0x20,0x20,0x45,0xfa,0x11,0x21,0x41,0xfd,0x1,0x1,0x1d,0xe0,0x40,0x0,0x80,0x80,0x84,0xfe,0x4,0x4,0xf4,0x14,0x14,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x28,0x28,0xfe,0x29,0x29,0x3b,0x15,0x7d,0x55,0x55,0x7d,0x11,0xff,0x11,0x11,0x11,0xa0,0xa0,0xa0,0x20,0x24,0x28,0x30,0x20,0x60,0xa0,0x20,0x22,0x22,0x22,0x1e,0x0,
-+0x8,0x8,0xff,0x8,0x20,0x7c,0x45,0x44,0x7c,0x43,0x7c,0x44,0x45,0x7c,0x40,0x0,0x20,0x24,0xfe,0x20,0x40,0x28,0xfc,0x88,0x50,0xfe,0x20,0x28,0xfc,0x20,0x20,0x20,
-+0x22,0x11,0x11,0x0,0x7f,0x40,0x80,0x1f,0x0,0x1,0xff,0x1,0x1,0x1,0x5,0x2,0x8,0x8,0x10,0x20,0xfe,0x2,0x4,0xe0,0x40,0x84,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x1,0x1,0x7f,0x40,0x80,0x4,0x4,0x4,0x8,0x8,0x10,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0xfe,0x2,0x84,0x80,0x80,0x40,0x40,0x40,0x20,0x10,0xe,0x4,0x0,
-+0x1f,0x1,0x7f,0x41,0x9d,0x1,0x1d,0x1,0x3f,0x0,0x0,0x1f,0x0,0x0,0x3f,0x0,0xf0,0x0,0xfe,0x2,0x74,0x0,0x70,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x1,0x1,0x2,0x3f,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xff,0x0,0x0,0x0,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x2,0x3f,0x22,0x22,0x3e,0x0,0x7f,0x41,0x49,0x49,0x49,0x49,0x49,0x14,0x23,0xc1,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x94,0x8,
-+0x0,0x3f,0x1,0xff,0x1,0x3f,0x29,0x25,0x3f,0x1,0x3f,0x1,0x7f,0x24,0x22,0x40,0x38,0xc0,0x4,0xfe,0x0,0xf8,0x28,0x48,0xf8,0x0,0xf8,0x0,0xfc,0x48,0x24,0x4,
-+0x10,0x17,0x24,0x24,0x47,0x94,0x25,0x65,0xa5,0x25,0x25,0x25,0x29,0x29,0x31,0x21,0x1c,0xe0,0x20,0x24,0xfe,0x20,0xfc,0x4,0x4,0xfc,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0xf,0x10,0x10,0x2f,0x48,0x88,0xf,0x8,0x8,0xf,0x8,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x24,0x4,0x28,0x10,
-+0x2,0x42,0x33,0x14,0x4,0x9,0xf1,0x11,0x11,0x11,0x11,0x13,0x15,0x18,0x10,0x0,0x0,0x4,0xfe,0x4,0x4,0xf4,0x14,0x14,0xf4,0x14,0x14,0xf4,0x14,0x4,0x14,0x8,
-+0x0,0x3f,0x0,0x0,0x1f,0x0,0x0,0x3f,0x0,0x0,0xff,0x8,0x4,0x4,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x20,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x9,0xfd,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x1d,0xe5,0x45,0x15,0xa,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,
-+0x0,0x41,0x31,0x12,0x2,0x4,0xf9,0x14,0x12,0x12,0x11,0x11,0x11,0x28,0x44,0x3,0x0,0x24,0x24,0x48,0x48,0x90,0x20,0x90,0x48,0x48,0x24,0x24,0x24,0x0,0x6,0xfc,
-+0x0,0x4,0xfe,0x21,0x21,0x3f,0x45,0x45,0xa5,0x19,0x9,0x11,0x21,0x40,0x80,0x0,0x80,0x84,0xfe,0x4,0x4,0xf4,0x14,0x14,0xf4,0x14,0x14,0xf4,0x14,0x4,0x14,0x8,
-+0x0,0x47,0x30,0x11,0x81,0x61,0x21,0x9,0x17,0x21,0xe1,0x21,0x21,0x21,0x21,0x21,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x50,0xf0,0x10,0x10,0x10,0xa,0xa,0x6,0x0,
-+0x1,0x41,0x31,0x11,0x1,0x1,0xf1,0x11,0x11,0x11,0x11,0x11,0x16,0x1a,0x14,0x8,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x4,
-+0x0,0x47,0x30,0x11,0x1,0x1,0xf1,0x11,0x17,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x50,0xf0,0x10,0x10,0x10,0xa,0xa,0x6,0x0,
-+0x0,0x40,0x3f,0x21,0x2,0x4,0xe4,0x27,0x3c,0x24,0x25,0x24,0x2c,0x54,0x88,0x7,0x10,0x10,0x10,0x10,0x10,0x10,0x58,0x54,0x94,0x92,0x12,0x50,0x20,0x0,0x6,0xfc,
-+0x0,0x47,0x30,0x11,0x1,0x1,0xf7,0x11,0x11,0x11,0x11,0x11,0x11,0x29,0x44,0x3,0x10,0xf8,0x10,0x10,0x10,0x50,0xf0,0x10,0x10,0x10,0x12,0xa,0x6,0x0,0x6,0xfc,
-+0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x2f,0x20,0x20,0x20,0x20,0x40,0x40,0x9f,0x0,0x8,0xfc,0x80,0x80,0x80,0x80,0x88,0xfc,0x80,0xa0,0x98,0x88,0x80,0x84,0xfe,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x11,0x10,0x10,0x10,0x50,0x20,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x4,0xfe,0x9,0x29,0x29,0x49,0xff,0x9,0x19,0x29,0x48,0x88,0xb,0x8,0x28,0x10,0x40,0x88,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x2,0xff,0x92,0x92,0x92,0xfe,0x92,0x92,0x92,0xfe,0x92,0x10,0x11,0x10,0x10,0x10,0x20,0x44,0xfe,0x84,0xa4,0x84,0x94,0x88,0x80,0xfe,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x0,0xb,0x7c,0x48,0x48,0x49,0x49,0x4b,0x48,0x48,0x48,0x79,0x46,0x0,0x0,0x0,0x8,0xfc,0x10,0x90,0x90,0x10,0x14,0xfe,0x10,0x30,0x50,0x90,0x10,0x10,0x50,0x20,
-+0x0,0x20,0x10,0xc,0x4,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x10,0x30,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0xff,0x8,0x0,0x3f,0x8,0x8,0x10,0x3f,0x0,0x3,0xc,0x30,0xc0,0x0,0x40,0x44,0xfe,0x40,0x10,0xf8,0x20,0x20,0x24,0xfe,0xa0,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x7f,0x0,0x10,0x10,0x20,0x20,0x7f,0x1,0x2,0x4,0x8,0x30,0xc0,0x1,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x10,0x11,0x14,0x7e,0x54,0x55,0x55,0x57,0x7c,0x10,0x14,0x1c,0xf4,0x41,0x2,0x0,0x8,0xfc,0x8,0x88,0x88,0x8,0x8,0xfe,0x28,0x28,0x48,0x48,0x88,0x8,0x28,0x10,
-+0x1,0x21,0x21,0x3f,0x0,0x3f,0x20,0x2f,0x20,0x3f,0x20,0x20,0x2f,0x40,0x5f,0x80,0x0,0x8,0x8,0xf8,0x0,0xfc,0x80,0xf8,0x80,0xfe,0x80,0x80,0xf8,0x80,0xfe,0x0,
-+0x10,0x1f,0x22,0x42,0x8f,0x14,0x24,0x7f,0xa0,0x2f,0x28,0x28,0x28,0x2f,0x28,0x20,0x80,0xc4,0x3e,0x0,0x84,0xfe,0x88,0xe8,0x48,0xe8,0x48,0x48,0x48,0xc8,0x28,0x10,
-+0x0,0x43,0x32,0x12,0x83,0x62,0x22,0xb,0x12,0x22,0xe3,0x22,0x24,0x24,0x2b,0x30,0x8,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x2,0x7f,0x4,0x24,0x24,0x45,0xfe,0x4,0xc,0x14,0x24,0x44,0x84,0x4,0x14,0x8,0x40,0x50,0x54,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x0,0xb,0x7c,0x48,0x48,0x48,0x4c,0x4a,0x4a,0x49,0x48,0x78,0x48,0x0,0x7,0x0,0x8,0xfc,0x90,0x90,0x90,0x90,0x92,0x94,0x94,0x98,0x90,0x90,0x90,0x94,0xfe,0x0,
-+0x0,0x7f,0x4,0x4,0x4,0x4,0x44,0x24,0x24,0x14,0x14,0x4,0x4,0x4,0xff,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x48,0x4c,0x50,0x50,0x60,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x47,0x20,0x22,0x2,0x4,0xef,0x20,0x20,0x20,0x24,0x29,0x32,0x24,0x8,0x0,0x8,0xfc,0x10,0x10,0x10,0x14,0xfe,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x7f,0x1,0x11,0x11,0x11,0xff,0x10,0x1f,0x10,0x1f,0x0,0x29,0x24,0x40,0x0,0x8,0xfc,0x0,0xf0,0x0,0x4,0xfe,0x0,0xf0,0x4,0xfe,0x4,0x24,0x94,0x14,0x8,
-+0x0,0x17,0x7c,0x54,0x54,0x54,0x57,0x54,0x54,0x54,0x54,0x75,0x56,0x4,0x7,0x4,0x4,0xfe,0x4,0x44,0x44,0x44,0xfc,0x44,0x44,0xa4,0x94,0xc,0xc,0x4,0xfc,0x4,
-+0x20,0x1b,0x49,0x41,0x5f,0x42,0x44,0x49,0x5f,0x69,0x4f,0x49,0x4f,0x41,0x40,0x40,0x4,0xfe,0x4,0x24,0xf4,0x84,0x44,0x24,0xfc,0x24,0xe4,0x24,0xe4,0x14,0xf4,0x8,
-+0x20,0x27,0x24,0x24,0x2c,0xb4,0xa7,0xa4,0x24,0x24,0x24,0x25,0x56,0x4c,0x87,0x4,0x4,0xfe,0x4,0x44,0x44,0x44,0xfc,0x44,0x44,0xa4,0x94,0xc,0xc,0x4,0xfc,0x4,
-+0x0,0x40,0x37,0x10,0x81,0x62,0x27,0xa,0x12,0x23,0xe2,0x22,0x23,0x20,0x20,0x20,0x40,0x48,0xfc,0xa0,0x10,0x8,0xfe,0x48,0x48,0xf8,0x48,0x48,0xf8,0x42,0x42,0x3e,
-+0x8,0x8,0x8,0x7f,0x8,0x8,0xf,0x78,0x0,0x3f,0x24,0x24,0x24,0x24,0xff,0x0,0x40,0x40,0x40,0x50,0x48,0x44,0x44,0x40,0x8,0xfc,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x0,0x7f,0x2,0x12,0xa,0x2,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x80,0x8,0xfc,0x40,0x48,0x50,0x44,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0xfd,0x10,0x10,0x20,0x20,0x7c,0xa7,0x24,0x24,0x24,0x25,0x3d,0x22,0x4,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x8,0x8,0x8,0x8,0x8,
-+0x20,0x20,0x27,0x20,0xf9,0xa9,0xaa,0xaf,0xa8,0xf8,0x22,0x29,0x39,0xea,0x44,0x8,0x0,0x6,0xb8,0x88,0x8,0x8,0x2e,0xa8,0xa8,0xa8,0xa8,0x3e,0x0,0x86,0x7c,0x0,
-+0x1,0x21,0x21,0x21,0x3f,0x0,0xff,0x2,0x4,0xf,0x18,0x28,0x48,0x8,0xf,0x8,0x0,0x8,0x8,0x8,0xf8,0x0,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x0,0x7d,0x4,0x8,0x11,0x21,0x7d,0x5,0x5,0x49,0x29,0x10,0x28,0x47,0x80,0x8,0x1c,0xe0,0x20,0x20,0x28,0x3c,0x20,0x20,0x20,0x28,0xfc,0x0,0x6,0xfc,0x0,
-+0x2,0x1,0xff,0x0,0x0,0x1f,0x0,0x1f,0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x4,0xfe,0x0,0x20,0xf0,0x0,0xf0,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x9,0x7f,0x22,0x14,0x7f,0x44,0x48,0x52,0x44,0x48,0x52,0x44,0x48,0x90,0x21,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0xa4,0xa4,0xa4,0xa4,0x48,0x86,0x2,
-+0x20,0x1b,0x4a,0x42,0x47,0x48,0x51,0x4e,0x48,0x48,0x4e,0x48,0x48,0x4f,0x40,0x40,0x4,0xfe,0x4,0x4,0xc4,0x84,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x14,0x8,
-+0x1,0x1,0x11,0x11,0x22,0x4,0x19,0x61,0x1,0x11,0x11,0x22,0x2,0x4,0x18,0x60,0x0,0x8,0x18,0x20,0xc0,0x30,0xc,0x4,0x10,0x30,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x41,0x31,0x11,0x81,0x61,0x22,0xc,0x10,0x23,0xe2,0x22,0x22,0x22,0x23,0x22,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xe,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x1,0x7f,0x2,0xc,0x31,0xdf,0x11,0x11,0x1f,0x11,0x11,0x1f,0x11,0x1,0x0,0x0,0x8,0xfc,0x80,0x60,0x1e,0xf4,0x10,0x10,0xf0,0x10,0x10,0xf0,0x14,0x4,0xfc,
-+0x10,0x10,0x10,0x13,0xfc,0x11,0x13,0x1e,0x32,0xd3,0x12,0x12,0x13,0x10,0x50,0x20,0x40,0x40,0x48,0xfc,0xa0,0x50,0xf8,0x4e,0x48,0xf8,0x48,0x48,0xf8,0x42,0x42,0x3e,
-+0x0,0xb,0x7e,0x4a,0x4b,0x4a,0x7a,0x4b,0x4a,0x7a,0x4a,0x4a,0x4a,0x7a,0x4b,0x2,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x88,0x50,0x20,0x10,0x8e,0x4,0x0,
-+0x10,0x14,0x23,0x41,0x80,0x14,0x23,0x61,0xa0,0x21,0x22,0x2e,0x22,0x22,0x22,0x22,0x8,0x7c,0x0,0x0,0x0,0x4,0x7e,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x40,0x20,0x2f,0x8,0x90,0x67,0x20,0xf,0x14,0x27,0xe4,0x27,0x20,0x21,0x23,0x24,0x80,0x40,0xfe,0x2,0x4,0xfc,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x0,0x10,0xc,0x4,
-+0x10,0x10,0x10,0xff,0x11,0x13,0x7d,0x11,0x11,0xff,0x11,0x11,0x11,0x11,0x10,0x10,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0x24,0xfc,0x4,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0x12,0xfe,0x12,0x12,0x12,0x13,0x1e,0xf2,0x42,0x2,0x3,0x0,0x8,0xfc,0x0,0xfc,0x84,0xfc,0x84,0xfc,0x20,0xfe,0x48,0xc8,0x30,0x48,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x14,0x17,0xf0,0x17,0x14,0x14,0x34,0xc7,0x0,0x48,0x44,0x80,0x40,0x44,0xfe,0x40,0x50,0xd0,0x12,0xdc,0x50,0x52,0x52,0xce,0x0,0x88,0x46,0x2,
-+0x0,0x3f,0x20,0x20,0x20,0x20,0x3f,0x20,0x20,0x21,0x21,0x22,0x42,0x44,0x88,0x10,0x8,0xfc,0x80,0xa0,0x90,0x94,0xfe,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0xe,0x4,
-+0x4,0x7f,0x11,0x11,0x21,0x25,0x7f,0xa5,0x25,0x25,0x24,0x24,0x3c,0x25,0x2,0x4,0x8,0xfc,0x8,0x28,0x28,0x28,0x48,0x48,0x48,0x48,0x60,0xa0,0xa2,0x22,0x1e,0x0,
-+0x0,0x3f,0x24,0x24,0x29,0x29,0x3b,0x2d,0x29,0x29,0x29,0x29,0x49,0x49,0x89,0x9,0x8,0xfc,0x80,0xa0,0x14,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x14,0xfe,0x0,
-+0x0,0x8,0x7f,0x48,0x48,0x4b,0x48,0x4b,0x48,0x48,0x4b,0x7a,0x4a,0x2,0x3,0x2,0x40,0x24,0xfe,0x0,0x8,0xfc,0x0,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0x1,0x3f,0x8,0x4,0x3f,0x20,0x20,0x23,0x2c,0x20,0x23,0x4c,0x40,0x83,0x1c,0x0,0x10,0xf8,0x20,0x44,0xfe,0x20,0xc0,0x10,0x20,0xc0,0x8,0x10,0x60,0x80,0x0,
-+0x10,0x10,0x10,0x15,0x5a,0x50,0x53,0x92,0x12,0x12,0x13,0x2a,0x26,0x46,0x83,0x2,0x80,0x80,0xfc,0x8,0x10,0x84,0x3e,0x4,0x4,0x4,0xbc,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0x1,0x7f,0x40,0x9f,0x10,0x1f,0x10,0x1f,0x2,0xff,0x4,0xc,0x3,0xc,0x30,0x0,0x0,0xfe,0x2,0xf4,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x20,0x40,0x80,0x60,0x18,
-+0x0,0x40,0x33,0x10,0x0,0x3,0xf2,0x12,0x12,0x12,0x12,0x12,0x16,0x1a,0x14,0x9,0x40,0x24,0xfe,0x88,0x50,0xfe,0x10,0x20,0x48,0x90,0x24,0x44,0x88,0x10,0x60,0x80,
-+0x8,0xfc,0x8,0x48,0x49,0x4a,0x4d,0x48,0x7c,0x6,0x5,0x1d,0xe5,0x44,0x17,0x8,0x40,0x40,0xa0,0xa0,0x10,0xe,0xf4,0x0,0x48,0x48,0x48,0x50,0x10,0x24,0xfe,0x0,
-+0x4,0xfe,0x20,0x21,0x3d,0x25,0x25,0x45,0x65,0x9b,0x8,0x10,0x20,0x40,0x81,0x2,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0xfe,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x1,0x1,0x1,0x1f,0x11,0x11,0x11,0x11,0x11,0xff,0x1,0x2,0x2,0x4,0x8,0x30,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,0x80,0x80,0x60,0x1c,0x8,
-+0x1,0x1f,0x11,0x11,0xff,0x4,0xa,0x3f,0xca,0x8,0x8,0xf,0x0,0x7f,0x0,0x0,0x10,0xf8,0x10,0x14,0xfe,0x40,0x30,0xee,0x24,0xa0,0x44,0xfe,0x4,0xc4,0x14,0x8,
-+0x8,0x1c,0xf0,0x11,0x15,0xff,0x11,0x39,0x35,0x53,0x50,0x90,0x10,0x10,0x11,0x12,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0xfe,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x10,0x13,0x10,0x10,0xfc,0x10,0x33,0x38,0x54,0x50,0x91,0x11,0x12,0x14,0x11,0x10,0x0,0xf8,0x10,0x20,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x10,0x13,0x10,0x10,0xfc,0x10,0x17,0x18,0x30,0xd0,0x11,0x11,0x12,0x14,0x51,0x20,0x0,0xf8,0x10,0x20,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0x24,0x44,0x44,0x84,0x28,0x10,
-+0xa,0x9,0x8,0x17,0x10,0x30,0x53,0x90,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x8,0x10,0xa0,0xfc,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x0,0x1f,0x10,0x97,0x50,0x50,0x11,0x37,0x51,0xd1,0x12,0x22,0x24,0x49,0x0,0x0,0x84,0xfe,0x0,0xf0,0x40,0x80,0x4,0xfe,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x8,0x4,0x2,0x7f,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x20,0x40,0x88,0xfc,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x2,0x41,0x30,0x17,0x80,0x60,0x23,0x8,0x10,0x20,0xef,0x20,0x20,0x20,0x20,0x20,0x8,0x10,0xa0,0xfc,0x40,0x40,0xf8,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x7d,0x45,0x49,0x49,0x51,0x49,0x49,0x45,0x45,0x45,0x69,0x51,0x41,0x41,0x41,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x8,0x5,0x3f,0x2,0x1f,0x2,0x7f,0x2,0x2,0x2,0x0,0xfc,0x0,0xf8,0x0,0xf8,0x88,0x8,0xe8,0x8,0xc8,0x8,0xfa,0xa,0x4,0x0,
-+0x10,0x11,0x12,0x24,0x24,0x64,0xa4,0x24,0x24,0x24,0x25,0x26,0x24,0x20,0x20,0x20,0x80,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x48,0x40,0x40,0x40,
-+0x1,0x0,0x1f,0x11,0x90,0x5f,0x50,0x10,0x37,0x50,0xd0,0x1f,0x20,0x20,0x40,0x0,0x0,0x84,0xfe,0x10,0xa4,0xfe,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x8,0x4,0x2,0x7f,0x1,0x3f,0x1,0xff,0x4,0x8,0x34,0xc4,0x4,0x4,0x8,0x10,0x20,0x40,0x88,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x30,0x4e,0x44,0x40,0x40,0x40,0x40,
-+0x12,0x11,0x10,0x17,0xfc,0x10,0x3b,0x34,0x50,0x50,0x9f,0x10,0x10,0x10,0x10,0x10,0x8,0x10,0xa0,0xfc,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x40,0x3f,0x10,0x87,0x60,0x2f,0x8,0x10,0x23,0xe0,0x27,0x21,0x22,0x2d,0x20,0x10,0xa4,0xfe,0x40,0xfc,0x40,0xfe,0x80,0x40,0xc8,0x50,0x60,0x50,0x4e,0x44,0x80,
-+0x2,0x44,0x2f,0x28,0xf,0x8,0xef,0x22,0x3f,0x24,0x27,0x24,0x28,0x52,0x89,0x7,0x10,0x10,0x94,0xbe,0xc4,0xa4,0xa4,0x28,0xa8,0x10,0x90,0xa8,0xa4,0xc4,0x6,0xfc,
-+0x8,0x7f,0x48,0x4b,0x4a,0x7a,0x4b,0x48,0x48,0x7f,0x48,0x49,0x48,0x48,0x88,0x1b,0x4,0xfe,0x90,0xfc,0x94,0x94,0xfc,0x40,0x40,0xfe,0x88,0x8,0x90,0x60,0x98,0x4,
-+0x10,0x10,0x11,0x10,0xfc,0x24,0x24,0x27,0x24,0x44,0x28,0x10,0x28,0x45,0x82,0x4,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x88,0x8,0x6,0x4,
-+0x8,0xfd,0x10,0x11,0x10,0x10,0x7d,0x11,0x12,0x14,0x13,0x1c,0xf1,0x41,0x1,0x1,0x1c,0xe0,0x0,0x24,0xa4,0xa8,0x0,0xfc,0x20,0x24,0xfe,0x20,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x17,0x12,0xfd,0x11,0x16,0x1b,0x34,0xd0,0x1f,0x10,0x12,0x12,0x53,0x22,0x8,0x3c,0xc0,0x48,0x48,0x50,0x0,0xfc,0x40,0x44,0xfe,0x40,0x48,0x48,0xf8,0x8,
-+0x4,0x4,0x3,0x7e,0x1,0x0,0x7,0x38,0x0,0x7f,0x2,0x2,0x4,0x4,0x8,0x70,0x0,0x8,0xfc,0x20,0x40,0x84,0x64,0x1c,0x8,0xfc,0x40,0x40,0x40,0x42,0x42,0x3e,
-+0x0,0x47,0x32,0x11,0x2,0x3,0xf4,0x10,0x1f,0x10,0x12,0x13,0x12,0x28,0x47,0x0,0x38,0xc0,0x48,0x50,0x40,0xf8,0x40,0x44,0xfe,0x40,0x48,0xf8,0x8,0x6,0xfc,0x0,
-+0x2,0x1,0x7f,0x48,0x90,0x28,0xf,0x11,0x21,0xff,0x1,0x21,0x21,0x21,0x3f,0x20,0x0,0x0,0xfe,0x22,0x14,0x8,0xf0,0x0,0x4,0xfe,0x0,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x27,0x22,0x1,0x1,0xe2,0x23,0x24,0x20,0x2f,0x20,0x2a,0x32,0x23,0x2,0x8,0x3c,0xc0,0x48,0x48,0x50,0x0,0xfc,0x40,0x44,0xfe,0x40,0x48,0x48,0xf8,0x8,
-+0x10,0x10,0x10,0x12,0xfd,0x25,0x24,0x24,0x24,0x45,0x2a,0x10,0x28,0x45,0x82,0x4,0x50,0x50,0x50,0x52,0x54,0x58,0x50,0x50,0xd8,0x54,0x54,0x90,0x92,0x12,0xe,0x0,
-+0x0,0x8,0x7c,0x4f,0x48,0x49,0x4a,0x4d,0x49,0x48,0x48,0x48,0x78,0x49,0x2,0xc,0x80,0x40,0x44,0xfe,0x0,0x10,0x8,0x14,0x10,0xa0,0xa0,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x0,0x7f,0x2,0x21,0x11,0x11,0x4,0x38,0x20,0x20,0x3e,0x20,0x20,0x3f,0x20,0x10,0x78,0x80,0x8,0x8,0x10,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x8,0x10,0x22,0x7c,0x9,0x10,0x7e,0x0,0xe,0x70,0x20,0x0,0x40,0x44,0xfe,0x40,0x40,0x44,0x7e,0x84,0x4,0x44,0x24,0x24,0x4,0x4,0x28,0x10,
-+0x0,0x7f,0x4,0x3f,0x24,0x24,0x3f,0x2,0x2,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x8,0xfc,0x40,0xf8,0x48,0x48,0xf8,0x0,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x10,0x13,0x11,0x54,0x39,0x10,0xfd,0x29,0x2b,0x2d,0x29,0x2b,0x2d,0x49,0x81,0x1,0x0,0xfc,0x54,0xcc,0x54,0x44,0x20,0xfe,0x20,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x17,0x12,0x12,0xfe,0x13,0x3a,0x36,0x53,0x52,0x92,0x13,0x1e,0x10,0x10,0x10,0x0,0xfe,0x52,0x54,0x54,0xd8,0x54,0x52,0xd2,0x52,0x5a,0xd4,0x50,0x50,0x50,0x50,
-+0x0,0x17,0x78,0x53,0x50,0x57,0x54,0x5b,0x50,0x53,0x52,0x73,0x41,0x0,0xf,0x0,0x48,0xfc,0x40,0xf8,0x0,0xfe,0x2,0xfc,0x0,0xf8,0x8,0xf8,0x10,0xa4,0xfe,0x0,
-+0x2,0x7f,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x22,0x27,0xfa,0x42,0x2,0x2,0x2,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x64,0x58,0x40,0x40,0x40,
-+0x4,0x8,0x14,0x2,0x1,0x6,0x18,0xe0,0x1f,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x40,0x20,0x50,0x80,0x0,0xc0,0x30,0xe,0xf0,0x10,0x10,0x10,0x50,0x20,0x0,0x0,
-+0x0,0x7f,0x49,0x49,0x7f,0x49,0x49,0x7f,0x8,0xa,0x7f,0x8,0x8,0xf,0xf8,0x40,0x0,0x7c,0x4,0x28,0x10,0x10,0xfe,0x12,0x14,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x40,0x30,0x10,0x1,0x2,0xf,0x10,0x20,0xe3,0x22,0x22,0x22,0x22,0x23,0x2,0x40,0x40,0x80,0x80,0x10,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x1,0x1,0x11,0x11,0x11,0x1f,0xf1,0x11,0x11,0x11,0x11,0x10,0x10,0xf,0x0,0x0,0x0,0x0,0x0,0x30,0xd0,0x10,0x10,0x10,0x50,0x20,0x2,0x2,0x2,0xfe,0x0,
-+0x0,0xff,0x2,0x4,0x1f,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x12,0x4,0x8,0x30,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0x60,0x18,0x8,
-+0x10,0x10,0x17,0x10,0xf9,0x11,0x12,0x1a,0x36,0xdb,0x12,0x12,0x12,0x12,0x53,0x22,0x80,0x44,0xfe,0x20,0x20,0x3c,0x44,0x64,0x98,0x48,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x4,0x4,0x4,0x4,0x44,0x24,0x24,0x14,0x14,0x14,0x14,0x4,0x4,0x4,0xff,0x0,0x40,0x40,0x40,0x40,0x44,0x44,0x48,0x48,0x50,0x50,0x60,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x8,0x7c,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x2,0x2,0x3f,0x22,0x22,0x3f,0x22,0x22,0x3f,0x22,0x1,0x1,0x6,0x18,0xe0,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x20,0xc0,0x80,0x44,0x34,0xc,
-+0x0,0x78,0x4f,0x48,0x49,0x79,0x4a,0x4a,0x4e,0x7b,0x4a,0x4a,0x4a,0x4a,0x8b,0x1a,0x80,0x44,0xfe,0x20,0x20,0x3c,0x44,0x64,0x98,0x48,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x2,0x1,0xff,0x8,0x8,0x10,0x11,0x32,0x56,0x99,0x10,0x10,0x10,0x11,0x12,0x1c,0x0,0x4,0xfe,0x80,0x80,0xf8,0x8,0x88,0x50,0x10,0xa0,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x40,0x37,0x10,0x81,0x61,0x22,0xa,0x16,0x2b,0xe2,0x22,0x22,0x22,0x23,0x22,0x80,0x44,0xfe,0x20,0x20,0x3c,0x44,0x64,0x98,0x48,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x7f,0x1,0x3f,0x0,0x7f,0x40,0x9f,0x0,0x1f,0x10,0x10,0x1f,0x4,0xff,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x2,0xf4,0x0,0xf0,0x10,0x10,0xf0,0x44,0xfe,0x0,
-+0x0,0x7f,0x44,0x44,0x4f,0x50,0x40,0x5f,0x40,0x41,0x41,0x42,0x4c,0x40,0x7f,0x0,0x8,0xfc,0x0,0x10,0xf8,0x80,0x88,0xfc,0x80,0x40,0x30,0x18,0x8,0x0,0xfc,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x10,0x17,0x19,0x31,0xd1,0x11,0x11,0x11,0x17,0x50,0x20,0x8,0xfc,0x8,0x8,0xf8,0x0,0xfe,0x8,0xf8,0x8,0xf8,0x8,0xe,0xf8,0x8,0x8,
-+0x10,0x10,0x10,0x1f,0x20,0x20,0x7c,0x90,0x11,0x7e,0x14,0x10,0x14,0x18,0x10,0x0,0x40,0x20,0x24,0xfe,0x40,0x40,0xa0,0xa4,0xa8,0x90,0x90,0x88,0x8e,0xa4,0xc0,0x80,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x50,0x90,0x11,0x12,0x14,0x10,0x10,0x10,0x10,0x10,0x40,0x20,0x24,0xfe,0x40,0x40,0xa0,0xa4,0xa8,0x90,0x90,0x88,0x8e,0xa4,0xc0,0x80,
-+0x8,0xb,0x8,0x10,0x10,0x3f,0x50,0x90,0x10,0x13,0x10,0x10,0x11,0x11,0x12,0x14,0x8,0xfc,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0xf8,0x88,0x80,0x0,0x0,0x0,0x0,
-+0x2,0x1,0x1,0xff,0x2,0x2,0x5,0x5,0xc,0x14,0x24,0xc4,0x4,0x5,0x6,0x4,0x0,0x0,0x4,0xfe,0x0,0x8,0x18,0x20,0xc0,0x80,0x40,0x20,0x18,0xe,0x4,0x0,
-+0x4,0x7f,0x48,0x48,0x48,0x5e,0x52,0x52,0x52,0x5e,0x48,0x48,0x48,0x48,0x7e,0x1,0x4,0xfe,0x20,0x44,0xfe,0x84,0x94,0x94,0x94,0x94,0xa4,0xa4,0xa4,0x58,0x86,0x2,
-+0x1,0x1,0xff,0x1,0x3f,0x1,0x1,0x3f,0x21,0x21,0x3f,0x1,0x2,0xc,0x30,0xc0,0x0,0x4,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x8,0x0,0xfc,0x4,0x94,0x48,0x30,0xe,
-+0x0,0x43,0x32,0x13,0x0,0xf,0xf0,0x13,0x12,0x12,0x12,0x10,0x11,0x2a,0x44,0x3,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0xa0,0x18,0x8,0x6,0xfc,
-+0x8,0x1c,0xf0,0x11,0x12,0xfc,0x10,0x39,0x34,0x54,0x90,0x11,0x10,0x10,0x10,0x17,0x40,0x40,0xfc,0x84,0x48,0x30,0x60,0xa0,0x3e,0x42,0xc4,0x24,0x18,0x30,0xc0,0x0,
-+0x8,0x8,0x8,0x12,0x12,0x32,0x51,0x91,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x18,0x0,0x80,0x64,0x24,0x4,0x8,0x8,0x10,0x90,0xa0,0x40,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x78,0x4f,0x48,0x4b,0x78,0x4b,0x4a,0x4a,0x7b,0x48,0x48,0x48,0x48,0x89,0x1e,0x40,0x44,0xfe,0x40,0xf8,0x48,0xf8,0x48,0x40,0xfe,0x42,0x4a,0xa4,0x90,0xe,0x4,
-+0x20,0x26,0x38,0x22,0x1e,0x21,0x3e,0x48,0x8,0xfe,0x8,0x8,0x14,0x22,0x41,0x2,0x0,0xfc,0x8,0x50,0x20,0xfe,0x22,0x24,0xa0,0xb8,0xa0,0xa0,0xe0,0xa0,0x1e,0x4,
-+0x0,0x40,0x33,0x12,0x82,0x62,0x23,0xa,0x12,0x22,0xe2,0x22,0x24,0x24,0x28,0x20,0x8,0x3c,0xc0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x2,0x1,0x7f,0x40,0x80,0xf,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x8,0xff,0x0,0x0,0x0,0xfe,0x2,0x24,0xf0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x2f,0x20,0xfb,0x48,0x4b,0x4a,0x4a,0x93,0x50,0x20,0x50,0x48,0x81,0x6,0x40,0x44,0xfe,0x40,0xf8,0x48,0xf8,0x48,0x40,0xfe,0x42,0x4a,0xa4,0x90,0xe,0x4,
-+0x8,0xf,0x10,0x1f,0x0,0xff,0x49,0x2a,0x7f,0x1c,0x2a,0x48,0xff,0x8,0x10,0x60,0x20,0xf0,0x20,0xe0,0x24,0xfe,0x20,0x78,0x24,0xfe,0x54,0x92,0xfe,0x10,0x10,0x10,
-+0x10,0x10,0x17,0x10,0xfc,0x11,0x37,0x38,0x57,0x52,0x92,0x12,0x13,0x12,0x10,0x10,0x40,0x48,0xfc,0x40,0xa0,0x14,0xfe,0x8,0xe8,0x28,0x28,0x28,0xe8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x12,0x7e,0x55,0x55,0x55,0x54,0x7c,0x10,0x14,0x1c,0xf5,0x42,0xc,0x0,0x80,0x64,0x24,0x4,0x8,0x8,0x10,0x90,0xa0,0x40,0xa0,0x90,0x8,0xe,0x4,
-+0x8,0x8,0xf,0x10,0x10,0x31,0x5f,0x90,0x13,0x12,0x12,0x12,0x13,0x12,0x10,0x10,0x40,0x48,0xfc,0x40,0xa0,0x14,0xfe,0x8,0xe8,0x28,0x28,0x28,0xe8,0x8,0x28,0x10,
-+0x0,0x7f,0x0,0x0,0x20,0x20,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x1f,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x4,0x4,0x4,0xfc,0x0,
-+0x0,0x0,0x7f,0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x10,0x20,0x20,0x20,0x1f,0x0,0x0,0x0,0xe0,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0x4,0xfc,0x0,
-+0x2,0x4,0x8,0x10,0x3f,0x8,0x8,0x1f,0x21,0x1,0xff,0x2,0x4,0x8,0x10,0x60,0x0,0x0,0x20,0x10,0xf8,0x8,0x10,0xf8,0x0,0x4,0xfe,0x80,0x40,0x30,0x1c,0x8,
-+0x0,0x4,0x42,0x43,0x41,0x40,0x40,0x40,0x41,0x42,0x44,0x48,0x50,0x60,0x1,0x6,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0x10,0x20,0x30,0x48,0x84,0x4,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x0,0x1,0x2,0x4,0x8,0x10,0x20,0x20,0x20,0x1f,0x40,0x44,0xfe,0x40,0x0,0xc0,0x80,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x2,0xfe,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x13,0x12,0x10,0x50,0x20,0x40,0x84,0x3e,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xa4,0x34,0x28,0x20,0x20,0x20,
-+0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x8,0x1f,0x24,0x44,0x88,0x10,0x21,0x2,0x4,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x44,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x1f,0x10,0x10,0x1f,0x0,0x3f,0x21,0x21,0x21,0x3f,0x20,0x20,0x20,0x20,0x1f,0x0,0xf0,0x10,0x10,0xf0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x10,0x10,0x55,0x56,0x55,0x54,0x54,0x54,0x54,0x55,0x7d,0x45,0x0,0x0,0x80,0x80,0x88,0xfc,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x8,0x8,0xb,0x10,0x10,0x30,0x50,0x91,0x12,0x12,0x14,0x14,0x14,0x14,0x13,0x10,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x8,0x9,0x11,0x21,0x41,0xa,0x14,0x33,0x51,0x91,0x10,0x10,0x10,0x10,0x13,0x1c,0x10,0xf8,0x10,0x10,0x10,0xe,0x0,0xf8,0x8,0x10,0x90,0xe0,0x40,0xb0,0xe,0x4,
-+0x0,0x7b,0x49,0x48,0x4f,0x78,0x4b,0x4a,0x4b,0x7a,0x4b,0x48,0x4b,0x4b,0x8d,0x18,0x40,0xf8,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x68,0x26,0xa,0xf8,
-+0x2,0x43,0x24,0x28,0x1f,0x8,0xe8,0x2f,0x20,0x21,0x21,0x22,0x24,0x58,0x88,0x7,0x0,0xe0,0x20,0x48,0xfc,0x88,0x88,0xf8,0x80,0x40,0x54,0x44,0x3c,0x0,0x6,0xfc,
-+0x40,0x4c,0x71,0x40,0x47,0x3c,0x41,0x7c,0x91,0x10,0xfe,0x13,0x28,0x24,0x44,0x80,0x20,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x1f,0x10,0x91,0x51,0x51,0x12,0x34,0x53,0xd1,0x10,0x20,0x21,0x46,0x18,0x80,0x44,0xfe,0x0,0xf0,0x10,0x10,0xc,0x0,0xf8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x2,0x1,0x1,0xff,0x4,0x4,0x4,0x14,0x14,0x24,0x44,0x4,0x8,0x8,0x11,0x0,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x50,0x48,0x44,0x44,0x40,0x40,0x40,0x40,0x80,
-+0x2,0x1,0xff,0x5,0xc,0x34,0xc5,0x6,0x3f,0x24,0x28,0x37,0x24,0x24,0x27,0x20,0x0,0x4,0xfe,0x10,0xa0,0x60,0x1c,0x8,0xfc,0x48,0x28,0xd8,0x48,0x48,0xc8,0x18,
-+0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x2,0x51,0x50,0x90,0xf,0x10,0xf8,0x20,0x44,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0x84,0x92,0x12,0xf0,
-+0x10,0x8,0x7f,0x22,0x14,0xff,0x20,0x52,0x9c,0x28,0x4c,0x1b,0x29,0xc8,0x28,0x11,0x8,0x7c,0x48,0x48,0x48,0x86,0x0,0xf8,0x48,0x48,0x48,0x30,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x13,0x10,0x58,0x54,0x50,0x91,0x12,0x12,0x14,0x14,0x14,0x14,0x13,0x10,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x2,0x21,0x21,0x10,0x10,0x8,0x8,0x4,0x2,0x1,0x2,0x4,0x8,0x10,0x60,0x0,0x8,0x8,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x0,0x80,0x60,0x18,0xe,0x4,
-+0x8,0x4,0x0,0x7f,0x0,0x4,0x8,0x10,0x0,0x3f,0x24,0x24,0x24,0x24,0xff,0x0,0x20,0x40,0x8,0xfc,0x0,0x40,0x30,0x10,0x0,0xf8,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x2,0x41,0x30,0x17,0x80,0x61,0x22,0xc,0x10,0x27,0xe5,0x25,0x25,0x25,0x3f,0x20,0x10,0x20,0x8,0xfc,0x0,0x20,0x18,0x8,0x0,0xf8,0x28,0x28,0x28,0x28,0xfe,0x0,
-+0x2,0x42,0x33,0x12,0x2,0x1,0xf0,0x10,0x13,0x12,0x12,0x13,0x16,0x1a,0x13,0x2,0x0,0x38,0xc0,0x2,0x2,0xfe,0x0,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x0,0x40,0x30,0x12,0x2,0x2,0xf1,0x11,0x10,0x10,0x10,0x14,0x19,0x12,0x4,0x8,0x0,0x80,0x44,0x44,0x4,0x8,0x8,0x10,0x90,0xa0,0x40,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x40,0x2f,0x28,0x10,0x3,0xe2,0x22,0x23,0x22,0x22,0x23,0x2a,0x32,0x2f,0x0,0x80,0x40,0xfe,0x2,0x4,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0xfe,0x0,
-+0x0,0x47,0x22,0x21,0x0,0x0,0xe3,0x2c,0x20,0x23,0x20,0x24,0x2f,0x30,0x20,0x0,0x0,0xfc,0x8,0xb0,0x40,0xa0,0x1e,0x44,0x50,0xf8,0x40,0x48,0xfc,0x40,0x40,0x40,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x1f,0x8,0x8,0xff,0x8,0x8,0x8,0x10,0x20,0x10,0xf8,0x10,0x10,0xf0,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x7e,0x22,0x1a,0x22,0x2,0x1f,0x11,0x1f,0x11,0x1f,0x4,0x3f,0x4,0xff,0x8,0x30,0xf8,0x88,0x68,0x88,0x8,0xf0,0x10,0xf0,0x10,0xf0,0x40,0xf8,0x40,0xfe,0x20,0x10,
-+0x0,0x7e,0x22,0x12,0x6,0x1a,0x62,0x1,0x1,0x7f,0x0,0x8,0x4,0x4,0xff,0x0,0x4,0xfe,0x44,0x24,0xc,0x34,0xc4,0x0,0x8,0xfc,0x20,0x20,0x40,0x44,0xfe,0x0,
-+0x10,0x11,0x20,0x20,0x44,0xf8,0x10,0x23,0x40,0xfd,0x0,0x0,0x1d,0xe0,0x40,0x0,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x24,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,
-+0x4,0x4,0xff,0x4,0x3f,0x21,0x21,0x2f,0x21,0x22,0x22,0x24,0x28,0x20,0x3f,0x20,0x40,0x44,0xfe,0x40,0xf8,0x8,0x8,0xe8,0x8,0x88,0x88,0x48,0x28,0x8,0xf8,0x8,
-+0x8,0x8,0xff,0x8,0x7c,0x44,0x48,0x50,0x48,0x44,0x44,0x64,0x59,0x41,0x42,0x44,0x20,0x24,0xfe,0x20,0xfc,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,0x4,0x4,0x14,0x8,
-+0x0,0x7f,0x41,0x41,0x41,0x5f,0x41,0x41,0x42,0x42,0x44,0x48,0x50,0x40,0x7f,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x4,0x4,0x84,0x84,0x44,0x34,0x14,0x4,0xfc,0x4,
-+0xc,0x70,0x44,0x7e,0x44,0x7d,0x46,0x7d,0x40,0x7c,0x44,0x44,0x44,0x54,0x48,0x83,0x8,0xfc,0x88,0x88,0x88,0x6,0x0,0xfc,0x88,0x88,0x50,0x20,0x50,0x50,0x8e,0x4,
-+0x2,0x1,0x3f,0x8,0x4,0x4,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x10,0xf8,0x20,0x20,0x44,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x7c,0x44,0x48,0x48,0x50,0x48,0x48,0x44,0x44,0x44,0x68,0x51,0x41,0x42,0x44,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0xfc,0x84,0x84,0x4,0x4,0x14,0x8,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x54,0x54,0x54,0x8c,0x4,0x4,0xfc,0x4,
-+0x0,0x8,0x7c,0x48,0x49,0x49,0x4a,0x4c,0x48,0x4b,0x48,0x78,0x48,0x0,0x0,0x0,0x40,0x40,0xa0,0xa0,0x10,0x10,0x8e,0x44,0x40,0xf8,0x8,0x10,0x10,0x20,0x40,0x80,
-+0x10,0x11,0x11,0x3d,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x13,0x15,0x19,0x11,0x1,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0x8c,0x50,0x20,0x10,0x4e,0x84,0x0,
-+0x40,0x30,0x17,0x0,0x84,0x62,0x22,0x7,0x10,0x20,0xef,0x20,0x20,0x20,0x27,0x20,0x8,0x3c,0xc0,0x4,0x84,0x48,0x10,0xfc,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0x3f,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x0,0xc,0x30,0x40,0x0,0x0,0xfe,0x2,0x14,0xf8,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0x60,0x18,0x4,
-+0x10,0x10,0x10,0x10,0x1e,0x22,0x25,0x50,0x90,0x10,0x10,0x12,0x14,0x18,0x11,0x2,0x20,0x20,0x20,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x50,0x50,0x90,0x88,0xe,0x4,
-+0x0,0x0,0x3f,0x4,0x4,0xff,0x4,0x4,0x3f,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x10,0xf8,0x10,0x14,0xfe,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x7f,0x1,0x1,0x1,0x3f,0x20,0x20,0x41,0x7f,0x1,0x1,0x1,0x11,0xa,0x4,0x8,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x88,0x8,0x8,0x8,0x8,0x8,0x8,
-+0x0,0x78,0x48,0x51,0x52,0x67,0x50,0x4b,0x48,0x4b,0x68,0x52,0x42,0x46,0x4a,0x41,0x80,0x80,0xf0,0x10,0x24,0xfe,0x4,0xfc,0x4,0xfc,0x4,0x80,0x60,0x2c,0xa,0xf8,
-+0x6,0x78,0x40,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x40,0x4e,0x70,0x0,0x0,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xa8,0x90,0x80,0x80,0x80,
-+0x8,0x8,0x7f,0x8,0x1,0x1f,0x11,0x11,0x11,0xff,0x1,0x2,0x2,0x4,0x18,0x60,0x20,0x28,0xfc,0x20,0x10,0xf8,0x10,0x10,0x14,0xfe,0x0,0x80,0x80,0x60,0x1c,0x8,
-+0x10,0x17,0x14,0x15,0xfd,0x16,0x3b,0x34,0x50,0x5f,0x90,0x11,0x10,0x10,0x11,0x16,0x0,0xbc,0xa4,0xac,0xac,0xb4,0x18,0xa4,0x80,0xfe,0x90,0x10,0xa0,0x40,0xb0,0x8,
-+0x0,0x3e,0x22,0x2a,0x2a,0x2a,0x14,0x62,0x2,0xff,0x4,0x8,0x4,0x3,0x4,0x38,0x8,0xfc,0x88,0xa8,0xa8,0xa8,0x50,0x88,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x0,0x3f,0x22,0x24,0x2c,0x35,0x24,0x24,0x21,0x27,0x24,0x24,0x47,0x40,0x9f,0x0,0x80,0xfe,0x50,0x7c,0xd0,0x7c,0x50,0x5c,0x0,0xf0,0x90,0x20,0xfc,0x4,0xe4,0xc,
-+0x1,0x0,0x3f,0x20,0x21,0x28,0x24,0x24,0x22,0x22,0x22,0x22,0x40,0x40,0x9f,0x0,0x0,0x84,0xfe,0x0,0x4,0x84,0x84,0x48,0x48,0x48,0x10,0x10,0x20,0x44,0xfe,0x0,
-+0x10,0x17,0x24,0x25,0x45,0xfe,0x13,0x24,0x40,0xff,0x0,0x1,0x1c,0xe0,0x41,0x6,0x0,0xbc,0xa4,0xac,0xac,0xb4,0x18,0xa4,0x80,0xfe,0x90,0x10,0xa0,0x40,0xb0,0x8,
-+0x4,0x4,0x7f,0x4,0x4,0x7f,0x40,0xbf,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x0,0x40,0x48,0xfc,0x40,0x40,0xfe,0x2,0xf4,0x0,0x10,0xf8,0x0,0x40,0x24,0xfe,0x0,
-+0x4,0x4,0x7f,0x4,0x4,0x7f,0x41,0x81,0x1f,0x11,0x11,0x1f,0x1,0x1,0x3f,0x0,0x40,0x48,0xfc,0x40,0x40,0xfe,0x2,0x14,0xf8,0x10,0x10,0xf0,0x0,0x10,0xf8,0x8,
-+0x4,0x4,0x7f,0x4,0x7f,0x40,0x8f,0x8,0x8,0xf,0x0,0x1f,0x10,0x10,0x1f,0x10,0x40,0x48,0xfc,0x40,0xfe,0x2,0xe4,0x20,0x20,0xe0,0x0,0xf0,0x10,0x10,0xf0,0x10,
-+0x4,0x4,0x7f,0x4,0x4,0x7f,0x41,0x81,0x9,0x9,0x11,0x2,0x2,0x4,0x18,0x60,0x40,0x48,0xfc,0x40,0x40,0xfe,0x2,0x14,0x30,0x40,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x10,0x10,0x14,0x7e,0x54,0x54,0x55,0x55,0x55,0x7d,0x11,0x15,0x1d,0xf4,0x40,0x0,0x8,0xfc,0x88,0x88,0xf8,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0x22,0x1e,
-+0x0,0x41,0x26,0x14,0x4,0x4,0xf4,0x14,0x15,0x16,0x14,0x10,0x10,0x28,0x47,0x0,0x0,0x84,0x7e,0x44,0x44,0x44,0x44,0xc4,0x44,0x54,0x48,0x40,0x40,0x46,0xfc,0x0,
-+0x1,0xff,0x10,0x1f,0x0,0x1f,0x10,0x1f,0x0,0x77,0x54,0x75,0x55,0x71,0x52,0xb4,0x0,0xfe,0x0,0xf0,0x0,0xf0,0x10,0xf0,0x0,0xdc,0x54,0x54,0x5c,0x14,0x96,0x62,
-+0x0,0x7f,0x10,0x17,0x14,0x12,0x21,0x22,0x44,0x0,0x3f,0x24,0x24,0x24,0xff,0x0,0x10,0xf8,0x10,0xd0,0x7c,0x84,0x4,0xd4,0x48,0x0,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x4,0xff,0x0,0x3f,0x20,0x3f,0x15,0x24,0x54,0x8,0x84,0xc4,0x88,0x90,0xa0,0x84,0x4,0xe8,0x10,0xa2,0x82,0x84,0x8,0x90,0xa0,0x40,
-+0x40,0x4b,0x70,0x40,0x45,0x3d,0x1,0x1d,0xf1,0x15,0xff,0x11,0x38,0x54,0x91,0x16,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x20,0x58,0x84,0x2,
-+0x4,0xff,0x10,0x10,0x21,0x25,0x7f,0xa5,0x25,0x25,0x25,0x24,0x3d,0x24,0x0,0x3,0x4,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xa0,0x60,0x9e,0x4,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x4a,0x7a,0x4a,0x4f,0x48,0x48,0x78,0x49,0x2,0xc,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0x48,0xfe,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x0,0x11,0x79,0x52,0x52,0x54,0x5f,0x52,0x54,0x5f,0x50,0x71,0x4e,0x4,0x0,0x0,0x20,0x20,0x24,0x3e,0x44,0x84,0x4,0x44,0x24,0xa4,0x4,0x84,0x4,0x44,0x28,0x10,
-+0x20,0x27,0x24,0x24,0xfc,0x27,0x2c,0x34,0x64,0xa7,0x24,0x24,0x28,0x28,0xb0,0x40,0x4,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x44,0x54,0x8,
-+0x10,0x17,0x14,0x24,0x24,0x67,0xa4,0x24,0x24,0x27,0x24,0x24,0x28,0x28,0x30,0x20,0x4,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x44,0x54,0x8,
-+0x0,0x78,0x4f,0x49,0x4a,0x7a,0x4f,0x49,0x4a,0x7c,0x4f,0x48,0x48,0x49,0x4a,0x9c,0x40,0x24,0xfe,0x10,0x28,0xbe,0x68,0x28,0xbe,0xa8,0xa8,0xbe,0xa8,0x28,0x3e,0x20,
-+0x0,0x0,0x1f,0x10,0x97,0x54,0x54,0x17,0x34,0x54,0xd7,0x14,0x24,0x24,0x48,0x10,0x80,0x44,0xfe,0x0,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x44,0x54,0x8,
-+0x0,0x3f,0x20,0x2f,0x20,0x3f,0x20,0x2f,0x20,0x2f,0x28,0x2f,0x48,0x4f,0x88,0x8,0x84,0xfe,0x80,0xf8,0x88,0xfe,0x88,0xf8,0x80,0xf8,0x88,0xf8,0x88,0xf8,0x88,0x98,
-+0x1,0x0,0xff,0x8,0x10,0x21,0x49,0xfb,0x11,0x25,0x45,0xf9,0x9,0x11,0x21,0x41,0x0,0x84,0xfe,0xa0,0x94,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x14,0xfe,0x0,
-+0x0,0x7d,0x44,0x44,0x44,0x7d,0x11,0x11,0x5d,0x51,0x51,0x51,0x5d,0xf1,0x41,0x1,0x0,0xfc,0x8,0x50,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x10,0x11,0x10,0x14,0x7e,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xf5,0x41,0x1,0x0,0xfc,0x8,0x50,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x4f,0x48,0x49,0x49,0x4a,0x7a,0x44,0x8,0x1,0x0,0x80,0x40,0x0,0xc0,0x44,0x4c,0xf0,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,0x80,
-+0x0,0x40,0x30,0x13,0x80,0x60,0x27,0x8,0x11,0x21,0xe2,0x22,0x24,0x28,0x21,0x20,0x80,0x40,0x0,0xc0,0x44,0x4c,0xf0,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,0x80,
-+0x0,0x47,0x30,0x10,0x80,0x67,0x24,0xc,0x17,0x24,0xe4,0x27,0x24,0x24,0x24,0x24,0x0,0xf8,0x10,0xa0,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x8,
-+0x2,0x1,0x0,0x1f,0x1,0x1,0x7d,0x5,0x5,0x9,0x9,0x11,0x21,0x41,0x5,0x2,0x0,0x0,0x0,0x0,0x8,0x18,0xa0,0x40,0x40,0x20,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x3f,0x2,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x21,0x21,0x2,0x51,0x50,0x90,0xf,0x0,0xf0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x18,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x3f,0x2,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x21,0x21,0x7f,0x2,0x2,0x4,0x18,0x60,0xf0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x10,0xf8,0x8,0x8,0x8,0x50,0x20,
-+0x0,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x41,0x41,0x80,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x1,0x1,0x9,0x49,0x49,0x51,0x53,0x7d,0x45,0x49,0x55,0x7f,0x43,0x41,0x7f,0x40,0x0,0x0,0x20,0x24,0x24,0x44,0x4c,0xf4,0x14,0x24,0x54,0xfc,0xc,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x20,0x20,0x7f,0xa1,0x21,0x21,0x22,0x22,0x22,0x24,0x24,0x28,0x30,0x80,0xa0,0x90,0x90,0x84,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x8,0x8,0x10,0x15,0x36,0x54,0x94,0x14,0x14,0x11,0x2,0x51,0x50,0x90,0xf,0x0,0x80,0x84,0xfe,0x8,0x88,0x50,0x20,0x50,0x8e,0x4,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x10,0x10,0x10,0x10,0x58,0x57,0x51,0x91,0x11,0x11,0x12,0x12,0x12,0x14,0x14,0x18,0x80,0xa0,0x90,0x90,0x84,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x1,0x1,0x1,0x1,0x1,0xff,0x2,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x0,0x40,0x20,0x20,0x4,0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x1,0x1,0x1,0x1,0x7f,0x41,0x41,0x41,0x41,0x7f,0x41,0x41,0x41,0x41,0x7f,0x40,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x9,0x7f,0x49,0x49,0x49,0x49,0x7f,0x49,0x49,0x49,0x49,0x7f,0x41,0x0,0x0,0x0,0x7c,0xc4,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x10,0x10,0x10,0x1d,0x21,0x21,0x7d,0x91,0x11,0x7d,0x11,0x11,0x15,0x19,0x11,0x0,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,
-+0x0,0x44,0x2c,0x10,0x28,0x4f,0x89,0x9,0x19,0x29,0x49,0x8a,0xa,0xa,0x54,0x28,0x80,0xa0,0x90,0x90,0x84,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x40,0x30,0x10,0x87,0x64,0x24,0xc,0x14,0x27,0xe4,0x24,0x24,0x24,0x27,0x24,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x2,0x41,0x20,0x2f,0x82,0x62,0x23,0x2,0x12,0x22,0xe2,0x24,0x24,0x28,0x31,0x20,0x10,0x14,0x1e,0xe0,0x40,0x3e,0x84,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0xa8,0x10,
-+0x0,0xff,0x4,0x4,0x3f,0x24,0x24,0x24,0x24,0x28,0x30,0x2f,0x20,0x20,0x3f,0x20,0x4,0xfe,0x40,0x48,0xfc,0x48,0x48,0x48,0x78,0x8,0x48,0xe8,0x8,0x8,0xf8,0x8,
-+0x2,0x2,0xff,0x4,0x4,0xf,0x8,0x18,0x2f,0x48,0x88,0xf,0x8,0x8,0x8,0x8,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x4,0x4,0x4,0xff,0x4,0x4,0xf,0x8,0x14,0x12,0x21,0x40,0x81,0x6,0x18,0x60,0x0,0x0,0x4,0xfe,0x0,0x0,0xf0,0x10,0x20,0x20,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x2,0x2,0x2,0xff,0x4,0x4,0x8,0x8,0x1f,0x28,0x48,0x88,0x8,0x8,0xf,0x8,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x8,0x10,0x1f,0x31,0x51,0x92,0x13,0x15,0x19,0x11,0x11,0x11,0x11,0x11,0x80,0x80,0x80,0x84,0xfe,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0xe,0xf0,0x12,0x57,0x39,0x11,0xff,0x11,0x39,0x35,0x55,0x91,0x11,0x11,0x11,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x0,0x47,0x20,0x20,0xf,0x1,0xe2,0x24,0x2b,0x21,0x21,0x21,0x2a,0x32,0x24,0x8,0x38,0xc0,0x40,0x44,0xfe,0x60,0x50,0x4e,0xf4,0x10,0x20,0x3c,0x4,0x4,0x28,0x10,
-+0x0,0x7f,0x10,0x10,0x10,0x8,0x8,0x4,0x4,0x2,0x1,0x2,0x4,0x8,0x30,0xc0,0x0,0xf0,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x10,0x10,0x10,0x20,0x25,0x44,0xf8,0x10,0x10,0x20,0x48,0xfc,0x45,0x2,0x4,0x40,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x28,0x10,
-+0x0,0x43,0x30,0x10,0x0,0x7,0xf0,0x10,0x10,0x10,0x10,0x11,0x10,0x28,0x47,0x0,0x10,0xf8,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x6,0xfc,0x0,
-+0x4,0x42,0x22,0x3f,0x84,0x44,0x47,0xd,0x15,0x25,0xe5,0x25,0x25,0x29,0x35,0x22,0x10,0x10,0x90,0xd0,0x28,0x28,0x44,0x82,0x20,0x18,0x8,0x0,0x20,0x18,0xc,0x4,
-+0x0,0x3f,0x1,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x1,0x1,0xff,0x1,0x1,0x5,0x2,0x3f,0x24,0x24,0x24,0x24,0xff,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0xfe,0x14,0x33,0x3a,0x56,0x53,0x92,0x12,0x13,0x12,0x12,0x12,0x40,0x60,0x90,0x8,0xf6,0x0,0xc4,0x54,0x54,0xd4,0x54,0x54,0xc4,0x44,0x54,0xc8,
-+0x1,0x1,0x3f,0x20,0x2f,0x20,0x27,0x24,0x27,0x20,0x2f,0x20,0x5f,0x41,0x86,0x18,0xf8,0x0,0xfe,0x84,0xf0,0x84,0xfc,0x10,0xf0,0x80,0xf8,0x80,0xfe,0x40,0x30,0xc,
-+0x0,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x3f,0x21,0x22,0x27,0x22,0x51,0x50,0x90,0xf,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x8,0xfc,0x8,0x48,0xe8,0x10,0x84,0x92,0x12,0xf0,
-+0x1,0x9,0x31,0x27,0x22,0x3d,0x27,0x21,0x39,0x27,0x21,0xff,0x0,0x10,0x30,0x40,0x0,0x8,0x3c,0xc8,0x8,0x38,0xc8,0x8,0x38,0xc8,0x8,0xfe,0x0,0x10,0xc,0x4,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x2f,0xc1,0x1,0x3f,0x1,0x9,0x19,0x21,0x45,0x2,0x0,0x0,0x80,0x40,0x20,0x10,0xee,0x4,0x10,0xf8,0x0,0x20,0x18,0xc,0x4,0x0,
-+0x1,0x2,0x4,0x8,0x37,0xc0,0x3e,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x22,0x26,0x0,0x80,0x40,0x30,0xce,0x4,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x8,0x18,
-+0x0,0x41,0x22,0x24,0xb,0x10,0xe7,0x24,0x27,0x24,0x27,0x24,0x25,0x50,0x8f,0x0,0x80,0x40,0x20,0x10,0xee,0x4,0x88,0xa8,0xa8,0xa8,0xa8,0x88,0x98,0x6,0xfc,0x0,
-+0x4,0x4,0xf,0x10,0x20,0x7f,0xa1,0x21,0x3f,0x21,0x21,0x3f,0x20,0x0,0xff,0x0,0x0,0x0,0xe0,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x4,0xfe,0x0,
-+0x20,0x20,0x21,0x22,0xb5,0xa8,0xa7,0x24,0x24,0x27,0x24,0x24,0x27,0x24,0x24,0x25,0x40,0xc0,0x20,0x10,0xee,0x4,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0xa8,0x90,
-+0x0,0x40,0x31,0x12,0x85,0x68,0x27,0xc,0x14,0x27,0xe4,0x24,0x27,0x24,0x24,0x25,0x40,0xc0,0x20,0x10,0xee,0x4,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0xa8,0x90,
-+0x1,0x41,0x31,0x12,0x84,0x6f,0x24,0xc,0x17,0x24,0xe4,0x27,0x24,0x20,0x2f,0x20,0x0,0x0,0xf8,0x10,0x24,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,0x0,0xfe,0x0,
-+0x0,0x7b,0x4a,0x52,0x53,0x62,0x52,0x4b,0x48,0x4f,0x6c,0x54,0x45,0x44,0x44,0x44,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x44,0xfe,0x44,0x54,0xf4,0x84,0x14,0x8,
-+0x0,0x3f,0x0,0x2,0x1,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0xf0,0x40,0x80,0x0,0x80,0xfc,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x24,0x25,0x24,0x44,0x2f,0x10,0x28,0x45,0x82,0x4,0x8,0xfc,0x8,0x8,0xf8,0x8,0x0,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0xff,0x1,0x1,0x3f,0x21,0x21,0x29,0x25,0x21,0x21,0x29,0x25,0x21,0x21,0x20,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x48,0x28,0x8,0x8,0x48,0x28,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x1f,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x48,0xe8,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x10,0x10,0x54,0x54,0x54,0x54,0x54,0x54,0x57,0x7c,0x44,0x0,0x0,0x0,0x80,0x80,0x88,0xfc,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x4,0x4,0x4,0x28,0x10,
-+0x0,0x0,0x7f,0x1,0x3f,0x21,0x21,0x3f,0x1,0x7f,0x41,0x41,0x5f,0x48,0x40,0x40,0x10,0x78,0x80,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x4,0x44,0xe4,0x24,0x4,0xc,
-+0x2,0x1,0x7f,0x40,0x80,0x1f,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0x0,0xfe,0x2,0x24,0xf0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4f,0x21,0x21,0x7,0x2,0xe2,0x3f,0x20,0x20,0x27,0x24,0x2c,0x34,0x27,0x4,0x8,0xfc,0x0,0x10,0xf8,0x10,0x14,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x7e,0x2,0x2,0x22,0x12,0x12,0x2,0xa,0x12,0x62,0x22,0x2,0x2,0x14,0x8,0x4,0xfe,0x4,0x4,0x44,0x24,0x24,0x4,0x14,0x24,0xc4,0x44,0x4,0x4,0x28,0x10,
-+0x0,0x7f,0x1,0x1,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x40,0x30,0x10,0x4,0xfe,0x0,
-+0x20,0x20,0x20,0x27,0xf8,0x20,0x27,0x24,0x24,0x24,0x3f,0xe0,0x43,0xc,0x0,0x1,0x20,0x28,0x24,0xfe,0x20,0xa0,0xe0,0xa4,0xa4,0xa8,0x90,0x10,0xaa,0x4a,0x86,0x0,
-+0x8,0x8,0xff,0x8,0x0,0x3f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x20,0x24,0xfe,0x20,0x10,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x11,0xff,0x20,0x22,0x7f,0x62,0xa2,0x3e,0x22,0x22,0x3e,0x22,0x22,0x2a,0x24,0x0,0x7c,0xc4,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x0,0xb,0x7c,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x1,0x0,0x8,0xfc,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x0,0x47,0x24,0x27,0x4,0x7,0xe0,0x2f,0x28,0x28,0x2b,0x28,0x28,0x50,0x88,0x7,0x8,0xfc,0x88,0xf8,0x88,0xf8,0x84,0xfe,0x84,0xa4,0xf4,0x4,0x14,0x8,0x6,0xfc,
-+0x0,0x10,0x79,0x52,0x55,0x58,0x57,0x54,0x54,0x57,0x54,0x74,0x57,0x4,0x4,0x5,0x40,0xc0,0x20,0x10,0xee,0x4,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0xa8,0x90,
-+0x10,0x10,0x10,0x55,0x54,0x54,0x54,0x55,0x56,0x55,0x55,0x7d,0x45,0x1,0x1,0x1,0x50,0x50,0x88,0x24,0x50,0x50,0x88,0x6,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x14,0x14,0x27,0x4a,0x82,0x12,0x2f,0x62,0xaa,0x2b,0x2a,0x2a,0x2b,0x3c,0x28,0x20,0x0,0x4,0xbe,0x24,0x24,0xa4,0xe4,0x24,0x24,0xa4,0x24,0x34,0xa8,0x20,0x20,0x20,
-+0x1,0x2,0x4,0xf,0x30,0xde,0x12,0x1e,0x12,0x1e,0x12,0x16,0x29,0x28,0x48,0x7,0x0,0x80,0x40,0xf0,0xe,0x14,0x90,0x90,0x90,0x90,0x10,0x30,0x4,0x92,0x12,0xf0,
-+0x28,0x28,0x44,0x92,0x10,0x29,0x46,0x82,0x7c,0x44,0x44,0x44,0x44,0x7c,0x45,0x2,0x40,0x40,0x40,0x7c,0x84,0x28,0x20,0x20,0x20,0x20,0x50,0x50,0x90,0x88,0xe,0x4,
-+0x4,0x88,0x54,0x22,0x52,0x91,0x1e,0x12,0x32,0x52,0x92,0x13,0x12,0x10,0xa1,0x42,0x20,0x20,0x30,0x28,0x20,0xfe,0x20,0x20,0x20,0x20,0xd0,0x50,0x88,0x88,0x6,0x4,
-+0x2,0x1,0xff,0x4,0x8,0x3f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x0,0x10,0xf8,0x8,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x22,0x11,0x9,0xff,0x4,0x9,0x1f,0x20,0xdf,0x0,0x1f,0x0,0x1f,0x10,0x1f,0x10,0x8,0x10,0x24,0xfe,0x40,0x20,0xf0,0xe,0xf4,0x0,0xf0,0x0,0xf0,0x10,0xf0,0x10,
-+0x1,0x41,0x32,0x14,0x80,0x60,0x20,0x9,0x12,0x27,0xea,0x22,0x22,0x22,0x23,0x22,0x10,0x10,0x8,0x44,0x40,0xa0,0xa0,0x10,0x8,0xfe,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x1,0x7f,0x40,0x9f,0x11,0x1f,0x11,0x1f,0x1,0x3f,0x21,0x21,0x2f,0x20,0x20,0x0,0x0,0xfe,0x2,0xf4,0x10,0xf0,0x10,0xf0,0x8,0xfc,0x8,0x28,0xe8,0x28,0x10,
-+0x21,0x11,0x12,0xfc,0x8,0x10,0x10,0x35,0x5a,0x97,0x12,0x12,0x12,0x12,0x13,0x12,0x10,0x10,0x8,0x44,0x40,0xa0,0xa0,0x10,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x7d,0x4,0x8,0x29,0x11,0xff,0x15,0x11,0x11,0x11,0x11,0x11,0x10,0x50,0x23,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x58,0x84,0x2,
-+0x0,0x7c,0x4,0x9,0x2b,0x11,0xff,0x15,0x10,0x11,0x12,0x11,0x16,0x10,0x53,0x20,0x40,0x78,0x90,0x24,0xfe,0x24,0x44,0xfc,0x84,0x48,0xb0,0x30,0x68,0xa6,0x24,0x60,
-+0x4,0x7e,0x5,0x24,0x24,0x24,0x24,0x24,0x3e,0x2,0x2,0x1e,0xe2,0x42,0x14,0xb,0x0,0x0,0xfc,0x4,0x4,0x84,0x84,0x88,0x88,0x50,0x20,0x50,0x50,0x88,0x8e,0x4,
-+0x10,0x1e,0x22,0x52,0x14,0x8,0x12,0xef,0xa,0x8,0x8,0xf,0x0,0x7f,0x0,0x0,0x8,0xfc,0x88,0xa8,0x98,0x82,0x7e,0xe0,0x20,0xa0,0x48,0xfc,0x8,0xe8,0x8,0x18,
-+0x0,0x44,0x36,0x15,0x85,0x64,0x27,0x4,0xc,0x14,0x25,0xe5,0x26,0x24,0x28,0x30,0x4,0x44,0x4c,0x54,0x64,0x44,0xfc,0x44,0xc4,0xe4,0x5c,0x4c,0x44,0x44,0x44,0x4,
-+0x0,0x7f,0x44,0x87,0x8,0x10,0x3f,0x51,0x11,0x1f,0x12,0x2,0x4,0x8,0x10,0x60,0x0,0xfe,0x2,0xe4,0x40,0x90,0xf8,0x10,0x10,0xf0,0x90,0x80,0xa2,0x92,0x7e,0x0,
-+0x0,0x3f,0x0,0x0,0x0,0xff,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0xc0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x13,0x10,0x10,0xfd,0x11,0x11,0x11,0x11,0x11,0x11,0x1d,0xf1,0x40,0x7,0x0,0x4,0xfe,0x0,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x0,0xfe,0x0,
-+0x1,0x1,0x3f,0x1,0xff,0x0,0x1f,0x10,0x10,0x1f,0x5,0x8,0x18,0xea,0xc,0x8,0x0,0x10,0xf8,0x0,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x8,0x90,0x60,0x30,0xe,0x4,
-+0x0,0x3f,0x21,0x21,0x22,0x2f,0x28,0x2f,0x28,0x2f,0x20,0x24,0x44,0x48,0x92,0x1,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x90,0x88,0x84,0x84,0x0,
-+0x10,0x17,0x12,0x11,0xff,0x10,0x10,0x1f,0x30,0xd1,0x11,0x12,0x12,0x14,0x59,0x22,0x1c,0xe8,0x48,0x50,0xfc,0x80,0x84,0xfe,0x80,0xf8,0x8,0x90,0x60,0x90,0xe,0x4,
-+0x10,0x10,0x23,0xfc,0x27,0x40,0x93,0xfe,0x12,0x13,0x1d,0xf1,0x53,0x15,0x11,0x11,0x40,0x48,0xfc,0x40,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x44,0x28,0x10,0x4e,0x84,0x0,
-+0x0,0x7f,0x40,0x4f,0x40,0x40,0x5f,0x44,0x44,0x44,0x44,0x48,0x50,0x40,0x7f,0x40,0x4,0xfe,0x44,0xe4,0x4,0x24,0xf4,0x84,0x84,0x84,0x94,0x94,0x74,0x4,0xfc,0x4,
-+0x0,0x1f,0x10,0x10,0x1f,0x0,0x3f,0x20,0x21,0x21,0x21,0x21,0x22,0x4,0x18,0x60,0x10,0xf8,0x10,0x10,0xf0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0x60,0x18,0x4,
-+0x0,0x7f,0x40,0x4f,0x48,0x4f,0x40,0x5f,0x50,0x51,0x51,0x52,0x44,0x48,0x7f,0x40,0x4,0xfe,0x4,0xe4,0x24,0xe4,0x4,0xf4,0x14,0x14,0x14,0x94,0x44,0x24,0xfc,0x4,
-+0x2,0x44,0x2b,0x10,0x2f,0x48,0x8b,0xa,0x1a,0x2b,0x49,0x89,0xb,0xd,0x51,0x21,0x40,0x48,0xfc,0x40,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x44,0x28,0x10,0x4e,0x84,0x0,
-+0x0,0x47,0x34,0x14,0x84,0x65,0x25,0xd,0x15,0x25,0xe4,0x24,0x29,0x2a,0x30,0x20,0x4,0xfe,0x20,0x20,0x44,0xfe,0x4,0xfc,0x4,0xfc,0x20,0xa8,0xa6,0x22,0xa0,0x40,
-+0x10,0x10,0x21,0x23,0x48,0xff,0x10,0x21,0x42,0xfc,0x1,0x2,0x1c,0xe1,0x46,0x0,0x80,0xf8,0x8,0xf0,0x14,0xfe,0x80,0x88,0x50,0xe0,0x60,0x50,0xc8,0x4e,0x44,0xc0,
-+0x0,0x43,0x30,0x10,0x0,0x7,0xf1,0x11,0x11,0x11,0x12,0x12,0x14,0x28,0x47,0x0,0x10,0xf8,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0x24,0x1c,0x0,0x6,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x10,0x1e,0x12,0x22,0x22,0x64,0x94,0x8,0x8,0x10,0x20,0x40,0x40,0x44,0xfe,0x40,0x8,0xfc,0x88,0x88,0x88,0x88,0xa8,0x90,0x82,0x82,0x7e,0x0,
-+0x0,0x3f,0x21,0x22,0x2f,0x28,0x2f,0x28,0x2f,0x20,0x44,0x89,0x9,0x28,0x28,0x47,0x8,0xfc,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x90,0x88,0x0,0x94,0x12,0xf2,
-+0x10,0x1e,0x12,0x22,0x22,0x54,0x8c,0x8,0x10,0x20,0x42,0x11,0x51,0x50,0x8f,0x0,0x8,0xfc,0x88,0x88,0x88,0xa8,0x90,0x84,0x84,0x7c,0x0,0x0,0x14,0x12,0xf2,0x0,
-+0x0,0x78,0x4f,0x54,0x58,0x63,0x50,0x48,0x4f,0x48,0x68,0x50,0x41,0x41,0x42,0x4c,0x80,0x40,0xfe,0x2,0x14,0xf8,0x0,0x8,0xfc,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x0,0x0,0x7f,0x40,0x40,0x40,0x40,0x7f,0x40,0x40,0x40,0x40,0x7f,0x40,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,
-+0x10,0x10,0x20,0x21,0x45,0xfa,0x14,0x20,0x40,0xfc,0x0,0x0,0x1c,0xe0,0x40,0x0,0x80,0x80,0x80,0x4,0xfe,0x4,0x4,0x84,0x64,0x24,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x10,0x7d,0x11,0x11,0xff,0x11,0x51,0x5d,0x51,0x50,0x70,0x49,0x44,0x83,0x20,0x28,0x28,0xfc,0x20,0x20,0x28,0x28,0x70,0xa0,0x24,0x54,0x8c,0x0,0x6,0xfc,
-+0x0,0x7c,0x47,0x44,0x44,0x7c,0x10,0x13,0x5c,0x50,0x50,0x51,0x5d,0xf2,0x44,0x8,0x8,0x1c,0xe0,0x40,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x10,0x11,0x11,0x1d,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x11,0x15,0x19,0x12,0x4,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x10,0xff,0x1,0x11,0x11,0x11,0x11,0x1f,0x10,0xf0,0x0,0x0,0x10,0xf8,0x80,0x80,0x84,0xfe,0x0,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x2,0x1f,0x15,0x11,0x1f,0x11,0x15,0x1f,0x0,0xff,0x4,0xf,0x0,0x0,0x0,0x0,0x10,0xf8,0x50,0x10,0xf0,0x10,0x50,0xf0,0x4,0xfe,0x0,0xf0,0x10,0x10,0xa0,0x40,
-+0x0,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0xf,0x8,0x8,0x10,0x10,0x20,0x40,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x12,0x11,0x10,0x13,0x5a,0x56,0x52,0x92,0x13,0x11,0x11,0x11,0x12,0x12,0x14,0x18,0x8,0x18,0xa0,0xf8,0x8,0x8,0x8,0x8,0xf8,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x20,0x17,0x50,0x44,0x42,0x4f,0x48,0x48,0x4f,0x4a,0x42,0x42,0x44,0x48,0x50,0x40,0x4,0xfe,0x4,0x44,0x84,0xe4,0x24,0x24,0xe4,0xa4,0x84,0x94,0x94,0x74,0x4,0xc,
-+0x8,0x8,0x7e,0x8,0x8,0x7e,0x9,0x8,0xfe,0x18,0x1c,0x2a,0x28,0x49,0x8,0x8,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x20,0x20,0x40,0x40,0x88,0x84,0xfc,0x4,0x0,
-+0x0,0x0,0x1f,0x0,0x0,0x0,0xff,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x3f,0x0,0x0,0x20,0xf0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x20,0x10,0xf8,0x8,
-+0x2,0x3f,0x22,0x22,0x3e,0x1,0x7f,0x41,0x49,0x49,0x49,0x49,0x14,0x12,0x21,0x41,0x0,0x7c,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,0x40,
-+0x8,0x8,0xf,0x10,0x10,0x26,0x43,0x81,0x0,0x0,0x3,0x1c,0x8,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x24,0xc4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x7c,0x44,0x48,0x48,0x50,0x49,0x49,0x45,0x45,0x45,0x69,0x50,0x40,0x40,0x43,0x8,0xfc,0x88,0x88,0xf8,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x50,0x48,0x84,0x4,
-+0x2,0x2,0x4,0x8,0x10,0x7f,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x10,0x20,0xc0,0x0,0x0,0x40,0x20,0x10,0xf8,0x88,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x43,0x30,0x10,0x0,0x7,0xf0,0x10,0x11,0x11,0x12,0x17,0x10,0x28,0x47,0x0,0x10,0xf8,0x0,0x0,0x8,0xfc,0x80,0x80,0x0,0x20,0x10,0xf8,0x8,0x6,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x11,0x21,0x45,0x79,0x11,0x20,0x7f,0x2,0x1e,0xe2,0x47,0x0,0x40,0x44,0xfe,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x94,0x94,0x94,0xfe,0x0,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x53,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x0,0x88,0x7c,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x20,0x20,0x44,0xfe,0x2,0x0,
-+0x1f,0x10,0x1f,0x10,0x1f,0x0,0x7f,0x42,0x9f,0x4,0x9,0x1f,0x1,0x7f,0x1,0x1,0xf0,0x10,0xf0,0x10,0xf0,0x0,0xfe,0x2,0xf4,0x0,0x0,0xf0,0x0,0xfc,0x0,0x0,
-+0x10,0x8,0x7f,0x0,0x22,0x14,0xff,0x2,0x3f,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x20,0x20,0x24,0x7e,0x84,0x4,0x44,0x24,0x24,0xc,0x34,0xc4,0x4,0x4,0x28,0x10,
-+0x0,0x3f,0x8,0x8,0x8,0x10,0x1f,0x20,0x40,0x1,0xff,0x1,0x1,0x1,0x5,0x2,0x20,0xf0,0x20,0x24,0x7e,0x4,0xc4,0x54,0x88,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x20,0x20,0x20,0x2f,0x28,0x28,0x28,0x28,0x28,0x28,0x20,0x20,0x3f,0x0,0x8,0xfc,0x80,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0xa8,0x90,0x80,0x84,0xfe,0x0,
-+0x8,0xfd,0x11,0x11,0x21,0x25,0x7f,0xa5,0x25,0x25,0x25,0x25,0x3d,0x25,0x1,0x0,0x4,0xfe,0x10,0x10,0x7c,0x54,0x54,0x54,0x54,0x54,0x54,0x5c,0x10,0x14,0xfe,0x0,
-+0x4,0x4,0x3f,0x4,0x4,0x8,0x8,0x11,0x21,0x1,0xff,0x1,0x9,0x11,0x25,0x2,0x0,0x20,0xf0,0x20,0x20,0x24,0x24,0x1c,0x0,0x4,0xfe,0x0,0x20,0x18,0x8,0x0,
-+0x8,0xa,0x7f,0x8,0x8,0xff,0x8,0xa,0x7f,0x8,0x1c,0x1a,0x2a,0x48,0x89,0xa,0x40,0x50,0x48,0x48,0x40,0xfe,0x40,0x40,0x48,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x8,0x8,0xa,0x7f,0x8,0x8,0xff,0x2,0x3f,0x22,0x22,0x22,0x22,0x3e,0x21,0x2,0x40,0x60,0x58,0x48,0x40,0x44,0xfe,0x40,0x48,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x2,0x1,0x7f,0x40,0x81,0x1,0x11,0x11,0x11,0x21,0x2,0x2,0x4,0x8,0x10,0x60,0x0,0x0,0xfe,0x2,0x4,0x0,0x10,0x18,0x20,0x40,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x2,0x1,0x7f,0x42,0x81,0x3f,0x8,0x4,0x2,0xff,0x1,0x1,0x3f,0x1,0x1,0x1,0x0,0x0,0xfe,0x2,0x14,0xf8,0x20,0x40,0x84,0xfe,0x0,0x10,0xf8,0x0,0x0,0x0,
-+0x8,0xa,0x7f,0x8,0x8,0xff,0x10,0xff,0x20,0x28,0x7e,0x8,0xf,0xf8,0x9,0xa,0x40,0x50,0x48,0x48,0x40,0xfe,0x40,0x40,0x48,0x48,0x30,0x20,0x60,0x92,0xa,0x6,
-+0x0,0x7f,0x1,0x1,0x1f,0x11,0x11,0x1f,0x11,0x11,0xff,0x10,0x10,0x10,0x10,0x10,0x8,0xfc,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x14,0xfe,0x10,0x10,0x10,0x50,0x20,
-+0x2,0x2,0x2,0xff,0x4,0x4,0x8,0x8,0x13,0x30,0x50,0x90,0x10,0x10,0x17,0x10,0x0,0x0,0x4,0xfe,0x0,0x40,0x40,0x50,0xf8,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x20,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x22,0x2a,0x2f,0x32,0xff,0x25,0x25,0x29,0x33,0xe2,0x22,0x22,0x22,0x20,0xa3,0x4c,0x8,0x28,0xbe,0x48,0xfe,0x14,0x14,0xa6,0xf8,0x8,0x48,0x48,0x48,0xa0,0x18,0x4,
-+0x10,0x7e,0x10,0x28,0x7e,0x8,0xfe,0x9,0xa,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0xc,0xf0,0x80,0x84,0xfe,0x90,0x90,0x10,0x10,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x8,0x28,0x3e,0x48,0xff,0x14,0x16,0x24,0x40,0x1f,0x10,0x11,0x11,0x12,0xc,0x30,0x10,0x50,0x7c,0x90,0xfe,0x28,0x28,0x4a,0x86,0xf0,0x10,0x10,0x10,0x90,0x60,0x18,
-+0x4,0x7e,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x29,0x45,0x82,0x20,0x14,0xfe,0x0,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0x4,0x3e,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x45,0x95,0xa,0x20,0x14,0xfe,0x0,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0x4,0xff,0x4,0x7f,0x10,0x1e,0x22,0x54,0x8,0x70,0x4,0xff,0x4,0x4,0x8,0x10,0x44,0xfe,0x40,0xfc,0x80,0x98,0xe0,0x84,0x84,0x7c,0x40,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x4f,0x30,0x17,0x4,0x7,0xf4,0x17,0x10,0x13,0x12,0x13,0x12,0x13,0x28,0x47,0xa4,0xfe,0xa0,0xfc,0xa4,0xfc,0xa4,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x6,0xfc,
-+0x20,0x20,0xaf,0x70,0x27,0x24,0xff,0x24,0x77,0x68,0xa3,0x22,0x23,0x22,0x23,0x22,0xa0,0xa4,0xfe,0xa0,0xfc,0xa4,0xfc,0xa4,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x4,0x24,0x14,0x4,0xff,0x0,0x4,0x22,0x2f,0x21,0x21,0x2f,0x21,0x21,0x3f,0x20,0x40,0x48,0x50,0x44,0xfe,0x0,0x40,0x88,0xe8,0x8,0x48,0xe8,0x8,0x8,0xf8,0x8,
-+0x4,0xff,0x4,0x23,0x1a,0x8b,0x40,0x4f,0x14,0x27,0xe0,0x2f,0x20,0x21,0x22,0x24,0x44,0xfe,0x40,0xf8,0x8,0xf8,0x0,0xbc,0xa4,0xbc,0x40,0xfe,0xe0,0x50,0x4e,0x44,
-+0x1,0x1,0xff,0x1,0x3f,0x21,0x23,0x25,0x9,0x30,0xc7,0x0,0x0,0xe,0x1,0x0,0x0,0x4,0xfe,0x0,0xf8,0x8,0x88,0x50,0x30,0xe,0x4,0xc0,0x40,0x0,0xc0,0x40,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x11,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x3,0x42,0x32,0x13,0x80,0x67,0x24,0xc,0x17,0x20,0xef,0x20,0x21,0x22,0x24,0x28,0xf8,0x8,0x8,0xf8,0x0,0xbc,0xa4,0xa4,0xbc,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x3f,0x0,0x11,0x9,0x4,0x3,0xd,0x11,0x7f,0x91,0x11,0x1f,0x1,0x1,0x3f,0x10,0xf8,0x8,0x10,0x20,0x40,0x80,0x60,0x10,0xfe,0x14,0x10,0xf0,0x20,0xf0,0x8,0x8,
-+0x4,0x7e,0x44,0x44,0x44,0x7d,0x11,0x51,0x5d,0x50,0x53,0x50,0x5c,0xf1,0x42,0x0,0xf8,0x88,0x88,0xf8,0x0,0xdc,0x54,0x54,0xdc,0x20,0xfe,0x70,0xa8,0x2e,0x24,0x20,
-+0x3,0x12,0x7a,0x53,0x50,0x57,0x54,0x54,0x57,0x50,0x5f,0x70,0x51,0x2,0x4,0x0,0xf8,0x8,0x8,0xf8,0x0,0xbc,0xa4,0xa4,0xbc,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x0,0x42,0x32,0x13,0x4,0x0,0xf7,0x10,0x13,0x12,0x12,0x12,0x13,0x28,0x47,0x0,0x40,0x40,0x50,0xf8,0x40,0x44,0xfe,0x8,0xfc,0x8,0x8,0x8,0xf8,0x6,0xfc,0x0,
-+0x2,0x4,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x1,0x1,0xff,0x1,0x1,0x1,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x0,0x0,0x4,0x4,0xfc,
-+0x10,0x10,0x10,0x12,0x54,0x58,0x53,0x90,0x10,0x10,0x10,0x28,0x24,0x44,0x87,0x0,0x40,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x12,0x54,0x59,0x51,0x91,0x11,0x10,0x13,0x28,0x24,0x45,0x82,0x0,0xf8,0x88,0x88,0xf8,0x0,0xdc,0x54,0x54,0xdc,0x20,0xfe,0x70,0xa8,0x2e,0x24,0x20,
-+0x1,0x1,0x3f,0x1,0x1f,0x1,0xff,0x0,0x1f,0x10,0x11,0x11,0x12,0x2,0xc,0x30,0x0,0x10,0xf8,0x0,0xf0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x10,0x13,0x11,0x10,0xfc,0x10,0x15,0x1a,0x35,0xd0,0x10,0x17,0x10,0x10,0x50,0x20,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x10,0x4e,0xf4,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,
-+0x1,0x7f,0x41,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x14,0x12,0x21,0xc1,0x4,0x84,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x40,0x33,0x11,0x0,0x80,0x60,0x21,0xa,0x15,0x20,0xe0,0x27,0x20,0x20,0x20,0x20,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x10,0x4e,0xf4,0x40,0x40,0xfc,0x40,0x40,0x40,0x40,
-+0x4,0x7e,0x44,0x54,0x57,0x54,0x54,0x54,0x57,0x54,0x54,0x54,0x29,0x25,0x42,0x84,0x20,0x28,0x24,0x20,0xfe,0xa0,0xa0,0x94,0xf4,0x98,0x98,0x90,0x28,0x2a,0x4a,0x86,
-+0x8,0x8,0xf,0x14,0x24,0x47,0x4,0x4,0x7,0x4,0x4,0x52,0x51,0x90,0xf,0x0,0x0,0x8,0xfc,0x0,0x20,0xf0,0x0,0x20,0xf0,0x0,0x0,0x4,0x92,0x92,0xf0,0x0,
-+0x22,0x21,0x20,0x20,0x27,0xfc,0x25,0x24,0x27,0x20,0x3b,0xe2,0x43,0x2,0x3,0x2,0x8,0x10,0xa0,0x4,0xfe,0x44,0x54,0x44,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x12,0x11,0x10,0x10,0x5f,0x54,0x55,0x94,0x17,0x10,0x13,0x12,0x13,0x12,0x13,0x12,0x8,0x10,0xa0,0x4,0xfe,0x44,0x54,0x44,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x10,0x8,0x4,0x0,0x3f,0x21,0x29,0x21,0x3f,0x0,0xf,0x8,0xf,0x8,0xf,0x8,0x10,0x20,0x40,0x8,0xfc,0x8,0x28,0x8,0xf8,0x20,0xf0,0x20,0xe0,0x20,0xe0,0x20,
-+0x1,0x7c,0x44,0x54,0x55,0x55,0x55,0x55,0x55,0x54,0x54,0x54,0x20,0x28,0x44,0x80,0x4,0x88,0x50,0x4,0xfe,0x24,0xac,0x24,0xfc,0x8,0xfc,0x88,0xf8,0x88,0xf8,0x88,
-+0x8,0x8,0x8,0xa,0xff,0x8,0xa,0xc,0x38,0xc8,0x8,0x8,0x8,0x8,0x28,0x10,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x8,0x7c,0x4f,0x48,0x49,0x4a,0x4c,0x4b,0x4a,0x4b,0x7a,0x4b,0x0,0xf,0x0,0x40,0x40,0x48,0xfc,0xe0,0x50,0x4e,0x44,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x0,
-+0x0,0x40,0x30,0x17,0x80,0x61,0x22,0xc,0x13,0x22,0xe3,0x22,0x23,0x20,0x2f,0x20,0x40,0x40,0x48,0xfc,0xe0,0x50,0x4e,0x44,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x0,
-+0x8,0x8,0x8,0x8,0xff,0x8,0x18,0x1c,0x2a,0x28,0x48,0x8,0x8,0x8,0x8,0x8,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x12,0xff,0x20,0x28,0x4a,0x7f,0x8,0x8,0xf,0xf8,0x48,0x8,0x8,0x8,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x20,0x27,0x3c,0x45,0x85,0x7d,0x25,0x25,0xfd,0x25,0x25,0x21,0x2a,0x32,0x24,0x8,0x44,0xe4,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x14,0x84,0x44,0x54,0x8,
-+0x20,0x1b,0x48,0x40,0x4f,0x49,0x49,0x4f,0x49,0x49,0x4f,0x49,0x41,0x41,0x41,0x40,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x24,0x4,0x4,0x14,0x8,
-+0x8,0x7c,0x4b,0x48,0x48,0x78,0x4b,0x48,0x48,0x78,0x48,0x49,0x4e,0x7d,0x48,0x0,0xc,0x30,0xc0,0x80,0x40,0x40,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x6,0xfc,0x0,
-+0x20,0x27,0x24,0x24,0xfc,0x24,0x74,0x6f,0xa4,0x24,0x24,0x24,0x24,0x29,0x30,0x20,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xfe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x54,0x88,
-+0x10,0x10,0x13,0x12,0xfd,0x10,0x38,0x35,0x52,0x54,0x90,0x10,0x10,0x10,0x10,0x10,0x40,0x20,0xfe,0x8a,0x4,0x40,0xfe,0x80,0x88,0xfc,0x80,0x84,0xfe,0x80,0x80,0x80,
-+0x1,0x9,0x7d,0x49,0x4a,0x4a,0x4c,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x80,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x8,0x8,0xf,0x12,0x12,0x22,0x43,0x82,0x2,0x2,0x3,0x2,0x2,0x2,0x2,0x2,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,
-+0x11,0x11,0x11,0x15,0x5a,0x52,0x54,0x90,0x10,0x10,0x10,0x28,0x24,0x44,0x80,0x0,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x80,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x1,0x41,0x31,0x11,0x2,0x2,0xf4,0x10,0x10,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x80,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x10,0x10,0x17,0x11,0xf8,0x17,0x14,0x1c,0x37,0xd4,0x15,0x15,0x15,0x15,0x55,0x24,0x80,0x44,0xfe,0x10,0xa4,0xfe,0x44,0x44,0xfc,0x44,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x2,0x1,0xff,0x8,0x4,0x3,0x1c,0xe0,0x1f,0x2,0x4,0x3f,0x24,0x24,0x24,0x20,0x0,0x4,0xfe,0x20,0x40,0x80,0x70,0xe,0xf0,0x0,0x8,0xfc,0x48,0x48,0x48,0x18,
-+0x2,0x1,0x7f,0x40,0x80,0x3,0x3e,0x2,0x3,0x7e,0x2,0x2,0x2,0x2,0x1,0x0,0x0,0x0,0xfe,0x2,0x34,0xc0,0x0,0x8,0xfc,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x2,0x1,0x7f,0x48,0x94,0x4,0xb,0x12,0x22,0x43,0x2,0x2,0x3,0x2,0x2,0x2,0x0,0x0,0xfe,0x22,0x14,0x0,0xfc,0x0,0x20,0xf0,0x0,0x10,0xf8,0x0,0x0,0x0,
-+0x8,0xf,0x8,0x13,0x10,0x3f,0x50,0x93,0x12,0x12,0x12,0x12,0x12,0x10,0x11,0x16,0x40,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0x48,0xb0,0x8,0x4,
-+0x2,0x1,0x7f,0x44,0xbf,0x4,0x1f,0x4,0xff,0x4,0x9,0x3f,0xc5,0x9,0x15,0x2,0x0,0x0,0xfe,0x42,0xfc,0x40,0xf0,0x44,0xfe,0x40,0x20,0xf8,0x46,0x30,0x10,0x0,
-+0x8,0x7c,0x49,0x4b,0x4a,0x7b,0x4b,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x7a,0x44,0x8,0x80,0xf8,0x10,0xfe,0x88,0x24,0xfe,0x0,0xfc,0x0,0xfc,0x0,0xfc,0x84,0xfc,0x84,
-+0x4,0xe,0xf0,0x10,0x14,0x1e,0x70,0x14,0x1f,0xf1,0x11,0x11,0x11,0x11,0xf,0x0,0x40,0x40,0x40,0x48,0x7c,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0xfa,0xa,0xfe,0x0,
-+0x10,0x1f,0x20,0x7f,0xa5,0x28,0x3f,0x20,0x27,0x20,0x27,0x20,0x47,0x44,0x87,0x4,0x0,0xf0,0x44,0xfe,0x10,0x88,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xfc,0x8,0xf8,0x8,
-+0x8,0x8,0x49,0x2a,0x8,0xff,0x8,0x18,0x1d,0x2b,0x29,0x49,0x89,0x9,0x9,0x8,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x0,0x40,0x30,0x10,0x80,0x60,0x20,0xf,0x14,0x24,0xe4,0x24,0x24,0x24,0x27,0x24,0x80,0x80,0x84,0xfe,0x80,0x80,0x88,0xfc,0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x2,0x3,0x7e,0x3,0x7e,0x1,0x1,0xe,0x70,0x3f,0x24,0x24,0x24,0xff,0x0,0x40,0x20,0xf8,0x0,0xfc,0x20,0x40,0x82,0x62,0x1e,0xf8,0x48,0x48,0x48,0xfe,0x0,
-+0x10,0x10,0x14,0xfe,0x20,0x28,0x48,0x7e,0x8,0x8,0xe,0xf8,0x49,0x9,0xa,0x8,0x8,0x1c,0xe0,0x80,0x80,0x84,0xfe,0x90,0x90,0x90,0x90,0x90,0x10,0x10,0x10,0x10,
-+0x20,0x23,0x2a,0xff,0x42,0x52,0x93,0xfe,0x12,0x13,0x1e,0xf2,0x54,0x14,0x18,0x10,0x4,0xfe,0x4,0xfc,0x50,0x50,0xfc,0x50,0x54,0xfe,0xa4,0xa8,0x90,0x88,0xce,0x84,
-+0x1,0x21,0x3f,0x10,0x14,0xfe,0x20,0x48,0x7e,0x8,0xe,0xf8,0x49,0x9,0xa,0x8,0x0,0x8,0xf8,0x0,0x1c,0xe0,0x80,0x84,0xfe,0x90,0x90,0x90,0x10,0x10,0x10,0x10,
-+0x0,0x3f,0x20,0x3f,0x22,0x22,0x2f,0x22,0x22,0x3f,0x24,0x24,0x24,0x45,0x86,0x4,0x8,0xfc,0x8,0xf8,0x20,0x20,0xf8,0x20,0x24,0xfe,0x88,0x50,0x30,0xe,0x4,0x0,
-+0x8,0xff,0x8,0xfe,0x28,0x29,0x7e,0x54,0x54,0x54,0x6c,0x44,0x7c,0x45,0x7d,0x46,0x20,0xfe,0x20,0x90,0x90,0xfe,0x90,0xfc,0x90,0xfc,0x90,0xfe,0x0,0x54,0x52,0x2,
-+0x10,0x10,0x10,0x10,0xfc,0x13,0x30,0x38,0x57,0x50,0x10,0x10,0x10,0x11,0x16,0x10,0x80,0x90,0x88,0x80,0xf8,0x80,0x88,0xfc,0x80,0x48,0x50,0x20,0x60,0x92,0xa,0x6,
-+0x2,0x2,0x2,0x3,0x2,0x2,0x2,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x3f,0x20,0x0,0x0,0x8,0xfc,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x12,0x1f,0x10,0x13,0x10,0x7e,0x42,0x42,0x42,0x42,0x42,0x7e,0x41,0x2,0x40,0x50,0x48,0x48,0x7e,0xc0,0x40,0x40,0x48,0x28,0x30,0x20,0x50,0x92,0xa,0x6,
-+0x0,0x20,0x10,0x10,0xfe,0x0,0x44,0x44,0x25,0x25,0x29,0x9,0x1f,0xe1,0x41,0x1,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x41,0x37,0x11,0x81,0x61,0x21,0x9,0x11,0x2f,0xe4,0x25,0x26,0x24,0x27,0x20,0x10,0x10,0xfc,0x10,0xf0,0x10,0xf0,0x10,0x14,0xfe,0xa0,0x18,0x8,0x0,0xfc,0x0,
-+0x10,0x10,0x23,0x22,0x44,0xf8,0x13,0x20,0x40,0xfc,0x40,0x1,0x1d,0xe2,0x44,0x0,0x40,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0xa8,0xbc,0xa0,0x20,0xa0,0x66,0x1c,0x0,
-+0x10,0x17,0x11,0x10,0xff,0x10,0x33,0x3a,0x57,0x52,0x93,0x10,0x1f,0x10,0x10,0x10,0x48,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,0x40,
-+0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x1,0x1,0x1,0x0,0xf8,0x20,0x44,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,0x0,
-+0x4,0x7f,0x11,0xa,0xff,0x0,0x3f,0x20,0x3f,0x20,0x3f,0x4,0xff,0x4,0x4,0x4,0x4,0xc4,0x8,0x10,0xe0,0x84,0xc4,0x88,0x90,0xa2,0x82,0x4,0xe8,0x10,0x20,0xc0,
-+0x0,0x47,0x31,0x10,0x8f,0x60,0x23,0xa,0x13,0x22,0xe3,0x20,0x2f,0x20,0x20,0x20,0x40,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,0x40,
-+0x9,0xfd,0x9,0x9,0x9,0x79,0x41,0x47,0x41,0x79,0x9,0x9,0x9,0x9,0x51,0x21,0x0,0x8,0x8,0x10,0x20,0x40,0x4,0xfe,0x40,0x40,0x20,0x20,0x10,0x4e,0x84,0x0,
-+0x11,0x9,0x7f,0x40,0x9f,0x10,0x1f,0x0,0x7f,0x1,0x3f,0x1,0xff,0x1,0x5,0x2,0x10,0x20,0xfe,0x2,0xf4,0x10,0xf0,0x38,0xc0,0x0,0xf8,0x0,0xfe,0x0,0x0,0x0,
-+0x40,0x2f,0x21,0x1,0x81,0x4f,0x48,0x8,0x18,0x2f,0xe1,0x21,0x21,0x21,0x2a,0x24,0x40,0x40,0x44,0x44,0x48,0x50,0x44,0xfe,0x50,0x50,0x50,0x48,0x48,0x44,0x62,0x40,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x31,0x39,0x54,0x50,0x90,0x10,0x10,0x10,0x11,0x16,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0xa0,0xa0,0xa0,0x40,0x60,0x90,0xe,0x4,
-+0x0,0x0,0x0,0x0,0xff,0x0,0x8,0x8,0x4,0x4,0x2,0x1,0x2,0x4,0x18,0xe0,0x80,0x80,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x60,0x1e,0x4,
-+0x10,0x10,0x14,0x7e,0x54,0x54,0x54,0x57,0x54,0x54,0x54,0x5c,0x10,0x10,0x10,0x10,0x80,0x84,0x84,0x88,0x90,0xa0,0x84,0xfe,0xa0,0xa0,0x90,0x90,0x88,0x8e,0xc4,0x80,
-+0x4,0x7e,0x44,0x54,0x54,0x54,0x54,0x57,0x54,0x54,0x54,0x54,0x10,0x28,0x44,0x80,0x80,0x84,0x84,0x88,0x90,0xa0,0x84,0xfe,0xa0,0xa0,0x90,0x90,0x88,0x8e,0xc4,0x80,
-+0x8,0x8,0x8,0x10,0x17,0x30,0x51,0x91,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x16,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0xa0,0xa0,0xa0,0x40,0x60,0x90,0xe,0x4,
-+0x4,0x3e,0x24,0x24,0x24,0x3c,0x24,0x27,0x24,0x3c,0x24,0x24,0x24,0x44,0x94,0x8,0x80,0x84,0x84,0x88,0x90,0xa0,0x84,0xfe,0xa0,0xa0,0x90,0x90,0x88,0x8e,0xc4,0x80,
-+0x0,0x1f,0x10,0x97,0x51,0x5f,0x10,0x17,0x34,0x57,0x94,0x17,0x20,0x2f,0x40,0x0,0x80,0xfe,0x40,0xfc,0x10,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x40,0xfe,0x40,0x40,
-+0x0,0x7b,0x49,0x50,0x57,0x60,0x53,0x4a,0x4b,0x4a,0x6b,0x50,0x4f,0x40,0x40,0x40,0x40,0xf8,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,0x40,
-+0x10,0x13,0x10,0x10,0xfc,0x10,0x15,0x19,0x32,0xd5,0x11,0x11,0x11,0x11,0x51,0x21,0x4,0xfe,0x84,0x84,0x84,0x84,0x14,0x8,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0xb,0x7c,0x48,0x48,0x48,0x49,0x79,0x4a,0x4d,0x49,0x49,0x79,0x49,0x1,0x1,0x4,0xfe,0x84,0x84,0x84,0x84,0x14,0x8,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x10,0xfc,0x13,0x10,0x1c,0x30,0xd0,0x10,0x10,0x11,0x12,0x54,0x20,0x80,0xa0,0x90,0x84,0x9e,0xe0,0x80,0x88,0x50,0x60,0x40,0xc0,0x20,0x12,0xa,0x6,
-+0x40,0x33,0x10,0x0,0x80,0x60,0x21,0x9,0x12,0x25,0xe1,0x21,0x21,0x21,0x21,0x21,0x4,0xfe,0x84,0x84,0x84,0x84,0x14,0x8,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x8,0x7e,0x8,0xa,0xff,0x8,0x28,0x2e,0x28,0x39,0x48,0x44,0x83,0x0,0x0,0x8,0x88,0x88,0x50,0x50,0x20,0x20,0x50,0x48,0x8c,0x4,0x0,0x6,0xfc,0x0,
-+0x0,0x7d,0x44,0x44,0x44,0x44,0x7d,0x44,0x44,0x44,0x44,0x7c,0x0,0x24,0x62,0x82,0x4,0xfe,0x44,0x44,0x84,0x94,0x8,0xfc,0x84,0x84,0x84,0xfc,0x0,0x88,0x46,0x42,
-+0x7f,0x44,0x7f,0x1,0x1,0x1,0x3f,0x20,0x3f,0x20,0x3f,0x1,0xff,0x1,0x1,0x1,0xfc,0x44,0xfc,0x0,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x0,0x0,0x0,
-+0x4,0x4,0x4,0x24,0x14,0x14,0x4,0x4,0x1c,0x64,0x4,0x8,0x8,0x10,0x20,0x40,0x80,0x80,0x80,0x90,0xa0,0xc0,0x80,0xc0,0xb0,0x90,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x8,0x3e,0x22,0x3e,0x21,0x5f,0x81,0xff,0x1,0x1f,0x1,0x3f,0x1,0xff,0x1,0x1,0x44,0x7e,0xa8,0x10,0x6e,0xf0,0x14,0xfe,0x10,0xf0,0x0,0xf8,0x0,0xfe,0x0,0x0,
-+0x0,0x3f,0x4,0x4,0x4,0x8,0x8,0x10,0x3f,0x50,0x10,0x10,0x10,0x10,0x1f,0x10,0x8,0xfc,0x8,0x8,0x8,0x28,0x10,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x27,0x24,0x4,0x7,0xe4,0x24,0x24,0x24,0x25,0x29,0x32,0x50,0x88,0x7,0x40,0x20,0xfc,0x90,0x94,0xfe,0x90,0x90,0xf0,0x0,0x54,0x52,0x52,0x0,0x6,0xfc,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x15,0x19,0x31,0xd1,0x11,0x11,0x12,0x12,0x54,0x20,0x8,0x3c,0xc0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x8,0x8,0xfe,0x8,0xe,0x78,0x9,0x9,0x2a,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0xc,0xf0,0x80,0x84,0xfe,0x90,0x10,0x10,0x10,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x8,0x8,0xff,0x8,0xe,0x78,0x8,0x29,0x11,0x1f,0x11,0x11,0x1f,0x1,0x7f,0x0,0x40,0x48,0xfc,0x48,0xc8,0x48,0x6a,0x8a,0x6,0xf0,0x10,0x10,0xf0,0x4,0xfc,0x4,
-+0x22,0x21,0x27,0xfa,0x24,0x57,0x50,0xff,0x14,0x17,0x1c,0xf7,0x54,0x14,0x14,0x15,0x20,0x20,0xe4,0x3e,0xc4,0xa4,0xa4,0xa4,0xa4,0xa8,0x90,0x90,0xa8,0xa8,0xc6,0x84,
-+0x2,0x2,0x3f,0x2,0x2,0xff,0x2,0x4,0xf,0x18,0x28,0x4f,0x88,0x8,0xf,0x8,0x0,0x10,0xe0,0x40,0x84,0xfe,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x13,0x1c,0x20,0x23,0x7c,0x91,0x13,0xfd,0x11,0x11,0x15,0x19,0x11,0x1,0x40,0x44,0xf8,0x50,0x64,0xfe,0x80,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0xff,0x9,0x0,0x3f,0x22,0x22,0x3f,0x22,0x22,0x23,0x40,0x49,0x89,0x10,0x20,0x24,0xfe,0x20,0x88,0xfc,0x20,0x28,0xfc,0x20,0x20,0xe0,0x0,0x24,0x22,0x2,
-+0x0,0x40,0x30,0x17,0x0,0x2,0xf1,0x10,0x10,0x10,0x10,0x11,0x12,0x28,0x47,0x0,0x80,0x40,0x48,0xfc,0x10,0x10,0x20,0xa0,0x40,0x40,0xa0,0x10,0x10,0x6,0xfc,0x0,
-+0x2,0x42,0x32,0x12,0x8f,0x62,0x22,0xa,0x13,0x2e,0xe2,0x22,0x22,0x22,0x2b,0x24,0x0,0xc,0x70,0x40,0xc0,0x44,0x7e,0xc8,0x48,0x48,0x48,0x48,0x48,0x88,0x8,0x8,
-+0x0,0x8,0xfc,0x10,0x11,0x12,0x14,0x7d,0x10,0x10,0x11,0x1c,0xf0,0x40,0x0,0x3,0x40,0x40,0xa0,0xa0,0x10,0x2e,0x44,0x80,0x10,0x60,0x84,0x8,0x10,0x20,0xc0,0x0,
-+0x22,0x22,0x7f,0x22,0x3e,0x22,0x3e,0x22,0x22,0xff,0x40,0x54,0x62,0x40,0x7f,0x0,0x8,0x8,0x48,0x28,0x8,0x88,0x48,0x8,0x8,0x8e,0xf8,0x8,0x8,0x8,0x8,0x8,
-+0x1,0x1,0x7f,0x1,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0xff,0x8,0x10,0x20,0x0,0x8,0xfc,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x14,0xfe,0x20,0x18,0x8,
-+0x2,0xff,0x14,0x15,0x7f,0x55,0x55,0x7f,0x49,0x8,0x7f,0x8,0x8,0xf,0x78,0x20,0x4,0xfe,0x40,0x40,0xc8,0x7c,0x48,0x48,0x68,0x58,0x58,0x88,0x88,0xaa,0xca,0x6,
-+0x4,0xfe,0x10,0x10,0x20,0x24,0x7e,0xa5,0x25,0x25,0x25,0x25,0x3d,0x25,0x1,0x1,0x40,0x40,0x44,0x7e,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xfc,0x23,0x20,0x4b,0xfc,0x27,0x21,0xfa,0x25,0x20,0x3b,0xe1,0x42,0x4,0x0,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0x10,0xe,0xf4,0x40,0xf8,0x50,0x4c,0x44,0x40,
-+0x1,0x1,0x1,0x1,0x1,0x1f,0x10,0x11,0x11,0x11,0x11,0x11,0x2,0x4,0x18,0x60,0x0,0x8,0xfc,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x40,0x30,0x8,0x4,
-+0x10,0x10,0x10,0x1e,0x20,0x20,0x7d,0x90,0x10,0xfe,0x10,0x12,0x14,0x18,0x10,0x0,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x8,0x8,0x8,0x10,0x10,0x37,0x54,0x94,0x14,0x14,0x14,0x14,0x10,0x11,0x16,0x18,0x40,0x44,0x7e,0x40,0x44,0xfe,0x4,0x44,0x44,0x44,0x44,0x44,0x90,0xc,0x6,0x2,
-+0x10,0x10,0x10,0x13,0xfe,0x14,0x30,0x38,0x54,0x50,0x90,0x10,0x11,0x11,0x12,0x14,0x40,0x40,0x40,0xfc,0x44,0x48,0x40,0x60,0x60,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x1,0x0,0x1f,0x10,0x90,0x51,0x52,0x14,0x39,0x52,0xd4,0x11,0x22,0x20,0x43,0xc,0x0,0x88,0xfc,0x80,0x80,0x40,0x30,0x8e,0x24,0x40,0x80,0x10,0x20,0xc0,0x0,0x0,
-+0x0,0x40,0x20,0x21,0x2,0x4,0xe8,0x20,0x23,0x20,0x20,0x23,0x28,0x30,0x23,0xc,0x40,0x40,0xa0,0x20,0x10,0x2e,0x44,0x90,0x20,0x40,0x88,0x10,0x20,0xc0,0x0,0x0,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x3f,0x20,0x2f,0x20,0x3f,0x2a,0x29,0x48,0x8c,0x8,0xf0,0x0,0xfe,0x12,0x64,0x10,0xf8,0x0,0xf0,0x0,0xf8,0x10,0x20,0xc0,0x30,0xc,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x16,0x1b,0x32,0xd2,0x12,0x12,0x14,0x14,0x58,0x20,0x4,0xfe,0x0,0x8,0xfc,0x0,0x4,0xfe,0xa0,0xa2,0xa4,0x98,0x90,0x8e,0xc4,0x80,
-+0x10,0x10,0x13,0x1c,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x11,0x17,0x18,0x11,0x2,0x20,0x24,0xfe,0x20,0xfc,0x4,0xfc,0x4,0xfc,0x4,0xfc,0x4,0xfe,0x88,0x6,0x2,
-+0x0,0x78,0x4f,0x50,0x50,0x61,0x51,0x4b,0x48,0x48,0x68,0x57,0x40,0x40,0x40,0x40,0x80,0x84,0xfe,0x80,0xa0,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x8,0x8,0xff,0x8,0x1f,0x0,0x3d,0x5,0x5,0x9,0x35,0xc2,0xf,0x20,0x24,0x42,0x20,0x24,0xfe,0x20,0xe0,0x48,0x98,0x20,0x40,0x30,0xe,0x4,0xe0,0x10,0x8c,0x44,
-+0x10,0x10,0x11,0x12,0xfc,0x13,0x14,0x18,0x37,0xd0,0x10,0x13,0x10,0x10,0x51,0x20,0x80,0x80,0xf8,0x10,0x20,0xf8,0x48,0x48,0xfe,0x48,0x48,0xf8,0x48,0x40,0x40,0x80,
-+0x8,0x7c,0x49,0x4a,0x48,0x7b,0x48,0x48,0x4f,0x78,0x48,0x4b,0x48,0x78,0x49,0x0,0x80,0x80,0xf8,0x10,0x20,0xf8,0x48,0x48,0xfe,0x48,0x48,0xf8,0x48,0x40,0x40,0x80,
-+0x8,0xb,0x10,0x10,0x20,0x48,0x88,0x12,0x32,0x52,0x92,0x12,0x12,0x12,0x1f,0x10,0x8,0xfc,0x40,0x40,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x2,0x44,0x29,0x12,0x28,0x4b,0x88,0x8,0x1f,0x28,0x48,0x8b,0x8,0x8,0x29,0x10,0x80,0x80,0xf8,0x10,0x20,0xf8,0x48,0x48,0xfe,0x48,0x48,0xf8,0x48,0x40,0x40,0x80,
-+0x8,0xf,0x8,0x10,0x3f,0x41,0x1,0xff,0x1,0x1,0x3f,0x1,0x1,0x1,0x5,0x2,0x0,0xe0,0x40,0x90,0xf8,0x10,0x14,0xfe,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x0,
-+0x10,0x17,0x10,0x10,0x58,0x54,0x50,0x92,0x12,0x12,0x12,0x12,0x12,0x12,0x1f,0x10,0x8,0xfc,0x40,0x40,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x8,0x7f,0x8,0x7f,0x49,0x7f,0x1c,0x2a,0xc8,0x3f,0x1,0x9,0x9,0x9,0xff,0x0,0x40,0x44,0x7e,0x88,0x48,0x50,0x20,0x50,0x8e,0xf8,0x0,0xf0,0x0,0x4,0xfe,0x0,
-+0x10,0x13,0x10,0x10,0xfc,0x13,0x15,0x19,0x31,0xd2,0x14,0x10,0x11,0x10,0x5f,0x20,0x0,0xf8,0x10,0x20,0x44,0x48,0x70,0x50,0x50,0x4e,0x44,0x40,0x40,0x84,0xfe,0x0,
-+0x0,0x7f,0x1,0x1,0x1,0x1,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0xff,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x4,0xfe,0x10,0x10,0x11,0x5e,0x50,0x50,0x50,0x50,0x5e,0xf0,0x40,0x1,0x2,0x40,0x40,0x44,0xfe,0x88,0x8,0x88,0x88,0x50,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x10,0x7c,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5d,0x11,0x10,0x10,0x13,0x20,0x24,0x3e,0x20,0xfc,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x58,0x84,0x2,
-+0x0,0x0,0x1f,0x10,0x90,0x57,0x50,0x10,0x32,0x52,0xd2,0x12,0x22,0x22,0x5f,0x0,0x80,0x48,0xfc,0x0,0x8,0xfc,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x41,0x22,0x14,0x7f,0x8,0x8,0x9,0xff,0x8,0x8,0x8,0x14,0x12,0x22,0x40,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x20,0x17,0x10,0x0,0x0,0xf0,0x11,0x11,0x11,0x11,0x11,0x11,0x15,0x19,0x17,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x8,0x8,0xff,0x8,0x2,0x1,0x3f,0x0,0x0,0x3,0xc,0x10,0x60,0x90,0xf,0x0,0x20,0x24,0xfe,0x20,0x0,0x0,0xf0,0x20,0xc0,0x0,0x0,0x0,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x31,0x39,0x54,0x50,0x90,0x10,0x10,0x10,0x11,0x16,0x20,0x20,0x24,0xfe,0x20,0x20,0xfc,0x4,0x88,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x1,0x1,0x1,0xff,0x1,0x1,0x3f,0x8,0x8,0x4,0x2,0x1,0x2,0xc,0x30,0xc0,0x0,0x0,0x4,0xfe,0x0,0x0,0xf0,0x20,0x20,0x40,0x80,0x0,0x80,0x60,0x1e,0x4,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x49,0x49,0x48,0x48,0x48,0x78,0x48,0x0,0x1,0x6,0x20,0x20,0x24,0xfe,0x20,0x20,0xfc,0x4,0x88,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x22,0x22,0x22,0xfb,0xad,0xa9,0xa9,0xaf,0xf9,0xa1,0x29,0x39,0xea,0x42,0x4,0x8,0x0,0x0,0x4,0xfe,0x24,0x24,0x24,0xe4,0x24,0x24,0x24,0x24,0xbc,0x64,0x40,0x0,
-+0x20,0x20,0x22,0x3f,0x28,0x48,0x88,0x9,0xff,0x8,0x8,0x14,0x12,0x22,0x40,0x80,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0xc4,0x44,0x44,0x44,0x44,0x7c,0x44,0x0,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x25,0x25,0x24,0x3c,0x24,0x24,0x24,0x44,0x95,0xa,0x20,0x20,0x24,0xfe,0x20,0x20,0xfc,0x4,0x88,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x5,0x3f,0x25,0x25,0x25,0x3d,0x24,0x24,0x25,0x3d,0x25,0x25,0x25,0x45,0x95,0x9,0x0,0x8,0x1c,0xe0,0x2,0x2,0xfe,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x0,0x40,0x30,0x10,0x80,0x60,0x27,0x8,0x10,0x20,0xe0,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x2,0x1,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x1,0x2,0xc,0x30,0x48,0x7,0x0,0x0,0x0,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x21,0x21,0x45,0xf9,0x11,0x21,0x41,0xfd,0x40,0x0,0x1c,0xe0,0x41,0x2,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,0x50,0x48,0x84,0x2,0x2,
-+0x4,0xfe,0x24,0x24,0x3c,0x24,0x24,0x3c,0x24,0x24,0x27,0xfc,0x44,0x4,0x5,0x4,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x48,0x48,0x84,0x86,0x2,0x0,
-+0x1,0x1,0x7f,0x1,0x1,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0xff,0x0,0x0,0x8,0xfc,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x14,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0xfc,0x13,0x32,0x3b,0x56,0x53,0x92,0x13,0x12,0x12,0x1f,0x10,0x40,0x48,0xfc,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x0,
-+0x4,0xfe,0x13,0x10,0x10,0x3d,0x25,0x45,0xa5,0x19,0x9,0x11,0x21,0x41,0x87,0x0,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x4,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x14,0x18,0x31,0xd0,0x11,0x11,0x11,0x12,0x54,0x28,0x80,0x80,0x80,0x90,0xf8,0x90,0x90,0x90,0x90,0x90,0x50,0x52,0x12,0x12,0xe,0x0,
-+0x8,0x8,0xf,0x10,0x10,0x33,0x52,0x93,0x12,0x13,0x12,0x13,0x12,0x12,0x1f,0x10,0x40,0x48,0xfc,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x0,
-+0x8,0x8,0xf,0x10,0x11,0x32,0x57,0x90,0x10,0x10,0x17,0x10,0x10,0x10,0x1f,0x10,0x0,0x8,0xfc,0x80,0x0,0x8,0xfc,0x44,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x15,0xff,0x11,0x11,0x11,0x11,0x11,0x11,0x13,0x1d,0xf1,0x47,0x0,0x20,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x11,0x11,0x11,0x11,0xfd,0x11,0x14,0x18,0x31,0xd1,0x11,0x11,0x11,0x11,0x51,0x21,0x0,0x8,0x1c,0xe0,0x2,0x2,0xfe,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x1,0x1,0x1,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x4,0x7e,0x44,0x44,0x45,0x7d,0x11,0x51,0x5d,0x51,0x51,0x51,0x5d,0xf1,0x47,0x0,0x20,0x20,0x20,0x20,0x28,0x3c,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x0,0x4,0xc,0x10,0x20,0x40,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x40,0x20,0x18,0xc,0x4,
-+0x20,0x20,0x21,0x3e,0x20,0x20,0x1f,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x18,0xe0,0x0,0x4,0x4,0xfc,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x23,0x22,0x46,0xfa,0x12,0x23,0x42,0xfe,0x2,0x2,0x1e,0xe2,0x43,0x2,0x0,0x3c,0xe0,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x10,0x92,0xa,0x6,
-+0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x3f,0x0,0x2,0x11,0x50,0x50,0x90,0xf,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x0,0x0,0x80,0x84,0x12,0x12,0xf0,0x0,
-+0x8,0x8,0x7e,0x8,0xe,0xf8,0x48,0x19,0x3f,0x1,0x1f,0x1,0xff,0x1,0x1,0x3,0x40,0x48,0xfc,0x48,0xc8,0x68,0x8a,0x36,0xc0,0x0,0xf0,0x4,0xfe,0x0,0x0,0x0,
-+0x28,0x25,0x20,0x2f,0xf2,0x22,0x22,0x2a,0x3f,0xe2,0x22,0x25,0x24,0x28,0xb0,0x40,0x80,0x7c,0x44,0xc4,0x48,0x48,0x50,0x48,0xc4,0x42,0x42,0x62,0xd4,0x48,0x40,0x40,
-+0x0,0x7f,0x2,0x4,0x8,0x10,0x3f,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x0,0x8,0xfc,0x0,0x0,0x20,0x10,0xf8,0x8,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,
-+0x4,0xfe,0x10,0x10,0x20,0x45,0xfe,0x10,0x10,0x7c,0x10,0x10,0x1e,0xf0,0x41,0x6,0x40,0x40,0x40,0x44,0xfe,0x8,0x88,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x3f,0x24,0x3f,0x1,0x7f,0x1,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0xff,0x0,0xf8,0x48,0xf8,0x0,0xfc,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x14,0xfe,0x0,
-+0x10,0x10,0x15,0x7f,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x5c,0x10,0x10,0x11,0x12,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,0x50,0x48,0x84,0x6,0x2,
-+0x10,0x10,0x11,0x54,0x54,0x57,0x54,0x54,0x57,0x54,0x54,0x54,0x7c,0x44,0x0,0x0,0x20,0x28,0xfc,0x20,0x24,0xfe,0x8,0x8,0xfe,0x8,0x88,0x48,0x48,0x8,0x28,0x10,
-+0x4,0x24,0x25,0x3f,0x24,0x44,0xff,0x4,0x3f,0x24,0x24,0x24,0x26,0x25,0x4,0x4,0x4,0x4,0x4,0xa4,0x24,0xa4,0xe4,0x24,0xa4,0xa4,0xa4,0x84,0x84,0x4,0x14,0x8,
-+0x20,0x22,0x3f,0x48,0x8,0xff,0x10,0x14,0x22,0x42,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x0,0x4,0x7e,0x44,0x44,0xc4,0x44,0x7c,0x44,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x8,0x1c,0xf2,0x12,0x13,0xfe,0x14,0x30,0x3b,0x54,0x50,0x90,0x11,0x11,0x12,0x1c,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0xe,0x4,
-+0x8,0x1c,0xf0,0x11,0x13,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0xa0,0x90,0x84,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x2f,0x28,0x28,0x28,0x28,0x49,0x42,0x8c,0x30,0x78,0x80,0x80,0x84,0xfe,0x80,0x88,0xfc,0x8,0x88,0x88,0x88,0x8,0x70,0xc,0x4,
-+0x4,0x4,0xf,0x11,0x28,0x44,0x3,0xc,0x71,0x9,0x9,0x12,0x4,0x8,0x30,0xc0,0x0,0x0,0xf8,0x10,0xa0,0xc0,0x0,0x0,0x10,0x30,0x40,0x80,0x40,0x30,0xe,0x4,
-+0x1,0x0,0x1f,0x10,0x90,0x57,0x50,0x10,0x3f,0x50,0xd7,0x12,0x21,0x21,0x40,0x0,0x0,0x88,0xfc,0x80,0x90,0xf8,0x80,0x84,0xfe,0x10,0xfc,0x10,0x10,0x10,0x50,0x20,
-+0x2,0x42,0x2f,0x22,0x80,0x67,0x24,0x8,0x13,0x22,0xe2,0x22,0x22,0x22,0x20,0x20,0x48,0x48,0xfe,0x48,0x0,0xfe,0x42,0x44,0xf8,0x48,0x48,0x48,0x48,0x58,0x40,0x40,
-+0x0,0x40,0x31,0x11,0x82,0x67,0x20,0x8,0x13,0x22,0xe2,0x22,0x22,0x22,0x23,0x22,0x80,0x80,0x0,0x10,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x1,0x7f,0x44,0x88,0x3f,0x2,0x4,0x1f,0x1,0x1,0x7f,0x1,0x1,0xff,0x0,0x0,0x0,0xfe,0x42,0x24,0xf8,0x0,0x20,0xf0,0x0,0x8,0xfc,0x0,0x4,0xfe,0x0,
-+0x1,0x1,0x1,0x7f,0x41,0x41,0x41,0x41,0x7f,0x41,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x3f,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x3f,0x24,0x24,0x24,0xff,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x8,0xfc,0x48,0x48,0x48,0xfe,0x0,
-+0x1,0x1,0x3f,0x21,0x21,0x21,0x3f,0x21,0x1,0x1,0x12,0x51,0x51,0x90,0xf,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x4,0x12,0x12,0xf0,0x0,
-+0x10,0x10,0x10,0x1c,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x10,0x14,0x18,0x10,0x0,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x2,0x1,0xff,0x1,0x1f,0x11,0x11,0x1f,0x11,0x5,0x8,0x18,0x28,0xca,0xc,0x8,0x0,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x8,0x18,0xa0,0x40,0x30,0xe,0x4,0x0,
-+0x10,0x10,0x20,0x21,0x45,0xfa,0x10,0x20,0x40,0xfd,0x2,0x0,0x1c,0xe0,0x40,0x0,0x80,0x80,0xfc,0x8,0x90,0x50,0x20,0x50,0x88,0xe,0x64,0x10,0x8,0xc0,0x30,0x8,
-+0x8,0x1c,0xf0,0x10,0x11,0xff,0x11,0x39,0x35,0x55,0x51,0x90,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x4,0x3e,0x24,0x24,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x24,0x24,0x44,0x94,0x8,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x3f,0x1,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x3f,0x1,0x1,0xff,0x0,0x38,0xc0,0x4,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x0,0x4,0xfe,0x0,
-+0x8,0x8,0x8,0x10,0x17,0x34,0x54,0x94,0x14,0x17,0x14,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x1,0x1,0x2,0x4,0x8,0x30,0x0,0x8,0x8,0x14,0x12,0x22,0x41,0x82,0x0,0x0,0x0,0x0,0x80,0x40,0x38,0x10,0x0,0x20,0x20,0x50,0x50,0x88,0xe,0x4,0x0,
-+0x2,0x4,0x1f,0x10,0x12,0x11,0x11,0xff,0x10,0x12,0x11,0x11,0x10,0x20,0x40,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x3f,0x21,0x21,0x2f,0x21,0x21,0x3f,0x20,0x27,0x24,0x24,0x24,0x47,0x84,0x0,0x8,0xfc,0x8,0x48,0xe8,0x8,0x28,0xf8,0x48,0xe8,0x48,0x48,0x48,0xc8,0x28,0x10,
-+0x10,0x10,0x10,0x10,0x54,0x52,0x52,0x90,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x0,0x4,0x84,0x84,0x84,0xa4,0x94,0x94,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x4,0x4,
-+0x1,0x41,0x31,0x11,0x81,0x65,0x23,0xb,0x11,0x21,0xe1,0x21,0x22,0x22,0x24,0x20,0x4,0x4,0x24,0x24,0x24,0xb4,0x6c,0x6c,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,
-+0x1,0x41,0x21,0x22,0x4,0x8,0xe7,0x20,0x20,0x20,0x23,0x20,0x28,0x30,0x27,0x0,0x0,0x0,0xf8,0x10,0x20,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x9,0xfd,0x9,0x9,0xd,0x7b,0x41,0x47,0x41,0x79,0xb,0xd,0x9,0x89,0x51,0x21,0x4,0x3e,0x4,0x4,0x44,0xbc,0x20,0xe0,0x24,0x3e,0x84,0x44,0x4,0x4,0x28,0x10,
-+0x10,0x10,0x14,0xfe,0x21,0x21,0x49,0x7f,0x9,0x9,0xf,0xf9,0x49,0x9,0x9,0x8,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,
-+0x4,0x3e,0x24,0x24,0x24,0x3d,0x24,0x24,0x24,0x3c,0x24,0x24,0x24,0x44,0x94,0x8,0x8,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x88,0x48,0x48,0x8,0x8,0x8,0x28,0x10,
-+0x0,0x3f,0x0,0x1f,0x0,0x3f,0x1,0x7f,0x41,0x9f,0x11,0x11,0x11,0x11,0x1,0x1,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xfe,0x2,0xf4,0x10,0x10,0x50,0x20,0x0,0x0,
-+0x4,0x7e,0x44,0x44,0x44,0x7c,0x0,0xf,0x8,0x8,0x8,0x8,0x8,0x10,0x20,0x40,0x8,0xfc,0x88,0x88,0x88,0xf8,0x40,0xe0,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x1e,0x22,0xc4,0x8,0x7e,0x2,0x2,0x7e,0x2,0x2,0x7f,0x1,0x2,0x0,0x10,0x10,0x10,0xfe,0x92,0x94,0x90,0xfc,0x84,0xc4,0xa8,0xa8,0x10,0x28,0x4e,0x84,
-+0x2,0x1,0x7f,0x40,0x81,0x1,0x3f,0x21,0x21,0x21,0x3f,0x21,0x21,0x21,0x3f,0x20,0x0,0x0,0xfe,0x2,0x4,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x20,0x3f,0x50,0x9f,0x10,0x1f,0x0,0x7f,0x0,0x10,0xf8,0x10,0x10,0xf0,0x90,0x40,0x20,0xfe,0x14,0xf0,0x10,0xf0,0x0,0xfc,0x0,
-+0x10,0xff,0x12,0x53,0x52,0x53,0x52,0x57,0x78,0xb,0x8,0x3b,0xc8,0x9,0x2e,0x10,0x0,0xfc,0x44,0xd4,0x48,0xd4,0x62,0xd8,0x60,0xa4,0x68,0xb0,0x68,0xa6,0x20,0x20,
-+0x0,0x9,0xfd,0x11,0x11,0x12,0x7c,0x13,0x10,0x10,0x1c,0xf0,0x41,0x2,0x4,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x60,0x70,0xb0,0xa8,0x2e,0x24,0x20,0x20,
-+0x10,0x11,0x11,0x11,0xfd,0x12,0x30,0x3b,0x54,0x50,0x90,0x10,0x11,0x12,0x14,0x10,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x60,0x70,0xb0,0xa8,0x2e,0x24,0x20,0x20,
-+0x10,0x11,0x11,0x11,0x7d,0x56,0x54,0x57,0x54,0x7c,0x10,0x14,0x1d,0xf6,0x44,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x60,0x70,0xb0,0xa8,0x2e,0x24,0x20,0x20,
-+0x1,0x11,0x11,0x1f,0x11,0x21,0x1,0xff,0x3,0x5,0x9,0x11,0x21,0xc1,0x1,0x1,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x80,0x40,0x30,0xe,0x4,0x0,0x0,
-+0x2,0x44,0x2b,0x10,0x28,0x4b,0x88,0x9,0x1b,0x2d,0x49,0x89,0x9,0x9,0x29,0x11,0x40,0x44,0xf8,0x50,0x64,0xfe,0x80,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x20,0x1b,0x8,0x0,0x7,0xf0,0x11,0x13,0x15,0x19,0x11,0x15,0x19,0x11,0x1,0x40,0x44,0xf8,0x50,0x64,0xfe,0x80,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x42,0x22,0x23,0x2,0x4,0xe0,0x2f,0x20,0x20,0x21,0x29,0x32,0x24,0x8,0x0,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0xc0,0xe0,0x60,0x50,0x4e,0x44,0x40,0x40,
-+0x0,0x4f,0x20,0x21,0x3,0xc,0xe1,0x22,0x2c,0x21,0x22,0x2c,0x21,0x50,0x8f,0x0,0x8,0xfc,0x80,0x0,0x88,0xd8,0x60,0x40,0xe0,0x50,0x48,0x48,0x40,0x86,0xfc,0x0,
-+0x10,0x10,0x10,0x12,0x1f,0x28,0x49,0x8a,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x40,0x40,0x40,0x44,0x7e,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x10,0x12,0x55,0x59,0x51,0x91,0x11,0x11,0x11,0x28,0x24,0x44,0x83,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x24,0x3c,0xe2,0x2,
-+0x2,0x2,0x3f,0x2,0xff,0x2,0xf,0x38,0xc8,0xf,0x8,0x8,0xf,0x20,0x24,0x42,0x0,0x20,0xf0,0x84,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x8,0x84,0x44,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x14,0x18,0x31,0xd0,0x10,0x10,0x10,0x10,0x57,0x20,0x40,0x20,0x4,0xfe,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x7,0x74,0x57,0x54,0x75,0x54,0x55,0x75,0x55,0x54,0x77,0x4a,0x12,0x22,0x2,0x4,0xfe,0x4,0xfc,0x0,0xfc,0x20,0xfc,0x24,0xfc,0x20,0xfe,0x22,0x2a,0xfa,0x6,
-+0x0,0x7,0x74,0x57,0x54,0x55,0x54,0x55,0x55,0x55,0x54,0x77,0x4a,0x12,0x22,0x2,0x4,0xfe,0x4,0xfc,0x0,0xfc,0x20,0xfc,0x24,0xfc,0x20,0xfe,0x22,0x2a,0xfa,0x6,
-+0x2,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x3f,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x8,0x8,0xff,0x9,0x1,0x1f,0x1,0xff,0x1,0x2,0xf,0x18,0x2f,0xc8,0xf,0x8,0x20,0x24,0xfe,0x20,0x10,0xe0,0x44,0xfe,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x30,0x38,0x55,0x50,0x90,0x10,0x10,0x10,0x17,0x10,0x40,0x20,0x24,0xfe,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x2,0x3f,0x22,0x22,0x23,0x3e,0x22,0x22,0x3e,0x22,0x22,0x22,0x2f,0xf0,0x41,0x2,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0x28,0x10,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x54,0x54,0x55,0x7c,0x54,0x10,0x14,0xfc,0x47,0x0,0x40,0x20,0x24,0xfe,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x7e,0x44,0x54,0x55,0x55,0x56,0x54,0x54,0x54,0x54,0x54,0x10,0x2b,0x44,0x84,0x40,0x20,0x20,0x0,0xfe,0x2,0x4,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,
-+0x10,0x10,0x13,0x1c,0x20,0x23,0x7c,0x90,0x13,0xfd,0x12,0x15,0x10,0x14,0x18,0x0,0x40,0x48,0xfc,0x40,0x48,0xfc,0x80,0x84,0xfe,0x8,0x8,0xfe,0x8,0x88,0x48,0x18,
-+0x10,0x12,0x1f,0x28,0x45,0x80,0x8,0x7d,0x11,0x11,0x11,0x11,0x1d,0xf2,0x44,0x8,0x40,0x44,0x7e,0xa0,0x10,0x0,0x10,0xf8,0x10,0x10,0x90,0x50,0x52,0x12,0xe,0x0,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x50,0x90,0x17,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x80,0x40,0x44,0xfe,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x40,0x30,0x17,0x80,0x60,0x20,0x8,0x17,0x20,0xe0,0x20,0x20,0x20,0x2f,0x20,0x80,0x40,0x44,0xfe,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x20,0x13,0x12,0x2,0xfe,0xa,0x12,0x3b,0x56,0x90,0x10,0x11,0x11,0x12,0x14,0x18,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0xa8,0xa0,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x8,0xfc,0x8,0x4b,0x48,0x48,0x48,0x48,0x7d,0x4,0x4,0x1c,0xe4,0x44,0x17,0x8,0x40,0x20,0x24,0xfe,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x14,0x14,0x58,0x20,0x8,0x1c,0xe0,0x50,0x50,0x50,0x50,0x50,0x50,0x48,0x48,0x48,0x44,0x44,0x42,0x40,
-+0x0,0x0,0x1f,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x21,0x21,0x41,0x81,0x1,0x10,0x78,0x80,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x10,0x8,0xe,0x4,0x0,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x17,0x1a,0x32,0xd3,0x12,0x10,0x10,0x10,0x57,0x20,0x40,0x40,0x48,0xfc,0x48,0x48,0xf8,0x48,0x48,0xfc,0x48,0x50,0x20,0xd2,0xa,0x6,
-+0x1,0x1,0x1,0x3f,0x2,0x2,0xff,0x4,0x4,0xf,0x0,0x0,0x0,0x6,0x1,0x0,0x0,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x80,0x40,
-+0x0,0x4,0xfe,0x11,0x10,0x20,0x23,0x7c,0xa4,0x25,0x24,0x24,0x24,0x3c,0x24,0x0,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x80,0x80,0xfc,0x8,0x10,0x90,0x60,0x20,0x10,
-+0x10,0x10,0x10,0xfd,0x20,0x28,0x4b,0x7c,0x8,0x9,0x1c,0xe8,0x48,0x8,0x8,0x8,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x80,0x80,0xfc,0x8,0x10,0x90,0x60,0x20,0x10,
-+0x10,0x17,0x14,0x14,0xff,0x14,0x13,0x19,0x31,0xd7,0x11,0x11,0x1f,0x11,0x52,0x24,0x4,0xbe,0xa4,0xa4,0xbc,0x62,0xde,0x10,0x10,0xfc,0x10,0x14,0xfe,0x10,0xc,0x4,
-+0x0,0x7c,0x47,0x54,0x55,0x54,0x54,0x57,0x54,0x54,0x55,0x54,0x10,0x29,0x46,0x80,0x88,0x50,0xfe,0x50,0xfc,0x54,0x54,0xfe,0x54,0x54,0xfc,0x50,0xd8,0x56,0x54,0x50,
-+0x10,0x1e,0x28,0x4f,0x8,0x1f,0x0,0xff,0x2,0xd,0x71,0x6,0x39,0x6,0x78,0x3,0x40,0x7c,0xa0,0xc0,0x40,0x80,0x84,0xfe,0x10,0x20,0xc0,0xa0,0x90,0x8e,0x84,0x0,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x32,0x3a,0x57,0x52,0x92,0x12,0x14,0x14,0x1b,0x10,0x40,0x20,0x24,0xfe,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x1,0x0,0x0,0x3f,0x20,0x20,0x20,0x20,0x2f,0x20,0x20,0x20,0x40,0x40,0xbf,0x0,0x0,0x80,0x88,0xfc,0x0,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,0x84,0xfe,0x0,
-+0x8,0x48,0x2b,0x8,0x18,0x29,0x4a,0x9,0xff,0x2,0x4,0xc,0x14,0x65,0x6,0x4,0x40,0x48,0xfc,0x40,0x50,0xf8,0x0,0x4,0xfe,0x8,0x90,0xa0,0x40,0x30,0xe,0x4,
-+0x8,0x8,0x8,0x48,0x28,0x2f,0x9,0x9,0x19,0x2a,0x49,0xc8,0x8,0x8,0x9,0xa,0x40,0x40,0x40,0x80,0x84,0xfe,0x8,0x8,0x8,0x8,0x10,0xa0,0x40,0xb0,0xc,0x4,
-+0x10,0x17,0x11,0x10,0xff,0x10,0x17,0x1a,0x33,0xd2,0x13,0x10,0x17,0x10,0x5f,0x20,0x40,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x48,0xf8,0x48,0xf8,0x40,0xfc,0x40,0xfe,0x0,
-+0x10,0x10,0x10,0x90,0x50,0x50,0x1f,0x10,0x30,0x50,0xd0,0x10,0x10,0x17,0x10,0x10,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x48,0xfc,0x0,0x0,
-+0x8,0x8,0x8,0x48,0x28,0x2f,0x8,0x8,0x18,0x28,0x49,0xc9,0x9,0xa,0xc,0x8,0x40,0x50,0x48,0x40,0x44,0xfe,0x40,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,0x0,
-+0x10,0x10,0x10,0x11,0xfd,0x13,0x35,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0xa0,0xa0,0x84,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x10,0x10,0x10,0x1d,0x21,0x23,0x7d,0x91,0x11,0xfd,0x11,0x11,0x15,0x19,0x11,0x1,0xa0,0xa0,0x84,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x0,0x40,0x33,0x12,0x2,0x3,0xf2,0x12,0x13,0x12,0x12,0x12,0x13,0x2a,0x47,0x0,0x40,0x90,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x6,0xfc,0x0,
-+0x8,0x7f,0x8,0x3e,0x8,0xff,0x10,0x1e,0x22,0xcc,0x1f,0x10,0x11,0x11,0x6,0x38,0x40,0x44,0x7e,0x84,0xc4,0x28,0x10,0x28,0x46,0x90,0xf8,0x10,0x10,0x10,0xc0,0x38,
-+0x0,0x7c,0x44,0x48,0x50,0x48,0x45,0x65,0x5a,0x44,0x41,0x5f,0x1,0x1,0xff,0x0,0x40,0x40,0x40,0xa0,0xa0,0xa0,0x10,0x8,0xe,0x4,0x0,0xf0,0x0,0x0,0xfe,0x0,
-+0x10,0x17,0x24,0x22,0x41,0xfa,0x12,0x24,0x47,0xfc,0x4,0x2,0x19,0xe2,0x44,0x8,0x0,0xbc,0xa4,0xa8,0x10,0xa8,0xa6,0x40,0xbc,0xa4,0xa4,0xa8,0x10,0xa8,0x46,0x4,
-+0x0,0x4f,0x30,0x13,0x2,0x2,0xf3,0x10,0x13,0x10,0x10,0x17,0x14,0x18,0x11,0x0,0x44,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x0,0xf8,0x20,0x44,0xfe,0x40,0x40,0x40,0x80,
-+0x1,0x41,0x31,0x13,0x2,0x16,0x1b,0x12,0x22,0xe3,0x22,0x22,0x22,0x23,0x22,0x2,0x40,0x20,0x24,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x12,0x17,0x1a,0x30,0xd2,0x12,0x12,0x13,0x14,0x58,0x20,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x48,0x40,0x48,0x7c,0x40,0x40,0xc6,0x7c,0x0,
-+0x10,0x10,0x12,0x12,0xfe,0x12,0x17,0x18,0x30,0xd4,0x14,0x14,0x14,0x14,0x57,0x20,0x40,0x40,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x1,0x1,0x1,0x1,0x1f,0x10,0x1f,0x10,0x1f,0x11,0x1,0xff,0x1,0x1,0x1,0x1,0x8,0xfc,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x3,0x5,0x9,0x31,0x1,0x8,0xfc,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x0,0x17,0xf8,0x20,0x21,0x22,0x26,0xf9,0x22,0x24,0x20,0x21,0x3a,0xe4,0x41,0x0,0x4,0xfe,0x40,0x80,0x84,0x4c,0xb0,0x20,0xb0,0x68,0xa8,0x24,0x22,0x20,0x40,0x80,
-+0x8,0x8,0xff,0x8,0x1,0x21,0x21,0x21,0x3f,0x1,0x41,0x41,0x41,0x41,0x7f,0x40,0x20,0x24,0xfe,0x20,0x0,0x8,0x8,0x8,0xf8,0x0,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x55,0x63,0x41,0x7f,0x41,0x41,0x7f,0x41,0x20,0xa0,0x20,0x24,0x7e,0x84,0x4,0x44,0x24,0x24,0x4,0x4,0x4,0x4,0x28,0x10,
-+0x0,0xb,0x7c,0x48,0x49,0x4a,0x4e,0x49,0x4a,0x4c,0x48,0x79,0x4a,0x4,0x1,0x0,0x4,0xfe,0x40,0x80,0x84,0x4c,0xb0,0x20,0xb0,0x68,0xa8,0x24,0x22,0x20,0x40,0x80,
-+0x8,0x4,0x7f,0x1,0x3f,0x2,0xff,0x4,0xf,0x18,0x2f,0xc8,0xf,0x8,0xf,0x8,0x20,0x48,0xfc,0x0,0xf8,0x0,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x10,0x10,0x10,0x12,0x54,0x59,0x52,0x90,0x10,0x10,0x10,0x28,0x24,0x44,0x80,0x0,0x40,0x40,0x40,0x44,0xfe,0x4,0x4,0x84,0x44,0x44,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x40,0x30,0x10,0x87,0x64,0x24,0xc,0x14,0x27,0xe4,0x20,0x20,0x20,0x2f,0x24,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x50,0x48,0x7c,0xc4,0x4,
-+0x10,0xc,0x4,0x0,0xff,0x10,0x10,0x22,0x24,0x78,0x8,0x10,0x14,0x22,0x7e,0x2,0x10,0x30,0x40,0x4,0xfe,0x20,0x20,0x44,0x48,0xf0,0x10,0x20,0x28,0x44,0xfc,0x4,
-+0x41,0x31,0x11,0x2,0xa,0xf4,0x20,0x20,0x21,0x26,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0xfc,0x4,0x48,0x40,0xa0,0x90,0xe,0x4,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x41,0x21,0x21,0xa,0x34,0xe0,0x21,0x26,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x0,0x0,0xfc,0x44,0x48,0xa0,0x10,0xe,0xf4,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x20,0x10,0x10,0x5,0xa,0x70,0x10,0x13,0x12,0xff,0x4,0x8,0x4,0x3,0x4,0x38,0x80,0xfc,0x84,0x28,0x20,0x50,0x8e,0x4,0x0,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x44,0x22,0x21,0xf,0x82,0x42,0x44,0x14,0x1f,0x21,0xe2,0x24,0x29,0x2f,0x21,0x20,0x8,0x10,0x24,0xfe,0x10,0x10,0x20,0xa4,0x78,0x8,0x10,0x20,0x44,0x7c,0x4,0x0,
-+0x2,0x42,0x24,0x29,0x84,0x62,0x22,0x8,0x17,0x24,0xe4,0x27,0x24,0x24,0x27,0x24,0x48,0x48,0x90,0x20,0x90,0x48,0x48,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x0,0x0,0xfe,0x4,0x8,0x11,0x15,0x1a,0xf0,0x50,0x10,0x10,0x10,0x10,0x51,0x26,0x80,0x80,0x80,0x84,0xfe,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0x28,0x2e,0x28,0x2e,0xf8,0x42,0x4,0x3f,0x1,0x2,0x3f,0x1,0x9,0x11,0x23,0x80,0x80,0x98,0xe2,0x82,0x7e,0x0,0x10,0xe0,0x0,0x10,0xf8,0x8,0x20,0x18,0x8,
-+0x8,0xb,0x8,0x10,0x10,0x30,0x50,0x9f,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x10,0x0,0xf8,0x8,0x10,0x20,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x10,0x11,0x52,0x34,0x18,0xfe,0x10,0x33,0x38,0x54,0x54,0x90,0x10,0x10,0x10,0x10,0x0,0xfc,0x4,0x8,0x10,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x40,0x37,0x14,0x88,0x67,0x20,0x9,0x10,0x2f,0xe0,0x20,0x27,0x20,0x20,0x20,0x80,0x40,0xfe,0x2,0x44,0xfc,0x0,0x10,0xa4,0xfe,0x40,0x48,0xfc,0x40,0x40,0x40,
-+0x0,0x3f,0x0,0x0,0x0,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0xf0,0x10,0x20,0x40,0x80,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x2,0x4,0x1f,0x10,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x47,0x30,0x13,0x80,0x6f,0x20,0xb,0x12,0x22,0xe2,0x22,0x22,0x20,0x23,0x2c,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x2,0x1,0x3f,0x20,0x40,0x1f,0x0,0x0,0x1,0xff,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0x0,0xfc,0x4,0x8,0xe0,0x40,0x80,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x13,0x1c,0x10,0x7f,0x14,0x3e,0x1,0x7f,0x40,0x9f,0x0,0x7f,0x9,0x11,0x23,0x4,0x18,0x64,0x18,0x64,0x18,0x60,0x0,0xfe,0x2,0xf4,0x0,0xfc,0x20,0x18,0x8,
-+0x10,0x10,0x13,0x12,0xfc,0x11,0x30,0x38,0x57,0x50,0x90,0x11,0x11,0x12,0x10,0x10,0x40,0x20,0xfe,0x2,0x4,0xfc,0x0,0x4,0xfe,0x20,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x0,0x78,0x4b,0x4a,0x4c,0x79,0x50,0x10,0x13,0x5c,0x50,0x51,0x5d,0xf2,0x40,0x0,0x40,0x20,0xfe,0x2,0x4,0xfc,0x0,0x4,0xfe,0x20,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x2,0x1,0x7f,0x40,0x80,0x1f,0x0,0x0,0xff,0x1,0x9,0x9,0x11,0x21,0x5,0x2,0x0,0x0,0xfe,0x2,0x24,0xf0,0x0,0x4,0xfe,0x0,0x20,0x10,0x8,0x8,0x0,0x0,
-+0x10,0x10,0x23,0x22,0x44,0xf9,0x10,0x20,0x43,0xf8,0x0,0x1,0x19,0xe2,0x40,0x0,0x40,0x20,0xfe,0x2,0x4,0xfc,0x0,0x4,0xfe,0x20,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x10,0x8,0x4,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x2,0x51,0x50,0x90,0xf,0x0,0x10,0x20,0x40,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x0,0x84,0x92,0x12,0xf0,0x0,
-+0x11,0x11,0x21,0x21,0x45,0xf9,0x11,0x21,0x41,0xfd,0x42,0x2,0x1c,0xe4,0x48,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xa8,0xa8,0x48,0x44,0x82,0x0,
-+0x10,0x10,0x10,0x3f,0x42,0x84,0x7f,0x1,0x1,0x3f,0x1,0x1,0x7f,0x1,0x0,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x1,0x1,0x1,0x3f,0x1,0x1,0xff,0x1,0x9,0x9,0x9,0x9,0x9,0x15,0x23,0x40,0x0,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x0,0x10,0xf8,0x0,0x0,0x6,0xfc,0x0,
-+0x1,0x1,0x7f,0x1,0x3f,0x2,0xff,0x4,0x8,0x37,0xc1,0x1f,0x1,0x2,0x4,0x38,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x30,0xce,0x4,0xf0,0x0,0xc0,0x30,0x8,
-+0x10,0x10,0x17,0x10,0xfb,0x10,0x17,0x19,0x32,0xdd,0x10,0x17,0x10,0x10,0x51,0x26,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0x10,0xe,0xf4,0x40,0xfc,0x40,0xb0,0xc,0x4,
-+0x8,0x1c,0xf1,0x11,0x15,0xff,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x1f,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x0,0x1f,0x10,0x10,0x10,0x10,0x1f,0x11,0x1,0x11,0x11,0x11,0x11,0x29,0x47,0x80,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x10,0xf8,0x0,0x0,0x6,0xfc,0x0,
-+0x2,0x1,0x7f,0x8,0x8,0x8,0x14,0x22,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x0,0x8,0xfc,0x20,0x20,0x20,0x50,0x88,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x18,0x8,0x0,0xfe,0x21,0x20,0x3c,0x24,0x25,0x27,0x24,0x44,0x44,0x94,0x9,0x40,0x40,0x48,0x7c,0x80,0x48,0x7c,0xa0,0xa0,0x24,0xfe,0x20,0x50,0x50,0x8e,0x4,
-+0x20,0x10,0x11,0x1,0xfd,0x9,0x11,0x39,0x55,0x91,0x11,0x11,0x11,0x11,0x17,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x40,0x30,0x11,0x1,0x1,0xf1,0x11,0x11,0x11,0x11,0x11,0x13,0x15,0x19,0x17,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x0,0x7c,0x45,0x49,0x49,0x51,0x49,0x49,0x45,0x45,0x45,0x69,0x51,0x41,0x47,0x40,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x10,0x10,0x21,0x21,0x45,0xf9,0x11,0x21,0x41,0xfd,0x41,0x1,0x1d,0xe1,0x47,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x10,0x10,0x10,0x1e,0x20,0x20,0x7c,0x91,0x11,0xff,0x11,0x13,0x15,0x19,0x11,0x1,0x20,0x20,0x24,0x3e,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x3e,0x48,0x9f,0x12,0x10,0x1f,0x8,0xff,0x14,0x2f,0x41,0x9f,0x5,0x9,0x13,0x40,0x7e,0x90,0xf0,0x10,0x90,0xf0,0x4,0xfe,0x50,0x88,0x2e,0xe4,0x40,0x30,0x10,
-+0x1,0x5,0x75,0x55,0x55,0x5f,0x51,0x52,0x57,0x5a,0x53,0x72,0x43,0x2,0x4,0x8,0x20,0x20,0xe6,0x38,0xe2,0x1e,0xf0,0x28,0xfc,0x48,0xf8,0x48,0xf8,0x48,0x48,0x58,
-+0x4,0xfe,0x29,0x28,0xfe,0xaa,0xaa,0xab,0xa6,0xc2,0x83,0xfe,0x82,0x82,0xfe,0x82,0x20,0x24,0xfe,0x0,0x88,0x88,0x88,0x54,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x1f,0x10,0x1f,0x10,0x1f,0x0,0xff,0x22,0x3f,0x22,0x3e,0x22,0x3e,0xe2,0x2,0x3,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0xfc,0x84,0x88,0x50,0x20,0x58,0x8e,0x4,
-+0x0,0x7f,0x44,0x44,0x7f,0x0,0x4,0xfc,0x4,0x4,0x7c,0x4,0x4,0xfc,0x4,0x4,0x4,0xfe,0x44,0x44,0xfc,0x0,0x44,0x7e,0x40,0x48,0x7c,0x40,0x44,0x7e,0x40,0x40,
-+0x8,0x7f,0x4,0x3f,0x24,0x24,0x28,0x3f,0x20,0x3f,0x0,0xff,0x8,0x4,0x4,0x0,0x40,0xfc,0x80,0xf8,0x88,0xe8,0x8,0xf8,0x8,0xf8,0x20,0xfe,0x20,0x20,0xa0,0x40,
-+0x2,0x5f,0x21,0x2f,0x9,0xa,0xe8,0x2b,0x28,0x2f,0x20,0x3f,0x24,0x22,0x50,0x8f,0x20,0xfc,0x40,0xf8,0x48,0x38,0x8,0xe8,0x8,0xf8,0x20,0xfe,0x20,0xa0,0x46,0xfc,
-+0x1,0x9,0x7d,0x49,0x4a,0x4c,0x48,0x78,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x0,0x4,0xfe,0x80,0x80,0x90,0xf8,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x2,0x2,0x2,0xff,0x4,0x4,0x4,0x8,0xf,0x10,0x10,0x20,0x40,0x80,0x7f,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x10,0xf8,0x80,0x80,0x80,0x80,0x84,0xfe,0x0,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x51,0x91,0x11,0x12,0x14,0x18,0x10,0x10,0x17,0x10,0x80,0x80,0x84,0xfe,0x80,0x80,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x11,0x11,0x11,0x11,0xfe,0x14,0x30,0x38,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x4,0xfe,0x80,0x80,0x90,0xf8,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x10,0x12,0x12,0x22,0x3f,0x62,0xa2,0x22,0x2f,0x28,0x28,0x28,0x28,0x2f,0x28,0x20,0x20,0x20,0x20,0x24,0xfe,0x84,0x44,0x44,0xc8,0xa8,0xa8,0x90,0xa8,0xa8,0x46,0x84,
-+0x9,0x9,0x9,0x11,0x12,0x32,0x54,0x98,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x4,0xfe,0x80,0x80,0x90,0xf8,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x1,0x1,0x11,0x11,0x11,0x29,0x25,0x45,0x81,0x1,0x3f,0x1,0x1,0x1,0xff,0x0,0x0,0x0,0x10,0x10,0x10,0x28,0x24,0x44,0x80,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,
-+0x1,0x0,0x3f,0x20,0x24,0x24,0x24,0x2a,0x29,0x31,0x20,0x2f,0x40,0x40,0xbf,0x0,0x0,0x84,0xfe,0x80,0x90,0x90,0x90,0xa8,0xa4,0xc4,0x90,0xf8,0x80,0x84,0xfe,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x0,0x0,0x0,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x8,0xfc,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0xff,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0xff,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0xff,0x1,0x1,0x21,0x21,0x21,0x21,0x3f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x8,0x8,0x8,0x8,0xff,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xf,0x8,0x0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,
-+0x10,0x11,0x11,0x11,0x11,0x11,0x11,0xff,0x11,0x11,0x11,0x11,0x11,0x21,0x20,0x40,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x7f,0x0,0x0,0x1,0x3,0x5,0x9,0x11,0x21,0x41,0x1,0x1,0x1,0xff,0x0,0x8,0xfc,0x80,0x80,0x0,0x0,0x60,0x10,0x8,0x4,0x4,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x7f,0x0,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0xff,0x0,0x8,0xfc,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x0,0x4,0xfe,0x0,
-+0x0,0x3f,0x0,0x0,0x1,0x7d,0x5,0x9,0x9,0x11,0x11,0x21,0x45,0x2,0xff,0x0,0x20,0xf0,0x40,0x80,0x8,0x18,0xa0,0x40,0x20,0x10,0xe,0x4,0x0,0x4,0xfe,0x0,
-+0x0,0xff,0x0,0x1f,0x10,0x10,0x1f,0x0,0x7f,0x44,0x42,0x5f,0x41,0x41,0x41,0x40,0x4,0xfe,0x0,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x44,0x84,0xf4,0x4,0x4,0x14,0x8,
-+0x0,0x7f,0x3,0x5,0x19,0x61,0x10,0x10,0xfe,0x22,0x22,0x23,0x14,0x8,0x14,0x62,0x8,0xfc,0x0,0x60,0x18,0x4,0x0,0xf8,0x8,0x10,0x24,0xfe,0x20,0x20,0xa0,0x40,
-+0x0,0xff,0x1,0x3d,0x25,0x3d,0x1,0x7f,0x1,0x3d,0x25,0x25,0x3d,0x1,0xff,0x0,0x4,0xfe,0x0,0x78,0x48,0x78,0x0,0xfc,0x0,0x78,0x48,0x48,0x78,0x4,0xfe,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x1,0x7f,0x41,0x41,0x4f,0x40,0x40,0x40,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x4,0x24,0xe4,0x24,0x14,0x8,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x2,0x2,0x4,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x18,0x10,0x10,0x10,0x10,0x10,0xf,0x0,0x0,0x0,0x20,0x60,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xfc,0x0,
-+0x0,0x3,0x7e,0x2,0x2,0x2,0x2,0x3,0xfe,0x2,0x2,0x2,0x2,0x2,0x2,0x1,0x10,0xf8,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,
-+0x0,0x1,0x3f,0x1,0x1,0x1,0x1,0xff,0x1,0x2,0x2,0x4,0x4,0x8,0x30,0xc0,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x80,0x80,0x40,0x20,0x10,0xe,0x4,
-+0x0,0x10,0xc,0x2,0x1,0x2,0xc,0x70,0x8,0x4,0x2,0x1,0x2,0xc,0x30,0xc0,0x10,0x30,0x40,0x80,0x0,0xc0,0x30,0x28,0x40,0x40,0x80,0x0,0x80,0x60,0x1e,0x4,
-+0x0,0x1,0x3e,0x20,0x3f,0x20,0x20,0x27,0x24,0x24,0x24,0x24,0x44,0x44,0x84,0x3,0x10,0xf8,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x90,0x50,0x20,0x2,0x2,0xfe,
-+0x0,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x20,0x20,0x22,0x24,0x28,0x33,0x20,0x0,0x10,0xf8,0x80,0x80,0x80,0x84,0xfe,0x80,0x80,0x40,0x40,0x20,0x20,0x12,0x8a,0x6,
-+0x2,0x2,0x4,0x3f,0x20,0x28,0x24,0x22,0x21,0x22,0x24,0x28,0x30,0x20,0x3f,0x20,0x0,0x0,0x8,0xfc,0x8,0x28,0x48,0x88,0x8,0x88,0x48,0x28,0x18,0x8,0xf8,0x8,
-+0x1,0x12,0x14,0x1f,0x11,0x12,0x1f,0x10,0x17,0x14,0x17,0x24,0x27,0x44,0x85,0x4,0x0,0x10,0x50,0x90,0x10,0x50,0xf0,0x10,0xd0,0x50,0xd0,0x50,0xd2,0x52,0x4e,0x80,
-+0x10,0x10,0x10,0x13,0xfc,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x24,0x24,0x43,0x80,0x0,0x88,0x50,0xfe,0x20,0xf8,0x88,0xf8,0x88,0xf8,0x88,0xf8,0x8a,0x2,0xfe,0x0,
-+0x20,0x20,0x24,0x7f,0x80,0x7c,0x44,0x55,0x44,0xfe,0x44,0x54,0x44,0x7e,0x5,0x1a,0x40,0x20,0x24,0xfe,0x40,0x50,0x88,0xfc,0x0,0xa8,0xa8,0xa8,0xaa,0xaa,0x2e,0x0,
-+0x4,0x8,0x3f,0x24,0x3f,0x1,0x1f,0x1,0xff,0x4,0x1f,0x1,0x7f,0x1,0x1,0x1,0x0,0x8,0xfc,0x48,0xf8,0x0,0xf0,0x4,0xfe,0x40,0xf0,0x0,0xfc,0x0,0x0,0x0,
-+0x12,0xa,0x12,0x2,0x3c,0x8,0x7e,0x9,0xff,0x0,0x3e,0x22,0x3e,0x14,0x7e,0x1,0x48,0x50,0x48,0x44,0x3c,0x20,0x28,0xfc,0x20,0xf8,0x88,0x88,0x50,0x20,0x50,0x8e,
-+0x0,0x0,0x0,0x0,0x0,0x4,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x0,0x0,0x1,0x3d,0x25,0x25,0x25,0x25,0x25,0x3d,0x1,0x2,0xff,0x0,0x20,0xf0,0x40,0x80,0x8,0x7c,0x8,0x48,0x30,0x10,0x28,0x48,0x0,0x4,0xfe,0x0,
-+0x7f,0x10,0x17,0x14,0x27,0x24,0x57,0x94,0x17,0x10,0x1e,0x2,0x7e,0x12,0x12,0x62,0xf0,0x10,0xd4,0x5e,0xc4,0x44,0xd4,0x5c,0xd0,0x10,0xf0,0x80,0xf8,0x88,0x88,0x88,
-+0x0,0x8,0x8,0x8,0x8,0x9,0xe,0x18,0x68,0x8,0x8,0x8,0x8,0x8,0x7,0x0,0x0,0x0,0x0,0x20,0x70,0xa0,0x20,0x20,0x20,0x20,0xa0,0x44,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x12,0x1f,0x10,0x10,0x10,0x12,0x7f,0x42,0x42,0x42,0x42,0x42,0x7e,0x42,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x42,0x3e,0x0,
-+0x0,0x3f,0x0,0x0,0x0,0xff,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x10,0xf8,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x9,0x9,0x79,0x9,0x9,0x9,0x7f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x0,0x20,0x28,0x3c,0x20,0x20,0x28,0xfc,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x7f,0x1,0x41,0x7f,0x40,0x9f,0x0,0x1,0x1,0xff,0x1,0x1,0x5,0x2,0x0,0x8,0xfc,0x0,0x0,0xfe,0x2,0xe4,0x40,0x80,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x7f,0x1,0x9,0x5,0xff,0x0,0x3f,0x20,0x27,0x24,0x27,0x20,0x3f,0x20,0x0,0x8,0xfc,0x0,0x20,0x44,0xfe,0x0,0xf8,0x8,0xc8,0x48,0xc8,0x8,0xf8,0x8,
-+0x20,0x27,0x24,0xfc,0x24,0x27,0x24,0x74,0x57,0x54,0x54,0x57,0x74,0x54,0x4,0x4,0x4,0xbe,0x84,0x84,0x84,0xbc,0x84,0x0,0xbc,0x4,0x24,0xa8,0x10,0x28,0x2e,0xc4,
-+0x0,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x21,0x22,0x22,0x44,0x48,0x90,0x20,0x8,0xfc,0x0,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0xe,0x4,
-+0x0,0x3f,0x21,0x21,0x2f,0x22,0x22,0x24,0x2f,0x20,0x20,0x3f,0x40,0x40,0x80,0x0,0x8,0xfc,0x0,0x8,0xfc,0x40,0x40,0x50,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x3f,0x22,0x22,0x2f,0x22,0x3f,0x20,0x27,0x24,0x24,0x27,0x44,0x44,0x87,0x4,0x8,0xfc,0x20,0x28,0xfc,0x20,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x3f,0x20,0x20,0x2f,0x21,0x3e,0x20,0x2f,0x28,0x2f,0x28,0x4f,0x48,0x80,0x0,0x8,0xfc,0xa0,0x90,0xfc,0x40,0x3c,0x8,0xfc,0x88,0xf8,0x88,0xf8,0x88,0x80,0x80,
-+0x0,0x3f,0x20,0x28,0x25,0x3f,0x22,0x2a,0x2a,0x2a,0x2f,0x22,0x42,0x44,0x88,0x10,0x8,0xfc,0x20,0xa0,0x20,0xbe,0x22,0xd4,0x90,0x90,0x90,0x90,0x28,0x28,0x44,0x82,
-+0x0,0x3f,0x29,0x29,0x3f,0x29,0x2f,0x29,0x2f,0x29,0x29,0x3f,0x42,0x49,0x90,0x1,0x8,0xfc,0x0,0xc,0xf0,0x40,0x44,0x7e,0x48,0x48,0x48,0xc8,0x48,0x48,0x88,0x8,
-+0x0,0x3f,0x20,0x2f,0x21,0x26,0x38,0x2f,0x20,0x2f,0x29,0x29,0x49,0x49,0x89,0xf,0x8,0xfc,0xa0,0xfc,0x40,0x30,0xe,0xfc,0x80,0xfc,0x24,0xe4,0x24,0xe4,0x24,0xfc,
-+0x0,0x3f,0x22,0x24,0x2d,0x36,0x24,0x24,0x24,0x2f,0x28,0x28,0x48,0x41,0x86,0x18,0x8,0xfc,0x50,0xfc,0x90,0xfc,0x90,0x9e,0x80,0xf8,0x8,0x88,0x88,0x60,0x18,0x4,
-+0x0,0x7f,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7f,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x7f,0x40,0x40,0x47,0x44,0x44,0x44,0x44,0x44,0x47,0x44,0x40,0x40,0x7f,0x0,0x8,0xfc,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,0x0,0x4,0xfe,0x0,
-+0x0,0x7f,0x48,0x4a,0x7f,0x50,0x54,0x7f,0x44,0x44,0x7f,0x44,0x44,0x45,0x7f,0x0,0x8,0xfc,0x40,0x40,0x50,0xf8,0x50,0x50,0x50,0x50,0x54,0x54,0x8c,0x0,0xfe,0x0,
-+0x0,0x7f,0x40,0x4f,0x48,0x4f,0x40,0x7f,0x40,0x4f,0x48,0x48,0x43,0x4c,0x7f,0x0,0x8,0xfc,0x80,0xf8,0x88,0xf8,0x80,0xfc,0x8,0xfc,0x88,0x88,0x60,0x18,0xfe,0x0,
-+0x0,0x7f,0x40,0x4f,0x48,0x4f,0x48,0x4f,0x59,0x69,0x4f,0x49,0x49,0x48,0x7f,0x0,0x8,0xfc,0x80,0xf8,0x8,0xf8,0x0,0xfc,0x24,0x24,0xfc,0x24,0x2c,0x4,0xfe,0x0,
-+0x0,0x4,0x7f,0x48,0x49,0x48,0x5f,0x54,0x55,0x55,0x5d,0x49,0x49,0x48,0x7e,0x1,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x4,0xfe,0x4,0x24,0x24,0x24,0x50,0x4c,0x84,
-+0x8,0x8,0xa,0x7f,0x8,0x9,0xff,0x8,0xa,0x7f,0x8,0x8,0xf,0x78,0x20,0x0,0x40,0x40,0x40,0x40,0x40,0x60,0xd0,0x48,0x44,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x1,0x1,0x1,0x1,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x0,0x8,0xfc,0x0,0x8,0xfc,0x8,0x88,0xc8,0x88,0x88,0x88,0x88,0x8,0xf8,0x8,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x0,0x41,0x21,0x11,0x12,0xa,0xa,0x4,0x4,0xa,0x9,0x11,0x10,0x20,0x40,0x0,0x4,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x84,0x84,0x14,0x8,
-+0x20,0x20,0x20,0x3f,0x2a,0x4a,0x4a,0x8a,0x12,0x14,0x14,0x24,0x48,0x12,0x1,0x0,0x4,0x4,0xa4,0xe4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x84,0x84,0x14,0x8,
-+0x0,0x7f,0x1,0x2,0x4,0xb,0x30,0xc0,0x3f,0x4,0x4,0x4,0x7,0x7c,0x20,0x0,0x4,0x84,0x4,0x24,0x24,0x24,0xa4,0x24,0xa4,0x24,0x24,0x4,0x84,0x4,0x14,0x8,
-+0x8,0x9,0xff,0x14,0x12,0x21,0xde,0x0,0xff,0x10,0x3f,0x1,0x1,0x11,0xa,0x4,0x4,0x4,0x84,0x24,0x24,0xa4,0xa4,0x24,0xa4,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x4,0x4,0x24,0x24,0x3f,0x8,0x8,0xf,0x10,0x11,0x31,0x4a,0x4,0x8,0x10,0x60,0x4,0x4,0x84,0xa4,0xa4,0xa4,0x24,0xa4,0xa4,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x8,0x8,0x49,0x49,0x7f,0x0,0x7f,0x1,0x1,0x3f,0x21,0x20,0x21,0x26,0x38,0x0,0x4,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x84,0x4,0x14,0x8,
-+0x8,0x9,0xff,0x8,0x9,0x7f,0x49,0x49,0x7f,0x59,0x1c,0x2a,0x29,0x49,0x88,0x8,0x4,0x4,0x84,0x24,0x24,0xa4,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x8,0x9,0xff,0x8,0x14,0x22,0xff,0x1,0x3d,0x25,0x25,0x25,0x3d,0x21,0x5,0x2,0x4,0x4,0x84,0x24,0x24,0xa4,0xe4,0x24,0x24,0x24,0x24,0x4,0x4,0x4,0x14,0x8,
-+0x8,0x49,0x29,0x2a,0x8,0x16,0x21,0xc8,0x8,0x29,0x2a,0x48,0x16,0x21,0xc0,0x0,0x4,0x4,0x4,0x24,0x24,0x24,0xa4,0xa4,0x24,0x24,0x24,0x4,0x4,0x84,0x94,0x8,
-+0x8,0x44,0x7f,0x40,0xa0,0x3b,0x2a,0x4a,0x6a,0x93,0x12,0x22,0x22,0x42,0x83,0x0,0x4,0x4,0xc4,0x54,0x94,0xd4,0x94,0x94,0x94,0x94,0x14,0x4,0x44,0x84,0x14,0x8,
-+0x11,0x11,0xff,0x11,0x7b,0x4a,0x4a,0x7b,0x4a,0x4a,0x7b,0x4a,0x4a,0x4a,0x9c,0x8,0x4,0x44,0xe4,0x14,0xd4,0x54,0x54,0xd4,0x54,0x54,0xd4,0x44,0x44,0x44,0xd4,0x48,
-+0x0,0xff,0xa,0xa,0x7f,0x4a,0x4a,0x7f,0x0,0x7f,0x0,0xff,0x15,0x24,0x44,0xc,0x84,0xc4,0x4,0x54,0xf4,0x54,0x54,0xd4,0x14,0xd4,0x14,0xe4,0x4,0xc4,0x54,0x8,
-+0x0,0x7f,0x40,0x51,0x4a,0x7f,0x44,0x55,0x55,0x55,0x5f,0x44,0x44,0x48,0x91,0x22,0x22,0xf2,0x2,0x4a,0x4a,0x7a,0x9a,0xa,0x4a,0x4a,0x4a,0x4a,0xa2,0x92,0x16,0x2,
-+0x4,0x25,0x3f,0x24,0x25,0x7f,0xa4,0x25,0x3f,0x24,0x25,0x3f,0x20,0x54,0x4a,0x8a,0x4,0x4,0x84,0x24,0x24,0xa4,0x24,0x24,0xa4,0x24,0x24,0x84,0x4,0x84,0x54,0x48,
-+0x11,0x7f,0x11,0x12,0x3f,0x52,0x1f,0x12,0x13,0x10,0x3f,0x11,0xa,0x4,0x1b,0x60,0x4,0xc4,0x4,0x24,0xa4,0x24,0xa4,0x24,0xa4,0x24,0xa4,0x4,0x4,0x4,0x14,0x88,
-+0x4,0x3f,0x28,0x24,0x3f,0x0,0x7f,0x44,0x7f,0x44,0x7f,0x0,0xff,0x11,0x11,0x21,0x4,0x84,0x84,0x94,0x94,0x14,0xd4,0x54,0xd4,0x54,0xd4,0x4,0xc4,0x4,0x14,0x8,
-+0x0,0x7f,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x0,0x7f,0x48,0x44,0x42,0x5f,0x42,0x41,0x5f,0x48,0x48,0x48,0x4f,0x40,0x40,0x40,0x4,0xfe,0x24,0x44,0x84,0xf4,0x4,0x24,0xf4,0x4,0x4,0x44,0xe4,0x4,0x14,0x8,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0xb,0x10,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x11,0x10,0x10,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x8,0x8,0x9,0x11,0x11,0x31,0x51,0x91,0x11,0x11,0x11,0x11,0x12,0x12,0x14,0x18,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x8,0x8,0x8,0x10,0x17,0x30,0x50,0x90,0x10,0x10,0x11,0x11,0x11,0x12,0x14,0x18,0x80,0x80,0x80,0x84,0xfe,0x84,0x84,0x84,0x84,0x84,0x4,0x4,0x4,0x48,0x28,0x10,
-+0x8,0x8,0xb,0x10,0x10,0x30,0x50,0x93,0x10,0x10,0x10,0x10,0x10,0x17,0x10,0x10,0x0,0x8,0xfc,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,
-+0x9,0x9,0x9,0x12,0x12,0x37,0x58,0x90,0x10,0x10,0x11,0x12,0x12,0x12,0x11,0x10,0x0,0x8,0xfc,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x51,0x92,0x14,0x18,0x11,0x12,0x14,0x17,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0xa0,0x20,0x40,0x40,0x80,0x0,0x10,0x8,0xfc,0x4,0x0,
-+0x8,0x8,0xf,0x10,0x10,0x32,0x52,0x92,0x12,0x14,0x10,0x11,0x11,0x12,0x14,0x18,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x4,0x4,0x28,0x10,
-+0x8,0x8,0xb,0x12,0x12,0x32,0x52,0x92,0x12,0x12,0x12,0x12,0x13,0x12,0x13,0x10,0x0,0x8,0xfc,0x0,0x8,0x88,0x50,0x50,0x20,0x20,0x50,0x88,0x8,0x4,0xfe,0x0,
-+0x8,0xa,0xa,0x12,0x12,0x32,0x53,0x92,0x12,0x12,0x12,0x12,0x12,0x13,0x12,0x10,0x20,0x20,0x20,0x20,0x22,0x24,0xb8,0x20,0x20,0x20,0x20,0x20,0x20,0xa2,0x22,0x1e,
-+0x8,0x8,0xb,0x10,0x11,0x31,0x53,0x90,0x10,0x10,0x10,0x11,0x12,0x14,0x10,0x10,0x0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x30,0x30,0x50,0x90,0x10,0x10,0x10,0x50,0x20,
-+0x8,0x8,0xf,0x11,0x11,0x31,0x51,0x91,0x11,0x12,0x12,0x12,0x13,0x16,0x10,0x10,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x90,0x50,0x30,0x10,0xd2,0x12,0xe,0x0,
-+0x9,0x9,0xa,0x13,0x14,0x38,0x50,0x90,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x9,0x9,0x9,0x11,0x11,0x31,0x51,0x9f,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x0,0x8,0x10,0x20,0x40,0x80,0x4,0xfe,0x40,0x40,0x20,0x10,0x8,0x46,0x84,0x0,
-+0x8,0x8,0x8,0x10,0x11,0x32,0x54,0x99,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,0xf0,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,0x0,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x51,0x91,0x11,0x11,0x11,0x11,0x12,0x12,0x14,0x18,0x80,0x40,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x8,0x8,0x8,0x13,0x12,0x34,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x10,0x80,0x40,0x40,0xfc,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,
-+0x8,0xb,0x8,0x10,0x17,0x30,0x50,0x9f,0x11,0x11,0x12,0x11,0x10,0x10,0x11,0x16,0x10,0xf8,0x0,0x8,0xfc,0x80,0x84,0xfe,0x10,0x10,0x10,0xa0,0x40,0xa0,0x18,0x4,
-+0x8,0x8,0x8,0x10,0x10,0x30,0x50,0x9f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x90,0xf8,0x80,0x80,0x84,0xfe,0x80,0xc0,0xa0,0x98,0x88,0x80,0x80,0x80,
-+0x8,0x8,0x8,0x10,0x15,0x35,0x56,0x94,0x14,0x14,0x14,0x14,0x14,0x10,0x11,0x16,0x80,0x80,0x80,0x84,0xfe,0x8,0x88,0x88,0x88,0x50,0x50,0x20,0x50,0x90,0xe,0x4,
-+0x8,0x8,0xa,0x12,0x13,0x34,0x58,0x90,0x1f,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0xe,0x4,
-+0x9,0x9,0x9,0x13,0x12,0x34,0x5b,0x92,0x12,0x12,0x12,0x13,0x12,0x10,0x10,0x10,0x0,0x0,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x24,0x44,0x28,0x10,
-+0x9,0x9,0x9,0x12,0x15,0x38,0x50,0x90,0x11,0x12,0x1c,0x10,0x11,0x10,0x10,0x10,0x0,0x0,0xf8,0x8,0x10,0xa0,0x40,0xa0,0x10,0x8e,0x64,0x20,0x80,0x60,0x30,0x10,
-+0x8,0x8,0x8,0x13,0x12,0x35,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x80,0x40,0x40,0xfc,0x4,0x8,0x0,0x10,0x30,0x40,0x80,0x0,0x4,0x4,0xfc,0x0,
-+0x8,0xb,0xa,0x12,0x12,0x33,0x52,0x92,0x12,0x12,0x12,0x12,0x14,0x14,0x18,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x80,0x88,0x98,0xa0,0xc0,0x82,0x82,0x7e,0x0,
-+0x14,0x14,0x14,0x24,0x3f,0x64,0xa4,0x24,0x24,0x24,0x24,0x24,0x28,0x28,0x32,0x21,0x0,0x0,0x4,0xbe,0xe4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xbc,0xa4,0x0,
-+0x8,0x8,0x8,0x1f,0x10,0x30,0x57,0x90,0x10,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0xf,0x9,0x11,0x11,0x31,0x51,0x91,0x11,0x11,0x11,0x17,0x10,0x10,0x10,0x10,0x4,0xfe,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x7e,0x88,0x8,0x8,0x8,0x8,
-+0x8,0x8,0x8,0x17,0x11,0x31,0x53,0x95,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x80,0x80,0x84,0xfe,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x28,0x10,
-+0x8,0x8,0x8,0x1f,0x10,0x31,0x52,0x9c,0x13,0x11,0x11,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0x44,0xfe,0xa0,0x10,0xee,0x4,0xf8,0x0,0xf8,0x8,0x8,0x90,0x50,0x20,
-+0x8,0xb,0xa,0x12,0x12,0x33,0x50,0x92,0x12,0x12,0x12,0x12,0x12,0x14,0x18,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x48,0x48,0x48,0x48,0x48,0x4a,0x4a,0x4e,0x0,
-+0x8,0xa,0xa,0x13,0x14,0x38,0x50,0x9f,0x10,0x10,0x11,0x12,0x14,0x18,0x10,0x10,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0xc0,0xe0,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x8,0x9,0x9,0x12,0x14,0x3b,0x52,0x92,0x13,0x12,0x12,0x13,0x12,0x12,0x12,0x12,0x40,0x40,0x20,0x10,0xe,0xf4,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x8,0x8,0x8,0x14,0x12,0x32,0x50,0x91,0x12,0x14,0x10,0x11,0x11,0x12,0x14,0x18,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xb0,0xac,0xa4,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x8,0x8,0xf,0x11,0x10,0x30,0x50,0x93,0x1d,0x11,0x11,0x11,0x11,0x11,0x12,0x14,0x40,0x28,0xfc,0x10,0xa0,0x40,0xb0,0xe,0x14,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x8,0x8,0x8,0x17,0x11,0x31,0x52,0x95,0x11,0x10,0x10,0x10,0x10,0x11,0x12,0x1c,0x80,0x40,0x48,0xfc,0x20,0x10,0xc,0x14,0x10,0xa0,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x8,0x8,0x8,0x17,0x14,0x38,0x51,0x91,0x13,0x15,0x19,0x11,0x11,0x11,0x11,0x11,0x40,0x40,0x40,0xfe,0x82,0x84,0x40,0x48,0x30,0x20,0x10,0x10,0x8,0x4e,0x84,0x0,
-+0x8,0x8,0x9,0x12,0x17,0x32,0x52,0x93,0x14,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x10,0x8,0xfc,0x44,0x50,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x8,0x8,0xf,0x10,0x17,0x31,0x5f,0x91,0x12,0x13,0x15,0x18,0x10,0x10,0x10,0x10,0x80,0x88,0xfc,0x80,0xf8,0x0,0xfe,0x10,0x14,0xfe,0x10,0x90,0x90,0x10,0x50,0x20,
-+0x8,0xf,0x8,0x14,0x12,0x30,0x57,0x94,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x18,0x8,0xfc,0xa0,0xa4,0xa8,0xa0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0xf,0x10,0x10,0x37,0x54,0x94,0x16,0x15,0x14,0x14,0x14,0x14,0x14,0x15,0x0,0x4,0xfe,0x0,0x4,0xbe,0xa4,0xa4,0xb4,0xac,0xa4,0xa4,0xa4,0xa4,0xa4,0xac,
-+0x8,0x8,0x8,0x10,0x17,0x30,0x54,0x92,0x12,0x10,0x11,0x12,0x14,0x10,0x11,0x10,0x40,0x50,0x48,0x48,0xfe,0x40,0x48,0x50,0x60,0xd0,0x50,0x48,0x4e,0x44,0x40,0x80,
-+0x8,0x8,0xf,0x14,0x14,0x37,0x54,0x94,0x17,0x14,0x10,0x17,0x10,0x10,0x1f,0x10,0x0,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x40,0xfc,0x40,0x44,0xfe,0x0,
-+0x8,0xb,0xa,0x12,0x12,0x33,0x50,0x97,0x10,0x10,0x1f,0x10,0x10,0x11,0x12,0x1c,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0xfc,0x40,0x44,0xfe,0xa0,0xa0,0x10,0xe,0x4,
-+0x8,0x8,0xb,0x12,0x13,0x32,0x53,0x90,0x1f,0x11,0x11,0x10,0x10,0x10,0x10,0x10,0x40,0x48,0xfc,0x48,0xf8,0x48,0xf8,0x0,0xfe,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0x8,0xb,0x8,0x10,0x10,0x37,0x54,0x94,0x17,0x14,0x14,0x17,0x14,0x14,0x14,0x14,0x0,0xf8,0x10,0xa0,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x44,0x54,0x8,
-+0x8,0x8,0x9,0x12,0x17,0x31,0x51,0x91,0x12,0x14,0x1f,0x10,0x10,0x10,0x11,0x16,0x80,0x80,0x10,0x8,0xfc,0x4,0x0,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x8,0x8,0xf,0x10,0x13,0x30,0x5f,0x91,0x12,0x15,0x18,0x10,0x17,0x10,0x10,0x10,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0x10,0x48,0xfe,0x44,0x40,0xfc,0x40,0x40,0x40,
-+0x8,0x8,0xf,0x10,0x13,0x30,0x5f,0x90,0x13,0x12,0x13,0x12,0x13,0x12,0x12,0x12,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0x9,0x9,0xf,0x11,0x11,0x30,0x5f,0x91,0x11,0x12,0x13,0x16,0x1a,0x12,0x13,0x12,0x10,0x10,0xfc,0x10,0x90,0x84,0xfe,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x8,0x17,0x10,0x30,0x50,0x97,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa8,0xbc,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa0,0xa0,
-+0x8,0x8,0x8,0x10,0x13,0x32,0x53,0x92,0x13,0x12,0x10,0x1f,0x10,0x10,0x10,0x10,0x40,0x48,0x7c,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x11,0x11,0x11,0x29,0x2a,0x6c,0xa8,0x29,0x2e,0x28,0x2f,0x28,0x20,0x20,0x21,0x26,0x0,0x8,0xfc,0x10,0xa0,0x40,0xb0,0x4e,0x50,0x48,0xfc,0x40,0xa0,0x90,0xe,0x4,
-+0x8,0xf,0xc,0x14,0x17,0x34,0x54,0x97,0x14,0x10,0x1f,0x10,0x11,0x12,0x1c,0x10,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x8,0xb,0x8,0x10,0x17,0x31,0x52,0x94,0x10,0x1f,0x11,0x12,0x11,0x10,0x11,0x16,0x18,0xe0,0x40,0x48,0xfc,0x50,0x48,0x46,0x80,0xfe,0x10,0x10,0xa0,0x40,0xb0,0x8,
-+0x8,0x9,0xb,0x12,0x12,0x33,0x52,0x92,0x13,0x10,0x11,0x1f,0x10,0x10,0x10,0x10,0x80,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x8,0xf,0xc,0x14,0x17,0x34,0x54,0x95,0x14,0x15,0x15,0x15,0x15,0x14,0x14,0x18,0x4,0xfe,0x44,0x54,0xfc,0x44,0x44,0xf4,0x4,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x8,0x8,0xb,0x12,0x14,0x33,0x52,0x92,0x13,0x12,0x13,0x12,0x12,0x12,0x13,0x12,0x80,0x40,0xfe,0x2,0x4,0xf8,0x8,0x8,0xf8,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x8,0x17,0x14,0x39,0x52,0x94,0x10,0x13,0x10,0x10,0x10,0x10,0x1f,0x10,0x80,0x40,0x40,0xfe,0x2,0x14,0x8,0x4,0x10,0xf8,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x8,0xb,0xa,0x12,0x13,0x32,0x52,0x93,0x12,0x12,0x13,0x13,0x15,0x15,0x19,0x11,0x4,0xfe,0x4,0x4,0xfc,0x24,0x20,0xfe,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0xf,0x10,0x11,0x3f,0x51,0x90,0x13,0x12,0x12,0x12,0x12,0x10,0x11,0x16,0x40,0x48,0xfc,0x40,0x54,0xfe,0x10,0x8,0xfc,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x8,0xf,0xc,0x15,0x15,0x35,0x55,0x95,0x14,0x17,0x14,0x14,0x14,0x14,0x17,0x10,0x4,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x40,0xfe,0x48,0x90,0x70,0x88,0xfe,0x0,
-+0xa,0xa,0xb,0x12,0x12,0x33,0x56,0x90,0x13,0x12,0x12,0x13,0x12,0x12,0x13,0x12,0x20,0x24,0xac,0x30,0xa2,0x22,0x5e,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x8,0xb,0xa,0x13,0x12,0x33,0x51,0x91,0x13,0x14,0x1a,0x12,0x12,0x13,0x10,0x10,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x4,0xfe,0x44,0x44,0xa4,0x4,0xe4,0x14,0x8,
-+0x8,0xb,0xa,0x12,0x13,0x32,0x52,0x93,0x10,0x1f,0x12,0x12,0x12,0x12,0x13,0x12,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x4,0xfe,0x88,0x50,0x20,0x90,0xe,0x4,
-+0x9,0x9,0x9,0x12,0x13,0x34,0x59,0x92,0x14,0x11,0x10,0x15,0x15,0x19,0x10,0x10,0x0,0x4,0xfe,0xa4,0xa4,0xf4,0x2c,0x44,0x94,0x8,0x40,0x24,0x22,0xa,0xf8,0x0,
-+0x8,0xa,0x9,0x10,0x17,0x30,0x51,0x92,0x10,0x1f,0x11,0x12,0x11,0x10,0x11,0x16,0x40,0x48,0x50,0x40,0xfc,0xe0,0x50,0x4c,0x80,0xfe,0x10,0x10,0x20,0xc0,0x30,0x8,
-+0x10,0x14,0x12,0x20,0x2f,0x68,0xb7,0x24,0x24,0x24,0x27,0x25,0x21,0x21,0x22,0x2c,0x80,0x90,0xa0,0x80,0xfc,0x4,0xf8,0x10,0x10,0x10,0xf0,0x50,0x40,0x44,0x44,0x3c,
-+0x8,0x8,0xb,0x12,0x14,0x31,0x51,0x91,0x11,0x11,0x11,0x1f,0x10,0x10,0x11,0x16,0x80,0x40,0xfe,0x2,0x34,0xc0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x0,0x90,0xc,0x4,
-+0x10,0x10,0x10,0x2f,0x21,0x71,0xaa,0x2a,0x24,0x24,0x2a,0x29,0x31,0x20,0x20,0x20,0x20,0x30,0x28,0x7e,0x48,0xc8,0x7e,0x48,0x48,0x7e,0x48,0x48,0x48,0x7e,0x40,0x40,
-+0xa,0xa,0xb,0x14,0x1a,0x35,0x53,0x92,0x14,0x18,0x17,0x11,0x12,0x14,0x11,0x10,0x0,0x20,0xbc,0xa4,0xa8,0x10,0x10,0xe8,0x6,0x0,0xfc,0x50,0x4c,0x44,0x40,0x80,
-+0x8,0xf,0x8,0x13,0x10,0x33,0x52,0x93,0x11,0x1f,0x10,0x13,0x12,0x12,0x13,0x12,0x48,0xfc,0x40,0xf8,0x0,0xf8,0x8,0xf8,0x10,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,
-+0x15,0x15,0x1f,0x25,0x25,0x68,0xaf,0x28,0x30,0x2e,0x2a,0x2a,0x2e,0x20,0x22,0x21,0x20,0x20,0xa0,0x24,0x7e,0x84,0xc4,0xc4,0xa8,0xa8,0xa8,0x90,0xa8,0xa8,0xc6,0x4,
-+0x11,0x1f,0x1a,0x2a,0x2f,0x62,0xa6,0x2a,0x33,0x20,0x27,0x24,0x27,0x24,0x27,0x24,0x4,0xbe,0x28,0x28,0xbe,0x8,0x18,0xaa,0x4e,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x9,0x9,0x9,0x12,0x16,0x3b,0x52,0x92,0x13,0x12,0x12,0x13,0x12,0x15,0x14,0x18,0x40,0x24,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,0x24,0x92,0x2,
-+0x14,0x12,0x12,0x3f,0x20,0x6f,0xa8,0x28,0x28,0x2f,0x22,0x2b,0x2a,0x32,0x26,0x20,0x10,0x10,0x98,0xd4,0x10,0xfe,0x90,0x90,0x98,0x98,0x28,0x28,0xa8,0xca,0x4a,0x86,
-+0x8,0xf,0x9,0x10,0x1f,0x30,0x57,0x94,0x17,0x14,0x17,0x10,0x17,0x10,0x1f,0x10,0x40,0xfc,0x10,0xa4,0xfe,0x0,0xfc,0x44,0xfc,0x44,0xfc,0x40,0xfc,0x40,0xfe,0x0,
-+0x8,0xf,0xc,0x14,0x17,0x30,0x5f,0x90,0x13,0x12,0x13,0x10,0x11,0x13,0x1d,0x11,0x4,0xfe,0xa4,0xa4,0xfc,0x0,0xfe,0x8,0xfc,0x8,0xf8,0xc4,0x28,0x10,0x8e,0x4,
-+0x9,0x9,0xa,0x17,0x14,0x35,0x57,0x94,0x15,0x14,0x15,0x14,0x15,0x15,0x19,0x11,0x0,0xf8,0x10,0xfe,0x88,0x24,0xfe,0x0,0xfc,0x0,0xfc,0x0,0xfc,0x4,0xfc,0x4,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x20,0xc0,0x1f,0x1,0x1,0x1,0x1,0x1,0x7f,0x0,0x0,0x0,0x80,0x40,0x20,0x10,0xe,0x24,0xf0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x1,0x1,0x2,0x4,0x9,0x31,0xc1,0x3d,0x5,0x9,0x9,0x11,0x21,0x41,0x5,0x2,0x0,0x0,0x80,0x40,0x30,0xe,0x4,0x90,0x60,0x40,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x1,0x1,0x2,0x4,0x8,0x30,0xcf,0x0,0x0,0x7f,0x1,0x9,0x19,0x21,0x45,0x2,0x0,0x0,0x80,0x40,0x30,0x4e,0xe4,0x0,0x8,0xfc,0x0,0x20,0x18,0xc,0x4,0x0,
-+0x1,0x1,0x2,0x4,0x8,0x10,0x2f,0xc0,0x12,0x9,0x9,0x9,0x8,0x0,0xff,0x0,0x0,0x0,0x80,0x40,0x20,0x50,0xee,0x4,0x10,0x10,0x20,0x20,0x40,0x84,0xfe,0x0,
-+0x10,0x11,0x11,0x29,0x29,0x45,0x95,0x11,0x11,0x29,0x29,0x45,0x45,0x81,0xf,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x1,0x1,0x2,0xc,0x37,0xc0,0x3b,0x2a,0x3b,0x0,0x3f,0x24,0x3f,0x24,0x24,0x20,0x0,0x0,0x80,0x60,0xd8,0x6,0xb8,0xa8,0xb8,0x0,0xf8,0x48,0xf8,0x48,0x48,0x18,
-+0x6,0x1,0x2,0xc,0x31,0xc1,0x1,0x3d,0x5,0x9,0x9,0x11,0x21,0x41,0x5,0x2,0x0,0x0,0x80,0x60,0x18,0x6,0x0,0x90,0x60,0x40,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x6,0x1,0x2,0xc,0x31,0xc1,0x11,0x9,0x1,0x7f,0x3,0x5,0x9,0x11,0x61,0x1,0x0,0x0,0x80,0x60,0x18,0x6,0x10,0x20,0x8,0xfc,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x4,0x4,0x8,0x8,0x10,0x20,0x5f,0x88,0x8,0x1f,0x0,0x0,0x0,0x2,0x1,0x0,0x40,0x40,0x20,0x20,0x10,0x58,0xee,0x4,0x20,0xf0,0x20,0x20,0x20,0x20,0x40,0x80,
-+0x0,0x3e,0x22,0x22,0x3e,0x20,0x22,0x1e,0x4,0x3f,0x4,0x4,0xff,0x4,0x18,0x20,0x8,0xfc,0x88,0x88,0xf8,0x80,0x84,0x7c,0x40,0xf8,0x40,0x44,0xfe,0x40,0x30,0x8,
-+0x22,0x11,0x7f,0x44,0x9f,0x4,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x4,0x18,0x20,0x8,0x10,0xfe,0x42,0xf4,0x40,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x40,0x30,0x8,
-+0x0,0x44,0x28,0xff,0x10,0x20,0x7d,0x45,0x45,0x7d,0x45,0x7c,0x44,0x47,0x7c,0x44,0x10,0x18,0x14,0xfe,0x10,0x10,0xd4,0x54,0x54,0x54,0xd4,0x18,0xd2,0x2a,0x46,0x82,
-+0x44,0x25,0x29,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x12,0xfe,0x12,0x14,0x18,0x10,0x4,0xfe,0x4,0x4,0xfc,0x48,0xfc,0x48,0x48,0xfe,0xa4,0xa8,0x90,0x88,0xc6,0x80,
-+0x4,0xff,0x1,0x17,0x54,0x5f,0x54,0x57,0x5c,0xe7,0x14,0x27,0x4c,0x13,0xc,0x70,0x40,0xfe,0x0,0xdc,0x54,0xd4,0x5c,0xd0,0x52,0xce,0x10,0xc8,0x44,0x80,0x60,0x1c,
-+0x10,0x10,0x1f,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x1f,0x22,0x42,0xbf,0x2,0x3f,0x22,0x3f,0x22,0x3f,0x22,0x22,0x22,0x0,0x0,0x4,0xfe,0x84,0x44,0xf4,0x4,0xe4,0x24,0xe4,0x24,0xe4,0x24,0x64,0x34,0x8,
-+0x10,0x10,0x1f,0x24,0x42,0xbf,0x0,0x1f,0x0,0x1f,0x0,0x1f,0x10,0x10,0x1f,0x0,0x0,0x4,0xfe,0x4,0x44,0xe4,0x4,0xc4,0x4,0xc4,0x4,0xc4,0x44,0x44,0xd4,0x8,
-+0x10,0x10,0x1f,0x20,0x7f,0x80,0x1f,0x10,0x1f,0x0,0x3f,0x22,0x3f,0x22,0x3f,0x0,0x0,0x4,0xfe,0x44,0xe4,0x4,0xc4,0x44,0xc4,0x4,0xe4,0x24,0xe4,0x24,0xf4,0x8,
-+0x2,0x4,0x3f,0x20,0x24,0x22,0x20,0x3f,0x0,0xf,0x8,0x8,0x8,0x10,0x20,0xc0,0x0,0x20,0xf0,0x20,0x20,0xa0,0x48,0xfc,0x8,0xa8,0x90,0x80,0x80,0x82,0x82,0x7e,
-+0x0,0x3f,0x20,0x20,0x2f,0x22,0x22,0x27,0x24,0x2c,0x32,0x21,0x22,0x44,0x48,0x80,0x10,0xf8,0x10,0x90,0xd0,0x10,0x10,0xd0,0x50,0x50,0x90,0x10,0x12,0x12,0xa,0x4,
-+0x0,0x3c,0x24,0x24,0x27,0x20,0x20,0x3f,0x24,0x4,0x4,0x4,0x8,0x10,0x20,0x40,0x8,0x7c,0x48,0x48,0xc8,0x8,0x8,0xf8,0x48,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x0,0x0,0x0,0x2,0x1,0x1,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x1,0xff,0x8,0x12,0x22,0x44,0x8,0x1f,0x4,0x4,0x4,0x4,0x8,0x10,0x60,0x0,0x4,0xfe,0x20,0x18,0xc,0x44,0x20,0xf0,0x90,0x80,0x80,0x84,0x84,0x7c,0x0,
-+0x1,0xff,0x0,0x1f,0x10,0x1f,0x40,0x7f,0x40,0x9f,0x1,0x1,0x3f,0x1,0x1,0x0,0x0,0xfe,0x0,0xf0,0x10,0xf0,0x0,0xfe,0x12,0xe4,0x0,0xf8,0x0,0x4,0x4,0xfc,
-+0x2,0x1,0xff,0x8,0x12,0x22,0x44,0x1f,0x2,0x6,0xd,0x14,0x24,0xc5,0x6,0x4,0x0,0x4,0xfe,0x20,0x18,0x4c,0x24,0xf0,0x0,0x18,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x1,0xff,0x0,0x1f,0x2,0x1,0x7f,0x4,0x8,0x32,0x1,0x2,0xc,0x15,0x66,0x4,0x0,0xfe,0x0,0xf0,0x40,0x80,0xfc,0x84,0x88,0x80,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x1,0xff,0x8,0x8,0x7e,0x8,0xe,0x78,0x9,0x1a,0x1,0x2,0xc,0x15,0x66,0x4,0x0,0xfe,0x40,0x48,0xfc,0x48,0xc8,0xa8,0xa,0x6,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x1,0xff,0x4,0x14,0x24,0x45,0x1,0x3f,0x22,0x24,0x29,0x22,0x24,0x28,0x20,0x20,0x0,0xfe,0x40,0x50,0x4c,0x44,0x0,0xf8,0x88,0x68,0x28,0x88,0x68,0x28,0x28,0x10,
-+0x1,0xff,0x2,0x1c,0x10,0x10,0x1c,0x10,0x10,0x1f,0x5,0x8,0x18,0x2a,0xcc,0x8,0x0,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x8,0x90,0x60,0x30,0xe,0x4,
-+0x1,0xff,0x0,0x3f,0x24,0x27,0x24,0x3f,0x0,0x3f,0x0,0xff,0x9,0x11,0x21,0x3,0x0,0xfe,0x8,0xfc,0x48,0xc8,0x48,0xf8,0x0,0xf8,0x0,0xfe,0x20,0x18,0x8,0x0,
-+0x1,0xff,0x20,0x3f,0x0,0x1f,0x10,0x1f,0x79,0x49,0x7f,0x4a,0x7a,0x49,0x4e,0x98,0x0,0xfe,0x0,0xf8,0x0,0xf0,0x10,0xf0,0x38,0x28,0xe8,0xb8,0xa8,0x2a,0xea,0x46,
-+0x1,0xff,0x20,0x3f,0x0,0x1f,0x10,0x1f,0x71,0x57,0x75,0x57,0x71,0x51,0x57,0xb0,0x0,0xfe,0x0,0xf8,0x0,0xf0,0x10,0xf0,0x1c,0xd4,0x54,0xdc,0x14,0x54,0xd4,0x22,
-+0x1,0xff,0x20,0x3f,0x0,0x1f,0x10,0x1f,0x7a,0x4f,0x79,0x4f,0x79,0x4f,0x49,0x99,0x0,0xfe,0x0,0xf8,0x0,0xf0,0x10,0xf0,0xb8,0xe8,0x28,0xe8,0x38,0xea,0x2a,0x46,
-+0x0,0x40,0x20,0x10,0x10,0x0,0x0,0x10,0x20,0x20,0xe0,0x20,0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x4f,0x22,0x12,0x12,0x3,0x2,0x12,0x22,0x22,0xe7,0x20,0x20,0x20,0x2f,0x0,0x8,0xfc,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x20,0x20,0x44,0xfe,0x0,
-+0x0,0x4f,0x22,0x12,0x13,0x2,0x14,0x14,0x26,0x29,0xe0,0x21,0x22,0x24,0x28,0x0,0x44,0xe4,0x4,0x14,0xd4,0x54,0x54,0x54,0x54,0x94,0x94,0x14,0x4,0x4,0x14,0x8,
-+0x0,0x42,0x22,0x13,0x12,0x4,0x0,0x17,0x21,0x21,0xe1,0x21,0x22,0x22,0x24,0x8,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x2,0x42,0x22,0x22,0x1f,0x2,0x26,0x27,0x2a,0x4a,0xd2,0x42,0x42,0x42,0x42,0x2,0x0,0x28,0x28,0x28,0xc4,0x44,0x92,0x10,0x90,0xa0,0x20,0x48,0x44,0xfe,0x2,0x0,
-+0x0,0x0,0x0,0x0,0x40,0x7f,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x2,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x7f,0x40,0x80,0x3f,0x6,0x9,0x1a,0x74,0xb,0x16,0x64,0x8,0x10,0x62,0x1,0x0,0xfe,0x2,0x24,0xf0,0x0,0x8,0x90,0xe0,0xa0,0xa0,0x90,0x8e,0x84,0x80,0x0,
-+0x40,0x7f,0x40,0x80,0x1f,0x10,0x1f,0x10,0x1f,0x12,0x1,0xff,0x0,0x8,0x10,0x20,0x0,0xfe,0x2,0x14,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x4,0xfe,0x0,0x20,0x18,0x8,
-+0x0,0x40,0x30,0x10,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x47,0x30,0x10,0x0,0x0,0xf0,0x17,0x10,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x40,0x37,0x10,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x12,0x14,0x1f,0x10,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,0x0,
-+0x0,0x40,0x20,0x20,0x4,0x4,0xe4,0x24,0x24,0x24,0x24,0x24,0x2c,0x37,0x20,0x0,0x40,0x40,0x40,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,0x0,
-+0x0,0x47,0x24,0x24,0x5,0x4,0xe4,0x24,0x24,0x24,0x25,0x26,0x2c,0x34,0x27,0x0,0x8,0xfc,0x0,0x4,0x4,0x88,0x50,0x20,0x50,0x88,0xc,0x4,0x0,0x4,0xfe,0x0,
-+0x0,0x43,0x32,0x12,0x2,0x3,0xf2,0x12,0x12,0x13,0x12,0x12,0x16,0x1a,0x13,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x40,0x20,0x20,0x7,0x4,0xe4,0x24,0x24,0x24,0x25,0x25,0x2e,0x34,0x24,0x4,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0xa4,0xa4,0x14,0x14,0xc,0x4,0x14,0x8,
-+0x0,0x40,0x30,0x10,0x7,0x0,0xf0,0x10,0x13,0x12,0x12,0x12,0x16,0x1a,0x13,0x2,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x37,0x10,0x0,0x3,0xf2,0x12,0x12,0x12,0x13,0x10,0x14,0x18,0x10,0x0,0x0,0x4,0xfe,0x8,0x48,0xe8,0x48,0x48,0x48,0x48,0xc8,0x8,0x8,0x8,0x28,0x10,
-+0x0,0x40,0x27,0x24,0x4,0x4,0xe7,0x24,0x24,0x24,0x24,0x24,0x2d,0x36,0x24,0x0,0x10,0x78,0xc0,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x20,0xa0,0x12,0x92,0x4a,0x6,
-+0x0,0x47,0x30,0x10,0x0,0x1,0xf1,0x12,0x14,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x4,0xfe,0x84,0x84,0x84,0x4,0x14,0x8,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x40,0x22,0x22,0x2,0x2,0xe2,0x23,0x20,0x24,0x24,0x24,0x2c,0x34,0x27,0x0,0x40,0x40,0x48,0x48,0x48,0x48,0x48,0xf8,0x40,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,
-+0x0,0x40,0x30,0x11,0x2,0x7,0xf0,0x10,0x13,0x12,0x12,0x12,0x16,0x1a,0x13,0x2,0x40,0x40,0x80,0x8,0x4,0xfe,0x2,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x43,0x32,0x12,0x3,0x2,0xf2,0x12,0x12,0x12,0x12,0x13,0x16,0x1a,0x13,0x0,0x8,0xfc,0x0,0x8,0xfc,0x20,0x20,0xf8,0x20,0x20,0x28,0xfc,0x0,0x4,0xfe,0x0,
-+0x0,0x40,0x37,0x10,0x0,0x3,0xf0,0x10,0x1f,0x10,0x10,0x15,0x19,0x12,0x4,0x0,0x40,0x48,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0xc0,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x0,0x40,0x33,0x10,0x0,0x0,0xf7,0x10,0x10,0x10,0x13,0x10,0x14,0x18,0x17,0x0,0x40,0x50,0xf8,0x40,0x40,0x48,0xfc,0x0,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x40,0x30,0x1f,0x0,0x0,0xf7,0x10,0x10,0x13,0x12,0x12,0x16,0x1a,0x13,0x2,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x17,0x1,0x1,0xf1,0x12,0x12,0x14,0x19,0x10,0x14,0x18,0x11,0x2,0x80,0x80,0x84,0xfe,0x0,0x20,0x20,0xa4,0xac,0xb0,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x42,0x32,0x13,0x4,0x0,0xf0,0x1f,0x11,0x11,0x11,0x15,0x1a,0x12,0x4,0x8,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x40,0x33,0x12,0x2,0x3,0xf2,0x12,0x12,0x12,0x12,0x16,0x1a,0x12,0x4,0x8,0x8,0x1c,0xe0,0x0,0x4,0xfe,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x0,0x40,0x30,0x11,0x2,0xc,0xf3,0x10,0x10,0x10,0x13,0x10,0x14,0x18,0x17,0x0,0x40,0x40,0xa0,0x10,0xe,0x4,0xf8,0x40,0x40,0x50,0xf8,0x40,0x40,0x48,0xfc,0x0,
-+0x1,0x41,0x31,0x12,0x4,0xb,0xf0,0x10,0x1f,0x10,0x10,0x13,0x14,0x18,0x11,0x0,0x0,0x0,0xf0,0x20,0x48,0xfc,0x48,0x48,0xfe,0x48,0x48,0xf8,0x48,0x40,0x40,0x80,
-+0x0,0x47,0x34,0x18,0x7,0x1,0xf1,0x12,0x17,0x10,0x10,0x1f,0x10,0x14,0x18,0x0,0x0,0xfc,0x84,0x88,0xfc,0x0,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x40,0x37,0x10,0x0,0x4,0xf2,0x12,0x10,0x11,0x16,0x10,0x14,0x18,0x12,0x1,0x0,0x4,0xbe,0x84,0x84,0xa4,0x94,0x94,0x84,0x8c,0xb4,0x84,0x84,0x84,0x94,0x8,
-+0x0,0x42,0x31,0x11,0x0,0x3,0xf2,0x12,0x13,0x12,0x12,0x13,0x16,0x1a,0x12,0x2,0x40,0x48,0x58,0x60,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x42,0x32,0x13,0x4,0x8,0xf7,0x10,0x10,0x13,0x12,0x12,0x16,0x1a,0x13,0x2,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x45,0x32,0x15,0x9,0x1,0xf1,0x13,0x15,0x19,0x11,0x11,0x15,0x19,0x15,0x2,0x80,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x7c,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,
-+0x0,0x40,0x31,0x12,0x7,0x1,0xf1,0x11,0x12,0x10,0x1f,0x10,0x14,0x18,0x11,0x6,0x80,0x80,0x10,0x8,0xfc,0x4,0x10,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x0,0x5f,0x24,0x24,0x7,0x4,0xe4,0x27,0x24,0x24,0x24,0x2f,0x28,0x30,0x20,0x0,0x4,0xfe,0x80,0x80,0xbe,0x82,0xa2,0x94,0x94,0x94,0x88,0xc8,0x94,0x94,0xa2,0xc0,
-+0x0,0x4f,0x20,0x21,0x3,0x4,0xe8,0x25,0x22,0x26,0x29,0x21,0x2a,0x34,0x21,0x0,0x4,0xfe,0x80,0x0,0x4,0x8c,0xd0,0x60,0x60,0x50,0xd0,0x48,0x4e,0x44,0x40,0x80,
-+0x0,0x43,0x30,0x10,0x7,0x1,0xf2,0x14,0x10,0x1f,0x11,0x11,0x14,0x18,0x11,0x6,0x3c,0xc0,0x40,0x48,0xfc,0x50,0x4e,0x44,0x80,0xfe,0x10,0x10,0xa0,0x60,0x98,0x4,
-+0x0,0x41,0x36,0x14,0x4,0x7,0xf4,0x14,0x17,0x14,0x10,0x10,0x15,0x19,0x12,0xc,0x40,0x44,0x5e,0x44,0x44,0x5c,0x44,0x44,0xfc,0x44,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x40,0x20,0x21,0x2,0x4,0xe8,0x23,0x20,0x20,0x21,0x2d,0x35,0x25,0x9,0x0,0x40,0x40,0xa0,0x10,0x88,0x46,0x4,0xf0,0x10,0x20,0x0,0x48,0x24,0x4,0x10,0xf0,
-+0x0,0x40,0x30,0x11,0x2,0x4,0xf0,0x13,0x12,0x12,0x13,0x12,0x16,0x1a,0x13,0x2,0x80,0x80,0xfc,0x8,0x10,0x20,0x84,0x3e,0x4,0x4,0xbc,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x40,0x37,0x11,0x1,0x1,0xf2,0x14,0x10,0x1f,0x10,0x10,0x14,0x18,0x10,0x0,0x80,0x48,0xfc,0x10,0x10,0x10,0xa8,0x44,0x40,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x41,0x37,0x11,0x1,0x1,0xf1,0x11,0x11,0x1f,0x12,0x12,0x17,0x1a,0x13,0x0,0x10,0x10,0xfc,0x10,0xf0,0x10,0xf0,0x10,0x14,0xfe,0x0,0x90,0x8,0x0,0xfc,0x0,
-+0x0,0x40,0x2f,0x20,0x7,0x4,0xe5,0x24,0x24,0x27,0x21,0x29,0x32,0x24,0x8,0x0,0x40,0x44,0xfe,0x40,0xfc,0x44,0x54,0xe4,0x44,0xfc,0x60,0x50,0x48,0x4e,0x44,0x40,
-+0x0,0x40,0x20,0x27,0x4,0x4,0xe7,0x24,0x24,0x24,0x25,0x2d,0x37,0x29,0x9,0x10,0x48,0x7c,0x40,0xfe,0x42,0x7c,0xc0,0x44,0x7c,0x0,0xfc,0x0,0xfe,0x0,0xfc,0x0,
-+0x0,0x43,0x22,0x23,0x2,0x3,0xe1,0x23,0x24,0x28,0x22,0x23,0x2a,0x33,0x20,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x44,0x44,0xb4,0x14,0x4,0xf4,0x14,0x8,
-+0x0,0x47,0x24,0x24,0x7,0x0,0xe3,0x20,0x2f,0x21,0x21,0x24,0x28,0x30,0x20,0x0,0x4,0xbe,0xa4,0xa4,0xbc,0x0,0xf8,0x0,0xfe,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0x0,0x40,0x21,0x22,0x4,0xb,0xf0,0x27,0x24,0x27,0x24,0x27,0x2c,0x34,0x24,0x5,0x80,0x80,0x40,0x20,0x10,0xee,0x4,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0xa8,0x90,
-+0x0,0x47,0x20,0x22,0x1,0xf,0xe0,0x20,0x2f,0x21,0x21,0x2b,0x32,0x24,0x8,0x3,0x3c,0xc0,0x88,0x48,0x50,0xfc,0x80,0x84,0xfe,0x0,0xf0,0x10,0xa0,0x40,0xb0,0xc,
-+0x0,0x40,0x37,0x12,0x1,0x0,0xf7,0x10,0x13,0x12,0x12,0x13,0x16,0x1a,0x13,0x2,0x80,0x48,0xfc,0x10,0x10,0xa4,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x37,0x11,0x0,0x7,0xf4,0x18,0x13,0x12,0x12,0x12,0x16,0x1a,0x10,0x0,0x80,0x48,0xfc,0x10,0xa0,0xfe,0x42,0x44,0xf8,0x48,0x48,0x48,0x48,0x58,0x40,0x40,
-+0x0,0x48,0x24,0x24,0x1,0x6,0xe8,0x30,0x21,0x22,0x27,0x22,0x2a,0x32,0x23,0x2,0x80,0x80,0x80,0xfc,0x4,0x48,0x40,0xa0,0x10,0xe,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x27,0x24,0x4,0x7,0xe4,0x24,0x27,0x24,0x2c,0x37,0x24,0x2c,0x34,0x4,0x80,0x48,0xfc,0x8,0x8,0xf8,0x0,0x4,0xfe,0xa4,0xa4,0xfc,0xa4,0xa4,0xb4,0x8,
-+0x1,0x41,0x37,0x11,0x0,0x3,0xf2,0x13,0x12,0x13,0x10,0x1f,0x10,0x19,0x12,0xc,0x10,0x14,0xfe,0x10,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x44,0xfe,0xa0,0x10,0xe,0x4,
-+0x0,0x42,0x21,0x2f,0x8,0x13,0xe2,0x22,0x22,0x23,0x20,0x21,0x29,0x32,0x24,0x8,0x40,0x48,0x50,0xfe,0x2,0xfc,0x8,0x8,0x8,0xf8,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x47,0x24,0x27,0x4,0x7,0xe2,0x25,0x29,0x22,0x25,0x20,0x28,0x30,0x23,0xc,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x8,0x4,0xfa,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x4,0x42,0x21,0x2f,0x0,0x1,0xe2,0x24,0x23,0x22,0x22,0x22,0x2a,0x32,0x2f,0x0,0x4,0x8,0x10,0xfe,0x0,0x10,0xc,0x4,0xf8,0xa8,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x1,0x40,0x30,0x15,0x5,0x9,0xf1,0x12,0x14,0x13,0x12,0x12,0x16,0x1a,0x17,0x0,0x0,0xc8,0x48,0x14,0x22,0x42,0x88,0xf8,0x0,0xf8,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x0,0x40,0x2f,0x21,0x0,0x7,0xe4,0x24,0x27,0x24,0x25,0x25,0x2d,0x35,0x25,0x4,0x80,0x44,0xfe,0x10,0xa4,0xfe,0x44,0x54,0xfc,0x44,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x1,0x40,0x37,0x10,0x3,0x2,0xf3,0x12,0x13,0x12,0x10,0x13,0x14,0x18,0x11,0x6,0x8,0x90,0xfe,0x0,0xd4,0x54,0xd4,0x54,0xc4,0x4c,0x0,0xfc,0x84,0x84,0x14,0x8,
-+0x2,0x4f,0x22,0x2a,0xf,0x2,0xe6,0x2b,0x32,0x20,0x23,0x22,0x2b,0x32,0x23,0x2,0x4,0xbe,0x8,0x28,0xbe,0x8,0x98,0x2a,0x4e,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x1,0x41,0x23,0x22,0x6,0xb,0xe2,0x22,0x23,0x22,0x22,0x23,0x2a,0x35,0x24,0x8,0x40,0x24,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,0x24,0x92,0x2,
-+0x0,0x47,0x20,0x20,0xf,0x1,0xe2,0x2c,0x27,0x24,0x27,0x25,0x2d,0x35,0x24,0x4,0x0,0xf8,0x90,0x60,0xfe,0x44,0x40,0xc4,0xfe,0xa4,0x1c,0xf4,0x14,0xf4,0x14,0x8,
-+0x1,0x41,0x21,0x2f,0x1,0x1,0xef,0x2a,0x2a,0x2f,0x29,0x2f,0x29,0x39,0x28,0x0,0x8,0x8,0x4c,0xe8,0x3e,0x8,0xe8,0xa8,0xa8,0xe8,0x28,0xe8,0x28,0x74,0x24,0x42,
-+0x1,0x41,0x22,0x27,0xc,0x5,0xe7,0x24,0x25,0x24,0x25,0x2c,0x35,0x25,0x9,0x1,0x0,0xf8,0x10,0xfe,0x88,0x24,0xfe,0x0,0xfc,0x0,0xfc,0x0,0xfc,0x4,0xfc,0x4,
-+0x0,0x44,0x24,0x2b,0x0,0x1f,0xe2,0x2e,0x22,0x2e,0x22,0x2e,0x2a,0x32,0x2f,0x0,0x10,0x90,0x98,0x54,0x10,0xfe,0x90,0xf0,0x94,0xf4,0x94,0xe8,0x9a,0xaa,0xe6,0x2,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,0x20,0x20,
-+0x1f,0x0,0x1,0x3d,0x5,0x9,0x33,0xc1,0x3f,0x0,0x1f,0x10,0x10,0x10,0x10,0xf,0xf0,0x40,0x88,0xb0,0x40,0x30,0xe,0x4,0xf8,0x10,0xf8,0x10,0x90,0x64,0x4,0xfc,
-+0x0,0x78,0x48,0x48,0x50,0x50,0x60,0x50,0x50,0x48,0x48,0x68,0x50,0x40,0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x78,0x4f,0x49,0x51,0x51,0x61,0x51,0x51,0x49,0x49,0x69,0x52,0x42,0x44,0x48,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x7c,0x45,0x48,0x48,0x50,0x48,0x4b,0x44,0x44,0x44,0x68,0x50,0x40,0x40,0x40,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x1,0x79,0x49,0x49,0x57,0x51,0x61,0x51,0x51,0x4f,0x49,0x69,0x51,0x42,0x42,0x44,0x10,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x78,0x4b,0x4a,0x52,0x53,0x62,0x52,0x52,0x4a,0x4a,0x6a,0x54,0x44,0x49,0x42,0x8,0x3c,0xc0,0x0,0x8,0xfc,0x8,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x0,0x7c,0x44,0x48,0x48,0x50,0x48,0x49,0x45,0x45,0x45,0x69,0x51,0x41,0x41,0x41,0x40,0x40,0x44,0x7e,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x7d,0x45,0x49,0x4a,0x52,0x4c,0x48,0x44,0x44,0x44,0x68,0x50,0x40,0x40,0x40,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x0,0x78,0x48,0x4b,0x52,0x52,0x62,0x53,0x52,0x4a,0x4a,0x6a,0x54,0x44,0x49,0x42,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xf8,0x88,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x0,0x7b,0x48,0x48,0x50,0x50,0x61,0x56,0x50,0x4b,0x48,0x68,0x50,0x40,0x4f,0x40,0x0,0xf8,0x10,0x20,0x40,0xb0,0xc,0x4,0x10,0xf8,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x78,0x48,0x4f,0x50,0x50,0x61,0x53,0x51,0x48,0x48,0x6b,0x50,0x40,0x43,0x4c,0x80,0x40,0x44,0xfe,0x80,0x90,0x10,0xe0,0x28,0x48,0x90,0x10,0x20,0xd8,0x6,0x2,
-+0x0,0x78,0x49,0x49,0x51,0x51,0x67,0x50,0x51,0x49,0x4a,0x68,0x50,0x40,0x43,0x4c,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x40,0x48,0x48,0x50,0x60,0x40,0x80,0x0,0x0,
-+0x0,0x7b,0x4a,0x4a,0x53,0x52,0x62,0x53,0x52,0x48,0x4b,0x68,0x50,0x40,0x4f,0x40,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x48,0x40,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x70,0x5f,0x54,0x54,0x57,0x64,0x54,0x57,0x54,0x54,0x5f,0x70,0x40,0x40,0x40,0x0,0x40,0xe0,0x80,0xbc,0x84,0xa4,0xa8,0xa8,0x90,0x90,0xe8,0xa8,0xc6,0x80,0x80,
-+0x0,0x78,0x4f,0x48,0x50,0x5f,0x61,0x51,0x57,0x49,0x49,0x6f,0x50,0x40,0x47,0x40,0x8,0x3c,0xc0,0x40,0x44,0xfe,0x50,0x50,0xfc,0x50,0x54,0xfe,0x40,0x48,0xfc,0x0,
-+0x0,0x79,0x4b,0x4a,0x52,0x53,0x62,0x52,0x53,0x48,0x49,0x6f,0x50,0x40,0x40,0x40,0x80,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x7b,0x4a,0x4a,0x53,0x52,0x62,0x53,0x50,0x4f,0x4a,0x6a,0x52,0x42,0x43,0x42,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x4,0xfe,0x88,0x50,0x20,0x90,0xe,0x4,
-+0x0,0x78,0x4b,0x4a,0x53,0x52,0x63,0x50,0x57,0x48,0x48,0x6b,0x50,0x40,0x4f,0x40,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0x0,
-+0x0,0x78,0x4b,0x4a,0x52,0x53,0x62,0x52,0x4b,0x48,0x68,0x51,0x41,0x42,0x44,0x48,0x40,0x88,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x80,0xc8,0x54,0x5c,0x42,0x42,0x3e,
-+0x0,0x7b,0x4a,0x4b,0x52,0x53,0x61,0x52,0x57,0x49,0x4a,0x6f,0x50,0x45,0x44,0x48,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x8,0x10,0xbe,0x8,0x94,0xbe,0x0,0x24,0x92,0x2,
-+0x2,0x7f,0x8,0x8,0x8,0x9,0xff,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x0,0x7c,0x44,0x44,0x48,0x48,0xd0,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x0,0x2,0x7f,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xf,0xf8,0x40,0x0,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x4,0x2,0x3f,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,0x0,0x0,0x7c,0xc4,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x10,0x8,0x9,0xff,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x3f,0x0,0x0,0x0,0x0,0x0,0x7c,0x44,0xc4,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0x12,0x3f,0x22,0x22,0x22,0x2a,0x24,0x20,0x3f,0x0,0x4,0xfe,0x0,0x2,0x1,0x0,0x3c,0x24,0x24,0x28,0x28,0x30,0x28,0xa4,0xe2,0xa2,0xa2,0xb4,0xa8,0xa0,0x20,
-+0x10,0x8,0x9,0xff,0x10,0x12,0x1f,0x12,0x12,0x12,0x12,0x22,0x22,0x4a,0x84,0x0,0x0,0x7c,0x44,0xc4,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x1,0xff,0x8,0x8,0x9,0x7f,0x49,0x49,0x49,0x55,0x63,0x41,0x41,0x45,0x42,0x0,0x0,0xfc,0x44,0x44,0x48,0xc8,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x1,0xff,0x4,0x8,0x18,0x1c,0x2a,0x29,0x49,0x88,0x8,0x8,0xf,0xf8,0x40,0x0,0x0,0xfc,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x14,0x14,0x14,0x14,0x15,0xf7,0x14,0x14,0x14,0x14,0x14,0x35,0xd6,0x14,0x0,0x0,0x0,0x7c,0x44,0x44,0x48,0xc8,0x50,0x48,0x44,0x42,0xc2,0x62,0x54,0x48,0x40,0x40,
-+0x14,0x14,0x14,0x14,0x94,0x54,0x55,0x35,0x36,0x14,0x14,0x17,0xf8,0x40,0x0,0x0,0x0,0x7c,0x44,0x44,0xc8,0xc8,0x50,0x48,0x44,0x42,0x42,0xe2,0x54,0x48,0x40,0x40,
-+0x2,0x7,0x78,0x48,0x48,0x4a,0x7f,0x48,0x48,0x48,0x44,0x44,0x52,0x69,0x44,0x0,0x0,0x3c,0x24,0x24,0x28,0x28,0x30,0x28,0x24,0x22,0x22,0xa2,0xb4,0xa8,0x20,0x20,
-+0x10,0x10,0x20,0x24,0x42,0xff,0x0,0x2,0x7f,0x42,0x42,0x42,0x42,0x7e,0x42,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0x8,0x9,0xff,0x8,0x49,0x29,0x2a,0xff,0x8,0x8,0x14,0x12,0x23,0xc1,0x0,0x0,0x7c,0x44,0xc4,0x48,0x48,0x50,0x48,0xc4,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x2,0xff,0x10,0x10,0x22,0x41,0x7f,0x8,0x8,0x7f,0x8,0x8,0xf,0xf8,0x40,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0xd4,0x48,0x40,0x40,
-+0x8,0x8,0x4a,0x7f,0x48,0x88,0x9,0xff,0x8,0x1c,0x1c,0x2a,0x29,0x48,0x88,0x8,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0x8,0x14,0x12,0x21,0x20,0x7f,0x80,0x1,0xff,0x10,0x14,0x22,0x7f,0x21,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0xd0,0x48,0x44,0xc2,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x41,0x22,0x14,0x8,0x14,0x63,0x10,0xff,0x10,0x24,0x28,0x48,0x92,0x3f,0x1,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x20,0x21,0x3f,0x41,0x41,0xbd,0x25,0x25,0x3d,0x25,0x25,0x3d,0x25,0x1,0xa,0x4,0x0,0x7c,0xc4,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x0,0x7f,0x50,0x91,0x3f,0x10,0x14,0x25,0x7f,0x4,0x4,0x7,0xfc,0x44,0x4,0x4,0x0,0xfc,0xc4,0x44,0x48,0x48,0x50,0x48,0xc4,0x42,0x42,0xe2,0x54,0x48,0x40,0x40,
-+0x0,0xff,0x0,0x0,0x7b,0x4a,0x4a,0x4a,0x6b,0x5a,0x4a,0x4a,0x4a,0x4a,0x5a,0x0,0x40,0xfe,0x12,0x52,0xf4,0x54,0x58,0x54,0x54,0xd2,0x52,0x5a,0x54,0x50,0xd0,0x10,
-+0x2,0x3f,0x22,0x22,0x22,0x3e,0x0,0xff,0x8,0xa,0x7f,0x8,0xf,0xf8,0x40,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0xd4,0x48,0x40,0x40,
-+0x8,0x28,0x2a,0x3f,0x48,0x88,0x9,0xff,0x0,0x7f,0x41,0x41,0x41,0x7f,0x41,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0xc8,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x20,0x11,0xe,0x11,0x28,0x8,0xff,0x14,0x24,0x7f,0xa4,0x24,0x24,0x25,0x24,0x4,0x80,0x3c,0x24,0x24,0xa8,0x28,0xf0,0x28,0xa4,0xe2,0xa2,0xa2,0xb4,0xa8,0xa0,0x20,
-+0x1,0x3,0xfc,0x49,0x29,0x2,0x7f,0x2,0xc,0x8,0xff,0x48,0x8,0x8,0x28,0x10,0x0,0xfc,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0x11,0x7f,0x49,0x49,0x7f,0x49,0x51,0x7f,0x10,0x29,0xff,0x8,0x8,0x8,0x8,0x0,0x7c,0xc4,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0xe2,0x54,0x48,0x40,0x40,
-+0x8,0x29,0x2a,0x4c,0x94,0x12,0x21,0xc8,0x8,0x29,0x2a,0x54,0x12,0x21,0xc1,0x0,0x0,0x7c,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x1,0x7f,0x40,0x5f,0x51,0x5f,0x51,0x5f,0x48,0x7f,0x49,0x52,0x4e,0x51,0x7f,0x0,0x0,0xbc,0x24,0x24,0x28,0x28,0x30,0x28,0x24,0xe2,0x22,0x22,0x34,0x28,0xa0,0x20,
-+0x1,0xff,0x14,0x15,0x7f,0x55,0x55,0x55,0x7f,0x49,0x8,0x7f,0x8,0xf,0xf8,0x40,0x0,0xfc,0x44,0x44,0xc8,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x1,0x7f,0x4,0x17,0x14,0xff,0x20,0x3f,0x20,0x3f,0x0,0xaa,0xaa,0x0,0x2,0x1,0x0,0xbc,0x24,0xa4,0x28,0xe8,0x30,0x28,0x24,0xa2,0xa2,0xa2,0xb4,0xa8,0xa0,0x20,
-+0x22,0xff,0x22,0x3e,0x8,0x7f,0x49,0x7f,0x8,0x7f,0x8,0x3e,0x8,0xf,0x78,0x20,0x0,0xfc,0x44,0x44,0x48,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x8,0x7f,0x22,0x14,0xff,0x0,0x7f,0x41,0x7f,0x41,0x7f,0x8,0xff,0x8,0x8,0x8,0x0,0x7c,0x44,0x44,0xc8,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0xd4,0x48,0x40,0x40,
-+0x3,0x7c,0x24,0x15,0x7f,0xc,0x15,0x24,0xff,0x24,0x24,0x3f,0x24,0x24,0x3f,0x20,0x80,0x3c,0xa4,0x24,0xe8,0x28,0x30,0xa8,0xe4,0xa2,0xa2,0xa2,0xb4,0xa8,0xa0,0xa0,
-+0x11,0xa,0x7f,0x4,0x3f,0x4,0x7f,0x24,0x15,0xff,0x0,0x3f,0x20,0x20,0x3f,0x20,0x0,0x3c,0xe4,0x24,0xa8,0x28,0xf0,0xa8,0x24,0xe2,0x22,0xa2,0xb4,0xa8,0xa0,0xa0,
-+0xff,0x48,0x7b,0x4a,0x7a,0x49,0xfa,0x8,0x7f,0x14,0x25,0x4e,0x15,0x24,0xc4,0x4,0x80,0x3c,0xa4,0xa4,0xa8,0x28,0xb0,0x28,0x24,0xa2,0x22,0x22,0xb4,0xa8,0x20,0x20,
-+0x2,0x7f,0x8,0x7f,0x48,0xaa,0x8,0x2a,0x0,0x7f,0x55,0x55,0x55,0x55,0x7f,0x0,0x0,0x7c,0x44,0xc4,0xc8,0x48,0x50,0x48,0x44,0x42,0x42,0x62,0x54,0x48,0x40,0x40,
-+0x2a,0x7f,0xaa,0xff,0xaa,0xff,0xaa,0xff,0x0,0xff,0x1,0x7f,0x41,0x7f,0x22,0xff,0x0,0x3c,0xa4,0xa4,0xa8,0xa8,0xb0,0xa8,0x24,0xa2,0x22,0xa2,0x34,0x28,0x20,0xa0,
-+0x8,0x8,0xf,0x10,0x10,0x20,0x5f,0x80,0x0,0x0,0x1f,0x0,0x0,0x0,0x3f,0x0,0x0,0x20,0xf0,0x20,0x40,0x88,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0xf,0x10,0x10,0x20,0x5f,0x11,0x11,0x11,0xff,0x1,0x2,0x4,0x18,0x60,0x0,0x0,0xe0,0x20,0x40,0x90,0xf8,0x10,0x10,0x14,0xfe,0x0,0x80,0x60,0x1c,0x8,
-+0x0,0x1,0xff,0x10,0x10,0x12,0x1f,0x12,0x12,0x12,0x12,0x22,0x22,0x4a,0x84,0x1,0x20,0x20,0xa0,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0xa8,0x10,
-+0x20,0x22,0x3f,0x42,0x42,0x8a,0x7e,0x4a,0x4a,0x4a,0x4a,0x7a,0x42,0xa,0x4,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0xa8,0x10,
-+0x2,0xff,0x22,0x22,0x22,0x2a,0x44,0x80,0x7e,0x42,0x42,0x42,0x42,0x7e,0x42,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0xa8,0x10,
-+0x10,0x9,0xff,0x10,0x12,0x22,0x24,0x7c,0x8,0xa,0x12,0x24,0x4c,0x92,0x20,0x1,0x20,0x20,0xa0,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0xa8,0x10,
-+0x8,0x8,0x7f,0x9,0x11,0x15,0x62,0x0,0xff,0x0,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x7c,0x0,0xfe,0x10,0x90,0x90,0x90,0x90,0x50,0x20,
-+0x0,0x7f,0x2,0x4,0x7e,0x4,0x14,0x8,0x7f,0x55,0x55,0x55,0x55,0xff,0x0,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0xa8,0x10,
-+0x1,0xff,0x81,0xbd,0x81,0xbd,0x0,0x7e,0x42,0x7e,0x42,0x7e,0x42,0x7e,0x42,0x1,0x20,0xa0,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x44,0x84,0xa8,0x10,
-+0x10,0x12,0x7f,0x12,0x12,0x2a,0x44,0x0,0x44,0xff,0x55,0x55,0x55,0x55,0x99,0x33,0x0,0xfe,0x92,0x92,0xfe,0x92,0x92,0xfe,0x82,0x20,0x10,0x50,0xc2,0xc6,0x44,0x3c,
-+0x5,0x39,0x21,0x21,0x3d,0x21,0x21,0x3f,0x1,0x7f,0x8,0x6,0x1,0x6,0x18,0xe0,0x8,0x7c,0x8,0x8,0x78,0x8,0x8,0xf8,0x0,0xf0,0x20,0xc0,0x0,0xc0,0x30,0xe,
-+0x21,0x2f,0x20,0xaf,0x70,0x2f,0x20,0x27,0x54,0x87,0x0,0x1f,0x4,0x3,0xc,0x70,0x8,0xe8,0x8,0xea,0x1c,0xe8,0x8,0xc8,0x54,0xc2,0x0,0xe0,0x40,0x80,0x60,0x1c,
-+0x3e,0x32,0x2a,0x26,0x3e,0x8,0x1f,0x28,0x4f,0x8,0x8,0x1f,0x4,0x3,0x1c,0xe0,0xf8,0xc8,0xa8,0x98,0xf8,0x80,0xf8,0x80,0xf0,0x84,0x7c,0xe0,0x40,0x80,0x70,0xe,
-+0x0,0x0,0xf8,0x8,0x10,0x20,0x40,0x78,0x8,0x88,0x50,0x30,0x20,0x50,0x88,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0xfc,
-+0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x1,0x1,0x1,0x41,0x41,0x5f,0x43,0x45,0x45,0x49,0x51,0x61,0x45,0x42,0x7f,0x0,0x0,0x0,0x0,0x14,0x34,0x44,0x84,0x44,0x44,0x24,0x24,0x1c,0x4,0x4,0xfc,0x4,
-+0x9,0x4,0x22,0x29,0x22,0x24,0x29,0x20,0x3f,0x28,0x8,0x9,0xe,0x8,0x7,0x0,0x20,0x40,0x88,0x28,0x88,0x48,0x28,0x8,0xf8,0x8,0x60,0x80,0x0,0x4,0xfc,0x0,
-+0x0,0x0,0x1,0x1,0x1,0x2,0x2,0x4,0x4,0x8,0x8,0x10,0x20,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x10,0x8,0xfc,0x4,0x0,
-+0x1,0x1,0x2,0x4,0x1f,0x0,0x4,0x4,0xff,0x4,0x4,0x4,0x8,0x8,0x10,0x20,0x0,0x0,0x0,0x20,0xf0,0x10,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x2,0x4,0x8,0x1f,0x2,0xff,0x4,0x8,0x3f,0xd1,0x11,0x1f,0x11,0x11,0x1f,0x10,0x0,0x40,0x20,0xf0,0x4,0xfe,0x40,0x20,0xf8,0x16,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x0,0xfb,0x8,0x10,0x2d,0xc3,0x8,0x7d,0x11,0x11,0x11,0x1d,0xf2,0x44,0x8,0x80,0x44,0xfe,0x80,0x80,0x8,0xfc,0x4,0x50,0x50,0x50,0x50,0x52,0x52,0x4e,0x0,
-+0x1,0x4,0x4,0x8,0x10,0x2f,0xc4,0x4,0x8,0x31,0x1,0x3f,0x1,0x1,0xff,0x0,0x80,0x80,0x40,0x20,0x10,0xee,0x24,0x20,0xa0,0x40,0x10,0xf8,0x0,0x4,0xfe,0x0,
-+0x0,0x7f,0x2,0x22,0x1a,0xa,0x2,0xff,0x1,0x1,0x3f,0x1,0x1,0x1,0xff,0x0,0x8,0xfc,0x80,0x88,0x98,0xa0,0x84,0xfe,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,
-+0x9,0x9,0x9,0x11,0x1f,0x30,0x50,0x90,0x11,0x17,0x1,0x3f,0x1,0x1,0xff,0x0,0x20,0x10,0x0,0xfc,0x0,0x90,0xa0,0x44,0xa4,0x1c,0x0,0xf8,0x0,0x4,0xfe,0x0,
-+0x8,0xff,0x0,0x3e,0x22,0x3e,0x0,0x7e,0x4,0x7e,0x9,0x19,0x7f,0x1,0x1,0xff,0x20,0xa0,0x28,0xfc,0x28,0x68,0x28,0x58,0x48,0x8a,0x6,0x10,0xfc,0x0,0x4,0xfe,
-+0x8,0xff,0x8,0x7f,0x49,0x7f,0x49,0x7f,0x8,0xff,0x49,0x7f,0x1,0x3f,0x1,0xff,0x8,0x7c,0x48,0x48,0x86,0x7c,0x44,0x44,0x28,0x90,0x28,0xc6,0x0,0xf8,0x0,0xfe,
-+0x1,0xff,0x10,0x14,0x25,0x7a,0x10,0x24,0x7c,0x8,0x11,0x61,0x3f,0x1,0x1,0xff,0x0,0xfe,0x90,0xfe,0x90,0xfc,0x90,0xfc,0x90,0xfe,0x80,0x10,0xf8,0x0,0x4,0xfe,
-+0x8,0xf,0x48,0x7f,0x40,0xbf,0x8,0x55,0x3e,0xe3,0x22,0x3e,0x1,0x3f,0x1,0xff,0x0,0x0,0x7c,0x84,0xc4,0x28,0x28,0x10,0x28,0xa8,0x46,0x0,0x10,0xf8,0x0,0xfe,
-+0x10,0x10,0x11,0x10,0x14,0xfe,0x10,0x13,0x10,0x10,0x1e,0xf0,0x40,0x0,0x0,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x11,0x10,0x14,0xfe,0x13,0x10,0x10,0x11,0x1e,0xf0,0x40,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x80,0x88,0xfc,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x10,0x10,0x10,0x10,0x15,0xfe,0x11,0x10,0x10,0x10,0x1e,0xf1,0x41,0x1,0x0,0x0,0x80,0x80,0x84,0xfe,0x0,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x11,0x11,0x15,0xff,0x11,0x11,0x11,0x11,0x1d,0xf1,0x42,0x2,0x4,0x0,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,0x4,
-+0x10,0x10,0x10,0x13,0x12,0xfe,0x12,0x12,0x12,0x12,0x1e,0xf2,0x44,0x4,0x8,0x10,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x13,0x10,0x14,0xfe,0x10,0x13,0x12,0x12,0x1e,0xf2,0x42,0x2,0x1,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x13,0x12,0x12,0xfe,0x12,0x13,0x12,0x12,0x1e,0xf2,0x42,0x2,0x1,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x13,0x12,0x12,0xfe,0x13,0x12,0x12,0x12,0x1e,0xf2,0x44,0x4,0x9,0x12,0x0,0x4,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x10,0x10,0x11,0x11,0x15,0xff,0x11,0x11,0x11,0x11,0x1d,0xf1,0x42,0x2,0x4,0x8,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x11,0x11,0x11,0xfd,0x11,0x11,0x11,0x11,0x1d,0xf2,0x42,0x4,0x9,0x12,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x88,0x48,0x50,0x30,0x20,0x50,0x88,0xe,0x4,
-+0x11,0x11,0x11,0x11,0x17,0xfd,0x11,0x11,0x11,0x11,0x1d,0xf1,0x41,0x1,0x1,0x1,0x8,0x8,0x8,0xa,0xfe,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0x17,0xfc,0x10,0x10,0x10,0x11,0x1d,0xf1,0x42,0x2,0x4,0x8,0x80,0xa0,0x90,0x94,0xfe,0xa0,0xa0,0xa4,0xa4,0x28,0x28,0x30,0x62,0xa2,0x1e,0x0,
-+0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x13,0x12,0x12,0x1e,0xf2,0x42,0x3,0x2,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0x10,0xff,0x12,0x12,0x12,0x13,0x1e,0xf2,0x44,0x4,0x8,0x10,0x40,0x44,0x7e,0x40,0x48,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x11,0x11,0x11,0xfd,0x11,0x11,0x11,0x11,0x1d,0xf1,0x42,0x2,0x4,0x0,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x10,0x10,0x50,0x30,0x18,0x14,0x10,0x10,0x10,
-+0x10,0x10,0x13,0x12,0x12,0xfe,0x13,0x12,0x12,0x12,0x1e,0xf2,0x42,0x3,0x6,0x0,0x8,0x3c,0xe0,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x10,0x90,0x52,0x2a,0x6,
-+0x10,0x10,0x10,0x13,0x12,0xfc,0x11,0x11,0x11,0x11,0x1d,0xf1,0x41,0x1,0x0,0x0,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0x10,0x30,0x40,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0x12,0xff,0x12,0x12,0x12,0x12,0x1e,0xf2,0x44,0x4,0x8,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x80,0x88,0x98,0xa0,0xc0,0x82,0x82,0x7e,0x0,
-+0x10,0x11,0x11,0x11,0x11,0xfd,0x11,0x17,0x12,0x12,0x1e,0xf2,0x43,0x0,0x0,0x0,0x8,0xfc,0x8,0x48,0x28,0x28,0xa,0xfe,0x8,0x88,0x48,0x48,0xfc,0x8,0x50,0x20,
-+0x10,0x11,0x11,0x12,0x12,0xfc,0x17,0x11,0x12,0x14,0x17,0x1c,0xf0,0x40,0x0,0x1,0x20,0x20,0x20,0x24,0x7e,0xa4,0xa4,0x24,0x24,0xa4,0xa4,0x24,0x44,0x44,0x94,0x8,
-+0x10,0x17,0x10,0x10,0x10,0xfc,0x14,0x12,0x12,0x12,0x1c,0xf0,0x40,0x0,0xf,0x0,0x8,0xfc,0xa0,0xa0,0xa0,0xa4,0xa4,0xa4,0xa8,0xa8,0xa0,0xa0,0xa0,0xa4,0xfe,0x0,
-+0x10,0x17,0x10,0x10,0x11,0xfd,0x13,0x10,0x10,0x10,0x13,0x1c,0xf0,0x40,0xf,0x0,0x8,0xfc,0x80,0x80,0x10,0x8,0xfc,0x0,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0x12,0xfe,0x12,0x12,0x12,0x12,0x1e,0xf2,0x42,0x2,0x2,0x2,0x4,0xfe,0x4,0x4,0xf4,0x4,0x4,0xf4,0x94,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x14,0x14,0x17,0xfc,0x10,0x13,0x10,0x10,0x13,0x1e,0xf2,0x42,0x2,0x1,0x40,0x40,0x44,0x44,0xfc,0x4,0x8,0xfc,0x8,0x8,0xf8,0x8,0x0,0x2,0x2,0xfe,
-+0x20,0x20,0x2f,0x21,0x22,0xfa,0x24,0x2f,0x21,0x29,0x25,0x3a,0xe2,0x5,0x8,0x10,0x4,0xc,0x70,0x10,0x10,0x50,0x5c,0x50,0x50,0x50,0x50,0x50,0x7c,0x0,0x86,0x7c,
-+0x10,0x10,0x10,0x13,0x12,0xfe,0x12,0x12,0x12,0x12,0x1e,0xf2,0x42,0x2,0x2,0x2,0x40,0x40,0x84,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x20,0x20,0x20,0x2f,0x20,0xf8,0x25,0x24,0x24,0x24,0x24,0x3c,0xe5,0x44,0x7,0x4,0x80,0x40,0x44,0xfe,0x0,0x10,0x14,0xa4,0xa4,0x44,0xa4,0x94,0x14,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x17,0x10,0xfc,0x11,0x13,0x11,0x10,0x1c,0xf1,0x46,0x0,0x3,0xc,0x80,0x40,0x44,0xfe,0x80,0x90,0x10,0xe0,0x28,0x48,0x90,0x10,0x20,0xd8,0x6,0x2,
-+0x10,0x13,0x12,0x12,0x13,0xfe,0x12,0x13,0x12,0x12,0x1e,0xf2,0x42,0x2,0x3,0x2,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x88,0x50,0x20,0x10,0x8e,0x4,0x0,
-+0x10,0x11,0x11,0x11,0x11,0xfd,0x11,0x10,0x13,0x10,0x10,0x1d,0xf0,0x40,0x7,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0xfe,0x20,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x27,0x24,0x24,0xfc,0x24,0x27,0x24,0x24,0x24,0x3c,0xe7,0x44,0x0,0x0,0x8,0x88,0xc8,0x88,0x8a,0xfe,0x88,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0x28,0x10,
-+0x10,0x11,0x11,0x11,0x11,0xfd,0x10,0x13,0x12,0x12,0x1e,0xf2,0x43,0x2,0x2,0x2,0x8,0xfc,0x8,0x8,0xf8,0x48,0x44,0xfe,0x44,0x44,0x44,0xb4,0x14,0x4,0x14,0x8,
-+0x10,0x11,0x11,0x11,0x11,0xfc,0x13,0x12,0x12,0x12,0x1e,0xf2,0x42,0x0,0x3,0xc,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x4,0x24,0x24,0x24,0x44,0x44,0x98,0x4,0x2,
-+0x10,0x10,0x17,0x10,0x12,0xfd,0x10,0x10,0x17,0x11,0x10,0x1c,0xf0,0x40,0x0,0x0,0x8,0x3c,0xc0,0x44,0x24,0x28,0x10,0x14,0xfe,0x10,0x90,0x90,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x13,0x12,0x14,0xfd,0x10,0x10,0x17,0x10,0x1c,0xf0,0x41,0x1,0x2,0xc,0x80,0x40,0xfe,0x2,0x24,0xf0,0x0,0x4,0xfe,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x17,0x10,0x10,0xff,0x12,0x13,0x12,0x13,0x1e,0xf3,0x42,0x2,0xf,0x0,0x40,0x48,0xfc,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xa,0xfe,0x0,
-+0x10,0x10,0x10,0x17,0x11,0xfd,0x13,0x16,0x1a,0x13,0x1e,0xf2,0x43,0x2,0x0,0x0,0x80,0x80,0x84,0xfe,0x10,0x50,0xf8,0x4e,0x48,0xf8,0x48,0x48,0xf8,0x4a,0x42,0x3e,
-+0x10,0x13,0x12,0x13,0x12,0xff,0x11,0x11,0x13,0x14,0x10,0x1d,0xf1,0x42,0x4,0x1,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x4,0xfe,0xa4,0xa4,0x24,0x44,0x44,0x94,0x8,
-+0x10,0x10,0x13,0x12,0x12,0xff,0x12,0x12,0x13,0x10,0x1d,0xf7,0x40,0x0,0x0,0x0,0x40,0x84,0xfe,0x24,0x24,0xfc,0x44,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x10,0x11,0xfe,0x14,0x13,0x10,0x10,0x1c,0xf0,0x45,0x5,0x9,0x0,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x44,0xf8,0x10,0x20,0x80,0x40,0x44,0x12,0x12,0xf0,
-+0x20,0x27,0x24,0x24,0x24,0xff,0x24,0x24,0x24,0x27,0x3c,0xe4,0x44,0x8,0x9,0x10,0x4,0xbe,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0xa4,0xd4,0x88,
-+0x10,0x10,0x10,0x11,0x12,0xff,0x12,0x12,0x12,0x13,0x1e,0xf0,0x40,0x1,0x6,0x18,0x80,0x80,0xf8,0x10,0x24,0xfe,0x24,0x24,0x44,0xfc,0x44,0xa0,0xb0,0x2a,0x22,0x1e,
-+0x20,0x23,0x20,0x21,0x28,0xfb,0x20,0x27,0x24,0x2b,0x3a,0xe2,0x42,0x2,0x0,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x42,0xfc,0x48,0x48,0x48,0x58,0x40,0x40,
-+0x10,0x10,0x13,0x10,0x10,0xff,0x10,0x10,0x13,0x10,0x1e,0xf1,0x42,0xc,0x1,0x0,0x40,0x48,0xfc,0x48,0x4a,0xfe,0x48,0x48,0xf8,0x40,0x48,0x50,0x50,0x4e,0x44,0x80,
-+0x10,0x13,0x12,0x12,0x13,0xfe,0x12,0x12,0x12,0x12,0x1e,0xf3,0x45,0x5,0x9,0x10,0x4,0xfe,0x4,0x4,0xfc,0x20,0xa8,0xa8,0xa8,0xf8,0x20,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x12,0x12,0x17,0x12,0xfe,0x12,0x12,0x13,0x10,0x1f,0xf0,0x41,0x2,0xc,0x0,0x90,0x90,0x94,0xfe,0x90,0x90,0xf0,0x0,0xfc,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x10,0x17,0x10,0x10,0x17,0xfc,0x14,0x14,0x17,0x10,0x1c,0xf7,0x40,0x0,0xf,0x0,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xa4,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0x12,0xff,0x12,0x10,0x17,0x10,0x1c,0xf0,0x41,0x1,0x2,0xc,0x4,0xfe,0x94,0x94,0x94,0xfc,0x44,0x20,0xfe,0x80,0xf8,0x88,0x8,0x8,0x28,0x10,
-+0x11,0x11,0x11,0x12,0x13,0xfe,0x16,0x1a,0x13,0x12,0x1f,0xf2,0x42,0x2,0x2,0x3,0x0,0x78,0x8,0x12,0xfe,0x0,0x88,0xfc,0x20,0x24,0xfe,0x20,0x20,0x50,0x8e,0x4,
-+0x10,0x17,0x10,0x13,0x12,0xfe,0x13,0x10,0x17,0x15,0x1c,0xf5,0x44,0x4,0x4,0x4,0x8,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x14,0xa4,0xf4,0x44,0x44,0x54,0x8,
-+0x10,0x13,0x12,0x12,0x12,0xfe,0x12,0x12,0x12,0x12,0x1e,0xf2,0x44,0x5,0xa,0x0,0x4,0xfe,0x20,0x44,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x20,0xa8,0x26,0x22,0x60,
-+0x13,0x12,0x13,0x12,0x13,0xfc,0x17,0x14,0x14,0x17,0x1c,0xf3,0x41,0x0,0x3,0xc,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0xa4,0xa4,0xfc,0x0,0xf8,0x10,0xe0,0x18,0x6,
-+0x20,0x27,0x24,0x25,0x24,0xff,0x24,0x25,0x24,0x25,0x3d,0xe5,0x49,0x9,0x11,0x1,0x20,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0x2c,
-+0x24,0x22,0x28,0x24,0x21,0xfc,0x24,0x29,0x20,0x2f,0x38,0xe0,0x41,0x2,0xc,0x0,0x8,0xfc,0x48,0xc8,0x48,0x88,0xa8,0x10,0x44,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x20,0x27,0x24,0x27,0x24,0xfd,0x24,0x25,0x24,0x25,0x3e,0xe4,0x47,0x8,0x10,0x0,0x4,0xfe,0x4,0xfc,0x20,0x24,0xa8,0x24,0xa0,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,
-+0x8,0x7f,0x8,0x7f,0x49,0x7f,0x40,0x4f,0x81,0x3f,0x5,0xf,0x18,0x2f,0x8,0xf,0x78,0x48,0x4c,0x80,0x7c,0x28,0x10,0xee,0x0,0xf8,0x0,0xf0,0x1c,0xf0,0x10,0xf0,
-+0x8,0x7f,0x8,0xff,0x22,0x3e,0x14,0x7f,0x2,0x1f,0x11,0x1f,0x12,0xff,0x1,0x1,0x10,0x10,0xfe,0x10,0x7c,0x28,0x10,0x6e,0x0,0xf0,0x10,0xf0,0x14,0xfe,0x0,0x0,
-+0x10,0xfe,0x11,0x7c,0x0,0xfe,0x82,0x7c,0x1,0x7c,0x44,0x44,0x7d,0x29,0xfe,0x0,0x20,0x20,0x20,0xbe,0x42,0x14,0x50,0x98,0x26,0x42,0x20,0x10,0x54,0x42,0x4a,0x38,
-+0x4,0x4,0xff,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x44,0xfe,0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x6,0x2,0x2,0x7f,0x2,0x4,0x4,0x4,0x8,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x40,0x0,0x20,0xf0,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x3f,0x4,0x4,0x4,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x40,0x44,0xfe,0x40,0x40,0xf0,0x10,0x20,0x48,0xfc,0x8,0x8,0x8,0x88,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x4,0x1,0x1,0x1,0x7f,0x1,0x1,0x1,0x1,0x1,0xff,0x0,0x40,0x44,0xfe,0x40,0x40,0x0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x0,0x3f,0x1,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x50,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x3f,0x8,0x8,0xc,0x12,0x12,0x11,0x20,0x20,0x43,0xc,0x40,0x44,0xfe,0x40,0x40,0xf0,0x20,0x40,0xf0,0x10,0x20,0x20,0xc0,0xb0,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x6,0x2,0x3f,0x2,0x1a,0x4,0x6,0x5,0x8,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x40,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0xa2,0x22,0x1e,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x3f,0x0,0x0,0x1f,0x10,0x20,0x3f,0x0,0x0,0x0,0x0,0x40,0x44,0xfe,0x40,0x50,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x4,0x3f,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0xf,0x0,0x40,0x44,0xfe,0x40,0x50,0xf8,0x10,0x10,0xf0,0x10,0x0,0x0,0x4,0x4,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x2,0x4,0x1f,0x0,0x3,0xc,0x3f,0x0,0x0,0x1,0xe,0x70,0x40,0x44,0xfe,0x40,0x0,0x20,0xc0,0x80,0x20,0x20,0xc0,0x40,0x80,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x5,0x1,0x3f,0x1,0x1,0xff,0x2,0x2,0x4,0x8,0x30,0xc0,0x40,0x44,0xfe,0x40,0x40,0x10,0xf8,0x0,0x4,0xfe,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x0,0x0,0xff,0x4,0x4,0x4,0x8,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x10,0xf8,0x0,0x4,0xfe,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x0,0x3f,0x0,0x0,0xff,0x2,0x2,0x4,0x8,0x1f,0x0,0x40,0x44,0xfe,0x40,0x40,0x10,0xf8,0x0,0x4,0xfe,0x0,0x0,0x40,0x20,0xf0,0x10,
-+0x4,0x4,0xff,0x4,0x1,0xff,0x1,0x1,0x1f,0x11,0x11,0x11,0x11,0x11,0x1,0x1,0x40,0x44,0xfe,0x40,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x50,0x20,0x0,0x0,
-+0x4,0x4,0xff,0x5,0x1,0xff,0x1,0x1,0x3f,0x8,0x4,0x2,0x1,0x6,0x18,0xe0,0x40,0x44,0xfe,0x40,0x4,0xfe,0x0,0x0,0xf0,0x20,0x40,0x80,0x0,0xc0,0x30,0xe,
-+0x4,0x4,0xff,0x4,0x4,0x3f,0x21,0x21,0x2f,0x21,0x21,0x22,0x42,0x44,0x88,0x10,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x4,0x1f,0x10,0x10,0x17,0x14,0x14,0x24,0x24,0x44,0x84,0x3,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x20,0xf0,0x20,0x20,0xa0,0x40,0x4,0x4,0xfc,
-+0x4,0x4,0xff,0x4,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x20,0x20,0x3f,0x0,0x40,0x44,0xfe,0x40,0xf8,0x0,0x20,0xf0,0x20,0x20,0xe0,0x20,0x0,0x8,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x26,0x38,0x20,0x0,0x40,0x44,0xfe,0x40,0x40,0x80,0x88,0x98,0xa0,0xc0,0x80,0x80,0x84,0x84,0x7c,0x0,
-+0x4,0x4,0xff,0x4,0x5,0x1,0x9,0x9,0x9,0x9,0x9,0x9,0x9,0x9,0xff,0x0,0x40,0x44,0xfe,0x40,0x40,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x5,0x1,0x3f,0x21,0x21,0x22,0x22,0x24,0x28,0x20,0x20,0x20,0x40,0x44,0xfe,0x40,0x40,0x8,0xfc,0x8,0x8,0x88,0x48,0x68,0x28,0x8,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x0,0x1f,0x10,0x11,0x11,0x11,0x12,0x12,0x4,0x8,0x30,0xc0,0x40,0x44,0xfe,0x40,0x10,0xf8,0x10,0x10,0x10,0x90,0x90,0x90,0x80,0x84,0x84,0x7c,
-+0x4,0x4,0xff,0x4,0x8,0x8,0xb,0x8,0xff,0xa,0x9,0x8,0x8,0xa,0xc,0x8,0x40,0x44,0xfe,0x40,0x20,0xc0,0x0,0x4,0xfe,0x0,0x0,0x80,0x40,0x20,0x1c,0x8,
-+0x4,0x4,0xff,0x4,0x4,0x8,0x8,0x8,0x8,0x8,0x8,0x14,0x12,0x20,0x41,0x2,0x40,0x44,0xfe,0x40,0x40,0x20,0x20,0x20,0x20,0x50,0x50,0x50,0x88,0x88,0x4,0x2,
-+0x4,0x4,0xff,0x5,0x2,0x4,0x8,0x33,0xc0,0x0,0x1f,0x0,0x0,0x0,0x0,0x1,0x40,0x44,0xfe,0x40,0x80,0x40,0x30,0xe,0x84,0x20,0xf0,0x20,0x40,0x40,0x80,0x0,
-+0x4,0x4,0xff,0x4,0x8,0x8,0xf,0x12,0x22,0x44,0x4,0x8,0x11,0x22,0x4,0x0,0x40,0x44,0xfe,0x40,0x0,0x8,0xfc,0x48,0x48,0x48,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x4,0x4,0xff,0x4,0xc,0x8,0xf,0x11,0x11,0x21,0x2,0x2,0x4,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x40,0x0,0xf8,0x10,0x20,0x0,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x14,0x18,0x10,0x40,0x44,0xfe,0x40,0xf8,0x80,0x80,0x80,0x88,0xfc,0x80,0x40,0x40,0x22,0x12,0xe,
-+0x4,0x4,0xff,0x4,0x0,0x7,0x4,0x8,0x30,0xf,0x4,0x2,0x1,0x2,0xc,0x70,0x40,0x44,0xfe,0x40,0x0,0xc0,0x48,0x7c,0x0,0xe0,0x40,0x80,0x0,0x80,0x60,0x1c,
-+0x4,0x4,0xff,0x4,0x6,0x1,0xff,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x40,0x4,0xfe,0x0,0x0,0x40,0x30,0x10,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x6,0x41,0x7f,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x44,0xfe,0x40,0x40,0x0,0xfe,0x2,0x4,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x2,0xc,0x8,0xf,0xf8,0x48,0x8,0x8,0x28,0x10,0x40,0x44,0xfe,0x40,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x24,0x22,0x21,0x21,0x20,0x20,0x24,0x28,0x30,0x1,0x6,0x40,0x44,0xfe,0x40,0x8,0x8,0x8,0x10,0x10,0x10,0x20,0x20,0x50,0x8c,0x4,0x0,
-+0x4,0x4,0xff,0x5,0x1,0xff,0x1,0x1,0x7f,0x3,0x5,0x9,0x31,0xc1,0x1,0x1,0x40,0x44,0xfe,0x40,0x4,0xfe,0x0,0x8,0xfc,0x80,0x40,0x30,0xe,0x4,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x8,0x8,0xff,0x8,0x8,0x8,0xf,0x8,0x8,0x8,0xf,0x8,0x40,0x44,0xfe,0x40,0x20,0x24,0xfe,0x20,0x20,0x20,0xe0,0x20,0x20,0x20,0xe0,0x20,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x0,0x1,0x3,0x5,0x19,0x61,0x1,0x1,0xff,0x0,0x40,0x44,0xfe,0x40,0x4,0xfe,0x80,0x0,0x0,0x60,0x18,0x4,0x0,0x4,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x2,0x2,0xff,0x2,0x2,0x4,0x4,0x8,0x8,0x11,0x26,0x40,0x40,0x44,0xfe,0x40,0x20,0x14,0xfe,0x80,0x88,0x98,0xa0,0xc0,0x82,0x82,0x7e,0x0,
-+0x4,0x4,0xff,0x4,0x2,0x2,0xff,0x4,0x4,0x7,0xa,0x9,0x10,0x21,0x46,0x18,0x40,0x44,0xfe,0x40,0x40,0x24,0xfe,0x0,0x0,0xf0,0x20,0x40,0x80,0x60,0x1c,0x8,
-+0x4,0x4,0xff,0x4,0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x40,0x44,0xfe,0x40,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x4,0x4,0xff,0x4,0x0,0xf,0x8,0x8,0xf,0x8,0x8,0xf,0x8,0x8,0xff,0x0,0x40,0x44,0xfe,0x40,0x20,0xf0,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x24,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x1,0x1f,0x11,0x11,0x1f,0x11,0x11,0xff,0x10,0x10,0x10,0x10,0x40,0x44,0xfe,0x40,0x10,0xf8,0x10,0x10,0xf0,0x10,0x14,0xfe,0x10,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x20,0x20,0x27,0x24,0x24,0x24,0x27,0x24,0x20,0x20,0x40,0x44,0xfe,0x40,0x8,0xfc,0x8,0x48,0xe8,0x48,0x48,0x48,0xc8,0x48,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x10,0x1f,0x30,0x50,0x90,0x10,0x10,0x17,0x10,0x10,0x20,0x24,0xfe,0x20,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x48,0xfc,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x10,0x17,0x30,0x51,0x90,0x10,0x10,0x10,0x10,0x10,0x40,0x44,0xfe,0x40,0x10,0x10,0x14,0xfe,0x10,0x10,0x90,0x90,0x10,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x5,0x2,0x4,0xa,0x31,0xc1,0x3f,0x0,0x0,0xc,0x3,0x0,0x0,0x40,0x44,0xfe,0x40,0x80,0x40,0x30,0xe,0x4,0xf0,0x20,0x40,0x80,0x0,0xc0,0x40,
-+0x4,0x4,0xff,0x5,0x2,0xf,0x8,0xa,0x9,0x8,0xf,0x0,0xff,0x0,0x0,0x0,0x40,0x44,0xfe,0x40,0x20,0xf0,0x20,0x20,0x60,0x8,0xfc,0x8,0xc8,0x8,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x6,0x38,0x20,0x20,0x3e,0x20,0x20,0x26,0x38,0x20,0x0,0x0,0x40,0x44,0xfe,0x40,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0xa8,0x90,0x80,0x80,0x80,
-+0x4,0x4,0xff,0x4,0x6,0x38,0x22,0x22,0x22,0x22,0x22,0x3c,0x24,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x8,0xfc,0x88,0x88,0x88,0x88,0xc8,0xa8,0x90,0x80,0x80,0x80,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x41,0x81,0x1,0x3f,0x1,0x1,0x1,0x1,0x7f,0x0,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0x4,0x10,0xf8,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x40,0x9f,0x4,0x5,0x3f,0x4,0x4,0x4,0x4,0x4,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0xe4,0x20,0x20,0xa0,0x20,0x20,0x24,0x14,0x8,
-+0x4,0x4,0xff,0x4,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x20,0x20,0x28,0x30,0x20,0x40,0x44,0xfe,0x40,0xf8,0x8,0x8,0xf8,0x80,0x88,0xfc,0x40,0x40,0x22,0x12,0xe,
-+0x4,0x4,0xff,0x4,0x3f,0x4,0x4,0x8,0x10,0x60,0x1f,0x10,0x10,0x10,0x1f,0x10,0x40,0x44,0xfe,0x40,0xf8,0x8,0x8,0x8,0x50,0x20,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x4,0x4,0xff,0x4,0x0,0xff,0x4,0x4,0x3f,0x24,0x24,0x28,0x30,0x20,0x3f,0x20,0x40,0x44,0xfe,0x40,0x4,0xfe,0x40,0x48,0xfc,0x48,0x48,0x38,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x1,0xff,0x1,0x3f,0x1,0x3f,0x21,0x3f,0x2,0xc,0x30,0xc0,0x40,0x44,0xfe,0x40,0x4,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xfc,0x84,0x4c,0x30,0xe,
-+0x4,0x4,0xff,0x4,0x1,0x1,0x7f,0x1,0x3,0x3c,0x0,0x7f,0x4,0x4,0x8,0x70,0x40,0x44,0xfe,0x40,0x0,0xf8,0x20,0x44,0x84,0x7c,0x10,0xf8,0x80,0x82,0x82,0x7e,
-+0x4,0x4,0xff,0x4,0x20,0x20,0x3e,0x20,0x26,0x39,0x1,0xff,0x1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x80,0x98,0xe0,0x80,0x84,0x7c,0x0,0xfe,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x4,0x24,0x27,0x24,0x24,0x24,0x24,0x27,0xf8,0x40,0x0,0x40,0x44,0xfe,0x40,0x0,0x40,0x44,0x4c,0x50,0x60,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x4,0x4,0xff,0x4,0x1f,0x10,0x10,0x10,0x1f,0x0,0x3f,0x20,0x20,0x20,0x3f,0x20,0x40,0x44,0xfe,0x40,0xf0,0x10,0x10,0x10,0xf0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x3f,0x20,0x2f,0x20,0x27,0x24,0x24,0x24,0x27,0x20,0x20,0x20,0x40,0x44,0xfe,0x40,0xf8,0x8,0xe8,0x8,0xc8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x20,0x20,0x27,0x24,0x24,0x27,0x20,0x20,0x3f,0x20,0x40,0x44,0xfe,0x40,0x8,0xfc,0x8,0x48,0xe8,0x48,0x48,0xc8,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x11,0x11,0x1f,0x21,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x40,0x44,0xfe,0x40,0x0,0x20,0xf0,0x0,0x4,0xfe,0x80,0x40,0x20,0x1c,0x8,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x7d,0x4,0x8,0x13,0x3c,0x4,0x24,0x19,0xc,0x32,0xc1,0x40,0x44,0xfe,0x40,0x1c,0xe0,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x0,0x6,0xfc,
-+0x4,0x4,0xff,0x4,0x1,0x3e,0x2,0xff,0x4,0x8,0x34,0xc4,0x4,0x4,0x8,0x10,0x40,0x44,0xfe,0x40,0xf0,0x0,0x4,0xfe,0x40,0x30,0x4e,0x44,0x40,0x40,0x40,0x40,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x10,0x1f,0x30,0x50,0x90,0x10,0x11,0x12,0x14,0x18,0x40,0x44,0xfe,0x40,0x50,0x48,0x40,0xfe,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x17,0x10,0x30,0x50,0x9f,0x10,0x10,0x10,0x17,0x10,0x40,0x44,0xfe,0x40,0x8,0x3c,0xc0,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x4,0x9,0x10,0x64,0xb,0x18,0x28,0xc8,0x8,0x8,0x8,0x8,0x40,0x44,0xfe,0x40,0x8,0xfc,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x5,0x2,0x4,0x8,0x30,0xdf,0x1,0x1,0x1f,0x1,0x1,0x7f,0x0,0x40,0x44,0xfe,0x40,0x80,0x40,0x30,0xe,0xf4,0x0,0x20,0xf0,0x0,0x8,0xfc,0x0,
-+0x4,0x4,0xff,0x5,0x2,0x4,0x8,0x30,0xcf,0x0,0x3f,0x2,0x4,0x8,0x1f,0x0,0x40,0x44,0xfe,0x40,0x80,0x40,0x30,0x4e,0xe4,0x0,0xf8,0x0,0x40,0x20,0xf0,0x10,
-+0x4,0x4,0xff,0x14,0x10,0x3f,0x20,0x5f,0x90,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x40,0x44,0xfe,0x40,0x8,0xfc,0x8,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0xa8,0x10,
-+0x4,0x4,0xff,0x4,0x2,0x7,0x8,0x14,0x23,0x4,0xf,0x38,0xc8,0x8,0xf,0x8,0x40,0x44,0xfe,0x40,0x0,0xf0,0x20,0xc0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x1,0x7f,0x8,0x6,0x1,0x2,0xc,0x34,0xc4,0x4,0x8,0x10,0x40,0x44,0xfe,0x40,0x8,0xfc,0x20,0xc0,0x0,0xc0,0x70,0x4e,0x44,0x40,0x40,0x40,
-+0x4,0x4,0xff,0x4,0x1,0x7f,0x8,0x8,0x14,0x24,0x42,0x1,0x2,0x4,0x18,0x60,0x40,0x44,0xfe,0x40,0x8,0xfc,0x0,0x10,0x4c,0x44,0x80,0x0,0x80,0x60,0x1c,0x8,
-+0x4,0x4,0xff,0x4,0x1,0xff,0x2,0x4,0x8,0x1f,0x4,0x4,0x4,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x4,0xfe,0x0,0x40,0x20,0xf0,0x90,0x80,0x80,0x84,0x84,0x7c,
-+0x4,0x4,0xff,0x4,0x20,0x18,0xb,0x40,0x20,0x28,0x10,0x20,0x60,0x20,0x2f,0x20,0x40,0x44,0xfe,0x40,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x40,0x7f,0x41,0x89,0xf,0x11,0x21,0x7f,0x1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0x24,0xf0,0x0,0x8,0xfc,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x40,0x7f,0x41,0x41,0xbd,0x5,0x9,0x9,0x11,0x61,0x5,0x2,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0x14,0x20,0xc0,0x40,0x20,0x20,0x1c,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x1f,0x0,0xf,0x0,0x1f,0x0,0xff,0x8,0x4,0x4,0x0,0x0,0x40,0x44,0xfe,0x40,0xf0,0x10,0xf0,0x10,0xf0,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x4,0x4,0xff,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x14,0x12,0x11,0x10,0x14,0x18,0x10,0x40,0x44,0xfe,0x40,0xf0,0x10,0xf0,0x10,0xf8,0x10,0x20,0x40,0x80,0x60,0x1c,0x8,
-+0x4,0x4,0xff,0x4,0x1f,0x10,0x10,0x1f,0x10,0x12,0x11,0x20,0x20,0x43,0x80,0x0,0x40,0x44,0xfe,0x40,0xf0,0x10,0x10,0xf0,0x40,0x20,0x90,0x8e,0x4,0x0,0xc0,0x20,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x0,0xc,0x2,0x18,0x4,0xff,0x1,0x2,0xc,0x30,0x40,0x44,0xfe,0x40,0x0,0xf8,0x8,0x90,0x80,0x80,0x84,0xfe,0x0,0x60,0x18,0x4,
-+0x4,0x4,0xff,0x4,0x0,0x7e,0x4,0x8,0xe,0x38,0xc9,0x9,0xa,0x8,0x28,0x10,0x40,0x44,0xfe,0x40,0x20,0x20,0x20,0xa0,0xa8,0xa4,0x24,0x22,0x22,0x20,0xa0,0x40,
-+0x4,0x4,0xff,0x4,0x10,0x10,0x23,0x7c,0x8,0x10,0x26,0x78,0x20,0xe,0x73,0x20,0x40,0x44,0xfe,0x40,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x10,0x10,0x22,0x7d,0x8,0x10,0x26,0x78,0x0,0xe,0x70,0x20,0x40,0x44,0xfe,0x40,0x8,0x8,0x8,0xfe,0x8,0x88,0x48,0x48,0x8,0x8,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x10,0x10,0x10,0xfd,0x12,0x10,0x10,0x10,0x1c,0xe1,0x42,0x4,0x40,0x44,0xfe,0x40,0x80,0x84,0xfe,0x4,0x48,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x4,0x4,0xff,0x5,0x1,0x3f,0x1,0x7f,0x40,0x9f,0x0,0x1,0x7f,0x1,0x5,0x2,0x40,0x44,0xfe,0x40,0x10,0xf8,0x0,0xfe,0x2,0xe4,0x80,0x8,0xfc,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x7c,0x44,0x47,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,0x0,0x40,0x44,0xfe,0x40,0x10,0x10,0x14,0xfe,0x10,0x90,0x50,0x50,0x10,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x4,0xf,0x8,0x8,0xf,0x1,0x3f,0x21,0x21,0x22,0x2c,0x20,0x20,0x40,0x44,0xfe,0x40,0xe0,0x20,0x20,0xe0,0x8,0xfc,0x8,0x8,0xc8,0x48,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x1,0x3f,0x1,0x7f,0x5,0x9,0x3f,0xc4,0x4,0x4,0x8,0x30,0x40,0x44,0xfe,0x40,0xf0,0x0,0x4,0xfe,0x40,0x30,0xce,0x44,0xf0,0x10,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x6,0x3c,0x4,0xff,0x4,0x5,0x6,0x1c,0x64,0x4,0x15,0x8,0x40,0x44,0xfe,0x40,0x60,0x50,0x44,0xfe,0x40,0x48,0x48,0x30,0x20,0x52,0x8a,0x6,
-+0x4,0x4,0xff,0x14,0x10,0x1f,0x20,0x5f,0x12,0x11,0xff,0x22,0x21,0x3f,0x0,0x0,0x40,0x44,0xfe,0x40,0x10,0xf8,0x0,0xf0,0x10,0x14,0xfe,0x10,0x10,0xfc,0x50,0x20,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x14,0x15,0x36,0x54,0x94,0x14,0x14,0x10,0x11,0x12,0x40,0x44,0xfe,0x40,0x80,0x84,0xfe,0x88,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x10,0x17,0x30,0x52,0x91,0x11,0x11,0x10,0x1f,0x10,0x40,0x44,0xfe,0x40,0x80,0x40,0x48,0xfc,0x0,0x18,0x10,0x10,0x20,0x24,0xfe,0x0,
-+0x4,0x4,0xff,0x5,0x2,0x4,0x8,0x3f,0xc1,0x1,0x3f,0x1,0x9,0x11,0x25,0x2,0x40,0x44,0xfe,0x40,0x80,0x40,0x30,0xee,0x4,0x10,0xf8,0x0,0x20,0x18,0x8,0x0,
-+0x4,0x4,0xff,0x5,0x2,0x4,0x8,0x3f,0xc0,0x2,0x11,0x9,0x9,0x0,0x7f,0x0,0x40,0x44,0xfe,0x40,0x80,0x40,0x30,0xee,0x4,0x10,0x10,0x20,0x20,0x48,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x7f,0x11,0x9,0x3f,0x0,0x1,0x1,0xff,0x1,0x5,0x2,0x40,0x44,0xfe,0x40,0xf8,0x10,0x10,0x20,0xf0,0x40,0x80,0x4,0xfe,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x11,0x9,0x2,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x40,0x44,0xfe,0x40,0xf8,0x10,0x10,0x20,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x4,0x4,0xff,0x4,0x20,0x14,0xb,0x14,0x64,0xc,0x14,0x24,0xc5,0x5,0x2a,0x14,0x40,0x44,0xfe,0x40,0x50,0x48,0xfe,0x40,0x60,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x4,0x4,0xff,0x4,0x20,0x14,0x8,0x14,0x64,0xd,0x14,0x24,0xc4,0x4,0x29,0x12,0x40,0x44,0xfe,0x40,0x20,0x20,0xa4,0xa4,0xa8,0x20,0x50,0x50,0x90,0x88,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x1,0x3f,0x8,0x4,0x4,0xff,0x1,0x1,0x3f,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x10,0xf8,0x20,0x40,0x84,0xfe,0x0,0x10,0xf8,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x1,0x7f,0x40,0x9f,0x0,0x7f,0x4,0x4,0x4,0x8,0x10,0x60,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0xf4,0x0,0xfc,0x80,0x80,0x80,0x84,0x84,0x7c,
-+0x4,0x4,0xff,0x4,0x1,0x1f,0x10,0x1f,0x10,0x1f,0x12,0x11,0x10,0x14,0x18,0x10,0x40,0x44,0xfe,0x40,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x20,0xc0,0x60,0x1e,0x4,
-+0x4,0x4,0xff,0x4,0x7f,0x42,0x8f,0x8,0xb,0x8,0x8,0xf,0x0,0x7f,0x0,0x0,0x40,0x44,0xfe,0x40,0xfe,0x2,0xe4,0x20,0x20,0xa0,0x48,0xfc,0x8,0xc8,0x28,0x10,
-+0x4,0x4,0xff,0x4,0x10,0x17,0x20,0x7e,0xa,0x12,0x23,0x7c,0x0,0xe,0x70,0x20,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x48,0x48,0x48,0xf8,0x48,0x40,0x42,0x42,0x3e,
-+0x4,0xff,0x5,0x3f,0x1,0x1f,0x1,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x40,0xfe,0x40,0xf8,0x0,0xf0,0x4,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x30,
-+0x4,0x4,0xff,0x4,0x8,0x7f,0x8,0xf,0x8,0xf,0x8,0x8,0xff,0x4,0x8,0x30,0x40,0x44,0xfe,0x40,0x28,0xfc,0x20,0xe0,0x20,0xe0,0x20,0x24,0xfe,0x40,0x30,0x8,
-+0x4,0x4,0xff,0x4,0x8,0x8,0xfe,0x8,0x1c,0x1a,0x28,0x48,0x89,0x9,0xa,0x8,0x40,0x44,0xfe,0x40,0x1c,0xe0,0x80,0x84,0xfe,0x90,0x90,0x90,0x10,0x10,0x10,0x10,
-+0x4,0x4,0x7f,0x4,0x8,0xa,0x7f,0x8,0x1c,0x1a,0x29,0x48,0x88,0x8,0x9,0x8,0x40,0x44,0xfe,0x40,0x0,0x50,0x50,0x50,0x88,0xae,0x24,0x40,0x50,0x88,0xfc,0x4,
-+0x8,0x8,0xff,0x8,0xf,0x1,0x3f,0x21,0x3f,0x1,0x7f,0x1,0x3f,0x1,0xff,0x0,0x20,0x24,0xfe,0x20,0xe0,0x8,0xfc,0x8,0xf8,0x0,0xfc,0x0,0xf8,0x0,0xfe,0x0,
-+0x4,0x4,0xff,0x5,0x1,0x7f,0x2,0x4,0xf,0x30,0xdf,0x1,0x9,0x11,0x25,0x2,0x40,0x44,0xfe,0x40,0x8,0xfc,0x80,0x40,0xf0,0xe,0xf4,0x0,0x20,0x18,0x8,0x0,
-+0x4,0xff,0x5,0x7f,0x1,0x3f,0x1,0xff,0x1,0x3f,0x2,0xff,0x4,0x8,0x7,0x38,0x40,0xfe,0x40,0xfc,0x0,0xf0,0x14,0xfe,0x10,0xf0,0x4,0xfe,0x40,0x80,0x80,0x78,
-+0x4,0x4,0xff,0x4,0x10,0x10,0xff,0x11,0x11,0x1d,0xf2,0x52,0x14,0x18,0x50,0x23,0x40,0x44,0xfe,0x40,0x90,0x88,0xfe,0x0,0xf8,0x88,0x90,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x4,0xff,0x4,0x8,0xf,0x8,0xa,0xff,0x8,0x2c,0x2b,0x49,0x88,0x28,0x11,0x40,0x44,0xfe,0x40,0x0,0x7c,0x4,0x44,0x44,0x28,0x28,0x10,0x28,0x48,0x86,0x4,
-+0x4,0x4,0xff,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x0,0x3f,0x20,0x3f,0x20,0x3f,0x20,0x40,0x44,0xfe,0x40,0xf0,0x10,0xf0,0x10,0xf0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x10,0x10,0x7c,0x54,0x54,0x55,0x55,0x55,0x5d,0x11,0x11,0x11,0x40,0x44,0xfe,0x40,0x20,0x24,0x3e,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x4,0xff,0x4,0xd,0x31,0x21,0x21,0x3d,0x21,0x21,0x3f,0x2,0x4,0x18,0x60,0x40,0x44,0xfe,0x40,0x8,0x7c,0x8,0x8,0x78,0x8,0x8,0xf8,0x80,0x60,0x1c,0x8,
-+0x4,0xff,0x4,0x9,0x8,0x1f,0x10,0x30,0x5f,0x90,0x10,0x1f,0x10,0x10,0x1f,0x10,0x40,0xfe,0x40,0x0,0x88,0xfc,0x80,0x90,0xf8,0x80,0x90,0xf8,0x80,0x88,0xfc,0x0,
-+0x4,0x4,0xff,0x5,0x2,0x3f,0x21,0x3f,0x22,0x3f,0x5,0x9,0xff,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x3d,0x25,0x25,0x3d,0x25,0x25,0x3d,0x25,0x25,0x45,0x55,0x89,0x40,0x44,0xfe,0x40,0xf8,0x8,0x48,0x30,0x0,0xf8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x4,0xff,0x4,0xf,0x8,0x10,0x3f,0x51,0x11,0x1f,0x12,0x2,0x4,0x18,0x60,0x40,0x44,0xfe,0x40,0xe0,0x20,0x48,0xfc,0x8,0x8,0xf8,0x80,0xa0,0x94,0x84,0x7c,
-+0x4,0x4,0xff,0x4,0x8,0xf,0x10,0x26,0x78,0xa0,0x24,0x3e,0x20,0x20,0x3f,0x20,0x40,0x44,0xfe,0x40,0x0,0xf0,0x20,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0x4,0xff,0x4,0x1,0x7f,0x8,0x8,0x14,0x22,0x1,0xff,0x1,0x1,0x1,0x1,0x40,0x44,0xfe,0x40,0x8,0xfc,0x20,0x20,0x50,0x88,0x0,0xfe,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x10,0x8,0xff,0x10,0x1e,0x13,0x12,0x22,0x22,0x42,0x8a,0x4,0x40,0x44,0xfe,0x40,0x20,0x20,0x50,0x50,0x8e,0x4,0x60,0x10,0x0,0xc0,0x30,0x8,
-+0x4,0x4,0xff,0x4,0x40,0x33,0x12,0x82,0x4b,0x12,0x22,0xe3,0x22,0x22,0x3f,0x20,0x40,0x44,0xfe,0x40,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x14,0xfe,0x0,
-+0x4,0xff,0x4,0x41,0x7f,0x40,0x80,0x7f,0x4,0x4,0xf,0x18,0x28,0x48,0xf,0x8,0x40,0xfe,0x40,0x0,0xfe,0x2,0x4,0xfc,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x4,0xff,0x4,0x41,0x7f,0x40,0x8f,0x8,0x8,0xf,0x8,0xf,0x8,0x8,0xf,0x8,0x40,0xfe,0x40,0x0,0xfe,0x2,0xe4,0x20,0x20,0xe0,0x0,0xf0,0x10,0x10,0xf0,0x0,
-+0x4,0x4,0xff,0x4,0x41,0x7f,0x50,0x9e,0x12,0x22,0x52,0xc,0x4,0x8,0x30,0x40,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0xfc,0x88,0x88,0x88,0xa8,0x92,0x82,0x7e,0x0,
-+0x4,0x4,0xff,0x4,0x40,0x7f,0x42,0x84,0x1f,0x1,0x2,0x1f,0x9,0x9,0x31,0x3,0x40,0x44,0xfe,0x40,0x0,0xfe,0x2,0x24,0xc0,0x0,0x20,0xf0,0x20,0x18,0x8,0x0,
-+0x4,0x4,0xff,0x4,0x7c,0x9,0x11,0x11,0x15,0x39,0xd2,0x12,0x12,0x14,0x58,0x20,0x40,0x44,0xfe,0x40,0x1c,0xe0,0x50,0x50,0x50,0x50,0x50,0x48,0x48,0x54,0xf6,0x0,
-+0x4,0x4,0xff,0x4,0x1f,0x0,0x40,0x51,0x49,0x45,0x45,0x49,0x53,0x41,0x7f,0x40,0x40,0x44,0xfe,0x40,0xe0,0x20,0x44,0x94,0x24,0x44,0x44,0x34,0x14,0x4,0xfc,0x4,
-+0x4,0xff,0x4,0x8,0x7e,0x8,0x3e,0x8,0x7e,0x9,0x1,0xff,0x2,0x4,0x18,0x60,0x40,0xfe,0x40,0x8,0xfc,0x48,0x48,0x48,0xa8,0x10,0x4,0xfe,0x80,0x40,0x30,0xc,
-+0x4,0x4,0xff,0x4,0x8,0x7f,0x8,0x8,0x7f,0x0,0x8,0x7f,0x8,0xf,0x78,0x20,0x40,0x44,0xfe,0x40,0x8,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x28,0x10,
-+0x4,0xff,0x4,0x8,0x3f,0x8,0xf,0x8,0xf,0x8,0xff,0x12,0x14,0x10,0x1f,0x0,0x40,0xfe,0x40,0x20,0xf8,0x20,0xe0,0x20,0xe0,0x24,0xfe,0x80,0x40,0x10,0xf8,0x0,
-+0x4,0x4,0xff,0x4,0x8,0x8,0x7e,0x8,0x18,0x1c,0x2a,0x28,0x48,0x88,0x8,0x8,0x40,0x44,0xfe,0x40,0x4,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x20,0x3f,0x24,0x3f,0x25,0x29,0x2a,0x44,0x5b,0x80,0x40,0x44,0xfe,0x50,0x48,0xfc,0x40,0xc8,0x48,0xd0,0x20,0x20,0x60,0xa2,0x12,0xe,
-+0x4,0x4,0xff,0x4,0x0,0x3f,0x20,0x2f,0x28,0x2a,0x2a,0x2a,0x2a,0x45,0x44,0x98,0x40,0x44,0xfe,0x50,0x28,0xfc,0x20,0xa0,0xa4,0xa4,0xa8,0xa8,0x90,0x32,0xca,0x86,
-+0x4,0x4,0xff,0x4,0x20,0x3e,0x20,0x2e,0x72,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x40,0x44,0xfe,0x40,0x80,0x98,0xe0,0x84,0x7c,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x4,0xff,0x4,0xf,0x8,0xf,0x0,0xff,0x8,0xf,0x8,0xf,0x8,0x7f,0x0,0x0,0x44,0xfe,0x40,0xe0,0x20,0xe0,0x4,0xfe,0x20,0xe0,0x20,0xe0,0x28,0xfc,0x20,0x20,
-+0x4,0xff,0x5,0x1f,0x11,0x1f,0x1,0xff,0x0,0x1f,0x10,0x11,0x11,0x12,0xc,0x30,0x40,0xfe,0x40,0xf0,0x10,0xf0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0x90,0x60,0x1c,
-+0x4,0x4,0xff,0x4,0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x2,0x29,0x29,0x48,0x7,0x40,0x44,0xfe,0x40,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x0,0x8,0x24,0x24,0xe0,
-+0x4,0xff,0x4,0x3e,0x22,0x3e,0x0,0x1f,0x0,0xff,0x8,0xf,0x0,0x0,0x0,0x0,0x40,0xfe,0x40,0xf8,0x88,0xf8,0x0,0xf0,0x4,0xfe,0x0,0xf0,0x10,0x10,0xa0,0x40,
-+0x4,0x4,0xff,0x4,0xb,0xa,0x12,0x13,0x30,0x5f,0x90,0x10,0x11,0x12,0x14,0x10,0x40,0x44,0xfe,0x40,0xf8,0x8,0x8,0xf8,0x40,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x4,0x4,0xff,0x14,0x20,0x7d,0x45,0x45,0x45,0x7d,0x45,0x45,0x45,0x7d,0x44,0x0,0x40,0x44,0xfe,0x40,0x4,0xfe,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x2,0xfe,0x0,
-+0x4,0xff,0x5,0x7f,0x0,0x1f,0x10,0x1f,0x40,0x7f,0x40,0x9f,0x1,0x1,0x5,0x2,0x40,0xfe,0x40,0xfc,0x0,0xf0,0x10,0xf0,0x0,0xfe,0x2,0xf4,0x0,0x0,0x0,0x0,
-+0x4,0x4,0xff,0x4,0x11,0x9,0x7f,0x5,0x39,0x2,0xff,0x4,0xc,0x3,0x6,0x38,0x40,0x44,0xfe,0x40,0x10,0x20,0xfc,0x40,0x38,0x0,0xfe,0x40,0x40,0x80,0x60,0x18,
-+0x4,0x4,0xff,0x4,0x20,0x1b,0x4a,0x22,0xa,0x12,0x22,0x64,0x24,0x24,0x28,0x30,0x40,0x44,0xfe,0x40,0x1c,0xe0,0xc,0xf0,0xa4,0xa8,0x90,0x90,0x90,0xa8,0xce,0x84,
-+0x4,0xff,0x4,0x41,0x7f,0x40,0x9f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x0,0xff,0x0,0x40,0xfe,0x40,0x0,0xfe,0x2,0xf4,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,
-+0x4,0x4,0xff,0x4,0x7e,0x42,0x42,0x7e,0x40,0x49,0x7c,0x40,0x44,0x7e,0x41,0x46,0x40,0x44,0xfe,0x40,0xfc,0x4,0x4,0xfc,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0xff,0x5,0x7f,0x1,0x1f,0x2,0xff,0x4,0xf,0x31,0xdf,0x5,0x9,0x31,0x1,0x40,0xfe,0x40,0xfc,0x0,0xf0,0x4,0xfe,0x40,0xf0,0xe,0xf4,0x40,0x30,0x8,0x0,
-+0x4,0xff,0x5,0x3f,0x1,0xff,0x1,0x7,0x1c,0x67,0x0,0xf,0x8,0xf,0x8,0xf,0x40,0xfe,0x40,0xd0,0x24,0xfe,0x0,0xe8,0x8,0xf8,0x0,0xe0,0x20,0xe0,0x20,0xe0,
-+0x4,0xff,0x4,0x3f,0x20,0x2f,0x20,0x3f,0x29,0x2a,0x2c,0x20,0x5f,0x44,0x82,0x0,0x40,0xfe,0x40,0xfc,0x0,0xf0,0x4,0xfe,0x10,0xe0,0x1e,0x20,0xfc,0x20,0x20,0x60,
-+0x4,0xff,0x4,0x1f,0x10,0x1f,0x10,0xff,0x8,0x3f,0xc0,0x8,0xf,0x0,0x3f,0x0,0x40,0xfe,0x40,0xf0,0x10,0xf0,0x14,0xfe,0x20,0xf8,0x26,0x20,0xf8,0x8,0xc8,0x30,
-+0x4,0x4,0xff,0x4,0x1f,0x11,0x11,0x1f,0x11,0x12,0x14,0x1f,0x29,0x28,0x48,0x7,0x40,0x44,0xfe,0x40,0xf0,0x10,0x10,0xf0,0x10,0x90,0x50,0xf0,0x8,0x84,0x24,0xe0,
-+0x4,0x4,0xff,0x4,0x8,0xf,0x10,0x11,0x30,0x5f,0x90,0x13,0x12,0x12,0x13,0x12,0x40,0x44,0xfe,0x80,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0xff,0x4,0x5,0xa,0x14,0xef,0x0,0x7e,0x2,0x12,0x6,0x1a,0x63,0xa,0x4,0x40,0xfe,0x40,0x40,0x20,0x50,0xee,0x4,0xf8,0x8,0x48,0x18,0x68,0x88,0x28,0x10,
-+0x4,0xff,0x5,0x7f,0x0,0x1f,0x10,0x1f,0x0,0x7f,0x40,0x4f,0x48,0x4f,0x40,0x40,0x40,0xfe,0x40,0xfc,0x0,0xf0,0x10,0xf0,0x4,0xfe,0x4,0xe4,0x24,0xe4,0x14,0x8,
-+0x4,0x4,0x7f,0x5,0x1f,0x92,0x52,0x13,0x34,0x50,0x9f,0x10,0x20,0x21,0x42,0xc,0x40,0x44,0xfe,0x40,0xfc,0x0,0x10,0xf8,0x40,0x44,0xfe,0xa0,0xa0,0x10,0xe,0x4,
-+0x4,0xff,0x4,0x1,0xff,0x14,0x13,0x14,0x1f,0x1,0x7f,0x42,0x44,0x4f,0x40,0x40,0x40,0xfe,0x40,0x4,0xfe,0x50,0x90,0x50,0xf0,0x4,0xfe,0x4,0x24,0xf4,0x14,0x8,
-+0x4,0xff,0x4,0x1,0x3f,0x4,0x7f,0x42,0x81,0x3f,0x4,0x7,0x8,0x8,0x10,0x60,0x40,0xfe,0x40,0x10,0xf8,0x40,0xfe,0x2,0x14,0xf8,0x0,0xe0,0x20,0x20,0xa0,0x40,
-+0x4,0xff,0x14,0x8,0x7f,0x4,0x3f,0x4,0xff,0x4,0x3f,0xc,0x14,0x24,0xc4,0x4,0x40,0xfe,0x50,0x20,0xfc,0x40,0xf8,0x48,0xfe,0x48,0xf8,0x60,0x50,0x4e,0x44,0x40,
-+0x4,0x4,0xff,0x4,0x22,0x14,0xff,0x8,0x49,0x49,0x7f,0x9,0x8,0x8,0x10,0x21,0x40,0x44,0xfe,0x40,0x7c,0x44,0xc4,0x7c,0x44,0x44,0x7c,0x44,0x44,0x84,0x94,0x8,
-+0x4,0x4,0xff,0x4,0x20,0x1b,0xa,0x43,0x26,0xb,0x12,0x72,0x12,0x12,0x13,0x12,0x40,0x44,0xfe,0x80,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x88,0x50,0x20,0x90,0xe,0x4,
-+0x4,0x4,0xff,0x4,0x7f,0x41,0x82,0xc,0x37,0xc1,0x1f,0x1,0x9,0x5,0x7f,0x0,0x40,0x44,0xfe,0x40,0xfe,0x2,0x84,0x60,0xde,0x4,0xf0,0x0,0x20,0x48,0xfc,0x0,
-+0x4,0x4,0xff,0x4,0x7d,0x4,0x28,0x11,0xfd,0x15,0x11,0x11,0x11,0x10,0x50,0x23,0x40,0x44,0xfe,0x40,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x44,0x58,0x84,0x2,
-+0x4,0x4,0xff,0x4,0x9,0xff,0x8,0x7f,0x49,0x49,0x7f,0x18,0x1c,0x2a,0xc8,0x9,0x40,0x44,0xfe,0x40,0x20,0xa4,0x7e,0x44,0xa8,0x20,0x20,0x20,0x50,0x48,0x8e,0x4,
-+0x4,0xff,0x4,0x3f,0x24,0x3f,0x40,0x7f,0x40,0x9f,0x4,0x7,0xa,0x9,0x1f,0x0,0x40,0xfe,0x40,0xf8,0x48,0xf8,0x0,0xfe,0x22,0xf4,0x0,0xc0,0x40,0x44,0xc4,0x3c,
-+0x4,0x4,0xff,0x5,0xa,0x37,0x24,0x27,0x24,0x2f,0x30,0x4,0x4,0x8,0x30,0xc0,0x40,0x44,0xfe,0x40,0x8,0xfc,0x48,0xc8,0x48,0xc8,0x38,0x40,0x40,0x42,0x42,0x3e,
-+0x4,0x4,0xff,0x4,0x8,0x11,0x25,0x49,0x17,0x30,0x52,0x92,0x13,0x12,0x14,0x18,0x40,0x44,0xfe,0x40,0x48,0x7c,0x40,0x44,0xfe,0x40,0x48,0x7c,0x40,0xc0,0x3e,0x8,
-+0x4,0x4,0xff,0x4,0x8,0x14,0x22,0x41,0xbe,0x0,0x49,0x29,0x2a,0x7,0x78,0x20,0x40,0x44,0xfe,0x40,0x20,0x24,0x3e,0x44,0xa4,0x24,0x24,0x28,0x10,0x28,0x46,0x84,
-+0x4,0x4,0xff,0x4,0x11,0x11,0xfe,0x24,0x20,0x3c,0x25,0x27,0x24,0x44,0x54,0x89,0x40,0x44,0xfe,0x40,0x4,0xfe,0x0,0x88,0xfc,0xa0,0x24,0xfe,0x50,0x50,0x8e,0x4,
-+0x4,0x4,0xff,0x4,0x17,0x45,0x44,0x4f,0x58,0x6f,0x48,0x4f,0x48,0x4f,0x48,0x40,0x40,0x44,0xfe,0x40,0xfc,0x4,0xa4,0xf4,0x84,0xe4,0x84,0xe4,0x84,0xf4,0x14,0x8,
-+0x4,0xff,0x24,0x13,0x42,0x2b,0x12,0x63,0x22,0x23,0x1,0xff,0x5,0x19,0x61,0x1,0x40,0xfe,0x40,0xfc,0x0,0xf8,0x8,0xf8,0x0,0xfc,0x0,0xfe,0x40,0x30,0xc,0x0,
-+0x4,0xff,0x4,0x1,0x7f,0x40,0x84,0x3e,0x0,0xff,0x14,0x14,0x14,0x25,0x44,0x83,0x40,0xfe,0x40,0x0,0xfe,0x42,0x74,0x40,0xf8,0x8,0x50,0x20,0x50,0x8a,0x2,0xfe,
-+0x4,0xff,0x4,0x1,0x7f,0x48,0x88,0x17,0x30,0x53,0x92,0x13,0x12,0x12,0x13,0x12,0x40,0xfe,0x40,0x0,0xfe,0x2,0x8,0xfc,0x40,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0xff,0x4,0x3e,0x12,0xa,0x13,0x22,0xc,0x31,0xc6,0x18,0x7,0x18,0x3,0x3c,0x40,0xfe,0x40,0xf8,0x48,0x28,0x48,0x88,0x60,0x98,0x6,0xc0,0x18,0x60,0x80,0x0,
-+0x4,0xff,0x5,0x7f,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x7f,0x12,0x51,0x50,0x8f,0x40,0xfe,0x40,0xfc,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x8,0xfc,0x0,0x14,0x12,0xf2,
-+0x4,0xff,0x4,0x7f,0x4,0x3f,0x24,0x3f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x1,0x1,0x40,0xfe,0x40,0xfc,0x40,0xf8,0x48,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,
-+0x4,0xff,0x4,0x3f,0x28,0x25,0x3f,0x22,0x2a,0x2a,0x2a,0x2f,0x42,0x42,0x84,0x8,0x40,0xfe,0x40,0xfc,0xa0,0x20,0xbe,0x42,0x94,0x90,0x90,0xa8,0xa8,0x28,0x46,0x84,
-+0x4,0xff,0x4,0xff,0x10,0x31,0x4a,0x96,0x25,0x4d,0x15,0x25,0x44,0x84,0x28,0x10,0x40,0xfe,0x40,0x10,0x50,0x7c,0x90,0x10,0x7c,0x10,0x14,0xfe,0x80,0x40,0x3e,0xc,
-+0x4,0xff,0x4,0x1f,0x10,0x1f,0x10,0xff,0x21,0x3f,0x21,0x3f,0x21,0xff,0x1,0x1,0x40,0xfe,0x40,0xf0,0x10,0xf0,0x14,0xfe,0x0,0x7c,0x44,0x28,0x10,0xa8,0x4e,0x84,
-+0x4,0xff,0x4,0x3e,0x22,0x3e,0x0,0xff,0x22,0x3e,0x22,0x3e,0x22,0xff,0x2,0x2,0x40,0xfe,0x40,0x10,0x48,0x48,0x40,0xfe,0x40,0x48,0x48,0x30,0x20,0x52,0x8a,0x4,
-+0x4,0xff,0x4,0x3f,0x24,0x3f,0x0,0x7f,0x40,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x40,0xfe,0x40,0xf8,0x48,0xf8,0x0,0xfe,0x2,0xf4,0x10,0xf0,0x10,0xf0,0x10,0xf0,
-+0x4,0xff,0x4,0x3f,0x9,0x5,0xff,0x5,0x9,0x31,0xdf,0x11,0x1f,0x11,0x1f,0x10,0x40,0xfe,0x40,0xf8,0x20,0x44,0xfe,0x40,0x20,0x18,0xf6,0x10,0xf0,0x10,0xf0,0x10,
-+0x4,0xff,0x4,0x22,0x14,0x7f,0x49,0x7f,0x49,0x7f,0x8,0xff,0x8,0x8,0x9,0x8,0x40,0xfe,0x40,0xc,0x70,0x40,0x40,0x7e,0x48,0x48,0x48,0x48,0x88,0x88,0x8,0x8,
-+0x4,0x4,0xff,0x4,0x3e,0x20,0x3d,0x20,0x3c,0x20,0xff,0x10,0x24,0x24,0x7d,0x2,0x40,0x44,0xfe,0x40,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x0,0x90,0x88,0x4,0x4,
-+0x4,0xff,0x4,0x0,0x7e,0x11,0x10,0x1c,0x25,0x54,0x8,0x9,0x10,0x20,0x43,0x0,0x20,0xfe,0x20,0x50,0x50,0xdc,0x50,0x50,0xdc,0x50,0x50,0xdc,0x50,0x54,0xfe,0x0,
-+0x4,0xff,0x4,0x3f,0x24,0x3f,0x0,0x7f,0x40,0x9f,0x8,0x1e,0x32,0x4c,0x8,0x70,0x40,0xfe,0x40,0xf8,0x48,0xf8,0x0,0xfe,0x2,0xf4,0x80,0x90,0xa0,0xc4,0x84,0x7c,
-+0x4,0xff,0x4,0x12,0x1a,0x2a,0x4f,0x90,0x2f,0x60,0xa7,0x25,0x25,0x29,0x28,0x30,0x40,0xfe,0x40,0x20,0xa4,0xbe,0xc4,0x24,0xa4,0x28,0x28,0x10,0x90,0x28,0x46,0x84,
-+0x4,0xff,0x5,0x3f,0x8,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x9,0x28,0x28,0x47,0x40,0xfe,0x40,0xf8,0x20,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0x88,0x24,0xe4,
-+0x4,0x4,0xff,0x5,0xff,0x10,0x14,0x25,0x7a,0x10,0x24,0x7c,0x4,0x8,0x10,0x60,0x40,0x40,0xfe,0x40,0xfe,0xa0,0x94,0xfe,0x90,0xfc,0x90,0xfc,0x90,0x94,0xfe,0x80,
-+0x4,0x4,0xff,0x4,0x49,0x2a,0xff,0x2a,0x49,0x10,0xff,0x22,0x64,0x18,0x26,0x41,0x40,0x44,0xfe,0x40,0x20,0x24,0x7e,0x84,0x44,0x48,0x48,0x30,0x20,0x50,0x8e,0x4,
-+0x4,0x4,0xff,0x4,0x3e,0x23,0x22,0x3e,0x21,0x20,0x3e,0x53,0x52,0x92,0x1e,0x10,0x40,0x44,0xfe,0x40,0x20,0xfc,0x88,0x50,0xfe,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,
-+0x4,0xff,0x24,0x23,0x22,0xfa,0x4a,0x4b,0x4a,0x92,0x52,0x22,0x55,0x4c,0x88,0x10,0x40,0xfe,0x40,0xfc,0x0,0xf8,0x0,0xfe,0xa8,0x90,0xce,0x8,0xfe,0x88,0x48,0x18,
-+0x4,0xff,0x8,0x3f,0xa,0x9,0x48,0x7f,0x40,0x9f,0x4,0xf,0x1,0x1f,0x1,0x7f,0x40,0xfe,0x20,0xf8,0x20,0x20,0xa0,0xfe,0x2,0xf4,0x40,0xe0,0x0,0xf0,0x0,0xfc,
-+0x4,0xff,0x4,0x7f,0x1,0x7f,0x51,0x8d,0x11,0x7f,0x2,0x3f,0x24,0x24,0x24,0x20,0x40,0xfe,0x40,0xfc,0x0,0xfe,0x12,0x64,0x10,0xfc,0x0,0xf8,0x48,0x48,0x48,0x18,
-+0x4,0xff,0x4,0x3f,0x1,0xff,0x1,0x3f,0x25,0x3f,0x1,0x3f,0x1,0x7f,0x24,0x42,0x40,0xfe,0x40,0xf8,0x0,0xfe,0x0,0xf8,0x48,0xf8,0x0,0xf8,0x0,0xfc,0x88,0x44,
-+0x4,0xff,0x14,0x10,0x3e,0x44,0x88,0x7f,0x49,0x7f,0x49,0x7f,0x0,0xf,0xf0,0x0,0x40,0xfe,0x40,0x44,0x28,0xfe,0x10,0x10,0x7c,0x10,0x10,0xfe,0x10,0x10,0x10,0x10,
-+0x4,0xff,0x5,0x7f,0x9,0x8,0x7f,0x40,0x4f,0x48,0x4f,0x1,0xff,0x5,0x19,0x61,0x40,0xfe,0x40,0xfc,0x20,0xa0,0xfc,0x4,0xe4,0x24,0xec,0x0,0xfe,0x40,0x30,0xc,
-+0x4,0xff,0x4,0x3e,0x8,0x7e,0x18,0x2d,0x4a,0x4,0x19,0xe9,0x5,0x9,0x15,0x2,0x40,0xfe,0x40,0x44,0x7e,0x94,0x24,0x44,0x98,0x40,0x30,0x2e,0x40,0x20,0x10,0x0,
-+0x4,0xff,0x4,0x3f,0x1,0x7f,0x51,0x8d,0x10,0x1f,0x30,0x5f,0x90,0x1f,0x10,0x1f,0x40,0xfe,0x40,0xf8,0x0,0xfe,0x12,0x64,0x90,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfc,
-+0x4,0xff,0x4,0x40,0x30,0x17,0x4,0x5,0xf4,0x15,0x16,0x15,0x14,0x19,0x28,0x47,0x40,0xfe,0x40,0x78,0x40,0xfc,0x44,0xf0,0x44,0x3c,0xa8,0x68,0xa8,0x24,0x40,0xfe,
-+0x4,0xff,0x4,0x12,0x13,0x24,0x4f,0x95,0x27,0x65,0xa7,0x21,0x2f,0x21,0x22,0x2c,0x40,0xfe,0x40,0x0,0xdc,0x80,0xc0,0x7e,0xc8,0x48,0xc8,0x8,0xe8,0x8,0x88,0x58,
-+0x4,0xff,0x24,0x3f,0x40,0xbf,0x29,0xff,0x25,0x3f,0x2,0xf,0x2,0x1f,0x5,0x39,0x40,0xfe,0x20,0xa4,0x7e,0x84,0x24,0xa8,0x10,0x2e,0x44,0xe0,0x20,0xf0,0x40,0x38,
-+0x4,0xff,0x14,0x3f,0x62,0x3e,0x21,0x3e,0x23,0x3e,0x1,0xff,0x5,0x19,0x61,0x1,0x40,0xfe,0x20,0xfc,0x88,0x50,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x40,0x30,0xc,0x0,
-+0x2,0x7f,0x2,0x3f,0x22,0x3f,0x2b,0x32,0x21,0x2f,0x21,0x2f,0x41,0x5f,0x81,0x1,0x20,0xfe,0xa0,0xfc,0x10,0xfe,0x54,0x92,0x20,0x3c,0x20,0x3c,0x20,0x3e,0x20,0x20,
-+0x0,0x0,0x0,0x0,0x4,0x4,0x4,0x4,0x4,0xff,0x4,0x4,0x8,0x8,0x10,0x20,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x2,0x1,0x7f,0x4,0x14,0x24,0x48,0x10,0x4,0x4,0xff,0x4,0x4,0x8,0x10,0x20,0x0,0x8,0xfc,0x40,0x50,0x4c,0xc4,0x0,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x1,0xff,0x2,0x4,0x8,0x30,0xc9,0x9,0x9,0x9,0x9,0x11,0x11,0x21,0x0,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0x24,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x1,0x1,0xff,0x2,0x4,0x8,0x3f,0xd0,0x14,0x12,0x11,0x12,0x14,0x18,0x1f,0x0,0x0,0x4,0xfe,0x80,0x40,0x20,0xf8,0x26,0x40,0x80,0x0,0x80,0x60,0x20,0xf8,0x0,
-+0x1,0x1,0xff,0x2,0x4,0x8,0x3f,0xc8,0xf,0x8,0xf,0x8,0x8,0x7f,0x0,0x0,0x0,0x4,0xfe,0x80,0x40,0x20,0xf8,0x26,0xe0,0x20,0xe0,0x28,0xfc,0x20,0x20,0x20,
-+0x2,0x1,0x7f,0x4,0x14,0x24,0x48,0x11,0x1,0xff,0x2,0x2,0x4,0x8,0x30,0xc0,0x0,0x8,0xfc,0x40,0x50,0x4c,0xc4,0x0,0x4,0xfe,0x80,0x80,0x40,0x30,0xe,0x4,
-+0x0,0x7f,0x22,0x11,0x12,0x4,0x1f,0x2,0x4,0x1f,0x1,0xff,0x1,0x2,0xc,0x70,0x3c,0xc8,0x8,0x10,0x40,0x20,0xf0,0x0,0x20,0xf0,0x4,0xfe,0x0,0x80,0x60,0x1c,
-+0x4,0x24,0x24,0x3d,0x4,0x7c,0x24,0x25,0x44,0x1,0xff,0x1,0x2,0x4,0x18,0x60,0x20,0x20,0x28,0xfc,0x20,0x20,0x28,0xfc,0x0,0x4,0xfe,0x0,0x80,0x40,0x30,0xe,
-+0x10,0x10,0x10,0xfe,0x29,0x46,0xfd,0x1,0xff,0x21,0x3d,0x5,0x5,0x5,0x28,0x10,0x80,0x80,0x88,0xfc,0x8,0x8,0xe8,0x28,0x28,0xe8,0x28,0x10,0x2,0x2,0xfe,0x0,
-+0x2,0x2,0x2,0x2,0xff,0x2,0x2,0x2,0x2,0x4,0x4,0x4,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x4,0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x84,0x84,0x7c,0x0,
-+0x20,0x20,0x20,0x20,0xfd,0x29,0x2a,0x28,0x28,0x28,0x28,0x28,0x28,0x48,0x47,0x80,0x80,0x80,0x88,0xfc,0x8,0x8,0x88,0x48,0x48,0x8,0x8,0x88,0x52,0x22,0xfe,0x0,
-+0x20,0x20,0x20,0x20,0xfd,0x2a,0x2c,0x28,0x28,0x28,0x29,0x29,0x2a,0x48,0x47,0x80,0x20,0x20,0x50,0x90,0x8,0x6,0x94,0x90,0x90,0x90,0x10,0x10,0x12,0x2,0xfe,0x0,
-+0x20,0x22,0x22,0x22,0xfe,0x2a,0x28,0x28,0x2b,0x2a,0x2a,0x2a,0x2f,0x48,0x47,0x80,0x90,0x90,0xa0,0xfc,0x80,0x90,0x88,0x80,0xf8,0xa8,0xa8,0xa8,0xfe,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0xfc,0x10,0x10,0x14,0x18,0x30,0xd0,0x10,0x10,0x10,0x50,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x12,0x11,0x12,0xfe,0x12,0x12,0x16,0x1a,0x32,0xd2,0x12,0x12,0x12,0x52,0x20,0x0,0x4,0x7e,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x17,0x14,0x18,0x31,0xd0,0x13,0x10,0x10,0x50,0x20,0x40,0x40,0x48,0xfc,0x40,0x44,0xfe,0x80,0x80,0xf8,0x8,0x10,0xd0,0x20,0x10,0x8,
-+0x10,0x10,0x10,0x10,0xfb,0x12,0x12,0x1b,0x32,0xd2,0x13,0x12,0x10,0x10,0x50,0x20,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x11,0xfd,0x13,0x15,0x15,0x19,0x31,0xd1,0x11,0x11,0x11,0x51,0x21,0x88,0x88,0x88,0x8,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x11,0xff,0x10,0x11,0x15,0x19,0x37,0xd1,0x11,0x11,0x11,0x52,0x24,0x40,0x40,0x90,0x8,0xfc,0x4,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x11,0x11,0x12,0xfa,0x14,0x1f,0x11,0x1a,0x32,0xd4,0x1f,0x10,0x10,0x50,0x21,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xa4,0xa4,0x44,0x44,0x94,0x8,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x17,0x18,0x30,0xd3,0x12,0x12,0x12,0x53,0x22,0x40,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x17,0x10,0xfc,0x17,0x10,0x15,0x1a,0x35,0xd9,0x11,0x11,0x12,0x52,0x24,0x8,0x3c,0xc0,0x40,0x84,0xfe,0xa0,0x10,0x8,0x16,0x14,0x10,0x10,0x10,0x10,0x10,
-+0x11,0x11,0x12,0x11,0xfd,0x10,0x10,0x14,0x19,0x31,0xd2,0x14,0x10,0x10,0x50,0x23,0x24,0x24,0x48,0x24,0x24,0x80,0x84,0xfe,0x4,0x84,0x48,0x28,0x10,0x20,0xc0,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x10,0x13,0x16,0x1a,0x32,0xd3,0x12,0x12,0x12,0x52,0x21,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x44,0x44,0x44,0xfc,0x4,0x0,0x2,0x2,0xfe,
-+0x10,0x10,0x17,0x12,0xfd,0x11,0x10,0x14,0x1b,0x30,0xd1,0x10,0x10,0x10,0x50,0x20,0x8,0x7c,0x80,0x48,0x48,0x50,0x20,0x8,0xfe,0x8,0x8,0x88,0x88,0x8,0x28,0x10,
-+0x10,0x17,0x11,0x11,0xff,0x11,0x11,0x17,0x19,0x32,0xd3,0x15,0x15,0x19,0x51,0x21,0x8,0xfc,0x8,0x8,0xfe,0x8,0x8,0xf8,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x13,0x10,0x10,0xfc,0x17,0x10,0x15,0x1a,0x34,0xd9,0x11,0x12,0x14,0x51,0x20,0x8,0xfc,0x40,0x40,0x84,0xfe,0xa0,0x10,0x4e,0x44,0x68,0x54,0x54,0x44,0x40,0x80,
-+0x20,0x2f,0x24,0x24,0xfc,0x27,0x24,0x24,0x2f,0x34,0xe4,0x24,0x2f,0x20,0xa0,0x40,0x0,0xfc,0xa4,0xa4,0xa4,0xa8,0xa4,0xa4,0xa2,0xa2,0xa2,0xb4,0xe8,0xa0,0xa0,0xa0,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x12,0x17,0x1a,0x32,0xd3,0x12,0x14,0x14,0x5b,0x20,0x4,0xfe,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x10,0x17,0xf8,0x11,0x12,0x15,0x18,0x30,0xd7,0x10,0x12,0x12,0x55,0x20,0x40,0x40,0x48,0xfc,0xa0,0x10,0x8,0xf6,0x4,0x8,0xfc,0x40,0x50,0x4c,0x44,0x80,
-+0x10,0x10,0x17,0x10,0xfc,0x11,0x17,0x10,0x18,0x33,0xd2,0x12,0x13,0x10,0x50,0x20,0x40,0x48,0xfc,0x40,0xa0,0x14,0xfe,0x8,0x8,0xc8,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x20,0x27,0x24,0x24,0xfd,0x24,0x24,0x25,0x2c,0x34,0xe4,0x27,0x24,0x24,0xa7,0x44,0x4,0xfe,0x4,0x4,0xf4,0x44,0x44,0xf4,0x44,0x54,0x44,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x13,0x12,0xfe,0x13,0x12,0x16,0x1b,0x30,0xd1,0x1f,0x10,0x10,0x50,0x20,0x40,0x84,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x11,0x11,0x11,0x13,0xfe,0x14,0x12,0x10,0x1b,0x30,0xd1,0x12,0x14,0x10,0x50,0x20,0x0,0x0,0x4,0xfe,0x84,0x94,0xa4,0x84,0xf4,0x84,0xc4,0xb4,0x94,0x84,0x14,0x8,
-+0x10,0x10,0x10,0x17,0xfc,0x11,0x10,0x17,0x18,0x30,0xd3,0x12,0x12,0x12,0x53,0x22,0x80,0x40,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0x12,0xfe,0x13,0x12,0x16,0x1a,0x33,0xd2,0x12,0x14,0x14,0x59,0x22,0x40,0x24,0xfe,0x4,0x4,0xfc,0x20,0x28,0x24,0xfe,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x10,0x13,0x12,0xfe,0x13,0x12,0x16,0x1a,0x32,0xd2,0x12,0x14,0x14,0x58,0x20,0x40,0x24,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x84,0xfc,0x84,0xfc,0x84,0x84,0x94,0x88,
-+0x10,0x13,0x12,0x17,0xfa,0x12,0x13,0x10,0x1b,0x32,0xd2,0x12,0x12,0x10,0x51,0x26,0x8,0xfc,0x48,0xfe,0x48,0x48,0xf8,0x0,0xf8,0x8,0x48,0x48,0x48,0xb0,0x8,0x4,
-+0x10,0x12,0x12,0x17,0xfa,0x12,0x12,0x16,0x1b,0x30,0xd7,0x10,0x11,0x12,0x54,0x20,0x90,0x90,0x94,0xfe,0x90,0x90,0xf0,0x0,0xfc,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x10,0x10,0x17,0x10,0xfc,0x11,0x12,0x14,0x1b,0x32,0xd3,0x12,0x13,0x10,0x5f,0x20,0x40,0x48,0xfc,0x40,0xe0,0x50,0x4e,0x44,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x0,
-+0x10,0x17,0x14,0x15,0xfd,0x15,0x15,0x15,0x1c,0x37,0xd4,0x15,0x14,0x14,0x57,0x20,0x8,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x88,0x90,0x60,0x98,0xfe,0x0,
-+0x20,0x24,0x24,0x27,0xf4,0x28,0x37,0x22,0x32,0x2f,0xe2,0x22,0x23,0x22,0xa0,0x41,0x20,0x20,0x20,0xa4,0x3e,0x44,0xa8,0x20,0x20,0xa0,0x20,0x50,0x50,0x88,0x8e,0x4,
-+0x10,0x10,0x10,0x11,0xfe,0x15,0x18,0x13,0x1a,0x33,0xd2,0x13,0x12,0x12,0x52,0x22,0x40,0x40,0xa0,0x10,0x8,0xf6,0x0,0xc4,0x54,0xd4,0x54,0xd4,0x54,0x44,0x54,0xc8,
-+0x10,0x10,0x17,0x10,0xfd,0x10,0x1f,0x14,0x1b,0x32,0xd2,0x13,0x12,0x12,0x53,0x22,0x80,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x14,0x17,0x14,0xfc,0x13,0x10,0x13,0x1a,0x33,0xd2,0x13,0x12,0x10,0x57,0x20,0x80,0x40,0xfe,0x2,0x8,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x4,0xfe,0x0,
-+0x20,0x27,0x24,0x24,0xff,0x25,0x24,0x27,0x2c,0x34,0xe7,0x24,0x28,0x28,0xb1,0x42,0x4,0xfe,0x4,0x4,0xfc,0x8,0x90,0xfc,0x90,0x94,0xfe,0x90,0x90,0x90,0x10,0x10,
-+0x10,0x17,0x10,0x14,0xfb,0x11,0x12,0x13,0x1c,0x30,0xd7,0x10,0x10,0x11,0x52,0x24,0x20,0xa8,0xb0,0xa4,0x28,0x10,0x8,0xf6,0x44,0x40,0xfc,0x80,0xa0,0x10,0x8,0x4,
-+0x10,0x10,0x10,0x11,0xfd,0x10,0x17,0x14,0x19,0x36,0xd1,0x16,0x11,0x16,0x50,0x20,0x80,0x80,0xf8,0x8,0xf0,0x14,0xfe,0x88,0x50,0xa0,0x30,0x68,0xae,0x24,0xa0,0x40,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x13,0x16,0x1a,0x32,0xd2,0x14,0x1a,0x12,0x54,0x20,0x48,0x7c,0x40,0xfc,0x44,0x48,0xf8,0x40,0x44,0x3c,0x0,0xa0,0x94,0x82,0x8a,0x78,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x12,0x17,0x1a,0x33,0xd0,0x11,0x15,0x15,0x59,0x20,0x8,0xfc,0x48,0x48,0xf8,0x48,0xa8,0x18,0x8,0xf8,0x0,0x40,0x44,0x12,0x12,0xf0,
-+0x10,0x10,0x17,0x14,0xfc,0x15,0x15,0x15,0x1d,0x35,0xd5,0x15,0x15,0x16,0x58,0x23,0x8,0x7c,0xa0,0x3c,0x20,0xfe,0x22,0xf8,0x24,0x3c,0x0,0x78,0x48,0x4a,0x8a,0x6,
-+0x12,0x11,0x10,0x17,0xf8,0x10,0x17,0x10,0x1f,0x30,0xd7,0x11,0x12,0x14,0x58,0x20,0x8,0x10,0xa4,0xfe,0xa0,0xa4,0xfe,0xa4,0xfe,0xa4,0xfc,0xb0,0xa8,0xa6,0xa4,0xa0,
-+0x20,0x28,0x25,0x20,0xff,0x22,0x2a,0x2a,0x2a,0x3a,0xef,0x22,0x22,0x24,0xa8,0x51,0x4,0xbe,0x24,0x24,0xe4,0x3c,0xa4,0xa4,0xa4,0xbc,0xa4,0xa4,0x44,0x44,0x94,0x8,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x12,0x17,0x1a,0x32,0xd3,0x15,0x15,0x15,0x59,0x21,0x4,0xfe,0x4,0x4,0xfc,0x94,0x90,0xfc,0x90,0x94,0xfe,0x40,0x28,0x10,0x8e,0x4,
-+0x10,0x17,0x10,0x10,0xff,0x14,0x14,0x17,0x18,0x34,0xd2,0x12,0x14,0x10,0x52,0x21,0x4,0xbe,0x84,0x84,0xbc,0x20,0x24,0xbe,0x84,0xa4,0x94,0x94,0xa4,0x84,0x94,0x8,
-+0x10,0x13,0x11,0x10,0xfb,0x10,0x17,0x14,0x1b,0x34,0xd0,0x1f,0x11,0x12,0x54,0x20,0x0,0xf8,0x10,0xe0,0x18,0x0,0xbc,0xa4,0x18,0xa4,0x40,0xfe,0x50,0x48,0x46,0x40,
-+0x10,0x17,0x14,0x17,0xfc,0x17,0x14,0x11,0x1b,0x30,0xd0,0x17,0x11,0x12,0x54,0x20,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x84,0x10,0xe0,0x40,0x88,0xfc,0x50,0x4c,0x44,0xc0,
-+0x10,0x17,0x14,0x15,0xfd,0x16,0x13,0x14,0x18,0x37,0xd1,0x12,0x11,0x10,0x51,0x26,0x0,0xbc,0xa4,0xac,0xac,0x34,0x18,0xa4,0x80,0xfe,0x10,0x10,0x20,0xe0,0x98,0x4,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x13,0x16,0x1a,0x32,0xd4,0x14,0x15,0x15,0x5a,0x20,0x40,0x24,0xfe,0x88,0x88,0x88,0xfe,0x88,0x88,0xf8,0x88,0x0,0x54,0x52,0x52,0x0,
-+0x20,0x20,0x27,0x21,0xfa,0x2f,0x24,0x27,0x2c,0x37,0xe4,0x24,0x3f,0x20,0xa0,0x40,0x0,0x10,0x90,0x24,0x3e,0xc4,0xa4,0xa8,0xa8,0xa8,0x90,0xd0,0xa8,0xa8,0xc6,0x84,
-+0x10,0x17,0x10,0x14,0xfa,0x12,0x14,0x10,0x1b,0x32,0xd2,0x13,0x12,0x12,0x53,0x22,0x4,0xbe,0x84,0xa4,0x94,0x94,0xa4,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x12,0x12,0x12,0xff,0x12,0x12,0x17,0x18,0x37,0xd5,0x15,0x15,0x17,0x50,0x21,0x0,0x4,0x7e,0x10,0xa4,0x7e,0x44,0xd4,0x54,0x54,0x54,0x54,0x54,0x20,0x4c,0x82,
-+0x11,0x13,0x14,0x17,0xfc,0x17,0x14,0x17,0x18,0x37,0xd0,0x13,0x12,0x13,0x52,0x23,0x0,0xf0,0x24,0xfe,0x44,0xfc,0x44,0xfc,0x0,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,
-+0x12,0x11,0x17,0x10,0xfb,0x12,0x13,0x12,0x1a,0x33,0xd0,0x1f,0x12,0x11,0x50,0x20,0x8,0x10,0xfc,0xa8,0xfc,0xa8,0x18,0xe8,0x8,0xf8,0x14,0xfe,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x17,0x15,0xfa,0x14,0x13,0x12,0x1b,0x30,0xd7,0x14,0x17,0x10,0x50,0x20,0x80,0x40,0xfe,0x12,0x48,0x44,0xf8,0x48,0xf8,0x40,0xfc,0x44,0xfc,0x40,0x40,0x40,
-+0x22,0x22,0x22,0x2f,0xf2,0x2f,0x28,0x2f,0x38,0xef,0x22,0x2f,0x22,0x22,0xa2,0x42,0x10,0x10,0x28,0xa8,0x44,0x82,0xfc,0x90,0x90,0x94,0x7e,0x90,0x10,0x10,0x10,0x10,
-+0x10,0x17,0x14,0x14,0xff,0x10,0x17,0x10,0x1b,0x32,0xd3,0x11,0x13,0x15,0x59,0x21,0x4,0xfe,0xa4,0xa4,0xfc,0x0,0xfe,0x0,0xf8,0x8,0xf8,0x44,0x28,0x10,0x8e,0x4,
-+0x20,0x20,0x27,0x24,0xf4,0x27,0x24,0x34,0x27,0xe6,0x26,0x2a,0x2a,0x33,0xa2,0x40,0x10,0x8,0xc8,0x7e,0x40,0xd4,0x14,0x3e,0xc8,0x48,0x7e,0x48,0x48,0xc8,0x48,0x8,
-+0x10,0x13,0x12,0x12,0xfb,0x10,0x17,0x14,0x1f,0x34,0xd7,0x10,0x1f,0x11,0x51,0x26,0x80,0xf8,0x88,0x48,0xf8,0x0,0xfc,0x44,0xfc,0x44,0xfc,0x0,0xfe,0x10,0x10,0x10,
-+0x10,0x17,0x10,0x12,0xf8,0x12,0x11,0x11,0x1a,0x37,0xda,0x13,0x12,0x12,0x53,0x22,0x0,0xbc,0x84,0x94,0x84,0x94,0x20,0xfe,0x20,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x20,0x27,0x20,0x2f,0xfa,0x21,0x22,0x28,0x37,0xe4,0x2f,0x34,0x27,0x24,0xa7,0x44,0x8,0xfc,0x40,0xfe,0x4a,0x50,0x48,0x40,0xfc,0x40,0xf8,0x40,0xf8,0x40,0xfe,0x0,
-+0x12,0x13,0x15,0x13,0xfe,0x12,0x13,0x18,0x17,0x31,0xd2,0x1d,0x10,0x13,0x51,0x26,0x10,0xde,0x28,0xf8,0x88,0x48,0xf8,0x80,0xfe,0x50,0x98,0xe6,0x90,0xf8,0x50,0x4c,
-+0x20,0x27,0x20,0x23,0xf2,0x2f,0x29,0x27,0x21,0x33,0xe1,0x27,0x21,0x23,0xad,0x41,0x40,0xfc,0x40,0xf8,0x48,0xfe,0x12,0xfc,0x10,0xf8,0x10,0xfc,0x48,0x30,0x8e,0x4,
-+0x2,0x2,0x2,0x2,0x3,0xfe,0x2,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x44,0x24,0x1c,0x0,
-+0x0,0x0,0x0,0x0,0xff,0x0,0x8,0x4,0x14,0x54,0x50,0x50,0x91,0x11,0xf,0x0,0x80,0xa0,0x94,0xfe,0x80,0x40,0x40,0x40,0x20,0xa0,0x60,0x50,0x12,0xa,0xa,0x4,
-+0x0,0x0,0x0,0x0,0xff,0x22,0x22,0xff,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x0,0x80,0xa0,0x94,0xfe,0x80,0x40,0x40,0xc0,0x40,0x40,0x20,0x20,0x12,0x12,0xa,0x4,
-+0x0,0x22,0x14,0xb,0x14,0x62,0x8,0x9,0xfe,0x8,0x2c,0x2a,0x48,0xb,0x28,0x10,0x20,0x28,0x24,0xfe,0x20,0x20,0x20,0xd0,0x90,0x90,0x90,0x90,0xf2,0x8a,0xa,0x4,
-+0x0,0x0,0x8,0x7c,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0xa0,0x98,0x8c,0x84,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x8,0x7c,0x48,0x48,0x48,0x48,0x49,0x4a,0x4c,0x48,0x78,0x48,0x0,0x0,0x0,0x80,0x80,0x88,0x98,0xa0,0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x4a,0x2,0x4,0x8,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x8,0x7c,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0xc8,0xa8,0x90,0x80,0x80,0x80,
-+0x0,0x8,0x7d,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x79,0x49,0x2,0x4,0x8,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x4,0x4,0x28,0x10,
-+0x0,0x8,0x7c,0x48,0x4b,0x48,0x48,0x48,0x48,0x48,0x48,0x79,0x49,0x2,0x4,0x8,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x84,0x84,0x4,0x4,0x4,0x28,0x10,
-+0x0,0x8,0x7d,0x48,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x8,0x1c,0xe0,0x40,0x40,0x44,0x7e,0xc0,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0xa,0x7d,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x0,0x4,0xc,0x90,0xa0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x8,0x7c,0x48,0x48,0x49,0x4b,0x48,0x48,0x48,0x48,0x78,0x49,0x2,0x3,0x0,0x40,0x40,0x40,0x80,0x84,0x4,0xf8,0x8,0x10,0x20,0x40,0x80,0x8,0x4,0xfe,0x2,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x79,0x49,0x2,0x4,0x8,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x0,0xb,0x7c,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x49,0x79,0x4a,0x2,0x4,0x8,0x8,0xfc,0x80,0x80,0x80,0x84,0xfe,0xa0,0xa0,0xa0,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x0,0x7b,0x48,0x48,0x4b,0x48,0x48,0x48,0x48,0x49,0x7a,0x4a,0x2,0x1,0x0,0x90,0x94,0xfe,0x90,0x0,0xf8,0x10,0x20,0x40,0x80,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x8,0x7c,0x48,0x4f,0x48,0x48,0x48,0x48,0x48,0x49,0x79,0x4a,0x4,0x8,0x10,0x40,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0xa0,0xa0,0x10,0x90,0x48,0x48,0x6,0x4,
-+0x0,0xb,0x7e,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x44,0x4,0x9,0x12,0x4,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x0,0xb,0x7e,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x44,0x4,0x8,0x10,0x4,0xfe,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0xa8,0x90,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x2,0xa,0x7e,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4a,0x7a,0x4a,0x3,0x2,0x0,0x20,0x20,0x20,0x20,0x24,0x28,0xb0,0x20,0x20,0x20,0x20,0x20,0xa2,0x22,0x1e,0x0,
-+0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x48,0x0,0x1,0x2,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x40,0x98,0x6,0x2,
-+0x0,0x1f,0x10,0x10,0x10,0x1f,0x11,0x1,0x7f,0x42,0x42,0x44,0x48,0x40,0x40,0x40,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,0x4,0xfe,0x84,0x44,0x24,0x24,0x4,0x14,0x8,
-+0x0,0x0,0x8,0x7c,0x48,0x48,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x44,0x0,0x0,0x0,0x40,0x20,0x20,0x20,0xa0,0x80,0x88,0x84,0x82,0x82,0x82,0x8a,0x8a,0x88,0x78,0x0,
-+0x0,0xb,0x7c,0x48,0x48,0x4b,0x4a,0x4a,0x4a,0x4b,0x48,0x78,0x48,0x2,0x1,0x0,0x24,0xf4,0x24,0x24,0x24,0xe4,0x4,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0x44,0x84,
-+0x0,0x3,0x7a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x4a,0x2,0x3,0x0,0x8,0xfc,0x20,0x28,0xfc,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xb8,0x20,0x24,0xfe,0x0,
-+0x0,0x0,0x8,0x7c,0x48,0x48,0x48,0x4f,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x80,0x80,0x88,0xfc,0x80,0x80,0x84,0xfe,0x80,0xa0,0x90,0x88,0x88,0x80,0x80,0x80,
-+0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x48,0x0,0x0,0x0,0x0,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x7b,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x44,0x5,0x9,0x10,0x8,0x1c,0xe0,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xa4,0x14,0xf2,0x0,
-+0x0,0x0,0x8,0x7c,0x49,0x4a,0x4c,0x48,0x48,0x4b,0x48,0x79,0x48,0x0,0x0,0x0,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x64,0x20,0x0,0xf8,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x0,0x8,0x7c,0x49,0x49,0x4a,0x48,0x48,0x49,0x4a,0x4c,0x78,0x49,0x0,0x0,0x0,0x80,0x80,0xf8,0x8,0x10,0xa0,0x40,0xa0,0x10,0x8e,0x64,0x20,0x80,0x60,0x10,0x0,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4a,0x48,0x4b,0x48,0x48,0x48,0x78,0x48,0x0,0x0,0x0,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x49,0x48,0x48,0x49,0x49,0x79,0x49,0x1,0x1,0x0,0x20,0x20,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x2,0x12,0x7a,0x52,0x5f,0x52,0x52,0x52,0x54,0x54,0x55,0x72,0x55,0x8,0x10,0x0,0x0,0x0,0x8,0x7c,0x88,0x88,0xa8,0xa8,0xa8,0x90,0x10,0x28,0x28,0xc4,0x44,0x82,
-+0x0,0x11,0x79,0x51,0x52,0x54,0x5f,0x51,0x52,0x52,0x54,0x7f,0x54,0x0,0x1,0x2,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xa4,0xc4,0x44,0x84,0x28,0x10,
-+0x0,0x11,0x79,0x51,0x52,0x52,0x57,0x51,0x52,0x52,0x54,0x77,0x50,0x0,0xf,0x0,0x0,0x8,0x8,0x8,0x10,0x94,0xbc,0x8,0x10,0x10,0x20,0xbc,0x0,0x4,0xfe,0x0,
-+0x0,0xb,0x7e,0x4a,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7b,0x4a,0x2,0x3,0x0,0x8,0xfc,0x0,0x8,0xfc,0x20,0x20,0xf8,0x20,0x20,0x28,0xfc,0x0,0x4,0xfe,0x0,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x49,0x48,0x48,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x20,0x20,0x24,0xfe,0x20,0x20,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x7,0x8,0x7c,0x48,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x7b,0x4a,0x2,0x3,0x2,0x4,0xfe,0x90,0x90,0x94,0xfe,0x94,0x94,0x94,0x94,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x8,0x7f,0x48,0x48,0x49,0x49,0x4a,0x4c,0x49,0x78,0x48,0x0,0x1,0x2,0x80,0x80,0x84,0xfe,0x80,0xa0,0x20,0x24,0xac,0xb0,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x0,0x70,0x54,0x52,0x52,0x50,0x5e,0x52,0x52,0x52,0x72,0x53,0x6,0x9,0x0,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x50,0x48,0x8c,0x4,0x0,0x6,0xfc,
-+0x0,0x7,0x9,0x7d,0x49,0x4a,0x4a,0x4a,0x4d,0x48,0x48,0x79,0x49,0x2,0x4,0x8,0x44,0xe4,0x4,0x4,0xd4,0x54,0x54,0x54,0x54,0x94,0x94,0x14,0x4,0x4,0x14,0x8,
-+0x0,0x0,0x7b,0x48,0x4b,0x48,0x48,0x4b,0x4a,0x4a,0x7b,0x48,0x0,0x1,0x2,0xc,0x40,0x48,0xfc,0x40,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0x44,0xac,0x10,0x8,0x6,
-+0x0,0x8,0x7c,0x4b,0x48,0x48,0x48,0x4b,0x48,0x4f,0x49,0x79,0x49,0x2,0x4,0x18,0x80,0x88,0xfc,0x80,0x48,0x50,0x62,0x92,0xe,0xf8,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x2,0x2,0x7a,0x4b,0x4a,0x4a,0x4a,0x4b,0x48,0x48,0x4f,0x78,0x48,0x0,0x0,0x0,0x20,0x20,0x24,0xa8,0x30,0x24,0xa4,0x1c,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x8,0x7c,0x48,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x4a,0x3,0xc,0x0,0x90,0x90,0x90,0x90,0x92,0x94,0xf8,0x90,0x90,0x90,0x90,0xb0,0xd2,0x12,0xe,0x0,
-+0x0,0x0,0x7a,0x49,0x49,0x49,0x48,0x4f,0x49,0x49,0x49,0x79,0x4a,0x2,0x4,0x8,0x40,0x40,0x48,0x4c,0x50,0x50,0x44,0xfe,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x8,0x7d,0x49,0x49,0x49,0x48,0x48,0x48,0x49,0x4a,0x78,0x48,0x0,0x1,0x6,0x20,0x20,0x24,0x24,0x24,0xfc,0x44,0x40,0xfc,0x84,0x44,0x28,0x10,0x60,0x80,0x0,
-+0x1,0x1,0x11,0x7a,0x52,0x57,0x5a,0x52,0x52,0x52,0x52,0x72,0x53,0x2,0x2,0x2,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x70,0x68,0xa8,0xa8,0xa6,0x24,0x20,0x20,0x20,
-+0x1,0x1,0x11,0x7a,0x52,0x56,0x5b,0x52,0x52,0x52,0x53,0x72,0x52,0x2,0x2,0x3,0x0,0x4,0xfe,0x44,0x44,0x44,0xfe,0x44,0x44,0x44,0xfc,0x44,0x40,0x40,0x80,0x0,
-+0x0,0x0,0x7b,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x44,0x4,0x8,0x0,0x8,0x3c,0xc0,0x4,0x18,0xe0,0xa0,0xa4,0xa8,0x90,0x90,0x90,0x88,0xae,0xc4,0x80,
-+0x0,0x0,0x8,0x7c,0x49,0x4a,0x4d,0x48,0x48,0x4f,0x48,0x78,0x49,0x2,0x7,0x0,0x40,0x40,0xa0,0xa0,0x10,0x8,0xf6,0x0,0x4,0xfe,0x80,0x80,0x10,0x8,0xfc,0x4,
-+0x0,0x1,0x9,0x7d,0x49,0x49,0x4a,0x48,0x4f,0x48,0x48,0x78,0x49,0x2,0xc,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x4c,0x40,0xfe,0x40,0xe0,0xd0,0x48,0x4e,0x44,0x40,
-+0x0,0x0,0x78,0x4b,0x49,0x48,0x48,0x48,0x49,0x4e,0x48,0x78,0x48,0x1,0x2,0x4,0x80,0x40,0x24,0xfe,0x8,0x90,0x60,0x90,0xe,0x94,0x90,0x90,0x90,0x10,0x10,0x10,
-+0x2,0x9,0x7c,0x4b,0x48,0x48,0x48,0x4b,0x48,0x48,0x48,0x7f,0x48,0x0,0x0,0x0,0x8,0x10,0xa0,0xfc,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x8,0x7c,0x4a,0x49,0x48,0x4f,0x48,0x48,0x48,0x49,0x79,0x4a,0x4,0x8,0x0,0x40,0x40,0x44,0x48,0x50,0x44,0xfe,0x40,0xe0,0xd0,0x50,0x48,0x46,0x44,0x40,0x40,
-+0x0,0x0,0x7b,0x4a,0x4c,0x48,0x4b,0x48,0x48,0x4f,0x48,0x78,0x48,0x0,0x0,0x0,0x80,0x40,0xfe,0x2,0x4,0x38,0xc0,0x44,0x7e,0xc0,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x8,0x7c,0x49,0x49,0x4a,0x48,0x48,0x48,0x49,0x49,0x7a,0x44,0x8,0x0,0x0,0x20,0x20,0x20,0xfe,0x42,0x44,0x40,0xa0,0xa4,0x28,0x90,0x90,0x88,0xae,0xc4,0x80,
-+0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x48,0x30,0x20,0x10,0x4e,0x84,0x0,
-+0x0,0x0,0x8,0x7d,0x4b,0x48,0x49,0x49,0x49,0x4a,0x48,0x7b,0x48,0x0,0x0,0x0,0x20,0x40,0x88,0x4,0xfe,0x22,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x7b,0x48,0x4b,0x48,0x4f,0x48,0x49,0x49,0x49,0x7a,0x44,0x0,0x3,0xc,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x80,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x0,0x0,0x7b,0x48,0x48,0x48,0x4f,0x48,0x4a,0x4a,0x7a,0x45,0x9,0x2,0x4,0x0,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0xa0,0xa8,0xa4,0xa4,0x24,0x20,0x20,0xa0,0x40,
-+0x0,0x0,0x7b,0x48,0x48,0x4b,0x4a,0x4c,0x4b,0x48,0x48,0x78,0x49,0x2,0x4,0x8,0x90,0x94,0xfe,0x90,0x90,0xfe,0x42,0x44,0xf8,0x48,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x0,0x3,0x78,0x48,0x4b,0x4a,0x4a,0x4b,0x4a,0x4a,0x4b,0x7a,0x49,0x0,0x3,0xc,0x8,0xfc,0x40,0x48,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0x40,0xc0,0x30,0xe,
-+0x0,0x3,0x8,0x7c,0x4b,0x49,0x49,0x49,0x4f,0x48,0x4b,0x7a,0x4a,0x2,0x3,0x2,0x10,0xf8,0x80,0x90,0xf8,0x10,0x10,0x14,0xfe,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x2,0x2,0x72,0x5f,0x52,0x52,0x52,0x52,0x53,0x5e,0x52,0x72,0x52,0x2,0xb,0x4,0x0,0xc,0x70,0xc0,0x40,0x44,0x7e,0xc8,0x48,0x48,0x48,0x48,0x88,0x88,0x8,0x8,
-+0x0,0x2,0x9,0x7d,0x48,0x4b,0x4a,0x4a,0x4a,0x4a,0x4a,0x7a,0x4a,0x0,0x1,0x6,0x40,0x44,0x4c,0x50,0x48,0xfc,0x8,0x48,0x48,0x48,0x48,0x48,0xa8,0x90,0xc,0x4,
-+0x0,0x0,0x7b,0x4a,0x4a,0x4b,0x4a,0x4a,0x4b,0x4a,0x78,0x40,0xf,0x0,0x0,0x0,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x40,0x44,0x7e,0xc0,0x44,0x44,0x3c,
-+0x1,0x8,0x7c,0x48,0x49,0x48,0x4f,0x48,0x49,0x4b,0x4d,0x79,0x49,0x1,0x0,0x0,0x8,0xd0,0x20,0x58,0x84,0x40,0xfe,0xa0,0x24,0xfe,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x0,0x0,0x2,0x7a,0x4a,0x4a,0x4d,0x48,0x48,0x48,0x4b,0x78,0x48,0x0,0xf,0x0,0x40,0x40,0x48,0x48,0x48,0x48,0x54,0xe2,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x7,0x74,0x54,0x57,0x54,0x54,0x57,0x54,0x54,0x55,0x74,0x55,0x6,0x0,0x0,0x80,0xc4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0x24,0x24,0xb4,0x28,0x20,0x20,0x20,
-+0x0,0x8,0x7f,0x48,0x4b,0x48,0x4f,0x48,0x49,0x4b,0x4c,0x78,0x47,0x0,0x0,0x0,0x40,0x44,0xfe,0x40,0xfc,0x40,0xfe,0xa0,0x50,0xf8,0x46,0x40,0xfc,0x40,0x40,0x40,
-+0x0,0x8,0x7f,0x48,0x4b,0x48,0x4f,0x48,0x4b,0x4a,0x4a,0x7a,0x4a,0x0,0x1,0x6,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x1,0x9,0x7f,0x49,0x48,0x48,0x4f,0x48,0x48,0x49,0x49,0x7b,0x45,0x9,0x1,0x1,0x10,0x10,0xfc,0x10,0x40,0x44,0xfe,0x80,0x88,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x1,0x11,0x7f,0x51,0x51,0x50,0x57,0x54,0x54,0x54,0x57,0x74,0x54,0x4,0x7,0x4,0x10,0x14,0xfe,0x10,0x10,0x4,0xfe,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x4,
-+0x1,0x11,0x79,0x51,0x5f,0x51,0x53,0x53,0x55,0x55,0x55,0x79,0x51,0x1,0x1,0x1,0x10,0x10,0x10,0x14,0xfe,0x10,0x30,0xb8,0x58,0x54,0x54,0x92,0x10,0x10,0x10,0x10,
-+0x1,0x11,0x79,0x57,0x52,0x52,0x55,0x55,0x5f,0x51,0x51,0x73,0x4d,0x1,0x1,0x1,0x10,0x10,0x14,0xfe,0x10,0x14,0x7e,0x10,0x90,0x20,0x7e,0x84,0x28,0x10,0xc,0x4,
-+0x0,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x79,0x4a,0x2,0x4,0x8,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,0x74,0x54,0x54,0x74,0x4,0x14,0x8,
-+0x2,0x12,0x7b,0x54,0x5a,0x53,0x54,0x50,0x5f,0x50,0x54,0x74,0x57,0x0,0x0,0x0,0x0,0x4,0xfe,0x4,0x24,0xf4,0x84,0x94,0xfc,0x84,0x94,0x94,0xf4,0x4,0x14,0x8,
-+0x1,0x9,0x7d,0x4a,0x4a,0x4c,0x49,0x49,0x4a,0x48,0x49,0x7d,0x45,0x9,0x0,0x0,0x0,0x4,0xfe,0x94,0x94,0x94,0x24,0x24,0x54,0x8,0x40,0x24,0x22,0xa,0xf8,0x0,
-+0x0,0x8,0x7f,0x49,0x49,0x49,0x4a,0x4a,0x4c,0x48,0x4f,0x78,0x48,0x0,0x0,0x0,0x80,0x48,0xfc,0x10,0x10,0x10,0xa8,0x44,0x44,0x40,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x0,0xb,0x7c,0x49,0x48,0x4f,0x48,0x48,0x4f,0x49,0x7a,0x49,0x0,0x1,0x6,0x80,0x50,0xf8,0x0,0x10,0xa0,0xfc,0x80,0x84,0xfe,0x10,0x10,0x20,0xc0,0x30,0x8,
-+0x0,0x8,0x7f,0x48,0x49,0x4b,0x48,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x80,0x44,0xfe,0x80,0x8,0xfc,0x4,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x8,0x7d,0x49,0x4a,0x48,0x49,0x4a,0x48,0x49,0x49,0x7a,0x48,0x0,0x3,0xc,0x40,0x40,0x48,0x50,0x40,0xa0,0x10,0xc,0x40,0x48,0x50,0x40,0xa0,0x90,0xe,0x4,
-+0x0,0x4,0x72,0x52,0x58,0x54,0x50,0x52,0x52,0x54,0x5c,0x74,0x55,0x5,0x6,0x4,0x10,0x10,0x10,0xfe,0x92,0x94,0x90,0xfc,0xa4,0xa4,0xa8,0x90,0x28,0x28,0x46,0x84,
-+0x0,0x8,0x7c,0x4b,0x4a,0x4c,0x48,0x4b,0x48,0x49,0x49,0x79,0x49,0x2,0x4,0x8,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x3c,0x20,0x20,0xa0,0x60,0x1e,
-+0x2,0x1,0x17,0x7c,0x54,0x57,0x54,0x54,0x57,0x54,0x54,0x75,0x54,0x5,0x6,0x0,0x0,0x0,0xbc,0xa4,0xa8,0xa8,0xb0,0xa8,0xa4,0x24,0x24,0x24,0xb4,0xa8,0x20,0x20,
-+0x0,0x8,0x7f,0x4a,0x4a,0x4b,0x4a,0x4a,0x4a,0x4b,0x4a,0x7a,0x44,0x4,0x9,0x2,0x40,0x24,0xfe,0x4,0x4,0xfc,0x20,0x28,0x24,0xfe,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x17,0x7c,0x54,0x57,0x55,0x55,0x57,0x55,0x75,0x4d,0x15,0x15,0x25,0x1,0x1,0x4,0xc4,0x54,0x54,0xd4,0x14,0x14,0xd4,0x54,0x54,0x54,0x44,0x44,0xc4,0x14,0x8,
-+0x0,0xf,0x4,0x75,0x52,0x55,0x58,0x50,0x5f,0x50,0x55,0x75,0x52,0x5,0x8,0x10,0x0,0xfc,0xa4,0x28,0x10,0x28,0xc4,0x0,0xfc,0x84,0x28,0x28,0x10,0x28,0xc6,0x84,
-+0x0,0x2,0x12,0x7f,0x52,0x52,0x52,0x52,0x53,0x50,0x5f,0x70,0x51,0x2,0xc,0x0,0x90,0x90,0x94,0xfe,0x90,0x90,0xf0,0x0,0xfc,0x40,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x1,0x1,0xf,0x79,0x48,0x48,0x49,0x4a,0x4d,0x48,0x4b,0x7a,0x4a,0x2,0x3,0x2,0x10,0x14,0xfe,0x50,0x40,0xa0,0x10,0xe,0xf4,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x0,0xf,0x70,0x50,0x57,0x55,0x54,0x55,0x54,0x54,0x77,0x54,0x4,0x4,0x4,0x40,0x44,0xfe,0x40,0x44,0xfe,0x14,0xa4,0xf4,0x44,0x44,0xfc,0x44,0x44,0x54,0x8,
-+0x0,0x17,0x7c,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x74,0x49,0x8,0x10,0x3,0x4,0xfe,0x0,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,
-+0x0,0x0,0x0,0x77,0x50,0x51,0x53,0x5c,0x53,0x50,0x50,0x77,0x50,0x0,0xf,0x0,0x40,0x40,0x44,0xfe,0xa0,0x50,0xf8,0x46,0xf8,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x2,0x2,0x7b,0x4a,0x4a,0x4a,0x4b,0x48,0x49,0x49,0x79,0x49,0x1,0x1,0x1,0x1,0x20,0x24,0xa8,0x30,0x22,0xa2,0x5e,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x13,0x7a,0x52,0x53,0x52,0x52,0x53,0x50,0x57,0x74,0x54,0x5,0x4,0x4,0x4,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x44,0xfe,0x44,0x54,0xf4,0x4,0x14,0x8,
-+0x0,0x7,0x74,0x57,0x54,0x57,0x50,0x53,0x52,0x53,0x72,0x53,0x2,0x2,0x2,0x2,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x1,0x77,0x51,0x51,0x51,0x57,0x51,0x53,0x53,0x55,0x75,0x49,0x11,0x1,0x1,0x90,0xd0,0x10,0x52,0x34,0x38,0xd0,0x10,0x90,0x50,0x28,0x28,0x28,0x44,0x44,0x82,
-+0x0,0x1,0x7a,0x4a,0x4a,0x4b,0x4a,0x4a,0x4b,0x48,0x7b,0x49,0x0,0x0,0x1,0xe,0x40,0x48,0x5c,0x48,0x48,0x58,0x48,0x48,0xf8,0x40,0xf8,0x10,0xa0,0x40,0xb0,0xe,
-+0x0,0x0,0x7,0x78,0x49,0x48,0x4f,0x48,0x4b,0x4a,0x4a,0x7b,0x4a,0x2,0x3,0x2,0x80,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x1,0x3f,0x8,0x4,0x7f,0x41,0x9f,0x11,0x11,0x11,0x1,0x1f,0x10,0x10,0x1f,0x10,0x0,0xf8,0x20,0x40,0xfe,0x2,0xf4,0x10,0x10,0x30,0x0,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x9,0x7c,0x4b,0x48,0x49,0x48,0x4f,0x48,0x48,0x49,0x7a,0x44,0x8,0x13,0x0,0x8,0x8,0x90,0xfc,0x40,0xf8,0x40,0xfe,0x80,0x88,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0xa,0x7d,0x48,0x4f,0x48,0x49,0x4a,0x48,0x4f,0x49,0x7a,0x49,0x0,0x1,0x6,0x40,0x48,0x50,0x40,0xfc,0x40,0x50,0x48,0x80,0xfe,0x10,0x10,0x20,0xc0,0x30,0x8,
-+0x22,0x11,0x0,0x7f,0x41,0x91,0x1f,0x21,0xff,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x8,0x10,0x20,0xfe,0x2,0x24,0xf0,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x3,0x7a,0x4a,0x4b,0x4a,0x4b,0x4a,0x4a,0x4a,0x7a,0x42,0x4,0x4,0xb,0x10,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x40,0x88,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x1,0x1,0x7a,0x4b,0x48,0x4f,0x49,0x49,0x4a,0x4c,0x79,0x46,0x1,0xe,0x1,0x0,0x0,0xf0,0x10,0xf0,0x24,0xfe,0x0,0x88,0x50,0xe0,0x50,0xd0,0x4e,0x44,0x40,0x80,
-+0x0,0x0,0xb,0x7c,0x4b,0x48,0x4f,0x48,0x49,0x4b,0x4c,0x7b,0x48,0x1,0x6,0x0,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0xa0,0x10,0xf8,0x46,0xf8,0xc0,0x70,0x48,0x40,
-+0x1,0x1,0x17,0x79,0x57,0x51,0x5f,0x52,0x53,0x52,0x52,0x74,0x44,0x9,0x10,0x0,0x10,0x10,0xd0,0x14,0xfe,0x24,0xe4,0x28,0xa8,0xa8,0x90,0x90,0xa8,0xa8,0x46,0x84,
-+0x0,0x0,0x7,0x78,0x4b,0x48,0x4f,0x48,0x48,0x4b,0x48,0x7b,0x49,0x2,0x4,0x0,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x40,0x90,0xe0,0x48,0xf8,0x50,0x4c,0x44,0x40,
-+0x2,0x12,0x7f,0x52,0x52,0x5f,0x52,0x57,0x5c,0x54,0x57,0x74,0x54,0x7,0x4,0x0,0x0,0x3c,0xa4,0x24,0xa4,0xe8,0x24,0xa4,0xa2,0xa2,0xa2,0xb4,0xa8,0xa0,0xa0,0x20,
-+0x0,0x0,0xb,0x7c,0x48,0x4f,0x48,0x49,0x4b,0x48,0x4b,0x7a,0x4a,0x2,0xf,0x0,0x40,0x48,0xfc,0x40,0x44,0xfe,0x80,0x10,0xf8,0x0,0xf8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x0,0xf,0x72,0x53,0x52,0x53,0x52,0x5f,0x50,0x5f,0x50,0x74,0x55,0x2,0x5,0x8,0x8,0xfc,0x10,0xf0,0x10,0xf0,0x14,0xfe,0x10,0xbc,0x84,0xa4,0x28,0x10,0x28,0xc6,
-+0x1,0x1,0x17,0x79,0x51,0x53,0x52,0x56,0x5a,0x52,0x52,0x72,0x52,0x2,0x2,0x2,0x20,0x28,0xfc,0x20,0x4,0xfe,0x8,0x8,0xe8,0xa8,0xa8,0xe8,0x8,0x8,0x28,0x10,
-+0x0,0x0,0x7,0x78,0x4b,0x4a,0x4b,0x4a,0x4b,0x4a,0x4b,0x7a,0x4f,0x1,0x2,0x4,0x40,0x44,0xfe,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x10,0xc,0x4,
-+0x0,0x0,0x17,0x78,0x57,0x54,0x58,0x53,0x50,0x50,0x57,0x71,0x52,0x4,0x1,0x0,0x40,0x48,0xfc,0x40,0xfe,0x42,0x94,0xf0,0x40,0x88,0xfc,0x50,0x4c,0x44,0x40,0x80,
-+0x0,0x7,0x10,0x7b,0x52,0x52,0x53,0x50,0x57,0x55,0x54,0x75,0x54,0x4,0x4,0x4,0x4,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x14,0xa4,0xf4,0x44,0x44,0x54,0x8,
-+0x0,0x7,0x0,0x7b,0x4a,0x4b,0x4a,0x4b,0x4a,0x4b,0x49,0x79,0x4a,0x4,0x8,0x3,0x4,0xfe,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xf8,0x90,0x60,0x90,0xe,
-+0x0,0x3,0x7a,0x4a,0x4b,0x4a,0x4a,0x4b,0x4a,0x4b,0x78,0x45,0x5,0x9,0x0,0x0,0x8,0xfc,0x48,0x48,0xf8,0x48,0xa8,0x18,0x8,0xf8,0x0,0x44,0x22,0xa,0xf8,0x0,
-+0x0,0x0,0x7b,0x4a,0x4b,0x4a,0x4b,0x48,0x4f,0x48,0x49,0x7a,0x45,0x8,0x0,0x0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x84,0xfe,0xa0,0x50,0x48,0xfe,0x44,0x40,0x40,
-+0x0,0x1,0xa,0x7c,0x49,0x4e,0x48,0x4b,0x48,0x4b,0x48,0x7b,0x48,0x0,0x0,0x7,0x90,0x18,0xa4,0x40,0xb0,0x4e,0xf0,0x90,0x60,0xa0,0x78,0x88,0x90,0x60,0xc0,0x0,
-+0x0,0x10,0x7b,0x52,0x51,0x57,0x54,0x58,0x57,0x51,0x51,0x73,0x52,0x4,0x8,0x3,0x10,0x78,0x80,0x48,0x50,0xfe,0x82,0x84,0xfc,0x0,0xf0,0x10,0xa0,0x40,0xb0,0xc,
-+0x0,0x2,0x1,0x78,0x4f,0x48,0x49,0x4a,0x48,0x4b,0x4a,0x7a,0x4a,0x2,0xf,0x0,0x0,0x8,0x10,0x4,0xfe,0xa0,0x18,0x8,0x0,0xf8,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x8,0x4,0x12,0x7f,0x51,0x55,0x55,0x55,0x55,0x55,0x57,0x71,0x51,0x2,0x4,0x8,0x24,0x5e,0x94,0xf4,0x14,0x5c,0x54,0x54,0x54,0x5c,0xd4,0x54,0x24,0x24,0x54,0x88,
-+0x0,0x8,0x75,0x51,0x53,0x59,0x55,0x51,0x57,0x55,0x55,0x75,0x59,0x9,0x8,0x0,0x80,0x88,0xfc,0x0,0xf8,0x8,0x48,0x28,0xfe,0x8,0x48,0x28,0x8,0xfc,0x8,0x30,
-+0x1,0x8,0x74,0x54,0x51,0x51,0x5d,0x55,0x55,0x55,0x55,0x75,0x55,0xa,0x11,0x0,0xfc,0x8,0x50,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x2c,0x6,0xfc,0x0,
-+0x0,0x2,0x7a,0x4b,0x48,0x4f,0x48,0x48,0x4b,0x4a,0x4a,0x7b,0x4a,0x0,0x7,0x0,0x40,0x48,0x48,0xf8,0x40,0xfe,0x40,0x48,0xfc,0x48,0x48,0xf8,0x40,0x48,0xfc,0x4,
-+0x11,0x11,0x27,0x22,0x7d,0x17,0x21,0x79,0x7,0xf9,0x1,0x1f,0x10,0x10,0x1f,0x10,0x8,0x8,0xd0,0x10,0x3c,0xc8,0x10,0x3c,0xc0,0x3e,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x2,0x12,0x7f,0x52,0x53,0x51,0x57,0x55,0x55,0x57,0x51,0x5f,0x71,0x1,0x1,0x1,0x90,0x90,0xf0,0x94,0xbe,0x14,0xd4,0x54,0x54,0xd4,0x14,0xf4,0x24,0x24,0x54,0x88,
-+0x0,0x0,0xf,0x70,0x57,0x54,0x57,0x54,0x57,0x50,0x53,0x72,0x53,0x2,0x3,0x2,0xa0,0xa4,0xfe,0xa0,0xfc,0xa4,0xfc,0xa4,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0x7,0x70,0x50,0x57,0x54,0x54,0x57,0x50,0x57,0x50,0x7f,0x51,0x2,0x5,0x0,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xfc,0x0,0xfc,0x0,0xfe,0x50,0x4c,0x44,0x80,
-+0x0,0x0,0x77,0x54,0x55,0x55,0x55,0x55,0x57,0x55,0x55,0x7b,0x4d,0x11,0x23,0x0,0x28,0x24,0xfe,0x20,0x20,0xe4,0x24,0x24,0xe8,0x28,0x28,0x90,0x50,0x2a,0x4a,0x84,
-+0x7,0x14,0x7d,0x55,0x56,0x56,0x55,0x58,0x50,0x5f,0x51,0x72,0x51,0x0,0x1,0x6,0xbc,0xa4,0xac,0xac,0xb4,0xb4,0x28,0xc4,0x80,0xfe,0x10,0x10,0x20,0xc0,0x30,0x8,
-+0x0,0x14,0x7c,0x57,0x50,0x57,0x54,0x54,0x57,0x54,0x54,0x77,0x54,0x8,0xa,0x11,0x40,0x44,0x44,0xfc,0x4,0xbe,0xa4,0xa4,0xbc,0xa4,0xa4,0xbc,0xa4,0xa4,0xd4,0x8,
-+0x4,0x2,0x72,0x5f,0x54,0x54,0x57,0x55,0x55,0x55,0x55,0x75,0x49,0xb,0x10,0x0,0x20,0x24,0x3e,0x40,0xa0,0x24,0x3e,0x50,0x14,0xfe,0x10,0x10,0x28,0x28,0x44,0x82,
-+0x0,0x10,0x7f,0x51,0x50,0x57,0x54,0x54,0x57,0x54,0x55,0x75,0x55,0x5,0x4,0x4,0x80,0x44,0xfe,0x10,0xa4,0xfe,0x44,0x44,0xfc,0x44,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x0,0x0,0x7,0x74,0x58,0x51,0x55,0x55,0x59,0x52,0x5c,0x72,0x52,0x2,0x3,0x0,0x80,0x40,0xfe,0x2,0x94,0x50,0x24,0x4a,0x8a,0xf8,0x40,0x48,0x48,0x48,0xf8,0x8,
-+0x1,0x1,0xf,0x71,0x57,0x50,0x57,0x54,0x54,0x57,0x50,0x74,0x52,0xf,0x0,0x0,0x4,0x44,0xe4,0x8,0xc8,0x10,0xc4,0x44,0x48,0xd2,0x2,0x44,0x84,0xe8,0x10,0x20,
-+0x0,0x7,0x74,0x56,0x55,0x57,0x54,0x56,0x56,0x56,0x7b,0x48,0x8,0x11,0x22,0x0,0x4,0xfe,0x8,0x28,0x4e,0xf2,0x84,0xa8,0xa8,0xa8,0xe8,0xa8,0x88,0x14,0x24,0x42,
-+0x0,0x8,0x7f,0x48,0x4a,0x49,0x4b,0x4e,0x4b,0x4a,0x4b,0x78,0x49,0x2,0x5,0x0,0x40,0x44,0xfe,0x40,0xa8,0x10,0xf8,0xe,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x80,
-+0x0,0x2,0x79,0x48,0x4f,0x49,0x48,0x4b,0x48,0x4b,0x48,0x7f,0x48,0x1,0x1,0x6,0xa0,0xa8,0xb0,0xa4,0xfe,0x10,0xa0,0xf8,0x40,0xf8,0x40,0xfe,0xa0,0x10,0x10,0xc,
-+0x1,0x9,0x7d,0x49,0x49,0x48,0x4f,0x4a,0x4b,0x4a,0x4b,0x7a,0x43,0xe,0x4,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x40,0xfc,0x44,0xe8,0x68,0xd0,0x68,0x46,0x40,
-+0x0,0x8,0x7d,0x49,0x4b,0x4d,0x49,0x49,0x49,0x49,0x49,0x79,0x49,0x2,0x2,0x4,0xa0,0x90,0xfc,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,0xa8,0xa4,0x4,
-+0x0,0x1,0x77,0x54,0x55,0x54,0x57,0x54,0x55,0x56,0x70,0x4f,0x0,0x1,0x2,0xc,0x80,0x4,0xfe,0x44,0x54,0x44,0xfc,0xc4,0x74,0x4c,0x40,0xfe,0xa0,0x10,0x8,0x6,
-+0x0,0x0,0x10,0x79,0x52,0x55,0x58,0x52,0x52,0x53,0x50,0x77,0x54,0x5,0x4,0x4,0x40,0x40,0xa0,0x10,0x48,0xf6,0xa0,0x48,0xa8,0xf8,0x44,0xfe,0x94,0xf4,0x4,0xc,
-+0x1,0x11,0x7a,0x57,0x5c,0x57,0x54,0x57,0x50,0x5f,0x50,0x73,0x52,0x3,0x2,0x3,0x0,0xf0,0x20,0xfc,0x44,0xfc,0x44,0xfc,0x0,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,
-+0x2,0x11,0x78,0x57,0x54,0x55,0x54,0x57,0x50,0x53,0x52,0x72,0x53,0x2,0x2,0x3,0x8,0x10,0xa4,0xfe,0x44,0x54,0x44,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x0,0x7,0x71,0x55,0x52,0x53,0x54,0x5b,0x52,0x52,0x53,0x70,0x52,0x1,0x1f,0x0,0x40,0x48,0x30,0x24,0x18,0xf0,0x8,0xf6,0x10,0x10,0xf0,0x0,0x10,0x24,0xfe,0x0,
-+0x1,0xf,0x71,0x50,0x57,0x50,0x53,0x52,0x53,0x50,0x57,0x74,0x55,0x5,0x5,0x4,0x10,0xfe,0x10,0x44,0xfe,0x0,0xf8,0x8,0xf8,0x4,0xfe,0x4,0xf4,0x14,0xf4,0xc,
-+0x1,0x11,0x7f,0x51,0x53,0x55,0x59,0x51,0x57,0x50,0x5f,0x70,0x52,0x4,0x9,0x0,0x10,0x14,0xfe,0x10,0xb8,0x54,0x12,0x10,0xfc,0x0,0xfe,0x40,0x48,0x46,0x42,0x80,
-+0x0,0x10,0x78,0x57,0x54,0x57,0x54,0x54,0x57,0x54,0x55,0x7a,0x49,0x10,0x23,0x0,0x48,0x7c,0x40,0xfe,0x42,0xf8,0x40,0x38,0xfe,0x80,0x48,0xb0,0x70,0xae,0x24,0x60,
-+0x0,0x0,0x77,0x52,0x51,0x5f,0x50,0x53,0x52,0x53,0x52,0x73,0x54,0x5,0x9,0x1,0x80,0x40,0xfc,0x8,0x10,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x44,0x42,0x12,0xf0,
-+0x0,0x0,0x77,0x55,0x5b,0x51,0x53,0x51,0x5f,0x51,0x52,0x75,0x48,0x0,0x7,0x0,0x80,0x40,0xfe,0x12,0xfc,0x10,0xf8,0x10,0xfe,0x50,0x48,0xf6,0x40,0x48,0xfc,0x0,
-+0x0,0x7,0x74,0x54,0x54,0x57,0x54,0x54,0x57,0x56,0x76,0x4a,0xa,0x13,0x22,0x0,0x10,0xc8,0x7e,0x40,0x54,0xd4,0x3e,0x8,0xc8,0x48,0x7e,0x48,0x48,0xc8,0x48,0x8,
-+0x0,0x7,0x70,0x57,0x54,0x5b,0x50,0x53,0x50,0x5f,0x50,0x77,0x54,0x4,0x4,0x4,0x8,0xfc,0x40,0xfe,0x42,0x5c,0x40,0x58,0x4,0xfe,0x80,0xfc,0xa4,0xa4,0xa4,0xc,
-+0x0,0x0,0x77,0x55,0x59,0x52,0x56,0x51,0x53,0x54,0x5b,0x70,0x51,0x2,0x5,0x0,0x80,0x40,0xfe,0x2,0xbc,0xa8,0xb0,0x10,0xf8,0x6,0xf8,0x40,0x50,0x4c,0x44,0x80,
-+0x0,0x7,0x70,0x57,0x55,0x58,0x51,0x51,0x53,0x56,0x5b,0x72,0x53,0x2,0x3,0x2,0x8,0xfc,0x40,0xfe,0x52,0xe4,0x50,0x20,0xfc,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x0,0x17,0x78,0x53,0x52,0x57,0x55,0x5b,0x51,0x57,0x51,0x7f,0x51,0x3,0xd,0x1,0x48,0xfc,0x40,0xf8,0x8,0xfe,0x12,0xfc,0x10,0xfc,0x10,0xfe,0x48,0x30,0x9e,0x4,
-+0x0,0x7f,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7f,0x40,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x7f,0x40,0x4f,0x40,0x40,0x41,0x5f,0x41,0x41,0x41,0x41,0x43,0x40,0x7f,0x40,0x4,0xfe,0x4,0xe4,0x44,0x84,0x24,0xf4,0x4,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x7f,0x42,0x42,0x42,0x7f,0x44,0x44,0x48,0x44,0x43,0x42,0x44,0x48,0x7f,0x40,0x4,0xfe,0x4,0x4,0x14,0xfc,0x44,0x44,0x44,0x44,0x84,0x84,0x64,0x14,0xfc,0x4,
-+0x0,0x7f,0x41,0x41,0x42,0x44,0x48,0x54,0x64,0x45,0x46,0x44,0x43,0x40,0x7f,0x40,0x4,0xfe,0x4,0x4,0x84,0x44,0x24,0x5c,0x84,0x4,0x4,0x24,0xe4,0x4,0xfc,0x4,
-+0x0,0x7f,0x48,0x48,0x4f,0x54,0x54,0x64,0x48,0x49,0x51,0x62,0x44,0x40,0x7f,0x40,0x4,0xfe,0x4,0x14,0xfc,0x94,0x94,0x94,0x94,0x14,0x14,0x54,0x24,0x4,0xfc,0x4,
-+0x0,0x7f,0x41,0x41,0x42,0x44,0x4a,0x51,0x6f,0x40,0x44,0x42,0x41,0x40,0x7f,0x40,0x4,0xfe,0x4,0x4,0x84,0x44,0x24,0x1c,0xe4,0x24,0x44,0x84,0x4,0x84,0xfc,0x4,
-+0x0,0x7f,0x42,0x42,0x7f,0x44,0x47,0x4c,0x57,0x64,0x47,0x44,0x44,0x44,0x7f,0x40,0x4,0xfe,0x4,0x14,0xfc,0x4,0xe4,0x24,0xe4,0x24,0xe4,0x24,0xa4,0x44,0xfc,0x4,
-+0x0,0x7f,0x40,0x5f,0x42,0x4f,0x44,0x7f,0x40,0x4f,0x48,0x48,0x4f,0x40,0x7f,0x40,0x4,0xfe,0x4,0xf4,0x4,0xe4,0x24,0xfc,0x4,0xe4,0x24,0x24,0xe4,0x4,0xfc,0x4,
-+0x0,0x7f,0x41,0x41,0x5f,0x41,0x4f,0x41,0x5f,0x40,0x44,0x42,0x41,0x40,0x7f,0x40,0x4,0xfe,0x4,0x4,0xf4,0x4,0xe4,0x4,0xf4,0x24,0x44,0x84,0x4,0x84,0xfc,0x4,
-+0x0,0x7f,0x41,0x41,0x5f,0x41,0x7f,0x44,0x42,0x4f,0x41,0x5f,0x41,0x41,0x7f,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0xfc,0x44,0x84,0xe4,0x4,0xf4,0x4,0x4,0xfc,0x4,
-+0x0,0x7f,0x40,0x5f,0x52,0x5f,0x40,0x7f,0x48,0x4f,0x45,0x4c,0x56,0x44,0x7f,0x40,0x4,0xfe,0x4,0xf4,0x94,0xf4,0x4,0xfc,0x24,0xe4,0x44,0x84,0x74,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x7f,0x54,0x54,0x55,0x54,0x54,0x57,0x5c,0x54,0x10,0x10,0x10,0x10,0x20,0x20,0x24,0xfe,0x20,0x28,0xfc,0x20,0x20,0xfe,0x22,0x22,0x2a,0x24,0x20,0x20,
-+0x10,0x10,0x11,0x7d,0x55,0x55,0x56,0x54,0x57,0x54,0x5c,0x54,0x10,0x10,0x11,0x16,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x20,0x50,0x50,0x88,0x88,0x4,0x2,
-+0x10,0x10,0x10,0x7d,0x55,0x55,0x55,0x55,0x55,0x55,0x5d,0x55,0x12,0x12,0x14,0x13,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xf8,0x8,0x48,0x50,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x8,0xfe,0x12,0x32,0xc,0x12,0x61,0x1,0x1f,0x11,0x11,0x11,0x11,0x1,0x1,0x0,0x0,0xfc,0x44,0x28,0x10,0x28,0x46,0x10,0xf8,0x10,0x10,0x50,0x20,0x0,0x0,
-+0x10,0x10,0x13,0x7c,0x55,0x54,0x57,0x54,0x54,0x55,0x5d,0x52,0x14,0x10,0x10,0x10,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x88,0x88,0xfe,0x8,0x88,0x48,0x8,0x28,0x10,
-+0x10,0x10,0x11,0x7c,0x55,0x54,0x57,0x54,0x55,0x55,0x5d,0x55,0x11,0x10,0x10,0x13,0x20,0x28,0xfc,0x20,0xfc,0x20,0xfe,0x0,0xfc,0x4,0x24,0x24,0x20,0x58,0x86,0x2,
-+0x10,0x11,0x11,0x7d,0x55,0x55,0x55,0x55,0x55,0x55,0x5d,0x55,0x11,0x11,0x11,0x11,0x4,0xfe,0x4,0xfc,0x24,0x24,0xfc,0x24,0x34,0x2c,0x24,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x7d,0x55,0x57,0x55,0x55,0x55,0x55,0x55,0x5d,0x11,0x11,0x11,0x11,0x80,0xa0,0x94,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,0x0,
-+0x10,0x11,0x11,0x7d,0x55,0x55,0x55,0x55,0x55,0x55,0x5d,0x56,0x12,0x14,0x19,0x10,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x20,0x48,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x21,0x21,0x21,0xf9,0xa9,0xa8,0xab,0xaa,0xab,0xa8,0xab,0xb9,0x20,0x20,0x21,0x2e,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x94,0xfc,0x0,0xf8,0x10,0xa0,0x40,0xb0,0xe,
-+0x10,0x11,0x10,0x7c,0x57,0x54,0x55,0x55,0x55,0x55,0x5d,0x54,0x13,0x10,0x10,0x10,0x20,0xfc,0x88,0x50,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x20,0x20,
-+0x10,0x11,0x10,0x7c,0x57,0x54,0x54,0x55,0x54,0x55,0x5c,0x57,0x10,0x10,0x10,0x13,0x50,0x54,0xd8,0x50,0xfe,0x88,0x50,0xfc,0x20,0xfc,0x20,0xfe,0x20,0x50,0x88,0x6,
-+0x10,0x10,0x13,0x7d,0x54,0x57,0x54,0x54,0x57,0x54,0x5d,0x55,0x11,0x11,0x11,0x11,0x8,0x1c,0xe0,0x24,0xa8,0xfe,0x70,0xa8,0x26,0x24,0xfe,0x24,0xfc,0x24,0xfc,0x4,
-+0x1,0x21,0x21,0x3f,0x0,0x3f,0x8,0x8,0x8,0x14,0x12,0x21,0x20,0x41,0x86,0x18,0x0,0x8,0x8,0xf8,0x0,0xf0,0x20,0x40,0x80,0xf0,0x10,0x20,0xc0,0x40,0x30,0xe,
-+0x10,0x10,0x11,0x10,0x54,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x5,0x0,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0x54,0x54,0x54,0x57,0x54,0x54,0x54,0x54,0x7d,0x5,0x2,0x4,0x0,0x4,0xfe,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0x8,0x8,0x8,0x8,
-+0x10,0x10,0x10,0x13,0x54,0x54,0x54,0x55,0x54,0x54,0x54,0x54,0x7c,0x4,0x1,0x6,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0xfc,0x84,0x88,0x50,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x11,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x5,0x1,0x0,0x4,0xfe,0x0,0x4,0x44,0x28,0x28,0x10,0x10,0x28,0x24,0x44,0x80,0x0,0xfe,0x0,
-+0x10,0x10,0x11,0x10,0x55,0x55,0x55,0x54,0x54,0x54,0x54,0x55,0x7e,0x4,0x0,0x0,0x0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x11,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x54,0x7d,0x5,0x2,0xc,0x8,0xfc,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x68,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x0,0x0,0x3f,0x2,0x2,0xff,0x4,0x8,0x31,0xc1,0x11,0x11,0x11,0x11,0x1f,0x0,0x10,0x38,0xc0,0x0,0x4,0xfe,0x40,0x30,0xe,0x4,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x1,0x21,0x21,0x3f,0x21,0x2,0x4,0xa,0x31,0xc0,0xf,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x8,0xf8,0x8,0x80,0x40,0x30,0xe,0x4,0xf0,0x10,0x20,0x40,0x80,0x0,
-+0x1,0x21,0x21,0x3f,0x0,0x1f,0x10,0x10,0x14,0x12,0x11,0x12,0x24,0x28,0x40,0x80,0x0,0x8,0x8,0xf8,0x0,0xf0,0x10,0x10,0x50,0x90,0x10,0x90,0x50,0x52,0xa,0x4,
-+0x1,0x21,0x21,0x3f,0x0,0x3f,0x21,0x21,0x21,0x3f,0x20,0x20,0x20,0x20,0x1f,0x0,0x0,0x8,0x8,0xf8,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0x55,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x7d,0x5,0x1,0x1,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x21,0x21,0x3f,0x0,0xff,0x0,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x0,0x0,0x8,0x8,0xf8,0x4,0xfe,0x10,0x90,0xd0,0x90,0x90,0x90,0x90,0x10,0x50,0x20,
-+0x1,0x21,0x21,0x3f,0x2,0x2,0xff,0x4,0x4,0x8,0x1f,0x0,0x8,0x10,0x62,0x1,0x0,0x8,0x8,0xf8,0x0,0x4,0xfe,0x0,0x80,0x90,0xf8,0x80,0x90,0x8c,0x84,0x0,
-+0x10,0x10,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7c,0x4,0x0,0x0,0x0,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x10,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x5,0x1,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x9,0x9,0x11,0x11,0x3f,0x50,0x90,0x10,0x11,0x1,0x21,0x21,0x21,0x21,0x3f,0x0,0x0,0x40,0x24,0xfe,0x0,0x80,0x84,0x44,0x3c,0x0,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0x55,0x56,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x4,0x0,0x0,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x24,0x4,0x28,0x10,
-+0x1,0x21,0x21,0x3f,0x4,0x78,0x42,0x42,0x42,0x42,0x4e,0x72,0x4,0x4,0x18,0x60,0x0,0x8,0x8,0xf8,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xa4,0x98,0x80,0x80,0x80,
-+0x10,0x11,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x5,0x1,0x0,0x4,0xfe,0x4,0x4,0xfc,0x20,0x20,0x24,0xfe,0x10,0x10,0x10,0x8,0x4a,0x86,0x2,
-+0x10,0x13,0x10,0x10,0x54,0x54,0x57,0x54,0x55,0x54,0x54,0x57,0x7c,0x4,0x0,0x0,0x0,0xfc,0x88,0x50,0x20,0xd8,0x6,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x10,0x11,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x5,0x1,0x1,0x4,0xfe,0x4,0x14,0xfc,0x4,0x4,0x74,0x54,0x54,0x54,0x74,0x54,0x4,0x14,0x8,
-+0x20,0x20,0x23,0x20,0xa8,0xaf,0xa8,0xa9,0xa9,0xab,0xad,0xa9,0xf9,0x9,0x2,0x4,0x8,0x3c,0xc0,0x40,0x44,0xfe,0xa0,0x10,0x18,0x16,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x10,0x10,0x55,0x56,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x5,0x0,0x0,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x4,0x28,0x10,
-+0x10,0x10,0x10,0x11,0x56,0x55,0x54,0x54,0x57,0x54,0x54,0x55,0x7c,0x4,0x0,0x0,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0xfe,0x24,0x24,0xfc,0x24,0x20,0xa0,0x40,
-+0x10,0x10,0x17,0x10,0x54,0x57,0x56,0x54,0x55,0x54,0x54,0x54,0x7c,0x4,0x1,0x2,0x90,0x94,0xfe,0x90,0x0,0xfe,0x42,0x44,0xf8,0x48,0x48,0x48,0x88,0x88,0x28,0x10,
-+0x10,0x10,0x10,0x13,0x54,0x55,0x54,0x54,0x57,0x54,0x54,0x54,0x7c,0x5,0x2,0x0,0x20,0x20,0x24,0xfe,0x20,0x24,0xa8,0x20,0xfe,0x20,0x70,0xa8,0xa8,0x24,0x22,0x20,
-+0x1,0x21,0x21,0x3f,0x8,0x8,0x8,0x7e,0x9,0x1d,0x2a,0x28,0x48,0x89,0x9,0x8,0x0,0x8,0x8,0xf8,0x0,0x10,0x90,0x90,0x8,0x48,0x46,0x80,0x90,0x8,0xfc,0x4,
-+0x10,0x10,0x10,0x13,0x54,0x54,0x55,0x57,0x55,0x55,0x55,0x55,0x7d,0x4,0x0,0x0,0x20,0x20,0x24,0xfe,0x50,0xa8,0xfc,0x26,0x24,0xfc,0x24,0x24,0xfc,0x20,0x22,0x1e,
-+0x1,0x21,0x21,0x3f,0x0,0x3f,0x21,0x2f,0x21,0x27,0x24,0x24,0x27,0x20,0x3f,0x20,0x0,0x8,0x8,0xf8,0x0,0xf8,0x8,0xe8,0x8,0xc8,0x48,0x48,0xc8,0x8,0xf8,0x8,
-+0x11,0x10,0x10,0x10,0x55,0x54,0x57,0x54,0x54,0x55,0x56,0x54,0x7c,0x4,0x0,0x0,0x8,0x90,0x60,0x90,0x48,0x40,0xfe,0x80,0xf8,0x88,0xf8,0x88,0xf8,0x88,0xa8,0x90,
-+0x10,0x10,0x13,0x10,0x55,0x55,0x55,0x54,0x55,0x54,0x54,0x57,0x7c,0x4,0x1,0x0,0x80,0x48,0xfc,0x0,0xf8,0x8,0xf8,0x0,0xf8,0x10,0x60,0xfe,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x10,0x11,0x55,0x56,0x54,0x55,0x54,0x55,0x54,0x54,0x7c,0x4,0x3,0x0,0x40,0x20,0x20,0xfe,0x2,0x54,0x88,0x4,0x0,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x11,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x2,0x4,0x8,0x0,0x4,0xfe,0x4,0x4,0xfc,0x10,0x54,0x54,0x54,0x7c,0x10,0x12,0x92,0x92,0xfe,0x2,
-+0x10,0x10,0x13,0x10,0x54,0x55,0x55,0x56,0x54,0x55,0x54,0x54,0x7c,0x5,0x2,0x0,0x88,0x88,0xfe,0x88,0x0,0xfe,0x2,0x24,0x20,0xfe,0x20,0x70,0xa8,0x26,0x24,0x20,
-+0x10,0x13,0x10,0x10,0x55,0x55,0x55,0x55,0x54,0x54,0x57,0x54,0x7c,0x4,0x0,0x3,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x40,0x44,0xfe,0x88,0x90,0x60,0x98,0x4,
-+0x1,0x21,0x21,0x3f,0x0,0x3f,0x20,0x3f,0x24,0x3f,0x24,0x29,0x46,0x45,0x98,0x0,0x0,0x8,0x8,0xf8,0x50,0xfe,0x40,0xc4,0x44,0xc8,0xa8,0x30,0x20,0x52,0x8a,0x6,
-+0x1,0x21,0x21,0x3f,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x2,0x51,0x51,0x90,0xf,0x0,0x0,0x8,0x8,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x0,0x8,0x6,0x12,0xf0,0x0,
-+0x1,0x21,0x21,0x3f,0x0,0x1f,0x11,0x1f,0x11,0x1f,0x12,0x2,0x4,0x8,0x30,0x40,0x0,0x8,0x8,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x90,0xa8,0xba,0x82,0x7e,0x0,
-+0x1,0x21,0x21,0x3f,0x1,0x6,0x38,0xcf,0x0,0x3e,0x22,0x3e,0x22,0x3e,0x22,0x26,0x0,0x8,0x8,0xf8,0x0,0xc0,0x30,0xee,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x18,
-+0x11,0x10,0x10,0x13,0x54,0x55,0x54,0x57,0x54,0x54,0x55,0x55,0x7e,0x4,0xb,0x0,0x8,0x90,0xa0,0xfe,0x40,0xfc,0x40,0xfe,0x80,0x88,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x11,0x10,0x54,0x57,0x54,0x54,0x55,0x54,0x57,0x54,0x55,0x7c,0x4,0x0,0x3,0x20,0x24,0xa8,0x20,0xfe,0x20,0xa8,0x24,0x40,0xfe,0x88,0x8,0x90,0x60,0x98,0x4,
-+0x11,0x10,0x10,0x13,0x54,0x54,0x55,0x55,0x57,0x54,0x55,0x55,0x7e,0x3,0x0,0x0,0x4,0x88,0x0,0xfe,0x88,0x88,0x10,0x54,0xb8,0x88,0x10,0x14,0xa4,0xfc,0x84,0x0,
-+0x10,0x11,0x11,0x11,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7d,0x2,0x4,0x0,0x4,0xfe,0x24,0x24,0xfc,0x0,0x4,0x7e,0x44,0x7c,0x44,0x7c,0x44,0x44,0x7c,0x44,
-+0x20,0x20,0x27,0x20,0xaf,0xa8,0xa9,0xaf,0xa9,0xaf,0xa8,0xa9,0xf9,0xa,0x4,0x0,0x8,0x3c,0xc0,0x44,0xfe,0x40,0x50,0x5c,0x50,0x5c,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x1,0x21,0x3f,0x1,0xff,0x0,0x1f,0x10,0x1f,0x0,0x3f,0x20,0x2f,0x28,0x2f,0x20,0x0,0x8,0xf8,0x0,0xfe,0x0,0xf0,0x10,0xf0,0x0,0xf8,0x8,0xe8,0x28,0xe8,0x18,
-+0x20,0x22,0x21,0xaa,0xa8,0xa9,0xab,0xad,0xa9,0xa9,0xa9,0xa9,0xf9,0x9,0x1,0x1,0x40,0x48,0x50,0x48,0xa0,0x10,0xfe,0x14,0x10,0xf0,0x10,0x10,0xf0,0x10,0x50,0x20,
-+0x10,0x13,0x10,0x54,0x57,0x54,0x55,0x55,0x55,0x55,0x55,0x54,0x7f,0x4,0x0,0x0,0x20,0xfe,0x88,0x50,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x20,0x20,
-+0x20,0x22,0x21,0x20,0xaf,0xa9,0xaa,0xac,0xaa,0xab,0xac,0xaa,0xf9,0x9,0x2,0x4,0x40,0x48,0x50,0x44,0xfe,0x50,0x48,0x44,0x8,0xbc,0xa8,0xa8,0x7e,0x8,0x8,0x8,
-+0x20,0x27,0x20,0x22,0xa9,0xa9,0xaa,0xac,0xab,0xaa,0xaa,0xab,0xf9,0x8,0x7,0x0,0x20,0xa8,0xb0,0xa4,0x18,0xf0,0xe,0x4,0xf8,0x8,0x8,0xf8,0x10,0xa4,0xfe,0x0,
-+0x1,0x1,0x45,0x7f,0x51,0x59,0x6b,0x5d,0x69,0x5d,0x6b,0x49,0x59,0x41,0x7f,0x40,0x0,0x0,0x14,0xfc,0x44,0x64,0xac,0x74,0xa4,0x74,0xac,0x24,0x64,0x4,0xfc,0x4,
-+0x1,0x21,0x3f,0x0,0x26,0x38,0x21,0x1f,0x20,0x3e,0x48,0xa,0xff,0x14,0x22,0x41,0x0,0x8,0xf8,0x0,0xfc,0x8,0x30,0x10,0xfe,0x14,0x50,0x5c,0x50,0xb0,0x90,0xe,
-+0x1,0x21,0x3f,0x8,0xff,0x8,0x3e,0x22,0x2a,0x2a,0x2a,0x2a,0xff,0x8,0x14,0x62,0x0,0x8,0xf8,0x0,0xfe,0x20,0x7c,0x44,0x54,0x54,0x54,0x54,0x54,0x28,0x26,0xc2,
-+0x0,0x0,0x1,0x2,0x4,0x8,0x10,0x1,0x3,0x5,0x9,0x31,0x1,0x1,0x1,0x1,0x80,0x80,0x0,0x0,0x40,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0x10,0x27,0x40,0x8,0x10,0x20,0x50,0x90,0x11,0x11,0x12,0x14,0x18,0x10,0x80,0x40,0x44,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x8,0x8,0x11,0x21,0x49,0x9,0x11,0x31,0x51,0x91,0x11,0x11,0x11,0x11,0x1f,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xfe,0x0,
-+0x8,0x8,0x10,0x20,0x49,0xa,0x11,0x31,0x51,0x91,0x11,0x11,0x11,0x11,0x10,0x10,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x4,0x28,0x10,
-+0xa,0x9,0x10,0x20,0x4b,0x8,0x10,0x37,0x50,0x90,0x1f,0x10,0x10,0x10,0x10,0x10,0x8,0x10,0xa0,0x8,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x8,0x8,0x10,0x21,0x4b,0x8,0x10,0x37,0x51,0x91,0x12,0x15,0x10,0x10,0x11,0x16,0x40,0x40,0x88,0x10,0xe0,0x40,0x88,0xfc,0x0,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,
-+0x8,0x8,0x10,0x27,0x48,0xa,0x11,0x37,0x50,0x90,0x11,0x12,0x14,0x18,0x10,0x10,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0xfe,0x40,0xe0,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x8,0x8,0x12,0x22,0x4a,0xa,0x17,0x30,0x50,0x92,0x12,0x12,0x13,0x14,0x14,0x18,0x40,0x40,0x48,0x7c,0x40,0x44,0xfe,0x40,0x40,0x48,0x7c,0x40,0x40,0xc0,0x66,0x1c,
-+0x8,0x8,0x12,0x21,0x49,0x8,0x17,0x34,0x54,0x95,0x15,0x15,0x15,0x14,0x14,0x14,0x40,0x48,0x4c,0x48,0x50,0x44,0xfe,0x4,0x4,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x8,0x8,0x13,0x22,0x4b,0xa,0x13,0x30,0x57,0x90,0x10,0x13,0x10,0x10,0x1f,0x10,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x8,0x8,0x17,0x22,0x49,0x9,0x12,0x33,0x54,0x90,0x1f,0x10,0x12,0x12,0x13,0x10,0x8,0x7c,0x80,0x48,0x48,0x50,0x0,0xfc,0x40,0x44,0xfe,0x40,0x48,0x48,0xf8,0x8,
-+0x12,0x12,0x2a,0x4a,0x8f,0x10,0x2f,0x60,0xaf,0x22,0x2f,0x22,0x23,0x2e,0x20,0x21,0x10,0x10,0x90,0xa4,0xbe,0x44,0xa4,0x28,0xa8,0x10,0x90,0x28,0xa8,0x44,0x86,0x0,
-+0x12,0x14,0x2f,0x48,0x8f,0x18,0x2f,0x62,0xbf,0x24,0x27,0x24,0x28,0x2b,0x30,0x21,0x10,0x10,0x90,0xa4,0xbe,0xc4,0xa4,0x28,0xa8,0x10,0x90,0xa8,0xa8,0x44,0x86,0x0,
-+0xe,0x1a,0x2e,0x4a,0x8e,0x1a,0x2e,0x64,0xa7,0x2c,0x37,0x24,0x27,0x24,0x27,0x24,0xe0,0xa4,0xfe,0xa0,0xe0,0xa0,0xfe,0x84,0xe4,0x84,0xe4,0x84,0xe4,0x84,0xf4,0x8,
-+0x0,0x0,0x8,0x10,0x20,0x40,0x8,0x10,0x20,0x40,0x8,0x10,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x88,0x50,0x20,0x50,0x88,0x8,0x18,0x28,0x48,0x88,0x8,0x8,0x8,0x50,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x88,0x50,0x20,0x57,0x88,0x8,0x18,0x28,0x49,0x89,0x9,0xa,0xa,0x54,0x28,0x80,0x80,0x80,0x90,0xf8,0x90,0x90,0x90,0x90,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x4,0x8b,0x50,0x20,0x50,0x88,0xf,0x18,0x28,0x48,0x88,0x8,0x8,0x8,0x50,0x20,0x10,0xf8,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x4,0x88,0x50,0x21,0x51,0x89,0x9,0x19,0x29,0x49,0x89,0x9,0xa,0xa,0x54,0x28,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x4,0x8b,0x50,0x21,0x51,0x89,0x9,0x19,0x29,0x48,0x88,0xf,0x8,0x8,0x50,0x20,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x4,0x28,0x10,
-+0x4,0x88,0x53,0x20,0x50,0x88,0x8,0x18,0x2b,0x48,0x88,0x8,0x8,0x8,0x57,0x20,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0x88,0xfe,0x0,
-+0x4,0x88,0x50,0x20,0x51,0x8a,0xb,0x18,0x28,0x48,0x88,0x8,0x9,0x9,0x52,0x24,0x40,0x40,0x40,0x90,0x8,0x4,0xfe,0x90,0x90,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x4,0x88,0x51,0x21,0x51,0x89,0x9,0x19,0x29,0x49,0x89,0x9,0x8,0x8,0x50,0x20,0x0,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,
-+0x5,0x89,0x51,0x22,0x52,0x8d,0x9,0x19,0x29,0x49,0x89,0x9,0x9,0x9,0x50,0x20,0x0,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x28,0x10,0x2,0x2,0xfe,0x0,
-+0x4,0x88,0x50,0x27,0x50,0x88,0xb,0x1a,0x2a,0x4b,0x88,0x8,0x9,0x9,0x52,0x24,0xa0,0xa0,0xa8,0xfc,0xa8,0xa8,0xf8,0xa0,0xa4,0xfe,0xa4,0xa4,0x34,0x28,0x20,0x20,
-+0x4,0x88,0x50,0x20,0x57,0x88,0x9,0x19,0x2f,0x49,0x89,0x9,0x9,0xa,0x50,0x20,0x20,0x28,0x24,0x20,0xfe,0x20,0x20,0x28,0xe8,0x28,0x28,0x10,0x12,0x2a,0xc6,0x2,
-+0x4,0x88,0x50,0x21,0x52,0x8c,0x9,0x18,0x28,0x4f,0x88,0x8,0x9,0xa,0x53,0x20,0x40,0x40,0xa0,0x10,0xe,0x24,0xf0,0x0,0x4,0xfe,0x40,0x80,0x10,0x8,0xfc,0x4,
-+0x4,0x88,0x53,0x22,0x54,0x88,0x8,0x1f,0x28,0x49,0x88,0x8,0x8,0x8,0x50,0x20,0x40,0x20,0xfe,0x2,0x14,0x10,0x14,0xfe,0x10,0x10,0x90,0x90,0x10,0x10,0x50,0x20,
-+0x0,0x88,0x57,0x20,0x51,0x92,0x12,0x33,0x56,0x9a,0x12,0x12,0x12,0x1a,0xa4,0x40,0x10,0x10,0x90,0x90,0x10,0x10,0xd8,0x54,0x54,0x52,0x92,0x10,0x10,0x10,0x50,0x20,
-+0x4,0x8a,0x52,0x22,0x53,0x8a,0xa,0x1a,0x2b,0x48,0x88,0xb,0x8,0x8,0x57,0x20,0x0,0x20,0x24,0x28,0xb0,0x20,0x22,0xa2,0x1e,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x4,0x89,0x51,0x21,0x51,0x88,0xb,0x1a,0x2a,0x4b,0x8a,0xa,0xb,0xa,0x52,0x22,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x14,0x8,
-+0x4,0x88,0x57,0x21,0x51,0x91,0x1f,0x31,0x53,0x93,0x15,0x15,0x19,0x11,0xa1,0x41,0x4,0xc4,0x4,0x14,0x14,0x54,0xf4,0x14,0x14,0x94,0x54,0x14,0x4,0x4,0x14,0x8,
-+0x4,0x88,0x50,0x21,0x52,0x8d,0x8,0x18,0x2f,0x48,0x89,0x9,0xa,0xc,0x51,0x20,0x40,0x40,0xa0,0x10,0x8,0xf6,0x40,0x48,0xfc,0x40,0x50,0x48,0x44,0x44,0x40,0x80,
-+0x4,0x88,0x50,0x21,0x52,0x8c,0xb,0x18,0x28,0x4a,0x89,0x9,0x9,0x8,0x57,0x20,0x40,0x40,0xa0,0x10,0x8,0x6,0xf8,0x0,0x8,0x48,0x48,0x50,0x50,0x4,0xfe,0x0,
-+0x4,0x88,0x57,0x20,0x50,0x8b,0x8,0x1b,0x28,0x48,0x8b,0xa,0xa,0xa,0x53,0x22,0x80,0x44,0xfe,0x0,0x0,0xfc,0x0,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x88,0x51,0x22,0x57,0x91,0x12,0x35,0x51,0x91,0x13,0x14,0x10,0x10,0xa1,0x46,0x40,0x80,0x10,0x8,0xfc,0x10,0x8,0x4,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x4,0x88,0x57,0x20,0x50,0x89,0xf,0x18,0x2b,0x4a,0x8a,0xa,0xb,0xa,0x50,0x20,0x40,0x44,0xfe,0x40,0xa0,0x14,0xfe,0x8,0xc8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x4,0x8b,0x52,0x22,0x53,0x8a,0xa,0x1b,0x28,0x4f,0x88,0x8,0x9,0xa,0x54,0x20,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x4,0x8f,0x54,0x24,0x54,0x97,0x14,0x10,0x31,0x52,0x95,0x10,0x10,0x10,0xa1,0x46,0x4,0xfe,0xa4,0xa4,0xa4,0xfc,0x84,0x80,0xf8,0x8,0x8,0x90,0x60,0x40,0x80,0x0,
-+0x4,0x88,0x53,0x22,0x52,0x8b,0xa,0x1a,0x2b,0x4a,0x88,0x8,0x8,0x9,0x52,0x24,0x0,0x44,0x9e,0x4,0x4,0x9c,0x4,0x4,0xfc,0x94,0x90,0x90,0x90,0x12,0x12,0xe,
-+0x4,0x88,0x50,0x21,0x52,0x95,0x18,0x30,0x57,0x90,0x13,0x12,0x12,0x12,0xa3,0x42,0x40,0x40,0xa0,0x10,0x8,0xf6,0x40,0x48,0xfc,0x40,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x88,0x57,0x21,0x51,0x89,0xa,0x1c,0x28,0x4f,0x88,0x8,0x8,0x8,0x50,0x20,0x80,0x48,0xfc,0x10,0x10,0x10,0xa8,0x44,0x40,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x8,0x8f,0x51,0x21,0x51,0x97,0x14,0x34,0x54,0x97,0x11,0x11,0x11,0x11,0xaa,0x44,0x20,0x20,0x20,0x40,0x7e,0x82,0x14,0x10,0x54,0x54,0x52,0x52,0x92,0x10,0x50,0x20,
-+0x5,0x89,0x51,0x21,0x5f,0x91,0x11,0x31,0x57,0x94,0x14,0x14,0x17,0x14,0xa0,0x41,0x4,0x3e,0x24,0x24,0xe4,0x3c,0x24,0x24,0xa4,0xbc,0xa4,0xa4,0xa4,0x44,0x94,0x8,
-+0x4,0x88,0x57,0x20,0x51,0x92,0x14,0x3b,0x52,0x93,0x12,0x13,0x12,0x10,0xaf,0x40,0x40,0x48,0xfc,0xe0,0x50,0x48,0x46,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x0,0xfe,0x0,
-+0x4,0x8b,0x52,0x22,0x53,0x92,0x12,0x33,0x50,0x9f,0x12,0x12,0x12,0x12,0xa3,0x42,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x0,0xfe,0x40,0x48,0x30,0x90,0xe,0x4,
-+0x0,0x8f,0x54,0x27,0x54,0x97,0x10,0x33,0x52,0x93,0x12,0x13,0x12,0x12,0xa2,0x42,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x4,0x8b,0x52,0x22,0x53,0x8a,0xa,0x1a,0x2a,0x4a,0x8a,0xa,0xa,0xa,0x54,0x28,0x4,0xfe,0x24,0x24,0xfc,0x0,0xfc,0x84,0xfc,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x4,0x8b,0x50,0x20,0x57,0x88,0x9,0xa,0x18,0x2f,0x48,0x88,0x9,0xa,0x54,0x20,0x0,0xf8,0x90,0x60,0xfc,0xc4,0x48,0xc0,0x44,0xfe,0x40,0xe0,0x50,0x4e,0x44,0x40,
-+0x4,0x8f,0x51,0x20,0x5f,0x88,0xb,0x1a,0x2b,0x4a,0x8b,0x8,0xf,0x8,0x50,0x20,0x40,0xfc,0x10,0xa4,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,0x40,
-+0x4,0x8f,0x51,0x20,0x5f,0x88,0xb,0x1a,0x2b,0x4a,0x8b,0x8,0x8,0x9,0x52,0x2c,0x40,0xfc,0x10,0xa4,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0xa0,0xa0,0x22,0x22,0x1e,
-+0x0,0x8f,0x58,0x2a,0x69,0xaf,0x28,0x2a,0x6a,0xaa,0x2b,0x28,0x28,0x29,0xb2,0x44,0x4,0xfe,0x0,0x28,0x48,0xee,0x92,0xa4,0xa8,0xa8,0xe8,0x88,0x94,0x14,0x24,0x42,
-+0x4,0x88,0x57,0x20,0x52,0x91,0x13,0x36,0x5b,0x92,0x13,0x10,0x12,0x14,0xa9,0x40,0x40,0x44,0xfe,0x40,0xa8,0x10,0xf8,0xe,0xf8,0x8,0xf8,0x40,0x50,0x4c,0x44,0x80,
-+0x2,0x8a,0x53,0x24,0x59,0x97,0x15,0x35,0x57,0x95,0x15,0x17,0x15,0x15,0xa8,0x40,0x4,0x3e,0x94,0x94,0x14,0xec,0x40,0x58,0xde,0x68,0x48,0xfe,0x48,0x48,0xc8,0x8,
-+0x0,0x8b,0x50,0x2f,0x50,0x97,0x15,0x34,0x57,0x90,0x17,0x10,0x1f,0x15,0xa4,0x48,0x38,0xc0,0x44,0xfe,0x40,0xfc,0x54,0xe4,0xfc,0x40,0xfc,0x40,0xfe,0x24,0x92,0x2,
-+0x1,0x8f,0x51,0x27,0x54,0x97,0x11,0x32,0x57,0x9a,0x13,0x12,0x13,0x12,0xa3,0x42,0x10,0xfe,0x10,0xbc,0xa4,0xbc,0x40,0x24,0xfe,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x0,0x10,0x10,0x10,0x1f,0x22,0x22,0x22,0x54,0x8c,0x8,0x8,0x10,0x20,0xc0,0x0,0x10,0x10,0x10,0x10,0xfc,0x10,0x90,0x90,0x90,0x94,0xfe,0x10,0x10,0x10,0x10,0x10,
-+0x1,0x7f,0x49,0x49,0x7f,0x49,0x49,0x7f,0x8,0xff,0x8,0x1c,0x2a,0x49,0x88,0x8,0x20,0xa0,0x3c,0x44,0xa8,0x10,0x20,0x60,0xbe,0x22,0x44,0xa4,0x18,0x10,0x20,0xc0,
-+0x20,0x20,0x20,0x21,0x3a,0x4c,0x4b,0x4a,0xab,0x12,0x13,0x22,0x22,0x42,0x83,0x2,0x40,0x40,0xa0,0x10,0x8e,0x44,0xf8,0x8,0xf8,0x8,0xf8,0x48,0x30,0x90,0xc,0x4,
-+0x4,0xf,0x32,0x7,0x59,0x7f,0x40,0x9f,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x8,0x30,0x0,0xf0,0x60,0x80,0x0,0xfe,0x2,0xf4,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x20,0x18,
-+0x2,0x2,0x7,0x4,0xa,0x11,0x6,0x18,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x40,0x80,0x0,0xc0,0x30,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x1e,0x24,0x28,0x40,0x90,0x10,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x23,0x20,0x3c,0x44,0x89,0x23,0x20,0x20,0x20,0x21,0x25,0x2a,0x32,0x24,0x0,0x0,0xf8,0x20,0x40,0x80,0x4,0xfe,0x94,0x94,0x94,0x24,0x24,0x44,0x44,0xa8,0x10,
-+0x20,0x20,0x20,0x3f,0x44,0x8a,0x22,0x22,0x22,0x22,0x23,0x20,0x28,0x30,0x20,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x42,0x42,0x3e,
-+0x21,0x21,0x21,0x3d,0x46,0x89,0x20,0x23,0x20,0x20,0x20,0x24,0x28,0x30,0x20,0x0,0x0,0x0,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0xa,0xa,0x6,
-+0x20,0x20,0x23,0x3c,0x44,0x88,0x20,0x20,0x2f,0x20,0x20,0x24,0x28,0x30,0x27,0x0,0x8,0x3c,0xc0,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x48,0xfc,0x0,
-+0x20,0x20,0x23,0x3c,0x44,0x88,0x20,0x2f,0x20,0x20,0x20,0x24,0x29,0x31,0x22,0xc,0x8,0x3c,0xc0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x20,0x20,0x21,0x3d,0x46,0x88,0x23,0x20,0x20,0x20,0x20,0x24,0x28,0x30,0x21,0x6,0x80,0x84,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x20,0x20,0x20,0x3c,0x45,0x8a,0x27,0x20,0x20,0x23,0x22,0x26,0x2a,0x32,0x23,0x2,0x40,0x40,0x80,0x80,0x10,0x8,0xfc,0x4,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x20,0x20,0x3f,0x46,0x8a,0x22,0x22,0x22,0x22,0x22,0x26,0x2a,0x32,0x22,0x2,0x40,0x40,0x84,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x20,0x20,0x23,0x3c,0x44,0x8b,0x22,0x24,0x21,0x20,0x20,0x27,0x28,0x30,0x21,0x0,0x40,0x48,0xfc,0x40,0x40,0xfc,0x4,0x8,0xf0,0x20,0x44,0xfe,0x40,0x40,0x40,0x80,
-+0x20,0x20,0x20,0x3c,0x45,0x8a,0x25,0x20,0x20,0x27,0x20,0x21,0x2a,0x34,0x21,0x0,0x40,0x40,0xa0,0xa0,0x10,0x8,0xf6,0x40,0x48,0xfc,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x20,0x23,0x22,0x3e,0x47,0x8a,0x22,0x23,0x22,0x22,0x23,0x26,0x2a,0x32,0x23,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x20,0x24,0xa8,0x30,0x22,0xa2,0x1e,0x0,
-+0x20,0x20,0x27,0x3c,0x45,0x8a,0x24,0x2b,0x22,0x23,0x22,0x23,0x2a,0x30,0x27,0x0,0x40,0x48,0xfc,0xe0,0x50,0x48,0x46,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x0,0xfc,0x0,
-+0x20,0x20,0x21,0x3d,0x45,0x89,0x21,0x21,0x21,0x20,0x23,0x20,0x28,0x30,0x20,0x7,0x20,0xa4,0x2e,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0xd8,0x6,
-+0x21,0x21,0x27,0x39,0x49,0x93,0x2,0x23,0x22,0x23,0x20,0x27,0x28,0x31,0x22,0xc,0x10,0x14,0xfe,0x10,0x10,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0xa0,0x10,0xe,0x4,
-+0x21,0x20,0x27,0x38,0x4b,0x90,0xf,0x20,0x21,0x21,0x22,0x2b,0x34,0x28,0x17,0x0,0x10,0xa0,0xfc,0x40,0xfc,0x40,0xfe,0x88,0xfc,0x48,0x48,0xf8,0x88,0x88,0xfe,0x0,
-+0x21,0x21,0x27,0x39,0x49,0x90,0x3,0x22,0x23,0x20,0x27,0x20,0x2b,0x30,0x2f,0x0,0x10,0x14,0xfe,0x10,0xf0,0x40,0xf8,0x48,0xf8,0x40,0xfc,0x40,0xf8,0x40,0xfe,0x0,
-+0x22,0x22,0x22,0x3f,0x4a,0x92,0xf,0x20,0x27,0x24,0x27,0x24,0x2f,0x34,0x25,0x4,0x88,0x88,0x88,0xd0,0x9e,0xa4,0xf4,0x14,0xd4,0x54,0xc8,0x48,0xd4,0x54,0x64,0x82,
-+0x20,0x27,0x24,0x3c,0x4f,0x94,0x4,0x27,0x21,0x27,0x21,0x21,0x2f,0x31,0x22,0x4,0x4,0xbe,0xa4,0xa4,0xbc,0x20,0xa4,0xbc,0x10,0xfc,0x10,0x14,0xfe,0x10,0xc,0x4,
-+0x20,0x2f,0x20,0x3b,0x4a,0x97,0x5,0x2b,0x21,0x23,0x21,0x27,0x29,0x33,0x2d,0x1,0x40,0xfe,0x40,0xf8,0x48,0xfe,0x12,0xfc,0x10,0xf8,0x10,0xfe,0x48,0x30,0x8e,0x4,
-+0x1,0x0,0x3f,0x20,0x24,0x24,0x24,0x24,0x24,0x27,0x24,0x24,0x44,0x44,0x83,0x0,0x0,0x88,0xfc,0x0,0x0,0x0,0x8,0x30,0xc0,0x0,0x0,0x0,0x4,0x4,0xfc,0x0,
-+0x1,0x0,0x3f,0x20,0x20,0x2f,0x20,0x20,0x3f,0x21,0x21,0x21,0x42,0x42,0x84,0x18,0x0,0x88,0xfc,0x0,0x10,0xf8,0x80,0x84,0xfe,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,
-+0x1,0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x2f,0x24,0x22,0x21,0x40,0x41,0x86,0x18,0x0,0x88,0xfc,0x80,0x84,0xfe,0x80,0x80,0xf8,0x10,0x20,0x40,0x80,0x60,0x1e,0x4,
-+0x1,0x0,0x3f,0x24,0x24,0x27,0x28,0x30,0x27,0x24,0x24,0x27,0x44,0x44,0x84,0x3,0x0,0x88,0xfc,0x0,0x8,0xfc,0x8,0x48,0xe8,0x48,0x48,0xc8,0x28,0x12,0x2,0xfe,
-+0x1,0x0,0x3f,0x20,0x22,0x24,0x24,0x2f,0x34,0x24,0x24,0x24,0x45,0x46,0x84,0x4,0x0,0x88,0xfc,0x0,0x20,0x20,0x24,0xfe,0x60,0x70,0xa8,0xa8,0x26,0x24,0x20,0x20,
-+0x1,0x0,0x3f,0x24,0x22,0x3f,0x20,0x20,0x2f,0x20,0x20,0x3f,0x40,0x40,0x80,0x0,0x0,0x88,0xfc,0x10,0x20,0xfc,0x80,0x90,0xf8,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x1,0x0,0x3f,0x22,0x3f,0x22,0x23,0x20,0x27,0x24,0x27,0x24,0x44,0x48,0x88,0x10,0x0,0x88,0xfc,0x20,0xfc,0x20,0xe0,0x0,0xf0,0x10,0xf0,0x80,0x40,0x30,0xe,0x4,
-+0x1,0x0,0x3f,0x20,0x2f,0x21,0x22,0x24,0x2f,0x34,0x27,0x24,0x47,0x44,0x80,0x0,0x0,0x88,0xfc,0x80,0xfc,0x40,0xa0,0x90,0xfe,0x94,0xf0,0x90,0xf0,0x92,0x82,0x7e,
-+0x1,0x0,0x3f,0x22,0x2c,0x28,0x28,0x2e,0x28,0x28,0x2f,0x29,0x42,0x44,0x88,0x30,0x0,0x88,0xfc,0x80,0xb8,0x88,0x88,0xb8,0x88,0x88,0xf8,0x48,0x20,0x10,0xe,0x4,
-+0x1,0x0,0x3f,0x21,0x2f,0x28,0x2f,0x28,0x2f,0x21,0x22,0x3f,0x40,0x40,0x80,0x0,0x0,0x88,0xfc,0x0,0xf8,0x88,0xf8,0x88,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x0,0x3f,0x20,0x2f,0x20,0x3f,0x21,0x2f,0x22,0x27,0x2c,0x34,0x24,0x41,0x42,0x8c,0x80,0xfe,0x80,0xf8,0x88,0xfe,0x8,0xf8,0x20,0xf0,0x1e,0x94,0x90,0x40,0x30,0x8,
-+0x1,0x0,0x3f,0x22,0x2f,0x22,0x2f,0x22,0x3f,0x24,0x27,0x24,0x44,0x4a,0x91,0x0,0x0,0x88,0xfc,0x20,0xa4,0x3e,0xa8,0x48,0xa8,0x28,0xa8,0x90,0x90,0xa8,0x44,0x82,
-+0x0,0x3f,0x24,0x3f,0x24,0x27,0x20,0x2f,0x28,0x2f,0x20,0x2f,0x20,0x4f,0x40,0xbf,0x80,0xfe,0x10,0xfc,0x10,0xf0,0x80,0xf8,0x88,0xf8,0x80,0xf8,0x80,0xf8,0x80,0xfe,
-+0x0,0x3f,0x20,0x2f,0x28,0x2f,0x28,0x2f,0x20,0x2f,0x20,0x3f,0x24,0x4b,0x40,0xbf,0x80,0xfe,0x0,0xf8,0x88,0xf8,0x88,0xf8,0x80,0xf8,0x80,0xfe,0x90,0xe8,0x80,0xfe,
-+0x0,0x3f,0x24,0x27,0x29,0x2a,0x3f,0x2a,0x2f,0x2a,0x2f,0x2a,0x2a,0x4a,0x51,0x80,0x80,0xfe,0x0,0xfc,0x24,0x24,0xac,0xc8,0xa8,0xbe,0xc8,0x88,0xfe,0x88,0x88,0x8,
-+0x0,0x3f,0x20,0x3f,0x20,0x2f,0x2a,0x2b,0x2a,0x2f,0x20,0x27,0x20,0x5f,0x42,0x8c,0x80,0xfe,0x80,0xfe,0x0,0xf8,0x28,0xe8,0x28,0xf8,0x0,0xf0,0x0,0xfc,0xa0,0x98,
-+0x0,0x3f,0x22,0x24,0x2d,0x36,0x24,0x24,0x27,0x24,0x27,0x24,0x27,0x44,0x44,0x84,0x80,0xfe,0x50,0xfc,0x90,0xfc,0x90,0x9c,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x10,0x10,0x10,0x10,0x58,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x17,0x10,0x58,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x11,0x12,0x14,0x0,0x4,0xfe,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x84,0x4,0x28,0x10,
-+0x10,0x10,0x10,0x10,0x5b,0x54,0x50,0x91,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x90,0x90,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x10,0x10,0x13,0x10,0x58,0x54,0x50,0x97,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0x1c,0xe0,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x17,0x10,0x58,0x54,0x5f,0x90,0x10,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x0,0x8,0xfc,0x40,0x40,0x44,0xfe,0x40,0x60,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x10,0x17,0x58,0x54,0x50,0x93,0x12,0x11,0x10,0x10,0x10,0x11,0x12,0x1c,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0xf8,0x8,0x10,0xa0,0x40,0xa0,0x10,0xe,0x4,
-+0x10,0x13,0x12,0x12,0x5a,0x56,0x52,0x92,0x12,0x12,0x12,0x12,0x13,0x12,0x13,0x10,0x8,0xfc,0x0,0x4,0x84,0x48,0x48,0x30,0x10,0x28,0x48,0x84,0x4,0x0,0xfe,0x0,
-+0x20,0x20,0x20,0x20,0xb7,0xac,0xa4,0xa4,0x24,0x27,0x24,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x10,0x59,0x56,0x50,0x90,0x17,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x88,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x11,0x11,0x11,0x12,0x5b,0x54,0x53,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x0,0xf8,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x12,0xa,0x6,0x2,
-+0x11,0x11,0x11,0x11,0x59,0x55,0x51,0x9f,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x0,0x8,0x10,0x20,0x40,0x80,0x4,0xfe,0x40,0x40,0x20,0x20,0x10,0x4e,0x84,0x0,
-+0x10,0x10,0x10,0x10,0x59,0x56,0x54,0x91,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x40,0x40,0xa0,0x90,0x8,0xe,0x4,0xf0,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,0x0,
-+0x10,0x10,0x10,0x10,0x59,0x55,0x52,0x94,0x10,0x10,0x10,0x11,0x12,0x13,0x10,0x10,0x0,0x20,0xa0,0x90,0x10,0x8,0xe,0x44,0x40,0x80,0x80,0x10,0x8,0xfc,0x4,0x0,
-+0x10,0x10,0x10,0x17,0x58,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x80,0x40,0x4,0xfe,0x40,0x40,0x60,0x50,0x4c,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x13,0x10,0x58,0x54,0x50,0x93,0x10,0x10,0x10,0x10,0x10,0x10,0x17,0x10,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0x5f,0x54,0x50,0x90,0x13,0x12,0x12,0x12,0x12,0x12,0x13,0x12,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x10,0x10,0x5b,0x54,0x50,0x90,0x11,0x11,0x12,0x14,0x18,0x10,0x10,0x10,0x40,0x50,0x48,0x40,0xfe,0x40,0xc0,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,0x40,
-+0x10,0x17,0x10,0x12,0x59,0x55,0x51,0x90,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x8,0xfc,0x40,0x48,0x48,0x48,0x50,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x13,0x12,0x5a,0x56,0x53,0x92,0x12,0x12,0x13,0x12,0x10,0x10,0x1f,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x10,0x13,0x5a,0x56,0x52,0x92,0x12,0x1f,0x10,0x10,0x10,0x11,0x12,0x14,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0x48,0xfe,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x11,0x11,0x11,0x11,0x5a,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x10,0x13,0x12,0x12,0x5b,0x56,0x52,0x92,0x12,0x12,0x12,0x12,0x14,0x14,0x18,0x10,0x4,0xfe,0x4,0x4,0xfc,0x0,0x80,0x84,0x88,0x90,0xa0,0xc0,0x82,0x82,0x7e,0x0,
-+0x10,0x10,0x10,0x17,0x58,0x54,0x57,0x94,0x14,0x17,0x10,0x10,0x11,0x11,0x12,0x14,0xa0,0xa0,0xa4,0xfe,0xa4,0xa4,0xfc,0xa4,0xa0,0xfe,0xa2,0xa2,0x2a,0x24,0x20,0x20,
-+0x10,0x10,0x13,0x10,0x58,0x54,0x51,0x92,0x14,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x0,0x4,0xfe,0x84,0x84,0x84,0x14,0x8,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x13,0x11,0x10,0x58,0x54,0x51,0x92,0x15,0x10,0x10,0x17,0x10,0x10,0x10,0x10,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x50,0x4e,0xf4,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x18,0x55,0x52,0x57,0x90,0x10,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x40,0x40,0x80,0x80,0x10,0x8,0xfc,0x4,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x21,0x2f,0x30,0xa8,0xa0,0xbf,0xa2,0x22,0x24,0x25,0x28,0x2f,0x20,0x20,0x21,0x10,0x10,0x90,0x14,0x7e,0x14,0xd4,0x14,0x14,0x14,0x24,0xa4,0xa4,0x44,0x94,0x8,
-+0x20,0x27,0x24,0x24,0xb4,0xac,0xa7,0xa4,0x24,0x24,0x24,0x24,0x28,0x29,0x31,0x26,0x4,0xfe,0x40,0x50,0x48,0x40,0xfe,0x40,0x40,0x40,0xa0,0xa0,0xa0,0x10,0xe,0x4,
-+0x20,0x27,0x24,0x24,0xb5,0xad,0xa5,0xa5,0x25,0x25,0x25,0x21,0x22,0x22,0x24,0x28,0x44,0xe4,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x4,0x84,0x44,0x54,0x8,
-+0x10,0x12,0x12,0x12,0x5b,0x54,0x53,0x90,0x10,0x13,0x12,0x12,0x12,0x12,0x11,0x10,0x40,0x48,0x48,0x48,0xf8,0x0,0xf8,0x8,0x8,0xf8,0x8,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x11,0x5a,0x54,0x53,0x92,0x12,0x13,0x12,0x12,0x13,0x12,0x10,0x10,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x4,0x28,0x10,
-+0x10,0x10,0x11,0x11,0x5a,0x54,0x50,0x91,0x12,0x14,0x1b,0x12,0x12,0x12,0x13,0x12,0x80,0x80,0xf8,0x10,0xa0,0x40,0xa0,0x10,0xe,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x27,0x24,0x28,0xb7,0xa9,0xa1,0xa2,0x27,0x20,0x20,0x2f,0x20,0x20,0x20,0x20,0x0,0xfe,0x82,0x84,0xf8,0x0,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x17,0x10,0x58,0x57,0x54,0x98,0x13,0x10,0x10,0x17,0x10,0x10,0x11,0x10,0x40,0x48,0xfc,0x40,0x40,0xfe,0x2,0x4,0xf8,0x10,0x24,0xfe,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x17,0x10,0x58,0x57,0x54,0x94,0x17,0x14,0x10,0x11,0x12,0x14,0x18,0x10,0x40,0x44,0xfe,0x40,0x44,0xfe,0x44,0x44,0xfc,0x44,0xe0,0x50,0x48,0x46,0x44,0x40,
-+0x21,0x25,0x25,0x25,0xb5,0xad,0xa5,0xa5,0x25,0x20,0x20,0x2f,0x20,0x20,0x3f,0x20,0x0,0x0,0xfc,0x4,0x28,0x10,0x28,0x46,0x80,0x80,0x90,0xf8,0x80,0x84,0xfe,0x0,
-+0x10,0x10,0x17,0x14,0x5c,0x57,0x54,0x94,0x17,0x10,0x10,0x17,0x10,0x10,0x1f,0x10,0x0,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x10,0x17,0x14,0x14,0x5c,0x57,0x54,0x94,0x14,0x15,0x16,0x14,0x14,0x14,0x17,0x14,0x4,0xfe,0x44,0x44,0x54,0xfc,0x44,0xc4,0xe4,0x5c,0x4c,0x44,0x44,0x4,0xfc,0x4,
-+0x10,0x13,0x12,0x12,0x5b,0x54,0x57,0x94,0x14,0x14,0x17,0x14,0x14,0x14,0x13,0x10,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x44,0x44,0x44,0xfc,0x0,0x2,0x2,0xfe,0x0,
-+0x12,0x11,0x10,0x13,0x58,0x50,0x57,0x94,0x14,0x17,0x10,0x11,0x12,0x14,0x10,0x10,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0xc4,0x44,0x54,0x48,0x40,0x40,
-+0x10,0x10,0x11,0x1a,0x57,0x51,0x52,0x94,0x11,0x12,0x15,0x10,0x10,0x10,0x13,0x14,0x40,0x80,0x10,0x8,0xfc,0x10,0x8c,0x84,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x4,
-+0x10,0x17,0x14,0x14,0x5d,0x54,0x54,0x94,0x17,0x14,0x14,0x14,0x14,0x15,0x17,0x10,0x8,0xfc,0x20,0x28,0xfc,0x20,0xa8,0x20,0xfe,0x20,0x50,0x50,0x88,0x4,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0x58,0x57,0x52,0x91,0x10,0x17,0x10,0x10,0x1f,0x10,0x10,0x10,0x40,0x48,0xfc,0x40,0x44,0xfe,0x8,0x10,0xa0,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x17,0x58,0x54,0x50,0x97,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0xa0,0xa0,0xa8,0xbc,0xa0,0xa0,0xa0,0xbc,0xa0,0xa0,0xa4,0xbe,0xa0,0xa0,0xa0,0xa0,
-+0x10,0x14,0x12,0x11,0x58,0x57,0x54,0x94,0x15,0x15,0x15,0x15,0x15,0x14,0x14,0x14,0x40,0x44,0x48,0x50,0x44,0xfe,0x4,0x4,0xf4,0x14,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x10,0x17,0x14,0x15,0x5c,0x57,0x54,0x94,0x17,0x15,0x15,0x15,0x15,0x14,0x14,0x14,0x4,0xfe,0x4,0x14,0xa4,0xfc,0x44,0x54,0xfc,0x4,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x17,0x14,0x14,0x5d,0x54,0x54,0x97,0x14,0x15,0x15,0x15,0x15,0x15,0x18,0x10,0x4,0xfe,0x44,0x44,0xf4,0x44,0x54,0xfc,0x4,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x11,0x11,0x11,0x12,0x5c,0x55,0x51,0x92,0x14,0x11,0x11,0x15,0x15,0x19,0x10,0x10,0x0,0x4,0xfe,0xa4,0xa4,0x24,0x44,0x54,0x88,0x40,0x20,0x24,0xa,0xa,0xf8,0x0,
-+0x10,0x10,0x17,0x11,0x59,0x55,0x52,0x94,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x80,0x48,0xfc,0x10,0x10,0x10,0xa8,0x44,0x40,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x20,0x27,0x24,0x24,0xb7,0xac,0xa4,0xa7,0x20,0x2f,0x29,0x29,0x29,0x29,0x3f,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfc,0x24,0x24,0x24,0x24,0xfe,0x0,
-+0x10,0x10,0x13,0x1a,0x53,0x50,0x5f,0x90,0x13,0x12,0x12,0x12,0x12,0x10,0x11,0x16,0x40,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x8,0xfc,0x8,0x48,0x48,0x48,0xb0,0x8,0x4,
-+0x10,0x17,0x14,0x14,0x5f,0x54,0x53,0x90,0x1f,0x11,0x13,0x10,0x10,0x10,0x10,0x10,0x4,0xbe,0xa4,0xa4,0xbc,0x0,0xf8,0x0,0xfe,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0x10,0x17,0x14,0x14,0x5f,0x54,0x50,0x9f,0x10,0x10,0x10,0x10,0x11,0x11,0x12,0x14,0x4,0xfe,0xa4,0xa4,0xfc,0x80,0x44,0xfe,0x80,0x88,0xfc,0x88,0x8,0x8,0x28,0x10,
-+0x10,0x12,0x12,0x12,0x5b,0x54,0x50,0x97,0x10,0x10,0x17,0x14,0x14,0x14,0x14,0x14,0x40,0x48,0x48,0x48,0xf8,0x0,0x4,0xfe,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x10,0x11,0x17,0x11,0x59,0x55,0x57,0x91,0x13,0x13,0x15,0x15,0x19,0x11,0x11,0x11,0x90,0xd0,0x10,0x10,0x52,0x34,0xd8,0x10,0x10,0x90,0x50,0x28,0x28,0x44,0x82,0x0,
-+0x11,0x11,0x11,0x1a,0x55,0x51,0x51,0x91,0x11,0x11,0x11,0x13,0x14,0x10,0x11,0x16,0x0,0x4,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xf8,0x10,0xa0,0x40,0xb0,0xe,
-+0x10,0x10,0x17,0x18,0x57,0x50,0x5f,0x90,0x11,0x13,0x10,0x17,0x11,0x12,0x14,0x10,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x80,0x10,0xe0,0x48,0xfc,0x50,0x4c,0x44,0xc0,
-+0x22,0x21,0x2f,0x21,0xb7,0xa9,0xa1,0xbf,0x21,0x21,0x27,0x21,0x23,0x25,0x29,0x21,0x10,0x24,0xfe,0x20,0xfc,0x24,0x24,0xfe,0x24,0x24,0xfc,0x20,0x30,0x2e,0x24,0x20,
-+0x10,0x13,0x12,0x13,0x5a,0x57,0x52,0x93,0x12,0x13,0x13,0x13,0x15,0x15,0x19,0x11,0x20,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0x2c,
-+0x10,0x13,0x12,0x13,0x5a,0x57,0x50,0x9f,0x10,0x13,0x12,0x13,0x11,0x12,0x14,0x10,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x0,0xf8,0x8,0xf8,0x50,0x4c,0x44,0xc0,
-+0x11,0x11,0x11,0x1a,0x56,0x5b,0x52,0x92,0x13,0x12,0x12,0x13,0x12,0x12,0x12,0x14,0x40,0x24,0xfe,0x20,0x20,0xfc,0x20,0x20,0xfc,0x20,0x20,0xfe,0x0,0x94,0x4a,0x2,
-+0x10,0x17,0x11,0x10,0x5f,0x54,0x53,0x92,0x13,0x12,0x13,0x10,0x17,0x10,0x1f,0x10,0x40,0xfc,0x10,0xa4,0xfe,0x0,0xf8,0x48,0xf8,0x48,0xf8,0x40,0xfc,0x40,0xfe,0x0,
-+0x11,0x11,0x1f,0x11,0x5b,0x55,0x51,0x97,0x10,0x12,0x12,0x12,0x13,0x12,0x14,0x18,0x10,0x14,0xfe,0x10,0xb8,0x54,0x10,0xfc,0x48,0x40,0x7c,0x40,0x40,0xc0,0x46,0x3c,
-+0x10,0x1f,0x10,0x17,0x5d,0x55,0x55,0x97,0x10,0x13,0x10,0x1f,0x11,0x12,0x14,0x10,0x40,0xfe,0x0,0xfc,0x14,0xf4,0x14,0xfc,0x0,0xf8,0x0,0xfe,0x50,0x4c,0x44,0xc0,
-+0x21,0x2f,0x21,0x23,0xb2,0xab,0xa0,0xaf,0x28,0x33,0x22,0x23,0x22,0x23,0x22,0x23,0x10,0xfe,0x10,0xf8,0xa8,0xf8,0x0,0xfe,0x2,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,
-+0x0,0x3f,0x2,0x2,0xff,0x4,0x4,0x8,0x12,0x22,0xcb,0xa,0x12,0x22,0xa,0x4,0x10,0xf8,0x0,0x4,0xfe,0x80,0x40,0x20,0x10,0xe,0x24,0x90,0x48,0x48,0x0,0x0,
-+0x3c,0x27,0x24,0x29,0x26,0x24,0x34,0x28,0x21,0x26,0x18,0xe1,0x9,0x11,0x25,0x2,0x40,0xfc,0x80,0xf8,0x88,0xf8,0x88,0xf8,0x88,0xc0,0x30,0xe,0x50,0x28,0x28,0x0,
-+0x20,0x17,0x40,0x40,0x40,0x40,0x40,0x5f,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x4,0x4,0x24,0xf4,0x4,0x4,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x20,0x17,0x40,0x40,0x5f,0x40,0x40,0x40,0x4f,0x40,0x40,0x40,0x5f,0x40,0x40,0x40,0x4,0xfe,0x4,0x24,0xf4,0x4,0x4,0x44,0xe4,0x4,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x20,0x17,0x41,0x41,0x5f,0x41,0x41,0x4f,0x41,0x41,0x5f,0x41,0x41,0x41,0x41,0x41,0x4,0xfe,0x4,0x24,0xf4,0x4,0x44,0xe4,0x4,0x14,0xfc,0x14,0x54,0x24,0xc,0x4,
-+0x20,0x17,0x42,0x42,0x42,0x5f,0x42,0x44,0x45,0x49,0x4a,0x52,0x67,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x4,0x84,0x4,0x4,0x44,0x24,0xe4,0x4,0x14,0x8,
-+0x20,0x17,0x40,0x42,0x41,0x5f,0x40,0x44,0x42,0x41,0x42,0x44,0x48,0x40,0x40,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x44,0x44,0x84,0x4,0x84,0x64,0x24,0x4,0x14,0x8,
-+0x20,0x17,0x40,0x42,0x41,0x5f,0x40,0x47,0x44,0x44,0x44,0x44,0x48,0x50,0x40,0x40,0x4,0xfe,0x4,0x4,0x24,0xf4,0x4,0xc4,0x44,0x44,0x44,0x54,0x74,0x4,0x14,0x8,
-+0x20,0x17,0x40,0x50,0x48,0x47,0x40,0x58,0x49,0x49,0x4a,0x4c,0x53,0x60,0x40,0x40,0x4,0xfe,0x4,0x84,0xa4,0xf4,0x84,0x84,0x44,0x34,0x14,0x4,0xfc,0x4,0x14,0x8,
-+0x20,0x17,0x40,0x40,0x47,0x44,0x44,0x47,0x40,0x4f,0x48,0x48,0x48,0x4f,0x48,0x40,0x4,0xfe,0x4,0x44,0xe4,0x44,0x44,0xc4,0x4,0xe4,0x24,0x24,0x24,0xe4,0x14,0x8,
-+0x20,0x17,0x40,0x40,0x5f,0x51,0x51,0x5f,0x51,0x53,0x55,0x59,0x51,0x5f,0x50,0x40,0x4,0xfe,0x4,0x4,0xf4,0x14,0x54,0xf4,0x14,0x94,0x54,0x34,0x14,0xf4,0x14,0x8,
-+0x20,0x17,0x42,0x47,0x48,0x51,0x4f,0x49,0x4f,0x49,0x4f,0x41,0x41,0x40,0x40,0x40,0x4,0xfe,0x4,0xc4,0x84,0x24,0xf4,0x24,0xe4,0x24,0xe4,0x4,0x14,0xf4,0x4,0xc,
-+0x20,0x17,0x42,0x41,0x4f,0x48,0x4f,0x48,0x4f,0x4a,0x49,0x48,0x4a,0x4c,0x48,0x40,0x4,0xfe,0x4,0x24,0xf4,0x24,0xe4,0x24,0xe4,0x14,0x24,0xc4,0x44,0x34,0x4,0xc,
-+0x20,0x17,0x40,0x40,0x7f,0x40,0x5e,0x52,0x52,0x52,0x5e,0x40,0x7e,0x41,0x42,0x40,0x4,0xfe,0xa4,0x94,0xfc,0x84,0x84,0x94,0x54,0x64,0x44,0x54,0xb4,0x14,0x4,0xc,
-+0x20,0x17,0x40,0x4f,0x48,0x4f,0x48,0x4f,0x40,0x5f,0x50,0x5f,0x50,0x5f,0x40,0x40,0x4,0xfe,0x4,0xe4,0x24,0xe4,0x24,0xe4,0x4,0xf4,0x14,0xf4,0x14,0xf4,0x14,0x8,
-+0x20,0x17,0x40,0x42,0x4c,0x48,0x4e,0x48,0x4f,0x42,0x42,0x44,0x44,0x48,0x50,0x40,0x4,0xfe,0x4,0x24,0xf4,0x24,0xe4,0x24,0xe4,0x84,0x84,0x94,0x94,0x74,0x4,0xc,
-+0x20,0x17,0x40,0x40,0x5f,0x49,0x45,0x5f,0x50,0x67,0x44,0x42,0x41,0x46,0x58,0x40,0x4,0xfe,0x24,0xf4,0x4,0x24,0x44,0xfc,0xc,0xd4,0x44,0x84,0x4,0xc4,0x34,0x8,
-+0x20,0x17,0x40,0x4f,0x49,0x4f,0x48,0x4a,0x4c,0x40,0x4f,0x48,0x4f,0x48,0x4f,0x40,0x4,0xfe,0x4,0xe4,0x4,0xf4,0x84,0x54,0x34,0x4,0xe4,0x24,0xe4,0x24,0xf4,0x8,
-+0x20,0x17,0x48,0x44,0x44,0x7f,0x48,0x49,0x4e,0x4a,0x4a,0x52,0x52,0x66,0x40,0x40,0x4,0xfe,0x4,0x44,0x44,0xa4,0xa4,0x14,0x8c,0x64,0x24,0x4,0x84,0x64,0x24,0xc,
-+0x20,0x17,0x40,0x4f,0x48,0x4f,0x48,0x4f,0x48,0x4f,0x41,0x7f,0x41,0x46,0x58,0x40,0x4,0xfe,0x4,0xe4,0x24,0xe4,0x24,0xe4,0x24,0xe4,0x44,0xfc,0x4,0xc4,0x34,0xc,
-+0x20,0x17,0x40,0x5e,0x52,0x4a,0x44,0x4f,0x71,0x41,0x5f,0x41,0x42,0x44,0x58,0x40,0x4,0xfe,0x84,0xa4,0xcc,0x94,0x64,0xe4,0x1c,0x4,0xf4,0x4,0xc4,0x34,0x14,0x8,
-+0x20,0x17,0x41,0x4f,0x41,0x5f,0x42,0x44,0x4f,0x40,0x4f,0x4a,0x4a,0x4a,0x5f,0x40,0x4,0xfe,0x4,0xe4,0x4,0xf4,0x4,0x44,0xe4,0x4,0xe4,0xa4,0xa4,0xa4,0xf4,0x8,
-+0x20,0x17,0x41,0x5f,0x41,0x4f,0x48,0x4f,0x48,0x4f,0x48,0x4f,0x48,0x7f,0x44,0x48,0x4,0xfe,0x4,0xf4,0x4,0xe4,0x24,0xe4,0x24,0xe4,0x24,0xe4,0x24,0xfc,0x44,0x2c,
-+0x20,0x17,0x40,0x51,0x4a,0x7f,0x44,0x55,0x55,0x5f,0x54,0x44,0x48,0x51,0x40,0x40,0x4,0xfe,0x4,0x44,0x44,0xfc,0x94,0x44,0x44,0x44,0x44,0xa4,0xa4,0x14,0x14,0x8,
-+0x20,0x17,0x40,0x5c,0x44,0x7e,0x53,0x5e,0x52,0x5e,0x52,0x7e,0x43,0x42,0x42,0x40,0x4,0xfe,0x4,0x44,0x44,0xfc,0x14,0x94,0xa4,0xa4,0x44,0xa4,0x1c,0x4,0x14,0x8,
-+0x10,0x10,0x10,0x90,0x50,0x50,0x10,0x10,0x10,0x30,0x50,0x90,0x10,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x8,0x8,0x8,0x8,0xf,0x0,0x0,0x7f,0x8,0x8,0x8,0x8,0x10,0x60,0x0,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,0x20,0xe0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x4,0x24,0x24,0x24,0x24,0x3c,0x7,0x4,0xfc,0x24,0x24,0x24,0x24,0x44,0x85,0x4,0x40,0x50,0x48,0x40,0x44,0x7e,0xc0,0x40,0x48,0x48,0x50,0x20,0x60,0x92,0xa,0x4,
-+0x0,0x40,0x30,0x10,0x80,0x48,0x48,0x10,0x10,0x20,0xe0,0x20,0x20,0x20,0x20,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x41,0x31,0x11,0x82,0x4c,0x4b,0x10,0x10,0x20,0xe0,0x21,0x22,0x22,0x21,0x20,0x0,0x0,0x4,0xfe,0x0,0x0,0xf0,0x10,0x20,0x40,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x40,0x33,0x12,0x82,0x4a,0x4a,0x13,0x12,0x22,0xe2,0x22,0x22,0x22,0x21,0x20,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x0,0x40,0x37,0x10,0x82,0x4a,0x49,0x11,0x10,0x20,0xe0,0x20,0x20,0x21,0x22,0x2c,0x0,0x0,0xfc,0x8,0x88,0x50,0x50,0x10,0xa0,0xa0,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x0,0x40,0x30,0x17,0x80,0x48,0x4b,0x10,0x10,0x20,0xef,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x48,0xfc,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x47,0x30,0x10,0x80,0x4f,0x49,0x11,0x11,0x21,0xe1,0x22,0x22,0x24,0x28,0x30,0x8,0xfc,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x40,0x30,0x10,0x87,0x48,0x48,0x11,0x11,0x22,0xe2,0x24,0x28,0x20,0x20,0x20,0x40,0x40,0x40,0x44,0xfe,0x40,0xe0,0x50,0x50,0x48,0x48,0x44,0x46,0x40,0x40,0x40,
-+0x0,0x4f,0x30,0x10,0x82,0x4a,0x4a,0x12,0x12,0x23,0xe0,0x20,0x20,0x20,0x20,0x20,0x4,0xfe,0x40,0x40,0x44,0x7e,0x44,0x44,0x44,0xfc,0x4,0x4,0x4,0x4,0x28,0x10,
-+0x0,0x40,0x20,0x2f,0x80,0x44,0x4c,0x14,0x14,0x27,0xe0,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x44,0xfe,0x40,0x44,0x44,0x44,0x44,0xfc,0x44,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x40,0x33,0x12,0x82,0x4a,0x4a,0x12,0x13,0x22,0xe2,0x22,0x22,0x22,0x23,0x22,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x17,0x84,0x44,0x4c,0x14,0x17,0x24,0xe4,0x24,0x24,0x27,0x24,0x20,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,0x0,
-+0x1,0x40,0x30,0x10,0x8f,0x40,0x48,0x10,0x10,0x20,0xe0,0x20,0x20,0x20,0x20,0x20,0x0,0x80,0x80,0x4,0xfe,0x80,0x80,0xa0,0x90,0x8c,0x84,0x80,0x80,0x80,0x80,0x80,
-+0x0,0x40,0x30,0x17,0x80,0x4a,0x4a,0x11,0x11,0x20,0xe0,0x20,0x21,0x22,0x24,0x28,0x80,0x40,0x44,0xfe,0x8,0x8,0x8,0x10,0x10,0xa0,0x40,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x40,0x30,0x17,0x80,0x48,0x49,0x11,0x11,0x21,0xe1,0x21,0x22,0x22,0x24,0x28,0x80,0x40,0x44,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x40,0x34,0x13,0x81,0x4f,0x48,0x10,0x10,0x20,0xe1,0x21,0x22,0x22,0x24,0x28,0x40,0x40,0x40,0x40,0x44,0xfe,0x84,0x84,0x84,0xc4,0x34,0x14,0x4,0x44,0x28,0x10,
-+0x0,0x4f,0x39,0x1a,0x8a,0x4c,0x4a,0x19,0x19,0x29,0xed,0x2a,0x28,0x28,0x29,0x2a,0x20,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x2,0x42,0x22,0x22,0x9f,0x42,0x4a,0x12,0x12,0x23,0xe2,0x22,0x22,0x22,0x23,0x22,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x40,0x30,0x10,0x87,0x48,0x48,0x11,0x11,0x22,0xe2,0x24,0x28,0x20,0x20,0x20,0x40,0x50,0x4c,0x44,0xfe,0x40,0xe0,0x50,0x50,0x48,0x48,0x44,0x46,0x40,0x40,0x40,
-+0x1,0x41,0x31,0x11,0x8f,0x49,0x49,0x11,0x11,0x22,0xe2,0x22,0x24,0x25,0x28,0x30,0x0,0x20,0x10,0x4,0xfe,0x40,0x48,0x48,0x50,0x50,0x60,0x40,0xc2,0x42,0x3e,0x0,
-+0x0,0x40,0x30,0x10,0x80,0x4b,0x4a,0x12,0x12,0x23,0xe2,0x22,0x22,0x24,0x24,0x28,0x40,0x44,0x7e,0x40,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x40,0x30,0x13,0x82,0x4a,0x4a,0x12,0x12,0x2f,0xe0,0x20,0x20,0x21,0x22,0x2c,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0x48,0xfe,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x0,0x40,0x30,0x1f,0x89,0x49,0x59,0x19,0x29,0x29,0xca,0x4c,0x48,0x4f,0x48,0x40,0x0,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x1c,0x4,0x4,0xfc,0x4,0x0,
-+0x1,0x41,0x31,0x12,0x84,0x42,0x4a,0x13,0x16,0x22,0xe2,0x22,0x22,0x22,0x21,0x20,0x0,0x8,0xfc,0x40,0x40,0x48,0x7c,0xc8,0x48,0x48,0x68,0x50,0x42,0x2,0xfe,0x0,
-+0x0,0x40,0x30,0x11,0x81,0x4a,0x4c,0x10,0x17,0x20,0xe0,0x21,0x20,0x20,0x20,0x20,0x40,0x40,0xa0,0x10,0x10,0x88,0x46,0x40,0xf8,0x8,0x10,0x20,0xc0,0x40,0x30,0x10,
-+0x0,0x41,0x36,0x14,0x84,0x44,0x4c,0x14,0x15,0x26,0xe0,0x21,0x21,0x22,0x24,0x28,0x80,0x4,0x3e,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xb4,0xa8,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x40,0x37,0x14,0x84,0x44,0x44,0x17,0x10,0x20,0xe1,0x22,0x24,0x28,0x21,0x20,0x8,0x7c,0x80,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x50,0x48,0x46,0x42,0x40,0x80,
-+0x0,0x40,0x30,0x17,0x80,0x40,0x49,0x12,0x17,0x20,0xe0,0x21,0x22,0x24,0x27,0x20,0x80,0x40,0x44,0xfe,0x80,0x80,0x8,0x18,0xe0,0x40,0x80,0x0,0x10,0x8,0xfc,0x4,
-+0x0,0x44,0x33,0x11,0x80,0x47,0x48,0x10,0x10,0x2f,0xe0,0x20,0x20,0x20,0x20,0x20,0x40,0x44,0x4c,0x50,0x40,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x40,0x30,0x17,0x84,0x48,0x42,0x12,0x12,0x22,0xe3,0x22,0x22,0x22,0x21,0x20,0x80,0x40,0x40,0xfc,0x4,0x4,0x10,0x30,0x40,0x80,0x0,0x0,0x4,0x4,0xfc,0x0,
-+0x0,0x4f,0x30,0x10,0x80,0x47,0x4c,0x14,0x14,0x27,0xe0,0x20,0x20,0x21,0x25,0x22,0x0,0x90,0x90,0x90,0x90,0x90,0x10,0x20,0x20,0xa0,0xa0,0xa8,0xa4,0x42,0x7e,0x0,
-+0x0,0x47,0x34,0x14,0x84,0x47,0x4c,0x14,0x14,0x27,0xe4,0x24,0x24,0x25,0x26,0x24,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x40,0x44,0xfe,0x40,0x20,0x20,0x12,0xa,0x4,
-+0x0,0x40,0x37,0x10,0x80,0x48,0x49,0x12,0x14,0x27,0xe0,0x20,0x20,0x20,0x2f,0x20,0x0,0x10,0xf8,0x10,0x20,0xc0,0x18,0x6,0x2,0xfc,0x40,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x47,0x30,0x10,0x83,0x4a,0x4a,0x13,0x12,0x22,0xe2,0x23,0x22,0x20,0x2f,0x20,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x0,0xfe,0x0,
-+0x0,0x40,0x37,0x10,0x81,0x49,0x4b,0x15,0x11,0x21,0xe1,0x21,0x21,0x21,0x21,0x21,0x80,0x84,0xfe,0x80,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x0,0x40,0x37,0x12,0x82,0x43,0x42,0x14,0x16,0x29,0xe0,0x20,0x21,0x21,0x22,0x24,0x4,0x44,0xe4,0x4,0x14,0xd4,0x54,0x54,0x54,0x94,0x94,0x94,0x4,0x4,0x14,0x8,
-+0x0,0x40,0x30,0x17,0x80,0x4a,0x49,0x10,0x1f,0x20,0xe0,0x20,0x21,0x21,0x22,0x2c,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0x40,0x30,0x10,0x80,0x4b,0x4a,0x12,0x12,0x22,0xe2,0x22,0x20,0x20,0x21,0x26,0x40,0x44,0x7e,0x40,0x48,0xfc,0x8,0x48,0x48,0x48,0x48,0x48,0xa0,0x90,0xc,0x4,
-+0x0,0x47,0x34,0x14,0x84,0x4f,0x4c,0x14,0x14,0x24,0xe4,0x25,0x26,0x24,0x27,0x24,0x4,0xfe,0x44,0x44,0x54,0xfc,0x44,0x44,0xa4,0xa4,0xa4,0x14,0xc,0x4,0xfc,0x4,
-+0x0,0x4f,0x28,0x18,0x89,0x49,0x49,0x19,0x19,0x29,0xe9,0x29,0x28,0x28,0x2f,0x28,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0x24,0xe4,0x24,0x4,0x4,0xfc,0x4,
-+0x0,0x42,0x32,0x13,0x84,0x48,0x48,0x17,0x10,0x21,0xe1,0x22,0x24,0x28,0x20,0x20,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x0,0x40,0x33,0x12,0x82,0x4a,0x4b,0x12,0x12,0x22,0xe3,0x22,0x22,0x22,0x23,0x22,0x40,0x88,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x11,0x87,0x45,0x4d,0x15,0x15,0x25,0xe5,0x25,0x25,0x25,0x3f,0x20,0x40,0x40,0x80,0x8,0xfc,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0xfe,0x0,
-+0x0,0x40,0x30,0x11,0x82,0x4c,0x49,0x10,0x10,0x2f,0xe0,0x20,0x21,0x22,0x27,0x20,0x40,0x40,0xa0,0x10,0x8,0xe,0xf4,0x0,0x4,0xfe,0x40,0x80,0x10,0x8,0xfc,0x4,
-+0x0,0x40,0x30,0x14,0x82,0x4a,0x48,0x11,0x12,0x24,0xe0,0x21,0x21,0x22,0x24,0x28,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xb0,0xac,0xa4,0xa0,0x20,0x22,0x22,0x1e,0x0,
-+0x1,0x41,0x31,0x11,0x82,0x4c,0x4b,0x12,0x12,0x23,0xe2,0x22,0x23,0x22,0x20,0x20,0x0,0x0,0x4,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x24,0x24,0xe4,0x4,0x28,0x10,
-+0x1,0x41,0x31,0x13,0x84,0x40,0x49,0x16,0x10,0x23,0xe2,0x22,0x27,0x20,0x20,0x20,0x0,0x0,0xf8,0x10,0xa0,0x40,0xb0,0x4e,0x40,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,
-+0x2,0x41,0x31,0x1f,0x80,0x44,0x42,0x12,0x11,0x21,0xe2,0x22,0x24,0x28,0x20,0x20,0x4,0x4,0x14,0xf4,0x54,0x54,0x94,0x94,0x14,0x14,0x94,0x94,0x44,0x44,0x14,0x8,
-+0x0,0x48,0x24,0x24,0x80,0x51,0x5c,0x14,0x25,0x24,0xe4,0x25,0x26,0x24,0x20,0x20,0x40,0x40,0x48,0xfc,0xa0,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x47,0x30,0x10,0x83,0x48,0x48,0x13,0x10,0x2f,0xe2,0x21,0x21,0x20,0x20,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x14,0xfe,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x4,0x44,0x24,0x24,0x9f,0x44,0x44,0x14,0x14,0x28,0xe5,0x22,0x25,0x24,0x28,0x30,0x0,0x0,0x0,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0x24,0x24,0x24,0xbc,0xa4,0x0,
-+0x0,0x40,0x37,0x10,0x80,0x4b,0x4a,0x12,0x12,0x23,0xe0,0x21,0x22,0x2c,0x20,0x20,0x40,0x44,0xfe,0x40,0x48,0xfc,0x48,0x48,0x48,0xf8,0xe0,0x50,0x4e,0x44,0x40,0x40,
-+0x0,0x47,0x30,0x10,0x87,0x49,0x49,0x11,0x1f,0x20,0xe3,0x22,0x22,0x22,0x23,0x22,0x8,0xfc,0x80,0x90,0xf8,0x10,0x10,0x14,0xfe,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x17,0x80,0x42,0x49,0x10,0x17,0x20,0xe1,0x22,0x24,0x28,0x20,0x20,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0xd0,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x0,0x47,0x34,0x14,0x87,0x4c,0x4d,0x14,0x17,0x24,0xe4,0x24,0x24,0x24,0x27,0x24,0x4,0xfe,0x44,0x54,0xfc,0x44,0xf4,0x44,0xf4,0x54,0x54,0x74,0x44,0x44,0xfc,0x4,
-+0x0,0x43,0x32,0x12,0x82,0x4b,0x48,0x10,0x12,0x22,0xe2,0x22,0x23,0x22,0x24,0x28,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0xc0,0x30,0xe,
-+0x0,0x41,0x31,0x11,0x81,0x48,0x4b,0x12,0x12,0x23,0xe2,0x22,0x23,0x22,0x22,0x22,0x8,0xfc,0x8,0x8,0xf8,0x0,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x14,0x8,
-+0x0,0x40,0x34,0x14,0x87,0x40,0x48,0x11,0x12,0x24,0xeb,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x44,0x44,0xfc,0x44,0xa0,0x10,0x4e,0x4,0xf8,0x8,0x10,0x20,0x40,0x80,
-+0x0,0x40,0x33,0x12,0x82,0x43,0x42,0x12,0x12,0x22,0xef,0x20,0x21,0x22,0x24,0x28,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x10,0x10,0x10,0x14,0xfe,0x0,0x20,0x10,0xc,0x4,
-+0x2,0x41,0x30,0x11,0x82,0x40,0x4f,0x11,0x12,0x27,0xea,0x22,0x22,0x22,0x20,0x0,0x8,0xb0,0x40,0xb0,0x48,0x80,0xfe,0x40,0x48,0xfc,0x48,0x48,0x48,0x58,0x40,0x40,
-+0x1,0x41,0x31,0x12,0x84,0x47,0x4c,0x14,0x14,0x27,0xe4,0x20,0x21,0x21,0x22,0x2c,0x0,0x0,0xf8,0x10,0x24,0xfe,0x44,0x44,0x44,0xfc,0xa4,0xa0,0x20,0x22,0x22,0x1e,
-+0x0,0x44,0x37,0x14,0x88,0x43,0x48,0x10,0x17,0x21,0xe1,0x21,0x21,0x22,0x24,0x28,0x80,0x40,0xfe,0x2,0x24,0xf0,0x0,0x8,0xfc,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x40,0x27,0x10,0x80,0x4f,0x48,0x10,0x13,0x22,0xe6,0x2b,0x32,0x22,0x23,0x22,0x80,0x88,0xf8,0x90,0xa4,0xfe,0x40,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x2,0x42,0x37,0x12,0x82,0x4b,0x4a,0x12,0x13,0x22,0xe2,0x3f,0x20,0x22,0x24,0x28,0x10,0x10,0xfc,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x2,0x42,0x32,0x12,0x8f,0x42,0x56,0x17,0x2a,0x2a,0xf2,0x22,0x22,0x22,0x23,0x22,0x0,0xc,0x70,0x40,0xc0,0x44,0x7e,0x48,0xc8,0x48,0x48,0x48,0x88,0x88,0x8,0x8,
-+0x2,0x42,0x32,0x12,0x8f,0x42,0x56,0x17,0x2a,0x2a,0xf2,0x22,0x22,0x22,0x22,0x22,0x0,0x10,0x50,0x50,0xd0,0x48,0x88,0x26,0xa0,0x20,0x40,0x48,0x44,0xfc,0x4,0x0,
-+0x0,0x40,0x37,0x10,0x80,0x4f,0x41,0x10,0x12,0x21,0xe0,0x2f,0x20,0x20,0x21,0x26,0x40,0x48,0xfc,0x40,0x40,0xfe,0x22,0xa4,0x60,0x20,0xa4,0xfe,0x40,0x50,0x8c,0x4,
-+0x0,0x4f,0x30,0x11,0x86,0x40,0x55,0x12,0x16,0x29,0xe2,0x24,0x28,0x20,0x21,0x20,0x4,0xfe,0x80,0x0,0x88,0xd0,0x60,0x60,0xd0,0x50,0x48,0x4e,0x44,0x40,0x40,0x80,
-+0x0,0x47,0x34,0x14,0x87,0x54,0x54,0x17,0x10,0x2f,0xe1,0x21,0x21,0x22,0x24,0x28,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x0,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x43,0x32,0x12,0x83,0x48,0x4f,0x14,0x14,0x27,0xe4,0x24,0x27,0x20,0x20,0x20,0x8,0xfc,0x8,0x8,0xf8,0x40,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x40,0x42,0x3e,
-+0x0,0x40,0x30,0x11,0x82,0x4d,0x48,0x10,0x17,0x20,0xe2,0x21,0x21,0x20,0x2f,0x20,0x40,0x40,0xa0,0x10,0xe,0xf4,0x40,0x48,0xfc,0x40,0x44,0x48,0x50,0x40,0xfe,0x0,
-+0x0,0x4f,0x29,0x29,0x89,0x4f,0x59,0x19,0x29,0x2f,0xe9,0x29,0x29,0x29,0x2b,0x10,0x4,0x7e,0x54,0x54,0x54,0x54,0x54,0x54,0x7c,0x44,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x40,0x37,0x14,0x88,0x43,0x48,0x10,0x17,0x20,0xe1,0x22,0x24,0x28,0x21,0x20,0x80,0x40,0xfe,0x2,0x14,0xf8,0x0,0x4,0xfe,0x40,0x50,0x48,0x44,0x44,0x40,0x80,
-+0x0,0x40,0x37,0x14,0x88,0x47,0x44,0x14,0x17,0x24,0xe4,0x27,0x24,0x20,0x20,0x20,0x80,0x40,0xfe,0x42,0x40,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x44,0x40,0x40,0x40,
-+0x0,0x40,0x37,0x14,0x88,0x43,0x4a,0x12,0x13,0x22,0xe3,0x22,0x22,0x22,0x23,0x22,0x80,0x40,0xfe,0x2,0x4,0xf8,0x8,0x8,0xf8,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x0,0x43,0x30,0x10,0x83,0x48,0x48,0x17,0x10,0x24,0xe2,0x21,0x22,0x2c,0x21,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xfe,0x40,0x44,0xe8,0x50,0x48,0x4e,0x44,0x80,
-+0x0,0x47,0x34,0x14,0x87,0x45,0x4d,0x17,0x15,0x2d,0xed,0x35,0x25,0x25,0x21,0x21,0x44,0xe4,0x44,0x54,0xd4,0x14,0x54,0xf4,0x54,0x54,0x54,0x54,0x44,0xc4,0x14,0x8,
-+0x0,0x42,0x32,0x17,0x82,0x4a,0x4a,0x12,0x13,0x20,0xe7,0x20,0x21,0x22,0x2c,0x20,0x90,0x90,0x94,0xfe,0x90,0x90,0xf0,0x0,0xfc,0x40,0xfc,0xe0,0x50,0x4e,0x44,0x40,
-+0x0,0x47,0x30,0x10,0x87,0x44,0x4c,0x14,0x17,0x24,0xe0,0x27,0x20,0x20,0x2f,0x20,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xa4,0xfc,0x44,0x40,0xfc,0x40,0x44,0xfe,0x0,
-+0x0,0x40,0x37,0x10,0x81,0x4f,0x49,0x19,0x19,0x29,0xe9,0x29,0x29,0x29,0x2f,0x28,0x0,0x4,0xfe,0x80,0x4,0xfe,0x24,0x24,0xe4,0x24,0x24,0xe4,0x24,0x24,0xfc,0x4,
-+0x0,0x41,0x36,0x12,0x82,0x5f,0x42,0x16,0x17,0x2a,0xea,0x32,0x22,0x22,0x22,0x23,0x10,0x90,0x10,0x10,0x92,0xd4,0x38,0x10,0x10,0x90,0x28,0x28,0x48,0x48,0x84,0x2,
-+0x0,0x41,0x36,0x14,0x87,0x44,0x4c,0x17,0x10,0x27,0xe2,0x21,0x20,0x20,0x23,0x2c,0x40,0x44,0x5e,0x44,0x5c,0x44,0x44,0xfc,0x40,0xfc,0x8,0x10,0xe0,0xa0,0x10,0xe,
-+0x0,0x41,0x33,0x12,0x83,0x4a,0x4b,0x10,0x17,0x20,0xe0,0x27,0x20,0x20,0x2f,0x20,0x80,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x0,
-+0x2,0x42,0x35,0x14,0x88,0x57,0x42,0x12,0x1f,0x22,0xe7,0x2a,0x32,0x22,0x2a,0x24,0x0,0x0,0x4,0xfe,0x44,0x44,0x44,0x28,0xa8,0x28,0x10,0x90,0x28,0x28,0x44,0x82,
-+0x0,0x41,0x31,0x12,0x87,0x49,0x41,0x12,0x14,0x27,0xe5,0x25,0x25,0x25,0x3f,0x20,0x20,0x20,0x20,0x10,0xfe,0x14,0x10,0x50,0x20,0xf8,0x28,0x28,0x28,0x28,0xfe,0x0,
-+0x4,0x42,0x31,0x1f,0x80,0x47,0x44,0x14,0x17,0x24,0xe4,0x27,0x24,0x24,0x25,0x24,0x8,0x10,0x24,0xfe,0x0,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0x88,0xa8,0x90,
-+0x0,0x40,0x37,0x14,0x89,0x40,0x4b,0x12,0x12,0x23,0xe2,0x22,0x23,0x20,0x2f,0x20,0x80,0x40,0xfe,0x2,0xf4,0x0,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfe,0x0,
-+0x0,0x47,0x34,0x14,0x87,0x4c,0x4d,0x14,0x14,0x25,0xe4,0x25,0x28,0x28,0x33,0x20,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x40,0x88,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x0,0x47,0x34,0x14,0x87,0x44,0x4d,0x15,0x15,0x25,0xe5,0x25,0x25,0x29,0x29,0x31,0x4,0xfe,0x44,0x44,0xfc,0x0,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0xfc,
-+0x2,0x42,0x22,0x2f,0x82,0x42,0x4f,0x12,0x12,0x22,0xef,0x22,0x22,0x22,0x22,0x22,0x20,0x20,0x3c,0x48,0x94,0x7e,0xd4,0x54,0x54,0x54,0xfc,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0x40,0x37,0x10,0x87,0x40,0x4f,0x11,0x12,0x25,0xe8,0x23,0x20,0x21,0x26,0x20,0x40,0x44,0xfe,0x40,0xfc,0x80,0xfe,0x10,0x8,0xfe,0x44,0xf8,0xe0,0x50,0x4c,0x40,
-+0x0,0x40,0x37,0x10,0x80,0x4f,0x48,0x11,0x13,0x20,0xe7,0x24,0x24,0x24,0x2f,0x20,0x40,0x48,0xfc,0x40,0x44,0xfe,0x80,0x10,0xf8,0x0,0xfc,0xa4,0xa4,0xa4,0xfe,0x0,
-+0x0,0x4f,0x32,0x13,0x82,0x4b,0x4a,0x1f,0x10,0x2f,0xe8,0x25,0x22,0x25,0x28,0x30,0x8,0xfc,0x10,0xf0,0x10,0xf0,0x14,0xfe,0x10,0xfc,0x84,0x28,0x10,0x28,0xc6,0x84,
-+0x1,0x41,0x3f,0x11,0x80,0x4f,0x40,0x11,0x12,0x2d,0xe1,0x27,0x21,0x21,0x22,0x24,0x10,0x10,0xfe,0x10,0x48,0xfe,0xa0,0x10,0xe,0x14,0x10,0xfc,0x10,0x10,0x10,0x10,
-+0x1,0x41,0x3f,0x11,0x8f,0x48,0x48,0x17,0x10,0x20,0xe3,0x20,0x20,0x20,0x2f,0x20,0x10,0x14,0xfe,0x10,0xfe,0x2,0x4,0xfc,0x40,0x50,0xf8,0x40,0x50,0x48,0xfe,0x0,
-+0x0,0x40,0x37,0x10,0x87,0x44,0x4f,0x14,0x17,0x24,0xe0,0x2f,0x21,0x20,0x20,0x20,0x50,0x48,0xfe,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x44,0x40,0xfe,0x8,0x88,0x28,0x10,
-+0x0,0x47,0x30,0x10,0x87,0x44,0x44,0x17,0x10,0x20,0xef,0x20,0x21,0x22,0x2c,0x20,0x4,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xfc,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x0,0x47,0x34,0x15,0x84,0x47,0x4d,0x15,0x15,0x29,0xe0,0x2f,0x22,0x21,0x20,0x20,0x8,0xfc,0x0,0xf8,0x0,0xfc,0x44,0x28,0x90,0xe,0x10,0xfe,0x10,0x10,0x50,0x20,
-+0x0,0x47,0x34,0x17,0x84,0x4f,0x48,0x17,0x10,0x24,0xe3,0x22,0x24,0x20,0x22,0x21,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xbe,0x84,0xa4,0x9c,0x94,0xa4,0x84,0x94,0x8,
-+0x0,0x47,0x34,0x17,0x84,0x45,0x4e,0x14,0x17,0x24,0xe7,0x24,0x25,0x24,0x27,0x24,0x4,0xfe,0x4,0xfc,0x84,0x8c,0x54,0xe4,0x44,0xe4,0x5c,0x4c,0x44,0x84,0xfc,0x4,
-+0x2,0x42,0x33,0x15,0x88,0x40,0x4f,0x10,0x17,0x20,0xe0,0x2f,0x20,0x20,0x20,0x20,0x20,0x24,0xbe,0x50,0x88,0x3c,0xc0,0x90,0xf8,0x80,0x84,0xfe,0x80,0x84,0x84,0x7c,
-+0x0,0x41,0x37,0x14,0x87,0x44,0x47,0x14,0x17,0x20,0xe0,0x3f,0x21,0x21,0x22,0x2c,0x80,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0xa0,0x94,0xfe,0x40,0x20,0x10,0xe,
-+0x1,0x42,0x35,0x10,0x80,0x49,0x4e,0x13,0x10,0x20,0xe7,0x22,0x21,0x20,0x2f,0x20,0x10,0xc,0x14,0xa0,0x40,0xb0,0xe,0xf8,0x40,0x40,0xfc,0x48,0x50,0x44,0xfe,0x0,
-+0x0,0x40,0x37,0x14,0x85,0x44,0x57,0x14,0x25,0x24,0xe5,0x25,0x25,0x29,0x29,0x31,0x40,0x24,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x40,0x37,0x11,0x80,0x4f,0x48,0x10,0x1f,0x21,0xe1,0x21,0x21,0x21,0x22,0x24,0x80,0x48,0xfc,0x10,0xa0,0xfe,0x82,0x44,0xfe,0x10,0xf8,0x10,0x10,0x10,0x50,0x20,
-+0x0,0x4f,0x28,0x10,0x83,0x4a,0x4b,0x12,0x13,0x20,0xe0,0x2f,0x20,0x21,0x22,0x24,0x0,0xfe,0x2,0x4,0xf8,0x8,0xf8,0x8,0xf8,0x80,0x44,0xfe,0x0,0x10,0xc,0x4,
-+0x1,0x41,0x37,0x11,0x81,0x4f,0x48,0x17,0x14,0x27,0xe4,0x27,0x24,0x21,0x22,0x24,0x10,0x10,0xfc,0x10,0x14,0xfe,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x4,0x10,0xc,0x4,
-+0x1,0x41,0x2f,0x11,0x87,0x44,0x49,0x13,0x10,0x21,0xe7,0x20,0x22,0x24,0x29,0x20,0x10,0x14,0xfe,0x10,0xfe,0x82,0x14,0xe0,0x80,0x8,0xfc,0x44,0x50,0x4c,0x44,0x80,
-+0x1,0x4f,0x31,0x10,0x87,0x40,0x4f,0x10,0x17,0x20,0xe4,0x25,0x25,0x26,0x28,0x30,0x10,0xfe,0x10,0x40,0xfc,0x44,0xfe,0x44,0xfc,0x40,0x44,0x64,0x54,0x54,0x44,0x44,
-+0x2,0x42,0x2f,0x12,0x87,0x4a,0x52,0x12,0x10,0x2f,0xe1,0x22,0x21,0x20,0x23,0x2c,0x10,0x10,0xfc,0x10,0x38,0xd4,0x12,0x90,0x84,0xfe,0x10,0x10,0x20,0xc0,0x30,0x8,
-+0x1,0x41,0x3f,0x11,0x8f,0x49,0x4f,0x19,0x2f,0x20,0xe7,0x24,0x27,0x24,0x27,0x24,0x20,0x24,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0x40,0x30,0x17,0x84,0x45,0x44,0x14,0x14,0x25,0xe5,0x24,0x2b,0x28,0x30,0x20,0x48,0x7c,0x40,0xfe,0x44,0xf0,0x44,0x3c,0x8,0xf0,0x24,0xa8,0xfe,0x20,0xa0,0x40,
-+0x0,0x47,0x34,0x17,0x84,0x47,0x44,0x11,0x17,0x20,0xe1,0x27,0x22,0x24,0x29,0x20,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x84,0x8,0xf0,0x80,0x8,0xfc,0x50,0x4c,0x44,0x80,
-+0x0,0x40,0x37,0x14,0x84,0x47,0x40,0x17,0x14,0x24,0xe7,0x20,0x2a,0x2a,0x32,0x21,0x40,0x44,0xfe,0x44,0x44,0xfc,0x40,0xfc,0x44,0x44,0xfc,0x40,0x88,0x46,0xa,0xf8,
-+0x2,0x42,0x35,0x14,0x88,0x57,0x40,0x1a,0x1a,0x2a,0xea,0x21,0x23,0x3c,0x28,0x21,0x10,0x10,0x10,0xa4,0x7e,0xa4,0x24,0xa4,0xa8,0xa8,0x90,0x10,0xa8,0x28,0x44,0x82,
-+0x0,0x48,0x25,0x12,0x86,0x4a,0x4b,0x12,0x16,0x2b,0xf2,0x22,0x22,0x22,0x2a,0x24,0x20,0xa0,0x24,0xfc,0x28,0x30,0xfe,0x40,0xfc,0x44,0x44,0x7c,0x44,0x44,0x7c,0x44,
-+0x1,0x49,0x25,0x12,0x86,0x4a,0x53,0x12,0x26,0x2a,0xf2,0x22,0x22,0x22,0x2a,0x24,0x20,0x28,0xfc,0x20,0x50,0x88,0xfe,0x4,0xf4,0x94,0x94,0x94,0xf4,0x4,0x14,0x8,
-+0x0,0x40,0x37,0x14,0x84,0x4f,0x4c,0x14,0x17,0x25,0xe5,0x25,0x29,0x29,0x31,0x21,0x80,0x44,0xfe,0xa0,0xa4,0xfe,0xa4,0xa4,0xfc,0x20,0x24,0xe8,0x30,0x62,0xa2,0x1e,
-+0x4,0x42,0x32,0x1f,0x84,0x44,0x4f,0x15,0x15,0x25,0xe5,0x29,0x29,0x2d,0x32,0x21,0x20,0x20,0x24,0xfe,0x80,0x0,0x7e,0x12,0x14,0x50,0x5c,0x50,0x50,0x70,0x98,0x6,
-+0x0,0x47,0x30,0x11,0x8f,0x44,0x4c,0x17,0x14,0x24,0xe7,0x24,0x24,0x3f,0x20,0x20,0x10,0x90,0x90,0x24,0xfe,0xa4,0xa4,0xa4,0xa8,0xa8,0x90,0x90,0xa8,0xa8,0xc4,0x82,
-+0x2,0x42,0x2f,0x22,0x8f,0x50,0x1f,0x28,0x28,0x4f,0xc0,0x48,0x45,0x5f,0x40,0x40,0x8,0x88,0xc8,0x8,0xbe,0x8,0x88,0xa8,0x98,0x88,0x8,0x88,0x8,0xc8,0x28,0x10,
-+0x9,0x49,0x29,0x1f,0x89,0x49,0x5f,0x19,0x2f,0x29,0xe9,0x3f,0x24,0x29,0x30,0x21,0x0,0xc,0x70,0xc0,0x40,0x44,0x7e,0x48,0x48,0x48,0x48,0xc8,0x48,0x48,0x88,0x8,
-+0x2,0x42,0x2f,0x12,0x87,0x4a,0x42,0x17,0x14,0x27,0xe4,0x24,0x27,0x24,0x24,0x24,0x10,0x10,0xfc,0x10,0x38,0xd6,0x10,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x28,0x10,
-+0x0,0x41,0x2e,0x12,0x82,0x5f,0x42,0x16,0x17,0x2a,0xea,0x32,0x22,0x22,0x22,0x22,0x10,0x90,0x54,0x38,0x10,0xfc,0x44,0x44,0x7c,0xc4,0x44,0x7c,0x44,0x44,0x54,0x48,
-+0x0,0x47,0x31,0x10,0x8f,0x40,0x47,0x14,0x17,0x24,0xe7,0x20,0x27,0x20,0x2f,0x20,0x40,0xfc,0x10,0xa4,0xfe,0x0,0xfc,0x44,0xfc,0x44,0xfc,0x40,0xfc,0x40,0xfe,0x0,
-+0x7,0x44,0x37,0x14,0x85,0x44,0x4f,0x14,0x14,0x27,0xe4,0x25,0x2b,0x29,0x31,0x23,0xfc,0x4,0xfc,0x0,0xf8,0x10,0xfe,0x20,0x64,0xde,0x84,0x8,0xfe,0x8,0x8,0x18,
-+0x4,0x44,0x3f,0x24,0x84,0x5f,0x15,0x55,0x5f,0x44,0xcc,0x4e,0x55,0x64,0x44,0x44,0x20,0x20,0x7c,0x88,0x10,0x7c,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x28,0x46,0x82,
-+0x0,0x40,0x2f,0x29,0x89,0x49,0x5f,0x19,0x29,0x2f,0xe9,0x29,0x29,0x2f,0x29,0x20,0x20,0x30,0x48,0x7e,0xc8,0x48,0x7e,0x48,0x48,0x7e,0x48,0x48,0x48,0x7e,0x40,0x40,
-+0x0,0x40,0x37,0x14,0x87,0x44,0x57,0x10,0x27,0x20,0xe3,0x22,0x23,0x21,0x20,0x2f,0xa0,0xa4,0xfe,0xa4,0xfc,0xa4,0xfc,0x0,0xfc,0x0,0xf8,0x8,0xf8,0x10,0xa0,0xfe,
-+0x0,0x41,0x32,0x17,0x84,0x45,0x57,0x14,0x25,0x24,0xe5,0x24,0x29,0x29,0x31,0x21,0x80,0xf0,0x24,0xfe,0x88,0x24,0xfe,0x0,0xfc,0x0,0xfc,0x0,0xfc,0x4,0x4,0xfc,
-+0x0,0x4f,0x20,0x27,0x85,0x45,0x45,0x17,0x10,0x23,0xe2,0x23,0x22,0x23,0x20,0x2f,0x40,0xfe,0x0,0xfc,0x14,0xf4,0x14,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,
-+0x0,0x40,0x37,0x15,0x87,0x4c,0x4f,0x14,0x17,0x24,0xe7,0x24,0x29,0x2a,0x34,0x20,0x40,0x24,0xfe,0x8,0xfc,0x90,0xfc,0x94,0xfe,0x94,0xfc,0x90,0x98,0x94,0x92,0x90,
-+0x0,0x47,0x20,0x2f,0x88,0x53,0x40,0x13,0x10,0x2f,0xe0,0x27,0x24,0x24,0x24,0x24,0x8,0xfc,0x40,0xfe,0x42,0x58,0x40,0x58,0x40,0xfe,0x80,0xfc,0xa4,0xa4,0xa4,0xc,
-+0x2,0x43,0x22,0x24,0x8f,0x54,0x44,0x17,0x14,0x25,0xe4,0x27,0x24,0x24,0x24,0x27,0x50,0x54,0xd8,0x50,0xfe,0x88,0x50,0xfe,0x20,0xfc,0x20,0xfe,0x20,0x50,0x8e,0x4,
-+0x0,0x43,0x32,0x12,0x83,0x48,0x4f,0x14,0x17,0x24,0xe7,0x20,0x2f,0x21,0x21,0x22,0x80,0xf8,0x88,0x48,0xf8,0x0,0xfc,0x44,0xfc,0x44,0xfc,0x0,0xfe,0x10,0x10,0x10,
-+0x0,0x4f,0x30,0x13,0x82,0x4f,0x48,0x13,0x10,0x23,0xec,0x23,0x2c,0x23,0x2d,0x20,0x40,0xfe,0x0,0xf8,0x8,0xfe,0x2,0xfc,0x80,0x48,0x50,0x60,0xd0,0x4e,0x44,0x80,
-+0x0,0x4f,0x34,0x12,0x82,0x44,0x41,0x11,0x13,0x26,0xeb,0x22,0x23,0x22,0x23,0x22,0x0,0xbc,0xa4,0x94,0x94,0xa4,0x0,0x24,0xfe,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x4,0x44,0x3f,0x4,0x9f,0x51,0x11,0x3f,0x51,0x51,0xdf,0x44,0x7f,0x44,0x44,0x44,0x10,0x10,0xa8,0x28,0x44,0x82,0xfc,0x24,0xb4,0x6c,0x6c,0xb4,0x24,0x24,0xb4,0x48,
-+0x2,0x43,0x32,0x17,0x84,0x4a,0x41,0x12,0x17,0x20,0xe7,0x20,0x27,0x20,0x2f,0x20,0x0,0xbc,0x24,0xa8,0x90,0xa8,0x46,0xa0,0xbc,0xa0,0xbc,0xa0,0xbc,0xa0,0xfe,0x0,
-+0x0,0x5f,0x24,0x27,0x80,0x47,0x4c,0x17,0x10,0x2e,0xeb,0x2e,0x2b,0x2f,0x2a,0x37,0x80,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xf8,0x80,0x9c,0xf4,0x9c,0x54,0x54,0x96,0x62,
-+0x0,0x41,0x22,0x24,0x8b,0x50,0x4f,0x19,0x2f,0x20,0xef,0x29,0x29,0x2f,0x29,0x28,0x80,0x40,0x20,0x10,0xee,0x4,0xfc,0x24,0xfc,0x0,0xfc,0x24,0x24,0xfc,0x24,0xc,
-+0x0,0x42,0x2f,0x21,0x82,0x4f,0x44,0x17,0x14,0x27,0xe1,0x27,0x21,0x2f,0x22,0x24,0x40,0x48,0xfe,0x50,0x48,0xfe,0x44,0xfc,0x44,0xfc,0x10,0xfc,0x10,0xfe,0x8,0x4,
-+0x40,0x3f,0x31,0x9f,0x51,0x5f,0x4,0x3f,0x20,0x5f,0xd1,0x5f,0x44,0x55,0x64,0x4c,0x4,0x7e,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x20,0x28,0x46,0x82,
-+0x47,0x20,0x2f,0xa,0x95,0x4f,0x45,0x17,0x12,0x2f,0xea,0x2f,0x22,0x3f,0x22,0x22,0xfc,0x40,0xfe,0x4a,0x40,0xbc,0x24,0x24,0x3c,0xa4,0xa4,0xbc,0x24,0xe4,0x54,0x88,
-+0x0,0x0,0x0,0x2,0x1,0x1,0x7f,0x40,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x2,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x1,0x7f,0x42,0x82,0x2,0x3f,0x2,0x2,0x2,0x4,0x4,0x8,0x10,0x20,0x40,0x0,0x0,0xfe,0x2,0x4,0x20,0xf0,0x20,0x20,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x2,0x1,0x7f,0x40,0x80,0xff,0x4,0x4,0x8,0xf,0x18,0x28,0x48,0x8,0xf,0x8,0x0,0x0,0xfe,0x2,0x4,0xfe,0x0,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0xf0,0x10,
-+0x2,0x1,0x7f,0x40,0x82,0x1,0x9,0x8,0x28,0x28,0x29,0x4a,0xc,0x18,0x67,0x0,0x0,0x0,0xfe,0x2,0x4,0x10,0x10,0x20,0x48,0x84,0x4,0x4,0x10,0x10,0xf0,0x0,
-+0x2,0x1,0x7f,0x42,0x82,0xff,0x4,0xf,0x18,0x2f,0xc8,0xf,0x8,0x8,0x8,0x8,0x0,0x0,0xfe,0x2,0x4,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x2,0x1,0x7f,0x40,0x9f,0x10,0x17,0x10,0x1f,0x15,0x25,0x24,0x24,0x45,0x86,0x4,0x0,0x0,0xfe,0x2,0xf4,0x0,0xe0,0x8,0xfc,0x0,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x2,0x1,0x7f,0x42,0xa9,0x28,0x47,0x0,0x3f,0x21,0x3f,0x21,0x3f,0x21,0x21,0x21,0x0,0x0,0xfe,0x2,0x14,0x28,0xe4,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x28,0x10,
-+0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0xff,0x8,0x1f,0xe4,0x4,0x7,0x0,0x3f,0x0,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x44,0xfe,0x20,0xd0,0x4e,0x40,0xf8,0x8,0xe8,0x10,
-+0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0xff,0x8,0x17,0x21,0xcf,0x1,0x3f,0x1,0x3,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x44,0xfe,0x20,0xd0,0xe,0xe4,0x0,0xf8,0x0,0x0,
-+0x2,0x1,0x7f,0x40,0xa5,0x24,0x25,0x3c,0x4,0xff,0x24,0x25,0x25,0x25,0x45,0x5,0x0,0x0,0xfe,0x2,0xfc,0x40,0xf8,0x88,0x88,0xfe,0x0,0xfc,0x4,0x4,0xfc,0x4,
-+0x1,0x7f,0x41,0xbf,0x1,0xa,0x4,0x1f,0x30,0xdf,0x10,0x1f,0x9,0x11,0x25,0x2,0x0,0xfe,0x2,0xf8,0x0,0xa0,0x40,0xf0,0x1e,0xf4,0x10,0xf0,0x20,0x18,0x8,0x0,
-+0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0xff,0x9,0x1f,0x22,0xc4,0xc,0x35,0x6,0x4,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x44,0xfe,0x20,0xf0,0x1e,0xa4,0x40,0x20,0x1c,0x8,
-+0x1,0x7f,0x40,0xbf,0x24,0x3f,0x0,0xff,0x0,0x1f,0x10,0x1f,0x4,0xc,0x75,0x6,0x0,0xfe,0x2,0xfc,0x48,0xf8,0x0,0xfe,0x0,0xf0,0x10,0xf0,0x88,0x50,0x20,0x1c,
-+0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0xff,0x8,0x1f,0x28,0xcf,0x9,0xd,0x13,0x20,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x44,0xfe,0x20,0xf0,0x2e,0xe4,0x0,0xe0,0x0,0xf8,
-+0x1,0x7f,0x44,0x9f,0x4,0x1f,0x4,0xff,0x9,0x1f,0x27,0xc0,0xf,0x8,0x8,0xf,0x0,0xfe,0x42,0xf4,0x40,0xf0,0x44,0xfe,0x20,0xf0,0x8,0xe6,0xe0,0x20,0x20,0xe0,
-+0x0,0x40,0x30,0x10,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x47,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0xfc,0x0,
-+0x0,0x40,0x37,0x10,0x2,0x2,0xf7,0x10,0x10,0x10,0x11,0x12,0x14,0x28,0x47,0x0,0x0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x50,0x50,0x90,0x10,0x10,0x50,0x26,0xfc,0x0,
-+0x1,0x41,0x31,0x12,0x4,0x0,0xf0,0x1f,0x10,0x10,0x10,0x10,0x10,0x28,0x47,0x0,0x0,0x8,0xfc,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x46,0xfc,0x0,
-+0x0,0x40,0x27,0x24,0x4,0x5,0xe5,0x25,0x25,0x25,0x25,0x24,0x24,0x50,0x8f,0x0,0x0,0x8,0xfc,0x8,0x8,0xe8,0x28,0x28,0x28,0xe8,0x28,0x8,0x18,0x6,0xfc,0x0,
-+0x1,0x41,0x31,0x11,0x2,0x4,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x47,0x0,0x0,0x0,0x8,0xfc,0x80,0x90,0xf8,0x80,0x90,0xf8,0x80,0x80,0x80,0x86,0xfc,0x0,
-+0x2,0x42,0x33,0x14,0x8,0x2,0xf3,0x16,0x12,0x12,0x12,0x11,0x10,0x28,0x47,0x0,0x0,0x8,0xfc,0x40,0x48,0x7c,0xc8,0x48,0x68,0x50,0x4,0xfc,0x0,0x6,0xfc,0x0,
-+0x1,0x41,0x21,0x21,0x2,0x4,0xf0,0x11,0x11,0x12,0x14,0x11,0x20,0x48,0x87,0x0,0x0,0x0,0x8,0xfc,0x8,0x10,0x40,0x50,0x48,0x44,0x44,0x40,0x80,0x6,0xfc,0x0,
-+0x4,0x44,0x2f,0x24,0x4,0x4,0xe4,0x24,0x24,0x24,0x28,0x32,0x21,0x50,0x8f,0x0,0x0,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xbc,0x20,0x6,0xfc,0x0,
-+0x0,0x43,0x30,0x10,0x1,0x6,0xf0,0x13,0x10,0x10,0x10,0x17,0x10,0x28,0x47,0x0,0x0,0xf8,0x10,0x60,0x98,0x4,0x10,0xf8,0x40,0x40,0x48,0xfc,0x0,0x6,0xfc,0x0,
-+0x0,0x40,0x31,0x12,0x4,0x7,0xf0,0x13,0x12,0x12,0x12,0x13,0x12,0x28,0x47,0x0,0x80,0x80,0x10,0x8,0x4,0xfc,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,0x6,0xfc,0x0,
-+0x0,0x40,0x27,0x24,0x4,0x7,0xe4,0x24,0x25,0x29,0x29,0x31,0x21,0x50,0x8f,0x0,0x0,0x18,0xe0,0x0,0x8,0xfc,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x6,0xfc,0x0,
-+0x1,0x41,0x31,0x12,0x4,0x1,0xf6,0x10,0x13,0x12,0x12,0x17,0x10,0x28,0x47,0x0,0x0,0xf8,0x10,0xa0,0x40,0xb0,0x4e,0x40,0xf8,0x40,0x48,0xfc,0x40,0x46,0xfc,0x0,
-+0x0,0x40,0x2f,0x20,0xf,0x8,0xe8,0x2f,0x28,0x28,0x2f,0x28,0x28,0x50,0x8f,0x0,0xa0,0x90,0xfc,0x80,0xf8,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0x98,0x6,0xfc,0x0,
-+0x0,0x4f,0x30,0x17,0x4,0x4,0xf6,0x15,0x14,0x14,0x14,0x15,0x14,0x28,0x47,0x0,0x4,0xfe,0x0,0xbc,0xa4,0xa4,0xb4,0xac,0xa4,0xa4,0xa4,0xac,0xa4,0x2,0xfc,0x0,
-+0x0,0x40,0x30,0x17,0x0,0x2,0xf1,0x10,0x11,0x16,0x10,0x11,0x10,0x28,0x47,0x0,0x40,0x50,0x48,0xfc,0x40,0x48,0x50,0x40,0x50,0x4c,0x44,0x40,0x80,0x6,0xfc,0x0,
-+0x0,0x42,0x31,0x10,0x3,0x2,0xf2,0x13,0x12,0x12,0x13,0x12,0x12,0x28,0x47,0x0,0x40,0x48,0x50,0x40,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x18,0x6,0xfc,0x0,
-+0x0,0x48,0x25,0x22,0x5,0x9,0xe3,0x25,0x29,0x31,0x21,0x25,0x22,0x50,0x8f,0x0,0x10,0x90,0x10,0x10,0x52,0x54,0x58,0x90,0x28,0x28,0x28,0x44,0x82,0x6,0xfc,0x0,
-+0x0,0x41,0x32,0x17,0x1,0x2,0xf5,0x11,0x11,0x12,0x14,0x10,0x13,0x28,0x47,0x0,0x80,0x10,0x8,0xfc,0x10,0xc,0x4,0xf0,0x10,0xa0,0x40,0xa0,0x1c,0x6,0xfc,0x0,
-+0x0,0x40,0x37,0x10,0x0,0xf,0xf1,0x16,0x10,0x17,0x10,0x10,0x17,0x28,0x47,0x0,0x40,0x48,0xfc,0x40,0x44,0xfe,0x10,0x4c,0x40,0xfc,0x40,0x44,0xfe,0x0,0xfe,0x0,
-+0x0,0x43,0x30,0x17,0x0,0x1,0xf6,0x10,0x1f,0x11,0x13,0x10,0x11,0x2a,0x47,0x0,0x18,0xe0,0x48,0xfc,0xe0,0x50,0x4e,0x84,0xfe,0x10,0x10,0xe0,0x10,0x8,0xfe,0x0,
-+0x0,0x40,0x2f,0x28,0x13,0x2,0xe2,0x23,0x22,0x23,0x22,0x22,0x23,0x52,0x8f,0x0,0x80,0x40,0xfe,0x2,0xf4,0x10,0x10,0xf0,0x0,0xf8,0x8,0x8,0xf8,0x6,0xfc,0x0,
-+0x0,0x47,0x20,0x13,0x0,0xf,0xf0,0x12,0x11,0x11,0x12,0x14,0x11,0x28,0x47,0x0,0x8,0xfc,0x8,0xf8,0x8,0xfe,0x40,0x44,0x68,0x50,0x48,0x44,0x40,0x86,0xfc,0x0,
-+0x0,0x42,0x32,0x12,0x3,0x0,0xf7,0x10,0x17,0x14,0x14,0x14,0x14,0x28,0x47,0x0,0x40,0x48,0x48,0x48,0xf8,0x0,0xfe,0x80,0xfc,0xa4,0xa4,0xa4,0xac,0x2,0xfc,0x0,
-+0x0,0x40,0x33,0x12,0x3,0x2,0xf3,0x10,0x17,0x10,0x13,0x10,0x17,0x28,0x47,0x0,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x40,0xf8,0x40,0xfc,0x0,0xfe,0x0,
-+0x1,0x40,0x37,0x10,0x7,0x4,0xf4,0x14,0x15,0x16,0x15,0x14,0x17,0x28,0x47,0x0,0x10,0xa4,0xfe,0xa0,0xfc,0xa4,0xa4,0xa4,0x1c,0x4,0xf4,0x4,0xfc,0x0,0xfe,0x0,
-+0x0,0x47,0x34,0x14,0x7,0x4,0xf4,0x17,0x14,0x14,0x17,0x14,0x14,0x28,0x47,0x0,0x4,0xbe,0x84,0x84,0xbc,0x4,0x0,0x7c,0x44,0x44,0xa8,0x10,0x28,0x44,0xfe,0x0,
-+0x2,0x42,0x2f,0x22,0xf,0x2,0xff,0x24,0x27,0x24,0x24,0x28,0x29,0x50,0x8f,0x0,0x10,0x10,0x94,0x3e,0xa4,0x44,0xe4,0x14,0x94,0x88,0x94,0x94,0xa2,0x42,0xfe,0x0,
-+0x1,0x47,0x31,0x17,0x1,0xf,0xf0,0x13,0x12,0x13,0x12,0x1f,0x12,0x2a,0x47,0x0,0x10,0xfc,0x10,0xfc,0x10,0xfe,0x40,0xf8,0x48,0xf8,0x48,0xfe,0x8,0x18,0xfe,0x0,
-+0x3,0x42,0x33,0x12,0x3,0x0,0xf7,0x10,0x14,0x12,0x12,0x14,0x11,0x28,0x47,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xbc,0x84,0xa4,0x94,0x94,0xa4,0x8c,0x86,0xfc,0x0,
-+0x1,0x46,0x34,0x15,0x6,0x4,0xf3,0x12,0x12,0x13,0x12,0x12,0x13,0x28,0x47,0x0,0x4,0xfe,0x24,0x24,0x54,0x88,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,0x6,0xfc,0x0,
-+0x7,0x44,0x27,0x24,0x7,0x2,0xe7,0x2c,0x37,0x24,0x27,0x24,0x27,0x54,0x8f,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x40,0xfc,0x40,0xf8,0x40,0xf8,0x40,0xfc,0x0,0xfe,0x0,
-+0x0,0x42,0x31,0x17,0x0,0x1,0xf6,0x12,0x13,0x14,0x1a,0x11,0x12,0x2c,0x47,0x0,0x40,0x48,0x50,0xfc,0xe0,0x50,0x4c,0x8,0xfe,0xa8,0xa8,0x3e,0x8,0x8,0xfe,0x0,
-+0x0,0x40,0x20,0x27,0x4,0x7,0xe4,0x25,0x26,0x25,0x2a,0x28,0x33,0x50,0x8f,0x0,0x48,0x7c,0x40,0xfc,0x84,0xf0,0x84,0x78,0xa0,0x30,0x68,0xa4,0x24,0x60,0xfe,0x0,
-+0x4,0x47,0x29,0x32,0xf,0xa,0xea,0x2f,0x2a,0x2a,0x2f,0x2a,0x2a,0x51,0x8f,0x0,0x4,0xfe,0x24,0x24,0xac,0xc4,0xa8,0xbe,0xc8,0x88,0xfe,0x88,0x88,0x88,0xfe,0x0,
-+0x0,0x43,0x3c,0x2a,0x5,0x6,0xeb,0x25,0x39,0x23,0x25,0x39,0x25,0x52,0x8f,0x0,0x90,0x24,0xfe,0xc4,0x44,0x7c,0x44,0x44,0x7c,0x28,0x28,0x2a,0x4e,0x80,0xfe,0x0,
-+0x0,0x40,0x2f,0x29,0x12,0x1,0xef,0x21,0x2e,0x21,0x2e,0x21,0x2e,0x50,0x8f,0x0,0x80,0x40,0xfe,0x12,0xc,0x10,0xfc,0x88,0x50,0xe0,0x50,0xce,0x40,0xc6,0xfc,0x0,
-+0x2,0x44,0x22,0x2f,0x9,0x8,0xe9,0x2f,0x24,0x26,0x24,0x26,0x24,0x56,0x88,0x7,0x48,0x90,0x48,0xfc,0x24,0xc4,0x24,0xfc,0x90,0xd0,0x90,0xd4,0x94,0xdc,0x0,0xfe,
-+0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x3f,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,
-+0x10,0x14,0xfe,0x10,0x7c,0x10,0xfe,0x10,0x7f,0x0,0x0,0x3f,0x0,0x0,0x7f,0x0,0x10,0x14,0xfe,0x10,0x7c,0x10,0xfe,0x10,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x4,0x7,0x8,0x1f,0x0,0xff,0x2,0x5,0x19,0x62,0x4,0x19,0x62,0xc,0x72,0x1,0x0,0xf0,0x10,0xe0,0x44,0xfe,0x8,0x10,0xa0,0xc0,0xa0,0x90,0x8e,0x84,0x80,0x0,
-+0x4,0x7,0x8,0x1f,0x0,0xff,0x2,0x22,0x27,0x39,0x21,0x2f,0x29,0x32,0x24,0x8,0x0,0xf0,0x20,0xe0,0x44,0xfe,0x0,0x20,0xe4,0x28,0x30,0xe0,0x22,0xa2,0x5e,0x0,
-+0x0,0x3f,0x20,0x20,0x3f,0x22,0x22,0x22,0x3f,0x22,0x22,0x22,0x44,0x44,0x88,0x10,0x8,0xfc,0x8,0x8,0xf8,0x8,0x0,0x20,0xf0,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x2,0x3f,0x22,0x22,0x22,0x22,0x3e,0x28,0x28,0x24,0x24,0x22,0x41,0x40,0x80,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x7c,0x0,0x28,0x24,0x46,0x82,0x80,0x60,0x1e,0x4,
-+0x0,0x3f,0x20,0x3f,0x22,0x24,0x29,0x32,0x24,0x2d,0x34,0x24,0x44,0x44,0x84,0x5,0x4,0xfe,0x4,0xfc,0x20,0x28,0xfc,0x20,0x20,0xf8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x3f,0x20,0x3f,0x20,0x2f,0x2a,0x2a,0x2c,0x2a,0x2a,0x2e,0x4a,0x48,0x88,0x8,0x4,0xfe,0x4,0xfc,0x0,0xfe,0x8,0xe8,0xa8,0xa8,0xa8,0xa8,0xe8,0x8,0x28,0x10,
-+0x3f,0x20,0x3f,0x20,0x27,0x20,0x2f,0x20,0x21,0x3f,0x22,0x24,0x5f,0x44,0x84,0xc,0xfc,0x4,0xfc,0x0,0xe0,0x48,0xfc,0x80,0x80,0x7c,0x8,0x10,0x7e,0x10,0x10,0x30,
-+0x0,0x3f,0x20,0x3f,0x22,0x24,0x28,0x32,0x25,0x2c,0x34,0x24,0x44,0x45,0x86,0x4,0x4,0xfe,0x4,0xfc,0x20,0xbc,0xa0,0xa8,0xfc,0x20,0xa8,0xbc,0xa0,0x60,0x3e,0x0,
-+0x0,0x3f,0x20,0x3f,0x22,0x24,0x28,0x33,0x24,0x2d,0x34,0x27,0x44,0x44,0x84,0x5,0x4,0xfe,0x4,0xfc,0x20,0xa8,0x20,0xfc,0xa8,0x24,0x40,0xfe,0x88,0x70,0x48,0x84,
-+0x3f,0x20,0x3f,0x22,0x2f,0x20,0x27,0x20,0x3f,0x2a,0x3f,0x24,0x5f,0x44,0xbf,0x4,0xfc,0x4,0xfc,0x20,0xf8,0x80,0xf0,0x80,0xfc,0xa8,0x7c,0x10,0x7c,0x10,0xfe,0x10,
-+0x0,0x7d,0x4,0x4,0x4,0x7c,0x43,0x40,0x41,0x7c,0x4,0x4,0x4,0x4,0x2b,0x10,0x8,0xfc,0x8,0x30,0x58,0x86,0x2,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x8,0x7e,0x12,0x22,0x1c,0x14,0x62,0x3f,0x0,0x1f,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0xfc,0x44,0x48,0x30,0x48,0x86,0xf0,0x10,0xf0,0x0,0xf8,0x8,0x8,0x50,0x20,
-+0x0,0x7f,0x5,0x5,0x5,0x7d,0x41,0x41,0x41,0x7d,0x7,0x4,0x4,0x4,0x28,0x10,0x4,0xfe,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0xfe,0x8,0x8,0x8,0x8,0x8,
-+0x14,0x14,0x7f,0x15,0x15,0x7f,0x54,0x54,0x54,0x7f,0x15,0x15,0x15,0x27,0x24,0x44,0x20,0x20,0x3c,0x48,0x90,0x7c,0x54,0x54,0x54,0x7c,0x44,0x40,0x42,0x42,0x3e,0x0,
-+0x0,0xf0,0x1f,0x12,0x12,0x77,0x44,0x44,0x44,0x77,0x14,0x14,0x14,0x17,0xa4,0x40,0x4,0xbe,0xc4,0x4,0x4,0xbc,0xa0,0xa0,0xa4,0xbe,0x84,0x84,0x84,0x84,0xa8,0x10,
-+0x79,0xd,0x79,0x47,0x79,0xd,0x31,0xff,0x0,0xf,0x8,0x3f,0x24,0x2f,0x21,0x21,0x3c,0x44,0x3c,0xe0,0x3c,0x44,0x18,0xfe,0x0,0xe0,0x20,0xf8,0x48,0xe8,0x8,0x18,
-+0x1,0x11,0x11,0x11,0x11,0x1f,0x11,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x10,0x10,0x10,0x10,0xf0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x26,0x24,0x24,0x24,0x44,0x28,0x10,0x28,0x44,0x84,0x0,0x80,0x80,0x84,0xfe,0x4,0x4,0x4,0x84,0x44,0x44,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x11,0x10,0xfc,0x24,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x84,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x17,0x10,0x10,0xfc,0x24,0x24,0x27,0x24,0x44,0x28,0x10,0x28,0x44,0x81,0x2,0x4,0xfe,0x88,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x10,0x11,0x10,0x10,0xfc,0x24,0x27,0x24,0x24,0x44,0x28,0x10,0x28,0x45,0x82,0x4,0x8,0xfc,0x40,0x40,0x40,0x44,0xfe,0x50,0x50,0x50,0x90,0x90,0x92,0x12,0xe,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x0,0x4,0xfe,0x0,0x4,0x84,0x48,0x28,0x10,0x10,0x28,0x44,0x84,0x0,0x4,0xfe,0x0,
-+0x11,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x0,0x20,0x20,0x20,0x24,0x2c,0xf0,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0xa2,0x1e,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x25,0x26,0x24,0x24,0x45,0x28,0x10,0x28,0x44,0x84,0x0,0x40,0x40,0xa0,0xa0,0x10,0xe,0x44,0x20,0x0,0xf8,0x8,0x10,0x10,0x20,0x40,0x80,
-+0x10,0x10,0x10,0x11,0xfd,0x25,0x25,0x25,0x24,0x44,0x28,0x10,0x29,0x46,0x80,0x0,0x20,0x28,0x3c,0xe0,0x20,0x20,0x20,0xfe,0x22,0x62,0x6a,0xa4,0x20,0x20,0x20,0x20,
-+0x10,0x12,0x11,0x11,0xfc,0x27,0x24,0x24,0x24,0x44,0x28,0x10,0x29,0x45,0x82,0x4,0x40,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xa4,0x94,0x4,0x4,0x28,0x10,
-+0x10,0x13,0x10,0x10,0xfc,0x24,0x24,0x25,0x24,0x44,0x28,0x10,0x28,0x44,0x87,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0xfe,0x0,
-+0x10,0x11,0x10,0x10,0xfc,0x24,0x27,0x24,0x24,0x44,0x28,0x10,0x28,0x44,0x84,0x0,0x0,0xf8,0x8,0x50,0x20,0x20,0xfe,0x22,0x24,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x44,0x84,0x0,0x0,0x8,0x48,0x28,0x28,0x28,0x8,0x8,0x8,0x8,0x48,0x90,0x10,0x28,0x46,0x82,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x28,0x44,0x87,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x27,0x25,0x45,0x29,0x11,0x29,0x45,0x82,0x4,0x4,0xde,0x54,0x54,0x54,0x54,0x54,0xfe,0x54,0x54,0x54,0x54,0x54,0x54,0xec,0x44,
-+0x2,0x1,0x7f,0x0,0x8,0x4,0xff,0x1,0x2,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x0,0x8,0xfc,0x0,0x20,0x44,0xfe,0x0,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x18,
-+0x10,0x10,0x17,0x10,0xfc,0x24,0x24,0x26,0x25,0x44,0x28,0x10,0x28,0x44,0x87,0x0,0x0,0x4,0xfe,0x90,0x90,0x90,0x92,0x94,0x98,0x90,0x90,0x90,0x90,0x94,0xfe,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x24,0x24,0x27,0x24,0x47,0x28,0x10,0x28,0x44,0x81,0x6,0x40,0x40,0x5c,0xe0,0x48,0x52,0x62,0x9e,0x0,0xf8,0x90,0x90,0x90,0x92,0x12,0xe,
-+0x10,0x11,0x11,0x11,0xfd,0x26,0x24,0x27,0x24,0x44,0x28,0x10,0x29,0x46,0x84,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x70,0xa8,0xa8,0x24,0x22,0x20,0x20,
-+0x2,0x1,0x7f,0x4,0x14,0x24,0x44,0x5,0x2,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x0,0x8,0xfc,0x40,0x50,0x4c,0x44,0x40,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x18,
-+0x10,0x10,0x10,0x13,0xfc,0x24,0x25,0x26,0x24,0x44,0x28,0x10,0x28,0x44,0x81,0x6,0x40,0x20,0x4,0xfe,0x0,0x88,0x6,0x8a,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x11,0x10,0x10,0x13,0xfc,0x24,0x24,0x24,0x27,0x44,0x28,0x10,0x28,0x44,0x81,0x2,0x4,0x88,0x0,0xfe,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x10,0x10,0x13,0x12,0xfc,0x24,0x25,0x24,0x24,0x47,0x28,0x10,0x28,0x44,0x84,0x0,0x40,0x20,0xfe,0x2,0x4,0x38,0xc0,0x40,0x44,0xfe,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x44,0x28,0x11,0x28,0x44,0x87,0x0,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x24,0x27,0x44,0x28,0x10,0x28,0x44,0x84,0x0,0x20,0x24,0xfe,0x24,0xfc,0x24,0xfc,0x0,0xfe,0x80,0xfc,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x24,0x27,0x4a,0x2a,0x12,0x2a,0x46,0x82,0x2,0x4,0xfe,0x4,0x4,0x4,0xfc,0x24,0x20,0xfe,0x22,0x22,0x52,0x8a,0x2,0xa,0x4,
-+0x11,0x10,0x10,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x4,0xbe,0x84,0x24,0x24,0x24,0xfc,0x24,0x74,0x6c,0xac,0x24,0x24,0x4,0x14,0x8,
-+0x10,0x8,0x41,0x25,0x9,0x72,0x10,0x17,0x1,0xff,0x4,0x8,0x6,0x1,0x6,0x38,0x40,0x40,0x50,0x4c,0x44,0x50,0xe0,0x0,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x18,
-+0x10,0x10,0x10,0x11,0xfc,0x24,0x25,0x25,0x25,0x45,0x28,0x10,0x28,0x45,0x82,0x0,0x88,0x48,0x10,0xfc,0x24,0x24,0xfc,0x20,0x20,0xfe,0x62,0x62,0xaa,0x24,0x20,0x20,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x82,0x4,0x4,0xfe,0x4,0x4,0xfc,0x0,0xc,0xf0,0x20,0xfc,0x20,0xfe,0x20,0x22,0x22,0x1e,
-+0x20,0x27,0x24,0x25,0xf5,0x56,0x55,0x55,0x55,0x95,0x55,0x27,0x25,0x54,0x94,0x4,0x0,0x84,0xfe,0x4,0x4,0x74,0x54,0x54,0x54,0x54,0x54,0x74,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x10,0xfd,0x24,0x27,0x24,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x10,0xfc,0x25,0x24,0x24,0x27,0x44,0x28,0x11,0x2a,0x44,0x80,0x0,0x20,0x24,0xfe,0x20,0x20,0xfc,0x20,0x24,0xfe,0x40,0xa4,0xa8,0x90,0x88,0xc6,0x80,
-+0x20,0x20,0x27,0x20,0xfb,0x48,0x4f,0x48,0x4b,0x90,0x52,0x22,0x23,0x52,0x84,0x8,0x40,0x48,0xfc,0x40,0xf8,0x48,0xfe,0x48,0xf8,0x40,0x48,0x7c,0x40,0xc0,0x60,0x1e,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x25,0x24,0x27,0x4a,0x2a,0x13,0x2a,0x46,0x83,0x2,0x8,0xfc,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x44,0x28,0x13,0x28,0x44,0x80,0x0,0x20,0x44,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x50,0x94,0xfe,0x10,0x10,0x10,0x10,
-+0x11,0x10,0x10,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x28,0x13,0x28,0x44,0x84,0x0,0x4,0x88,0x50,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x20,0x20,0x20,
-+0x10,0x10,0xfe,0x12,0x34,0xc,0x32,0xc1,0x3f,0x21,0x22,0x24,0x21,0x22,0x24,0x20,0x0,0x0,0xfc,0x8,0x50,0x20,0xd8,0x6,0xf8,0x8,0x88,0x48,0x8,0x88,0x48,0x18,
-+0x20,0x23,0x22,0x22,0xfb,0x4a,0x4a,0x4b,0x48,0x97,0x54,0x24,0x24,0x54,0x8f,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfc,0xa4,0xa4,0xa4,0xa4,0xfe,0x0,
-+0x10,0x10,0x13,0x11,0xfc,0x25,0x24,0x27,0x24,0x44,0x28,0x11,0x2a,0x44,0x84,0x3,0x8,0x1c,0xe0,0x24,0xa8,0xfc,0x40,0xfe,0x80,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x13,0x10,0xfd,0x25,0x25,0x24,0x27,0x4a,0x29,0x10,0x28,0x44,0x84,0x0,0x40,0x24,0xfe,0x0,0xfc,0x4,0xfc,0x0,0xfe,0x2,0xfc,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x7f,0x12,0xc,0x7f,0x15,0x24,0x4c,0x2,0xff,0x4,0x8,0x4,0x3,0x4,0x38,0x40,0x44,0x7e,0x88,0x50,0x20,0x50,0x8e,0x4,0xfe,0x20,0x20,0x40,0x80,0x60,0x10,
-+0x10,0x10,0x13,0x10,0xfd,0x24,0x27,0x24,0x25,0x45,0x29,0x11,0x2b,0x45,0x85,0x1,0x88,0x88,0xfe,0x88,0xfc,0x88,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfe,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x10,0xfc,0x25,0x25,0x25,0x25,0x45,0x28,0x13,0x28,0x44,0x84,0x3,0x88,0x88,0xfe,0x88,0x88,0xfc,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x11,0x11,0xfd,0x25,0x25,0x25,0x25,0x45,0x29,0x11,0x29,0x45,0x81,0x0,0x20,0x44,0xfe,0x54,0x24,0x54,0x4,0xfc,0x10,0x12,0xd4,0x18,0x12,0x52,0x8e,0x0,
-+0x20,0x23,0x21,0x20,0xfb,0x4a,0x4c,0x4b,0x48,0x88,0x51,0x22,0x24,0x50,0x88,0x3,0x1c,0xe0,0x24,0xa8,0xfe,0x42,0x44,0xfe,0x80,0x80,0xfc,0x88,0x50,0x20,0xd8,0x6,
-+0x10,0x10,0x13,0x12,0xfc,0x24,0x24,0x24,0x24,0x44,0x28,0x13,0x28,0x44,0x85,0x2,0x40,0x20,0xfe,0x2,0x1c,0xe0,0x80,0xfc,0x88,0x88,0x88,0xfe,0x0,0x88,0x6,0x2,
-+0x10,0x11,0x11,0x11,0xfc,0x27,0x24,0x24,0x25,0x45,0x29,0x11,0x28,0x44,0x85,0x0,0x20,0x24,0x24,0xfc,0x20,0xfe,0x0,0x24,0xfe,0x24,0x24,0xfc,0x20,0x24,0xfe,0x2,
-+0x4,0x3f,0x4,0x7f,0xe,0x15,0x24,0x3f,0x21,0x21,0x3f,0x22,0x26,0x41,0x46,0x98,0x20,0x24,0x3e,0xe8,0x10,0x28,0x44,0xfe,0x0,0x4,0xfe,0x10,0x20,0xc0,0x30,0x8,
-+0x20,0x23,0x20,0x21,0xf9,0x4f,0x49,0x49,0x49,0x89,0x51,0x20,0x22,0x52,0x88,0x0,0x8,0xfc,0x20,0x3c,0x20,0xfe,0x0,0x8,0xfc,0x0,0xfe,0x2,0xaa,0xaa,0x2,0xc,
-+0x10,0x10,0x11,0x10,0xfd,0x24,0x27,0x24,0x25,0x45,0x29,0x11,0x29,0x45,0x85,0x1,0x20,0x28,0xfc,0x20,0x24,0xa8,0xfe,0x0,0xfc,0x4,0x74,0x54,0x74,0x4,0xfc,0x4,
-+0x10,0x13,0x10,0x10,0xfd,0x25,0x25,0x25,0x24,0x45,0x28,0x13,0x28,0x45,0x82,0x0,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x0,0xfc,0x0,0xfe,0xa8,0x24,0x22,0x20,
-+0x10,0x11,0x10,0x13,0xfe,0x24,0x24,0x24,0x24,0x44,0x29,0x11,0x29,0x45,0x84,0x0,0x20,0x24,0xa8,0xfe,0x2,0xfc,0x88,0x88,0xf8,0x20,0xfc,0x24,0x24,0x2c,0x20,0x20,
-+0x10,0x11,0x11,0x11,0xfd,0x25,0x24,0x24,0x25,0x44,0x28,0x11,0x28,0x45,0x86,0x0,0x4,0xfe,0x24,0xfc,0x24,0xfc,0x40,0x84,0xf8,0x20,0x48,0xfc,0xa8,0x26,0x22,0x60,
-+0x10,0x11,0x10,0x10,0xff,0x24,0x25,0x25,0x25,0x45,0x29,0x10,0x2b,0x44,0x84,0x0,0x20,0xfc,0x88,0x50,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x20,0x20,
-+0x10,0x13,0x10,0x11,0xfc,0x25,0x25,0x25,0x24,0x47,0x28,0x11,0x29,0x45,0x85,0x1,0x20,0xfe,0x20,0xfc,0x0,0xfc,0x4,0xfc,0x88,0xfe,0x0,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x13,0x10,0x11,0xfd,0x25,0x25,0x25,0x24,0x45,0x29,0x11,0x29,0x45,0x84,0x3,0x20,0xfe,0x0,0xfc,0x54,0x74,0x54,0xfc,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x0,0xfe,
-+0x0,0x3e,0x23,0x3e,0x20,0x3f,0x52,0x52,0x9e,0x1,0xff,0x4,0xc,0x3,0x4,0x18,0x40,0x20,0xfc,0x88,0x50,0xfc,0x20,0xf8,0x20,0x20,0xfe,0x20,0x40,0x80,0x60,0x10,
-+0x2,0xfa,0xaa,0xaa,0xff,0xaa,0xaa,0xfa,0x22,0xfa,0x2a,0x2a,0x49,0x4a,0xac,0x10,0x0,0x3e,0x2a,0xaa,0xfe,0xaa,0xaa,0xbe,0x88,0xbe,0x8a,0x8a,0x12,0x92,0x6a,0x4,
-+0x40,0x40,0x47,0x44,0xf4,0x57,0x54,0x55,0x56,0x94,0x54,0x25,0x24,0x54,0x89,0x10,0x40,0x24,0xfe,0x88,0x88,0xfe,0x88,0xdc,0xaa,0x40,0x90,0x20,0x48,0x84,0xfc,0x4,
-+0x20,0x21,0x20,0x23,0xfa,0x4c,0x49,0x49,0x4f,0x89,0x53,0x23,0x25,0x55,0x89,0x1,0x8,0xfc,0x20,0xfe,0xaa,0x70,0xa8,0x20,0xfc,0x24,0x3c,0xa4,0x7c,0x24,0x3c,0x24,
-+0x0,0x3f,0x4,0x4,0x4,0x8,0x8,0x11,0x21,0x49,0x89,0x11,0x11,0x21,0x5,0x2,0x0,0xf0,0x10,0x24,0x7e,0x4,0x4,0x14,0x8,0x0,0x20,0x10,0x10,0xc,0x4,0x0,
-+0x1,0x9,0x9,0x11,0x23,0x0,0x1,0xff,0x2,0xc,0x31,0xc9,0x9,0x11,0x25,0x2,0x0,0x20,0x10,0x8,0x8,0x0,0x4,0xfe,0x80,0x60,0x1e,0x24,0x20,0x18,0x8,0x0,
-+0x0,0x0,0x3f,0x0,0x11,0x9,0x3f,0x0,0x0,0x1,0xff,0x1,0x1,0x1,0x5,0x2,0x10,0x78,0x80,0x10,0x10,0x20,0xf0,0x40,0x80,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0xfe,0x12,0x34,0xc,0x32,0xc1,0x1f,0x0,0x1,0xff,0x1,0x1,0x5,0x2,0x0,0x8,0xfc,0x8,0x50,0x20,0xd8,0x6,0xe0,0x40,0x84,0xfe,0x0,0x0,0x0,0x0,
-+0x4,0xff,0x8,0x12,0x3c,0x8,0x14,0x3e,0x0,0x1f,0x0,0x1,0xff,0x1,0x5,0x2,0x40,0xfe,0x20,0x48,0xf0,0x20,0x50,0xf8,0x0,0xe0,0x40,0x84,0xfe,0x0,0x0,0x0,
-+0x0,0x3f,0x0,0x0,0x1,0x1,0x1,0x1,0x7,0x19,0x61,0x1,0x1,0x1,0x5,0x2,0x0,0xf0,0x20,0x40,0x80,0xc,0x30,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3f,0x0,0x0,0x11,0x9,0x5,0x3,0x1,0x1,0x1,0x1,0x1,0x1,0x5,0x2,0x0,0xf0,0x20,0x40,0x80,0x0,0x0,0x0,0x0,0x80,0x40,0x30,0xc,0x0,0x0,0x0,
-+0x0,0x0,0xfc,0x5,0xa,0x10,0x13,0x1e,0x32,0xd3,0x12,0x12,0x12,0x12,0x51,0x20,0x80,0x80,0x88,0xfc,0x8,0x8,0xe8,0x28,0x28,0xe8,0x8,0x28,0x12,0x2,0xfe,0x0,
-+0x8,0xfd,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x17,0x8,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x8,0xfc,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x15,0x8,0x0,0x4,0xfe,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x9c,0x4,0x4,0xfc,0x4,0x0,
-+0x8,0xfc,0x8,0x49,0x49,0x4b,0x4d,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x15,0x9,0x88,0x88,0x88,0x8,0x8,0xfe,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x8,0xfc,0x8,0x49,0x4a,0x48,0x4b,0x48,0x7c,0x4,0x5,0x1c,0xe4,0x4,0x17,0x8,0x80,0x80,0xf8,0x8,0x10,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xfd,0x8,0x48,0x48,0x48,0x48,0x4b,0x7c,0x5,0x4,0x1c,0xe7,0x4,0x14,0x8,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x24,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,
-+0x10,0x10,0xfe,0x12,0x34,0xc,0x32,0xc1,0x1f,0x0,0x8,0xf,0x0,0x7f,0x0,0x0,0x0,0x0,0xfc,0x8,0x50,0x20,0xd8,0x6,0xe0,0x20,0x24,0xfe,0x4,0xf4,0x14,0x8,
-+0x8,0xfc,0x8,0x48,0x49,0x4b,0x48,0x48,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x15,0x9,0x20,0x20,0x40,0x88,0x4,0xfe,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xfc,0x8,0x4b,0x48,0x48,0x48,0x4b,0x7c,0x7,0x4,0x1c,0xe4,0x5,0x15,0xa,0x80,0x80,0xbc,0xc0,0x50,0x24,0xd4,0xc,0x0,0xfc,0x90,0x90,0x90,0x12,0x12,0xe,
-+0x8,0xfc,0x9,0x49,0x4b,0x4d,0x49,0x49,0x7d,0x4,0x7,0x1c,0xe4,0x4,0x14,0x8,0xa0,0xa0,0x24,0x28,0x30,0x60,0xa2,0x1e,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x9,0xfc,0x8,0x4b,0x48,0x48,0x48,0x48,0x7f,0x4,0x4,0x1c,0xe4,0x4,0x15,0xa,0x4,0x88,0x50,0xfe,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x0,0xfb,0x8,0x48,0x49,0x49,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x15,0x8,0x4,0xfe,0x0,0x0,0xdc,0x54,0x54,0x54,0xdc,0x54,0x54,0x54,0x54,0x54,0x54,0x0,
-+0x8,0xfc,0xb,0x48,0x48,0x48,0x48,0x48,0x7c,0x4,0x4,0x1f,0xe4,0x4,0x15,0xa,0x88,0x88,0xfe,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0x88,0xfe,0x0,0x88,0x6,0x2,
-+0x8,0xfd,0x9,0x49,0x49,0x49,0x49,0x49,0x7c,0x7,0x4,0x1c,0xe5,0x6,0x14,0x8,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x70,0xa8,0x2e,0x24,0x20,0x20,
-+0x8,0xfc,0x9,0x49,0x4b,0x4d,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x15,0x9,0xa0,0x90,0x4,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x14,0xfe,0x0,0x0,
-+0x8,0xfc,0x9,0x4b,0x48,0x4f,0x48,0x49,0x7e,0x5,0x4,0x1c,0xe5,0x4,0x14,0xb,0x40,0x80,0x8,0xfc,0x44,0xfe,0x90,0x28,0x46,0x90,0x20,0x44,0x88,0x30,0xc0,0x0,
-+0x0,0x79,0x49,0x57,0x48,0x69,0x56,0x41,0x5f,0x0,0x8,0xf,0x0,0x7f,0x0,0x0,0x40,0x7c,0x40,0xfe,0x48,0x50,0x60,0x80,0xe0,0x20,0x24,0xfe,0x4,0xf4,0x14,0x8,
-+0x0,0xfe,0x14,0x8,0xfe,0x1a,0x28,0x49,0x1f,0x0,0x8,0xf,0x0,0x7f,0x0,0x0,0x80,0x88,0xfc,0x88,0x50,0x20,0xd0,0xe,0xe0,0x20,0x24,0xfe,0x4,0xf4,0x14,0x8,
-+0x8,0x7e,0x8,0x7e,0x8,0xff,0x10,0x3e,0x42,0x9f,0x0,0x8,0xf,0x0,0x7f,0x0,0x40,0x44,0xfe,0x88,0x50,0x20,0x58,0x86,0x0,0xf0,0x10,0x14,0xfe,0x4,0xf4,0x8,
-+0x8,0xff,0xa,0x4a,0x4a,0x4b,0x4a,0x48,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x15,0x9,0x40,0xbe,0x12,0x12,0x92,0x2a,0x44,0x0,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,
-+0x8,0xfc,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x5,0x1d,0xe5,0x5,0x16,0x8,0x20,0x10,0xfe,0x2,0xfe,0x0,0xee,0x22,0x22,0xaa,0x66,0x66,0xaa,0x22,0xaa,0x44,
-+0x8,0xfd,0x8,0x48,0x49,0x49,0x49,0x49,0x7c,0x5,0x4,0x1f,0xe4,0x5,0x16,0x8,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x0,0xfc,0x0,0xfe,0xa8,0x26,0x22,0x60,
-+0x8,0xfc,0x9,0x49,0x49,0x49,0x49,0x49,0x7d,0x5,0x4,0x1c,0xe5,0x6,0x14,0x8,0x20,0x44,0xfe,0x44,0x74,0x54,0xb4,0x24,0x44,0xfc,0x0,0xa0,0xa4,0x8a,0x88,0x78,
-+0x13,0xfa,0x13,0x52,0x52,0x52,0x53,0x52,0x7a,0xb,0xa,0x3a,0xcb,0xa,0x2c,0x11,0xfc,0x4,0xfc,0x0,0xf8,0x10,0xfe,0x20,0x60,0xdc,0x44,0x88,0xfe,0x88,0x88,0x98,
-+0x8,0xfd,0x8,0x4b,0x48,0x49,0x49,0x49,0x7d,0x5,0x4,0x1d,0xe4,0x7,0x14,0x9,0x50,0xdc,0x50,0xde,0x0,0xfc,0x24,0xfc,0x24,0xfc,0x88,0xfc,0x88,0xfe,0x88,0x4,
-+0x10,0xff,0x10,0x57,0x54,0x57,0x51,0x53,0x79,0xb,0x9,0x3f,0xc9,0xb,0x2d,0x11,0x40,0xfe,0x0,0xbc,0xa4,0xbc,0x10,0xf8,0x10,0xf8,0x10,0xfe,0x48,0x30,0x8e,0x4,
-+0x8,0x8,0x10,0x12,0x24,0x7c,0x8,0x10,0x20,0x7e,0x20,0x0,0xe,0x70,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0x10,0x11,0x22,0x7e,0x8,0x13,0x20,0x7e,0x20,0x0,0xe,0x70,0x20,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x8,0x8,0x10,0x12,0x24,0x7d,0x8,0x10,0x20,0x7e,0x20,0x0,0xe,0x70,0x20,0x0,0x8,0x8,0x8,0x8,0x8,0xfe,0x8,0x8,0x88,0x48,0x48,0x8,0x8,0x8,0x28,0x10,
-+0x8,0x8,0x10,0x12,0x25,0x7c,0x9,0x10,0x20,0x7e,0x20,0x0,0xf,0x71,0x20,0x0,0x80,0x80,0x84,0xfe,0x0,0x0,0xf8,0x8,0x10,0x20,0x40,0x80,0x2,0x2,0xfe,0x0,
-+0x8,0x8,0x10,0x12,0x25,0x7c,0x8,0x11,0x20,0x7e,0x20,0x0,0xe,0x71,0x21,0x2,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0xc8,0x48,0xa8,0x88,0x8a,0xa,0xa,0x4,
-+0x8,0x8,0x10,0x13,0x25,0x7d,0x9,0x11,0x21,0x7d,0x21,0x1,0xe,0x72,0x24,0x8,0x40,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x8,0x8,0x11,0x12,0x24,0x7c,0xb,0x10,0x20,0x7e,0x20,0x0,0xe,0x71,0x21,0x0,0x0,0x8,0xfc,0x0,0x0,0x4,0xfe,0x40,0x40,0x40,0x80,0x80,0x88,0x4,0xfc,0x4,
-+0x9,0x9,0x11,0x13,0x25,0x7d,0x9,0x11,0x21,0x7f,0x21,0x1,0xf,0x71,0x21,0x0,0x20,0x20,0x20,0x20,0x24,0x2c,0xf0,0x20,0x20,0x20,0x20,0x20,0x62,0xa2,0x1e,0x0,
-+0x8,0x9,0x10,0x10,0x24,0x7c,0x9,0x10,0x20,0x7e,0x20,0x0,0xe,0x70,0x20,0x0,0x8,0xfc,0x8,0x50,0x20,0x10,0xfe,0x22,0x24,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x8,0x8,0x10,0x12,0x27,0x7c,0x8,0x10,0x20,0x7e,0x20,0x0,0xe,0x70,0x20,0x0,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x10,0x11,0x21,0x25,0x49,0xff,0x11,0x21,0x41,0xfd,0x41,0x1,0x1d,0xe1,0x41,0x0,0x48,0x48,0x48,0x48,0x48,0xfe,0x48,0x48,0x48,0x48,0x48,0x78,0x0,0x0,0xfc,0x0,
-+0x10,0x10,0x20,0x24,0x4f,0xf8,0x10,0x21,0x41,0xfd,0x42,0x2,0x1c,0xe4,0x48,0x13,0xa0,0x90,0x90,0x84,0xfe,0x80,0x80,0xf8,0x8,0x8,0x90,0x60,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x20,0x25,0x4a,0xf8,0x13,0x20,0x40,0xfc,0x41,0x0,0x1c,0xe0,0x43,0x0,0x80,0x80,0xf8,0x8,0x10,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x20,0x27,0x48,0xf8,0x13,0x22,0x46,0xfb,0x40,0x0,0x1c,0xe1,0x41,0x2,0x90,0x90,0x94,0xfe,0x94,0x94,0xfc,0x90,0x90,0xfe,0x92,0x92,0x9a,0x14,0x10,0x10,
-+0x8,0x8,0x11,0x11,0x25,0x7d,0x9,0x10,0x21,0x7d,0x21,0x1,0xd,0x71,0x20,0x0,0x20,0x20,0x24,0x24,0x24,0x24,0xfc,0x20,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,
-+0x10,0x10,0x20,0x20,0x48,0xf9,0x13,0x20,0x40,0xfd,0x41,0x1,0x1d,0xe1,0x41,0x1,0x20,0x20,0x40,0x40,0x88,0x4,0xfe,0x2,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x27,0x24,0x48,0xf9,0x13,0x24,0x43,0xfd,0x41,0x0,0x1c,0xe0,0x40,0x0,0x40,0x44,0xfe,0xa0,0xa0,0x10,0xf8,0x6,0xfc,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0x10,0x10,0x21,0x25,0x7f,0xf8,0x11,0x23,0x45,0xf9,0x41,0x1,0x1d,0xe1,0x41,0x1,0x80,0x88,0x7c,0x0,0xff,0x84,0xfe,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x11,0x11,0x23,0x24,0x40,0xf8,0x11,0x26,0x43,0xfa,0x42,0x7,0x18,0xe0,0x40,0x0,0x0,0xf8,0x10,0xa0,0x40,0xa0,0x58,0x46,0xf8,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,
-+0x10,0x17,0x20,0x23,0x4a,0xfa,0x13,0x22,0x42,0xfb,0x42,0x1,0x18,0xe1,0x42,0x4,0x4,0xfe,0x40,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,0x40,0x40,0x80,0x60,0x1e,0x4,
-+0x8,0x9,0x10,0x10,0x24,0x7d,0x9,0x11,0x21,0x7f,0x21,0x1,0xf,0x71,0x21,0x1,0x20,0x24,0xa8,0xb0,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x12,0x11,0x20,0x27,0x48,0xf8,0x13,0x22,0x42,0xfb,0x40,0x4,0x19,0xe2,0x44,0x8,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0xc4,0xc4,0x54,0x48,0x40,0x40,
-+0x10,0x10,0x21,0x24,0x48,0xfb,0x10,0x21,0x42,0xfc,0x40,0x1,0x1c,0xe0,0x41,0x6,0x20,0x28,0xfc,0x20,0x24,0xfe,0x88,0x46,0x7a,0x88,0x90,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x27,0x20,0x48,0xf9,0x17,0x20,0x43,0xfa,0x42,0x2,0x1b,0xe2,0x40,0x0,0x40,0x48,0xfc,0x40,0xb0,0x14,0xfe,0x8,0xc8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x10,0x10,0x20,0x23,0x48,0xf8,0x10,0x23,0x40,0xfc,0x40,0x3,0x1c,0xe0,0x40,0x0,0x50,0x50,0x54,0xde,0x50,0x50,0x54,0xde,0x50,0x50,0x54,0xde,0x50,0x50,0x50,0x50,
-+0x10,0x12,0x21,0x21,0x48,0xff,0x14,0x24,0x45,0xfd,0x45,0x5,0x1d,0xe4,0x44,0x4,0x40,0x48,0x48,0x50,0x44,0xfe,0x4,0x4,0xf4,0x14,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x8,0x9,0x11,0x13,0x25,0x7d,0x9,0x11,0x20,0x7d,0x21,0x1,0xd,0x71,0x21,0x1,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x10,0x12,0x16,0xd8,0x10,0x52,0x92,0xe,
-+0x10,0x13,0x20,0x2f,0x49,0xf9,0x11,0x27,0x41,0xf9,0x41,0x7,0x18,0xe0,0x47,0x0,0x18,0xe0,0x44,0xfe,0x50,0x50,0x50,0xfc,0x50,0x50,0x54,0xfe,0x40,0x48,0xfc,0x0,
-+0x10,0x17,0x20,0x22,0x41,0xf7,0x14,0x28,0x41,0xfc,0x41,0x0,0x1c,0xe0,0x41,0x6,0x1c,0xe0,0x0,0x48,0x50,0xfe,0x2,0x4,0xf0,0x10,0x10,0xa0,0x40,0xa0,0x1e,0x4,
-+0x11,0x11,0x21,0x25,0x4a,0xfb,0x14,0x21,0x42,0xfc,0x41,0x1,0x1d,0xe1,0x41,0x1,0x10,0x10,0xd0,0x58,0x56,0x52,0x90,0x50,0x3e,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x12,0x21,0x20,0x47,0xf8,0x1f,0x20,0x41,0xfb,0x45,0x1,0x1d,0xe1,0x41,0x0,0x40,0x48,0x50,0x40,0xfc,0x40,0xfe,0xa0,0x10,0xfe,0x14,0x10,0x50,0x24,0x4,0xfc,
-+0x10,0x10,0x24,0x27,0x4c,0xf3,0x12,0x22,0x43,0xfe,0x43,0x2,0x1e,0xe2,0x43,0x2,0x80,0x40,0x40,0xfe,0x2,0xf8,0x8,0x8,0xf8,0x0,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x11,0x11,0x22,0x24,0x4a,0xf9,0x11,0x20,0x47,0xfc,0x44,0x7,0x1c,0xe4,0x47,0x4,0x24,0x24,0x48,0x90,0x48,0x24,0x24,0x4,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x11,0x11,0x2f,0x21,0x49,0xf8,0x13,0x22,0x42,0xfb,0x40,0x7,0x18,0xe0,0x40,0x0,0x10,0x14,0xfe,0x10,0xf0,0x40,0xf8,0x48,0x48,0xf8,0x40,0xfe,0x40,0x40,0x40,0x40,
-+0x11,0x11,0x21,0x21,0x4f,0xf9,0x13,0x23,0x45,0xfd,0x49,0x1,0x1d,0xe1,0x41,0x1,0x0,0x4,0x3e,0x24,0xe4,0x24,0x3c,0xa4,0x64,0x24,0x3c,0x24,0x24,0x24,0x3c,0x24,
-+0x13,0x12,0x22,0x23,0x4a,0xfa,0x13,0x20,0x47,0xf8,0x2,0x2,0x1a,0xe3,0x44,0x18,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfe,0x40,0x48,0x7c,0x40,0x40,0xc6,0x3c,
-+0x10,0x10,0x27,0x24,0x4c,0xfc,0x17,0x24,0x44,0xff,0x44,0x4,0x1c,0xe7,0x44,0x1,0x10,0x90,0xd0,0x90,0xb8,0xb6,0xd2,0x90,0x94,0x94,0x98,0x88,0x90,0xa0,0x40,0x80,
-+0x10,0x10,0x23,0x22,0x4b,0xf8,0x17,0x20,0x43,0xfa,0x42,0x2,0x1a,0xe0,0x41,0x6,0x40,0x48,0xfc,0x48,0xf8,0x40,0xfe,0x0,0xf8,0x8,0x48,0x48,0x88,0xb0,0xc,0x4,
-+0x10,0x10,0x23,0x22,0x4a,0xfb,0x12,0x22,0x43,0xf8,0x41,0x5,0x1d,0xe5,0x48,0x0,0x0,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x80,0x40,0x24,0x2,0xa,0xf8,0x0,
-+0x12,0x13,0x22,0x25,0x4d,0xf5,0x15,0x25,0x45,0xfd,0x44,0x4,0x1c,0xe4,0x44,0x7,0x4,0xfe,0x20,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0xa0,0xa0,0x40,0x60,0x98,0x6,
-+0x11,0x11,0x21,0x22,0x4b,0xf6,0x1a,0x22,0x43,0xfa,0x43,0x2,0x1a,0xe2,0x42,0x3,0x8,0x7c,0x8,0x8,0xfe,0x40,0x48,0xfc,0x20,0x24,0xfe,0x20,0x20,0x50,0x8e,0x4,
-+0x10,0x14,0x22,0x22,0x48,0xf8,0x16,0x22,0x42,0xfa,0x42,0x2,0x1a,0xe5,0x48,0x0,0x20,0x48,0xfc,0x88,0x88,0x88,0xf8,0x80,0xf8,0x88,0x88,0x88,0xf8,0x0,0x86,0x7c,
-+0x10,0x13,0x22,0x27,0x4a,0xfb,0x12,0x22,0x43,0xfd,0x41,0x1,0x1d,0xe1,0x41,0x1,0x8,0xfc,0x8,0xf8,0x40,0xfc,0x20,0x92,0xe,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x10,0x13,0x20,0x22,0x49,0xf8,0x17,0x20,0x41,0xfd,0x41,0x1,0x1d,0xe1,0x41,0x1,0x8,0xfc,0x90,0x94,0x98,0x90,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x27,0x20,0x4b,0xfa,0x13,0x22,0x43,0xfa,0x43,0x2,0x1f,0xe1,0x42,0x4,0x40,0x48,0xfc,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x10,0xc,0x4,
-+0x10,0x17,0x24,0x25,0x4c,0xf7,0x15,0x25,0x45,0xfc,0x47,0x4,0x1c,0xe4,0x48,0x0,0x4,0xfe,0x0,0xf8,0x0,0xfe,0x48,0x30,0x8e,0x10,0xfe,0x90,0x50,0x10,0x50,0x20,
-+0x10,0x10,0x27,0x20,0x49,0xf9,0x11,0x20,0x43,0xfa,0x42,0x2,0x1a,0xe2,0x42,0x2,0x40,0x24,0xfe,0x0,0xf8,0x8,0xf8,0x4,0xfe,0x4,0xf4,0x94,0x94,0xf4,0x14,0x8,
-+0x10,0x10,0x2f,0x21,0x4a,0xfa,0x12,0x23,0x40,0xff,0x44,0x4,0x1d,0xe4,0x44,0x4,0x80,0x44,0xfe,0x10,0xa8,0x48,0xa8,0xf8,0x44,0xfe,0x44,0x94,0xf4,0x4,0x14,0x8,
-+0x10,0x12,0x21,0x20,0x4b,0xf8,0x11,0x22,0x44,0xfb,0x42,0x2,0x1a,0xe2,0x4f,0x0,0x0,0x8,0x10,0x0,0xfc,0x0,0x10,0x8,0x4,0xf8,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x11,0x10,0x2f,0x20,0x4b,0xf8,0x17,0x20,0x40,0xfb,0x40,0x1,0x1a,0xe4,0x48,0x0,0x10,0xa4,0xfe,0xa0,0xf8,0xa8,0xfe,0xa8,0xa8,0xf8,0xa0,0xb0,0xa8,0xae,0xa4,0xa0,
-+0x10,0x10,0x27,0x24,0x48,0xf9,0x11,0x21,0x41,0xf9,0x41,0x7,0x18,0xe1,0x42,0x4,0x40,0x20,0xfe,0x2,0x34,0xc0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x10,0x17,0x20,0x28,0x4f,0xf4,0x14,0x27,0x40,0xfb,0x40,0xf,0x19,0xe2,0x45,0x0,0x8,0xfc,0xa0,0xa4,0xfe,0xa4,0xa4,0xfc,0x0,0xf8,0x0,0xfe,0x50,0x4c,0x44,0x80,
-+0x13,0x12,0x23,0x22,0x4b,0xf8,0x17,0x24,0x47,0xf8,0x43,0x2,0x19,0xe0,0x43,0xc,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfc,0xa4,0xfc,0x0,0xf8,0x8,0xb0,0x40,0xb0,0xe,
-+0x10,0x17,0x24,0x2f,0x54,0xf7,0x14,0x21,0x43,0xf8,0x40,0x7,0x19,0xe2,0x45,0x0,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x84,0x10,0xe0,0x40,0x88,0xfc,0x50,0x4c,0x44,0x80,
-+0x10,0x17,0x24,0x22,0x4a,0xf4,0x10,0x20,0x41,0xfa,0x45,0x0,0x19,0xe0,0x40,0x7,0x4,0xbe,0xa4,0x94,0x94,0xa4,0x50,0x88,0x24,0x42,0x90,0x60,0x88,0x30,0xc0,0x0,
-+0x12,0x12,0x24,0x22,0x4a,0xf7,0x14,0x27,0x44,0xf7,0x40,0xf,0x18,0xe1,0x46,0x0,0x48,0x48,0x90,0x48,0x48,0xfc,0x44,0xfc,0x44,0xfc,0x40,0xfe,0xe0,0x50,0x4e,0x40,
-+0x12,0x12,0x22,0x2f,0x42,0xfa,0x17,0x20,0x47,0xfd,0x45,0x5,0x1d,0xe7,0x40,0x0,0x4,0xfe,0x10,0xa4,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x28,0x26,0xc2,
-+0x10,0x10,0x2f,0x20,0x4a,0xf9,0x13,0x22,0x43,0xfa,0x43,0x1,0x1a,0xe4,0x41,0x0,0x40,0x44,0xfe,0xa0,0xa8,0x10,0xfe,0xc,0xf8,0x8,0xf8,0x50,0x4c,0x44,0x40,0x80,
-+0x12,0x11,0x27,0x24,0x4d,0xfc,0x17,0x24,0x43,0xfa,0x42,0x3,0x1a,0xe2,0x43,0x2,0x8,0x10,0xfc,0x44,0x54,0x44,0xfc,0x4,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x1f,0x20,0x27,0x4c,0xff,0x14,0x27,0x40,0xff,0x44,0x7,0x1c,0xe7,0x40,0xf,0x4,0xfe,0x0,0xfc,0x44,0xfc,0x44,0xfc,0x0,0xfe,0x44,0xfc,0x44,0xfc,0x0,0xfe,
-+0x10,0x11,0x25,0x23,0x4a,0xf9,0x10,0x2e,0x42,0xfa,0x42,0x2,0x1a,0xe5,0x48,0x0,0x24,0xfe,0x24,0xfc,0x20,0xfe,0x0,0xf8,0x88,0xf8,0x80,0xf8,0x88,0xf8,0x86,0x7c,
-+0x10,0x11,0x21,0x25,0x49,0xf8,0x17,0x24,0x44,0xff,0x40,0x7,0x18,0xe1,0x46,0x0,0x10,0xf8,0x10,0x10,0xf0,0x0,0xbc,0xa4,0xa4,0xbc,0x40,0xfe,0xe0,0x50,0x4e,0x40,
-+0x10,0x13,0x22,0x26,0x4b,0xf8,0x17,0x20,0x43,0xfa,0x43,0x1,0x1b,0xe5,0x49,0x1,0x8,0xfc,0xa8,0xa8,0xf8,0x4,0xfe,0x0,0xf8,0x8,0xf8,0x44,0x48,0x30,0x8e,0x4,
-+0x11,0x15,0x27,0x29,0x47,0xfb,0x15,0x29,0x43,0xfa,0x42,0x2,0x1a,0xe0,0x41,0x6,0x8,0x28,0xbc,0x48,0xbe,0x18,0x2a,0x4e,0xf8,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x0,0x2,0x2,0x4,0x4,0x8,0x10,0x3f,0x0,0x1,0x2,0x4,0x8,0x10,0x3f,0x0,0x0,0x0,0x0,0x0,0x10,0x10,0x20,0xc0,0x80,0x0,0x0,0x0,0x20,0x10,0xf8,0x8,
-+0x11,0x25,0x79,0x11,0x29,0x7d,0x1,0xff,0x0,0x7f,0x49,0x7f,0x49,0x7f,0x40,0x3,0x10,0x24,0x78,0x10,0x28,0x7c,0x10,0xfe,0x80,0x88,0x48,0x50,0x50,0x22,0xd2,0xe,
-+0x0,0x0,0x4,0x4,0x4,0x9,0x9,0x12,0x9,0x9,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x90,0x90,0x90,0x20,0x20,0x40,0x20,0x20,0x90,0x90,0x90,0x0,0x0,0x0,
-+0x11,0x11,0x22,0x44,0x22,0x11,0x11,0x0,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x20,0x10,0x10,0x20,0x40,0x20,0x10,0x10,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x21,0x42,0x21,0x10,0x1f,0x10,0x1f,0x0,0x3f,0x21,0x21,0x3f,0x20,0x20,0x1f,0x84,0x8,0x10,0x8,0x88,0xf0,0x10,0xf0,0x8,0xfc,0x8,0x8,0xf8,0xa,0x2,0xfe,
-+0x0,0x8,0x7d,0x10,0x10,0x10,0x7c,0x10,0x10,0x10,0x10,0x1c,0x70,0x21,0x0,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x9,0x7d,0x11,0x11,0x11,0x7d,0x11,0x11,0x11,0x11,0x1e,0x72,0x24,0x8,0x10,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0xe,0x0,
-+0x0,0x8,0x7c,0x13,0x10,0x10,0x7d,0x10,0x10,0x17,0x10,0x1c,0x70,0x20,0x0,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x44,0xfe,0x44,0x44,0x44,0x54,0x48,0x40,
-+0x0,0x8,0x7c,0x10,0x11,0x12,0x7c,0x13,0x10,0x10,0x10,0x1c,0x71,0x21,0x2,0x4,0x10,0x90,0x90,0x90,0x8,0x4,0x2,0xf8,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x0,0x8,0x7c,0x17,0x10,0x11,0x7d,0x11,0x10,0x10,0x10,0x1c,0x71,0x22,0x4,0x8,0x80,0x40,0x24,0xfe,0x8,0x8,0x8,0x10,0x90,0xa0,0x40,0xa0,0x10,0x8,0xe,0x4,
-+0x0,0xb,0x7c,0x10,0x10,0x10,0x7c,0x13,0x10,0x10,0x10,0x10,0x1c,0x70,0x27,0x0,0x8,0xfc,0x40,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x50,0x48,0x48,0x40,0xfe,0x0,
-+0x0,0x8,0x7f,0x10,0x10,0x11,0x11,0x7d,0x11,0x11,0x11,0x1d,0x70,0x20,0x0,0x0,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0xe8,0x8,0x8,0x8,0x28,0x10,
-+0x0,0x8,0x7c,0x10,0x17,0x10,0x7c,0x10,0x11,0x11,0x11,0x1e,0x72,0x24,0x8,0x10,0x80,0xa0,0x98,0x88,0xfe,0xa0,0xa0,0xa4,0x24,0x28,0x30,0x20,0x62,0xa2,0x1e,0x0,
-+0x0,0x8,0x7c,0x10,0x10,0x10,0x7c,0x10,0x11,0x11,0x11,0x1d,0x71,0x21,0x1,0x1,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x44,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x8,0xfc,0x21,0x21,0x23,0xfd,0x21,0x21,0x21,0x25,0x39,0xe1,0x41,0x1,0x1,0xa0,0xa8,0xa4,0x24,0x20,0x3e,0xe0,0x20,0x20,0x20,0x10,0x10,0x12,0xa,0xa,0x4,
-+0x0,0x8,0x7c,0x11,0x11,0x11,0x7d,0x11,0x11,0x11,0x11,0x11,0x1d,0x71,0x21,0x1,0x20,0x20,0x44,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x9,0x7d,0x11,0x11,0x11,0x7d,0x11,0x11,0x11,0x11,0x11,0x1d,0x71,0x21,0x1,0x4,0xfe,0x4,0x4,0xfc,0x24,0x20,0x24,0xfe,0x20,0x20,0x10,0x10,0x4a,0x8a,0x6,
-+0x2,0x12,0xfa,0x2f,0x22,0x22,0xfa,0x22,0x22,0x22,0x22,0x3a,0xe4,0x4a,0x11,0x0,0x0,0x0,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xbc,0xa4,0x0,0x0,
-+0x0,0xb,0x7d,0x11,0x11,0x11,0x7d,0x11,0x11,0x11,0x11,0x1d,0x73,0x20,0x0,0x0,0x4,0xfe,0x8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0xe,0xf8,0x8,0x8,0x8,
-+0x1,0x11,0xf9,0x21,0x27,0x21,0xf9,0x21,0x21,0x21,0x2f,0x20,0x39,0xe2,0x44,0x8,0x10,0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x10,0x14,0xfe,0x0,0x10,0x8,0x4,0x4,
-+0x0,0xb,0x7c,0x10,0x11,0x11,0x7d,0x11,0x11,0x11,0x11,0x1d,0x70,0x20,0x0,0x3,0x4,0xfe,0x20,0x40,0xfc,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x0,0x17,0xf8,0x22,0x22,0x24,0xf7,0x21,0x21,0x22,0x2a,0x34,0xe4,0x4a,0x1,0x0,0x0,0xc0,0xbe,0xa2,0xa4,0xa4,0xe8,0xa4,0xa4,0xa2,0xa2,0xa2,0xb4,0xa8,0x20,0x20,
-+0x1,0x11,0xfa,0x24,0x29,0x21,0xfa,0x26,0x2a,0x22,0x22,0x3a,0xe2,0x42,0x2,0x2,0x0,0x8,0x7c,0x0,0x0,0x4,0xfe,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x1,0x11,0xf9,0x25,0x23,0x21,0xf9,0x21,0x23,0x2d,0x21,0x39,0xe2,0x42,0x4,0x18,0x20,0x20,0x24,0x2c,0x30,0x20,0x20,0x30,0x2c,0x24,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x1,0x11,0xf9,0x22,0x25,0x20,0xf8,0x20,0x23,0x2c,0x23,0x3a,0xe2,0x42,0x3,0x2,0x0,0x0,0xfc,0x8,0x10,0xa0,0x40,0xa0,0x18,0x6,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x1f,0x21,0x49,0x11,0x23,0x0,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x0,0x0,0x8,0xfc,0x8,0x20,0x18,0x8,0x0,0xfc,0x0,0x10,0xf8,0x40,0x24,0xfe,0x0,
-+0x0,0x13,0xfa,0x24,0x23,0x20,0xf8,0x21,0x23,0x20,0x28,0x37,0xe0,0x40,0x0,0x0,0x0,0xfe,0x42,0x44,0xfc,0x80,0xa0,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x14,0xfa,0x21,0x20,0x26,0xfa,0x22,0x22,0x22,0x22,0x3a,0xe2,0x45,0x8,0x0,0x20,0x20,0x24,0xfe,0x40,0x50,0x90,0xfc,0x10,0x14,0xfe,0x10,0x10,0x16,0xfc,0x0,
-+0x1,0x9,0x7f,0x11,0x11,0x11,0x7d,0x11,0x11,0x11,0x11,0x17,0x1c,0x71,0x22,0x4,0x10,0x10,0xfc,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x1,0x11,0xff,0x21,0x20,0x23,0xfa,0x22,0x22,0x22,0x27,0x38,0xe0,0x41,0x2,0xc,0x10,0x14,0xfe,0x10,0x40,0xf8,0x48,0x48,0x48,0x48,0xfe,0x40,0xa0,0x10,0xe,0x4,
-+0x0,0x10,0xfb,0x20,0x20,0x21,0xfb,0x20,0x23,0x22,0x22,0x3a,0xe3,0x42,0x0,0x0,0x40,0x48,0xfc,0x40,0xa0,0x14,0xfe,0x8,0xc8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x0,0x10,0xf8,0x23,0x22,0x22,0xfb,0x22,0x22,0x22,0x22,0x3a,0xe2,0x44,0x9,0x2,0x48,0x7c,0x40,0xfe,0x42,0x78,0xc4,0x7c,0x0,0xf0,0x90,0x90,0x90,0x92,0x12,0xe,
-+0x0,0xb,0x7e,0x12,0x13,0x12,0x7e,0x13,0x12,0x12,0x13,0x1e,0x72,0x22,0x3,0x2,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x20,0x24,0xa8,0x30,0x20,0xa2,0x22,0x1e,
-+0x0,0x8,0x7d,0x11,0x12,0x10,0x7c,0x11,0x12,0x11,0x11,0x1e,0x70,0x21,0x2,0xc,0x40,0x40,0x48,0x50,0x40,0xa0,0x98,0x48,0x44,0x48,0x50,0xa0,0xa0,0x10,0xe,0x4,
-+0x0,0x14,0xff,0x24,0x28,0x23,0xf8,0x20,0x27,0x20,0x21,0x39,0xe2,0x44,0x1,0x0,0x80,0x40,0xfe,0x2,0x14,0xf8,0x0,0x4,0xfe,0x40,0x50,0x48,0x44,0x44,0x40,0x80,
-+0x0,0x14,0xff,0x24,0x2a,0x23,0xfa,0x24,0x24,0x2a,0x21,0x39,0xe2,0x44,0x8,0x10,0x80,0x40,0xfe,0x2,0x4,0xbc,0xa4,0xa4,0xa4,0xa4,0x34,0x28,0x22,0x22,0x1e,0x0,
-+0x0,0x17,0xfc,0x28,0x21,0x22,0xf8,0x20,0x2f,0x20,0x20,0x39,0xe2,0x44,0x8,0x0,0x0,0xfe,0x2,0xa4,0x18,0x8,0x40,0x44,0xfe,0x40,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x0,0x13,0xfa,0x22,0x23,0x22,0xfa,0x23,0x22,0x22,0x23,0x3d,0xe5,0x49,0x11,0x1,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x7,0xfc,0x25,0x24,0x25,0xf8,0x20,0x23,0x22,0x23,0x3a,0xe3,0x42,0x3,0x2,0x4,0xfe,0x4,0xf4,0x4,0xf4,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x0,0x10,0xf9,0x22,0x25,0x28,0xff,0x24,0x24,0x27,0x24,0x3c,0xe7,0x44,0x4,0x5,0x40,0xc0,0x20,0x10,0xe8,0x6,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x88,0xa8,0x90,
-+0x0,0x17,0xfa,0x21,0x20,0x23,0xf8,0x27,0x21,0x21,0x22,0x3a,0xe4,0x48,0x1,0x6,0x1c,0xe0,0x48,0x50,0x20,0xfc,0x80,0xfe,0x0,0xf8,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x17,0xfc,0x24,0x24,0x27,0xfc,0x24,0x27,0x24,0x24,0x3f,0xe4,0x44,0x4,0x4,0x4,0xbe,0x84,0x84,0x84,0xbc,0x4,0x0,0xbc,0x4,0x24,0xa8,0x10,0x28,0x46,0x84,
-+0x1,0x11,0xfa,0x21,0x21,0x20,0xf8,0x23,0x22,0x22,0x22,0x3a,0xe3,0x42,0x3,0x2,0x24,0x24,0x48,0x24,0x24,0x40,0x84,0xfe,0x4,0x94,0x64,0x94,0xc,0x4,0xfc,0x4,
-+0x0,0x17,0xfa,0x21,0x27,0x24,0xf8,0x27,0x21,0x21,0x22,0x3a,0xe4,0x48,0x1,0x6,0x38,0xc0,0x48,0x50,0xfe,0x82,0x84,0xfe,0x0,0xf0,0x10,0xa0,0x40,0xa0,0x1e,0x4,
-+0x0,0x10,0xfb,0x22,0x22,0x22,0xfb,0x22,0x22,0x22,0x23,0x3d,0xe5,0x49,0x11,0x1,0x40,0x24,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x11,0xff,0x21,0x21,0x20,0xff,0x24,0x27,0x20,0x27,0x38,0xe7,0x40,0xf,0x0,0x10,0x14,0xfe,0x10,0xf0,0x44,0xfe,0x44,0xfc,0x40,0xfc,0x40,0xfc,0x40,0xfe,0x0,
-+0x1,0x11,0xff,0x21,0x21,0x2f,0xf8,0x23,0x22,0x23,0x22,0x3b,0xe0,0x41,0x2,0x4,0x10,0x10,0xfc,0x10,0x14,0xfe,0x40,0xf8,0x48,0xf8,0x48,0xf8,0x0,0x10,0xc,0x4,
-+0x0,0x17,0xfd,0x25,0x26,0x26,0xfb,0x24,0x20,0x2f,0x20,0x39,0xe0,0x40,0x1,0x6,0x0,0xbc,0xac,0xac,0xb4,0xb4,0x18,0xa4,0x40,0xfe,0x90,0x10,0xa0,0x40,0xb0,0xc,
-+0x0,0x14,0xfc,0x27,0x21,0x21,0xfb,0x22,0x27,0x2a,0x23,0x3a,0xe2,0x43,0x2,0x2,0x40,0x44,0x44,0xfc,0x44,0x20,0xfe,0x20,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,0x0,
-+0x0,0x10,0xfb,0x22,0x22,0x22,0xfa,0x23,0x22,0x22,0x23,0x38,0xe5,0x45,0x9,0x0,0x40,0x84,0xfe,0x44,0x74,0x94,0xd4,0x24,0x44,0x84,0xfc,0x40,0x24,0x2a,0xa,0xf8,
-+0x4,0x2,0xf2,0x2f,0x24,0x24,0xf7,0x25,0x25,0x25,0x35,0xe9,0x49,0x15,0x22,0x1,0x40,0x40,0x44,0xfe,0x80,0x0,0x7e,0x12,0x54,0x50,0x5e,0x50,0x50,0xb0,0x90,0xe,
-+0x0,0x17,0xf9,0x20,0x2f,0x20,0xfb,0x22,0x23,0x22,0x23,0x38,0xef,0x40,0x0,0x0,0x40,0xfc,0x10,0xa0,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x40,0xfe,0x40,0x40,0x40,
-+0x0,0x14,0xfa,0x20,0x2f,0x21,0xf8,0x27,0x20,0x23,0x20,0x3f,0xe0,0x40,0x3,0xc,0xa0,0xa4,0xa8,0xa0,0xfe,0x10,0xa0,0xfc,0x40,0xf8,0x40,0xfe,0x40,0xa0,0x18,0x6,
-+0x2,0x13,0xfa,0x27,0x28,0x25,0xfa,0x24,0x2a,0x21,0x27,0x38,0xe1,0x42,0xc,0x0,0x0,0xbc,0x4,0xa8,0x90,0x28,0x46,0x40,0x48,0x50,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x0,0x10,0xff,0x24,0x24,0x27,0xfc,0x24,0x27,0x24,0x27,0x3c,0xe7,0x48,0x13,0x0,0x78,0x40,0xfe,0x82,0xf4,0x88,0xf8,0x0,0xfe,0xc0,0x68,0xb0,0x68,0xa6,0x24,0x40,
-+0x0,0xf,0xf8,0x28,0x28,0x2f,0xf2,0x22,0x2b,0x2a,0x2a,0x3a,0xcb,0x5e,0x0,0x0,0x20,0xa0,0xbe,0xc4,0xa4,0xa8,0x10,0x28,0xc4,0x82,0x7c,0x44,0xc4,0x44,0x7c,0x44,
-+0x3e,0x23,0x3e,0x20,0x3f,0x22,0x62,0xbe,0x0,0x7f,0x1,0x3f,0x1,0x1,0xff,0x0,0x20,0xfc,0x88,0x50,0xfe,0x20,0xf8,0x20,0x20,0xfc,0x0,0xf8,0x40,0x24,0xfe,0x0,
-+0x1,0x5,0xf7,0x29,0x2f,0x23,0xf5,0x29,0x23,0x22,0x22,0x3a,0xe2,0x40,0x1,0x6,0x8,0x28,0xbc,0x48,0xbe,0x18,0xaa,0x4e,0xf8,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0xf,0x78,0x4b,0x68,0x4b,0x6a,0x4b,0x48,0xff,0x80,0x3f,0x1,0x1f,0x1,0x1,0xff,0xe4,0x3e,0xa4,0x2c,0xa4,0xac,0xa4,0x24,0xfe,0x2,0xf8,0x0,0xf0,0x40,0x24,0xfe,
-+0x0,0x3e,0x22,0x3e,0x22,0x3e,0x0,0xff,0x9,0x28,0x2f,0x28,0x38,0x48,0x84,0x3,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x24,0x24,0x34,0x28,0x20,0x26,0xfc,
-+0x20,0x23,0x22,0xfa,0x23,0x22,0xfa,0x23,0x20,0xfb,0x2a,0x2a,0x3a,0x22,0x2f,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xf8,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x20,0x20,0x27,0xfa,0x21,0x21,0xf8,0x23,0x22,0xfa,0x2b,0x2a,0x3a,0x22,0x23,0x22,0x8,0x3c,0xc0,0x48,0x48,0x50,0x84,0x3e,0x4,0x4,0xbc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x30,0x38,0x54,0x50,0x90,0x11,0x11,0x12,0x14,0x18,0x0,0x4,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x10,0x12,0x12,0xe,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x30,0x38,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x80,0x84,0xfe,0x4,0x4,0x84,0x44,0x44,0x4,0x4,0x4,0x4,0x28,0x10,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x30,0x3b,0x56,0x52,0x92,0x12,0x12,0x12,0x11,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x12,0x31,0x39,0x54,0x50,0x90,0x10,0x11,0x12,0x14,0x18,0x0,0x8,0xfc,0x8,0x88,0x50,0x50,0x10,0xa0,0xa0,0x40,0xa0,0x20,0x18,0xe,0x4,
-+0x10,0x10,0x13,0x10,0xfd,0x11,0x31,0x39,0x55,0x51,0x90,0x10,0x17,0x10,0x10,0x10,0x0,0x10,0xf8,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x33,0x3a,0x56,0x52,0x92,0x12,0x14,0x14,0x19,0x12,0x0,0x4,0xfe,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x10,0x12,0x12,0x12,0xfe,0x12,0x33,0x3a,0x56,0x52,0x92,0x12,0x12,0x13,0x12,0x10,0x20,0x20,0x20,0x20,0x24,0x2c,0xb0,0x20,0x20,0x20,0x20,0x22,0xa2,0x22,0x1e,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x32,0x3a,0x54,0x50,0x90,0x10,0x10,0x10,0x13,0x1c,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x42,0x48,0x48,0x50,0x50,0x20,0xc0,0x0,0x0,
-+0x1,0x1,0x1,0xff,0x3,0x5,0x9,0x31,0xdf,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0xf4,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x10,0x10,0x10,0x10,0xff,0x12,0x32,0x3a,0x56,0x52,0x92,0x13,0x12,0x12,0x12,0x12,0x40,0x40,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0xa4,0x9c,0xc,0x4,0x4,0x14,0x8,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x90,0x10,0x10,0x11,0x12,0x14,0x8,0xfc,0x8,0x28,0x28,0x28,0x28,0x28,0x48,0x48,0x60,0xa0,0xa2,0x22,0x1e,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x32,0x38,0x57,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x80,0x80,0x88,0xfc,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x11,0x11,0x11,0x11,0xfd,0x11,0x31,0x3b,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x0,0x8,0x18,0x20,0x40,0x80,0x4,0xfe,0x40,0x20,0x20,0x10,0x10,0x4e,0x84,0x0,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x52,0x92,0x14,0x14,0x18,0x11,0x10,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xa8,0xa8,0x48,0x44,0x84,0x2,0x0,
-+0x2,0x4,0x1f,0x10,0x12,0x11,0x10,0x1f,0x1,0x1,0x7f,0x3,0x5,0x19,0x61,0x1,0x0,0x10,0xf8,0x10,0x10,0x60,0x4,0xfe,0x4,0x4,0xf4,0x94,0x48,0x30,0xe,0x0,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x30,0x38,0x54,0x50,0x90,0x10,0x11,0x11,0x12,0x14,0x80,0x40,0x40,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x8,0x8,0x50,0x20,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x32,0x3a,0x57,0x52,0x92,0x12,0x12,0x12,0x11,0x10,0x0,0x8,0xfc,0x48,0x48,0x48,0x48,0x48,0xf8,0x8,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x10,0x10,0xfc,0x10,0x33,0x38,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x0,0xfc,0x8,0x90,0x60,0x20,0xfe,0x22,0x24,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x1,0x1,0x7f,0x5,0x9,0x11,0x20,0xdf,0x0,0x0,0x7f,0x1,0x9,0x11,0x25,0x2,0x0,0x8,0xfc,0x40,0x30,0xe,0x24,0xf0,0x0,0x8,0xfc,0x0,0x20,0x18,0x8,0x0,
-+0x11,0x11,0x11,0x17,0xfd,0x10,0x33,0x38,0x54,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x14,0xfe,0x10,0x8,0xfc,0x88,0x88,0x88,0x88,0xa8,0x90,0x80,0x80,0x80,
-+0x10,0x10,0x17,0x10,0xfc,0x10,0x31,0x39,0x55,0x53,0x95,0x19,0x11,0x11,0x11,0x11,0x0,0x4,0xfe,0x80,0x80,0x80,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x10,0xff,0x10,0x30,0x38,0x54,0x50,0x91,0x11,0x12,0x12,0x14,0x18,0x80,0xa0,0x90,0x94,0xfe,0xa0,0xa0,0xa4,0xa4,0xa8,0x28,0x30,0x62,0xa2,0x1e,0x0,
-+0x10,0x13,0x12,0x12,0xfe,0x12,0x32,0x3b,0x56,0x52,0x92,0x12,0x13,0x12,0x13,0x10,0x8,0xfc,0x0,0x40,0x40,0x78,0x88,0x10,0x20,0x20,0x50,0x8c,0x4,0x0,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x12,0x31,0x38,0x57,0x50,0x90,0x10,0x10,0x10,0x10,0x10,0x0,0x8,0xfc,0x40,0x40,0x48,0x50,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x10,0xfc,0x13,0x32,0x3a,0x56,0x53,0x92,0x12,0x12,0x14,0x14,0x18,0x40,0x44,0x7e,0x40,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x11,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,
-+0x10,0x11,0x11,0x11,0xfd,0x11,0x30,0x3b,0x54,0x50,0x91,0x10,0x10,0x10,0x10,0x10,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0xfe,0x80,0x88,0xfc,0x8,0x8,0x88,0x50,0x20,
-+0x10,0x10,0x10,0x10,0xfd,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x32,0x3a,0x57,0x52,0x91,0x11,0x12,0x12,0x14,0x10,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x10,0x10,0x8,0x4,0x4,0x0,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x33,0x3a,0x56,0x52,0x92,0x12,0x14,0x14,0x18,0x10,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x20,0x60,0x20,0x30,0x2c,0x24,0x20,0x20,0x20,
-+0x10,0x10,0x13,0x12,0xfe,0x13,0x32,0x3a,0x56,0x52,0x92,0x12,0x14,0x14,0x18,0x10,0x8,0x1c,0xe0,0x0,0x8,0xfc,0x0,0xf8,0x88,0x88,0xa8,0x90,0x82,0x82,0x7e,0x0,
-+0x10,0x10,0x10,0x10,0xfd,0x12,0x34,0x38,0x54,0x53,0x90,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x44,0x40,0x0,0xf8,0x8,0x10,0x10,0xa0,0x40,0x20,
-+0x10,0x10,0x10,0x11,0xfd,0x12,0x35,0x39,0x55,0x51,0x91,0x11,0x11,0x10,0x10,0x10,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0xe4,0x24,0x4,0x28,0x10,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x33,0x3a,0x56,0x52,0x92,0x12,0x12,0x13,0x12,0x10,0x8,0x1c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x10,0x52,0x8a,0x26,0x12,0x0,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x32,0x3b,0x54,0x50,0x90,0x11,0x12,0x14,0x10,0x10,0x8,0x1c,0xe0,0x0,0x20,0x20,0x24,0xfe,0x20,0x20,0xa8,0x24,0x22,0x22,0xa0,0x40,
-+0x10,0x10,0x10,0x13,0xfe,0x14,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x11,0x10,0x10,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0x10,0x30,0x40,0x80,0x0,0x4,0x4,0xfc,0x0,
-+0x10,0x13,0x12,0x11,0xfc,0x10,0x30,0x3b,0x54,0x50,0x93,0x10,0x10,0x10,0x17,0x10,0x0,0xf8,0x8,0x10,0xa0,0x40,0xb0,0xe,0x44,0x50,0xf8,0x40,0x40,0x48,0xfc,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x37,0x38,0x55,0x52,0x94,0x18,0x10,0x10,0x10,0x10,0x40,0x40,0x48,0xf8,0x50,0x64,0xfe,0x80,0xfc,0x40,0x88,0xfc,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x37,0x38,0x54,0x51,0x92,0x14,0x18,0x10,0x10,0x10,0x40,0x40,0x44,0xf8,0x50,0x64,0xfe,0x40,0x88,0x98,0xa0,0xc0,0x84,0x84,0x7c,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x32,0x3a,0x55,0x50,0x90,0x10,0x10,0x10,0x17,0x10,0x0,0x8,0xfc,0x90,0x90,0x90,0x94,0x94,0x94,0x98,0x90,0x90,0x90,0x94,0xfe,0x0,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x30,0x39,0x54,0x53,0x90,0x10,0x10,0x11,0x12,0x14,0x80,0x80,0x9c,0xe0,0x50,0x20,0x52,0x8e,0x0,0xfc,0x90,0x90,0x90,0x12,0x12,0xe,
-+0x10,0x10,0x17,0x10,0xfc,0x11,0x32,0x3b,0x54,0x50,0x97,0x10,0x10,0x10,0x1f,0x10,0x0,0x4,0xfe,0x40,0x80,0x10,0x8,0xfc,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x10,0x10,0x10,0x10,0xfc,0x13,0x32,0x3a,0x56,0x52,0x92,0x12,0x10,0x10,0x11,0x16,0x40,0x44,0x7e,0x40,0x48,0xfc,0x8,0x48,0x48,0x48,0x48,0x48,0x80,0xb0,0xc,0x4,
-+0x10,0x10,0x14,0x12,0xfd,0x10,0x37,0x38,0x54,0x50,0x90,0x10,0x11,0x11,0x12,0x14,0x40,0x40,0x44,0x48,0x50,0x44,0xfe,0xa0,0xa0,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x10,0x10,0x12,0x12,0xff,0x10,0x33,0x38,0x54,0x53,0x92,0x12,0x12,0x12,0x11,0x10,0x40,0x40,0x48,0x48,0xf8,0x0,0xf8,0x8,0x8,0xf8,0x8,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x17,0x11,0xfd,0x12,0x3a,0x37,0x51,0x51,0x95,0x15,0x12,0x15,0x18,0x10,0x0,0xc,0x70,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x7c,0x0,0x6,0xfc,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x10,0x37,0x38,0x54,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x8,0x3c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x11,0xfe,0x12,0x32,0x3a,0x57,0x52,0x92,0x12,0x12,0x12,0x13,0x12,0x0,0x40,0xc0,0x4,0x3e,0x4,0x4,0x4,0xbc,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x11,0xfd,0x13,0x35,0x39,0x55,0x50,0x97,0x10,0x10,0x10,0x10,0x10,0xa0,0xa0,0xa4,0x28,0x30,0x60,0xa4,0x1c,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x11,0x12,0xfe,0x14,0x31,0x39,0x53,0x55,0x91,0x11,0x11,0x11,0x11,0x11,0x80,0x88,0x7c,0x0,0x80,0x84,0x7e,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x10,0x11,0xfe,0x14,0x31,0x38,0x54,0x57,0x90,0x10,0x11,0x12,0x17,0x10,0x40,0x40,0xa0,0x10,0xe,0x24,0xf0,0x0,0x8,0xfc,0x80,0x80,0x10,0x8,0xfc,0x4,
-+0x10,0x10,0x1e,0x22,0x24,0x54,0x8,0x11,0x21,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x10,0x10,0xfc,0x10,0x50,0x90,0xfc,0x10,0x14,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x2,0x1,0x7f,0x4,0x14,0x14,0x24,0x45,0x1,0xff,0x3,0x5,0x9,0x11,0x61,0x1,0x0,0x8,0xfc,0x40,0x50,0x48,0x44,0x44,0x0,0xfe,0x80,0x40,0x30,0xe,0x4,0x0,
-+0x1,0x11,0x9,0x3f,0x2,0x7f,0x4,0x8,0x31,0xc1,0x3f,0x1,0x9,0x11,0x25,0x2,0x0,0x10,0x20,0xf8,0x0,0xfc,0x40,0x30,0xe,0x4,0xf8,0x0,0x20,0x18,0x8,0x0,
-+0x10,0x10,0x12,0x13,0xfe,0x14,0x30,0x38,0x57,0x50,0x91,0x10,0x10,0x10,0x11,0x12,0x40,0x20,0x20,0xfe,0x2,0x44,0x40,0x84,0xfe,0x88,0x8,0x90,0x60,0x90,0xc,0x4,
-+0x10,0x10,0x17,0x10,0xfc,0x12,0x32,0x38,0x54,0x51,0x96,0x10,0x10,0x10,0x12,0x11,0x0,0x4,0xbe,0x84,0x84,0xa4,0x94,0x94,0x84,0x8c,0xb4,0x84,0x84,0x84,0x94,0x8,
-+0x8,0x8,0x8,0xfe,0x1c,0x2a,0x49,0x0,0xf,0x8,0xa,0x9,0x8,0x10,0x10,0x60,0x20,0x20,0x24,0xfe,0x70,0xa8,0x26,0x20,0xf0,0x20,0x20,0xa0,0xa0,0x22,0x22,0x1e,
-+0x10,0x11,0x11,0x11,0xfd,0x12,0x30,0x3b,0x54,0x51,0x91,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x17,0x12,0xfd,0x11,0x33,0x38,0x54,0x50,0x97,0x10,0x10,0x10,0x11,0x10,0x8,0x3c,0xc0,0x48,0x48,0x50,0xf8,0x10,0x60,0x44,0xfe,0x40,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x10,0x11,0xfe,0x11,0x31,0x39,0x55,0x51,0x91,0x11,0x11,0x12,0x12,0x14,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x34,0x28,
-+0x10,0x10,0x10,0x17,0xfc,0x11,0x30,0x3f,0x54,0x50,0x90,0x17,0x10,0x10,0x10,0x10,0x80,0x40,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x40,0x40,0x48,0xfc,0x40,0x40,0x40,0x40,
-+0x10,0x12,0x11,0x11,0xfc,0x12,0x32,0x38,0x55,0x51,0x92,0x16,0x12,0x12,0x10,0x13,0x10,0x10,0x10,0x10,0x54,0x52,0x90,0x14,0x14,0x18,0x8,0x10,0x20,0x40,0x80,0x0,
-+0x10,0x13,0x10,0x10,0xfd,0x10,0x30,0x3b,0x54,0x51,0x91,0x12,0x10,0x10,0x11,0x16,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x40,0x48,0x48,0x50,0xa0,0x90,0xe,0x4,
-+0x10,0x10,0x10,0x13,0xfc,0x10,0x37,0x38,0x55,0x53,0x95,0x19,0x11,0x11,0x11,0x11,0x40,0x40,0x44,0xf8,0x50,0x64,0xfe,0x80,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x8,0x8,0x7e,0x8,0x1c,0x2a,0x49,0x4,0x8,0x10,0x2f,0xc4,0x4,0x4,0x8,0x10,0x20,0x28,0xfc,0x20,0x70,0xac,0x20,0xc0,0x20,0x10,0xee,0x24,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x13,0x10,0xfc,0x13,0x31,0x38,0x56,0x51,0x90,0x17,0x10,0x10,0x11,0x16,0x40,0x48,0xfc,0x40,0x40,0xfe,0x22,0xa4,0x20,0x20,0x24,0xfe,0x40,0x58,0x86,0x2,
-+0x8,0xa,0x7f,0x14,0x14,0x3f,0x4,0x7f,0x4,0x5,0xff,0x3,0x5,0x19,0x61,0x1,0x8,0xc,0x70,0x40,0x44,0x7e,0x48,0x48,0x88,0x8,0xfe,0x80,0x40,0x30,0xe,0x0,
-+0x10,0x10,0x10,0x10,0xff,0x12,0x33,0x3a,0x57,0x52,0x90,0x1f,0x10,0x10,0x10,0x10,0x44,0x7e,0x40,0x48,0xfc,0x8,0xf8,0x8,0xf8,0x48,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x10,0x13,0x12,0x12,0xfe,0x13,0x30,0x38,0x55,0x51,0x92,0x14,0x10,0x10,0x13,0x1c,0x4,0xfe,0x94,0x94,0x94,0xfc,0x80,0x88,0xfc,0x8,0x88,0x50,0x20,0xc0,0x0,0x0,
-+0x10,0x10,0x17,0x10,0xff,0x12,0x32,0x3a,0x57,0x52,0x92,0x1f,0x10,0x10,0x17,0x10,0x10,0x38,0xc0,0x44,0xfe,0x48,0x48,0x48,0xfc,0x48,0x48,0xfe,0x40,0x48,0xfc,0x0,
-+0x10,0x10,0x10,0x17,0xf8,0x10,0x33,0x3a,0x56,0x52,0x93,0x10,0x12,0x14,0x19,0x10,0x80,0x40,0x44,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x40,0x48,0x46,0x42,0x80,
-+0x10,0x10,0x17,0x10,0xff,0x12,0x32,0x3b,0x54,0x53,0x90,0x1f,0x10,0x10,0x11,0x10,0x80,0x48,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x0,0xf8,0x10,0xfe,0x40,0x40,0x40,0x80,
-+0x10,0x10,0x17,0x11,0xfd,0x12,0x37,0x39,0x55,0x51,0x95,0x15,0x12,0x15,0x18,0x10,0x10,0x14,0x7e,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x10,0xfe,0x10,0x10,0x16,0xfc,0x0,
-+0x10,0x10,0x13,0x10,0xfc,0x13,0x30,0x38,0x57,0x52,0x91,0x10,0x11,0x16,0x11,0x10,0x40,0x48,0xfc,0x48,0x48,0xfe,0x48,0x48,0xf8,0x48,0x50,0xe0,0x50,0x4e,0x44,0x80,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x32,0x3b,0x56,0x52,0x93,0x13,0x15,0x15,0x19,0x11,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x13,0x10,0xfd,0x10,0x37,0x39,0x56,0x55,0x98,0x13,0x10,0x10,0x11,0x16,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfc,0x10,0x8,0xf6,0x40,0xf8,0x40,0xb0,0xc,0x4,
-+0x11,0x11,0x13,0x11,0xfd,0x11,0x31,0x39,0x55,0x51,0x9f,0x12,0x12,0x12,0x13,0x10,0x10,0x10,0xfc,0x10,0xf0,0x10,0x10,0xf0,0x10,0x14,0xfe,0x50,0x88,0x0,0xfc,0x0,
-+0x20,0x20,0x20,0x2f,0xf8,0x20,0x37,0x6d,0x64,0xa5,0x24,0x24,0x27,0x24,0x24,0x24,0x40,0x40,0x44,0xfe,0x40,0x44,0xfe,0x14,0xa4,0xf4,0x44,0x44,0xfc,0x44,0x54,0x8,
-+0x10,0x10,0x10,0x17,0xfc,0x11,0x32,0x3c,0x57,0x52,0x93,0x12,0x13,0x10,0x1f,0x10,0x40,0x40,0x48,0xfc,0xe0,0x50,0x4e,0x44,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0xff,0x12,0x33,0x3a,0x56,0x53,0x90,0x10,0x11,0x12,0x14,0x10,0x40,0x44,0xfe,0x40,0xf8,0x48,0x58,0xe8,0x48,0xf8,0xc0,0xe0,0x50,0x4e,0x44,0x40,
-+0x11,0x15,0x15,0x15,0xfd,0x15,0x30,0x3b,0x56,0x52,0x92,0x12,0x12,0x10,0x11,0x16,0x20,0x20,0x24,0x3e,0x50,0x88,0x8,0xfc,0x8,0x48,0x48,0x48,0xa8,0xa2,0x22,0x1e,
-+0x10,0x13,0x12,0x12,0xfb,0x10,0x37,0x3a,0x57,0x52,0x93,0x12,0x12,0x1f,0x10,0x10,0x8,0xfc,0x8,0x8,0xf8,0x0,0xfe,0x8,0xf8,0x8,0xf8,0x8,0xe,0xf8,0x8,0x8,
-+0x10,0x10,0x13,0x12,0xfe,0x12,0x33,0x38,0x54,0x57,0x94,0x14,0x14,0x14,0x17,0x14,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xbc,0xa4,
-+0x10,0x10,0x3e,0x48,0x8,0x7e,0x14,0x22,0x41,0x1,0xff,0x3,0x5,0x39,0xc1,0x1,0x8,0xfc,0x80,0xf8,0x88,0xf8,0x80,0xfc,0x0,0x4,0xfe,0x80,0x40,0x30,0xe,0x0,
-+0x10,0x10,0x17,0x11,0xf9,0x17,0x31,0x3b,0x53,0x55,0x95,0x19,0x11,0x11,0x11,0x11,0x10,0xd0,0x10,0x10,0x54,0xd4,0x38,0x90,0x50,0x28,0x28,0x28,0x28,0x44,0x82,0x0,
-+0x10,0x10,0x13,0x12,0xfe,0x13,0x32,0x3a,0x57,0x52,0x92,0x13,0x1e,0x12,0x12,0x13,0x40,0xbc,0x24,0x24,0x24,0xa6,0x40,0x3c,0x84,0x24,0x28,0xa8,0x10,0x28,0x46,0x84,
-+0x10,0x14,0x12,0x12,0xfc,0x10,0x36,0x3a,0x56,0x52,0x92,0x12,0x12,0x15,0x18,0x10,0x20,0x44,0xfe,0x84,0x84,0xfc,0x80,0xfc,0x84,0x84,0x84,0xfc,0x80,0x6,0xfc,0x0,
-+0x10,0x10,0x17,0x10,0xfd,0x10,0x37,0x38,0x54,0x57,0x90,0x11,0x12,0x14,0x11,0x10,0x80,0x48,0xfc,0x0,0x10,0xa4,0xfe,0x40,0x48,0xfc,0x40,0x50,0x4c,0x44,0x40,0x80,
-+0x10,0x14,0x12,0x14,0xfc,0x15,0x35,0x3d,0x55,0x54,0x95,0x15,0x15,0x15,0x14,0x14,0x0,0x4,0xfe,0x4,0x4,0xf4,0x14,0x14,0xf4,0x4,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x11,0x10,0x13,0x10,0xfc,0x13,0x30,0x38,0x57,0x50,0x91,0x12,0x14,0x18,0x13,0x10,0x8,0x90,0xfc,0x40,0x50,0xf8,0x40,0x44,0xfe,0x80,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x14,0x12,0x10,0xfc,0x17,0x30,0x39,0x56,0x55,0x98,0x13,0x10,0x10,0x10,0x10,0x80,0x44,0x48,0x10,0x4,0xfe,0xa0,0x10,0x48,0xf6,0x40,0xf8,0x40,0x40,0x40,0x40,
-+0x10,0x14,0x17,0x14,0xf8,0x13,0x30,0x3b,0x56,0x53,0x92,0x13,0x12,0x10,0x1f,0x10,0x80,0x40,0xfe,0x2,0x14,0xf8,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x0,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x32,0x3a,0x56,0x52,0x92,0x12,0x14,0x14,0x18,0x10,0x4,0xfe,0x24,0x24,0xfc,0x0,0xfc,0x84,0x84,0xfc,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x10,0x17,0x11,0x11,0xfd,0x12,0x3a,0x35,0x54,0x5b,0x92,0x12,0x12,0x12,0x1f,0x10,0x0,0xf8,0x10,0x1c,0xe4,0xa4,0x44,0xb4,0x8,0xfc,0xa8,0xa8,0xa8,0xa8,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0xff,0x10,0x37,0x39,0x52,0x55,0x98,0x17,0x10,0x11,0x16,0x10,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0x10,0x38,0xce,0x44,0xfc,0xe0,0x58,0x44,0x40,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x32,0x3b,0x56,0x52,0x93,0x12,0x12,0x12,0x13,0x10,0x8,0xfc,0x50,0x50,0xdc,0x50,0x50,0xdc,0x50,0x50,0xdc,0x50,0x50,0x54,0xfe,0x0,
-+0x10,0x13,0x12,0x13,0xfe,0x13,0x38,0x37,0x50,0x54,0x92,0x11,0x16,0x10,0x12,0x11,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xbe,0x84,0xa4,0x94,0x8c,0xb4,0x84,0x94,0x8,
-+0x11,0x11,0x11,0xfa,0x17,0x32,0x3b,0x56,0x53,0x92,0x10,0x17,0x10,0x10,0x10,0x10,0x40,0x24,0xfe,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x10,0x11,0x13,0x12,0xff,0x12,0x3b,0x36,0x52,0x57,0x90,0x11,0x12,0x14,0x11,0x10,0x84,0x4,0xc4,0x44,0xc4,0x7e,0xc4,0x64,0x54,0xd4,0xc4,0x44,0x44,0x44,0x54,0x88,
-+0x10,0x10,0x13,0x12,0xff,0x12,0x33,0x38,0x57,0x51,0x92,0x14,0x1b,0x10,0x10,0x10,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x80,0xfe,0x10,0x48,0x46,0xf8,0x40,0x40,0x40,
-+0x10,0x10,0x17,0x10,0xfd,0x11,0x37,0x39,0x55,0x50,0x91,0x13,0x15,0x19,0x11,0x11,0x40,0x24,0xfe,0x0,0xf8,0x8,0xfe,0x8,0xf8,0x84,0x48,0x30,0x10,0x4e,0x84,0x0,
-+0x10,0x10,0x17,0x10,0xfb,0x12,0x33,0x38,0x57,0x54,0x95,0x15,0x15,0x15,0x14,0x14,0x80,0x44,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xfc,0x4,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x22,0x14,0xff,0x8,0x49,0x49,0x7f,0x8,0x11,0x21,0xff,0x3,0xd,0x31,0xc1,0x1,0x4,0x7e,0xc4,0x7c,0x44,0x7c,0x44,0x94,0x8,0x0,0xfe,0x80,0x40,0x30,0xe,0x0,
-+0x10,0x10,0x17,0x14,0xf8,0x11,0x31,0x39,0x55,0x51,0x91,0x1f,0x10,0x11,0x12,0x14,0x80,0x40,0xfe,0x2,0x34,0xc0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x10,0x10,0x17,0x14,0xf8,0x11,0x32,0x38,0x55,0x52,0x97,0x1a,0x12,0x12,0x13,0x12,0x80,0x40,0xfe,0x2,0xa4,0x10,0x48,0xa0,0x10,0x8,0xfe,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x14,0x12,0x12,0xf8,0x16,0x33,0x3a,0x56,0x53,0x92,0x12,0x12,0x13,0x12,0x10,0x20,0x20,0x24,0xfc,0x28,0x30,0xfe,0x40,0xfc,0x44,0x44,0x7c,0xc4,0x44,0x7c,0x44,
-+0x10,0x13,0x12,0x12,0xff,0x12,0x33,0x3a,0x57,0x53,0x95,0x15,0x15,0x15,0x19,0x11,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xa8,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x11,0x11,0x1f,0x11,0xfd,0x10,0x37,0x3c,0x57,0x50,0x97,0x10,0x13,0x10,0x1f,0x10,0x10,0x14,0xfe,0x10,0xf0,0x44,0xfe,0x44,0xfc,0x40,0xfc,0x40,0xf8,0x40,0xfe,0x0,
-+0x10,0x10,0x17,0x10,0xfa,0x11,0x37,0x38,0x57,0x54,0x95,0x15,0x15,0x14,0x17,0x14,0x40,0x48,0xfc,0x40,0x48,0x50,0xfe,0x0,0xfc,0x4,0xf4,0x14,0xf4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x13,0xfe,0x12,0x32,0x3a,0x57,0x52,0x93,0x12,0x14,0x15,0x18,0x10,0x10,0x18,0x14,0xfe,0x10,0x90,0xd2,0x92,0xf4,0x94,0xd8,0xa8,0x9a,0xaa,0xc6,0x4,
-+0x10,0x13,0x10,0x17,0xfd,0x14,0x31,0x38,0x57,0x50,0x9f,0x11,0x11,0x10,0x10,0x10,0x10,0xf8,0x40,0xfe,0x52,0xe4,0x50,0x40,0xfc,0x0,0xfe,0x0,0xf8,0x8,0x48,0x30,
-+0x10,0x12,0x11,0x14,0xff,0x14,0x31,0x39,0x55,0x51,0x90,0x17,0x10,0x10,0x17,0x10,0x40,0x48,0x50,0x40,0xfe,0x2,0xf4,0x10,0x10,0xf0,0x40,0xfc,0x40,0x44,0xfe,0x0,
-+0x44,0x29,0x10,0x2f,0x48,0x19,0x2b,0x4d,0x9,0x29,0x11,0xff,0x5,0x19,0x61,0x1,0x48,0xf0,0x54,0xfe,0x80,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x40,0x30,0xe,0x0,
-+0x22,0x22,0x23,0x24,0xff,0x25,0x75,0x6f,0x65,0xa5,0x27,0x25,0x25,0x25,0x29,0x30,0x4,0x4,0xd4,0x8c,0xcc,0x64,0x54,0xd4,0x46,0x7c,0xc4,0x44,0x44,0x44,0x44,0x84,
-+0x10,0x13,0x10,0x11,0xff,0x12,0x32,0x3b,0x56,0x53,0x92,0x12,0x17,0x10,0x10,0x10,0x8,0xc8,0x88,0x10,0xfe,0x64,0x54,0xd4,0x54,0xd4,0x48,0x68,0xc8,0x54,0x52,0x60,
-+0x22,0x22,0x22,0x2f,0xf2,0x22,0x7f,0x6a,0xa2,0x2b,0x2a,0x2a,0x2e,0x2a,0x31,0x20,0x10,0x18,0x14,0x94,0x7e,0x50,0xd0,0x54,0x54,0xc8,0x6a,0x56,0x20,0x6,0xfc,0x0,
-+0x14,0xff,0x14,0x3f,0x41,0xbd,0x25,0x3d,0x2,0x1,0xff,0x3,0xd,0x31,0xc1,0x1,0x20,0x24,0x3e,0x44,0xa4,0x28,0x10,0x28,0x46,0x0,0xfe,0x80,0x40,0x30,0xe,0x0,
-+0x1,0x3f,0x9,0x7f,0x40,0x9f,0x8,0x1f,0x68,0xf,0x1,0xff,0x5,0x19,0x61,0x1,0x0,0xf8,0x20,0xfe,0x2,0xf4,0x0,0xf0,0x10,0xf0,0x4,0xfe,0x40,0x30,0xe,0x0,
-+0x20,0x20,0x2f,0x28,0xfa,0x29,0x6f,0x78,0x6a,0xaa,0x2b,0x28,0x28,0x28,0x29,0x32,0x0,0x4,0xfe,0x8,0x28,0x48,0xee,0x92,0xa4,0xa8,0xe8,0xa8,0x88,0x94,0x14,0x22,
-+0x10,0x10,0x10,0x11,0xfd,0x13,0x35,0x39,0x55,0x51,0x91,0x11,0x11,0x12,0x12,0x14,0xa0,0x90,0x84,0xfe,0x10,0x10,0xfc,0x10,0xfc,0x10,0x14,0xfe,0x0,0xa8,0xa6,0x2,
-+0x10,0x10,0x11,0x12,0xfd,0x10,0x3a,0x36,0x53,0x50,0x97,0x14,0x14,0x15,0x14,0x14,0x40,0xa0,0x10,0x48,0xf6,0xa0,0x48,0xa8,0xf8,0x44,0xfe,0x44,0xa4,0xf4,0x14,0x8,
-+0x11,0x11,0x12,0x17,0xfc,0x17,0x3c,0x37,0x50,0x5f,0x90,0x13,0x12,0x13,0x12,0x13,0x0,0xf0,0x24,0xfe,0x44,0xfc,0x44,0xfc,0x0,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,
-+0x11,0x10,0x17,0x10,0xff,0x12,0x33,0x3a,0x56,0x52,0x93,0x10,0x1f,0x12,0x11,0x10,0x10,0xa0,0xfc,0xa0,0xf8,0xa8,0x38,0x8,0xe8,0x8,0xf8,0x10,0xfe,0x10,0x50,0x20,
-+0x10,0x13,0x12,0x13,0xfe,0x13,0x32,0x3b,0x56,0x52,0x92,0x12,0x13,0x14,0x18,0x10,0x4,0xfe,0x4,0xfc,0x20,0xac,0x70,0xac,0x20,0xa8,0xfc,0x20,0xfe,0x20,0x20,0x20,
-+0x10,0x13,0x10,0x10,0xff,0x10,0x33,0x38,0x57,0x54,0x95,0x17,0x15,0x15,0x14,0x14,0x0,0xf8,0x90,0x60,0xfe,0xc4,0x48,0x44,0xfe,0xa4,0x14,0xfc,0x14,0xf4,0x14,0x8,
-+0x20,0x22,0x22,0x22,0xf4,0x2f,0x32,0x6c,0x64,0xaf,0x20,0x23,0x2c,0x20,0x21,0x20,0x40,0x78,0x48,0x48,0xf8,0x8,0xfe,0x20,0x54,0xb8,0x50,0xb8,0x54,0x92,0x10,0x30,
-+0x10,0x13,0x10,0x17,0xfd,0x14,0x31,0x38,0x57,0x52,0x92,0x13,0x12,0x12,0x13,0x12,0x10,0xf8,0x40,0xfe,0x52,0xe4,0x50,0x40,0xf8,0x48,0x48,0xf8,0x48,0x48,0xf8,0x8,
-+0x10,0x10,0x11,0x13,0xfe,0x13,0x33,0x3a,0x56,0x52,0x92,0x12,0x14,0x14,0x18,0x10,0x80,0xf8,0x10,0xfe,0x88,0x24,0xfe,0x0,0xfc,0x0,0xfc,0x0,0xfc,0x84,0xfc,0x84,
-+0x10,0x1f,0x10,0x17,0xfd,0x15,0x35,0x3f,0x50,0x53,0x90,0x1f,0x11,0x12,0x15,0x10,0x40,0xfe,0x0,0xfc,0x14,0xf4,0x14,0xfc,0x0,0xf8,0x0,0xfe,0x50,0x4c,0x44,0x80,
-+0x0,0x3e,0x23,0x3e,0x20,0x3f,0x62,0xa2,0x3e,0x1,0xff,0x3,0xd,0x31,0xc1,0x1,0x20,0x28,0xfc,0x88,0x50,0xfe,0x20,0xf8,0x20,0x24,0xfe,0x80,0x40,0x30,0xe,0x0,
-+0x10,0x14,0x17,0x15,0xf9,0x12,0x35,0x3b,0x52,0x54,0x9b,0x10,0x11,0x12,0x14,0x10,0x80,0x40,0xfe,0x2,0xbc,0xa8,0xb0,0x10,0xe8,0x6,0xf8,0x40,0x50,0x4c,0x44,0xc0,
-+0x0,0x22,0x14,0xff,0x14,0x7f,0x55,0x55,0x67,0x41,0x7f,0x41,0x41,0x7f,0x40,0x1,0x20,0x28,0x24,0xa4,0x20,0xfe,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x8e,0x4,
-+0x8,0x7f,0x8,0x3e,0x8,0x7f,0x10,0x1e,0x22,0x4a,0x5,0xff,0x1,0x2,0xc,0x70,0x40,0x44,0x7e,0x48,0x88,0x28,0x10,0x28,0x46,0x90,0x8,0xfe,0x0,0x80,0x70,0xe,
-+0x0,0x4,0xfe,0x20,0x20,0x3d,0x26,0x45,0x64,0x98,0x8,0x10,0x10,0x20,0x41,0x6,0x8,0xfc,0x88,0x88,0x88,0xe,0x0,0xf8,0x8,0x88,0x50,0x20,0x50,0x90,0xe,0x4,
-+0x0,0x5,0xff,0x21,0x21,0x3d,0x25,0x45,0x65,0x99,0x9,0x11,0x11,0x21,0x47,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0xfe,0x0,
-+0x0,0x4,0xfe,0x21,0x22,0x3c,0x24,0x45,0x64,0x98,0x9,0x11,0x12,0x24,0x41,0x0,0x80,0x84,0xfe,0x0,0xf8,0x10,0x24,0xfe,0x94,0x94,0x24,0x24,0x44,0x84,0x28,0x10,
-+0x0,0x4,0xfe,0x20,0x21,0x3e,0x24,0x44,0x67,0x98,0x8,0x11,0x10,0x20,0x41,0x6,0x40,0x40,0xa0,0xa0,0x18,0x26,0x40,0x88,0x10,0x20,0x44,0x88,0x10,0x60,0x80,0x0,
-+0x0,0x5,0xff,0x21,0x21,0x3c,0x25,0x45,0x65,0x99,0x9,0x11,0x11,0x20,0x40,0x3,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x4,0x24,0x24,0x24,0x24,0x24,0x50,0x8c,0x4,
-+0x0,0x4,0xfe,0x20,0x21,0x3e,0x25,0x44,0x64,0x99,0x9,0x11,0x11,0x20,0x47,0x0,0x20,0x20,0x50,0x88,0x4,0xa,0xfc,0x0,0x44,0x24,0x24,0x28,0x28,0x10,0xfe,0x0,
-+0x0,0x5,0xfe,0x21,0x20,0x3c,0x25,0x44,0x64,0x98,0xb,0x10,0x10,0x20,0x40,0x0,0x1c,0xe0,0x0,0x24,0xa8,0x0,0xfc,0x8,0x30,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x1,0x4,0xfe,0x21,0x21,0x3d,0x25,0x45,0x65,0x99,0x8,0x10,0x13,0x20,0x40,0x0,0x4,0x88,0x10,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,
-+0x0,0x5,0xfe,0x20,0x20,0x3b,0x2a,0x4a,0x6a,0x9a,0xb,0x12,0x10,0x20,0x4f,0x0,0x0,0xfc,0x8,0x10,0x20,0xbe,0xa2,0xb4,0xb4,0xa8,0xb6,0x22,0xa0,0x44,0xfe,0x0,
-+0x0,0x4,0xff,0x22,0x24,0x3d,0x25,0x45,0x65,0x99,0x9,0x17,0x10,0x21,0x42,0x4,0x80,0x40,0xfe,0x2,0x34,0xc0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x0,0xb,0xfc,0x21,0x20,0x3b,0x2a,0x4d,0x68,0x99,0x9,0x11,0x10,0x20,0x47,0x0,0x20,0xfe,0x20,0xfc,0x0,0xfe,0x2,0xfc,0x0,0xfc,0x4,0xfc,0x88,0x50,0xfe,0x0,
-+0x10,0x10,0x15,0xfe,0x20,0x28,0x48,0x7e,0x9,0x8,0xe,0xf8,0x48,0x8,0x9,0x8,0x0,0x4,0xfe,0x24,0x24,0xa4,0xa4,0xa4,0x24,0x24,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x20,0x21,0x29,0xfd,0x41,0x51,0x91,0xfd,0x11,0x11,0x1d,0xf2,0x52,0x14,0x18,0x10,0x4,0xfe,0x0,0x0,0x4,0x7e,0x44,0x44,0x44,0x54,0x48,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x14,0xfe,0x23,0x28,0x48,0x7e,0x9,0x9,0xf,0xf9,0x49,0x9,0x9,0x9,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x15,0xfe,0x20,0x29,0x49,0x7f,0x9,0x9,0xf,0xf9,0x48,0x8,0x8,0x8,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0xe8,0x28,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x14,0xfe,0x20,0x29,0x49,0x7f,0x9,0x9,0xf,0xf9,0x49,0xa,0xa,0xc,0x20,0x24,0x3e,0x20,0x24,0xfe,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x10,0x14,0xfe,0x20,0x28,0x48,0x7e,0x8,0x8,0xe,0xf8,0x48,0x8,0x9,0xa,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,0x48,0x48,0x84,0x6,0x2,
-+0x10,0x10,0x14,0xfe,0x20,0x29,0x48,0x7e,0x9,0x8,0xe,0xf8,0x48,0x8,0x8,0xb,0x20,0xa0,0xa0,0xa8,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x88,0x8e,0x4,
-+0x20,0x20,0x28,0xfc,0x41,0x52,0x94,0xfc,0x11,0x10,0x18,0xf1,0x50,0x10,0x11,0x16,0x40,0x40,0xa0,0xa0,0x18,0x26,0x40,0x80,0x10,0x20,0x40,0x88,0x10,0x60,0x80,0x0,
-+0x10,0x10,0x15,0xfe,0x20,0x29,0x48,0x7e,0x8,0x9,0xe,0xf8,0x48,0x8,0x8,0x8,0x8,0x1c,0xe0,0x20,0x24,0x24,0xa8,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x15,0xff,0x21,0x29,0x49,0x7f,0x9,0x8,0xe,0xf8,0x49,0xa,0x8,0x8,0x8,0x1c,0xe0,0x0,0x20,0x20,0x20,0x24,0xfe,0x20,0xa8,0xa4,0x26,0x22,0xa0,0x40,
-+0x10,0x11,0x14,0xfe,0x20,0x28,0x48,0x7e,0x9,0x8,0xe,0xf8,0x48,0x8,0x8,0x8,0x4,0xfe,0x44,0x44,0x44,0x44,0x94,0x88,0x4,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x10,0x10,0x14,0xfe,0x21,0x28,0x48,0x7d,0x8,0x8,0xe,0xf8,0x4b,0x8,0x8,0x8,0x10,0x18,0x14,0x14,0xfe,0x10,0x10,0xf0,0x90,0x90,0x90,0xf0,0x88,0xa,0x6,0x2,
-+0x10,0x13,0x14,0xfe,0x20,0x29,0x49,0x7e,0x8,0x8,0xf,0xf8,0x48,0x8,0xb,0x8,0x4,0xfe,0x40,0x40,0x88,0x4,0xfe,0x22,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x14,0xfe,0x20,0x29,0x4a,0x7e,0x8,0x8,0xe,0xf8,0x48,0x8,0xb,0x8,0x20,0x20,0x50,0x50,0x88,0x4,0xfa,0x20,0x20,0x20,0xf8,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x14,0xff,0x21,0x2a,0x48,0x7e,0x8,0x9,0xf,0xf9,0x49,0x9,0x9,0x9,0x80,0x80,0xfc,0x4,0x88,0x50,0x20,0x50,0x88,0x6,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x13,0x15,0xff,0x21,0x29,0x49,0x7f,0x9,0x9,0xf,0xf9,0x4b,0x9,0x8,0x8,0x4,0xfe,0x20,0x28,0xe8,0x28,0x28,0x28,0xe8,0x28,0x28,0x3a,0xea,0x2e,0x20,0x20,
-+0x8,0x8,0x7e,0x8,0x7e,0x14,0x22,0x42,0x3f,0x5,0x9,0x1f,0x1,0xff,0x1,0x1,0x20,0x20,0xfc,0x20,0xfc,0x50,0x88,0x6,0xf8,0x0,0x20,0xf0,0x4,0xfe,0x0,0x0,
-+0x20,0x20,0x2b,0xfe,0x42,0x52,0x93,0xfe,0x12,0x13,0x1e,0xf2,0x52,0x12,0x12,0x12,0x0,0x4,0xfe,0x4,0x94,0x94,0xfc,0x44,0x24,0xfc,0x84,0x84,0xf4,0x4,0x14,0x8,
-+0x20,0x2f,0x24,0xfd,0x42,0x55,0x90,0xf8,0x17,0x10,0x18,0xf5,0x52,0x15,0x18,0x10,0x0,0xfc,0xa4,0x28,0x10,0x28,0xc4,0x0,0xbc,0x84,0xc4,0x28,0x10,0x28,0xce,0x84,
-+0x20,0x21,0x29,0xfe,0x42,0x51,0x91,0xfc,0x11,0x11,0x1d,0xf1,0x51,0x11,0x11,0x11,0x0,0x24,0x24,0x48,0x48,0x24,0x24,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x13,0xfe,0x21,0x28,0x4b,0x7e,0x8,0x9,0xe,0xf9,0x48,0x8,0x8,0xb,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x50,0x88,0xfc,0x22,0xfc,0x20,0x58,0x86,0x2,
-+0x20,0x20,0x2b,0xfe,0x42,0x53,0x92,0xfe,0x13,0x12,0x1e,0xf2,0x52,0x12,0x14,0x10,0x40,0x24,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x92,0x94,0xf8,0x90,0xb2,0xd2,0x8e,
-+0x20,0x22,0x29,0xff,0x41,0x52,0x94,0xfa,0x13,0x12,0x1a,0xf5,0x51,0x11,0x12,0x14,0x40,0x48,0x50,0xfe,0x50,0x4c,0x44,0x8,0xbe,0x88,0xa8,0xa8,0x3e,0x8,0x8,0x8,
-+0x1,0x7f,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x1,0xff,0x1,0x1f,0x10,0x10,0x1f,0x10,0x0,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x4,0x4,0x4,0x4,0x7f,0x4,0x2,0x2,0xff,0x1,0x1,0x0,0x1,0x6,0x38,0x0,0x0,0x80,0x48,0xfc,0x0,0x0,0x4,0xfe,0x0,0x10,0x20,0xc0,0x80,0x44,0x24,0x1c,
-+0x8,0x8,0x14,0x13,0x21,0x40,0xbf,0x22,0x22,0x2a,0x24,0x20,0x22,0x22,0x1e,0x0,0x40,0x50,0x48,0x48,0x40,0x7e,0xc0,0x24,0x24,0x28,0x28,0x10,0x12,0x2a,0x4a,0x84,
-+0x0,0x7f,0x1,0xf,0x8,0xf,0x8,0xf,0x8,0xf,0x1,0xff,0x1,0x0,0x7,0x38,0x8,0xfc,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x44,0xfe,0x20,0xc4,0x44,0x3c,
-+0x8,0x9,0xff,0x8,0x9,0x7f,0x41,0x7f,0x41,0x7f,0x8,0x9,0xff,0x8,0x8,0x9,0x20,0x28,0xa4,0x24,0x20,0xfe,0x20,0x20,0x24,0x24,0x28,0x10,0xb2,0x4a,0x8a,0x4,
-+0x1,0x3f,0x21,0x3f,0x0,0xff,0x21,0x3f,0x21,0x3f,0x21,0x21,0xff,0x41,0x1,0x1,0x20,0xa8,0x24,0x24,0x20,0xfe,0x20,0x20,0x24,0x24,0x28,0x10,0xb2,0x4a,0x8a,0x4,
-+0x22,0x22,0xff,0x22,0x3e,0x22,0x3e,0x22,0x22,0xff,0x54,0x53,0x61,0x40,0x7f,0x1,0x20,0x28,0xa4,0x24,0x20,0xfe,0x20,0x20,0x24,0xa4,0x28,0x10,0x32,0x4a,0x8a,0x4,
-+0x1,0x7f,0x41,0x7f,0x41,0x7f,0x28,0x2a,0x3f,0x48,0xbe,0x8,0xf,0xf8,0x40,0x1,0x20,0xa8,0x24,0x24,0x20,0xfe,0x20,0x20,0x24,0x24,0x28,0x10,0x32,0x4a,0x8a,0x4,
-+0x1,0xff,0x21,0x22,0x3d,0x55,0x49,0x55,0x82,0x7f,0x55,0x55,0x55,0xff,0x0,0x1,0x20,0xa8,0x24,0x24,0x20,0xfe,0x20,0x20,0x24,0x24,0x28,0x10,0x32,0xca,0x8a,0x4,
-+0x2,0x7f,0x14,0x55,0x36,0x14,0xff,0x0,0x3e,0x22,0x22,0x3e,0x22,0x22,0x3e,0x1,0x20,0x28,0x24,0x24,0x20,0xfe,0x20,0x20,0x24,0x24,0x28,0x10,0x32,0x4a,0x8a,0x4,
-+0x0,0x0,0x1f,0x50,0x57,0x55,0x75,0x17,0xf4,0x54,0x57,0x95,0x25,0x27,0x40,0x80,0x28,0x24,0xfe,0x20,0xa0,0x20,0x24,0xa4,0xa8,0xa8,0x90,0x10,0x12,0xaa,0x4a,0x84,
-+0x0,0x3,0x7e,0x40,0x62,0x52,0x54,0x48,0x48,0x54,0x52,0x62,0x40,0x44,0x7e,0x0,0x4,0xfe,0x80,0x88,0xfc,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0xaa,0xca,0x86,0x2,
-+0x8,0xb,0x14,0x14,0x22,0x51,0x88,0x0,0x7e,0x2,0x24,0x14,0x8,0x4,0x4,0x0,0x4,0xfe,0x80,0x88,0xfc,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0xaa,0xca,0x86,0x2,
-+0x40,0x23,0xfe,0x0,0x44,0x28,0xfe,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x7c,0x44,0x4,0xfe,0x80,0x88,0xfc,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0xaa,0xca,0x86,0x2,
-+0x8,0x7f,0x8,0x7f,0x22,0x3e,0x14,0x7f,0x0,0xff,0x8,0xf,0x9,0x8,0xe,0x10,0x4,0x8,0x74,0x8,0x74,0x8,0x10,0x60,0x4,0xfe,0x0,0xe0,0x20,0xa4,0x24,0x1c,
-+0x44,0x29,0xfe,0x92,0xd6,0xba,0x92,0xfe,0x4,0x7e,0x44,0x7c,0x44,0x44,0x7c,0x0,0x4,0xfe,0x80,0x88,0xfc,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0xaa,0xca,0x86,0x2,
-+0x0,0x7f,0x42,0x7e,0x41,0x7e,0x62,0xbe,0x0,0xff,0x8,0xf,0x9,0x8,0xe,0x10,0x20,0xfc,0x88,0x50,0xfe,0x0,0xf8,0x20,0x24,0xfe,0x0,0xe0,0x20,0xa4,0x24,0x1c,
-+0x1,0x1,0x1,0x1,0x1,0x3f,0x0,0x8,0x8,0x4,0x2,0x1,0x2,0xc,0x30,0xc0,0x0,0x8,0xfc,0x0,0x0,0xf0,0x10,0x20,0x20,0x40,0x80,0x0,0xc0,0x30,0xe,0x4,
-+0x2,0x2,0x7f,0x4,0x4,0x8,0x10,0x20,0xdf,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x20,0xf0,0x20,0x20,0x22,0x22,0x1e,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x2,0x2,0x7f,0x4,0x4,0x8,0x10,0x60,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x0,0x20,0xf0,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x4,0x7f,0x44,0x44,0x44,0x44,0x7c,0x47,0x44,0x44,0x44,0x7c,0x44,0x0,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x1f,0x10,0x1f,0x10,0x1f,0x0,0x3f,0x1,0x1,0xff,0x1,0x2,0x4,0x18,0x60,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x0,0x4,0xfe,0x0,0x80,0x60,0x1c,0x8,
-+0x0,0x1f,0x10,0x1f,0x10,0x1f,0x0,0x3f,0x0,0x0,0xff,0x2,0x4,0x8,0x1f,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xf8,0x0,0x4,0xfe,0x0,0x40,0x20,0xf0,0x10,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x1,0x1,0xff,0x3,0x5,0x19,0x61,0x1,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x0,0x4,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x0,0x1f,0x10,0x1f,0x10,0x1f,0x0,0x3f,0x20,0x20,0x21,0x21,0x42,0x44,0x88,0x10,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x80,0x80,0x40,0x40,0x20,0x10,0xe,0x4,
-+0x0,0x4,0x7f,0x45,0x45,0x45,0x45,0x7d,0x45,0x45,0x45,0x45,0x7d,0x41,0x2,0x4,0x8,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x0,0x4,0x7e,0x44,0x45,0x46,0x44,0x7c,0x44,0x44,0x45,0x44,0x7c,0x44,0x0,0x0,0x80,0x80,0x84,0xfe,0x4,0x84,0x44,0x44,0x14,0x64,0x84,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x1f,0x10,0x1f,0x10,0x1f,0x1,0x1,0x9,0xa,0x12,0x24,0x4,0x8,0x10,0x60,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0x8,0x18,0xa0,0xc0,0x40,0x20,0x10,0xe,0x4,
-+0x0,0x1f,0x10,0x1f,0x10,0x1f,0x8,0x1f,0x21,0x61,0xa2,0x24,0x20,0x3f,0x0,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x4,0x4,0xc4,0x44,0x4,0xc4,0x28,0x10,
-+0x10,0x1e,0x22,0x34,0x48,0x16,0x21,0x40,0x9f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x40,0x40,0x60,0x58,0x40,0x46,0xfc,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x4,0x78,0x42,0x42,0x4e,0x72,0x2,0x4,0x18,0x60,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x84,0x84,0x84,0xa4,0x98,0x80,0x80,0x80,
-+0x0,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x2,0x1,0x7f,0x8,0x4,0x4,0xff,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x0,0x8,0xfc,0x20,0x20,0x44,0xfe,0x0,
-+0x10,0xc,0x0,0x3c,0x4,0x5,0x7e,0x16,0x15,0x15,0x24,0x24,0x44,0x84,0x14,0x8,0x0,0x4,0x7e,0x44,0xc4,0x44,0x7c,0x44,0x44,0x44,0xfc,0x84,0x40,0x30,0xe,0x4,
-+0x0,0x5,0x7f,0x45,0x45,0x45,0x45,0x7d,0x45,0x45,0x45,0x45,0x7e,0x42,0x4,0x8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x40,0x44,0x4c,0x50,0x60,0x40,0x42,0x42,0x3e,0x0,
-+0x2,0x3f,0x2,0xff,0x1,0xa,0xf,0x38,0xc7,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0xe0,0x44,0xfe,0x0,0x70,0x84,0x4,0xfc,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x0,0x3f,0x20,0x3e,0x22,0x22,0x2a,0x44,0x41,0x80,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x90,0xfc,0x80,0x88,0x50,0x60,0x40,0xa2,0x12,0xe,
-+0x0,0x8,0x7d,0x49,0x4b,0x4d,0x49,0x79,0x49,0x48,0x4f,0x48,0x78,0x48,0x0,0x0,0xa0,0xa4,0x2c,0x30,0x20,0x62,0xa2,0x1e,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x0,0x3f,0x20,0x3f,0x20,0x3f,0x2,0x22,0x12,0x16,0xa,0x72,0x2,0x4,0x18,0x60,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x80,0x90,0xa0,0xc0,0xa0,0x98,0x8a,0x82,0x7e,0x0,
-+0x0,0x1f,0x10,0x1f,0x10,0x1f,0x1,0x3f,0x22,0x42,0xff,0x4,0xc,0x3,0x4,0x18,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xfc,0x4,0x8,0xfe,0x20,0x40,0x80,0x60,0x10,
-+0x0,0x3,0x7a,0x4a,0x48,0x4b,0x48,0x79,0x4b,0x48,0x48,0x4b,0x78,0x48,0x0,0x0,0x0,0xfe,0x2,0x44,0x40,0xfc,0x80,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x78,0x4f,0x48,0x4b,0x4a,0x7a,0x4b,0x4a,0x4a,0x4b,0x7a,0x4a,0x2,0x2,0x50,0x48,0x40,0xfe,0x48,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x48,0x48,0x68,0x50,
-+0x0,0x8,0x7c,0x48,0x49,0x4a,0x4c,0x7b,0x48,0x48,0x4b,0x4a,0x7a,0x4a,0x3,0x2,0x40,0x40,0xa0,0xa0,0x90,0x4e,0x4,0xf0,0x20,0x48,0xfc,0x8,0x8,0x8,0xf8,0x8,
-+0x1f,0x10,0x1f,0x10,0x1f,0x8,0x1f,0x22,0xd4,0x8,0x37,0xc0,0x1f,0x10,0x10,0x1f,0xf0,0x10,0xf0,0x10,0xf0,0x40,0x60,0x58,0x40,0x46,0xfc,0x8,0xfc,0x8,0x8,0xf8,
-+0x0,0x8,0x7f,0x4c,0x4b,0x48,0x4b,0x7a,0x4a,0x4b,0x4a,0x4a,0x7b,0x40,0xf,0x0,0x80,0x40,0xfe,0x2,0xfc,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfe,0x0,
-+0x0,0xb,0x7c,0x4a,0x49,0x49,0x4a,0x7d,0x48,0x48,0x4f,0x48,0x78,0x49,0x2,0x4,0x20,0xa8,0xb4,0xa8,0x10,0x10,0xe,0xf4,0x40,0x44,0xfe,0x40,0xa0,0x10,0xc,0x4,
-+0x0,0xb,0x7d,0x48,0x4f,0x4c,0x48,0x7b,0x48,0x48,0x49,0x49,0x7a,0x4c,0x1,0x6,0x1c,0xe0,0x24,0xa8,0xfe,0x42,0x44,0xfe,0x80,0xf8,0x8,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x3,0x7a,0x4c,0x4b,0x4a,0x4b,0x7a,0x4b,0x48,0x48,0x4f,0x78,0x49,0x2,0x4,0x0,0xfc,0x4,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x80,0x44,0xfe,0x0,0x10,0xc,0x4,
-+0x2,0x11,0x7f,0x50,0x57,0x54,0x54,0x77,0x50,0x5f,0x50,0x51,0x7f,0x51,0x5,0x2,0x10,0x10,0xd4,0x1e,0xa4,0xc4,0xa4,0xa4,0x24,0xa8,0x90,0x50,0xa8,0x28,0x44,0x82,
-+0x0,0x7,0x70,0x5f,0x50,0x57,0x55,0x75,0x57,0x50,0x57,0x50,0x7f,0x55,0x4,0x8,0x1c,0xe0,0x44,0xfe,0x40,0xfc,0x54,0x54,0xfc,0x40,0xfc,0x40,0xfe,0x24,0x92,0x92,
-+0x0,0x7,0x78,0x4a,0x49,0x4a,0x48,0x79,0x49,0x4b,0x4d,0x49,0x79,0x49,0x1,0x1,0x84,0xbe,0x84,0x94,0x8c,0x94,0xa4,0x10,0xfe,0x10,0xfc,0x10,0xfc,0x10,0xfe,0x0,
-+0x1,0x7,0x78,0x4b,0x48,0x4f,0x48,0x7b,0x49,0x4f,0x4d,0x4f,0x7a,0x4b,0x0,0x1,0x10,0xfc,0x40,0xf8,0x40,0xfc,0x10,0xd8,0x14,0xfe,0x10,0x94,0x8,0x9a,0xaa,0x84,
-+0x3f,0x20,0x3f,0x20,0x3f,0x1,0xff,0x4,0x3f,0x4,0x3f,0x4,0x7f,0xd,0x74,0x6,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfe,0x40,0xf8,0x40,0xf8,0x40,0xfc,0x10,0xe0,0x1e,
-+0x1,0x1,0x3f,0x1,0x8,0xff,0x8,0x8,0x1f,0x10,0x11,0x11,0x11,0x2,0x4,0x38,0x0,0x10,0xf8,0x0,0x24,0xfe,0x20,0x20,0xf0,0x10,0x10,0x10,0x10,0xc0,0x20,0x18,
-+0x12,0x12,0xff,0x12,0x13,0x10,0x1f,0x0,0x1f,0x10,0x11,0x11,0x11,0x2,0x4,0x38,0x20,0x24,0xfe,0x20,0xe0,0x0,0xf8,0x0,0xf0,0x10,0x10,0x10,0x10,0xc0,0x20,0x18,
-+0x0,0x7d,0x45,0x55,0x55,0x55,0x55,0x55,0x54,0x54,0x54,0x10,0x28,0x25,0x42,0x84,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x90,0x90,0x90,0x90,0x92,0x12,0x12,0x1e,
-+0x4,0x7e,0x44,0x54,0x55,0x57,0x54,0x54,0x55,0x55,0x55,0x11,0x29,0x25,0x45,0x81,0x20,0x20,0x40,0x88,0x4,0xfe,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0xfd,0x10,0x1d,0xf0,0x11,0x62,0x1f,0x10,0x11,0x11,0x11,0x2,0xc,0x30,0x40,0x48,0xfc,0x48,0xc8,0xa8,0xa,0x6,0xf0,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x8,0x8,0x2e,0x28,0x28,0x2e,0xf0,0x0,0x1f,0x10,0x11,0x11,0x11,0x2,0x4,0x38,0x80,0x84,0x98,0xe0,0x82,0x82,0x7e,0x10,0xf8,0x10,0x10,0x10,0x10,0xc0,0x30,0x8,
-+0x4,0x7e,0x44,0x57,0x54,0x54,0x54,0x55,0x54,0x54,0x54,0x11,0x28,0x24,0x44,0x81,0x40,0x20,0x4,0xfe,0x40,0x44,0x88,0xf4,0x24,0x48,0x88,0x10,0x28,0x44,0x82,0x2,
-+0x4,0x7e,0x44,0x54,0x54,0x54,0x54,0x55,0x55,0x56,0x54,0x10,0x28,0x24,0x44,0x80,0x4,0xfe,0x84,0x84,0xfc,0xa0,0x90,0x8,0x4e,0x24,0x20,0x0,0xc0,0x30,0x18,0x8,
-+0x0,0x7d,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x11,0x2a,0x24,0x48,0x80,0x4,0xfe,0x0,0x0,0x7c,0x0,0x0,0xfe,0x52,0x54,0x48,0x48,0x44,0x54,0x62,0x40,
-+0x1,0x1,0x7f,0x9,0x5,0xff,0x5,0x9,0x3f,0xd0,0x11,0x11,0x11,0x12,0x4,0x38,0x0,0x8,0xfc,0x20,0x44,0xfe,0x40,0x20,0xf8,0x16,0x10,0x10,0x10,0xc0,0x20,0x18,
-+0x4,0x7e,0x44,0x57,0x54,0x55,0x54,0x54,0x54,0x54,0x54,0x13,0x28,0x24,0x44,0x80,0x20,0x28,0x24,0xfe,0x20,0x24,0xa8,0xb0,0x30,0x68,0xa8,0x24,0x22,0x20,0xa0,0x40,
-+0x1,0x1,0x7f,0x9,0x9,0x15,0x7f,0x40,0x9f,0x10,0x11,0x11,0x11,0x2,0x4,0x38,0x0,0x8,0xfc,0x20,0x20,0x50,0xfe,0x2,0xf4,0x10,0x10,0x10,0x10,0xc0,0x20,0x18,
-+0x4,0x7e,0x44,0x54,0x55,0x54,0x54,0x55,0x54,0x54,0x54,0x11,0x28,0x24,0x44,0x83,0x20,0x24,0xac,0xb0,0x20,0x50,0x4c,0xa4,0x20,0xa4,0xa8,0x30,0x50,0x48,0x8e,0x4,
-+0x0,0x7c,0x47,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x13,0x29,0x24,0x44,0x80,0x30,0x28,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0x8,0xfe,0x8,0x88,0xa8,0x10,
-+0x10,0x11,0x15,0x1f,0x11,0x11,0x15,0x7f,0x45,0x45,0x45,0x44,0x7c,0x44,0x1,0x6,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x34,0x50,0x50,0x92,0x12,0xe,
-+0x8,0x49,0x49,0x49,0x7f,0x0,0x7f,0x1,0x1,0x3f,0x21,0x20,0x23,0x2c,0x30,0x3,0x4,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x18,0x28,0x28,0x4a,0x8a,0x6,
-+0x0,0x1,0xff,0x8,0x8,0x2a,0x2a,0x2a,0x5d,0x88,0x8,0xf,0xf8,0x40,0x0,0x3,0x4,0x7e,0xc4,0x54,0x54,0x54,0x54,0x54,0x54,0xd4,0x18,0xa8,0x28,0x4a,0x8a,0x6,
-+0x8,0xa,0x7f,0x8,0x8,0xff,0x25,0x14,0x64,0x14,0xff,0x4,0x8,0xc,0x12,0x61,0x4,0x7e,0x44,0x54,0x54,0xd4,0x54,0x54,0x54,0x54,0x18,0x28,0x28,0x4a,0x8a,0x6,
-+0x8,0x8,0x14,0x14,0x22,0x7f,0x80,0x71,0x55,0x75,0x55,0x75,0x51,0x55,0x52,0x3,0x4,0x7e,0x44,0x54,0x54,0x54,0xd4,0x54,0x54,0x54,0x18,0x28,0x28,0x4a,0x8a,0x6,
-+0x14,0x14,0x7f,0x14,0x7f,0x14,0xff,0x8,0x7f,0x49,0x7f,0x49,0xff,0x41,0x45,0x43,0x4,0x7e,0x44,0x54,0x54,0x54,0xd4,0x54,0x54,0x54,0x18,0x28,0xa8,0x4a,0x8a,0x6,
-+0x22,0x22,0xff,0x22,0x3e,0x8,0x7f,0x49,0x7f,0x8,0x7f,0x8,0x7f,0x8,0xff,0x1,0x4,0x7e,0xc4,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x18,0x28,0x28,0x4a,0x8a,0x6,
-+0xa,0xf,0x8,0x7f,0x49,0x4e,0x79,0x4f,0x40,0x4a,0x6a,0x5b,0x4a,0x4a,0xbf,0x1,0x4,0x7e,0x44,0xd4,0x54,0x54,0x54,0x54,0x54,0x54,0x98,0x28,0x28,0x4a,0x8a,0x6,
-+0x8,0x8,0x8,0x17,0x30,0x50,0x91,0x19,0x9,0xf,0x11,0x21,0xff,0x1,0x1,0x1,0xa0,0x94,0x9e,0xe0,0x80,0x44,0x34,0xc,0x20,0xf0,0x0,0x4,0xfe,0x0,0x0,0x0,
-+0x7d,0x5,0x7d,0x44,0x41,0x7d,0x5,0x28,0x13,0x11,0x1f,0x21,0xff,0x1,0x1,0x1,0xfc,0x4,0xfc,0x20,0xfc,0x24,0xfc,0x28,0xfc,0x2,0xf8,0x0,0xfe,0x0,0x0,0x0,
-+0x8,0x8,0x28,0x28,0x3e,0x48,0x48,0x88,0xe,0x18,0x68,0x8,0x8,0x8,0x8,0x8,0x80,0x80,0x80,0x84,0x8c,0x90,0xa0,0xc0,0x80,0x80,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x8,0x8,0x2b,0x28,0x3e,0x48,0x49,0x88,0xe,0x18,0x6b,0x8,0x8,0x8,0x8,0x8,0x8,0x1c,0xe0,0x40,0x40,0x5c,0xe0,0x40,0x44,0x7e,0xc0,0x40,0x42,0x42,0x3e,0x0,
-+0x8,0x8,0x28,0x28,0x3e,0x4b,0x48,0x88,0xe,0x19,0x69,0x9,0x9,0x9,0x9,0x9,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0xb,0x28,0x28,0x3f,0x48,0x48,0x88,0xf,0x18,0x69,0x9,0x9,0x9,0x9,0x9,0x8,0xfc,0x40,0x48,0xfc,0x88,0x88,0x88,0xfe,0x0,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x28,0x28,0x3e,0x49,0x48,0x8b,0xe,0x18,0x69,0x9,0x9,0x9,0x9,0x9,0x20,0x20,0xa0,0xa8,0xfc,0x20,0x24,0xfe,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0x2b,0x28,0x3e,0x49,0x4f,0x88,0xd,0x19,0x69,0x9,0x9,0x8,0x8,0x8,0x40,0x48,0xfc,0xa0,0x98,0x8,0xfe,0x8,0xe8,0x28,0x28,0x28,0xe8,0x8,0x28,0x10,
-+0x8,0x9,0x29,0x29,0x3f,0x49,0x4b,0x8d,0x9,0x19,0x6f,0x8,0x9,0x9,0xa,0xc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x8,0xfe,0x0,0x10,0x8,0x4,0x4,
-+0x10,0x10,0x57,0x51,0x7d,0x92,0x14,0x17,0x19,0x35,0xd5,0x12,0x13,0x12,0x14,0x18,0x10,0x10,0x7c,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x10,0xfe,0x10,0x10,0x96,0x7c,0x0,
-+0x10,0x10,0x53,0x52,0x7e,0x93,0x12,0x12,0x1f,0x33,0xd3,0x15,0x15,0x19,0x11,0x11,0x40,0x24,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x54,0x54,0xfc,0x54,0x54,0x54,0xc,
-+0x10,0x10,0x5f,0x50,0x7b,0x92,0x13,0x10,0x1f,0x34,0xd5,0x15,0x15,0x15,0x14,0x14,0x80,0x44,0xfe,0x0,0xf8,0x8,0xf8,0x0,0xfc,0x4,0xf4,0x14,0x14,0xf4,0x14,0x8,
-+0x8,0x7f,0x8,0x3e,0x8,0x7e,0x9,0x0,0x7f,0x1,0x3f,0x1,0xff,0x1,0x5,0x2,0x4,0xfe,0x44,0x44,0x44,0x94,0x8,0xf0,0x0,0x10,0xf8,0x0,0xfe,0x0,0x0,0x0,
-+0x10,0x9,0x41,0x26,0x8,0x70,0x23,0xc,0x7f,0x1,0x3f,0x1,0xff,0x1,0x5,0x2,0x40,0x50,0x4c,0x54,0x60,0xc0,0x0,0xf0,0x0,0x10,0xf8,0x0,0xfe,0x0,0x0,0x0,
-+0x0,0xc,0xf2,0x12,0x14,0x78,0x17,0x12,0x1e,0xf2,0x12,0x14,0x24,0x29,0x40,0x0,0x0,0x86,0xb8,0x88,0x48,0x3e,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0x28,0x10,
-+0x0,0xd,0xf1,0x12,0x14,0x78,0x17,0x10,0x17,0xfc,0x14,0x14,0x24,0x27,0x20,0x40,0x0,0x6,0x38,0x88,0x48,0x3e,0xc8,0x8,0xc8,0x7e,0x48,0x48,0x48,0xc8,0x28,0x10,
-+0x0,0x3e,0x23,0x3e,0x21,0x3e,0x62,0xbe,0x0,0x3f,0x1,0x1f,0x1,0xff,0x1,0x3,0x40,0x28,0xfc,0x50,0xfe,0x20,0xf8,0x20,0x20,0xf8,0x0,0xf0,0x4,0xfe,0x0,0x0,
-+0x2,0x3f,0x2,0xff,0x2,0xf,0x34,0xc7,0x0,0x3f,0x2,0x1f,0x2,0xff,0x2,0x1,0x20,0xc0,0x84,0xfe,0x0,0xe0,0x8,0xf8,0x30,0xc0,0x0,0xf0,0x0,0xfa,0x2,0xfe,
-+0x4,0x1e,0xf0,0x10,0x11,0x10,0x7d,0x11,0x11,0x1e,0xf3,0x10,0x10,0x10,0xf,0x0,0x40,0x40,0x88,0x84,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x22,0x22,0xfe,0x0,
-+0x3f,0x1,0x1f,0x1,0x7f,0x1,0x0,0x4,0x79,0x10,0x7c,0x10,0xff,0x10,0x14,0x18,0xf8,0x0,0xf0,0x0,0xf8,0x2,0xfe,0x0,0xf8,0x40,0xf8,0x40,0xfc,0x40,0x42,0x3e,
-+0x0,0x18,0xe0,0x2e,0x23,0x24,0xf4,0x2e,0x22,0x22,0xfb,0x24,0x2a,0x31,0x20,0x1f,0x20,0x28,0xfc,0x28,0xfe,0x28,0xf8,0x20,0xf8,0x20,0xfc,0x20,0x22,0xfe,0x2,0xfe,
-+0x10,0x10,0x25,0x7e,0x10,0xff,0x28,0x4c,0x92,0x24,0x49,0x12,0x64,0x8,0x30,0xc0,0x8,0x3c,0xe0,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x22,0x22,0x1e,
-+0x8,0x8,0x15,0x22,0x7f,0x80,0x71,0x55,0x55,0x75,0x55,0x55,0x75,0x51,0x55,0x52,0x8,0x3c,0xe0,0x20,0x20,0xa8,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x22,0x22,0x1e,
-+0x8,0x49,0x2a,0x7f,0x41,0x5d,0x55,0x5d,0x41,0x3f,0x2,0x1f,0x2,0xff,0x2,0x1,0x20,0x20,0x24,0x7e,0xa8,0x10,0x28,0xc6,0x30,0xc0,0x0,0xf0,0x0,0xfa,0x2,0xfe,
-+0x1,0x39,0xe2,0x27,0x2a,0x23,0xf2,0x2f,0x20,0x23,0xfa,0x23,0x22,0x23,0x20,0x1f,0x0,0xf0,0x20,0xf8,0x48,0xf8,0x48,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xfa,0x2,0xfe,
-+0x2,0x39,0xe7,0x21,0x25,0x23,0xf1,0x2f,0x20,0x23,0xfa,0x23,0x22,0x23,0x20,0x1f,0x10,0x20,0xfc,0x20,0x28,0x30,0x24,0xfe,0x0,0xf0,0x10,0xf0,0x10,0xf2,0x2,0xfe,
-+0x77,0x55,0x77,0x55,0x77,0x55,0x77,0x24,0x3f,0x64,0x7f,0xa4,0x3f,0x24,0x3f,0x20,0x8,0x3c,0xe0,0x20,0x20,0x28,0xfc,0x20,0xa0,0x24,0xfe,0x20,0x20,0x22,0xa2,0x1e,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x2,0x2,0x2,0x2,0x2,0x4,0x4,0x8,0x10,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xa,0xa,0x4,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x8,0x8,0x8,0x8,0x8,0x10,0x10,0x20,0x40,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0x88,0x88,0x88,0x88,0x88,0x88,0x8a,0x8a,0x84,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x2,0x2,0x22,0x22,0x22,0x22,0x22,0x3f,0x0,0x0,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0x8,0x28,0x28,0x28,0x28,0x28,0xea,0x2a,0x4,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x12,0x12,0x12,0x12,0x12,0x12,0x22,0x22,0x40,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x4a,0x4a,0x44,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x4,0xf,0x10,0x6d,0x2,0xd,0x76,0x1,0xc,0x3,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xc8,0x88,0x8,0x8,0x88,0x78,0xa,0xa,0x4,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x7f,0x9,0x49,0x29,0x29,0x9,0x9,0xff,0x0,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xe8,0x8,0x28,0x48,0x88,0x8,0xa,0xfa,0x4,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x3f,0x22,0x22,0x2f,0x22,0x25,0x28,0x3f,0x20,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xe8,0x28,0x28,0xa8,0x28,0x28,0xaa,0xea,0x24,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x4,0x7f,0x4,0x3f,0x20,0x3f,0xa,0xa,0x12,0x61,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xe8,0x8,0x88,0x88,0x88,0x8,0x2a,0x2a,0xe4,
-+0x10,0x1f,0x20,0x2f,0x40,0xbf,0x0,0x3f,0x26,0x3f,0x0,0x7f,0x49,0x49,0xff,0x0,0x4,0xfe,0x0,0xf8,0x0,0xf8,0x8,0xc8,0x48,0xc8,0x8,0xe8,0x28,0x2a,0xfa,0x4,
-+0x10,0x10,0x11,0x1f,0x22,0x42,0x12,0x12,0x12,0x14,0x14,0x8,0x14,0x22,0x43,0x81,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,
-+0x8,0x8,0xa,0xff,0x8,0x7f,0x49,0x49,0x7f,0x49,0x1c,0x2b,0x49,0x88,0x9,0xa,0x40,0x40,0x44,0x7e,0x48,0x88,0x48,0x48,0x48,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0x10,0x7e,0x42,0x7e,0x42,0x7f,0x10,0xa,0xff,0x10,0x1e,0x22,0x22,0x4b,0x86,0x40,0x40,0x44,0x7e,0x88,0x88,0x48,0x48,0x48,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0x48,0x4b,0x48,0x4b,0x7c,0x41,0x40,0x7a,0x49,0x48,0x4f,0x48,0x48,0x88,0x3,0x40,0x48,0xfc,0x40,0xfe,0x2,0x24,0xa0,0x20,0x20,0x24,0xfe,0x40,0x50,0x8c,0x4,
-+0x9,0x49,0x4f,0x49,0x49,0x7d,0x41,0x41,0x78,0x48,0x4b,0x48,0x48,0x49,0x8a,0x8,0x48,0x48,0xfe,0x48,0x48,0x78,0x0,0xfc,0x20,0x24,0xfe,0x70,0xa8,0x2e,0x24,0x20,
-+0x10,0x50,0x57,0x54,0x57,0x7c,0x47,0x44,0x75,0x55,0x55,0x55,0x55,0x55,0x99,0x11,0x40,0x24,0xfe,0x4,0xfc,0x28,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0x24,0x2c,
-+0x0,0x0,0x3f,0x11,0x9,0x9,0x7f,0x2,0xff,0x4,0x7,0xa,0x11,0x20,0x43,0x1c,0x10,0x78,0x80,0x10,0x10,0x20,0xfc,0x0,0xfe,0x0,0xf0,0x20,0x40,0x80,0x60,0x1e,
-+0x4,0xe,0xf0,0x3,0x93,0x55,0x1,0x9,0xff,0x9,0x49,0x29,0x9,0xa,0x2c,0x11,0x24,0x3e,0x20,0xfe,0x22,0xf8,0x24,0x3c,0x0,0x78,0x48,0x48,0x48,0x4a,0x8a,0x6,
-+0x2,0x3f,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x3e,0x22,0x22,0x42,0x42,0x8a,0x4,0x8,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x8,0x8,0x28,0x10,
-+0x4,0x3e,0x24,0x24,0x24,0x3f,0x24,0x24,0x24,0x3c,0x24,0x24,0x44,0x44,0x94,0x8,0x8,0xfc,0x0,0x0,0x4,0xfe,0x80,0x80,0x84,0xfe,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x2,0x3f,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x3e,0x22,0x22,0x42,0x42,0x8a,0x4,0x8,0x18,0x20,0x40,0x84,0xc,0x10,0x20,0x40,0x80,0x4,0xc,0x10,0x20,0x40,0x80,
-+0x2,0x1,0xff,0x10,0x10,0x1f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0x0,0x4,0xfe,0x0,0x10,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x4,0x3e,0x24,0x24,0x25,0x3c,0x24,0x24,0x27,0x3c,0x24,0x24,0x44,0x45,0x95,0xa,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0x8,0x8,0x8,
-+0x4,0x3f,0x24,0x24,0x24,0x3c,0x27,0x24,0x24,0x3c,0x24,0x24,0x44,0x45,0x96,0x8,0x8,0xfc,0x0,0x0,0x0,0x4,0xfe,0x90,0x90,0x90,0x90,0x90,0x92,0x12,0xe,0x0,
-+0x4,0x3e,0x24,0x24,0x24,0x3f,0x24,0x24,0x24,0x3c,0x24,0x24,0x44,0x44,0x95,0xa,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xc8,0xa8,0x6,0x4,
-+0x4,0x3e,0x24,0x24,0x27,0x3c,0x24,0x24,0x24,0x3d,0x25,0x26,0x44,0x44,0x95,0x8,0x40,0x40,0x40,0x44,0xfe,0x80,0x80,0xa0,0xa0,0x20,0x40,0x50,0x48,0x84,0xfc,0x4,
-+0x4,0x3e,0x24,0x27,0x24,0x3d,0x25,0x25,0x25,0x3d,0x24,0x24,0x44,0x44,0x94,0x8,0x20,0x20,0x24,0xfe,0x20,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x22,0x22,0x1e,0x0,
-+0x4,0x3e,0x24,0x24,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x54,0x4c,0x8c,0x4,0x4,0x14,0x8,
-+0x10,0xc,0x3,0xc,0x12,0xff,0x4,0x8,0x1f,0x28,0xcf,0x8,0xf,0x8,0x8,0x8,0x10,0x70,0x80,0x60,0x14,0xfe,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x4,0x3e,0x24,0x24,0x24,0x3d,0x26,0x24,0x24,0x3c,0x24,0x24,0x44,0x44,0x95,0xa,0x80,0x80,0x80,0xfe,0x82,0x24,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x4,0x3e,0x24,0x24,0x27,0x3c,0x24,0x24,0x24,0x3c,0x24,0x24,0x45,0x45,0x96,0x8,0x80,0xa0,0x90,0x94,0xfe,0xa0,0xa4,0xa4,0xa8,0xa8,0xb0,0xa0,0x62,0x22,0x1e,0x0,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x25,0x25,0x27,0x3c,0x24,0x24,0x45,0x46,0x94,0x8,0x40,0x40,0x44,0xfe,0x80,0xa0,0x20,0x24,0xfe,0x20,0xa8,0xa4,0x26,0x22,0xa0,0x40,
-+0x4,0x3e,0x24,0x24,0x24,0x3c,0x24,0x27,0x24,0x3c,0x24,0x24,0x44,0x44,0x94,0x8,0x40,0x40,0x48,0x7c,0x40,0x40,0x44,0xfe,0x40,0x40,0x60,0x50,0x4c,0x44,0x40,0x40,
-+0x4,0x3e,0x24,0x24,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0xa,0x24,0x3e,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x24,0x44,0x44,0x94,0x8,0x4,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x3c,0x24,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x44,0x94,0x8,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,
-+0x1,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x4,0x3e,0x24,0x24,0x25,0x3d,0x26,0x24,0x24,0x3c,0x24,0x24,0x44,0x44,0x94,0x8,0x80,0x80,0x84,0xfe,0x40,0x40,0x48,0x7c,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,0x40,
-+0x4,0x3e,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x96,0x8,0x8,0x1c,0xe0,0x10,0x50,0x50,0x50,0x50,0x48,0x48,0x48,0x44,0x54,0x54,0x72,0x0,
-+0x4,0x3e,0x24,0x24,0x25,0x3e,0x24,0x24,0x25,0x3c,0x24,0x25,0x44,0x44,0x94,0xb,0x40,0x40,0xa0,0xa0,0x18,0x36,0x40,0x88,0x10,0x20,0x44,0x88,0x10,0x20,0xc0,0x0,
-+0x4,0x3e,0x24,0x24,0x25,0x3e,0x24,0x24,0x24,0x3c,0x24,0x24,0x44,0x44,0x94,0x8,0x80,0x80,0x84,0xfe,0x4,0x4,0xf4,0x94,0x94,0x94,0x94,0xf4,0x84,0x4,0x14,0x8,
-+0x4,0x3e,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x10,0x10,0x10,0x2a,0x4a,0xa6,0x12,
-+0x4,0x3f,0x24,0x24,0x24,0x3c,0x24,0x27,0x24,0x3d,0x24,0x24,0x44,0x44,0x97,0x8,0x0,0xfc,0x8,0x10,0x20,0x58,0x86,0x2,0x0,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x3e,0x25,0x24,0x24,0x3c,0x27,0x24,0x24,0x3c,0x24,0x24,0x44,0x45,0x96,0x8,0x20,0x20,0x24,0xac,0xb0,0x24,0xfe,0x50,0x50,0x50,0x50,0x90,0x92,0x12,0xe,0x0,
-+0x0,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x4,0xfe,0x4,0x14,0xfc,0x4,0x4,0x74,0x54,0x54,0x54,0x74,0x4,0x4,0x14,0x8,
-+0x0,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x4,0xfe,0x4,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x54,0x4c,0x8c,0x4,0xfc,0x4,
-+0x4,0x3e,0x24,0x24,0x25,0x3e,0x24,0x24,0x24,0x3f,0x24,0x24,0x44,0x44,0x95,0x8,0x20,0x20,0x50,0x88,0x6,0x10,0xf8,0x0,0x4,0xfe,0x40,0x40,0x48,0x84,0xfc,0x4,
-+0x0,0x3d,0x24,0x24,0x24,0x3c,0x25,0x24,0x27,0x3c,0x24,0x25,0x46,0x44,0x94,0x8,0x0,0x8,0x90,0x60,0x50,0x8c,0x24,0x20,0xfe,0x20,0xa8,0x26,0x22,0x20,0xa0,0x40,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x24,0x25,0x24,0x3c,0x24,0x25,0x44,0x44,0x94,0x9,0x40,0x20,0x4,0xfe,0x40,0x48,0x88,0xf4,0x24,0x48,0x88,0x10,0x28,0x44,0x82,0x2,
-+0x5,0x3e,0x24,0x27,0x24,0x3c,0x24,0x24,0x27,0x3c,0x24,0x24,0x45,0x45,0x96,0x8,0x8,0x90,0x0,0xfc,0x90,0x90,0x90,0x94,0xfe,0x90,0x90,0x90,0x10,0x10,0x10,0x10,
-+0x4,0x3e,0x24,0x24,0x25,0x3c,0x24,0x24,0x27,0x3c,0x24,0x24,0x44,0x44,0x95,0xa,0x0,0x88,0x50,0x0,0xfc,0x20,0x20,0x24,0xfe,0x20,0x50,0x50,0x88,0x88,0x4,0x2,
-+0x4,0x3e,0x25,0x24,0x24,0x3c,0x27,0x24,0x24,0x3c,0x24,0x24,0x45,0x46,0x94,0x8,0x20,0x20,0x24,0xa4,0xa8,0x20,0xfe,0x20,0x60,0x70,0xa8,0xa8,0x26,0x24,0x20,0x20,
-+0x0,0x3c,0x27,0x24,0x24,0x3d,0x26,0x24,0x25,0x3e,0x24,0x25,0x46,0x44,0x94,0x8,0x0,0x4,0xfe,0x40,0x84,0x4c,0x70,0xa0,0x30,0x70,0xa8,0x28,0x26,0x24,0xa0,0x40,
-+0x0,0x3d,0x25,0x25,0x25,0x3d,0x24,0x24,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x4,0xfe,0x4,0x4,0x4,0xfc,0x20,0x24,0xfe,0x24,0x24,0x54,0x8c,0x4,0x14,0x8,
-+0x4,0x3e,0x24,0x24,0x24,0x3d,0x26,0x24,0x24,0x3d,0x24,0x24,0x44,0x44,0x97,0x8,0x20,0x20,0xa8,0xa8,0xa8,0x74,0x22,0x20,0x28,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x3e,0x25,0x25,0x24,0x3c,0x25,0x24,0x24,0x3c,0x27,0x24,0x44,0x44,0x94,0x8,0x8,0x1c,0xe0,0x4,0xa4,0xa8,0xfc,0x10,0x20,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x4,0x3e,0x25,0x25,0x26,0x3c,0x24,0x24,0x27,0x3c,0x24,0x24,0x44,0x45,0x96,0x8,0x40,0x20,0xfe,0x2,0x14,0xf8,0x0,0x4,0xfe,0x90,0x90,0x90,0x92,0x12,0xe,0x0,
-+0x0,0x7b,0x4a,0x4a,0x4b,0x7a,0x4a,0x4b,0x4a,0x7a,0x4a,0x4a,0x4b,0x4a,0xac,0x10,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xa8,0xb0,0xa8,0xa8,0xa4,0x24,0x22,0xa0,0x40,
-+0x4,0x3e,0x27,0x24,0x25,0x3c,0x27,0x24,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x8,0x7c,0x48,0x4f,0x48,0x79,0x4a,0x4f,0x4a,0x7b,0x4a,0x4b,0x4a,0x48,0xa8,0x10,0x40,0x40,0x44,0xfe,0xa0,0x10,0x48,0xfe,0x48,0xf8,0x48,0xf8,0x48,0x40,0x44,0x3c,
-+0x4,0x3e,0x24,0x27,0x24,0x3c,0x24,0x27,0x24,0x3c,0x24,0x27,0x44,0x44,0x94,0x8,0x50,0x50,0x54,0xde,0x50,0x50,0x54,0xde,0x50,0x50,0x54,0xde,0x50,0x50,0x50,0x50,
-+0x4,0x3e,0x25,0x25,0x25,0x3d,0x25,0x25,0x25,0x3d,0x24,0x24,0x44,0x45,0x96,0x8,0x20,0xa4,0x2e,0x24,0x24,0xac,0x24,0x24,0xfc,0x24,0x50,0x50,0x88,0x6,0x4,0x0,
-+0x0,0x7a,0x4b,0x4a,0x4c,0x79,0x48,0x48,0x4b,0x78,0x49,0x49,0x49,0x4a,0xa8,0x10,0x40,0x20,0xfe,0x2,0x4,0xfc,0x0,0x4,0xfe,0x20,0x20,0x28,0x26,0x22,0xa0,0x40,
-+0x0,0x78,0x4b,0x4a,0x4c,0x78,0x4b,0x48,0x48,0x79,0x49,0x49,0x49,0x4a,0xac,0x10,0x40,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x28,0x3c,0x20,0x20,0xa6,0x7c,0x0,
-+0x0,0x78,0x4f,0x49,0x49,0x79,0x4a,0x4f,0x49,0x79,0x4d,0x4b,0x49,0x4a,0xac,0x10,0x10,0x10,0x7c,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x10,0xfe,0x10,0x10,0x96,0x7c,0x0,
-+0x8,0x7c,0x4b,0x48,0x4b,0x78,0x4f,0x48,0x49,0x7b,0x4c,0x4b,0x48,0x48,0xa8,0x13,0x40,0x48,0xfc,0x40,0xfc,0x40,0xfe,0xa0,0x10,0xf8,0x46,0xf8,0x40,0xa0,0x98,0x8,
-+0x0,0x3c,0x27,0x24,0x24,0x3d,0x25,0x25,0x25,0x3d,0x25,0x25,0x45,0x45,0x95,0x9,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x54,0xfc,0x24,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x8,0x7c,0x4b,0x48,0x48,0x7b,0x4a,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x4a,0xab,0x12,0x0,0x4,0xfe,0x40,0x84,0xfe,0x94,0x94,0xf4,0x94,0x94,0xf4,0x94,0x94,0xfc,0x4,
-+0x8,0x7d,0x49,0x49,0x49,0x79,0x49,0x49,0x48,0x7b,0x4a,0x4a,0x4a,0x4a,0xaf,0x10,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x0,0xfc,0x94,0x94,0x94,0x94,0xfe,0x0,
-+0x0,0x7b,0x4a,0x4a,0x4b,0x78,0x4b,0x48,0x4f,0x79,0x49,0x48,0x48,0x48,0xa8,0x10,0x8,0xbc,0xa8,0xa8,0xb8,0x0,0xf8,0x0,0xfe,0x0,0xf8,0x8,0x8,0x88,0x50,0x20,
-+0x8,0x7c,0x48,0x49,0x4b,0x7c,0x4b,0x4a,0x4a,0x7b,0x4a,0x4a,0x4b,0x4a,0xaa,0x12,0x40,0x40,0xa0,0x10,0xf8,0x6,0xc4,0x54,0x54,0xd4,0x54,0x54,0xd4,0x44,0x54,0xc8,
-+0x0,0x7a,0x49,0x48,0x4b,0x78,0x4f,0x48,0x49,0x7a,0x4c,0x4b,0x48,0x48,0xab,0x10,0x40,0x48,0x50,0x40,0xfc,0x40,0xfe,0xa0,0x10,0x4e,0x44,0xf8,0x40,0x48,0xfc,0x0,
-+0x0,0x7a,0x49,0x4b,0x48,0x7f,0x48,0x49,0x4a,0x7c,0x4f,0x48,0x49,0x48,0xa9,0x16,0x40,0x48,0x50,0xfc,0x40,0xfe,0xa0,0x10,0x4e,0x44,0xfe,0x90,0x10,0xe0,0x18,0x4,
-+0x0,0x7b,0x48,0x49,0x49,0x79,0x49,0x48,0x4b,0x7a,0x4a,0x4b,0x4a,0x4a,0xaa,0x12,0x4,0xfe,0x0,0xfc,0x4,0x4,0xfc,0x0,0xfe,0x8a,0x52,0xfe,0x22,0x22,0x2a,0x4,
-+0x10,0x8,0xfe,0x11,0x1e,0x22,0x2a,0x44,0x9f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x40,0x44,0xfe,0x18,0xe4,0xa8,0x90,0xc8,0xf6,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x8,0x7c,0x4b,0x4a,0x4c,0x79,0x49,0x49,0x49,0x79,0x49,0x4f,0x48,0x48,0xa9,0x12,0x40,0x20,0xfe,0x2,0x34,0xc0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x0,0x90,0xc,0x4,
-+0x0,0x7a,0x49,0x48,0x4f,0x78,0x4f,0x48,0x49,0x7a,0x4d,0x49,0x48,0x49,0xaa,0x10,0x40,0x48,0x50,0x40,0xfc,0x40,0xfe,0xa0,0x10,0x4e,0x54,0x50,0xe0,0x50,0x4c,0xc0,
-+0x0,0x78,0x4b,0x4a,0x4d,0x78,0x4b,0x48,0x48,0x79,0x48,0x49,0x48,0x48,0xab,0x10,0x40,0x20,0xfe,0x52,0x8c,0x0,0xfe,0x40,0x88,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x8,0x7d,0x48,0x48,0x4b,0x7a,0x4d,0x49,0x49,0x79,0x48,0x49,0x49,0x49,0xa9,0x11,0x20,0xfc,0x88,0x50,0xfe,0x22,0xfc,0x24,0x24,0x2c,0x20,0xfc,0x4,0x4,0xfc,0x4,
-+0x1,0x79,0x4f,0x49,0x4b,0x78,0x4b,0x4a,0x4a,0x7a,0x4b,0x48,0x4a,0x49,0xae,0x10,0x8,0x8,0xc8,0x3e,0x88,0x8,0xbe,0xa2,0xa2,0x94,0x94,0x8,0x88,0xd4,0x14,0x62,
-+0x8,0x7f,0x48,0x4b,0x4a,0x7c,0x48,0x4b,0x48,0x79,0x4a,0x49,0x4a,0x49,0xaa,0x10,0x88,0xfe,0x88,0xfe,0x2,0xf8,0x0,0xfe,0x80,0x44,0xa8,0x70,0xa8,0x26,0xa4,0x40,
-+0x9,0x7d,0x49,0x49,0x48,0x7b,0x4a,0x4a,0x4b,0x78,0x4f,0x48,0x48,0x49,0xaa,0x10,0xfc,0x4,0x4,0xfc,0x0,0xde,0x52,0x52,0xde,0x20,0xfe,0x70,0xa8,0x2e,0x24,0x20,
-+0x8,0x7f,0x48,0x4b,0x4a,0x7a,0x4a,0x4b,0x48,0x7b,0x4a,0x4b,0x4a,0x4b,0xa8,0x17,0x40,0xfe,0x0,0xfc,0x94,0xf4,0x94,0xfc,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x0,0xfe,
-+0x8,0x7c,0x4b,0x4a,0x4b,0x7a,0x4b,0x4a,0x4b,0x7a,0x4b,0x4a,0x4a,0x4a,0xad,0x10,0x40,0x24,0xfe,0x88,0xfe,0x50,0xfc,0x54,0xfe,0x54,0xfc,0x50,0xd8,0xd4,0x52,0x50,
-+0x0,0x7a,0x49,0x4f,0x48,0x79,0x4a,0x4a,0x4b,0x7a,0x4c,0x4b,0x49,0x4a,0xac,0x10,0x40,0x48,0x50,0xfc,0xe0,0x50,0x48,0x8,0xbe,0xa8,0xa8,0x28,0x7e,0x8,0x8,0x8,
-+0x0,0x20,0x24,0x3e,0x20,0x21,0x22,0x3f,0x2,0x2,0x1a,0xe2,0x2,0x14,0x9,0x2,0x40,0x40,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x42,0x24,0x18,0x24,0x42,0x1,0xff,0x28,0x3e,0x6a,0xaa,0x2a,0x2a,0x2e,0x9,0xa,0x40,0x40,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x10,0x12,0xff,0x10,0x28,0x45,0xff,0x2,0x7a,0x4a,0x4a,0x4a,0x7a,0x2,0xb,0x6,0x40,0x40,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x2,0xf,0x78,0x8,0x8,0xff,0x28,0x4b,0x49,0x49,0x6b,0x49,0x49,0x7f,0x41,0x2,0x40,0x40,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x10,0xa,0x7f,0x0,0x22,0x15,0xff,0x0,0x3e,0x22,0x22,0x3e,0x22,0x22,0x3f,0x22,0x40,0x40,0x40,0x7e,0x82,0x24,0xa0,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x8,0x14,0x22,0x7f,0x80,0x3e,0x23,0x3e,0x0,0x77,0x11,0x55,0x33,0x55,0x11,0x33,0x40,0x40,0x40,0x7e,0x42,0x84,0x20,0x20,0x20,0x20,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x4,0x7e,0x44,0x45,0x46,0x6d,0x6d,0x55,0x55,0x55,0x6d,0x6d,0x44,0x44,0x43,0x80,0x80,0x88,0xfc,0x8,0x8,0xe8,0x28,0x28,0xe8,0x28,0x10,0x4,0xfe,0x2,0xfe,0x0,
-+0x0,0x23,0x12,0x12,0xff,0x2,0x4a,0x4a,0x4a,0x52,0x52,0x1e,0xf3,0x44,0x4,0x18,0x8,0xfc,0x8,0x8,0x18,0x98,0xa8,0xa8,0x48,0x48,0xa8,0x98,0x1a,0xa,0xa,0x4,
-+0x4,0x7e,0x44,0x44,0x44,0x6c,0x6c,0x54,0x54,0x54,0x6f,0x6c,0x44,0x44,0x43,0x80,0x8,0xfc,0x88,0xf8,0x88,0xf8,0x88,0xf8,0x88,0x88,0xfe,0x50,0x8a,0x2,0xfe,0x0,
-+0x0,0x7d,0x45,0x45,0x45,0x6d,0x6d,0x54,0x55,0x54,0x6c,0x6c,0x44,0x44,0x43,0x80,0x20,0xac,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x52,0x8a,0xfe,0x0,
-+0x10,0x18,0x14,0xfe,0x10,0x28,0x44,0x82,0x24,0x36,0xff,0x24,0x24,0x5a,0x49,0x92,0x8,0xfc,0x88,0x88,0x88,0xd8,0xd8,0xa8,0xa8,0xa8,0xd8,0xd8,0x8a,0x8a,0xa,0x4,
-+0x4,0x7e,0x44,0x44,0x45,0x6c,0x6d,0x54,0x56,0x55,0x6c,0x6d,0x46,0x44,0x43,0x80,0x20,0x20,0xa4,0xa8,0x50,0x88,0x6,0x88,0xaa,0xdc,0x88,0x54,0x22,0x2,0xfe,0x0,
-+0x2,0x3f,0x22,0x22,0x22,0x22,0x41,0x80,0x7f,0x21,0x22,0x14,0x8,0x14,0x23,0xc1,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,
-+0x10,0xfe,0x10,0x7c,0x0,0xfe,0x83,0xbe,0x1,0x7c,0x4,0x7c,0x40,0x7c,0x4,0x1b,0x8,0xfc,0x88,0x88,0x88,0x88,0x6,0x0,0xfc,0x84,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x7f,0x8,0x3e,0x0,0xff,0x91,0x92,0x7f,0x28,0x28,0x7e,0x8,0xff,0x8,0xb,0x8,0x7c,0x48,0x48,0x48,0x48,0x86,0x0,0xfc,0x84,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x8,0x7f,0x8,0x3e,0x0,0xff,0x91,0x9c,0x25,0x7e,0xaa,0x3e,0x2a,0x3e,0x4a,0x8b,0x8,0xfc,0x88,0x88,0x88,0x88,0x6,0x0,0xfc,0x84,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x2,0x2,0x7e,0x2,0x3e,0x2,0x7e,0x2,0x1,0xff,0x8,0x4,0x3,0x2,0xc,0x70,0x80,0x88,0xfc,0x80,0xf8,0x80,0xfc,0x80,0x4,0xfe,0x20,0x40,0x80,0x80,0x60,0x1c,
-+0x1,0xff,0x18,0x6,0x1,0xe,0xf2,0x2e,0x22,0x2e,0x22,0x2e,0x22,0x3f,0x20,0x40,0x0,0xfe,0x30,0xc0,0x0,0xe0,0x9e,0xe8,0x88,0xe8,0x88,0xe8,0x88,0xf8,0x8,0x8,
-+0x4,0x42,0x20,0x4,0xff,0x14,0x55,0x25,0x25,0x55,0x55,0x4c,0x8d,0x6,0x4,0x4,0x4,0xfe,0x44,0x54,0xfc,0x44,0xf4,0x54,0xf4,0x54,0xf4,0xe4,0x54,0x4c,0x54,0x48,
-+0x20,0x18,0x8,0x0,0xfe,0x20,0x25,0x3e,0x24,0x24,0x24,0x24,0x44,0x44,0x94,0x8,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x44,0x30,0x10,0x80,0x40,0x30,0x18,0x8,0x0,
-+0x20,0x18,0x8,0x1,0xfe,0x20,0x25,0x3e,0x25,0x25,0x25,0x25,0x45,0x45,0x94,0x8,0x80,0x80,0x84,0xfe,0x20,0x24,0xfe,0x20,0xfc,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x20,0x18,0x8,0x1,0xfe,0x21,0x24,0x3e,0x25,0x24,0x24,0x27,0x44,0x44,0x94,0x8,0x80,0x84,0xfe,0x0,0x18,0xe0,0x28,0x3c,0xe0,0x24,0x3e,0xe0,0x20,0x22,0x22,0x1e,
-+0x21,0x19,0x9,0xfe,0x24,0x21,0x3d,0x25,0x25,0x27,0x25,0x25,0x45,0x45,0x95,0xa,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x48,0x28,0xfe,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x20,0x18,0x8,0x1,0xfe,0x21,0x21,0x3d,0x26,0x24,0x25,0x24,0x44,0x44,0x97,0x8,0x80,0x80,0x84,0xfe,0x20,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x18,0x8,0x0,0xfd,0x22,0x20,0x3c,0x24,0x24,0x24,0x24,0x44,0x45,0x95,0xa,0x80,0x80,0x84,0xfe,0x0,0xfc,0x84,0x84,0xfc,0x80,0xa4,0xa8,0xb0,0x22,0x22,0x1e,
-+0x20,0x18,0x8,0x1,0xfe,0x23,0x20,0x3c,0x25,0x24,0x24,0x24,0x44,0x45,0x95,0xa,0x80,0x84,0xfe,0x40,0x24,0xfe,0x40,0x88,0xfc,0x0,0xa8,0xa8,0xa8,0x2a,0x2a,0x26,
-+0x20,0x18,0x9,0x2,0xfe,0x20,0x20,0x3c,0x27,0x24,0x25,0x25,0x45,0x45,0x94,0x8,0x80,0x84,0xfe,0x20,0xf8,0x20,0x50,0x88,0xfe,0x8,0xe8,0x28,0x28,0xe8,0x8,0x18,
-+0x10,0x13,0x10,0x14,0x54,0x58,0x53,0x90,0x10,0x10,0x19,0x25,0x22,0x44,0x81,0x0,0x0,0xf8,0x10,0x20,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0x24,0x44,0x44,0x84,0x28,0x10,
-+0x10,0x10,0x10,0x17,0x54,0x58,0x53,0x90,0x10,0x17,0x10,0x28,0x24,0x44,0x80,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0x40,0x44,0xfe,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x10,0x10,0x10,0x17,0x54,0x5a,0x52,0x92,0x12,0x13,0x10,0x28,0x24,0x44,0x80,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0x48,0x48,0x48,0xf8,0x48,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x10,0x14,0x55,0x59,0x52,0x95,0x19,0x11,0x11,0x29,0x25,0x45,0x80,0x0,0x40,0x40,0xa0,0xa0,0x10,0x10,0xe,0xf4,0x10,0x10,0x10,0x50,0x24,0x4,0xfc,0x0,
-+0x10,0x10,0x17,0x10,0x54,0x54,0x58,0x91,0x13,0x15,0x11,0x29,0x25,0x45,0x41,0x81,0x0,0x4,0xfe,0x40,0x40,0x80,0x80,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0x10,0x55,0x54,0x58,0x90,0x17,0x10,0x10,0x28,0x24,0x44,0x40,0x80,0x8,0x1c,0xe0,0x20,0x24,0xac,0xb0,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x10,0x13,0x54,0x54,0x58,0x90,0x11,0x10,0x10,0x28,0x24,0x44,0x43,0x80,0x40,0x20,0x24,0xfe,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x10,0x17,0x54,0x58,0x50,0x91,0x13,0x10,0x10,0x28,0x25,0x42,0x47,0x80,0x40,0x20,0x4,0xfe,0x40,0x40,0x80,0x8,0xf0,0x20,0x40,0x80,0x8,0x4,0xfc,0x4,
-+0x1,0x2,0x4,0x8,0x3f,0x0,0x1f,0x10,0x10,0x1f,0x1,0x11,0x11,0x22,0xc,0x70,0x0,0x0,0x20,0x10,0xf8,0x0,0xf0,0x10,0x10,0xf0,0x8,0x10,0x20,0x80,0x60,0x1c,
-+0x10,0x10,0x10,0x15,0x55,0x59,0x53,0x95,0x11,0x10,0x17,0x28,0x24,0x44,0x40,0x80,0xa0,0xa0,0xa0,0x24,0x28,0x30,0x64,0x1c,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x12,0x11,0x10,0x14,0x57,0x58,0x50,0x93,0x10,0x10,0x17,0x28,0x24,0x44,0x40,0x80,0x8,0x10,0xa0,0x8,0xfc,0x40,0x48,0xfc,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x13,0x10,0x14,0x57,0x59,0x51,0x91,0x17,0x10,0x11,0x29,0x25,0x45,0x41,0x81,0x8,0xfc,0x80,0x88,0xfc,0x8,0x8,0x8,0xfe,0x0,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x14,0x55,0x59,0x52,0x95,0x18,0x10,0x13,0x2a,0x26,0x46,0x43,0x82,0x40,0x40,0xa0,0xa0,0x10,0x90,0x48,0xf6,0x14,0x20,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x24,0x22,0x20,0x24,0xac,0xb4,0xa4,0x24,0x25,0x26,0x24,0x24,0x54,0x4c,0x84,0x4,0x4,0xfe,0x4,0x4,0x44,0x24,0xa4,0x84,0x94,0xac,0xa4,0xe4,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x10,0x14,0x57,0x5a,0x53,0x92,0x13,0x10,0x10,0x2b,0x24,0x44,0x40,0x80,0x48,0x7c,0x40,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0x40,0x40,0x40,
-+0x1,0x11,0x11,0x11,0x22,0xc,0x30,0xc8,0x8,0x2a,0x2a,0x4d,0x14,0x12,0x20,0xc1,0x0,0x10,0x30,0x40,0x80,0x60,0x1e,0x24,0x20,0xa4,0xa8,0x30,0x50,0x48,0x8e,0x4,
-+0x21,0x21,0x21,0x2f,0xa9,0xb1,0xa1,0x27,0x24,0x24,0x24,0x24,0x57,0x48,0x80,0x1,0x4,0x3e,0x24,0xe4,0x24,0x3c,0x24,0xa4,0xa4,0xbc,0xa4,0xa4,0xa4,0x44,0x94,0x8,
-+0x10,0x13,0x12,0x12,0x57,0x5a,0x52,0x93,0x10,0x10,0x13,0x29,0x24,0x40,0x47,0x80,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x40,0x20,0xfc,0x8,0x88,0x90,0xfe,0x0,
-+0x10,0x13,0x12,0x12,0x57,0x5a,0x52,0x93,0x10,0x1f,0x12,0x12,0x2a,0x26,0x43,0x82,0x8,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x0,0xfe,0x88,0x50,0x20,0x90,0xe,0x4,
-+0x10,0x13,0x12,0x12,0x57,0x5a,0x52,0x93,0x12,0x12,0x12,0x17,0x2a,0x2a,0x42,0x82,0x44,0xbe,0x24,0x24,0xa4,0x42,0x0,0xbc,0x4,0x24,0x28,0x90,0x10,0x28,0x4e,0x84,
-+0x8,0xb,0xa,0x13,0x30,0x5f,0x90,0x11,0x16,0x11,0x9,0x9,0x12,0x4,0x18,0x60,0x8,0xfc,0x8,0xf8,0x40,0xfe,0xe0,0x50,0x4e,0x40,0x10,0x20,0xc0,0x40,0x30,0xe,
-+0x10,0x10,0x17,0x14,0x54,0x5b,0x50,0x93,0x12,0x13,0x12,0x2b,0x24,0x40,0x47,0x80,0x80,0x40,0xfe,0x2,0x4,0xf8,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x13,0x12,0x56,0x5b,0x52,0x92,0x13,0x15,0x15,0x29,0x25,0x45,0x41,0x81,0x40,0x24,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x54,0x54,0xfc,0x54,0x54,0x54,0xc,
-+0x10,0x10,0x14,0x12,0x56,0x58,0x50,0x96,0x12,0x12,0x12,0x2a,0x26,0x45,0x88,0x0,0x8,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0xa4,0xa8,0x90,0xc8,0x84,0x6,0xfc,0x0,
-+0x20,0x27,0x24,0x25,0xac,0xb5,0xa6,0x20,0x27,0x24,0x24,0x27,0x54,0x4c,0x87,0x4,0x84,0x7e,0x24,0x24,0xa4,0xa4,0x54,0x88,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x11,0x11,0x11,0x15,0x55,0x58,0x53,0x92,0x13,0x10,0x13,0x29,0x24,0x44,0x41,0x86,0xf8,0x8,0xf8,0x8,0xf8,0x0,0xfc,0x94,0xfc,0x0,0xfc,0x8,0x90,0x60,0x90,0xe,
-+0x20,0x20,0x2f,0x21,0xa8,0xb7,0xa4,0x25,0x26,0x25,0x25,0x25,0x55,0x4c,0x84,0x4,0x80,0x44,0xfe,0x10,0xa4,0xfe,0xa4,0x14,0xc,0xf4,0x14,0x14,0xf4,0x4,0x14,0x8,
-+0x0,0x3f,0x21,0x3f,0x20,0x3f,0x40,0x7f,0x95,0x24,0xd,0x11,0x11,0x22,0xc,0x70,0x8,0x8,0x8,0x8,0x7e,0x8,0x28,0xa8,0x8,0xa8,0x10,0x10,0x20,0x80,0x60,0x1c,
-+0x20,0x2f,0x24,0x22,0xa8,0xb2,0xa4,0x20,0x23,0x22,0x22,0x23,0x52,0x4a,0x83,0x2,0x84,0xfe,0xa4,0x94,0x84,0x94,0xa4,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x20,0x20,0x27,0x24,0xad,0xb4,0xa7,0x24,0x25,0x26,0x24,0x2f,0x50,0x49,0x86,0x18,0x40,0x84,0xfe,0x44,0x54,0x44,0xfc,0x44,0x54,0x4c,0x44,0xfe,0xa0,0x10,0xe,0x4,
-+0x10,0x17,0x12,0x11,0x57,0x59,0x52,0x94,0x1b,0x12,0x12,0x13,0x2a,0x26,0x43,0x82,0x1c,0xe0,0x48,0x50,0xfe,0x50,0x48,0x4e,0xfc,0x48,0x48,0xf8,0x48,0x48,0xf8,0x8,
-+0x21,0x28,0x24,0x23,0xa8,0xb0,0xad,0x26,0x24,0x27,0x24,0x27,0x54,0x4a,0x91,0x0,0x4,0x88,0x0,0xfe,0x40,0xc0,0x24,0x68,0xb0,0x70,0xa8,0x26,0xa0,0x46,0xfc,0x0,
-+0x4,0xfe,0x10,0x32,0xdc,0x28,0xdc,0x2a,0xd9,0x1,0x9,0x9,0x12,0x4,0x18,0xe0,0x4,0xfe,0x10,0x32,0xdc,0x28,0xdc,0x2a,0xd8,0x0,0x10,0x20,0x80,0x40,0x30,0xe,
-+0x27,0x22,0x21,0x27,0xac,0xb7,0xa0,0x27,0x24,0x27,0x24,0x27,0x55,0x4d,0x86,0x4,0xfc,0x48,0x50,0xfc,0xa4,0xfc,0x0,0x88,0x88,0xfe,0x88,0xc8,0x28,0x8,0xa8,0x10,
-+0x11,0x9,0x7f,0x48,0xbe,0x1c,0x2a,0x9,0x7f,0x2,0xd,0x39,0xc5,0x2,0x4,0x18,0x10,0x20,0xfe,0x22,0xfc,0x70,0xa8,0x20,0xfc,0x80,0x60,0x38,0x46,0x80,0x40,0x38,
-+0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x44,0x44,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x88,0x44,0x42,0x2,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x2,0x2,0x7f,0x2,0x3f,0x4,0xff,0x8,0x1f,0x24,0x42,0x80,0x0,0x24,0x22,0x42,0x0,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x20,0xfc,0x20,0x20,0xa0,0x40,0x88,0x44,0x44,
-+0x0,0x78,0x48,0x49,0x4a,0x79,0x49,0x49,0x49,0x79,0x49,0x0,0x28,0x24,0x44,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x14,0x8,0x90,0x48,0x46,0x2,
-+0x1,0x7f,0x1,0x3f,0x0,0x1f,0x10,0x1f,0x4,0xff,0x0,0x1f,0x10,0x1f,0x24,0x42,0x0,0xfc,0x0,0xf8,0x0,0xf0,0x10,0xf0,0x44,0xfe,0x0,0xf0,0x10,0xf0,0x88,0x44,
-+0x2,0x1,0x3f,0x20,0x20,0x3f,0x21,0x21,0x3f,0x21,0x21,0x22,0x42,0x44,0x88,0x30,0x0,0x8,0xfc,0x8,0x8,0xf8,0x40,0x24,0xfe,0x0,0x0,0x80,0x80,0x60,0x1c,0x8,
-+0x2,0x1,0x3f,0x20,0x20,0x3f,0x24,0x23,0x29,0x26,0x22,0x3f,0x40,0x40,0x80,0x0,0x0,0x8,0xfc,0x8,0x8,0xf8,0x20,0x20,0x20,0x24,0x3e,0xe0,0x20,0x20,0x20,0x20,
-+0x2,0x1,0x3f,0x20,0x20,0x3f,0x20,0x2f,0x28,0x28,0x2b,0x2a,0x4a,0x4b,0x88,0x8,0x0,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,0x4,0x4,0xf4,0x14,0x14,0xf4,0x4,0x8,
-+0x1,0x0,0x3f,0x20,0x3f,0x20,0x2f,0x28,0x2f,0x20,0x2f,0x28,0x4f,0x48,0x88,0x7,0x0,0x88,0xfc,0x8,0xf8,0x0,0xf0,0x10,0xf0,0x0,0xf8,0x88,0xf8,0x2,0x2,0xfe,
-+0x1,0x0,0x3f,0x20,0x3f,0x22,0x22,0x3e,0x22,0x22,0x3e,0x22,0x42,0x5e,0x82,0x2,0x0,0x88,0xfc,0x8,0xf8,0x40,0x48,0x7c,0x40,0x50,0x78,0x40,0x48,0x7c,0x40,0x40,
-+0x2,0x1,0x0,0x1f,0x0,0x1,0x1,0x3,0x5,0x9,0x11,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0xc0,0x80,0x0,0x0,0x80,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x13,0x2,0xfe,0xa,0x12,0x12,0x3b,0x56,0x92,0x12,0x12,0x12,0x12,0x11,0x10,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x20,0x10,0x3,0xfc,0x8,0x10,0x10,0x3b,0x54,0x90,0x10,0x11,0x11,0x12,0x14,0x18,0x8,0x7c,0xc0,0x40,0x40,0x40,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x20,0x10,0x0,0xfd,0x9,0x11,0x11,0x39,0x55,0x91,0x11,0x11,0x11,0x11,0x17,0x10,0x20,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x10,0x0,0xfc,0xb,0x10,0x10,0x38,0x57,0x90,0x10,0x10,0x11,0x12,0x17,0x10,0x40,0x40,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x40,0x40,0x80,0x10,0x8,0xfc,0x4,
-+0x20,0x10,0x0,0xfb,0x8,0x10,0x10,0x38,0x57,0x92,0x12,0x12,0x12,0x12,0x13,0x12,0x40,0x40,0x44,0xfe,0x40,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x10,0x0,0xfb,0x8,0x10,0x10,0x39,0x55,0x91,0x12,0x12,0x14,0x18,0x11,0x12,0xa0,0x90,0x84,0xfe,0x80,0x80,0xf8,0x8,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x21,0x11,0x1,0xfd,0xa,0x14,0x10,0x38,0x54,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x4,0xfe,0x80,0x80,0x88,0xfc,0x80,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x20,0x10,0x0,0xfc,0x9,0x12,0x10,0x38,0x54,0x90,0x11,0x11,0x12,0x10,0x10,0x10,0x80,0x80,0x80,0xfe,0x2,0x4,0x20,0x20,0xa8,0xa4,0x24,0x22,0x22,0x20,0xa0,0x40,
-+0x20,0x10,0x3,0xfa,0xa,0x12,0x13,0x3a,0x56,0x92,0x12,0x12,0x12,0x13,0x12,0x10,0x8,0x3c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x50,0x90,0x4a,0x2a,0x4,
-+0x20,0x13,0x0,0xfc,0xb,0x10,0x10,0x3b,0x56,0x92,0x12,0x13,0x12,0x10,0x10,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x24,0xf4,0x24,0x24,0x24,0xe4,0x24,0x4,0x14,0x8,
-+0x20,0x10,0x0,0xfc,0xb,0x12,0x12,0x3a,0x56,0x92,0x12,0x12,0x10,0x10,0x11,0x16,0x40,0x48,0x7c,0x40,0xf8,0x8,0x48,0x48,0x48,0x48,0x48,0x48,0xa0,0x98,0xc,0x4,
-+0x20,0x10,0x0,0xfc,0xa,0x11,0x10,0x38,0x55,0x92,0x14,0x10,0x11,0x11,0x12,0x14,0x20,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xa0,0xb0,0xac,0xa4,0xa0,0x22,0x22,0x1e,0x0,
-+0x21,0x11,0x7,0xf9,0x9,0x11,0x11,0x39,0x55,0x91,0x11,0x1f,0x10,0x11,0x12,0x14,0x10,0x10,0xfc,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x21,0x10,0x0,0xfd,0x9,0x11,0x11,0x39,0x55,0x91,0x10,0x17,0x10,0x10,0x10,0x10,0x4,0x88,0x50,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x20,0x20,0x20,
-+0x21,0x11,0x7,0xf9,0x17,0x11,0x17,0x39,0x55,0x90,0x17,0x10,0x10,0x10,0x13,0x14,0x0,0x4,0xfe,0x14,0xd4,0x14,0xd4,0x24,0x4c,0x40,0xfe,0x40,0x40,0xa0,0x1e,0x4,
-+0x21,0x10,0x0,0xfb,0x8,0x10,0x11,0x38,0x54,0x90,0x13,0x10,0x12,0x12,0x14,0x10,0x4,0x88,0x50,0xfe,0x20,0x20,0xfc,0x20,0x20,0x24,0xfe,0x0,0xa4,0x52,0x52,0x0,
-+0x20,0x17,0x0,0xff,0x8,0x13,0x1a,0x37,0x51,0x9f,0x10,0x13,0x12,0x12,0x13,0x12,0x40,0xfe,0x40,0xfc,0x0,0xf8,0x8,0xf8,0x10,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x8,
-+0x20,0x17,0x0,0xff,0xc,0x17,0x11,0x3b,0x55,0x93,0x11,0x1f,0x11,0x13,0x1d,0x11,0x40,0xfe,0x0,0xbc,0xa4,0xbc,0x10,0xf8,0x10,0xf8,0x10,0xfe,0x48,0x30,0x8e,0x4,
-+0x0,0x7f,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0xa,0x29,0x28,0x48,0x88,0x7,0x0,0x4,0xfe,0x0,0x80,0x60,0x30,0x10,0x0,0x0,0x0,0x88,0x84,0x12,0x12,0xf0,0x0,
-+0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x7f,0x0,0xa,0x29,0x28,0x48,0x88,0x7,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,0x0,0x88,0x84,0x12,0x12,0xf0,0x0,
-+0x0,0x0,0x7e,0x3,0x24,0x14,0x8,0x14,0x22,0x40,0x2a,0x29,0x48,0x88,0x7,0x0,0x10,0x10,0x14,0xfe,0x10,0x90,0x50,0x10,0x50,0x20,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x8,0x8,0x7f,0x8,0x3e,0x8,0x7f,0x8,0x8,0x0,0x2a,0x29,0x48,0x88,0x7,0x0,0x0,0x4,0x7e,0x24,0x24,0x24,0x44,0x54,0x88,0x0,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x1,0x1,0x3f,0x1,0xff,0x1,0x3f,0x1,0xff,0x0,0x2a,0x29,0x48,0x88,0x7,0x0,0x0,0x10,0xf8,0x0,0xfe,0x0,0xf8,0x0,0xfe,0x0,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x0,0xff,0x2,0x4,0x3f,0x24,0x24,0x24,0x24,0x0,0x2a,0x29,0x48,0x88,0x7,0x0,0x4,0xfe,0x0,0x8,0xfc,0x48,0x48,0x48,0x58,0x0,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x8,0x8,0x17,0x10,0x30,0x5f,0x90,0x10,0x17,0x10,0x2a,0x29,0x48,0x88,0x7,0x0,0x8,0x1c,0xe0,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x8,0x4,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x0,0x2a,0x29,0x48,0x88,0x7,0x0,0x20,0x48,0xfc,0x0,0x10,0xf8,0x0,0x4,0xfe,0x0,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x40,0x30,0x10,0x5,0xa,0x10,0xe0,0x21,0x26,0x0,0x2a,0x29,0x48,0x88,0x7,0x0,0x80,0x80,0xfc,0x4,0x48,0x40,0xa0,0x10,0xe,0x0,0x8,0x84,0x92,0x12,0xf0,0x0,
-+0x1,0x7f,0x1,0x3f,0x0,0x7f,0x40,0x8f,0x8,0x8,0x30,0xa,0x29,0x48,0x88,0x7,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x2,0xe4,0x20,0x28,0x38,0x0,0x84,0x92,0x12,0xf0,
-+0x8,0x12,0x21,0x4c,0x12,0x30,0x51,0x96,0x12,0x10,0xa,0x29,0x28,0x48,0x88,0x7,0x8,0x7c,0x0,0x4,0xfe,0x88,0x8,0x8,0x28,0x10,0x0,0x88,0x84,0x12,0x12,0xf0,
-+0x0,0x7e,0x42,0x7e,0x49,0x7e,0x48,0x49,0x65,0x42,0x0,0x2a,0x29,0x48,0x88,0x7,0x40,0x40,0x44,0xfe,0x48,0x28,0x10,0x28,0x4e,0x84,0x0,0x8,0x84,0x92,0x12,0xf0,
-+0x3f,0x22,0x2f,0x22,0x3f,0x22,0x27,0x2a,0x23,0x20,0x3f,0xa,0x29,0x48,0x88,0x7,0xfc,0x20,0xf8,0xa0,0xfc,0x0,0xf0,0x10,0xf0,0x0,0xfc,0x0,0x84,0x92,0x12,0xf0,
-+0xe,0x78,0x8,0xff,0x8,0x3e,0x22,0x22,0x22,0x3e,0x0,0x2a,0x29,0x48,0x88,0x7,0x20,0x24,0xfe,0x84,0xfc,0x84,0xfc,0x84,0xfc,0x84,0x0,0x8,0x84,0x92,0x12,0xf0,
-+0x8,0xff,0x0,0x7e,0x43,0x7e,0x0,0x7f,0x4,0xff,0x8,0x1a,0x51,0x50,0x90,0xf,0x40,0x40,0x44,0xfe,0x4,0x44,0x28,0x10,0x28,0x46,0x84,0x0,0x84,0x92,0x12,0xf0,
-+0x10,0x17,0x12,0xf9,0x17,0x39,0x33,0x55,0x91,0x13,0x0,0x2a,0x29,0x48,0x88,0x7,0x10,0xd0,0x94,0x7e,0xd0,0x58,0x34,0x52,0x90,0x10,0x0,0x8,0x84,0x92,0x12,0xf0,
-+0x41,0x2f,0x11,0x87,0x61,0x2f,0x15,0x26,0xe4,0x24,0x0,0x2a,0x29,0x48,0x88,0x7,0x10,0xfe,0x10,0xfc,0x10,0xfc,0x14,0xac,0x44,0xc,0x0,0x8,0x84,0x92,0x12,0xf0,
-+0x8,0xff,0x14,0xff,0x22,0x3e,0x22,0x3e,0x8,0x7f,0x8,0xa,0x51,0x50,0x90,0xf,0x40,0x7e,0xa8,0x10,0xee,0x0,0x7c,0x44,0x54,0x54,0x28,0x44,0x84,0x92,0x12,0xf0,
-+0x1,0x1,0x3f,0x1,0xff,0x1,0x3f,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x8,0xfc,0x8,0xfe,0x8,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x3f,0x1,0xff,0x1,0x3f,0x1,0x7f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x0,0x8,0xfc,0x8,0xfe,0x8,0xf8,0x0,0xfc,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,
-+0x1,0x1,0x7d,0x5,0x9,0x11,0x25,0xc2,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0x8,0x18,0xa0,0x40,0x30,0xe,0x4,0xf0,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x22,0x11,0x9,0x0,0x7f,0x41,0x81,0x1,0x3d,0x5,0x9,0x11,0x21,0xc1,0x5,0x2,0x8,0x18,0x20,0x40,0xfe,0x2,0x4,0x10,0xa0,0x40,0x20,0x10,0xe,0x4,0x0,0x0,
-+0x1,0x1,0x7d,0x5,0x9,0x11,0x25,0x42,0x8,0x9,0xfa,0x1c,0x2c,0xcb,0x28,0x10,0x8,0x10,0xa0,0xc0,0x40,0x30,0xe,0x4,0x20,0x24,0xe8,0x70,0xa8,0x26,0xa4,0x40,
-+0x4,0xfe,0x10,0x10,0x20,0x24,0x3e,0x64,0xa4,0x24,0x24,0x24,0x25,0x3d,0x22,0x4,0x8,0xfc,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0xa,0xa,0x6,0x0,
-+0x4,0xfd,0x10,0x10,0x20,0x20,0x3c,0x67,0xa4,0x24,0x24,0x24,0x24,0x3c,0x20,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x1,0xfe,0x10,0x20,0x20,0x21,0x7c,0xa4,0x24,0x24,0x24,0x25,0x3d,0x22,0x0,0x0,0xf8,0x10,0x20,0x40,0x84,0xfe,0x54,0x54,0x54,0x94,0xa4,0x24,0x44,0x54,0x88,
-+0x1,0x7f,0x1,0x3f,0x1,0x7f,0x1,0xff,0x4,0x4,0xf,0x18,0x28,0xc8,0xf,0x8,0x0,0xfc,0x0,0xf8,0x0,0xfc,0x0,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x4,0xfe,0x13,0x10,0x20,0x21,0x3d,0x67,0xa4,0x24,0x24,0x27,0x24,0x3c,0x20,0x0,0x40,0x48,0xfc,0x80,0xa0,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x4,0xfe,0x11,0x10,0x21,0x21,0x3d,0x65,0xa5,0x25,0x25,0x24,0x24,0x3c,0x20,0x0,0x20,0x24,0xfe,0x20,0x24,0x24,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x22,0x1e,0x0,
-+0x4,0xfe,0x10,0x10,0x20,0x21,0x3d,0x64,0xa4,0x24,0x24,0x24,0x25,0x3e,0x24,0x0,0x4,0xfe,0x8,0x88,0x88,0x8,0xfe,0x28,0x28,0x48,0x48,0x88,0x8,0x8,0x28,0x10,
-+0x4,0xfe,0x11,0x11,0x21,0x21,0x3d,0x65,0xa5,0x25,0x25,0x25,0x3d,0x21,0x2,0x4,0x0,0x1c,0xe0,0x0,0x0,0x4,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x4,0xfe,0x13,0x10,0x20,0x24,0x3f,0x64,0xa4,0x24,0x24,0x24,0x25,0x3f,0x22,0x0,0x8,0x3c,0xc0,0x40,0x20,0x20,0xfc,0x8,0x10,0x20,0x40,0x80,0x0,0x0,0x86,0x7c,
-+0x4,0xff,0x12,0x12,0x23,0x22,0x3a,0x6a,0xaa,0x2a,0x2a,0x2a,0x3b,0x24,0x8,0x10,0x8,0xfc,0x8,0x8,0x18,0x98,0xa8,0xa8,0x48,0x48,0xa8,0x98,0x1a,0xa,0xa,0x4,
-+0x4,0xfe,0x10,0x11,0x20,0x20,0x3c,0x67,0xa4,0x24,0x24,0x24,0x25,0x3d,0x20,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x40,0x80,0x8,0xfc,0x4,0x0,
-+0x4,0xfe,0x13,0x10,0x20,0x20,0x3d,0x65,0xa4,0x24,0x24,0x24,0x24,0x3c,0x21,0x6,0x88,0x88,0xfe,0x88,0x88,0x0,0x4,0x4,0x88,0x88,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x8,0xff,0x12,0x12,0x23,0x22,0x3a,0x6a,0xaa,0x2a,0x2a,0x2a,0x3a,0x24,0x9,0x12,0x8,0xfc,0x0,0x4,0xfe,0x40,0x44,0x7e,0x44,0x44,0x44,0x84,0x84,0x84,0x28,0x10,
-+0x4,0x4,0x7f,0x5,0x5,0x9,0x37,0xc1,0x0,0xff,0x4,0xf,0x18,0x28,0xcf,0x8,0x40,0x28,0xfc,0x0,0x30,0xc4,0x4,0xfc,0x4,0xfe,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x4,0xfe,0x10,0x10,0x21,0x22,0x3c,0x64,0xa4,0x24,0x24,0x24,0x24,0x3c,0x20,0x0,0x80,0x80,0x84,0xfe,0x40,0x40,0x48,0x7c,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,
-+0x4,0xfe,0x10,0x10,0x20,0x25,0x3e,0x64,0xa5,0x24,0x24,0x24,0x24,0x3c,0x23,0x0,0x20,0x20,0x50,0x50,0x88,0x4,0x2,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0xfe,0x11,0x11,0x21,0x21,0x3d,0x65,0xa5,0x25,0x25,0x25,0x25,0x3d,0x21,0x0,0x8,0x1c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x10,0x50,0x4a,0xaa,0x4,
-+0x4,0xfe,0x10,0x13,0x20,0x20,0x3d,0x65,0xa4,0x24,0x24,0x24,0x24,0x3c,0x27,0x0,0x40,0x20,0x24,0xfe,0x0,0x8,0x8,0x8,0x90,0x90,0x90,0x90,0x20,0x24,0xfe,0x0,
-+0x4,0xfe,0x10,0x13,0x22,0x24,0x3e,0x64,0xa4,0x24,0x24,0x24,0x24,0x3c,0x20,0x0,0x40,0x20,0x20,0xfe,0x2,0x84,0x80,0x88,0x98,0xa0,0xc0,0x80,0x82,0x82,0x7e,0x0,
-+0x0,0x0,0xfc,0x13,0x20,0x20,0x23,0x7a,0xaa,0x2b,0x28,0x28,0x28,0x38,0x1,0x2,0x90,0x90,0x94,0xfe,0x94,0x94,0xfc,0x90,0x90,0xfe,0x92,0x92,0x9a,0x94,0x10,0x10,
-+0x8,0xff,0x12,0x12,0x22,0x22,0x3a,0x6f,0xaa,0x2a,0x2a,0x2a,0x3a,0x22,0x4,0x8,0x44,0xe4,0x44,0x54,0x54,0x54,0x54,0xf4,0x54,0x54,0x54,0x54,0x44,0x44,0x54,0x48,
-+0x4,0xfe,0x13,0x10,0x20,0x20,0x3c,0x67,0xa5,0x25,0x25,0x25,0x25,0x3d,0x20,0x0,0x88,0x88,0xfe,0x88,0x88,0x20,0x24,0xfe,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x8,0xfc,0x17,0x10,0x22,0x21,0x39,0x68,0xaf,0x28,0x28,0x29,0x29,0x3a,0x24,0x8,0x40,0x48,0xfc,0x40,0x48,0x48,0x50,0x44,0xfe,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x4,0xfe,0x10,0x13,0x20,0x20,0x3c,0x65,0xa4,0x27,0x24,0x24,0x24,0x3d,0x21,0x6,0x40,0x48,0x7c,0xc0,0x28,0x12,0x6a,0x86,0x0,0xfc,0x90,0x90,0x90,0x12,0x12,0xe,
-+0x4,0x4,0x27,0x24,0x24,0x3f,0xe0,0x0,0x7f,0x4,0x8,0x1f,0x28,0xc8,0xf,0x8,0x40,0x40,0x4c,0x70,0x42,0x42,0x3e,0x0,0xfc,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,
-+0x8,0xff,0x12,0x12,0x22,0x22,0x3a,0x6a,0xaa,0x2a,0x2a,0x2a,0x2a,0x3a,0x22,0x2,0x4,0xfe,0x4,0x4,0xf4,0x4,0x4,0xf4,0x94,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x4,0xfe,0x10,0x11,0x21,0x21,0x3d,0x65,0xa5,0x25,0x25,0x25,0x25,0x3d,0x21,0x1,0x20,0x20,0x44,0xfe,0x4,0x8c,0x54,0x54,0x24,0x54,0x4c,0x8c,0x4,0x4,0xfc,0x4,
-+0x0,0x4,0xfe,0x11,0x21,0x22,0x20,0x7c,0xa4,0x25,0x27,0x25,0x25,0x3d,0x21,0x1,0x80,0x88,0xfc,0x8,0x88,0x50,0x20,0x50,0x8e,0x4,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0xfe,0x13,0x10,0x20,0x23,0x3c,0x64,0xa4,0x24,0x27,0x24,0x24,0x3c,0x22,0x1,0x10,0x58,0x94,0x94,0x90,0xfe,0x90,0x90,0xb4,0xd4,0x98,0x90,0xaa,0xca,0x8a,0x4,
-+0x8,0xfc,0x13,0x10,0x21,0x24,0x3f,0x64,0xa5,0x25,0x25,0x25,0x25,0x3c,0x20,0x3,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x0,0xfc,0x4,0x24,0x24,0x24,0x58,0x84,0x2,
-+0x4,0xfe,0x10,0x10,0x20,0x25,0x3e,0x64,0xa4,0x24,0x24,0x24,0x24,0x3c,0x20,0x0,0x60,0x50,0x44,0xfe,0x90,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,
-+0x4,0xfe,0x13,0x10,0x21,0x20,0x3c,0x67,0xa4,0x25,0x25,0x25,0x25,0x3d,0x21,0x1,0x40,0x28,0xfc,0x0,0x8,0x90,0x4,0xfe,0x0,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0xfe,0x13,0x12,0x24,0x21,0x3c,0x64,0xa5,0x25,0x25,0x25,0x25,0x3d,0x22,0x4,0x40,0x20,0xfe,0x2,0x4,0xfc,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0xa6,0x7c,
-+0x8,0xfc,0x11,0x13,0x20,0x27,0x38,0x69,0xaa,0x2d,0x28,0x28,0x2b,0x38,0x20,0x3,0x40,0x90,0x8,0xfc,0x40,0xfe,0x90,0x28,0x46,0x94,0x20,0xc8,0x10,0x20,0xc0,0x0,
-+0x4,0xff,0x10,0x11,0x20,0x23,0x3c,0x65,0xa5,0x25,0x27,0x25,0x25,0x3d,0x20,0x0,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x0,0xfc,0x44,0x24,0xfe,0x44,0x24,0xfe,0x4,0x18,
-+0x8,0xfd,0x11,0x11,0x21,0x29,0x3d,0x69,0xaa,0x2c,0x2a,0x2b,0x2a,0x3b,0x20,0x0,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x44,0x44,0xb4,0x14,0x4,0xfc,0x4,0x8,
-+0x4,0xfe,0x11,0x10,0x20,0x23,0x3e,0x64,0xa5,0x25,0x25,0x25,0x25,0x3c,0x20,0x0,0x40,0x24,0xfe,0x88,0x50,0xfe,0x22,0x24,0xfe,0x24,0x24,0x34,0x28,0x20,0x20,0x20,
-+0x4,0xfe,0x13,0x12,0x24,0x21,0x3c,0x65,0xa5,0x25,0x25,0x25,0x24,0x3c,0x23,0x0,0x40,0x20,0xfe,0x2,0x4,0xfc,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x0,0x4,0xfe,0x0,
-+0x8,0xfc,0x13,0x12,0x22,0x23,0x3a,0x6a,0xab,0x2b,0x2b,0x2d,0x29,0x39,0x21,0x1,0x40,0x24,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x54,0x54,0xfc,0x54,0x54,0x54,0xc,
-+0x9,0xfd,0x11,0x12,0x26,0x21,0x39,0x6a,0xa8,0x2f,0x28,0x28,0x29,0x3a,0x2c,0x0,0x8,0x8,0xfc,0x48,0xa8,0x3e,0x8,0x48,0x44,0xfe,0xc0,0xe0,0x50,0x4e,0x44,0x40,
-+0x8,0xfc,0x17,0x11,0x22,0x24,0x39,0x6b,0xa8,0x28,0x29,0x2b,0x2d,0x39,0x21,0x1,0x40,0x24,0xfe,0x8,0x46,0x92,0x8,0xfc,0x80,0x88,0x50,0x20,0x10,0x48,0x8e,0x4,
-+0x5,0xfe,0x10,0x10,0x21,0x23,0x3d,0x64,0xa5,0x24,0x27,0x24,0x24,0x3d,0x22,0x0,0xfc,0x88,0x70,0x88,0x6,0xfc,0x54,0x88,0x54,0x22,0xfe,0x70,0xa8,0x26,0x20,0x20,
-+0x8,0x7f,0x8,0x3e,0x0,0x7f,0x49,0x7f,0x40,0x40,0xbf,0x4,0xf,0x18,0x68,0xf,0x78,0x48,0x48,0x48,0x86,0x78,0x48,0x30,0x48,0x86,0xfc,0x0,0xf0,0x10,0x10,0xf0,
-+0xa,0xff,0x11,0x14,0x22,0x20,0x39,0x6a,0xaa,0x28,0x2f,0x28,0x29,0x3a,0x24,0x0,0x4,0x7e,0x40,0x7c,0x44,0xfc,0x40,0x7e,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x9,0xfd,0x17,0x10,0x27,0x24,0x3f,0x68,0xaf,0x28,0x29,0x29,0x2f,0x39,0x25,0x2,0x10,0x10,0xd0,0x1e,0xe4,0x44,0xd4,0x14,0xd4,0x94,0x8,0xc8,0x14,0x14,0x22,0x40,
-+0x8,0xff,0x10,0x12,0x21,0x21,0x3b,0x6c,0xab,0x2a,0x2a,0x2b,0x29,0x38,0x27,0x0,0x20,0xa8,0xb0,0xa4,0x18,0x10,0xf8,0x6,0xf8,0x8,0x8,0xf8,0x10,0xa4,0xfe,0x0,
-+0xb,0xfc,0x11,0x11,0x21,0x25,0x3f,0x64,0xa5,0x25,0x25,0x25,0x25,0x3c,0x23,0x0,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfc,0x0,0xfe,0x0,
-+0x1,0xff,0x21,0x22,0x23,0x44,0x7b,0xd6,0x55,0x58,0x57,0x50,0x51,0x72,0x44,0x0,0x10,0xfe,0x10,0x20,0xbc,0xa4,0x18,0x8,0xf4,0x2,0xfc,0x40,0x50,0x4c,0x44,0xc0,
-+0x1,0xff,0x21,0x27,0x24,0x49,0x70,0xd7,0x50,0x51,0x56,0x50,0x57,0x70,0x47,0x0,0x10,0xfe,0x10,0xfe,0x2,0xf4,0x0,0xfc,0x80,0x48,0x70,0xb0,0x68,0xa6,0x20,0x60,
-+0x1,0xff,0x21,0x2b,0x24,0x41,0x79,0xd5,0x55,0x51,0x55,0x57,0x54,0x78,0x48,0x0,0x10,0xfe,0x28,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0xfe,0x88,0x48,0x8,0x18,
-+0x1,0x2,0xc,0x3f,0xc0,0x1f,0x10,0x1f,0x2,0xff,0x2,0x4,0x4,0x9,0x12,0x60,0x0,0x80,0x60,0xf8,0x6,0xf0,0x10,0xf0,0x24,0xfe,0x80,0xa0,0xc0,0x84,0x84,0x7c,
-+0x4,0x24,0x14,0x4,0xff,0x9,0x5,0x3f,0x21,0x21,0x23,0x25,0x29,0x21,0x21,0x21,0x40,0x48,0x50,0x44,0xfe,0x20,0x48,0xfc,0x8,0x8,0x88,0x68,0x28,0x8,0x28,0x10,
-+0x14,0x55,0x36,0x14,0xff,0x49,0x2a,0x7f,0x49,0x49,0x5d,0x6b,0x49,0x49,0x49,0x43,0x20,0x28,0x24,0x24,0xfe,0x20,0x20,0x3c,0x54,0x54,0x54,0x48,0x54,0x94,0x24,0x42,
-+0x28,0xaa,0x6c,0x29,0xfe,0x54,0x39,0x7d,0x55,0x55,0x7d,0x55,0x55,0x55,0x55,0x45,0x20,0x28,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x24,0x2c,
-+0x0,0x5,0x7e,0x44,0x44,0x7c,0x44,0x47,0x7c,0x44,0x44,0x44,0x7c,0x44,0x0,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x3,0x7c,0x45,0x45,0x7d,0x45,0x45,0x7d,0x44,0x44,0x44,0x7c,0x44,0x0,0x0,0x4,0xfe,0x20,0x20,0x24,0x3e,0x24,0x24,0xfc,0x4,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x0,0x1,0x7d,0x45,0x45,0x7d,0x45,0x45,0x7d,0x45,0x45,0x45,0x7d,0x45,0x1,0x0,0x4,0xfe,0x0,0x4,0x84,0x48,0x28,0x10,0x28,0x28,0x44,0x84,0x0,0x4,0xfe,0x0,
-+0x0,0x0,0x78,0x4f,0x48,0x7a,0x4a,0x4a,0x7a,0x4a,0x4b,0x48,0x78,0x48,0x0,0x0,0x40,0x40,0x44,0xfe,0x40,0x48,0x48,0x48,0x48,0x48,0xf8,0x48,0x42,0x42,0x3e,0x0,
-+0x0,0x8,0x7c,0x48,0x49,0x79,0x4a,0x4a,0x7c,0x48,0x48,0x48,0x78,0x48,0x3,0xc,0x40,0x40,0x40,0x40,0x50,0x48,0x46,0x4a,0x48,0x50,0x50,0x20,0x40,0x80,0x0,0x0,
-+0x0,0x8,0x7c,0x4b,0x4a,0x7c,0x48,0x48,0x78,0x48,0x48,0x48,0x79,0x49,0x2,0xc,0x40,0x40,0x40,0xfe,0x42,0x44,0x40,0x40,0x60,0xa0,0xa0,0xa0,0x22,0x22,0x1e,0x0,
-+0x11,0x11,0x1f,0x21,0x5f,0x1,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x0,0x10,0xf8,0x0,0xf0,0x4,0xfe,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x10,0x1e,0x12,0x32,0x4a,0x4,0x8,0x30,0xdf,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x8,0xfc,0x88,0x88,0xa8,0x90,0x82,0x7e,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x0,0x4,0x7e,0x44,0x44,0x7d,0x47,0x44,0x7c,0x45,0x45,0x45,0x7d,0x45,0x1,0x1,0x20,0x20,0x40,0x40,0x88,0x4,0xfe,0x2,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0x0,0x7d,0x44,0x44,0x7c,0x47,0x44,0x7c,0x44,0x45,0x44,0x7c,0x44,0x3,0x0,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x8,0x7c,0x48,0x4a,0x7a,0x4a,0x4a,0x7a,0x4a,0x4a,0x4a,0x7a,0x4b,0x6,0x0,0x10,0x90,0x90,0x90,0x90,0x92,0xf6,0x98,0x90,0x90,0x90,0x90,0xf2,0x92,0x1e,0x0,
-+0x0,0x4,0x7e,0x45,0x46,0x7c,0x44,0x44,0x7f,0x44,0x44,0x45,0x7c,0x44,0x0,0x3,0x40,0x40,0xfc,0x8,0x90,0x60,0x40,0xa0,0x3e,0x42,0x84,0x44,0x28,0x10,0x60,0x80,
-+0x0,0x8,0x7c,0x49,0x4b,0x78,0x49,0x49,0x7a,0x48,0x4f,0x48,0x78,0x48,0x0,0x0,0x40,0x40,0x90,0x8,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x78,0x4f,0x48,0x7a,0x49,0x48,0x7f,0x48,0x48,0x49,0x79,0x4a,0x4,0x0,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x64,0xfe,0xc0,0xe0,0x50,0x48,0x4e,0x44,0x40,
-+0x0,0x8,0x7c,0x49,0x4a,0x7c,0x49,0x48,0x7a,0x4a,0x49,0x49,0x79,0x48,0x7,0x0,0x40,0x40,0xa0,0x10,0xe,0x24,0xf0,0x0,0x48,0x48,0x48,0x50,0x50,0x24,0xfe,0x0,
-+0x2,0x9,0x7c,0x4b,0x48,0x78,0x4b,0x4a,0x7a,0x4b,0x48,0x49,0x7a,0x44,0x0,0x0,0x8,0x10,0xa0,0xf8,0x48,0x48,0xf8,0x40,0x44,0xfe,0xc4,0x44,0x54,0x48,0x40,0x40,
-+0x0,0x8,0x7c,0x49,0x4b,0x78,0x49,0x4a,0x78,0x49,0x49,0x4a,0x7c,0x48,0x1,0x6,0x40,0x40,0x90,0x8,0xfc,0x90,0xc,0x84,0xf8,0x8,0x10,0xa0,0x40,0xa0,0x18,0x6,
-+0x0,0xb,0x7e,0x4a,0x4a,0x7a,0x4a,0x4b,0x7a,0x4a,0x4a,0x4a,0x7a,0x42,0x5,0x8,0x4,0xfe,0x20,0x20,0xf8,0x20,0x20,0xfc,0x20,0x20,0xf8,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x45,0x45,0x7d,0x44,0x44,0x44,0x7c,0x41,0x2,0xc,0x44,0x9e,0x4,0x4,0xdc,0x4,0x4,0xfc,0x54,0x50,0x50,0x90,0x92,0x12,0xe,0x0,
-+0x0,0x8,0x7c,0x49,0x49,0x7b,0x4d,0x49,0x79,0x49,0x49,0x49,0x79,0x49,0x1,0x1,0xc0,0xa0,0x84,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x0,0x8,0x7f,0x4a,0x4a,0x7b,0x4a,0x4a,0x7b,0x48,0x49,0x4f,0x78,0x48,0x0,0x0,0x40,0x84,0xfe,0x44,0x44,0xfc,0x44,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x1,0x1,0x41,0x7f,0x40,0x9f,0x9,0x32,0xc,0x3f,0xd0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0xf8,0x0,0xfe,0x2,0xf4,0x20,0x98,0x60,0xf0,0x1e,0xf0,0x10,0xf0,0x10,0xf0,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x45,0x45,0x7c,0x47,0x44,0x44,0x7c,0x44,0x1,0x6,0x24,0xae,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0x3,0x78,0x4a,0x49,0x79,0x4a,0x4d,0x78,0x48,0x4b,0x48,0x78,0x48,0x1,0x6,0x28,0xb0,0xa4,0xa8,0x10,0x8,0xe,0xf4,0x40,0x48,0xfc,0x40,0xa0,0xa0,0x1c,0x8,
-+0x7e,0x24,0x18,0xfe,0x2b,0x28,0x48,0x89,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x40,0x44,0x7e,0x88,0x50,0x20,0x50,0x8e,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x0,0x0,0x7b,0x48,0x4f,0x78,0x49,0x4b,0x78,0x4b,0x4a,0x4a,0x7a,0x4a,0x7,0x0,0x40,0x48,0xfc,0x40,0xfe,0x80,0x10,0xf8,0x0,0xfc,0x94,0x94,0x94,0x94,0xfe,0x0,
-+0x0,0x7b,0x4a,0x4c,0x49,0x79,0x49,0x49,0x79,0x48,0x48,0x4f,0x78,0x48,0x1,0x2,0x0,0xfe,0x2,0x4,0xf8,0x8,0xf8,0x8,0xf8,0x40,0x24,0xfe,0x0,0x88,0x6,0x2,
-+0x0,0x7,0x78,0x48,0x4b,0x7a,0x4a,0x4b,0x78,0x49,0x48,0x4f,0x79,0x4a,0x4,0x0,0x4,0xfe,0x90,0x94,0xfe,0x94,0x94,0xfc,0x0,0xf8,0x0,0xfe,0x50,0x4c,0x44,0xc0,
-+0x0,0x9,0x7c,0x48,0x4b,0x7a,0x4d,0x49,0x79,0x49,0x48,0x49,0x78,0x48,0x3,0x0,0x20,0x24,0xa8,0x20,0xfe,0x2,0xfc,0x4,0x4,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x0,0xb,0x7c,0x48,0x4f,0x7a,0x4a,0x4b,0x7a,0x4a,0x4b,0x4a,0x7a,0x4f,0x0,0x0,0x10,0x90,0x90,0x9e,0xe4,0x54,0x54,0xd4,0x54,0x4c,0xc8,0x54,0xf4,0x54,0x62,0x40,
-+0x0,0x2,0x79,0x4f,0x49,0x7a,0x4c,0x4a,0x7b,0x4a,0x4a,0x4d,0x79,0x42,0x4,0x0,0x40,0x48,0x50,0xfe,0x50,0x48,0x46,0x8,0xbc,0xa8,0xa8,0x28,0x7e,0x8,0x8,0x8,
-+0x8,0xff,0x8,0x7f,0x22,0x3e,0x14,0x1f,0xf0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x10,0xfe,0x10,0x7c,0x44,0x28,0x10,0x28,0x46,0xf0,0x10,0xf0,0x10,0xf0,0x10,0xf0,
-+0x0,0x3,0x7c,0x54,0x54,0x54,0x54,0x7c,0x54,0x54,0x54,0x54,0x7c,0x44,0x0,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x0,0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x0,0xff,0x8,0x8,0x8,0x8,0x10,0x20,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x4,0x7e,0x54,0x54,0x57,0x54,0x7c,0x54,0x54,0x54,0x55,0x7d,0x42,0x4,0x8,0x40,0x60,0x50,0x50,0x44,0xfe,0x40,0x40,0x40,0xa0,0xa0,0x10,0x10,0x8,0xe,0x4,
-+0x0,0x4,0x7e,0x54,0x54,0x55,0x56,0x7c,0x54,0x54,0x54,0x54,0x7c,0x44,0x1,0x2,0x40,0x40,0x40,0x84,0xfe,0x8,0x88,0x88,0x50,0x50,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x0,0x4,0x7f,0x55,0x55,0x55,0x55,0x7d,0x55,0x55,0x55,0x55,0x7e,0x42,0x4,0x1,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x44,0x48,0x28,0x28,0x10,0x28,0x28,0x44,0x82,
-+0x0,0x4,0x7e,0x54,0x55,0x56,0x54,0x7c,0x57,0x54,0x54,0x55,0x7c,0x44,0x0,0x3,0x40,0x40,0xa0,0xa0,0x18,0x16,0x20,0xc8,0x10,0x20,0x44,0x88,0x10,0x20,0xc0,0x0,
-+0x1,0x2,0xc,0x17,0xe0,0x1f,0x9,0x11,0x25,0x2,0x1f,0x11,0x1f,0x11,0x1f,0x10,0x0,0x80,0x60,0xd0,0xe,0xf0,0x20,0x18,0x8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x0,0x4,0x7f,0x56,0x55,0x55,0x55,0x7d,0x55,0x56,0x54,0x54,0x7c,0x45,0x2,0x4,0x40,0x20,0xfe,0x2,0x4,0xde,0x54,0x54,0x54,0xd4,0x5c,0x94,0x90,0x12,0xe,0x0,
-+0x0,0x5,0x7e,0x54,0x57,0x54,0x55,0x7d,0x55,0x55,0x55,0x54,0x7d,0x44,0x3,0x0,0x20,0xfc,0x88,0x50,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x0,0x3f,0x24,0x24,0x24,0x3f,0x0,0xff,0x0,0x1,0x3,0x5,0x19,0x61,0x1,0x1,0x8,0xfc,0x48,0x48,0x48,0xf8,0x4,0xfe,0x80,0x0,0x0,0x60,0x18,0x4,0x0,0x0,
-+0x0,0x3f,0x24,0x24,0x24,0x3f,0x0,0x3f,0x1,0x11,0x11,0x11,0x11,0x11,0xff,0x0,0x8,0xfc,0x48,0x48,0x48,0xf8,0x0,0xfc,0x0,0x10,0xf8,0x0,0x0,0x4,0xfe,0x0,
-+0x0,0x7f,0x44,0x44,0x7f,0x1,0x1,0xff,0x1,0x1,0x1f,0x10,0x10,0x10,0x1f,0x10,0x4,0xfe,0x44,0x44,0xfc,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x7f,0x44,0x44,0x7f,0x1,0xff,0x0,0x3f,0x0,0x3f,0x0,0x1f,0x10,0x10,0x1f,0x4,0xfe,0x44,0x44,0xfc,0x0,0xfe,0x0,0xf8,0x0,0xf8,0x0,0xf0,0x10,0x10,0xf0,
-+0x0,0x7f,0x44,0x44,0x7f,0x2,0xff,0x4,0x9,0x3f,0xd1,0x1f,0x11,0x1f,0x1,0x0,0x4,0xfe,0x44,0x44,0xfc,0x0,0xfe,0x40,0x20,0xf8,0x16,0xf0,0x10,0xf4,0x4,0xfc,
-+0x0,0x7f,0x44,0x44,0x7f,0x1,0x3f,0x1,0xff,0x2,0x4,0x1f,0x0,0x24,0x22,0x42,0x4,0xfe,0x44,0x44,0xfc,0x0,0xf8,0x0,0xfe,0x0,0x20,0xf0,0x0,0x88,0x44,0x44,
-+0x0,0x7f,0x44,0x44,0x7f,0x1,0xff,0x1,0x3f,0x24,0x2f,0x21,0x3f,0x21,0x21,0x20,0x4,0xfe,0x44,0x44,0xfc,0x0,0xfe,0x8,0xfc,0x48,0xe8,0x8,0xf8,0x8,0x28,0x10,
-+0x0,0x7f,0x44,0x44,0x7f,0x11,0x11,0x5b,0x52,0x97,0x1a,0x13,0x12,0x12,0x13,0x12,0x4,0xfe,0x44,0x44,0xfc,0x40,0x24,0xfe,0x20,0xfc,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x0,0x7f,0x44,0x7f,0x22,0xff,0x22,0x3e,0x8,0x7f,0x49,0x7f,0x8,0xff,0x8,0x8,0x4,0xfe,0x44,0xfc,0x0,0xf8,0x8,0x48,0x48,0x48,0x7c,0x4,0xf4,0x4,0x14,0x8,
-+0x0,0x3f,0x24,0x3f,0x8,0x7f,0x51,0x49,0x7f,0x40,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x8,0xfc,0x48,0xf8,0x20,0xfc,0x14,0x24,0xfc,0x4,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x1,0x1,0x3f,0x1,0x1,0x7f,0x4,0x8,0x1f,0x0,0x3f,0x24,0x24,0x24,0xff,0x0,0x0,0x10,0xf8,0x0,0x8,0xfc,0x0,0x20,0xf0,0x8,0xfc,0x48,0x48,0x48,0xfe,0x0,
-+0x9,0x71,0x4d,0x45,0x75,0x49,0x41,0x75,0x42,0x3f,0x24,0x24,0x24,0x24,0xff,0x0,0x4,0x3e,0xc4,0x84,0x5c,0x44,0x24,0x1c,0x4,0xf8,0x48,0x48,0x48,0x48,0xfe,0x0,
-+0x0,0x45,0x29,0xff,0x1,0x28,0x44,0x1,0x7f,0x45,0x65,0x55,0x4c,0x44,0xff,0x0,0x4,0xfe,0x54,0x54,0xfc,0x84,0xfe,0x44,0xf4,0x54,0x54,0xf4,0x54,0x74,0x94,0x8,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x82,0x7e,0x0,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x11,0x15,0x19,0x10,0x0,0x0,0x0,0xfc,0x8,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x40,0x40,0x40,0x40,0x40,0x60,0x50,0x48,0x44,0x44,0x40,0x40,0x40,0x40,0x40,0x40,
-+0x10,0x12,0x1f,0x20,0x24,0x7e,0x90,0x12,0xff,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x4,0x4,0x4,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x4,0x4,0x14,0x8,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x12,0x14,0x18,0x10,0x0,0x0,0x0,0xfc,0x4,0x8,0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x91,0x14,0xfe,0x10,0x10,0x12,0x14,0x18,0x13,0x0,0x20,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x15,0xff,0x11,0x11,0x13,0x15,0x19,0x12,0x4,0x4,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x4,0x4,
-+0x10,0x12,0x1f,0x20,0x24,0x7e,0x90,0x12,0xff,0x10,0x10,0x12,0x14,0x18,0x11,0x6,0x4,0xc,0x10,0x20,0x40,0x84,0xc,0x10,0x20,0x42,0x6,0x8,0x10,0x60,0x80,0x0,
-+0x12,0x11,0x1c,0x22,0x22,0x7e,0x92,0x12,0xfe,0x12,0x12,0x12,0x16,0x1a,0x12,0x2,0x4,0x7e,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x10,0x14,0x1e,0x20,0x21,0x7c,0x90,0x14,0xfe,0x10,0x10,0x12,0x14,0x18,0x11,0x6,0x0,0x4,0xfe,0x4,0x44,0xa8,0xa8,0x48,0x50,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x14,0x1e,0x20,0x20,0x7f,0x90,0x14,0xfe,0x11,0x10,0x12,0x14,0x18,0x11,0x6,0x40,0x40,0x40,0x40,0x44,0xfe,0x88,0x88,0x88,0x8,0x88,0x50,0x20,0x50,0x8c,0x4,
-+0x10,0x14,0x1f,0x20,0x20,0x7c,0x90,0x14,0xfe,0x11,0x12,0x10,0x14,0x18,0x10,0x0,0x0,0x4,0xfe,0x10,0x10,0x20,0x20,0x60,0xa8,0x26,0x22,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x14,0x1e,0x20,0x20,0x7f,0x90,0x14,0xfe,0x10,0x10,0x15,0x19,0x12,0x4,0x8,0x40,0x40,0x40,0x40,0x44,0xfe,0x40,0x40,0xa0,0xa0,0x90,0x10,0x88,0x48,0x46,0x4,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x15,0xff,0x11,0x11,0x11,0x15,0x19,0x11,0x0,0x8,0xfc,0x0,0x0,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,
-+0x10,0x14,0x1f,0x21,0x21,0x7d,0x91,0x15,0xff,0x11,0x11,0x11,0x15,0x1a,0x12,0x5,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x4,0x44,0x48,0x48,0x30,0x10,0x28,0x48,0x86,0x4,
-+0x10,0x14,0x1e,0x20,0x21,0x7e,0x94,0x10,0xfe,0x11,0x10,0x12,0x14,0x18,0x10,0x0,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x44,0x40,0x0,0xf8,0x8,0x10,0x10,0x20,0x40,0x80,
-+0x10,0x14,0x1e,0x21,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x10,0x15,0x19,0x12,0x4,0x40,0x20,0x24,0xfe,0x40,0x44,0x7e,0x44,0x44,0x44,0x84,0x84,0x4,0x4,0x28,0x10,
-+0x10,0x14,0x1e,0x21,0x20,0x7c,0x90,0x14,0xfe,0x10,0x10,0x12,0x15,0x19,0x12,0x4,0x40,0x20,0x4,0xfe,0x0,0x10,0xf8,0x90,0x90,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x10,0x14,0x1e,0x20,0x24,0x7e,0x90,0x14,0xfe,0x10,0x13,0x10,0x14,0x18,0x10,0x0,0x8,0x88,0x48,0x48,0x8,0x88,0x48,0x48,0xe,0x78,0x88,0x8,0x8,0x8,0x8,0x8,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x11,0xfe,0x10,0x10,0x12,0x14,0x18,0x11,0x2,0x20,0x20,0x20,0x20,0xa4,0xac,0xb0,0x20,0x20,0x50,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xff,0x11,0x11,0x13,0x15,0x19,0x10,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x15,0x1e,0x20,0x20,0x7c,0x90,0x11,0xfe,0x10,0x10,0x12,0x14,0x18,0x13,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x28,0xfc,0x20,0x30,0x28,0x28,0x20,0x24,0xfe,0x0,
-+0x10,0x13,0x1e,0x20,0x20,0x7c,0x91,0x11,0xfd,0x11,0x11,0x11,0x15,0x19,0x17,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x14,0x1e,0x20,0x23,0x7c,0x90,0x10,0xfd,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x14,0x1f,0x20,0x20,0x7d,0x91,0x11,0xff,0x11,0x11,0x11,0x14,0x18,0x10,0x0,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0xe8,0x8,0x8,0x8,0x28,0x10,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xff,0x11,0x11,0x11,0x15,0x19,0x11,0x0,0x4,0xfe,0x0,0x8,0x7c,0x48,0x48,0x48,0x48,0x48,0x78,0x48,0x0,0x4,0xfe,0x0,
-+0x10,0x10,0x1e,0x23,0x20,0x7c,0x91,0x13,0xfd,0x11,0x11,0x11,0x15,0x19,0x10,0x0,0x40,0x40,0x44,0xfe,0x80,0xa0,0x24,0xfe,0x24,0x24,0x24,0x24,0x34,0x28,0x20,0x20,
-+0x10,0x14,0x1e,0x20,0x23,0x7c,0x90,0x14,0xfe,0x10,0x10,0x13,0x15,0x19,0x12,0x4,0x40,0x50,0x48,0x48,0xfe,0x40,0x40,0xfc,0x84,0xa4,0xa8,0x28,0x10,0x28,0x46,0x84,
-+0x10,0x14,0x1e,0x20,0x21,0x7d,0x91,0x15,0xff,0x11,0x11,0x13,0x15,0x19,0x10,0x0,0x20,0x28,0x24,0x20,0xfe,0x20,0x20,0x24,0x24,0x24,0x18,0x50,0x92,0x2a,0x4a,0x84,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xff,0x11,0x11,0x13,0x15,0x19,0x11,0x1,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x14,0x1f,0x21,0x21,0x7d,0x91,0x11,0xff,0x11,0x11,0x11,0x14,0x18,0x13,0x0,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0xfe,0x0,
-+0x10,0x14,0x1f,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x1d,0x21,0x21,0x7d,0x91,0x15,0xfe,0x10,0x10,0x10,0x15,0x1a,0x10,0x0,0x8,0x1c,0xe0,0x0,0x20,0x20,0x24,0xfe,0x20,0x20,0xa8,0xa4,0x26,0x22,0xa0,0x40,
-+0x10,0x10,0x1e,0x23,0x20,0x7c,0x91,0x15,0xff,0x11,0x11,0x11,0x15,0x19,0x10,0x0,0x40,0x20,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0x2c,0x20,0x20,
-+0x10,0x10,0x1e,0x23,0x20,0x7c,0x90,0x11,0xfd,0x10,0x10,0x12,0x14,0x19,0x13,0x0,0x40,0x20,0x24,0xfe,0x40,0x40,0x88,0x8,0xf0,0x20,0x40,0x40,0x88,0x4,0xfc,0x4,
-+0x10,0x10,0x1e,0x23,0x22,0x7c,0x90,0x14,0xfc,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x40,0x20,0x20,0xfe,0x2,0x84,0x80,0x90,0xb0,0xc0,0x80,0x80,0x82,0x82,0x7e,0x0,
-+0x10,0x14,0x1e,0x20,0x20,0x7c,0x90,0x12,0xfe,0x12,0x14,0x10,0x15,0x1a,0x14,0x0,0x0,0x44,0x24,0x28,0x88,0x90,0x90,0xa4,0xa2,0xc2,0x82,0x80,0x84,0x84,0x7c,0x0,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x15,0xff,0x11,0x11,0x11,0x15,0x19,0x12,0x4,0x4,0xfe,0x4,0x4,0xfc,0x0,0x40,0x44,0x4c,0x50,0x60,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x14,0x1e,0x21,0x21,0x7d,0x91,0x15,0xff,0x11,0x11,0x11,0x15,0x1a,0x12,0x5,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xfc,0x8,0x48,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x10,0x15,0x1e,0x20,0x20,0x7c,0x90,0x13,0xfe,0x10,0x10,0x11,0x14,0x18,0x10,0x0,0x0,0xfc,0x88,0x50,0x20,0x50,0x8e,0x24,0xf8,0x20,0x28,0xfc,0x20,0x20,0x20,0x20,
-+0x10,0x14,0x1f,0x20,0x24,0x7f,0x90,0x10,0xfd,0x12,0x14,0x12,0x14,0x18,0x10,0x0,0x40,0x44,0xf8,0x50,0x64,0xfe,0x40,0x88,0xfc,0x40,0x7c,0x4,0x4,0x44,0x28,0x10,
-+0x10,0x10,0x1d,0x20,0x20,0x7c,0x93,0x10,0xfd,0x12,0x14,0x10,0x14,0x18,0x10,0x0,0x40,0x44,0xfc,0x48,0x50,0x64,0xfe,0x80,0x88,0x98,0xa0,0xc0,0x84,0x84,0x7c,0x0,
-+0x10,0x17,0x1d,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x11,0x11,0x17,0x18,0x10,0x0,0x4,0xfe,0x8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x3e,0xc8,0x8,0x8,0x8,
-+0x10,0x14,0x1f,0x20,0x21,0x7d,0x93,0x15,0xfd,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x80,0x84,0xfe,0x80,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x10,0x10,0x1c,0x23,0x22,0x7e,0x92,0x13,0xfe,0x12,0x12,0x17,0x1a,0x12,0x4,0x8,0x10,0x18,0x14,0xfe,0x10,0x10,0x10,0xd4,0x54,0x54,0x54,0x58,0x88,0xa,0xa,0x6,
-+0x10,0x10,0x1e,0x23,0x20,0x7e,0x91,0x10,0xff,0x10,0x10,0x10,0x15,0x19,0x12,0xc,0x40,0x40,0x48,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0xa0,0xa0,0x10,0x10,0xe,0x4,
-+0x10,0x10,0x1e,0x23,0x20,0x7c,0x91,0x14,0xff,0x10,0x10,0x10,0x15,0x19,0x12,0x4,0x40,0x40,0x5c,0xe0,0x28,0x32,0xce,0x0,0xfc,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x20,0x2f,0x38,0x22,0x42,0x7c,0xa4,0x27,0xf9,0x21,0x22,0x2a,0x34,0x24,0xa,0x1,0x0,0xfc,0xa4,0xa4,0xa4,0xa8,0xa4,0xe4,0xa2,0xa2,0xa2,0xb4,0xa8,0xa0,0xa0,0x20,
-+0x10,0x15,0x1e,0x20,0x20,0x7c,0x93,0x10,0xfe,0x10,0x11,0x10,0x14,0x18,0x13,0x0,0x20,0x24,0xa4,0xa8,0xb0,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x23,0x3a,0x22,0x43,0x78,0xa0,0x27,0xfc,0x24,0x24,0x24,0x2c,0x34,0x20,0x0,0x8,0xfc,0x8,0x8,0xf8,0x40,0x44,0xfe,0x44,0x44,0x44,0x44,0x54,0x48,0x40,0x40,
-+0x20,0x27,0x3c,0x24,0x44,0x7c,0xa7,0x24,0xfc,0x24,0x24,0x25,0x2c,0x34,0x27,0x4,0x4,0xfe,0x4,0x44,0x44,0x54,0xfc,0x44,0x44,0xa4,0x94,0x14,0x4,0x4,0xfc,0x4,
-+0x10,0x15,0x1f,0x21,0x21,0x7c,0x91,0x14,0xfe,0x11,0x11,0x11,0x15,0x19,0x10,0x0,0x20,0x24,0x24,0x24,0xfc,0x0,0xfc,0x4,0x4,0xfc,0x4,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x1d,0x21,0x22,0x7e,0x90,0x13,0xfc,0x10,0x10,0x14,0x19,0x12,0x4,0x0,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x60,0x70,0xa8,0xa8,0x24,0x26,0x20,0x20,
-+0x10,0x10,0x1c,0x27,0x20,0x7d,0x92,0x13,0xfc,0x10,0x14,0x12,0x15,0x19,0x12,0x4,0x0,0xc,0x70,0x90,0x90,0x14,0x7e,0x90,0x90,0x90,0x94,0xfe,0x0,0x80,0x46,0x3c,
-+0x10,0x10,0x1d,0x20,0x20,0x7d,0x90,0x10,0xfc,0x13,0x10,0x12,0x14,0x19,0x13,0x0,0x8,0x3c,0xe0,0x20,0x20,0xfc,0x20,0x20,0x24,0xfe,0x40,0x40,0x90,0x8,0xfc,0x4,
-+0x10,0x10,0x1c,0x20,0x21,0x7e,0x94,0x10,0xfc,0x10,0x13,0x10,0x14,0x18,0x10,0x0,0x50,0x50,0x94,0x98,0x90,0xb0,0xd2,0x8e,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x1c,0x21,0x22,0x7f,0x90,0x10,0xfc,0x13,0x10,0x10,0x14,0x18,0x17,0x0,0x40,0x40,0xa0,0x10,0x8,0xfe,0x44,0x40,0x40,0xf8,0x40,0x40,0x40,0x48,0xfc,0x0,
-+0x10,0x10,0x1e,0x20,0x21,0x7e,0x91,0x10,0xfe,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x20,0x50,0x88,0x4,0x2,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x11,0x14,0x1e,0x20,0x20,0x7c,0x91,0x10,0xfd,0x10,0x10,0x12,0x15,0x1a,0x10,0x0,0x4,0x8c,0x50,0x20,0x50,0x8c,0x24,0x20,0xfe,0x20,0xa8,0xa4,0x22,0x22,0xa0,0x40,
-+0x10,0x14,0x1e,0x20,0x24,0x7e,0x91,0x10,0xfc,0x11,0x16,0x10,0x15,0x19,0x12,0x4,0x20,0xa0,0xa0,0xa0,0xa4,0xac,0xb0,0xa0,0xa0,0xb0,0xa8,0xa8,0x22,0x22,0x1e,0x0,
-+0x10,0x14,0x1e,0x21,0x20,0x7d,0x90,0x10,0xfd,0x10,0x10,0x11,0x14,0x18,0x10,0x0,0x40,0x40,0xf8,0x10,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x20,0xa0,0x40,
-+0x10,0x14,0x1e,0x21,0x22,0x7d,0x91,0x15,0xff,0x11,0x11,0x13,0x15,0x19,0x10,0x0,0x80,0x80,0xf8,0x10,0x24,0xfe,0x24,0x24,0x24,0xfc,0x4,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x14,0x1e,0x23,0x20,0x7c,0x90,0x15,0xfe,0x10,0x10,0x12,0x14,0x19,0x12,0x0,0x40,0x20,0x24,0xfe,0x40,0x88,0x84,0xfc,0x90,0x90,0x90,0x90,0x92,0x12,0xe,0x0,
-+0x20,0x24,0x3b,0x41,0x40,0x74,0xa2,0x22,0xf8,0x21,0x22,0x22,0x2c,0x35,0x22,0x0,0x0,0xfc,0x8,0x10,0x20,0x44,0xfe,0x54,0x54,0x54,0x54,0x94,0xa4,0x24,0x54,0x88,
-+0x10,0x10,0x1e,0x23,0x22,0x7c,0x90,0x17,0xfc,0x10,0x11,0x10,0x14,0x18,0x11,0x2,0x40,0x20,0x20,0xfe,0x2,0x44,0x40,0xfe,0x88,0x88,0x8,0x90,0x60,0x90,0xc,0x4,
-+0x11,0x11,0x1d,0x27,0x21,0x7d,0x91,0x11,0xfd,0x12,0x11,0x14,0x19,0x12,0x4,0x0,0x0,0x0,0x4,0xde,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x94,0x54,0x5c,0x14,0x0,
-+0x10,0x10,0x1f,0x20,0x20,0x7b,0x92,0x12,0xfd,0x10,0x10,0x10,0x14,0x18,0x11,0x2,0x88,0x88,0xfe,0x88,0x88,0xfe,0x42,0x44,0xfe,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x20,0x20,0x3b,0x40,0x42,0x79,0xa0,0x27,0xf8,0x20,0x21,0x21,0x2a,0x34,0x28,0x0,0x40,0x40,0xfc,0x40,0x48,0x50,0x44,0xfe,0x40,0xe0,0x50,0x50,0x48,0x46,0x44,0x40,
-+0x20,0x20,0x38,0x47,0x40,0x7a,0xa1,0x20,0xfa,0x22,0x26,0x2a,0x2a,0x32,0x21,0x0,0x20,0x28,0x24,0xfe,0x20,0x20,0xa0,0xa0,0x10,0x90,0x50,0x50,0x90,0x8a,0x86,0x2,
-+0x20,0x22,0x3a,0x42,0x42,0x7a,0xa2,0x22,0xf8,0x20,0x20,0x25,0x28,0x30,0x23,0x0,0x80,0xfc,0xa4,0xa8,0x90,0xa8,0xa6,0xc4,0x80,0xa0,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x90,0x13,0xfc,0x10,0x11,0x10,0x14,0x18,0x13,0x0,0x4,0xfe,0x4,0x4,0x4,0xfc,0x0,0xfe,0x20,0x20,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xff,0x10,0x11,0x10,0x14,0x18,0x13,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x24,0x20,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x1c,0x21,0x21,0x7e,0x90,0x13,0xfc,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0xa0,0xa4,0xfe,0x20,0x20,0x24,0xfe,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x1c,0x23,0x20,0x7f,0x90,0x10,0xfc,0x11,0x12,0x10,0x14,0x18,0x12,0x1,0x10,0x58,0x94,0x90,0x90,0xfe,0x90,0x94,0xd4,0x98,0x90,0xb0,0xd2,0x92,0x8a,0x4,
-+0x10,0x14,0x1e,0x21,0x21,0x7d,0x91,0x12,0xfc,0x10,0x11,0x10,0x14,0x18,0x13,0x0,0x20,0x20,0x20,0x24,0x24,0x28,0xac,0x72,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x14,0x1f,0x20,0x21,0x7c,0x90,0x10,0xfd,0x10,0x11,0x10,0x14,0x18,0x10,0x0,0x8,0x1c,0xe0,0x44,0x24,0xa8,0x90,0x8,0xfe,0x8,0x8,0x88,0x88,0x8,0x28,0x10,
-+0x10,0x14,0x1f,0x20,0x20,0x7d,0x93,0x10,0xfd,0x11,0x11,0x11,0x15,0x19,0x12,0x4,0x40,0x24,0xfe,0x80,0x90,0x8,0xfc,0x4,0x50,0x50,0x50,0x50,0x52,0x52,0x4e,0x0,
-+0x12,0x11,0x1c,0x22,0x22,0x7f,0x92,0x12,0xfe,0x13,0x12,0x12,0x16,0x1b,0x12,0x2,0x4,0x7e,0x84,0x4,0x4,0xfc,0x94,0x94,0x94,0xfc,0x94,0x94,0x94,0x14,0x4,0xc,
-+0x12,0x11,0x1c,0x22,0x22,0x7e,0x92,0x12,0xfe,0x12,0x12,0x12,0x16,0x1a,0x12,0x2,0x4,0x7e,0x84,0x4,0x4,0xf4,0x94,0x94,0xf4,0x94,0x94,0xf4,0x94,0x4,0x14,0x8,
-+0x10,0x14,0x1f,0x21,0x21,0x7d,0x91,0x11,0xfd,0x11,0x11,0x13,0x15,0x19,0x11,0x1,0x40,0x28,0xfc,0x8,0x8,0xf8,0x8,0x8,0xfc,0x48,0x50,0x20,0x10,0x48,0x86,0x0,
-+0x10,0x11,0x1e,0x20,0x20,0x7d,0x90,0x13,0xfe,0x14,0x10,0x12,0x14,0x18,0x10,0x3,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x0,0xfe,0x2,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x13,0x1e,0x22,0x23,0x7e,0x92,0x13,0xfe,0x12,0x12,0x16,0x1a,0x12,0x4,0x8,0x4,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x4,0xf4,0x94,0x94,0xf4,0x4,0x14,0x8,
-+0x20,0x27,0x3d,0x45,0x45,0x7e,0xa5,0x25,0xfd,0x25,0x27,0x25,0x2c,0x34,0x24,0x4,0x0,0x4,0xfe,0x4,0x4,0x74,0x54,0x54,0x54,0x54,0x54,0x74,0x44,0x4,0x14,0x8,
-+0x10,0x14,0x1f,0x20,0x21,0x7c,0x93,0x10,0xfd,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x10,0x10,0x1f,0x20,0x20,0x7c,0x97,0x10,0xfc,0x11,0x13,0x15,0x11,0x19,0x11,0x1,0x88,0x88,0xfe,0x88,0x40,0x44,0xfe,0x80,0x84,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x1f,0x20,0x21,0x7e,0x95,0x10,0xfd,0x11,0x1f,0x11,0x15,0x19,0x12,0x4,0x40,0x44,0xfe,0xa0,0x10,0x4e,0xf4,0x40,0x50,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x90,0x15,0xfe,0x10,0x13,0x10,0x14,0x18,0x10,0x0,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x0,0xfc,0x8,0x8,0xfe,0x88,0x48,0x8,0x28,0x10,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xfc,0x13,0x10,0x10,0x14,0x19,0x12,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x70,0xa8,0x26,0x24,0x20,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xfe,0x11,0x11,0x13,0x15,0x19,0x11,0x0,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x10,0x14,0xd8,0x10,0x12,0x52,0x8e,0x0,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xff,0x11,0x11,0x13,0x15,0x19,0x11,0x1,0x4,0xfe,0x4,0x24,0x24,0xfc,0x24,0x24,0x74,0x54,0x54,0x74,0x54,0x4,0xfc,0x4,
-+0x11,0x11,0x1d,0x22,0x22,0x7c,0x91,0x11,0xfe,0x10,0x13,0x13,0x15,0x19,0x10,0x0,0x0,0x4,0xfe,0x94,0x94,0xa4,0x24,0x54,0x8,0x40,0x28,0x26,0xa,0x8,0xf8,0x0,
-+0x10,0x14,0x1f,0x20,0x21,0x7c,0x90,0x13,0xfc,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x40,0x28,0xfc,0x0,0x8,0x90,0x4,0xfe,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x12,0x1d,0x20,0x23,0x7c,0x97,0x10,0xfd,0x13,0x15,0x11,0x15,0x19,0x11,0x0,0x40,0x48,0x50,0x40,0xfc,0x40,0xfe,0xa0,0x10,0xf8,0x16,0x10,0x50,0x24,0x4,0xfc,
-+0x10,0x14,0x1e,0x20,0x21,0x7c,0x90,0x13,0xfe,0x10,0x10,0x11,0x14,0x18,0x10,0x3,0x20,0x24,0xac,0xb0,0x20,0x58,0x86,0x22,0x20,0xa4,0xac,0x30,0x50,0x50,0x8e,0x4,
-+0x21,0x21,0x3a,0x44,0x42,0x79,0xa1,0x27,0xfc,0x24,0x27,0x24,0x2c,0x34,0x27,0x4,0x24,0x24,0x48,0x90,0x48,0x24,0x24,0xfe,0x44,0x44,0xfc,0x44,0x44,0x44,0xfc,0x4,
-+0x21,0x21,0x3f,0x41,0x47,0x79,0xa7,0x21,0xf9,0x20,0x27,0x20,0x28,0x30,0x21,0x6,0x0,0x4,0xfe,0x14,0xd4,0x14,0xd4,0x24,0x4c,0x40,0xfe,0x40,0xa0,0x90,0xe,0x4,
-+0x10,0x12,0x1f,0x22,0x22,0x7e,0x93,0x10,0xfd,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x20,0x24,0xa8,0x30,0x22,0xa2,0x5e,0x88,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x11,0x1d,0x21,0x21,0x7d,0x91,0x11,0xfd,0x10,0x12,0x12,0x14,0x18,0x10,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,0x40,0xa8,0xa4,0x8a,0x8a,0x78,0x0,
-+0x10,0x15,0x1f,0x21,0x21,0x7c,0x91,0x10,0xff,0x10,0x10,0x10,0x14,0x18,0x10,0x0,0x0,0xdc,0x54,0x54,0xdc,0x8,0xfc,0x0,0xfe,0x80,0xf8,0x8,0x8,0x8,0x50,0x20,
-+0x20,0x20,0x3b,0x40,0x48,0x7f,0xa0,0x21,0xfe,0x24,0x24,0x27,0x2c,0x34,0x27,0x4,0x8,0x7c,0xc0,0x40,0x44,0xfe,0x40,0x44,0x5e,0x44,0x44,0x5c,0x44,0x44,0xfc,0x4,
-+0x10,0x10,0x1d,0x21,0x21,0x7d,0x91,0x11,0xfe,0x11,0x10,0x12,0x14,0x18,0x11,0x6,0x20,0xac,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x13,0x1c,0x21,0x20,0x7d,0x90,0x13,0xfc,0x10,0x11,0x11,0x16,0x1a,0x14,0x1,0x3c,0xc0,0x24,0x24,0xa8,0xfc,0x40,0xfe,0x80,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x14,0x1f,0x20,0x21,0x7d,0x91,0x11,0xfe,0x10,0x10,0x10,0x15,0x1a,0x14,0x0,0x40,0x24,0xfe,0x0,0xfc,0x4,0x4,0xfc,0x40,0x44,0xa8,0x90,0x90,0xa8,0xc6,0x84,
-+0x10,0x11,0x1c,0x20,0x23,0x7c,0x90,0x11,0xfc,0x13,0x10,0x11,0x14,0x18,0x10,0x3,0x20,0x24,0xa8,0x20,0xfe,0x70,0xa8,0x26,0x40,0xfe,0x88,0x8,0xd0,0x30,0xcc,0x4,
-+0x21,0x21,0x39,0x45,0x43,0x79,0xa1,0x21,0xfb,0x25,0x29,0x21,0x29,0x31,0x21,0x1,0x20,0x20,0x3c,0x44,0xa8,0x10,0x28,0x48,0xfe,0x8,0x48,0x28,0x28,0x8,0x28,0x10,
-+0x21,0x21,0x3f,0x41,0x47,0x7d,0xa7,0x21,0xfb,0x22,0x22,0x22,0x2a,0x30,0x21,0x6,0x10,0x14,0xfe,0x14,0xfc,0x10,0xfe,0x12,0xfe,0x8,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x10,0x15,0x1f,0x21,0x21,0x7d,0x91,0x11,0xfe,0x12,0x12,0x16,0x1a,0x12,0x4,0x8,0x4,0xfe,0x24,0x24,0xfc,0x0,0xfc,0x84,0x84,0xfc,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x11,0x11,0x1f,0x21,0x23,0x7e,0x93,0x12,0xff,0x10,0x10,0x17,0x14,0x18,0x11,0x6,0x10,0x14,0xfe,0x10,0xf8,0x8,0xf8,0x8,0xf8,0x40,0x44,0xfe,0x40,0xa0,0x1c,0x8,
-+0x20,0x27,0x38,0x43,0x42,0x7a,0xa3,0x20,0xff,0x25,0x24,0x27,0x2c,0x34,0x24,0x4,0x8,0xfc,0x0,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x14,0xa4,0xfc,0x44,0x44,0x54,0x8,
-+0x10,0x10,0x1d,0x21,0x23,0x7d,0x91,0x11,0xfd,0x11,0x13,0x10,0x14,0x19,0x12,0x4,0xa0,0xa8,0xfc,0x20,0xf8,0x20,0xf8,0x20,0xfe,0x0,0xf8,0x88,0x9c,0x4,0x28,0x10,
-+0x20,0x20,0x39,0x43,0x44,0x7b,0xa2,0x23,0xf8,0x27,0x20,0x23,0x28,0x37,0x20,0x0,0x40,0xa0,0x10,0xf8,0x6,0xf8,0x8,0xf8,0x1c,0xe0,0x40,0xf8,0x40,0xfe,0x40,0xc0,
-+0x20,0x27,0x3c,0x44,0x45,0x7d,0xa6,0x20,0xff,0x24,0x24,0x27,0x2c,0x34,0x27,0x4,0x84,0x7e,0x24,0x24,0x24,0xa4,0x54,0x88,0xfc,0x44,0x44,0xfc,0x44,0x44,0xfc,0x4,
-+0x10,0x14,0x1e,0x20,0x23,0x7c,0x90,0x15,0xfe,0x11,0x11,0x11,0x15,0x19,0x13,0x0,0x0,0x88,0x50,0x4,0xfe,0x50,0x8c,0x4,0x0,0xfc,0x54,0x54,0x54,0x54,0xfe,0x0,
-+0x10,0x12,0x1f,0x22,0x24,0x7f,0x90,0x10,0xff,0x10,0x13,0x10,0x14,0x1b,0x10,0x0,0x40,0x20,0xfe,0x2,0x4,0xfe,0x40,0xc4,0x68,0xb0,0x30,0x68,0xa8,0x26,0xa4,0x40,
-+0x10,0x12,0x1f,0x22,0x24,0x7d,0x91,0x11,0xfd,0x11,0x11,0x17,0x14,0x19,0x12,0x4,0x40,0x20,0xfe,0x2,0x34,0xc0,0x8,0xfc,0x10,0x10,0x14,0xfe,0x0,0x10,0xc,0x4,
-+0x10,0x13,0x1c,0x20,0x21,0x7d,0x91,0x15,0xfe,0x11,0x10,0x13,0x14,0x19,0x12,0x0,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x0,0xfc,0x0,0xfe,0xa8,0x26,0x22,0x60,
-+0x20,0x22,0x39,0x40,0x47,0x7c,0xa9,0x21,0xf9,0x21,0x20,0x23,0x28,0x30,0x2f,0x0,0x40,0x48,0x50,0x40,0xfe,0x2,0xf4,0x10,0x10,0xf0,0x40,0xf8,0x40,0x44,0xfe,0x0,
-+0x20,0x23,0x3a,0x43,0x42,0x7b,0xa0,0x27,0xfc,0x27,0x20,0x23,0x29,0x30,0x23,0xc,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x4,0xfe,0xa4,0xfc,0x0,0xf8,0x10,0xe0,0x10,0xe,
-+0x20,0x27,0x3c,0x47,0x44,0x7f,0xa0,0x21,0xfb,0x20,0x20,0x27,0x29,0x32,0x24,0x0,0x4,0xfe,0x44,0xfc,0x44,0xfc,0x80,0x8,0xf0,0x20,0x48,0xfc,0x50,0x4c,0x44,0xc0,
-+0x20,0x27,0x3c,0x45,0x44,0x7f,0xa4,0x25,0xfc,0x25,0x25,0x25,0x2d,0x35,0x29,0x11,0x20,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0x2c,
-+0x22,0x21,0x39,0x47,0x42,0x7a,0xa3,0x22,0xfa,0x22,0x22,0x22,0x2c,0x34,0x29,0x0,0x20,0x20,0x24,0xfe,0x40,0x20,0xbc,0xd0,0x94,0xfe,0x90,0x90,0xa8,0xa6,0xc2,0x0,
-+0x24,0x22,0x38,0x4f,0x44,0x7c,0xa7,0x25,0xfd,0x25,0x25,0x2d,0x35,0x25,0xb,0x11,0x40,0x40,0x44,0xfe,0x80,0x0,0x7e,0x14,0x10,0x54,0x5e,0x50,0x50,0x70,0x9e,0x4,
-+0x20,0x28,0x3f,0x41,0x40,0x7f,0xa4,0x24,0xff,0x24,0x25,0x25,0x2d,0x35,0x24,0x4,0x80,0x44,0xfe,0x10,0xa4,0xfe,0x44,0x54,0xfc,0x44,0xf4,0x14,0x14,0xf4,0x4,0xc,
-+0x10,0x13,0x1c,0x21,0x21,0x7d,0x90,0x15,0xff,0x11,0x11,0x11,0x14,0x1b,0x10,0x0,0x4,0xfe,0x50,0xfc,0x54,0xfc,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x20,
-+0x20,0x2f,0x38,0x4a,0x49,0x7f,0xa8,0x2a,0xfa,0x2a,0x2b,0x28,0x38,0x29,0x12,0x24,0x4,0xfe,0x8,0x28,0x48,0xee,0x92,0xa4,0xa8,0xa8,0xe8,0xa8,0x94,0x14,0x24,0x42,
-+0x20,0x24,0x3a,0x40,0x4f,0x79,0xa0,0x27,0xf8,0x23,0x20,0x27,0x28,0x30,0x21,0x6,0xa0,0xa4,0xa8,0xa0,0xfe,0x10,0xa0,0xfc,0x40,0xf8,0x40,0xfc,0x40,0xa0,0x1c,0x8,
-+0x10,0x10,0x1d,0x23,0x21,0x7d,0x91,0x11,0xfc,0x13,0x10,0x11,0x15,0x19,0x11,0x1,0x80,0xf8,0x10,0xfc,0x24,0xfc,0x24,0xfc,0x0,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,
-+0x22,0x21,0x3f,0x40,0x47,0x7c,0xa4,0x27,0xf8,0x27,0x20,0x21,0x2f,0x31,0x25,0x2,0x10,0x10,0xf4,0x1e,0xe4,0x54,0x54,0xd4,0x14,0xc8,0x88,0xd4,0x14,0x24,0x22,0x40,
-+0x24,0x22,0x39,0x44,0x47,0x7c,0xa5,0x25,0xfd,0x25,0x25,0x24,0x2d,0x36,0x24,0x4,0x4,0xfe,0x44,0x54,0xfc,0x44,0xf4,0x54,0xf4,0x54,0xf4,0xe4,0x54,0x4c,0x44,0x4c,
-+0x11,0x10,0x1f,0x20,0x22,0x7d,0x90,0x17,0xfc,0x11,0x11,0x11,0x15,0x19,0x11,0x1,0x8,0x90,0xfc,0x90,0x94,0x98,0x90,0xfe,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,
-+0x20,0x20,0x3f,0x45,0x4a,0x78,0xa3,0x22,0xfb,0x20,0x23,0x22,0x2b,0x32,0x20,0x0,0x80,0x40,0xfe,0x12,0x4c,0x40,0xf8,0x48,0xf8,0x40,0xf8,0x48,0xf8,0x48,0x40,0x40,
-+0x20,0x27,0x39,0x41,0x41,0x7f,0xa4,0x24,0xfc,0x27,0x21,0x21,0x29,0x31,0x2a,0x4,0x4,0x7e,0x44,0x44,0x7c,0x10,0xfe,0x92,0x92,0x92,0xfe,0x10,0x10,0x14,0xfe,0x42,
-+0x20,0x23,0x38,0x42,0x41,0x7b,0xa4,0x23,0xfa,0x22,0x23,0x20,0x29,0x30,0x2f,0x0,0x28,0xb0,0xa4,0x98,0x10,0xf8,0x4,0xfa,0x8,0x8,0xf8,0x0,0x10,0xa4,0xfe,0x0,
-+0x21,0x27,0x39,0x41,0x42,0x7f,0xa2,0x23,0xfa,0x23,0x22,0x23,0x29,0x30,0x23,0xc,0x8,0xfe,0x28,0xfe,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x0,0xf8,0x10,0xe0,0x18,0x6,
-+0x20,0x27,0x3c,0x44,0x47,0x79,0xa3,0x24,0xf8,0x27,0x24,0x27,0x28,0x30,0x27,0x0,0x4,0xfe,0xa4,0xa4,0xfc,0x0,0xfc,0x84,0x84,0xf4,0x94,0xf4,0x84,0xa4,0xf4,0x8,
-+0x20,0x28,0x3f,0x41,0x48,0x7f,0xa0,0x23,0xfe,0x23,0x22,0x2b,0x30,0x25,0x9,0x0,0x80,0x48,0xfc,0x10,0xa4,0xfe,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x40,0x24,0xa,0xf8,
-+0x20,0x20,0x3f,0x45,0x41,0x7a,0xa7,0x2d,0xf3,0x24,0x2b,0x20,0x29,0x32,0x24,0x0,0x80,0x40,0xfe,0x2,0xbc,0xa4,0xa8,0x10,0xf8,0x6,0xf8,0x40,0x50,0x4c,0x44,0xc0,
-+0x20,0x20,0x3f,0x44,0x47,0x7c,0xa7,0x25,0xfd,0x25,0x25,0x2d,0x34,0x25,0x9,0x12,0x40,0x24,0xfe,0x90,0xfc,0x94,0xfc,0x10,0xd4,0x18,0x52,0x8e,0x0,0x54,0x52,0x2,
-+0x20,0x20,0x3b,0x40,0x4f,0x78,0xa3,0x2a,0xff,0x22,0x23,0x20,0x2b,0x30,0x2f,0x0,0x8,0x1c,0xe0,0x44,0xfe,0x40,0xf8,0x48,0xf8,0x48,0xf8,0x40,0xf8,0x40,0xfe,0x0,
-+0x20,0x23,0x20,0x3c,0x50,0x93,0x12,0xfe,0x12,0x13,0x10,0x28,0x24,0x44,0x81,0x0,0x44,0xe4,0x44,0x44,0x44,0xc4,0x44,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0x44,0x84,
-+0x20,0x20,0x22,0x3e,0x52,0x92,0x15,0xfc,0x10,0x10,0x13,0x28,0x24,0x40,0x8f,0x0,0x40,0x40,0x48,0x48,0x48,0x48,0x54,0xe2,0x40,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x20,0x20,0x20,0x3d,0x51,0x93,0x15,0xfd,0x11,0x11,0x11,0x29,0x25,0x45,0x81,0x1,0x80,0xa0,0x94,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x0,0xe,0xf2,0x12,0x12,0xfe,0x13,0x32,0x3a,0x56,0x52,0x92,0x12,0x13,0x12,0x10,0x20,0x20,0x20,0x20,0x20,0x24,0xac,0x30,0x20,0x20,0x20,0x20,0xa2,0x22,0x1e,0x0,
-+0x0,0xc,0xf0,0x13,0x12,0xfe,0x12,0x33,0x38,0x54,0x51,0x92,0x14,0x10,0x10,0x10,0x40,0x50,0x78,0xc0,0x40,0x40,0x44,0xfe,0x44,0xc4,0x44,0x54,0x48,0x40,0x40,0x40,
-+0x0,0xc,0xf0,0x17,0x10,0xfc,0x13,0x30,0x38,0x55,0x51,0x92,0x14,0x10,0x10,0x10,0x40,0x40,0x44,0xfe,0x40,0x48,0xfc,0xc0,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x0,0xc,0xf0,0x10,0x17,0xfc,0x10,0x30,0x38,0x55,0x51,0x91,0x12,0x14,0x18,0x10,0x40,0x50,0x48,0x48,0xfe,0x40,0x40,0xc0,0xe0,0x50,0x50,0x48,0x4e,0x44,0x40,0x40,
-+0x0,0xd,0xf1,0x11,0x11,0xfd,0x11,0x30,0x38,0x57,0x52,0x92,0x12,0x12,0x13,0x12,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x0,0xc,0xf0,0x17,0x10,0xfc,0x11,0x31,0x3a,0x54,0x50,0x92,0x12,0x12,0x13,0x10,0x80,0xa0,0x94,0xfe,0xa0,0xa0,0x22,0x22,0x1e,0x40,0x40,0x48,0x48,0x48,0xf8,0x8,
-+0x8,0xc,0xf7,0x12,0x11,0xfc,0x13,0x30,0x38,0x54,0x57,0x90,0x10,0x10,0x11,0x10,0x8,0x3c,0xc0,0x48,0x50,0x0,0xf8,0x10,0x60,0x44,0xfe,0x40,0x40,0x40,0x40,0x80,
-+0x0,0xc,0xf3,0x12,0x12,0xff,0x12,0x32,0x3b,0x56,0x52,0x92,0x12,0x12,0x13,0x12,0x80,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x84,0x4c,0x50,0x20,0x90,0xe,0x4,
-+0x4,0xf,0xf1,0x11,0x15,0xff,0x11,0x31,0x38,0x57,0x50,0x90,0x10,0x11,0x12,0x10,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x70,0xa8,0x26,0x24,0x20,
-+0x0,0xc,0xf0,0x10,0x11,0xfe,0x14,0x31,0x38,0x54,0x50,0x95,0x15,0x19,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x44,0xf0,0x10,0xa0,0x40,0x44,0x12,0x12,0xf0,0x0,
-+0x0,0xc,0xf7,0x10,0x13,0xfe,0x13,0x32,0x3b,0x56,0x53,0x92,0x1f,0x11,0x12,0x14,0x40,0x48,0xfc,0x40,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x10,0xc,0x4,
-+0x0,0xd,0xf1,0x11,0x11,0xfd,0x11,0x31,0x39,0x56,0x50,0x91,0x12,0x10,0x11,0x16,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x44,0x7a,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x0,0xc,0xf7,0x10,0x12,0xf9,0x17,0x30,0x3f,0x54,0x55,0x95,0x15,0x14,0x17,0x14,0x40,0x48,0xfc,0x40,0x48,0x50,0xfe,0x4,0xfe,0x4,0xf4,0x14,0xf4,0x4,0xfc,0x4,
-+0x0,0x6,0x78,0x9,0xff,0x1c,0x2a,0x48,0x14,0x2a,0x6b,0x9c,0x1a,0x69,0x8,0x18,0x20,0x20,0x24,0x3e,0xa0,0x20,0x24,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x4,0xe,0xf1,0x12,0xfe,0x10,0x38,0x56,0x92,0x7c,0x44,0x7d,0x46,0x7c,0x44,0x1,0x84,0xfe,0x0,0xfc,0x84,0xfc,0x84,0xfc,0x40,0xfc,0x84,0x88,0x50,0x20,0x50,0x8e,
-+0x4,0xb,0xf0,0x17,0x14,0xff,0x11,0x37,0x39,0x57,0x51,0x9f,0x11,0x13,0x1d,0x11,0x40,0xfe,0x0,0xbc,0xa4,0xbc,0x10,0xfc,0x10,0xf8,0x10,0xfe,0x48,0x30,0x8e,0x4,
-+0x10,0x10,0x21,0x7d,0x45,0x45,0x45,0x7d,0x45,0x45,0x45,0x45,0x7e,0x42,0x4,0xb,0x8,0x1c,0xe0,0x0,0x0,0x0,0xfc,0x4,0x84,0x88,0x48,0x50,0x20,0x50,0x8e,0x4,
-+0x10,0x10,0x20,0x7f,0x48,0x49,0x4a,0x4d,0x79,0x48,0x48,0x48,0x48,0x79,0x42,0xc,0x80,0x40,0x44,0xfe,0x0,0x10,0xc,0x14,0x10,0xa0,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x10,0x11,0x21,0x79,0x49,0x4a,0x48,0x4f,0x78,0x49,0x49,0x49,0x49,0x79,0x49,0x1,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x8,0xfe,0x8,0x1c,0x2a,0x48,0x89,0xa,0x1f,0x10,0x1f,0x10,0x10,0x1f,0x10,0xc,0xf0,0x80,0x84,0xfe,0x90,0x90,0x10,0x10,0xf8,0x10,0xf0,0x10,0x10,0xf0,0x10,
-+0x10,0x17,0x20,0x7a,0x4f,0x48,0x49,0x4a,0x7f,0x4a,0x4a,0x4b,0x4a,0x7a,0x4b,0x2,0x38,0xc0,0x48,0x54,0xfe,0xe0,0x50,0x48,0xfe,0x48,0x48,0xf8,0x48,0x48,0xf8,0x8,
-+0x2,0x7,0x7a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x29,0x2a,0x5e,0x40,0x80,0x10,0x10,0x50,0x54,0x7e,0x90,0x14,0xfe,0x10,0x28,0x26,0x42,0x80,0x40,0x3e,0x4,
-+0x10,0x12,0xff,0x28,0x26,0x42,0xbc,0x0,0xfe,0x20,0x7c,0x4,0x4,0x44,0x29,0x12,0x0,0xc,0xf8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xc8,0xd4,0x74,0x2,
-+0x0,0x7f,0x4,0x2,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x21,0x21,0x20,0x10,0xf8,0x20,0xc0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x20,0x20,0x21,0x29,0xfd,0x29,0x29,0x29,0x29,0x29,0x28,0x2a,0x4d,0x48,0x80,0x0,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x4,0x4,0x2,0xff,0x0,0x4,0x1f,0x14,0x12,0x10,0x10,0x1f,0x0,0x7f,0x0,0x0,0x80,0x44,0x7e,0x80,0x82,0x62,0xfe,0x20,0x20,0xa0,0x44,0xfe,0x4,0xe4,0x14,0x8,
-+0x0,0x40,0x49,0x59,0x61,0x45,0x45,0x3d,0x11,0x11,0xfe,0x10,0x13,0x10,0x10,0x10,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x11,0x51,0x7f,0x53,0x95,0x11,0x11,0x29,0x28,0x2a,0x4d,0x48,0x80,0x0,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x11,0x15,0xff,0x11,0x11,0x11,0x7d,0x45,0x44,0x44,0x47,0x7c,0x44,0x0,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x10,0x15,0xff,0x21,0x51,0x95,0xff,0x11,0x39,0x34,0x54,0x93,0x10,0x50,0x20,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x10,0x14,0x1f,0x11,0x15,0x7f,0x45,0x45,0x7d,0x45,0x40,0x40,0x43,0x40,0x80,0x0,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x20,0x20,0x25,0x7f,0x85,0x5,0x75,0x55,0x55,0x55,0x74,0x54,0x5,0x8,0x28,0x10,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x0,0x6,0x79,0x51,0x51,0x55,0x7f,0x49,0x49,0x49,0x48,0x44,0x45,0x54,0x6a,0x1,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x94,0x8,
-+0x8,0x8,0x32,0xc,0x10,0x3e,0x0,0xff,0x2,0x1f,0x12,0x11,0x1f,0x0,0x7f,0x0,0x20,0x20,0xc8,0x30,0x40,0xf8,0x4,0xfe,0x0,0xf0,0x10,0x24,0xfe,0x4,0xe4,0xc,
-+0x0,0x1,0xff,0x8,0x10,0x7f,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x43,0x0,0x10,0x24,0xfe,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x8,0x8,0xfe,0x8,0xe,0x78,0x9,0x1a,0x1f,0x12,0x11,0x1f,0x0,0x7f,0x0,0x0,0x40,0x48,0xfc,0x48,0xc8,0xaa,0xa,0x6,0xe0,0x20,0x44,0xfe,0x4,0xf4,0x4,0x18,
-+0x0,0xc,0x71,0x11,0x11,0x15,0xff,0x11,0x15,0x7f,0x44,0x44,0x47,0x7c,0x44,0x0,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x12,0x12,0x12,0x22,0x3f,0x62,0xa6,0x27,0x2a,0x2a,0x32,0x22,0x22,0x22,0x22,0x22,0x10,0x24,0x7e,0x44,0xd4,0x44,0x54,0x48,0xc0,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x2,0x1,0xff,0x4,0x14,0x25,0x46,0x1f,0x12,0x11,0x10,0x1f,0x0,0x7f,0x0,0x0,0x0,0x4,0xfe,0x40,0x50,0x4c,0x44,0xe0,0x20,0x20,0x44,0xfe,0x4,0xf4,0x4,0x18,
-+0x8,0xa,0x7f,0x8,0x48,0x7f,0x41,0x82,0x3e,0x4,0x8,0xfe,0xb,0x8,0x28,0x10,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x0,0x1,0xff,0x0,0x0,0x77,0x55,0x55,0x55,0x77,0x55,0x55,0x55,0x55,0x55,0x0,0x10,0x24,0xfe,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x8,0x28,0x2a,0x3f,0x48,0x88,0xa,0xff,0x0,0x3e,0x22,0x22,0x23,0x22,0x3e,0x22,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x0,0x28,0x45,0x93,0x11,0x29,0x45,0x83,0x7d,0x45,0x44,0x44,0x47,0x7c,0x44,0x0,0x20,0x48,0xfc,0x8,0x48,0x8,0x28,0x10,0x4,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x40,0x2f,0x11,0x49,0x49,0x7f,0x49,0x59,0x5d,0x5b,0x69,0x49,0x49,0x41,0x45,0x42,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x22,0x14,0x7f,0x9,0x9,0x7f,0x48,0x48,0x7f,0x9,0x19,0x1d,0x2a,0xc8,0x8,0x8,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x4,0x6,0x7d,0x4,0x4,0xff,0x14,0x54,0x5c,0x54,0x52,0x52,0x5e,0xf1,0x40,0x0,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x82,0x8a,0x4,
-+0x22,0x22,0xff,0x22,0x22,0x0,0x7f,0x49,0x49,0x49,0x7f,0x49,0x49,0x49,0x7f,0x41,0x10,0x24,0xfe,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x8,0x9,0xff,0x14,0x12,0x29,0x7f,0xc9,0x7f,0x49,0x49,0x7f,0x8,0xa,0xc,0x8,0x10,0x24,0xfe,0x44,0x54,0x44,0xd4,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x8,0x11,0x7f,0x49,0x49,0x7f,0x49,0x51,0x7f,0x10,0x29,0xff,0x8,0x8,0x8,0x8,0x10,0x24,0xfe,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x92,0xfa,0x2,0xa,0x4,
-+0x10,0xa,0xff,0x0,0x3e,0x22,0x22,0x3e,0x0,0x7e,0x4,0xff,0x9,0x8,0x28,0x10,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x20,0x27,0x25,0xfd,0x25,0x27,0x25,0x75,0x55,0x57,0x55,0x55,0x75,0x49,0x13,0x0,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x0,0x77,0x55,0x55,0x77,0x0,0x7f,0x0,0xff,0x20,0x3e,0x2,0x2,0x2,0x14,0x8,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0xc0,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x0,0x41,0x22,0x0,0xff,0x0,0x22,0x22,0x55,0xff,0x22,0x22,0x55,0xff,0x11,0x0,0x10,0x24,0x7e,0x44,0xd4,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x1,0x7f,0x49,0x49,0x7f,0x40,0x5f,0x51,0x51,0x5f,0x51,0x5f,0x51,0x51,0x9f,0x11,0x10,0xa4,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x7c,0x8,0xff,0x32,0x54,0x91,0x32,0x1f,0x12,0x11,0x10,0x1f,0x0,0x7f,0x0,0x0,0x80,0xfe,0x88,0x50,0x20,0x50,0x8e,0xe0,0x20,0x20,0x44,0xfe,0x4,0xf4,0x4,0x18,
-+0x2,0x7,0xf8,0x41,0x2a,0x2a,0x40,0x7e,0x88,0x9,0xff,0x8,0x49,0x49,0x7f,0x1,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x82,0x12,0xfa,0x2,0xa,0x4,
-+0x22,0x14,0x7f,0x14,0x7f,0x15,0xff,0x15,0x7f,0x14,0x36,0x55,0x94,0x14,0x14,0x14,0x10,0x24,0x7e,0x44,0x54,0x44,0xd4,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x0,0x77,0x55,0x55,0x55,0x55,0x22,0x55,0x10,0xff,0x22,0x22,0x14,0x8,0x16,0x61,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0xfe,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x8,0x5,0x7f,0x52,0x52,0x52,0x7f,0x52,0x52,0x5e,0x40,0x52,0x52,0x6d,0x80,0x0,0x10,0x24,0xfe,0x44,0x54,0x44,0xd4,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x0,0xee,0x22,0xaa,0x66,0xaa,0x32,0x10,0x28,0x46,0x9a,0x60,0x19,0x64,0x8,0x70,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x14,0x8,
-+0x8,0x9,0xff,0x55,0x22,0x41,0xbe,0x22,0x3e,0x22,0x3e,0x8,0x2a,0x49,0x88,0x18,0x10,0x24,0xfe,0x44,0x54,0x44,0xd4,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0x8a,0x4,
-+0x14,0x14,0x3f,0x24,0x64,0xbf,0x24,0x24,0x3f,0x24,0x24,0x3f,0x20,0x55,0x54,0x80,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0x8a,0x84,
-+0x8,0xff,0x22,0x3e,0x2a,0x49,0x9a,0x1f,0x12,0x11,0x10,0x1f,0x0,0x7f,0x0,0x0,0x28,0xa4,0xfe,0x20,0x52,0x92,0xe,0xe0,0x20,0x20,0x44,0xfe,0x4,0xe4,0x14,0x8,
-+0x2,0x7f,0x14,0x8,0xff,0x1a,0x28,0x49,0x7f,0x55,0x63,0x5d,0x55,0x5d,0x41,0x43,0x10,0x24,0x7e,0x44,0x54,0x44,0x54,0x48,0xc0,0x7e,0x2,0x12,0xfa,0x2,0xa,0x4,
-+0x10,0x23,0x7c,0x45,0x57,0x45,0x55,0x49,0x41,0x7f,0x2,0x12,0xfa,0x2,0xa,0x5,0x88,0xfe,0xa8,0xfc,0x20,0xfc,0x20,0xfc,0x20,0xfe,0x0,0xf8,0x48,0x30,0x48,0x86,
-+0x0,0x7c,0x45,0x7c,0x10,0x5d,0x50,0xfe,0x4,0x1f,0x12,0x11,0x1f,0x0,0x7f,0x0,0x80,0xf8,0x50,0x20,0x50,0xfe,0x88,0xf8,0x0,0xe0,0x20,0x44,0xfe,0x4,0xe4,0x18,
-+0x22,0xff,0x22,0x77,0x55,0x77,0x24,0x3f,0x64,0xbf,0x24,0x3f,0x24,0x24,0x3f,0x20,0x10,0xa4,0x7e,0x44,0x54,0x44,0x54,0x48,0x40,0x7e,0x2,0x12,0xfa,0x2,0x8a,0x4,
-+0x0,0x0,0x1f,0x10,0x90,0x50,0x50,0x10,0x30,0x50,0xd0,0x10,0x20,0x20,0x40,0x0,0x80,0x44,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x0,0x0,0x1f,0x10,0x90,0x5f,0x50,0x10,0x30,0x50,0xd0,0x10,0x20,0x20,0x41,0x0,0x80,0x44,0xfe,0x0,0x4,0xfe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
-+0x0,0x0,0x1f,0x10,0x90,0x57,0x50,0x10,0x30,0x50,0xd0,0x10,0x20,0x20,0x40,0x0,0x80,0x44,0xfe,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0xa4,0x94,0x88,0x80,0x80,0x80,
-+0x0,0x0,0x1f,0x10,0x90,0x5f,0x51,0x11,0x31,0x51,0xd1,0x12,0x22,0x24,0x48,0x10,0x80,0x44,0xfe,0x0,0x4,0xfe,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x0,0x0,0x1f,0x10,0x90,0x50,0x54,0x14,0x34,0x54,0xd4,0x14,0x24,0x27,0x40,0x0,0x80,0x44,0xfe,0x0,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xfc,0x4,0x4,
-+0x0,0x0,0x1f,0x10,0x97,0x54,0x54,0x14,0x35,0x54,0xd4,0x14,0x28,0x28,0x51,0x2,0x80,0x44,0xfe,0x0,0xfc,0x0,0x40,0x44,0xfe,0x44,0x44,0x44,0x84,0x84,0x28,0x10,
-+0x0,0x0,0x1f,0x10,0x90,0x50,0x5f,0x10,0x30,0x51,0xd1,0x11,0x22,0x22,0x44,0x8,0x80,0x44,0xfe,0x80,0xa0,0x94,0xfe,0xa0,0xa0,0x20,0x20,0x20,0x22,0x22,0x1e,0x0,
-+0x0,0x0,0x1f,0x12,0x92,0x52,0x5f,0x12,0x32,0x52,0xd3,0x12,0x22,0x22,0x43,0x2,0x80,0x44,0xfe,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x0,0x0,0x1f,0x10,0x90,0x5f,0x50,0x10,0x33,0x52,0xd2,0x12,0x23,0x20,0x40,0x0,0x80,0x44,0xfe,0x0,0x4,0xfe,0x8,0x8,0xc8,0x48,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x0,0x0,0x1f,0x10,0x90,0x53,0x52,0x12,0x33,0x52,0xd2,0x13,0x22,0x20,0x4f,0x0,0x80,0x44,0xfe,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x0,0xfe,0x0,
-+0x0,0x0,0x1f,0x11,0x91,0x51,0x52,0x12,0x34,0x58,0xd0,0x10,0x20,0x20,0x40,0x0,0x80,0x44,0xfe,0x0,0x8,0xfc,0x80,0x90,0xf8,0x80,0x88,0xfc,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x1f,0x12,0x92,0x53,0x54,0x1b,0x32,0x52,0xd3,0x12,0x22,0x22,0x41,0x0,0x80,0x44,0xfe,0x0,0x8,0xfc,0x8,0xc8,0x48,0x48,0xc8,0x28,0x12,0x2,0xfe,0x0,
-+0x0,0x0,0x1f,0x10,0x90,0x50,0x57,0x10,0x30,0x50,0xd3,0x10,0x20,0x20,0x4f,0x0,0x80,0x44,0xfe,0x0,0x80,0x48,0xfc,0x40,0x40,0x50,0xf8,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x0,0x1f,0x10,0x90,0x5f,0x50,0x11,0x32,0x57,0xd0,0x10,0x21,0x22,0x47,0x0,0x80,0x44,0xfe,0x80,0x44,0xfe,0x80,0x0,0x10,0xe0,0x40,0x80,0x10,0x8,0xfc,0x4,
-+0x0,0x0,0x1f,0x12,0x92,0x52,0x5f,0x12,0x32,0x52,0xd2,0x12,0x24,0x24,0x4a,0x11,0x80,0x44,0xfe,0x0,0x0,0x4,0xbe,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xa4,0xbc,0x24,
-+0x0,0x0,0x1f,0x10,0x9f,0x51,0x51,0x19,0x35,0x55,0xd5,0x15,0x21,0x21,0x5f,0x0,0x80,0x44,0xfe,0x0,0xfc,0x20,0x20,0x24,0x24,0x28,0x28,0x30,0x20,0x24,0xfe,0x0,
-+0x1,0x0,0x3f,0x20,0xbf,0x60,0x2f,0x20,0x6f,0xa8,0x2f,0x20,0x41,0x41,0x86,0x18,0x0,0x84,0xfe,0x80,0xfe,0x80,0xf8,0x88,0xf8,0x80,0xfc,0x84,0x54,0x48,0x20,0x1c,
-+0x0,0x0,0x1f,0x10,0x90,0x5f,0x50,0x10,0x37,0x50,0xd0,0x15,0x25,0x29,0x40,0x0,0x80,0x44,0xfe,0x40,0x44,0xfe,0x40,0x48,0xfc,0x0,0x80,0x64,0x2a,0xa,0xf8,0x0,
-+0x0,0x0,0x1f,0x11,0x97,0x51,0x51,0x17,0x34,0x58,0xd3,0x10,0x20,0x21,0x42,0xc,0x80,0x44,0xfe,0x10,0xfc,0x10,0x10,0xfe,0x82,0x84,0xf8,0x88,0x88,0x8,0x28,0x10,
-+0x0,0x0,0x1f,0x10,0x97,0x50,0x53,0x11,0x31,0x5f,0xd0,0x13,0x22,0x22,0x43,0x2,0x80,0x44,0xfe,0x0,0xfc,0x80,0xf0,0x10,0x14,0xfe,0x0,0xf8,0x8,0x8,0xf8,0x8,
-+0x0,0x0,0x1f,0x10,0x92,0x52,0x52,0x15,0x38,0x50,0xd7,0x10,0x20,0x20,0x4f,0x0,0x80,0x44,0xfe,0x40,0x48,0x48,0x48,0x54,0xe2,0x48,0xfc,0x40,0x40,0x44,0xfe,0x0,
-+0x0,0x0,0x1f,0x12,0x91,0x55,0x54,0x17,0x34,0x54,0xd4,0x15,0x26,0x24,0x44,0x4,0x80,0x44,0xfe,0x0,0xfc,0x44,0x44,0xf4,0x44,0xc4,0xe4,0x54,0x4c,0x44,0x54,0x8,
-+0x0,0x0,0x1f,0x10,0x94,0x52,0x52,0x18,0x35,0x50,0xd2,0x14,0x2c,0x24,0x44,0x3,0x80,0x44,0xfe,0x20,0x20,0xa8,0xa4,0xa2,0x2a,0x28,0x30,0x10,0x20,0x40,0x80,0x0,
-+0x0,0x0,0x1f,0x10,0x9f,0x50,0x53,0x1c,0x35,0x52,0xdd,0x11,0x22,0x2c,0x41,0x0,0x80,0x44,0xfe,0x0,0xfc,0x80,0x8,0x98,0x60,0x40,0xe0,0x50,0x4e,0x44,0x40,0x80,
-+0x0,0x0,0x1f,0x11,0x91,0x5f,0x51,0x11,0x3f,0x51,0xd1,0x1f,0x21,0x21,0x41,0x1,0x80,0x44,0xfe,0x20,0x24,0x3e,0x20,0x28,0x3c,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,
-+0x0,0x0,0x1f,0x10,0x97,0x54,0x54,0x17,0x34,0x55,0xd5,0x15,0x25,0x24,0x47,0x4,0x80,0x44,0xfe,0x0,0xfc,0x44,0x44,0xfc,0x44,0xf4,0x14,0x14,0xf4,0x4,0xfc,0x4,
-+0x0,0x0,0x1f,0x10,0x93,0x50,0x5f,0x11,0x36,0x50,0xdf,0x11,0x23,0x20,0x41,0x6,0x80,0x44,0xfe,0x0,0xf8,0x40,0xfe,0x50,0x4c,0x80,0xfe,0x10,0x20,0xc0,0x30,0x8,
-+0x1,0x0,0x3f,0x22,0xac,0x68,0x28,0x2e,0x68,0xa8,0x2f,0x28,0x41,0x42,0x8c,0x30,0x0,0x84,0xfe,0x80,0xb8,0x88,0x88,0xb8,0x88,0x88,0xf8,0x88,0x40,0x20,0x1e,0x4,
-+0x0,0x0,0x1f,0x14,0x92,0x50,0x5f,0x12,0x33,0x52,0xd2,0x14,0x24,0x2a,0x51,0x0,0x80,0x44,0xfe,0x0,0x10,0x10,0xe8,0x28,0xa4,0xc6,0xb0,0x88,0xa0,0x98,0x8,0x0,
-+0x1,0x0,0x3f,0x24,0xa2,0x6f,0x28,0x2f,0x68,0xaf,0x20,0x3f,0x40,0x40,0x80,0x0,0x0,0x84,0xfe,0x10,0x20,0xf8,0x88,0xf8,0x88,0xf8,0x80,0xfe,0x80,0x80,0x80,0x80,
-+0x0,0x0,0x1f,0x11,0x9f,0x51,0x57,0x15,0x35,0x57,0xd1,0x13,0x25,0x29,0x41,0x1,0x80,0x44,0xfe,0x0,0xe4,0x4,0xd4,0x54,0x54,0xd4,0x14,0x94,0x54,0x44,0x14,0x8,
-+0x1,0x0,0x3f,0x20,0xaf,0x64,0x22,0x3f,0x62,0xa4,0x28,0x37,0x40,0x40,0x9f,0x0,0x0,0x84,0xfe,0x80,0xf8,0x90,0xa4,0xfe,0x20,0x90,0x8e,0xf4,0x80,0x88,0xfc,0x0,
-+0x0,0x0,0x1f,0x12,0x92,0x54,0x55,0x1c,0x34,0x55,0xd4,0x17,0x24,0x24,0x44,0x7,0x80,0x44,0xfe,0x0,0xf8,0x8,0xfe,0x40,0xfc,0x20,0x24,0xfe,0x20,0x50,0x8e,0x4,
-+0x0,0x0,0x1f,0x11,0x9f,0x50,0x57,0x10,0x3f,0x51,0xd2,0x17,0x28,0x30,0x47,0x0,0x80,0x44,0xfe,0x20,0xfc,0x80,0xf8,0x80,0xfe,0x0,0x8,0xfc,0x40,0x44,0xfe,0x0,
-+0x0,0x0,0x1f,0x10,0x92,0x51,0x57,0x11,0x36,0x50,0xdf,0x11,0x23,0x20,0x41,0x6,0x80,0x44,0xfe,0x40,0x48,0x50,0xfc,0x50,0x4c,0x80,0xfe,0x10,0x20,0xc0,0x30,0x8,
-+0x0,0x0,0x1f,0x10,0x97,0x54,0x54,0x17,0x34,0x57,0xd4,0x14,0x27,0x24,0x44,0x5,0x80,0x44,0xfe,0x0,0xbc,0x84,0x84,0xbc,0x0,0xfc,0x24,0x28,0x90,0x28,0x46,0x84,
-+0x1,0x0,0x3f,0x20,0xaf,0x64,0x22,0x21,0x62,0xbc,0x27,0x24,0x47,0x40,0x9f,0x0,0x0,0x84,0xfe,0x0,0xf8,0x90,0x20,0xc0,0x20,0x9e,0xf4,0x90,0xf0,0x88,0xfc,0x4,
-+0x0,0x0,0x1f,0x12,0x9f,0x52,0x5f,0x12,0x3f,0x52,0xd1,0x12,0x2a,0x2a,0x51,0x0,0x80,0x44,0xfe,0x0,0xfc,0x24,0xa4,0x24,0xd4,0x88,0x0,0xc0,0x54,0x12,0xf2,0x0,
-+0x1,0x0,0x3f,0x22,0xbf,0x62,0x2f,0x28,0x6f,0xa8,0x2f,0x20,0x5f,0x41,0x86,0x18,0x0,0x84,0xfe,0x20,0xfc,0x20,0xf8,0x8,0xf8,0x8,0xf8,0x80,0xfe,0x40,0x20,0x1c,
-+0x1,0x0,0x3f,0x24,0xaf,0x69,0x2d,0x2b,0x7f,0xa9,0x2d,0x2b,0x49,0x49,0x93,0x20,0x0,0x84,0xfe,0x0,0x78,0x48,0x48,0x46,0x80,0x78,0x48,0x28,0x10,0x28,0x46,0x84,
-+0x1,0x0,0x3f,0x28,0xa4,0x69,0x22,0x24,0x6f,0xb4,0x27,0x24,0x47,0x44,0x84,0x4,0x0,0x84,0xfe,0x88,0x90,0x48,0x20,0x10,0xfe,0x14,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x1,0x0,0x3f,0x22,0xaf,0x62,0x3f,0x20,0x6f,0xa8,0x2f,0x28,0x4f,0x42,0x84,0x8,0x0,0x84,0xfe,0x20,0xf8,0x20,0xfe,0x88,0xf8,0x88,0xf8,0x88,0xf8,0x20,0x18,0x8,
-+0x0,0x3f,0x20,0x3f,0xa1,0x6f,0x29,0x2f,0x60,0xaf,0x20,0x3f,0x44,0x48,0x92,0x1,0x80,0xfe,0x0,0xfc,0x40,0xf8,0x48,0xf8,0x0,0xf8,0x0,0xfe,0x90,0x8c,0x84,0x0,
-+0x0,0x3f,0x20,0x2f,0xa8,0x6f,0x28,0x2f,0x61,0xaf,0x21,0x2f,0x44,0x48,0x92,0x1,0x80,0xfe,0x8,0xfc,0x88,0xf8,0x88,0xf8,0x10,0xe0,0x8,0xfc,0x90,0x8c,0x84,0x0,
-+0x0,0x3f,0x20,0x2f,0xa9,0x6b,0x2b,0x26,0x69,0xa1,0x3f,0x22,0x46,0x41,0x82,0xc,0x80,0xfe,0x0,0x78,0x48,0x58,0x58,0x30,0x48,0x0,0xfe,0x20,0x40,0xc0,0x30,0x10,
-+0x0,0x3f,0x24,0x27,0xa9,0x75,0x2a,0x24,0x6b,0xb0,0x2f,0x20,0x44,0x44,0x8a,0x1,0x80,0xfe,0x40,0x78,0x48,0x50,0x20,0x18,0xe6,0x0,0xf8,0x80,0x90,0x8c,0x84,0x0,
-+0x0,0x3f,0x20,0x2f,0xa9,0x6a,0x2c,0x2a,0x69,0xa9,0x2d,0x2a,0x48,0x48,0x89,0x8,0x80,0xfe,0x20,0x3c,0x68,0x90,0x28,0xc6,0x38,0x50,0x7c,0x90,0x7c,0x10,0xfe,0x0,
-+0x0,0x3f,0x20,0x2e,0xaa,0x6a,0x2c,0x2a,0x69,0xa9,0x2d,0x2a,0x49,0x49,0x8a,0x8,0x80,0xfe,0x40,0x78,0x90,0xfc,0x4,0xfc,0x4,0xfc,0x20,0x10,0x44,0x4a,0x4a,0x38,
-+0x0,0x3f,0x20,0xaf,0x69,0x25,0x25,0x69,0xa6,0x28,0x37,0x20,0x47,0x40,0x80,0xf,0x80,0xfc,0x0,0x78,0x48,0x28,0xa8,0x48,0x70,0x8e,0x24,0x40,0x90,0x20,0xc0,0x0,
-+0x0,0x3f,0x21,0x20,0xbc,0x6b,0x28,0x29,0x69,0xbd,0x28,0x29,0x4a,0x4e,0xb8,0x0,0x80,0xfe,0x0,0x80,0x1e,0xe8,0x48,0x48,0x48,0x5c,0x88,0x48,0x28,0x8,0x3e,0x0,
-+0x0,0x3f,0x22,0x22,0xaf,0x62,0x2f,0x2a,0x6a,0xaf,0x22,0x27,0x4a,0x52,0x82,0x2,0x80,0xfe,0x20,0x3c,0xa4,0x48,0xbe,0xa2,0xaa,0xaa,0x2a,0x2a,0xaa,0x10,0x14,0x22,
-+0x0,0x3f,0x20,0x2f,0xa2,0x7f,0x20,0x2f,0x68,0xaf,0x28,0x2f,0x40,0x4a,0x92,0x21,0x80,0xfe,0x80,0xf8,0x20,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x80,0x44,0x14,0xf0,
-+0x0,0x3f,0x20,0x2f,0xa8,0x6f,0x28,0x2a,0x6f,0xaa,0x2a,0x2f,0x50,0x52,0xa4,0x0,0x80,0xfe,0x0,0xdc,0x54,0xd4,0x14,0xa6,0xc0,0xbc,0x94,0xd4,0x8,0x94,0x62,0x0,
-+0x1,0x0,0x3f,0x20,0xaf,0x69,0x29,0x2f,0x68,0xaf,0x39,0x29,0x49,0x4f,0x89,0x0,0x0,0x84,0xfe,0x20,0x14,0xfe,0x4,0x8,0xfe,0x10,0x10,0x7c,0x10,0x10,0x10,0x10,
-+0x0,0x3f,0x22,0xbf,0x62,0x2f,0x28,0x6f,0xa8,0x2f,0x28,0x2f,0x48,0x5f,0x85,0x8,0x80,0xfe,0x0,0xfe,0x10,0xbe,0xa2,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xd0,0x14,0xa2,
-+0x0,0x3f,0x20,0x2f,0xad,0x6b,0x2f,0x22,0x67,0xac,0x37,0x24,0x47,0x44,0x87,0x4,0x80,0xfe,0x0,0x78,0x68,0x58,0x78,0x40,0xfc,0x40,0xf8,0x40,0xf8,0x40,0xfc,0x0,
-+0x20,0x10,0x13,0x0,0xfe,0x1,0x5,0x44,0x24,0x29,0x2a,0x8,0x16,0xf8,0x1,0x0,0x0,0x4,0xfe,0x44,0x64,0x54,0x54,0x44,0xcc,0x54,0x64,0x44,0x44,0x44,0x54,0x88,
-+0x20,0x10,0x13,0x0,0xfe,0x1,0x5,0x45,0x25,0x29,0x28,0x8,0x16,0xf9,0x2,0x0,0x20,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x20,0x70,0xa8,0x26,0x24,0x20,
-+0x2,0x41,0x7f,0x40,0x88,0x12,0x22,0x7,0x8,0x14,0x22,0x1,0x1,0x6,0x18,0x60,0x0,0x0,0xfe,0x2,0x24,0x10,0x8,0xf0,0x10,0x20,0x40,0x80,0x0,0x0,0x0,0x0,
-+0x2,0x41,0x7f,0x48,0x90,0x2f,0x0,0x0,0x1f,0x10,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0xfe,0x22,0x14,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x8,0x8,0x50,0x20,
-+0x2,0x41,0x7f,0x48,0x91,0x1,0xff,0x1,0x11,0x11,0x11,0x1f,0x1,0x1,0x1,0x0,0x0,0x0,0xfe,0x22,0x14,0x0,0xfe,0x0,0x10,0x10,0x10,0xf0,0x10,0x2,0x2,0xfe,
-+0x2,0x41,0x7f,0x48,0x90,0x0,0x1f,0x2,0x1,0x3f,0x0,0x1,0xe,0x30,0x48,0x7,0x0,0x0,0xfe,0x22,0x14,0x70,0x80,0x0,0x20,0xf0,0x40,0x80,0x0,0x0,0x6,0xfc,
-+0x2,0x41,0x7f,0x48,0x90,0x4,0x8,0x11,0x7e,0x4,0x8,0x14,0x22,0x7e,0x1,0x2,0x0,0x0,0xfe,0x22,0x14,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0x88,0x88,0x28,0x10,
-+0x2,0x41,0x7f,0x48,0x92,0x2,0x22,0x12,0x16,0xa,0x12,0x62,0x4,0x4,0x18,0x60,0x0,0x0,0xfe,0x22,0x94,0x80,0x90,0x98,0xa0,0xc0,0xa0,0x98,0x8a,0x82,0x7e,0x0,
-+0x41,0x7f,0x48,0x91,0x2f,0x1,0x3f,0x8,0x4,0x12,0x8,0xff,0x1,0x2,0xc,0x30,0x0,0xfe,0x22,0x14,0xe8,0x0,0xfc,0x84,0x88,0x80,0x84,0xfe,0x40,0x30,0x18,0x8,
-+0x41,0x7f,0x48,0x90,0x3f,0x11,0x1f,0x11,0x1f,0x1,0xff,0x3,0x5,0x19,0x61,0x1,0x0,0xfe,0x22,0x14,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x80,0x60,0x1e,0x8,0x0,
-+0x41,0x7f,0x48,0x91,0x22,0x4,0xf,0x30,0xde,0x12,0x1e,0x12,0x1e,0x12,0x12,0x16,0x0,0xfe,0x22,0x14,0x88,0x40,0xf0,0xe,0x14,0x90,0x90,0x90,0x90,0x90,0x10,0x30,
-+0x41,0x7f,0x48,0x92,0x1,0x3f,0x8,0x4,0xff,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x0,0xfe,0x22,0x14,0x0,0xf8,0x20,0x44,0xfe,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x41,0x7f,0x49,0x91,0x29,0x5,0x7f,0x9,0x31,0x2,0xff,0x4,0xe,0x1,0x6,0x38,0x0,0xfe,0x22,0x14,0x28,0x40,0xfc,0x20,0x18,0x4,0xfe,0x20,0x40,0x80,0x70,0x8,
-+0x41,0x7f,0x48,0x90,0x26,0x38,0x2c,0x2c,0x2a,0x2a,0x29,0x29,0x34,0x5d,0x81,0x2,0x0,0xfe,0x22,0x14,0x18,0xe8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa4,0x54,0x72,0x0,
-+0x20,0x10,0x10,0x0,0xfc,0x8,0x10,0x34,0x58,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x10,0x13,0x0,0xfd,0x8,0x10,0x34,0x58,0x94,0x10,0x10,0x10,0x11,0x12,0x14,0x0,0x4,0xfe,0x4,0x44,0xa8,0xa8,0x88,0x50,0x50,0x20,0x50,0x90,0x8,0x6,0x4,
-+0x20,0x10,0x10,0x0,0xfd,0x9,0x11,0x35,0x59,0x95,0x11,0x11,0x11,0x11,0x11,0x11,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x54,0x4c,0x8c,0x4,0x4,0x4,0x14,0x8,
-+0x20,0x10,0x13,0x0,0xfc,0x8,0x10,0x35,0x58,0x94,0x10,0x10,0x10,0x10,0x13,0x10,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x10,0x10,0x0,0xfd,0xa,0x14,0x30,0x54,0x9b,0x14,0x10,0x10,0x10,0x10,0x10,0x40,0x40,0xa0,0xa0,0x10,0x8e,0x64,0x20,0x0,0xf8,0x8,0x10,0x10,0x20,0x40,0x80,
-+0x20,0x10,0x10,0x0,0xfd,0x8,0x10,0x34,0x5b,0x94,0x10,0x10,0x10,0x11,0x12,0x14,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0xfe,0x40,0x40,0xa0,0xa0,0x10,0xe,0x4,
-+0x20,0x10,0x11,0x0,0xfc,0x8,0x11,0x34,0x58,0x94,0x13,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x24,0xac,0xb0,0x20,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x20,0x10,0x11,0x0,0xfc,0x8,0x11,0x34,0x58,0x94,0x11,0x10,0x10,0x10,0x13,0x10,0x20,0x20,0x24,0xac,0xb0,0x24,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x10,0x10,0x0,0xfd,0xa,0x15,0x30,0x54,0x99,0x15,0x11,0x11,0x11,0x11,0x11,0x40,0x40,0xa0,0x90,0x8,0xe,0xf4,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x10,0x10,0x1,0xfd,0xa,0x10,0x34,0x5b,0x95,0x11,0x11,0x11,0x11,0x11,0x11,0x80,0x88,0xfc,0x88,0x50,0x20,0x50,0x88,0x6,0xf8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x11,0x11,0x1,0xfd,0x9,0x11,0x35,0x59,0x95,0x11,0x11,0x11,0x11,0x11,0x11,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x48,0x30,0x20,0x10,0x4e,0x84,0x0,
-+0x40,0x24,0x22,0x2,0xf8,0x10,0x26,0x2a,0x72,0xaa,0x22,0x22,0x22,0x25,0x28,0x20,0x20,0x20,0x28,0xfc,0x40,0x50,0x90,0xfc,0x10,0x14,0xfe,0x10,0x10,0x16,0xfc,0x0,
-+0x20,0x11,0x11,0x1,0xfd,0x9,0x10,0x35,0x58,0x94,0x11,0x10,0x10,0x10,0x17,0x10,0x4,0xfe,0x4,0x4,0x4,0xfc,0x0,0xfc,0x20,0x20,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x10,0x10,0x1,0xfd,0xa,0x15,0x34,0x5a,0x95,0x11,0x11,0x11,0x10,0x17,0x10,0x40,0x40,0xa0,0x10,0x10,0x28,0xf6,0x0,0x48,0x48,0x48,0x50,0x50,0x24,0xfe,0x0,
-+0x22,0x11,0x10,0x2,0xfe,0xa,0x12,0x36,0x5a,0x96,0x12,0x12,0x12,0x12,0x12,0x12,0x4,0xbe,0x84,0x4,0x4,0xf4,0x94,0x94,0xf4,0x94,0x94,0xf4,0x4,0x4,0x14,0x8,
-+0x20,0x10,0x10,0x3,0xfc,0x9,0x10,0x37,0x58,0x94,0x11,0x13,0x15,0x11,0x11,0x11,0x40,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0x44,0xa8,0x30,0x20,0x10,0x48,0x8e,0x4,
-+0x20,0x10,0x10,0x3,0xfc,0x8,0x13,0x34,0x59,0x95,0x13,0x15,0x19,0x11,0x11,0x11,0x80,0x80,0x88,0xf8,0x90,0xa4,0xfe,0x40,0xf8,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x20,0x11,0x11,0x1,0xfd,0x9,0x11,0x34,0x58,0x95,0x12,0x14,0x11,0x12,0x10,0x11,0x8,0xfc,0x8,0xf8,0x8,0x8,0xf8,0x84,0xfe,0x54,0x94,0xa4,0x24,0x44,0xa8,0x10,
-+0x20,0x10,0x11,0x1,0xfd,0x9,0x11,0x35,0x59,0x94,0x11,0x17,0x10,0x10,0x10,0x10,0x20,0x44,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x20,0x11,0x11,0x1,0xfd,0x9,0x11,0x35,0x59,0x95,0x11,0x12,0x12,0x14,0x18,0x10,0x4,0xfe,0x4,0x4,0xfc,0x20,0x24,0xfe,0x20,0x24,0xfe,0x84,0x84,0x84,0xfc,0x84,
-+0x40,0x2f,0x20,0x5,0xfa,0x15,0x20,0x68,0xb7,0x28,0x24,0x25,0x22,0x25,0x28,0x30,0x0,0xfc,0x84,0x28,0x10,0x28,0xc4,0x0,0xbc,0x84,0xc4,0x28,0x10,0x28,0xce,0x84,
-+0x21,0x11,0x17,0x1,0xfc,0x8,0x11,0x3a,0x55,0x98,0x13,0x12,0x12,0x12,0x13,0x12,0x10,0x14,0xfe,0x10,0x40,0xa0,0x10,0x8,0xf6,0x0,0xf8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x10,0x13,0x0,0xfc,0xb,0x10,0x35,0x59,0x95,0x11,0x11,0x11,0x11,0x11,0x11,0x90,0x94,0x98,0x90,0x92,0x8e,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0x28,0x10,
-+0x21,0x11,0x11,0x1,0xfa,0xa,0x16,0x3a,0x52,0x9a,0x12,0x12,0x12,0x12,0x12,0x12,0x4,0x7e,0x44,0x44,0x44,0x7c,0x10,0x10,0xfe,0x10,0x38,0x54,0x54,0x92,0x10,0x10,
-+0x20,0x12,0x11,0x0,0xff,0x9,0x12,0x34,0x58,0x97,0x19,0x12,0x11,0x10,0x11,0x16,0x40,0x48,0x50,0x44,0xfe,0x50,0x48,0x46,0x80,0xfe,0x10,0x10,0xa0,0x40,0xb0,0xc,
-+0x40,0x20,0x27,0x4,0xfc,0x17,0x24,0x6c,0xb7,0x2e,0x26,0x2b,0x2a,0x32,0x22,0x22,0x80,0x44,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x94,0x94,0xfc,0x94,0x94,0x94,0x8,
-+0x20,0x12,0x12,0x2,0xfe,0xa,0x12,0x34,0x58,0x97,0x12,0x12,0x12,0x12,0x17,0x10,0x90,0x90,0x94,0xbe,0xa0,0xd0,0x88,0x80,0x4,0xfe,0x94,0x94,0x94,0x94,0xfe,0x0,
-+0x40,0x27,0x24,0x4,0xfd,0x15,0x25,0x6d,0xb5,0x2d,0x25,0x25,0x29,0x2a,0x34,0x21,0x3c,0xe0,0x3c,0x20,0xfe,0x22,0xf8,0x24,0x1c,0x0,0x78,0x48,0x48,0x4a,0x8a,0x6,
-+0x40,0x2f,0x20,0x4,0xfa,0x12,0x24,0x68,0xb3,0x2a,0x22,0x23,0x22,0x22,0x23,0x22,0x4,0xbe,0x84,0xa4,0x94,0x94,0xa4,0x48,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,
-+0x40,0x2f,0x21,0x1,0xf9,0x17,0x24,0x6c,0xb7,0x29,0x21,0x21,0x21,0x21,0x2a,0x24,0x4,0x7e,0x44,0x44,0x44,0x7c,0x10,0x7c,0x54,0x54,0x54,0x7c,0x10,0x14,0xfe,0x2,
-+0x43,0x20,0x2f,0x8,0xfb,0x10,0x23,0x68,0xb7,0x28,0x27,0x24,0x24,0x24,0x24,0x24,0xf8,0x40,0xfe,0x42,0x5c,0x40,0x58,0x44,0xfe,0x80,0xfc,0xa4,0xa4,0xa4,0xb4,0x8,
-+0x42,0x22,0x2f,0x2,0xf7,0x2a,0x22,0x77,0xa1,0x33,0x24,0x29,0x20,0x27,0x20,0x20,0xa8,0x48,0xbe,0xa8,0x5c,0xaa,0x8,0xfe,0x10,0xf8,0x44,0xf2,0x40,0xfc,0x40,0xc0,
-+0x0,0x0,0x7f,0x1,0x1,0x9,0x9,0x9,0x9,0x11,0x11,0x19,0x25,0x23,0x41,0x80,0x0,0x8,0xfc,0x8,0x10,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x0,0x0,0x86,0x7c,
-+0x7f,0x1,0x9,0x9,0x9,0x15,0x23,0xc0,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0xfc,0x8,0x0,0xf0,0x0,0x6,0xfc,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x50,0x20,
-+0x0,0x7f,0x52,0x91,0x7d,0x11,0x29,0x29,0x7d,0x9,0x9,0xfd,0xa,0xa,0xd,0xa,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xfc,0x88,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x10,0x10,0x28,0x45,0xfd,0x45,0xa3,0x3d,0x25,0x45,0xa9,0x11,0x2a,0x44,0x89,0x2,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xf8,0x88,0x50,0x20,0x50,0x50,0x88,0xe,0x4,
-+0x0,0x7e,0x2,0x24,0x18,0x9,0xfe,0xa,0x18,0x19,0x28,0x48,0x88,0x8,0x28,0x10,0x20,0x20,0x50,0x50,0x88,0x46,0x24,0x20,0x8,0xfc,0x8,0x8,0x10,0x10,0x20,0x40,
-+0x1,0x1,0x7f,0x1,0x1,0x3f,0x1,0x1,0xff,0x3,0x5,0x9,0x11,0x21,0x41,0x1,0x0,0x8,0xfc,0x0,0x0,0xf8,0x0,0x4,0xfe,0x80,0x40,0x20,0x10,0xe,0x4,0x0,
-+0x10,0x10,0x15,0xfe,0x10,0x7c,0x10,0xfe,0x33,0x38,0x54,0x50,0x90,0x10,0x10,0x10,0x0,0x8,0xfc,0x8,0x10,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x10,0x10,0x14,0xfe,0x10,0x10,0x7c,0x11,0xfd,0x30,0x38,0x54,0x50,0x90,0x11,0x16,0x20,0x20,0x20,0x20,0xa8,0xa4,0xa2,0x22,0x28,0x2c,0x10,0x20,0x40,0x80,0x0,0x0,
-+0x10,0x11,0x15,0xff,0x11,0x7d,0x11,0xff,0x31,0x39,0x55,0x55,0x91,0x11,0x11,0x11,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x14,0xfe,0x11,0x7e,0x11,0xfe,0x30,0x39,0x55,0x55,0x91,0x11,0x11,0x11,0x40,0x40,0xa0,0x90,0x8,0x2e,0xf4,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0xfc,0x10,0x7f,0x12,0xfc,0x30,0x3b,0x54,0x54,0x91,0x11,0x12,0x14,0x88,0x88,0xfe,0x88,0x88,0xfe,0x2,0x84,0x80,0xf8,0x88,0x88,0x8,0x8,0x28,0x10,
-+0x10,0x12,0x11,0xfd,0x11,0x7c,0x13,0xfe,0x32,0x3a,0x56,0x56,0x92,0x12,0x12,0x12,0x40,0x48,0x4c,0x48,0x50,0x44,0xfe,0x4,0xf4,0x94,0x94,0x94,0xf4,0x4,0x14,0x8,
-+0x10,0x11,0x15,0xff,0x11,0x7d,0x11,0xfd,0x30,0x3b,0x56,0x56,0x92,0x12,0x12,0x12,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x22,0x2a,0xfa,0x2,0xa,0x4,
-+0x10,0x12,0x11,0xfc,0x13,0x7d,0x12,0xfc,0x38,0x37,0x51,0x52,0x91,0x10,0x11,0x16,0x40,0x48,0x50,0x44,0xfe,0x50,0x4c,0x44,0x80,0xfe,0x10,0x10,0xa0,0x40,0xb0,0xc,
-+0x11,0x11,0x17,0xf9,0x13,0x79,0x17,0xf8,0x33,0x3a,0x57,0x52,0x9f,0x12,0x12,0x12,0x10,0x10,0xfc,0x10,0xf8,0x10,0xfe,0x40,0xf8,0x48,0xf8,0x48,0xfe,0x8,0x28,0x10,
-+0x10,0x13,0x12,0xff,0x12,0x7f,0x12,0xfe,0x32,0x32,0x52,0x53,0x94,0x14,0x18,0x10,0x8,0xfc,0x0,0xf8,0x0,0xfe,0xa4,0x98,0xae,0xc4,0x8,0xfe,0x88,0x88,0x28,0x10,
-+0x10,0x10,0x13,0xfe,0x13,0x7e,0x12,0xff,0x32,0x3b,0x56,0x52,0x92,0x15,0x1a,0x10,0x40,0x24,0xfe,0x48,0xfe,0x58,0xec,0x4a,0x48,0xfe,0x40,0xfc,0x84,0x84,0xfc,0x84,
-+0x1,0x1f,0x1,0xff,0x4,0x1b,0x68,0x7,0x0,0x7f,0x10,0x3f,0x1,0x1f,0x1,0xff,0x20,0xc0,0x4,0xfe,0x0,0xe0,0x8,0xf8,0x0,0xfc,0x10,0xf8,0x4,0xf0,0x4,0xfe,
-+0x2,0xff,0x25,0x24,0x3c,0x24,0x24,0x3c,0x24,0x24,0x27,0x3c,0xe4,0x44,0x4,0x4,0x0,0x4,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x2,0xff,0x24,0x25,0x3d,0x25,0x25,0x3d,0x25,0x27,0x25,0x3f,0xe5,0x45,0x5,0x5,0x20,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfe,0x4,0x4,0x4,0x4,0x14,0x8,
-+0x2,0xff,0x24,0x24,0x3c,0x25,0x26,0x3c,0x25,0x24,0x26,0x3c,0xe4,0x44,0x4,0x4,0x20,0x20,0x50,0x50,0x88,0x46,0x24,0x20,0xfc,0x4,0x8,0x90,0x60,0x20,0x10,0x0,
-+0x2,0xff,0x24,0x25,0x3d,0x26,0x24,0x3f,0x24,0x24,0x27,0x3c,0xe4,0x44,0x4,0x4,0x40,0x20,0x20,0xfe,0x2,0x4,0x0,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x40,
-+0x2,0xff,0x25,0x24,0x3c,0x27,0x24,0x3c,0x24,0x25,0x27,0x3d,0xe5,0x45,0x5,0x5,0x8,0x1c,0xe0,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x2,0xff,0x25,0x25,0x3d,0x24,0x27,0x3c,0x25,0x25,0x27,0x3d,0xe5,0x44,0x4,0x5,0x20,0x24,0xfe,0x24,0xfc,0x20,0xfe,0x0,0xfc,0x4,0x24,0x24,0x24,0x50,0x8c,0x4,
-+0x8,0x7f,0x8,0x7f,0x8,0xff,0x10,0x2e,0x42,0xbf,0xc,0xb,0x8,0xff,0x0,0x0,0x40,0x44,0x7e,0x44,0xa8,0x10,0x28,0x46,0x84,0xf8,0x20,0xa0,0x64,0xfe,0x20,0x20,
-+0xff,0x4,0x3f,0x24,0x3f,0x0,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x1,0x1,0x1,0xfe,0x40,0xf8,0x48,0xf8,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,0x0,
-+0x0,0xb,0x7c,0x10,0x11,0x11,0x15,0xff,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x13,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x58,0x86,0x2,
-+0x4,0xf,0x70,0x40,0x41,0x41,0x7f,0x49,0x49,0x49,0x49,0x49,0x49,0x88,0x8,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x58,0x86,0x2,
-+0x20,0x13,0x10,0xfe,0x1,0x9,0x7d,0x49,0x49,0x49,0x49,0x49,0x4d,0x48,0x80,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x44,0x58,0x86,0x2,
-+0x10,0x13,0x10,0xfe,0x11,0x11,0x7d,0x1,0x7d,0x45,0x45,0x45,0x44,0x7c,0x40,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x10,0x13,0x10,0x28,0x45,0x81,0x7d,0x1,0x7d,0x45,0x45,0x45,0x44,0x7c,0x40,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x40,0x45,0x48,0x70,0x45,0x7d,0x1,0x13,0xf5,0x39,0x39,0x55,0x54,0x90,0x30,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x20,0x13,0x10,0xfe,0x11,0x11,0x25,0x7d,0x9,0x11,0x25,0xc9,0x18,0x24,0xc2,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x10,0x13,0x28,0x26,0x53,0x81,0x7d,0x5,0x9,0x7d,0x45,0x45,0x44,0x7c,0x44,0x3,0x4,0xfe,0x20,0x44,0xfe,0x4,0x24,0x24,0x24,0x24,0x24,0x24,0x50,0x48,0x86,0x2,
-+0x1,0x77,0x55,0x55,0x77,0x0,0x3e,0x0,0xff,0x20,0x3e,0x2,0x2,0x2,0x14,0x9,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x64,0x28,0x46,0x82,
-+0x8,0x49,0x49,0x49,0x7f,0x0,0xff,0x8,0x7f,0x55,0x55,0x55,0x55,0x55,0x43,0x0,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x64,0x28,0x46,0x82,
-+0x2,0xff,0x22,0x3e,0x22,0x3e,0x22,0xff,0x2,0x77,0x11,0x55,0x22,0x22,0x55,0x88,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0xd4,0x54,0x54,0x54,0x54,0x64,0x28,0x46,0x82,
-+0x24,0x24,0xff,0x24,0x2,0xff,0x24,0x24,0xff,0xa5,0xa5,0xdb,0x81,0x85,0x82,0x0,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0x54,0x54,0x20,0x28,0x46,0x82,
-+0x0,0x3e,0x14,0x8,0x14,0x77,0x55,0x22,0x55,0x8,0xff,0x18,0x2c,0x4b,0x89,0x8,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0x54,0x54,0x54,0xd4,0x54,0x20,0x28,0x46,0x82,
-+0x2,0x3f,0x22,0x3e,0x22,0x3e,0x8,0xff,0x0,0x3e,0x22,0x3e,0x8,0x2a,0x49,0x18,0x4,0xfe,0x10,0x24,0x7e,0x44,0x54,0xd4,0x54,0x54,0x54,0x54,0x20,0x28,0x46,0x82,
-+0x2,0x7f,0x8,0xff,0x88,0x6b,0x8,0x6b,0x8,0xff,0x10,0x7f,0x55,0x55,0x55,0x43,0x4,0xfe,0x10,0xa4,0xfe,0x44,0x54,0x54,0x54,0xd4,0x54,0x54,0x20,0x28,0x46,0x82,
-+0x9,0x2e,0x28,0xff,0x4a,0xc,0x32,0xdf,0x11,0x1f,0x12,0x1f,0x5,0xff,0x1,0x1,0xfe,0x20,0xfc,0x94,0x94,0x28,0xc4,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,
-+0x1,0x1,0x1,0x1,0x3f,0x20,0x22,0x22,0x22,0x22,0x23,0x26,0x5a,0x42,0x81,0x0,0x0,0x10,0xf8,0x0,0xfc,0x4,0x8,0x20,0x60,0x80,0x0,0x0,0x4,0x4,0xfc,0x0,
-+0x1,0x1,0x1,0x3f,0x22,0x3f,0x22,0x23,0x21,0x20,0x2f,0x22,0x41,0x40,0x83,0x1c,0x10,0xf8,0x0,0xfc,0x4,0xc8,0x10,0xf0,0x0,0x88,0xfc,0x20,0x40,0x80,0x60,0x1c,
-+0x8,0x8,0x8,0x9,0x7f,0x49,0x49,0x49,0x49,0x7f,0x48,0x9,0xf,0xf1,0x40,0x0,0x40,0x40,0x40,0x40,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x10,0x10,0x10,0x14,0x7e,0x54,0x54,0x54,0x54,0x7c,0x50,0x14,0x1d,0xe5,0x42,0x4,0x0,0x10,0xf8,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x12,0x12,0xe,0x0,
-+0x0,0xff,0x4,0x4,0x7,0x8,0x31,0xc1,0x3f,0x21,0x21,0x3f,0x1,0x1,0x7f,0x0,0x4,0xfe,0x0,0x10,0xf8,0x10,0x50,0x28,0xfc,0x8,0x8,0xf8,0x0,0x8,0xfc,0x4,
-+0x0,0x2,0xff,0x24,0x25,0x25,0x25,0x25,0x25,0x24,0x24,0x24,0x25,0x44,0x43,0x80,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x20,0x24,0x3c,0xc6,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x55,0x54,0x54,0x7c,0x50,0x14,0x1d,0xe5,0x40,0x0,0x80,0x80,0x88,0xfc,0x0,0x0,0xf8,0x8,0x10,0x20,0x40,0x80,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x10,0x14,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x40,0x0,0x40,0x20,0x20,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0xfc,0x0,
-+0x10,0x10,0x10,0x14,0x7d,0x54,0x54,0x54,0x57,0x7c,0x50,0x14,0x1c,0xe4,0x41,0x6,0x20,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x0,0x20,0x20,0x20,0x20,0x24,0xec,0x30,0x20,0x20,0x20,0x20,0x20,0x62,0xa2,0x1e,0x0,
-+0x10,0x10,0x10,0x14,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x54,0x4c,0x8c,0x4,0x4,0x14,0x8,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x14,0x1c,0xe5,0x42,0xc,0x8,0xfc,0x8,0x28,0x28,0x28,0x28,0x48,0x48,0x48,0xa8,0xa0,0xa0,0x22,0x22,0x1e,
-+0x10,0x10,0x13,0x14,0x7e,0x54,0x57,0x54,0x54,0x7c,0x53,0x14,0x1c,0xe4,0x40,0x0,0x8,0x1c,0xe0,0x40,0x48,0x7c,0xc0,0x40,0x44,0x7e,0xc0,0x40,0x40,0x42,0x42,0x3e,
-+0x10,0x10,0x10,0x14,0x7e,0x55,0x56,0x54,0x54,0x7c,0x50,0x14,0x1c,0xe4,0x41,0x2,0x20,0x20,0x50,0x50,0x88,0xe,0x4,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x10,0x10,0x10,0x14,0x7e,0x54,0x54,0x55,0x56,0x7c,0x50,0x14,0x1c,0xe5,0x41,0x0,0x0,0x10,0x58,0x50,0x50,0x88,0x88,0x26,0x24,0x20,0x40,0x40,0x90,0x8,0xfc,0x4,
-+0x10,0x10,0x11,0x14,0x7e,0x54,0x55,0x54,0x54,0x7c,0x53,0x14,0x1c,0xe4,0x40,0x0,0x10,0x10,0x10,0xd0,0x50,0x10,0x10,0x90,0x94,0x1e,0xf0,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x13,0x10,0x14,0x7f,0x55,0x55,0x55,0x55,0x7c,0x50,0x14,0x1c,0xe4,0x1,0x0,0x24,0xf4,0x24,0x24,0xe4,0x4,0x4,0x24,0xf4,0x24,0x24,0x24,0x24,0x24,0x44,0x84,
-+0x1,0x21,0x21,0x3f,0x1,0xff,0x1,0x1,0x1f,0x11,0x11,0x1f,0x1,0x1,0x7f,0x0,0x0,0x8,0x8,0xf8,0x4,0xfe,0x0,0x10,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x4,
-+0x10,0x10,0x10,0x14,0x7f,0x54,0x54,0x54,0x54,0x7c,0x50,0x14,0x1c,0xe4,0x40,0x0,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x10,0x10,0x10,0x14,0x7f,0x54,0x54,0x54,0x54,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x17,0x14,0x7e,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1c,0xe4,0x40,0x0,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0xe8,0x28,0x8,0x8,0x28,0x10,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe6,0x44,0x9,0x4,0xfe,0x0,0x4,0xfe,0x20,0x24,0x3e,0x24,0x24,0x24,0x24,0x44,0x44,0x94,0x8,
-+0x10,0x10,0x10,0x14,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x10,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x17,0x1d,0xe5,0x41,0x1,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0xfe,0x4,0x4,0x14,0x8,
-+0x10,0x10,0x10,0x14,0x7f,0x55,0x56,0x54,0x54,0x7c,0x50,0x14,0x1c,0xe4,0x40,0x0,0x80,0xc0,0x84,0xfe,0x40,0x40,0x48,0x7c,0x40,0x40,0x44,0x7e,0x40,0x40,0x40,0x40,
-+0x10,0x10,0x10,0x14,0x7e,0x54,0x54,0x54,0x54,0x7c,0x50,0x14,0x1c,0xe4,0x47,0x0,0x8,0x1c,0xe0,0x80,0x80,0x80,0x88,0xfc,0x90,0x90,0x90,0x90,0x90,0x94,0xfe,0x0,
-+0x10,0x10,0x10,0x14,0x7e,0x55,0x56,0x54,0x54,0x7d,0x50,0x14,0x1c,0xe4,0x40,0x0,0x20,0x20,0x50,0x50,0x88,0x46,0x24,0x20,0x0,0xfc,0x8,0x10,0xa0,0x40,0x20,0x20,
-+0x10,0x11,0x11,0x14,0x7e,0x54,0x54,0x54,0x57,0x7c,0x51,0x14,0x1c,0xe4,0x43,0x0,0x0,0xfc,0x4,0x88,0x50,0x20,0x50,0x8e,0x24,0x20,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x10,0x14,0x7e,0x55,0x55,0x57,0x54,0x7c,0x51,0x17,0x1c,0xe4,0x40,0x1,0x10,0x90,0x90,0x94,0xbe,0x14,0x54,0xd4,0x94,0x94,0x54,0xf4,0x24,0x44,0x94,0x8,
-+0x4,0x7e,0x8,0x8,0x8,0xe,0xf1,0x1,0x1f,0x11,0x11,0x1f,0x11,0x1,0x7f,0x0,0x8,0xfc,0x88,0xc8,0xaa,0x8a,0x6,0x10,0xf8,0x10,0x10,0xf0,0x0,0x8,0xfc,0x4,
-+0x10,0x10,0x10,0x15,0x7e,0x55,0x54,0x54,0x54,0x7f,0x50,0x14,0x1c,0xe4,0x41,0x2,0x20,0x20,0x28,0xfc,0x20,0x24,0xac,0xb0,0x24,0xfe,0x50,0x50,0x90,0x88,0x6,0x4,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x54,0x57,0x54,0x7d,0x50,0x14,0x1c,0xe4,0x41,0x2,0x80,0x80,0x5c,0xe0,0x50,0x22,0xd2,0xe,0x0,0xfc,0x90,0x90,0x92,0x92,0xe,0x0,
-+0x10,0x10,0x11,0x14,0x7e,0x54,0x54,0x55,0x54,0x7c,0x51,0x14,0x1c,0xe4,0x43,0x0,0x0,0x8,0xfc,0x20,0x20,0x48,0x84,0xfe,0x22,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x22,0x2a,0xfe,0xaa,0xaa,0xaa,0xaa,0xfa,0xa2,0x2a,0x38,0xc9,0x1,0x2,0x80,0x84,0xbe,0x88,0x88,0xbe,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xae,0x8,0x8,0x8,
-+0x10,0x10,0x10,0x14,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x50,0x50,0x50,0x54,0xfe,0x54,0x54,0x54,0x54,0xfc,0x54,0x54,0x54,0x54,0xfc,0x4,
-+0x20,0x20,0x27,0x29,0xfd,0xaa,0xaa,0xaf,0xa9,0xf9,0xa5,0x2b,0x39,0xca,0x4,0x8,0x0,0xc,0x70,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x7c,0x0,0x86,0x7c,0x0,
-+0x10,0x10,0x11,0x14,0x7e,0x54,0x57,0x54,0x54,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x8,0x1c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x54,0x54,0x57,0x7c,0x50,0x14,0x1c,0xe4,0x41,0x2,0x40,0x20,0x24,0xfe,0x88,0x50,0x20,0xd8,0x6,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x55,0x56,0x54,0x7c,0x50,0x14,0x1c,0xe4,0x1,0x6,0x40,0x20,0x4,0xfe,0x88,0x88,0x4,0x8a,0x88,0x50,0x50,0x20,0x50,0x88,0x6,0x4,
-+0x11,0x10,0x10,0x10,0x7d,0x54,0x54,0x55,0x54,0x7c,0x53,0x14,0x1c,0xe4,0x40,0x0,0x4,0x8c,0x50,0x4,0xfe,0x20,0x20,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x10,0x14,0x7f,0x54,0x54,0x54,0x55,0x7c,0x53,0x14,0x1c,0xe4,0x40,0x0,0x20,0x20,0x40,0x88,0xfc,0x20,0xa8,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x3f,0x20,0x2f,0x20,0x3f,0x24,0x24,0x26,0x24,0x2f,0x28,0x28,0x4f,0x40,0xbf,0x0,0xfc,0x0,0xf8,0x0,0xfe,0x88,0x50,0xb0,0x8e,0xf8,0x88,0x88,0xf8,0x84,0xfc,0x2,
-+0x8,0x8,0xfe,0x8,0xe,0xf8,0x9,0x2a,0x11,0x3f,0x21,0x21,0x3f,0x1,0x7f,0x0,0x4,0xf8,0x80,0x84,0xfe,0x90,0x10,0x10,0x10,0xf8,0x8,0x8,0xf8,0x4,0xfc,0x2,
-+0x10,0x11,0x10,0x14,0x7e,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x20,0x24,0xa8,0xb0,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x54,0x57,0x54,0x7c,0x53,0x14,0x1c,0xe5,0x42,0x4,0x8,0xfc,0x8,0x8,0x8,0xf8,0x0,0xfc,0x40,0x44,0xfe,0xa0,0xa0,0x10,0xe,0x4,
-+0x10,0x10,0x13,0x10,0x7c,0x57,0x54,0x55,0x55,0x7e,0x52,0x14,0x1c,0xe4,0x40,0x0,0x44,0xe4,0x84,0x84,0x94,0xf4,0x94,0x94,0xd4,0xb4,0x94,0x94,0x84,0x84,0x94,0x88,
-+0x10,0x10,0x10,0x14,0x7e,0x55,0x56,0x54,0x54,0x7d,0x50,0x14,0x1d,0xe6,0x40,0x0,0x20,0x20,0x50,0x88,0x88,0x6,0xf8,0x20,0x28,0xfc,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x10,0x10,0x13,0x11,0x7c,0x54,0x55,0x54,0x54,0x7c,0x53,0x14,0x1c,0xe4,0x40,0x0,0x8,0x1c,0xe0,0x24,0xa4,0xa8,0xfc,0x8,0x30,0x24,0xfe,0x20,0x20,0x20,0xa0,0x40,
-+0x11,0x10,0x13,0x14,0x7e,0x55,0x54,0x54,0x57,0x7c,0x50,0x14,0x1c,0xe4,0x41,0x6,0x4,0x88,0xfe,0x20,0x28,0xfc,0x20,0x24,0xfe,0x50,0x50,0x50,0x92,0x92,0xe,0x0,
-+0x10,0x10,0x13,0x10,0x7d,0x54,0x57,0x54,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x20,0x24,0xfe,0x20,0xfc,0x20,0xfe,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x10,0x10,0x13,0x14,0x7e,0x54,0x54,0x54,0x54,0x7c,0x50,0x17,0x1c,0xe4,0x41,0x2,0x88,0x88,0xfe,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0x88,0xfe,0x0,0x88,0x6,0x2,
-+0x10,0x10,0x10,0x14,0x7f,0x54,0x55,0x55,0x55,0x7e,0x52,0x14,0x1c,0xe4,0x40,0x0,0x80,0x86,0x98,0x90,0xf0,0x90,0x9e,0xd4,0xb4,0x94,0x94,0x94,0xa4,0xa4,0xc4,0x84,
-+0x20,0x20,0x20,0x27,0xf8,0xa8,0xab,0xaa,0xaa,0xfa,0xa3,0x28,0x39,0xce,0x4,0x0,0x20,0x28,0x24,0xfe,0x20,0x20,0xa4,0xa4,0xa4,0xa8,0xa8,0x10,0xb2,0x52,0x8a,0x4,
-+0x2,0x2,0x7e,0x2,0x3e,0x2,0x7e,0x2,0x1,0x3f,0x21,0x21,0x3f,0x1,0xff,0x0,0x80,0x88,0xfc,0x80,0xf8,0x80,0xfe,0x80,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfc,0x2,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x54,0x7f,0x50,0x14,0x1c,0xe5,0x42,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x70,0xa8,0x2e,0x24,0x20,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x4,0xfe,0x4,0x14,0xfc,0x24,0x24,0xfc,0x24,0x34,0x2c,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x54,0x54,0x7d,0x52,0x14,0x1d,0xe6,0x40,0x1,0x8,0xfc,0x8,0xf8,0x8,0x8,0xf8,0x84,0xfe,0x54,0x94,0xa4,0x24,0x44,0xa8,0x10,
-+0x10,0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7c,0x50,0x17,0x1c,0xe4,0x40,0x0,0x20,0x44,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0x50,0x94,0xfe,0x10,0x10,0x10,0x10,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x42,0x4,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,0x74,0x54,0x54,0x74,0x4,0x14,0x8,
-+0x10,0x11,0x10,0x10,0x7d,0x54,0x57,0x54,0x54,0x7d,0x52,0x14,0x1c,0xe4,0x40,0x0,0x20,0x24,0xa8,0x20,0xfc,0x20,0xfe,0x50,0x88,0xfe,0x88,0x88,0xa8,0x92,0x82,0x7e,
-+0x10,0x12,0x13,0x12,0x7d,0x55,0x55,0x55,0x56,0x7d,0x50,0x14,0x1c,0xe5,0x42,0x4,0x40,0x20,0xfe,0x2,0x4,0x0,0xdc,0x54,0x54,0x54,0xdc,0x90,0x92,0x12,0xe,0x0,
-+0x21,0x20,0x20,0x2b,0xfe,0xaa,0xab,0xaa,0xaa,0xfb,0xa2,0x2a,0x3a,0xcb,0x2,0x0,0x0,0x80,0x9e,0xd2,0x54,0x54,0xd8,0x54,0x54,0xd2,0x12,0x9a,0xd4,0x50,0x10,0x10,
-+0x10,0x11,0x10,0x14,0x7e,0x55,0x54,0x54,0x54,0x7d,0x51,0x15,0x1d,0xe5,0x43,0x0,0x0,0xfc,0x8,0x30,0x24,0xfe,0x20,0xa0,0x44,0xfe,0x54,0x54,0x54,0x54,0xfe,0x0,
-+0x20,0x20,0x27,0x20,0xfb,0xa8,0xaf,0xa9,0xab,0xfe,0xaa,0x23,0x3a,0xca,0x3,0x2,0x40,0x48,0xfc,0x40,0xf8,0x80,0xfe,0x10,0xf8,0xc,0xa,0xf8,0x8,0x8,0xf8,0x8,
-+0x10,0x10,0x13,0x10,0x7c,0x57,0x56,0x54,0x55,0x7c,0x50,0x14,0x1c,0xe5,0x42,0x0,0x88,0x88,0xfe,0x88,0x88,0xfe,0x2,0x24,0xfc,0x20,0x70,0x68,0xa8,0x26,0x24,0x20,
-+0x10,0x10,0x10,0x13,0x7c,0x54,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x20,0x20,0x24,0xfe,0x20,0x24,0xfe,0x4,0x54,0xfc,0x24,0xfc,0x24,0x24,0x24,0xc,
-+0x10,0x13,0x10,0x14,0x7e,0x54,0x54,0x54,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x4,0xfe,0x8,0xfc,0x88,0x88,0xf8,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,
-+0x10,0x10,0x10,0x13,0x7c,0x54,0x55,0x56,0x54,0x7d,0x50,0x14,0x1c,0xe4,0x43,0x0,0x20,0x20,0x24,0xfe,0x50,0x88,0x26,0xf8,0x20,0xfc,0x20,0xf8,0x20,0x24,0xfe,0x0,
-+0x10,0x10,0x13,0x10,0x7c,0x57,0x54,0x55,0x55,0x7e,0x52,0x14,0x1c,0xe4,0x40,0x0,0x4,0x64,0x84,0xa4,0x94,0xc4,0xa4,0x94,0xc4,0xbe,0x84,0x84,0x84,0x84,0x84,0x84,
-+0x10,0x10,0x10,0x15,0x7e,0x54,0x54,0x54,0x54,0x7c,0x50,0x14,0x1d,0xe6,0x40,0x3,0x80,0x84,0xfe,0x0,0xfc,0x84,0xfc,0x84,0xfc,0x80,0xfc,0x84,0x58,0x20,0xd8,0x6,
-+0x10,0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x54,0x7d,0x50,0x14,0x1c,0xe4,0x40,0x3,0x20,0xac,0x24,0x24,0xac,0x24,0x24,0xfc,0x20,0xfc,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x20,0x20,0x20,0x28,0xfd,0xaa,0xac,0xab,0xaa,0xfb,0xa2,0x2b,0x3a,0xca,0x2,0x2,0x20,0x20,0x50,0x90,0x8,0xf4,0x2,0xc4,0x54,0xd4,0x54,0xd4,0x54,0x54,0x44,0xcc,
-+0x22,0x21,0x21,0x27,0xfa,0xaa,0xab,0xaa,0xfa,0xa2,0x22,0x2a,0x3a,0xcc,0x5,0x8,0x20,0x20,0x24,0xbe,0x40,0x0,0xbc,0x88,0x90,0xfe,0x90,0x90,0x90,0x90,0xd0,0x20,
-+0x20,0x22,0x21,0x28,0xff,0xa8,0xa9,0xaa,0xa8,0xff,0xa1,0x2a,0x39,0xe8,0x1,0x6,0x40,0x48,0x50,0x40,0xfc,0xe0,0x58,0x48,0x80,0xfe,0x10,0x10,0xa0,0x40,0xb0,0x8,
-+0x10,0x10,0x10,0x13,0x7c,0x54,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x0,0x88,0x50,0xfe,0x50,0x54,0xfe,0x54,0x54,0x54,0x9c,0x4,0x74,0x4,0xfc,0x4,
-+0x10,0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x53,0x15,0x1d,0xe5,0x41,0x1,0x40,0x24,0xfe,0x4,0x4,0xfc,0x4,0x0,0xfe,0x4a,0x4a,0xfe,0x4a,0x4a,0x4a,0x6,
-+0x0,0x7e,0x14,0x8,0xff,0x1a,0x28,0x49,0x19,0x3f,0x21,0x21,0x3f,0x1,0xff,0x0,0x40,0x44,0x7e,0xc8,0x28,0x10,0x28,0x46,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfc,0x2,
-+0x20,0x20,0x27,0x28,0xff,0xa8,0xaf,0xa8,0xa9,0xfb,0xa4,0x2b,0x38,0xc9,0x2,0x0,0x40,0x48,0xfc,0x40,0xf8,0x40,0xfe,0xa0,0x10,0xe8,0x46,0xf8,0x40,0x50,0x48,0x40,
-+0x8,0x7f,0x8,0x3e,0x8,0xff,0x10,0x1c,0x25,0x4d,0x3f,0x21,0x21,0x3f,0x1,0xff,0x20,0x20,0x24,0x7e,0xc8,0x28,0x10,0x28,0x46,0x8,0xfc,0x8,0x8,0xf8,0x4,0xfe,
-+0x20,0x20,0x27,0x28,0xfc,0xab,0xa8,0xaa,0xab,0xfa,0xa2,0x2b,0x3a,0xca,0x2,0x2,0x90,0x94,0xfe,0x90,0x90,0xfc,0x90,0x94,0xfe,0x94,0x94,0x6c,0x44,0x4,0x14,0x8,
-+0x21,0x21,0x27,0x21,0xf8,0xaf,0xa8,0xa9,0xaa,0xfd,0xa1,0x2f,0x39,0xc9,0x2,0x4,0x10,0x14,0xfe,0x18,0x44,0xfe,0xa0,0x10,0xe,0x14,0x10,0xfe,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x13,0x14,0x7e,0x55,0x55,0x55,0x55,0x7d,0x50,0x17,0x1c,0xe4,0x40,0x3,0x88,0x88,0xfe,0x88,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x50,0x8e,0x4,
-+0x10,0x11,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe6,0x42,0x4,0x4,0xfe,0x10,0x24,0x7e,0x44,0x44,0x7c,0x44,0x44,0x7c,0x10,0x58,0x56,0x92,0x30,
-+0x10,0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x14,0x1c,0xe6,0x42,0x4,0x40,0x88,0xfc,0x8,0xf8,0x8,0xf8,0x8,0x8,0xf8,0x48,0x20,0xa4,0x82,0x8a,0x78,
-+0x10,0x10,0x13,0x10,0x7d,0x55,0x55,0x55,0x54,0x7d,0x51,0x15,0x1d,0xe5,0x41,0x1,0x40,0x24,0xfe,0x0,0x54,0x24,0x54,0xfc,0x24,0xfe,0x24,0x54,0x74,0x4,0x14,0x8,
-+0x10,0x10,0x11,0x15,0x7f,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe6,0x42,0x4,0x20,0x14,0xfe,0x10,0x7c,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x44,0x44,0x44,0x7c,0x44,
-+0x10,0x10,0x13,0x10,0x7c,0x57,0x56,0x54,0x57,0x7c,0x50,0x14,0x1c,0xe5,0x42,0x4,0x40,0x20,0xfe,0x88,0x50,0xfe,0x42,0x20,0xfe,0x80,0xf8,0x88,0x88,0x8,0x28,0x10,
-+0x8,0x7f,0x8,0xff,0x14,0x56,0x55,0x94,0x25,0x3f,0x21,0x21,0x3f,0x1,0xff,0x0,0x40,0x40,0x44,0x7e,0xc8,0x28,0x10,0x28,0x46,0xf8,0x8,0x8,0xf8,0x4,0xfc,0x2,
-+0x10,0x10,0x13,0x10,0x7c,0x57,0x54,0x55,0x55,0x7d,0x51,0x15,0x1c,0xe4,0x41,0x2,0x88,0x88,0xfe,0x88,0x88,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x0,0x88,0x6,0x2,
-+0x20,0x20,0x27,0x20,0xfb,0xaa,0xab,0xaa,0xab,0xf8,0xa1,0x29,0x39,0xc9,0x1,0x1,0x90,0x94,0xfe,0x90,0xfc,0x94,0xfc,0x94,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x10,0x13,0x10,0x10,0x7d,0x55,0x55,0x55,0x54,0x7c,0x50,0x17,0x1c,0xe5,0x42,0x0,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x0,0xf8,0x0,0xfe,0xa8,0x26,0x22,0x60,
-+0x10,0x11,0x10,0x10,0x7d,0x55,0x56,0x54,0x54,0x7c,0x50,0x15,0x1c,0xe4,0x43,0x0,0x20,0x24,0xa8,0x20,0xfe,0x2,0xf8,0x88,0x88,0xf8,0x20,0xfc,0x20,0x24,0xfe,0x0,
-+0x10,0x11,0x10,0x11,0x7c,0x57,0x54,0x54,0x55,0x7e,0x50,0x14,0x1d,0xe2,0x44,0x0,0xc,0xf0,0x24,0x24,0xa8,0xfe,0x68,0xa8,0x26,0x24,0x0,0xa0,0xa4,0x8a,0x8a,0x78,
-+0x10,0x10,0x11,0x13,0x7d,0x55,0x55,0x54,0x54,0x7d,0x52,0x14,0x1f,0xe4,0x43,0x0,0x80,0xf8,0x10,0xfc,0x24,0x24,0xfc,0x40,0xc4,0x28,0x70,0xb0,0x68,0xae,0x24,0x60,
-+0x8,0xf,0x18,0x26,0x1,0xe,0xf2,0x1,0xa,0x9,0x3e,0x2a,0x3e,0x9,0x7f,0x1,0x0,0xf0,0x20,0xc0,0x0,0xe0,0x1e,0x0,0x20,0x20,0xf8,0xa8,0xf8,0x24,0xfc,0x4,
-+0x10,0x11,0x10,0x14,0x7f,0x54,0x55,0x55,0x55,0x7d,0x51,0x14,0x1f,0xe4,0x40,0x0,0x20,0xfc,0x88,0x50,0xfe,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x20,0x20,
-+0x10,0x10,0x13,0x10,0x7c,0x56,0x55,0x56,0x54,0x7c,0x53,0x14,0x1c,0xe4,0x40,0x0,0x40,0x24,0xfe,0x20,0x48,0xf2,0x24,0x52,0xf8,0x20,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x0,0x1f,0x2,0x1,0x7f,0x2,0xc,0x30,0xca,0x9,0x3e,0x2a,0x3e,0x9,0x7f,0x1,0x0,0xf0,0x20,0x40,0xfe,0x82,0x84,0x80,0xa0,0x28,0xfc,0xa8,0xf8,0x24,0xfc,0x4,
-+0x20,0x20,0x27,0x20,0xfb,0xa8,0xab,0xaa,0xaa,0xfb,0xa0,0x2a,0x39,0xcf,0x0,0x0,0x82,0xa2,0xf4,0x84,0xe8,0x12,0xe2,0x24,0x28,0xf0,0x2,0x22,0x44,0xe8,0x10,0x60,
-+0x10,0x10,0x13,0x10,0x7d,0x55,0x55,0x55,0x55,0x7c,0x53,0x14,0x1c,0xe6,0x42,0x0,0x20,0x24,0xfe,0x24,0xfe,0x24,0xfc,0x24,0xfc,0x22,0xfe,0x42,0xa0,0xa4,0x8a,0x78,
-+0x10,0x11,0x10,0x11,0x7c,0x57,0x54,0x54,0x55,0x7f,0x51,0x15,0x1d,0xe5,0x41,0x1,0xc,0xf0,0x20,0x24,0xa8,0xfe,0x70,0xa8,0x26,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,
-+0x10,0x10,0x13,0x10,0x7d,0x54,0x57,0x55,0x54,0x7f,0x50,0x15,0x1d,0xe5,0x41,0x1,0x88,0x50,0xfe,0x20,0xfc,0x20,0xfe,0x24,0xa8,0xfe,0x4,0xfe,0x4,0x4,0xfc,0x4,
-+0x10,0x13,0x10,0x10,0x7d,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1c,0xe4,0x41,0x6,0x88,0xfe,0x88,0xa0,0xfc,0x20,0xfc,0x20,0x3c,0x0,0xfc,0x8,0x90,0x60,0x98,0x6,
-+0x20,0x20,0x27,0x20,0xfb,0xaa,0xad,0xa8,0xaf,0xf8,0xa3,0x28,0x3b,0xe8,0x43,0x0,0x90,0x94,0xfe,0x90,0xfe,0x2,0xf4,0x0,0xfe,0x40,0xa4,0x78,0xb0,0x68,0xa6,0x60,
-+0x10,0x10,0x11,0x13,0x7d,0x55,0x55,0x55,0x55,0x7d,0x51,0x15,0x1d,0xe6,0x42,0x4,0x80,0xf8,0x10,0xfe,0x44,0x92,0xfe,0x0,0x7c,0x0,0x7c,0x0,0x7c,0x44,0x7c,0x44,
-+0x20,0x23,0x22,0x2a,0xff,0xaa,0xaa,0xaa,0xab,0xfa,0xa2,0x2a,0x3a,0xcd,0x6,0x8,0x20,0xfe,0x88,0x50,0xfe,0x50,0xfc,0x54,0xfe,0x54,0xfc,0x50,0xd8,0x54,0x52,0x50,
-+0x10,0x10,0x13,0x10,0x7d,0x55,0x55,0x55,0x54,0x7d,0x51,0x15,0x1d,0xe5,0x42,0x4,0x88,0x88,0xfe,0x88,0xfc,0x54,0x54,0xfc,0x28,0xfe,0x20,0x24,0x98,0x52,0x2a,0x46,
-+0xf,0x8,0x1f,0x0,0xff,0xc,0x73,0xd,0x72,0x1c,0x6b,0x3e,0x2a,0x3e,0x9,0x7f,0xe0,0x20,0xe0,0x44,0xfe,0x10,0x20,0xc0,0xa0,0x9e,0x24,0xf8,0xa8,0xf8,0x24,0xfc,
-+0x1,0x7f,0x9,0x7f,0x40,0x9f,0x4,0xf,0x38,0xcf,0x8,0x3e,0x2a,0x3e,0x8,0x7f,0x0,0xfc,0x20,0xfe,0x2,0xf4,0x0,0xf0,0x10,0xf0,0x20,0xf8,0xa8,0xf8,0x24,0xfc,
-+0x27,0x26,0x25,0x27,0xf9,0xab,0xae,0xab,0xaa,0xfa,0xa0,0x2b,0x39,0xc8,0x1,0x6,0xbc,0xb4,0xac,0xbc,0x40,0xfc,0x40,0xf8,0x40,0x7c,0x0,0xf8,0x10,0xe0,0x10,0xe,
-+0x8,0x8,0x8,0x1f,0x21,0x41,0x1,0x1,0xff,0x1,0x21,0x21,0x21,0x21,0x3f,0x0,0x0,0x0,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x3e,0x22,0x2a,0x2a,0x2a,0x14,0x22,0x8,0xf,0x11,0x1,0xff,0x1,0x11,0x11,0x1f,0xf8,0x88,0xa8,0xa8,0xa8,0x50,0x88,0x20,0xf0,0x0,0x4,0xfe,0x0,0x10,0x10,0xf0,
-+0x8,0x7f,0x8,0x3e,0x0,0x7f,0x49,0x7f,0x44,0x4f,0x91,0x1,0xff,0x1,0x11,0x1f,0x78,0x48,0x4e,0x80,0x78,0x48,0x30,0x48,0x86,0xf0,0x0,0x4,0xfe,0x0,0x10,0xf0,
-+0x20,0x24,0x3e,0x51,0x91,0x15,0xff,0x11,0x11,0x55,0x55,0x55,0x55,0x7d,0x2,0x4,0x20,0x3c,0x20,0xfe,0x24,0xf8,0x24,0x38,0x0,0xfe,0x54,0x54,0xfe,0x10,0x10,0x30,
-+0x0,0x6,0x79,0x11,0x15,0xff,0x11,0x11,0x15,0x7f,0x45,0x45,0x45,0x7d,0x45,0x1,0x8,0x1c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x10,0x10,0x4a,0x8a,0x4,
-+0x10,0x12,0x1f,0x20,0x28,0x45,0x80,0x0,0x3f,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x40,0x44,0x7e,0x80,0x90,0x8,0x0,0x10,0xf8,0x0,0x0,0x0,0x4,0xfe,0x0,0x0,
-+0x10,0x12,0x1f,0x28,0x45,0x80,0x3f,0x1,0x1,0xff,0x1,0x1,0x1,0x1,0x5,0x2,0x40,0x44,0x7e,0xa0,0x10,0x0,0xf8,0x0,0x4,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x0,0x3f,0x8,0x8,0x9,0x14,0x12,0x11,0x21,0x46,0x98,0x40,0x44,0x7e,0xa0,0x10,0x20,0xf0,0x40,0x90,0xf8,0x20,0x40,0x80,0x60,0x1e,0x4,
-+0x10,0x12,0x1f,0x28,0x45,0x0,0x3f,0x8,0x8,0x8,0xf,0x0,0x7f,0x0,0x0,0x0,0x40,0x44,0x7e,0xa0,0x10,0x20,0xf0,0x20,0x20,0x24,0xfe,0x4,0xf4,0x4,0x14,0x8,
-+0x10,0x12,0x1f,0x28,0x45,0x0,0x3f,0x4,0x4,0xff,0x4,0x4,0x8,0x8,0x10,0x20,0x40,0x44,0x7e,0xa0,0x10,0x0,0xf8,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x12,0x1f,0x28,0xc5,0x0,0x1f,0x10,0x11,0x11,0x11,0x12,0x12,0x4,0x18,0xe0,0x40,0x44,0x7e,0xa0,0x10,0x10,0xf8,0x10,0x10,0x10,0x90,0x90,0x90,0x82,0x82,0x7e,
-+0x10,0x12,0x1f,0x28,0x45,0x0,0x1f,0x11,0x11,0x11,0x11,0x11,0x11,0x21,0x41,0x1,0x40,0x44,0x7e,0xa0,0x10,0x38,0xe0,0x20,0x20,0x20,0x10,0x10,0x8,0xe,0x4,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x1,0x3f,0x21,0x21,0x3f,0x3,0x5,0x9,0x31,0xc1,0x1,0x40,0x44,0x7e,0xa0,0x10,0x8,0xf0,0x0,0x4,0xfe,0x4,0x4,0x44,0x28,0x10,0x0,
-+0x10,0x12,0x1f,0x28,0x45,0x8,0xf,0x12,0x12,0x22,0x44,0x4,0x8,0x11,0x22,0x0,0x40,0x44,0x7e,0xa0,0x10,0x8,0xfc,0x48,0x48,0x48,0x48,0x88,0x88,0x8,0x50,0x20,
-+0x10,0x12,0x1f,0x28,0x45,0x0,0x7e,0x8,0x8,0x8,0x8,0xe,0x78,0x20,0x0,0x0,0x40,0x44,0x7e,0xa0,0x10,0x0,0xfc,0x88,0x90,0x90,0x88,0xc4,0xa4,0x98,0x80,0x80,
-+0x10,0x12,0x1f,0x28,0xc5,0x3f,0x20,0x20,0x27,0x24,0x24,0x27,0x24,0x20,0x3f,0x0,0x40,0x44,0x7e,0xa0,0x10,0xfc,0x0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x4,0xfe,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x1f,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x0,0xff,0x0,0x40,0x44,0x7e,0xa0,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x4,0xfe,0x0,
-+0x10,0x12,0x1f,0x28,0x45,0x11,0x11,0x1f,0x21,0x41,0x1f,0x1,0x1,0x1,0xff,0x0,0x40,0x44,0x7e,0xa0,0x10,0x0,0x10,0xf8,0x0,0x20,0xf0,0x0,0x0,0x4,0xfe,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x4,0xf,0xa,0x12,0x23,0x42,0x2,0x3,0x2,0x2,0x2,0x40,0x44,0x7e,0xa0,0x10,0x8,0xfc,0x0,0x10,0xf8,0x0,0x8,0xfc,0x0,0x0,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x8,0xf,0x10,0x10,0x2f,0x48,0x8,0xf,0x8,0x0,0x0,0x40,0x44,0x7e,0xa0,0x10,0x8,0xfc,0x8,0x48,0xe8,0x48,0x48,0xc8,0x8,0x28,0x10,
-+0x10,0x12,0x1f,0x28,0xc5,0x2,0x1,0x7f,0x0,0x8,0x4,0x4,0x2,0x2,0x7f,0x0,0x40,0x44,0x7e,0xa0,0x10,0x0,0x8,0xfc,0x0,0x20,0x20,0x40,0x40,0x84,0xfe,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x3f,0x0,0x7f,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x0,0x40,0x44,0x7e,0xa0,0x14,0xfe,0x4,0xe4,0x4,0x84,0x84,0x84,0x84,0x84,0x94,0x8,
-+0x10,0x12,0x1f,0x28,0xc5,0x3f,0x2,0x2,0x4,0x8,0x3f,0xd0,0x10,0x10,0x1f,0x10,0x40,0x44,0x7e,0xa0,0x10,0xf8,0x8,0x10,0x50,0x20,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x12,0x1f,0x28,0xc5,0x8,0x8,0x7f,0x9,0x9,0x9,0x9,0x11,0x11,0x25,0xc2,0x40,0x44,0x7e,0xa0,0x10,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x7c,0x44,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x20,0x10,0x7,0x70,0x10,0x11,0x11,0x12,0x2c,0x44,0x3,0x40,0x44,0x7e,0xa0,0x10,0x80,0x88,0xfc,0x88,0x88,0x8,0x8,0x28,0x10,0x6,0xfc,
-+0x10,0x12,0x1f,0x28,0x45,0x84,0x8,0x10,0x3f,0x0,0x1f,0x10,0x10,0x10,0x1f,0x10,0x40,0x44,0x7e,0xa0,0x10,0x0,0x20,0x10,0xf8,0x8,0xf0,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x12,0x1f,0x28,0xc5,0x8,0x8,0xfe,0x8,0x8,0xe,0x78,0x8,0x8,0x28,0x10,0x40,0x44,0x7e,0xa0,0x10,0x0,0x4,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x10,0x1e,0x10,0x10,0x1e,0x1,0xff,0x1,0x1,0x1,0x1,0x40,0x44,0x7e,0xa0,0x10,0x80,0x98,0xe0,0x84,0xfc,0x0,0xfe,0x0,0x0,0x0,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x11,0x1f,0x21,0x1,0xff,0x4,0x4,0x4,0x8,0x10,0x60,0x40,0x44,0x7e,0xa0,0x10,0x0,0xf8,0x0,0x4,0xfe,0x80,0x80,0x80,0x84,0x84,0x7c,
-+0x10,0x12,0x1f,0x28,0xc5,0x0,0x7d,0x10,0x21,0x7d,0x5,0x49,0x29,0x10,0x28,0xc7,0x40,0x44,0x7e,0xa0,0x10,0xc,0xf0,0x20,0x28,0x3c,0x20,0x28,0xfc,0x0,0x6,0xfc,
-+0x10,0x12,0x1f,0x28,0xc5,0x2,0x4,0x8,0x3f,0xc1,0x1,0x1f,0x1,0x1,0x7f,0x0,0x40,0x44,0x7e,0xa0,0x10,0x80,0x40,0x20,0xfe,0x4,0x20,0xf0,0x0,0x8,0xfc,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x7,0x8,0x3f,0x1,0xff,0x1,0x3f,0x1,0x1,0x5,0x2,0x40,0x44,0x7e,0xa0,0x10,0xe0,0x48,0xfc,0x8,0xfe,0x8,0xf8,0x8,0x0,0x0,0x0,
-+0x10,0x12,0x1f,0x28,0xc5,0x10,0x10,0x7c,0x11,0x12,0x10,0x1c,0xe1,0x40,0x0,0x0,0x40,0x44,0x7e,0xa0,0x10,0x84,0xfe,0x84,0x44,0x24,0x4,0x34,0xc4,0x84,0x14,0x8,
-+0x10,0x12,0x1f,0x28,0xc5,0x0,0x7f,0x1,0x11,0x11,0x11,0x29,0x45,0x1,0xff,0x0,0x40,0x44,0x7e,0xa0,0x10,0x0,0xfc,0x0,0x10,0x10,0x10,0x28,0x44,0x0,0xfe,0x0,
-+0x10,0x1f,0x28,0x45,0xff,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x29,0x5,0x3,0xc,0x70,0x40,0x7e,0xa0,0x14,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,0x0,0x0,0xe0,0x1e,
-+0x10,0x12,0x1f,0x28,0x45,0x8,0x9,0x7f,0x9,0xd,0x19,0x69,0x9,0x9,0x29,0x10,0x40,0x44,0x7e,0xa0,0x10,0x4,0xfe,0x24,0x24,0x24,0xfc,0x4,0x0,0x2,0x2,0xfe,
-+0x10,0x12,0x1f,0x28,0xc5,0x9,0x5,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x10,0x10,0x10,0x40,0x44,0x7e,0xa0,0x10,0x20,0x50,0xf8,0x10,0xf0,0x10,0xf0,0x10,0x10,0x50,0x20,
-+0x10,0x12,0x1f,0x28,0xc5,0x8,0x8,0x14,0x35,0x56,0x94,0x14,0x14,0x14,0x11,0x12,0x40,0x44,0x7e,0xa0,0x10,0x84,0xfe,0x88,0x88,0x90,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x10,0x12,0x1f,0x68,0x85,0x7f,0x1,0x3f,0x1,0xff,0x10,0x1f,0x10,0x1f,0x10,0x10,0x40,0x44,0x7e,0xa0,0x10,0xfc,0x0,0xf8,0x0,0xfe,0x10,0xf0,0x10,0xf0,0x10,0x30,
-+0x12,0x1f,0x28,0x45,0x7f,0x1,0x1f,0x1,0xff,0x0,0x1f,0x10,0x11,0x12,0x4,0x38,0x48,0x7c,0xa0,0x10,0xfc,0x0,0xf8,0x0,0xfe,0x10,0xf8,0x10,0x10,0xd0,0x30,0x8,
-+0x12,0x1f,0x28,0xc5,0x3f,0x20,0x20,0x2f,0x24,0x22,0x3f,0x21,0x22,0x24,0x3f,0x0,0x44,0x7e,0xa0,0x10,0xfc,0x80,0x90,0xf8,0x90,0xa0,0xfc,0x40,0x30,0x14,0xfe,0x0,
-+0x10,0x12,0x1f,0x28,0xc2,0x3f,0x2,0x2,0xff,0x4,0xf,0x18,0x6f,0x8,0xf,0x8,0x40,0x44,0x7e,0xa0,0x10,0xe0,0x40,0x84,0xfe,0x0,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x12,0x1f,0x28,0xc5,0x8,0x7f,0xa,0x2,0xff,0x4,0xf,0x38,0xc8,0x8,0xf,0x8,0x48,0x7c,0xa0,0x10,0x20,0xfc,0x20,0x4,0xfe,0x10,0xf8,0x10,0x10,0x10,0xf0,0x10,
-+0x10,0x12,0x1f,0x28,0x45,0x8,0x8,0xff,0x8,0x8,0xe,0xf8,0x48,0x8,0x28,0x10,0x40,0x48,0x7c,0xa0,0x10,0x88,0x88,0xfe,0x88,0x88,0xf8,0x88,0x88,0x88,0xf8,0x88,
-+0x10,0x12,0x1f,0x28,0x45,0x13,0x11,0xfc,0x11,0x12,0x1d,0xf0,0x13,0x10,0x50,0x20,0x40,0x44,0x7e,0xa0,0x10,0xf8,0x10,0xe0,0x10,0x4e,0xf4,0x40,0xf8,0x40,0x40,0x40,
-+0x10,0x12,0x1f,0x28,0x45,0x1f,0x11,0x1f,0x11,0x1f,0x0,0xff,0x8,0x8,0x10,0x20,0x40,0x44,0x7e,0xa0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x20,0x20,0x20,0x20,
-+0x12,0x1f,0x28,0x45,0x8,0x4,0x1f,0x11,0x1f,0x11,0x1f,0x1,0xff,0x1,0x1,0x1,0x48,0x7c,0x90,0x8,0x20,0x40,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,0x0,
-+0x12,0x1f,0x28,0x45,0x1,0x7f,0x40,0x88,0x10,0x20,0x1f,0x1,0x1,0x1,0xff,0x0,0x48,0x7c,0xa0,0x10,0x0,0xfe,0x2,0x24,0x18,0x8,0xf0,0x0,0x0,0x4,0xfe,0x0,
-+0x12,0x1f,0x28,0x45,0x1,0x7f,0x48,0x8e,0x12,0x12,0x32,0x4c,0x8,0x10,0x20,0x40,0x48,0x7c,0xa0,0x10,0x0,0xfe,0x2,0xf4,0x90,0x90,0x90,0xd0,0xa0,0x82,0x82,0x7e,
-+0x12,0x1f,0x28,0x45,0x3f,0x1,0xff,0x1,0x3f,0x1,0x25,0x25,0x29,0x29,0x31,0x41,0x48,0x7c,0xa0,0x10,0xf8,0x8,0xfe,0x8,0xf8,0x0,0x48,0x28,0x28,0x18,0x18,0x8,
-+0x12,0x1f,0x28,0x45,0x0,0x3f,0x20,0x3f,0x20,0x2f,0x29,0x29,0x4f,0x49,0x80,0x0,0x48,0x7c,0xa0,0x10,0x50,0xfc,0x40,0xc0,0x28,0x28,0x28,0x30,0x20,0x52,0x8a,0x4,
-+0x12,0x1f,0x28,0x41,0x3f,0x21,0x3f,0x1,0xff,0x0,0x1f,0x10,0x11,0x11,0x6,0x38,0x48,0x7c,0xa0,0x8,0xfc,0x8,0xf8,0x0,0xfe,0x10,0xf8,0x10,0x10,0x10,0x60,0x18,
-+0x12,0x1f,0x28,0x41,0x1f,0x10,0x1f,0x10,0x1f,0x0,0x7f,0x1,0x3f,0x1,0xff,0x0,0x48,0x7c,0xa0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x0,0xfc,0x0,0xf8,0x0,0xfe,0x0,
-+0x12,0x1f,0x28,0x45,0x5,0x8,0x17,0x31,0x51,0x96,0x10,0x17,0x10,0x10,0x11,0x16,0x48,0x7c,0xa0,0x0,0xf0,0x10,0xfc,0x0,0xfc,0x40,0x44,0xfe,0x40,0xa0,0x18,0x6,
-+0x12,0x1f,0x28,0x41,0x7f,0x4,0x3f,0x4,0xff,0x11,0x1f,0x11,0xff,0x10,0x10,0x10,0x48,0x7c,0xa0,0x50,0xfc,0x40,0xf8,0x40,0xfe,0x10,0xf0,0x14,0xfe,0x10,0x10,0x30,
-+0x10,0x1f,0x28,0x45,0x3f,0x22,0x22,0x3e,0x22,0x3e,0x22,0x3e,0x22,0x22,0x3f,0x0,0x40,0x7c,0xa0,0x10,0xfc,0x40,0x50,0x78,0x40,0x78,0x40,0x78,0x40,0x48,0xfc,0x0,
-+0x10,0x1f,0x28,0x45,0x7f,0x4,0x3f,0x24,0x24,0x3f,0x1,0xff,0x3,0xd,0x71,0x1,0x40,0x7c,0xa0,0x10,0xfc,0x40,0xf8,0x48,0x48,0xf8,0x0,0xfe,0x80,0x60,0x1c,0x0,
-+0x10,0x1f,0x28,0x45,0x1,0x3f,0x24,0x23,0x24,0x3f,0x20,0x3c,0x20,0x22,0x2c,0x30,0x40,0x7c,0xa0,0x10,0x8,0xfc,0x48,0x88,0x48,0xf8,0x80,0x8c,0xb0,0xc2,0x82,0x7e,
-+0x10,0x1f,0x28,0x45,0x1e,0x10,0x10,0x17,0x14,0x15,0x24,0x24,0x29,0x49,0x91,0x26,0x44,0x7e,0xa0,0xfc,0x80,0xf0,0x80,0xfe,0x44,0xf0,0x48,0x38,0xe0,0x22,0x22,0x1e,
-+0x10,0x1f,0x28,0x45,0x8,0xff,0x8,0x7f,0x49,0x7f,0x49,0x1c,0x2a,0x4a,0x88,0x9,0x40,0x7c,0xa0,0x50,0x40,0x7e,0x82,0x24,0x20,0x20,0x20,0x50,0x50,0x88,0x8e,0x4,
-+0x10,0x1f,0x28,0x45,0x3f,0x24,0x24,0x3f,0x1,0x3f,0x21,0x28,0x24,0x40,0x43,0x8c,0x40,0x7c,0xa0,0x10,0xf8,0x48,0x48,0xf8,0x40,0xfc,0x10,0xa0,0x40,0xa2,0x1a,0x6,
-+0x10,0x1f,0x28,0x45,0xa,0x37,0x24,0x27,0x24,0x2f,0x30,0x4,0x4,0x4,0x8,0x70,0x40,0x7c,0xa0,0x10,0x8,0xfc,0x48,0xc8,0x48,0xc8,0x38,0x40,0x40,0x42,0x42,0x3e,
-+0x10,0x1f,0x28,0x45,0x1,0x3f,0x22,0x3f,0x22,0x22,0x3f,0x28,0x2f,0x48,0x49,0x8e,0x40,0x7c,0xa0,0x10,0x0,0xfc,0x40,0xf8,0x48,0x48,0xf8,0x44,0x48,0x72,0x42,0x3e,
-+0x10,0x1f,0x28,0x45,0x8,0x6a,0x5c,0x48,0x7e,0x48,0x58,0x6a,0x48,0x7e,0x1,0x0,0x40,0x7c,0xa0,0x10,0xc,0xf0,0x80,0x84,0xfe,0x90,0x90,0x90,0x90,0x90,0x10,0x10,
-+0x10,0x1f,0x28,0x5f,0x10,0x1f,0x10,0x1f,0x11,0x14,0x18,0x3f,0x24,0x24,0xff,0x0,0x40,0x7c,0xa0,0xf0,0x10,0xf0,0x10,0xf8,0x10,0xe0,0x1c,0xf8,0x48,0x48,0xfe,0x0,
-+0x10,0x1f,0x28,0x7f,0x4,0x3f,0x24,0x3f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x1,0x1,0x40,0x7c,0xa0,0xfc,0x40,0xf8,0x48,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,0x0,
-+0x10,0x1f,0x28,0x41,0x3e,0x28,0x7f,0x18,0x28,0xcd,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x40,0x7c,0xa0,0x10,0xf8,0xa0,0xfc,0x62,0xa2,0x1e,0xf0,0x10,0xf0,0x10,0xf0,0x10,
-+0x10,0x1f,0x28,0x45,0x3e,0x2,0x14,0xf,0x10,0x2f,0xc8,0xf,0x4,0x2,0x7f,0x0,0x40,0x7c,0xa0,0x10,0xa0,0xc8,0x50,0xe0,0x10,0xee,0x24,0xe0,0x40,0x88,0xfc,0x0,
-+0x10,0x1f,0x28,0x45,0x24,0x7e,0x24,0x3c,0x24,0x3c,0x24,0xfe,0x0,0x29,0x46,0x80,0x40,0x7c,0xa0,0x10,0x10,0xfe,0x92,0x90,0xfc,0xa4,0xa4,0xa8,0x90,0x28,0x46,0x84,
-+0x10,0x1f,0x28,0x45,0x8,0x7f,0x8,0x3f,0x2a,0x2a,0x3e,0x18,0x2c,0x4a,0x88,0x8,0x40,0x7c,0xa0,0x50,0x40,0x78,0x90,0xfc,0x84,0x94,0x94,0xa4,0xb4,0x48,0x46,0x82,
-+0x10,0x1f,0x28,0x45,0x10,0x17,0xfc,0x15,0x1e,0x34,0xd3,0x12,0x13,0x12,0x53,0x22,0x40,0x7c,0xa0,0x10,0x84,0x7e,0x24,0x24,0xd4,0x8,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x1,0x5,0x39,0x21,0x21,0x3d,0x21,0x21,0x21,0x3f,0x21,0x2,0x2,0x4,0x18,0xe0,0x0,0x8,0x7c,0x8,0x8,0x78,0x8,0x8,0x8,0xf8,0x8,0x80,0x80,0x40,0x30,0xe,
-+0x6,0x38,0x20,0x20,0x3e,0x20,0x20,0x3f,0x24,0x4,0xff,0x4,0x4,0x8,0x10,0x20,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x48,0x40,0xfe,0x40,0x40,0x40,0x40,0x40,
-+0x1,0x7f,0x1,0x3f,0x2,0xff,0x4,0x8,0x16,0x38,0xd0,0x1e,0x10,0x10,0x1f,0x10,0x8,0xfc,0x0,0xf8,0x0,0xfe,0x40,0x20,0x10,0xfe,0x14,0xf0,0x10,0x10,0xf0,0x10,
-+0x6,0x38,0x20,0x20,0x3e,0x20,0x20,0x3f,0x8,0x1f,0x20,0xe9,0x24,0x24,0x40,0x0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x4,0xfe,0x4,0x24,0x94,0x84,0x14,0x8,
-+0x2,0x4,0x1f,0x10,0x1f,0x10,0x1f,0x10,0x1f,0x1,0xff,0x3,0x5,0x19,0x61,0x1,0x0,0x10,0xf8,0x10,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x8,0x8,0x10,0x7f,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5f,0xf0,0x1,0x0,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xa4,0x24,0xfe,0x0,
-+0x10,0x20,0x7d,0x44,0x64,0x54,0x44,0xfc,0x44,0x64,0x54,0x54,0x44,0x44,0x57,0x88,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x10,0x24,0x7e,0x44,0x65,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x88,0x20,0x20,0x20,0x20,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x24,0x7e,0x45,0x65,0x54,0x44,0xfc,0x44,0x64,0x54,0x54,0x44,0x45,0x56,0x88,0x0,0x44,0x24,0x24,0x28,0x88,0x88,0x90,0x50,0x20,0x50,0x50,0x88,0xe,0x4,0x0,
-+0x10,0x25,0x7f,0x45,0x65,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x88,0x20,0x20,0x20,0x20,0x20,0x24,0xec,0x30,0x20,0x20,0x20,0x20,0x62,0xa2,0x1e,0x0,
-+0x10,0x24,0x7e,0x45,0x65,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x44,0x44,0x54,0x88,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0x24,0xfc,0x24,0x20,0x20,0x20,0x20,
-+0x10,0x24,0x7f,0x45,0x65,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x46,0x54,0x89,0x8,0x1c,0xe0,0x0,0x0,0xfc,0x44,0x44,0x44,0x28,0x28,0x10,0x28,0x48,0x84,0x2,
-+0x10,0x24,0x7e,0x45,0x64,0x54,0x44,0xfc,0x44,0x64,0x54,0x54,0x44,0x45,0x55,0x8a,0x40,0x20,0x24,0xfe,0x40,0x40,0x44,0x7e,0x44,0x44,0x84,0x84,0x84,0x4,0x28,0x10,
-+0x10,0x24,0x7f,0x44,0x64,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x44,0x44,0x54,0x88,0x0,0x4,0xfe,0x8,0x8,0xe8,0x28,0x28,0x28,0x28,0xe8,0x28,0x8,0x8,0x28,0x10,
-+0x10,0x24,0x7e,0x44,0x64,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x8a,0x20,0x24,0x3e,0x20,0x24,0xfe,0x4,0x4,0x4,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,
-+0x10,0x24,0x7e,0x44,0x65,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x89,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfc,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x10,0x24,0x7e,0x44,0x65,0x55,0x46,0xfc,0x44,0x64,0x54,0x54,0x44,0x44,0x54,0x88,0x80,0x80,0x84,0xfe,0x40,0x40,0x50,0x78,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x40,
-+0x10,0x21,0x7c,0x44,0x64,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x89,0x4,0xfe,0x50,0x50,0x54,0xfe,0x54,0x54,0x54,0x54,0x5c,0x84,0x4,0x4,0xfc,0x4,
-+0x10,0x25,0x7e,0x44,0x64,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x89,0x20,0x24,0xa8,0xb0,0x24,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,0x4,0x14,0x8,
-+0x10,0x25,0x7f,0x45,0x65,0x55,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x56,0x88,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfc,0x20,0xfc,0x20,0xfe,0x20,0x20,0x22,0x22,0x1e,
-+0x10,0x24,0x7e,0x44,0x64,0x57,0x44,0xfc,0x44,0x65,0x55,0x55,0x45,0x45,0x57,0x88,0x8,0xfc,0x10,0x20,0x24,0xfe,0x20,0xa0,0x44,0xfe,0x54,0x54,0x54,0x54,0xfe,0x0,
-+0x11,0x20,0x7c,0x47,0x64,0x54,0x45,0xfd,0x45,0x65,0x55,0x55,0x45,0x45,0x55,0x89,0x4,0x88,0x50,0xfe,0x20,0x44,0xfe,0x4,0x4,0xfc,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x10,0x24,0x7f,0x44,0x65,0x55,0x45,0xfd,0x45,0x64,0x55,0x55,0x45,0x45,0x55,0x89,0x50,0x54,0xfe,0x50,0xfc,0x54,0xfc,0x54,0xfc,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x4,
-+0x10,0x25,0x7e,0x44,0x67,0x54,0x45,0xfd,0x45,0x65,0x55,0x54,0x45,0x44,0x57,0x88,0x20,0xfc,0x88,0x50,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x10,0x24,0x7f,0x44,0x65,0x55,0x46,0xfc,0x47,0x64,0x57,0x54,0x47,0x44,0x57,0x88,0x50,0x54,0xfe,0x50,0xfe,0x2,0xf4,0x0,0xfe,0x84,0x48,0xb0,0x70,0xae,0x24,0x60,
-+0x1,0x2,0x6,0x9,0x37,0xc0,0x2,0x1,0xff,0x5,0xd,0x14,0x24,0xc5,0x6,0x4,0x0,0x80,0x40,0x30,0xee,0x24,0x40,0x4,0xfe,0x0,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x4,0x1f,0x10,0x14,0x12,0x10,0x1f,0x2,0x1,0xff,0x5,0xc,0x14,0x65,0x6,0x4,0x20,0xf0,0x20,0x20,0xa0,0x44,0xfe,0x4,0x24,0xf4,0x14,0xa8,0x40,0x3c,0x8,0x0,
-+0x10,0x10,0x7e,0x12,0x12,0x22,0x2a,0x45,0x1,0xff,0x5,0xc,0x34,0xc5,0x6,0x4,0x0,0x8,0xfc,0x88,0x88,0x88,0xf8,0x0,0x4,0xfe,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x1,0x1,0x7f,0x11,0xd,0x5,0x9,0x33,0xff,0x5,0xd,0x14,0x24,0xc5,0x6,0x4,0x40,0x28,0xfc,0x10,0x60,0x80,0x60,0x14,0xfe,0x8,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x10,0x8,0x41,0x25,0xa,0x10,0x21,0x2e,0x1,0xff,0x5,0xc,0x34,0xc5,0x6,0x4,0x40,0x50,0x4c,0x44,0x50,0x60,0x80,0x0,0x4,0xfe,0x10,0xa0,0x40,0x30,0xe,0x4,
-+0x2,0x3f,0x22,0x3e,0x21,0x7e,0xa2,0x22,0x3f,0x1,0xff,0x4,0xc,0x15,0x66,0x4,0x20,0xfc,0x88,0x50,0xfe,0x20,0xf8,0x20,0x20,0x24,0xfe,0x90,0x60,0x1e,0x4,0x0,
-+0x44,0x24,0x29,0xff,0x11,0x11,0x7d,0x11,0x11,0xff,0x11,0x11,0x21,0x21,0x41,0x81,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x10,0x10,0x10,0x2a,0x4a,0xa6,0x12,
-+0x44,0x25,0x28,0xfe,0x10,0x10,0x7c,0x11,0x12,0xfe,0x10,0x10,0x20,0x20,0x43,0x80,0x8,0xfc,0x8,0x10,0x20,0x50,0x88,0x6,0x0,0xf8,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x44,0x24,0x28,0xfe,0x11,0x10,0x7d,0x12,0x10,0xfe,0x10,0x11,0x22,0x20,0x40,0x83,0x20,0x20,0x50,0x88,0xfc,0x88,0x6,0x82,0xf8,0x88,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x44,0x25,0x29,0xfd,0x11,0x11,0x7c,0x10,0x11,0xfe,0x15,0x11,0x21,0x21,0x40,0x80,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x84,0xfe,0x4,0x24,0x24,0x54,0x4,0xe4,0x14,0x8,
-+0x44,0x25,0x29,0xfd,0x11,0x10,0x7c,0x13,0x10,0xfe,0x11,0x11,0x22,0x22,0x44,0x88,0x20,0x24,0x24,0x24,0xfc,0x80,0x84,0xfe,0x90,0x90,0x54,0x58,0xa8,0x28,0x44,0x82,
-+0x4,0x7f,0x1,0x3f,0x1,0xff,0x0,0x3e,0x8,0xff,0x2a,0x3d,0x51,0x9e,0x2,0xc,0x40,0xfc,0x0,0xf8,0x0,0xfe,0x80,0xa0,0x94,0xfe,0x80,0x48,0x50,0x22,0x52,0x8e,
-+0x10,0x10,0x94,0x54,0x59,0x11,0xff,0x31,0x39,0x55,0x55,0x91,0x11,0x11,0x10,0x10,0x20,0x20,0x20,0x20,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,
-+0x10,0x10,0x94,0x54,0x58,0x11,0xfe,0x30,0x38,0x54,0x54,0x90,0x10,0x10,0x11,0x12,0x40,0x40,0x40,0x44,0xfe,0x8,0x88,0x88,0x88,0x90,0x50,0x20,0x50,0x8e,0x4,0x0,
-+0x10,0x10,0x95,0x55,0x59,0x11,0xff,0x31,0x39,0x55,0x55,0x91,0x11,0x11,0x10,0x10,0x0,0x4,0xfe,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,0x0,0x0,0x2,0x2,0xfe,0x0,
-+0x10,0x10,0x95,0x55,0x59,0x11,0xff,0x31,0x39,0x55,0x55,0x91,0x12,0x12,0x14,0x11,0x0,0x4,0xfe,0x0,0x4,0xfe,0x40,0x44,0x7e,0x44,0x44,0x44,0x44,0x44,0x94,0x8,
-+0x1,0x11,0x11,0x1f,0x21,0x21,0x3f,0x11,0x9,0x5,0xff,0x3,0x5,0x19,0x61,0x1,0x0,0x10,0x10,0xf0,0x8,0x8,0xf8,0x10,0x30,0x44,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x10,0x10,0x97,0x54,0x58,0x10,0xff,0x32,0x3a,0x56,0x56,0x93,0x12,0x12,0x13,0x12,0x0,0x4,0xfe,0x90,0x90,0x94,0xfe,0x94,0x94,0x94,0x9c,0x4,0x4,0x4,0xfc,0x4,
-+0x1,0x41,0x31,0x12,0x4,0x11,0x26,0x50,0x9,0x5,0xff,0x3,0x5,0x19,0x61,0x1,0x0,0x0,0xfc,0x48,0xa0,0x10,0xe,0x10,0x30,0x44,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x8,0xf,0x28,0x3f,0x21,0x52,0x8c,0x19,0x69,0x5,0xff,0x3,0x5,0x19,0x61,0x1,0x0,0x7c,0x44,0x28,0x10,0x28,0xc6,0x10,0x30,0x44,0xfe,0x80,0x60,0x1c,0x8,0x0,
-+0x8,0x49,0x2a,0xff,0x1c,0x2a,0x49,0x49,0x7f,0x95,0x55,0x37,0x21,0x41,0x81,0x1,0x0,0x12,0x12,0x92,0x24,0x24,0x24,0x48,0xa4,0x24,0x24,0x92,0x12,0x12,0x12,0x0,
-+0x10,0x10,0x95,0x55,0x59,0x12,0xfe,0x30,0x38,0x57,0x54,0x90,0x11,0x12,0x10,0x10,0x40,0x20,0x20,0xfe,0x2,0x4,0xf8,0x0,0x4,0xfe,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x10,0x10,0x94,0x55,0x58,0x13,0xfe,0x30,0x39,0x56,0x54,0x90,0x11,0x10,0x10,0x17,0x20,0x40,0x88,0xfc,0x40,0xfe,0x50,0x98,0x24,0xca,0x10,0x64,0x88,0x30,0xc0,0x0,
-+0x10,0x10,0x94,0x55,0x59,0x13,0xfd,0x31,0x39,0x55,0x55,0x91,0x11,0x11,0x11,0x11,0x80,0xf8,0x88,0x8,0xfe,0x40,0x40,0x7c,0x90,0x14,0xfe,0x10,0x10,0x28,0x24,0xc2,
-+0x11,0x11,0x95,0x55,0x5a,0x11,0xfe,0x31,0x3a,0x54,0x55,0x91,0x11,0x11,0x11,0x11,0x10,0x10,0xd0,0x58,0x54,0x50,0x90,0x56,0x3c,0x8,0xfc,0x8,0xf8,0x8,0xf8,0x8,
-+0x10,0x10,0x94,0x54,0x5b,0x10,0xfe,0x30,0x39,0x57,0x54,0x90,0x11,0x11,0x13,0x10,0x0,0x88,0x50,0x4,0xfe,0x0,0x88,0x88,0x54,0xfc,0x88,0x88,0x10,0x54,0xfe,0x22,
-+0x10,0x11,0x94,0x54,0x58,0x12,0xfd,0x32,0x39,0x55,0x55,0x91,0x11,0x11,0x11,0x11,0x0,0xfc,0x24,0xa0,0xbc,0xe0,0x3e,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x10,0x11,0x94,0x54,0x59,0x10,0xfe,0x31,0x3a,0x54,0x55,0x90,0x10,0x11,0x12,0x10,0x0,0xf8,0x50,0x20,0xfe,0x62,0xa4,0x20,0x60,0x24,0xfe,0x70,0xa8,0x26,0x20,0x20,
-+0x10,0x10,0x95,0x55,0x59,0x11,0xff,0x31,0x39,0x54,0x50,0x97,0x10,0x10,0x10,0x13,0x40,0x84,0xfe,0x4,0xfc,0x4,0xfc,0x4,0xfc,0x28,0x24,0xfe,0x50,0x50,0x8e,0x4,
-+0x20,0x2f,0x21,0xa9,0x71,0x27,0xfc,0x24,0x77,0x69,0xa9,0x21,0x21,0x21,0x2a,0x24,0x4,0x7e,0x44,0x44,0x7c,0x10,0x14,0x7e,0x54,0x54,0x7c,0x10,0x10,0x14,0xfe,0x2,
-+0x0,0x3f,0x20,0x20,0x3f,0x20,0x20,0x3f,0x24,0x24,0x22,0x21,0x20,0x28,0x30,0x20,0x10,0xf8,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x20,0x40,0x80,0x60,0x1e,0x4,0x0,
-+0x7d,0x44,0x7d,0x45,0x7c,0x48,0x5c,0x63,0x1f,0x10,0x1f,0x10,0x1f,0x0,0xff,0x0,0xf8,0x20,0x24,0xfe,0x20,0x52,0x92,0xe,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,
-+0x2,0x7f,0x22,0x12,0x2,0x1a,0x63,0xa,0x4,0x8,0xff,0x8,0x8,0x8,0x10,0x20,0x8,0xfc,0x88,0x48,0x8,0x68,0x88,0x28,0x10,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x10,0x10,0x2b,0x24,0x50,0x8a,0x1,0x7c,0x4,0x8,0x49,0x32,0x10,0x8,0x9,0x0,0x0,0x44,0xfe,0x44,0x44,0x64,0x54,0xcc,0x44,0xcc,0x54,0x64,0x44,0x44,0x54,0x88,
-+0x1,0x2,0xc,0x37,0xc0,0x1f,0x10,0x1f,0x2,0x7f,0x12,0xa,0x12,0x22,0xa,0x4,0x0,0x80,0x60,0xd8,0x6,0xf0,0x10,0xf0,0x8,0xfc,0x48,0x28,0x48,0x88,0x28,0x10,
-+0x2,0x1f,0x2,0xff,0x2,0xf,0x38,0xcf,0x8,0xf,0x0,0x7e,0x22,0x1a,0x62,0x6,0x20,0xc0,0x84,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x4,0xfe,0x44,0x34,0xc4,0xc,
-+0x2,0x2,0x7e,0x2,0x3e,0x2,0xfe,0x2,0x7f,0x22,0x12,0xa,0x12,0x63,0xa,0x4,0x80,0x88,0xfc,0x80,0xf8,0x80,0xfe,0x88,0xfc,0x8,0x48,0x28,0x48,0x88,0x28,0x10,
-+0x8,0x4,0xff,0x0,0x3e,0x22,0x3e,0x22,0x3e,0x22,0x7e,0x22,0x12,0x1a,0x62,0x6,0x20,0x44,0xfe,0x8,0x48,0x48,0x48,0x48,0x48,0x18,0xfc,0x44,0x24,0x34,0xc4,0xc,
-+0x10,0x9,0x7f,0x41,0x41,0x7f,0x40,0x40,0x7f,0x55,0x55,0x7f,0xd5,0x55,0x41,0x43,0x0,0x24,0xfe,0x24,0x24,0xb4,0x6c,0x24,0x24,0x6c,0xb4,0x24,0x24,0x24,0xb4,0x48,
-+0x2,0x7f,0x0,0x3e,0x22,0x3e,0x0,0x7f,0x41,0x55,0x55,0x7f,0x49,0x49,0x43,0x0,0x24,0xfe,0x24,0x24,0x24,0xb4,0x6c,0x24,0x24,0x6c,0xb4,0x24,0x24,0x24,0xb4,0x48,
-+0x7f,0x50,0x5e,0x68,0x7f,0x48,0x54,0x7f,0x0,0x7e,0x22,0x12,0x1a,0x62,0xa,0x4,0x7c,0x44,0x46,0x80,0x7c,0x28,0x10,0x6e,0x4,0xfe,0x44,0x24,0x34,0xc4,0x14,0x8,
-+0x1,0x3,0x4,0x8,0x10,0x3f,0x1,0x2,0x4,0x3f,0x1,0x9,0x19,0x21,0x45,0x2,0x0,0x0,0x0,0x10,0x30,0xc0,0x0,0x20,0x10,0xf8,0x0,0x20,0x18,0xc,0x4,0x0,
-+0x8,0x8,0xfe,0x8,0x3e,0xc8,0x29,0x12,0x1f,0x1,0x2,0x3f,0x9,0x11,0x21,0x3,0x40,0x48,0xfc,0x48,0xc8,0x6a,0x8a,0x26,0xc0,0x0,0x10,0xf8,0x20,0x18,0x8,0x0,
-+0x8,0x8,0x7f,0xa,0x9,0x8,0xff,0x9,0x12,0x2f,0xc1,0x2,0x3f,0x9,0x11,0x23,0x20,0x28,0xfc,0x20,0x20,0xa4,0xfe,0x20,0x30,0xee,0x4,0x10,0xf8,0x20,0x18,0x8,
-+0x10,0x8,0x3e,0x23,0x22,0x3e,0x41,0x42,0x9f,0x1,0x2,0x3f,0x9,0x11,0x21,0x3,0x40,0x48,0xfc,0x48,0x30,0x48,0x86,0x20,0xc0,0x0,0x10,0xf8,0x20,0x18,0x8,0x0,
-+0x2,0xd,0xf0,0x94,0x54,0x49,0x7e,0x90,0x10,0xfd,0x10,0x54,0x55,0x56,0x7c,0x0,0x1c,0xe0,0x20,0x40,0x84,0xf8,0x10,0x20,0x44,0xfe,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x1,0xff,0x1,0x1f,0x12,0xff,0x10,0x1f,0x0,0x3e,0x32,0x2a,0xff,0x28,0x4a,0x18,0x4,0xfe,0x0,0xf0,0x14,0xfe,0x90,0xf0,0x1c,0xe0,0x24,0xf8,0x24,0xfe,0x54,0xb2,
-+0x10,0x14,0xfe,0x11,0x7c,0x10,0xfe,0x21,0x3c,0x44,0xa4,0x28,0x10,0x28,0x41,0x82,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0x88,0x88,0x6,0x4,
-+0x10,0x14,0xfe,0x10,0x55,0xba,0x11,0x28,0x67,0xbc,0x24,0x29,0x5a,0x10,0x20,0xc0,0x80,0x80,0x84,0xfe,0x4,0x4c,0x54,0xe4,0xfc,0x44,0xe4,0x54,0x4c,0x44,0x54,0x48,
-+0x8,0xa,0x7f,0x8,0x9,0xff,0x8,0x28,0x2a,0x2f,0x28,0x28,0x58,0x48,0x87,0x0,0x8,0x8,0x48,0x48,0x48,0xc8,0x48,0x48,0x48,0x78,0x8,0x8,0x8,0x6,0xfc,0x0,
-+0x8,0x8,0x7f,0x8,0xa,0xff,0x8,0x28,0x28,0x2e,0x28,0x2b,0x58,0x48,0x87,0x0,0x8,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0x88,0x88,0xfe,0x0,0x6,0xfc,0x0,
-+0x10,0x17,0x7d,0x11,0x11,0xfd,0x12,0x55,0x50,0x5c,0x51,0x72,0x50,0x48,0x87,0x0,0x44,0xe4,0x4,0x14,0xd4,0x54,0x54,0x54,0xd4,0x94,0x4,0x14,0x8,0x6,0xfc,0x0,
-+0x10,0x12,0x7d,0x11,0x14,0xfe,0x10,0x50,0x51,0x5d,0x52,0x72,0x50,0x48,0x87,0x0,0x20,0x20,0x20,0x7e,0x82,0x14,0x90,0x90,0x10,0x28,0x26,0x42,0x80,0x6,0xfc,0x0,
-+0x11,0x15,0x7f,0x19,0x17,0xfb,0x15,0x59,0x57,0x5a,0x52,0x72,0x52,0x49,0x86,0x3,0x8,0x28,0xbc,0x48,0xfe,0x18,0xaa,0x4e,0xf8,0x8,0x48,0x48,0xb8,0x8,0x6,0xfc,
-+0x8,0x8,0xa,0x7f,0x8,0x8,0xff,0x14,0x54,0x56,0x55,0x94,0x14,0x14,0x24,0x4c,0x8,0xfc,0x88,0x88,0x88,0xa8,0x90,0xfc,0x84,0xc4,0xa8,0xa8,0x90,0xa8,0xc6,0x84,
-+0x8,0x8,0x8,0x7e,0x8,0x8,0xff,0x14,0x56,0x55,0x56,0x94,0x14,0x14,0x24,0x4c,0x20,0x20,0x24,0xfc,0x28,0x30,0xfe,0x40,0xfc,0x84,0x84,0xfc,0x84,0x84,0xfc,0x84,
-+0x0,0xff,0x1,0x0,0x7e,0x42,0x42,0x42,0x7e,0x0,0x44,0x24,0x28,0xe,0xf1,0x40,0x0,0x8,0xfc,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x2,0xff,0x0,0x1,0x7e,0x42,0x42,0x42,0x7e,0x0,0x44,0x24,0x28,0xe,0xf0,0x43,0x20,0x20,0x24,0xfe,0x20,0x20,0xf8,0x8,0x88,0x50,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x0,0x84,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-+0x1,0xff,0x14,0x15,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x0,0x88,0x7c,0x10,0x90,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x8,0x88,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x8,0x28,0x10,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xab,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x20,0x20,0x20,0x24,0xa6,0xbc,0xe4,0xa4,0xa4,0xb4,0xa8,0xa0,0x82,0x82,0x7e,0x0,
-+0x4,0xfe,0x28,0x28,0xff,0xaa,0xaa,0xaa,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x88,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x20,0xa0,0x20,0x24,0x7e,0x60,0xa4,0x3e,0x20,0x20,0x24,0x3e,0x20,0x20,0x20,0x20,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x20,0x90,0x10,0x7e,0x42,0x84,0x20,0x20,0x24,0x28,0x30,0x20,0x22,0x22,0x1e,0x0,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x10,0x90,0x50,0x7c,0x50,0x90,0x14,0xfe,0x28,0x28,0x28,0x28,0x2a,0x4a,0x86,0x0,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x10,0x90,0x10,0x3e,0x44,0xa8,0x18,0x10,0x24,0x7e,0xc4,0x44,0x44,0x44,0x7c,0x44,
-+0x1,0xff,0x14,0x14,0x7f,0x55,0x55,0x55,0x57,0x61,0x41,0x7f,0x41,0x41,0x7f,0x41,0x40,0xc4,0x4c,0x50,0x62,0x42,0x7e,0x4,0x7e,0x44,0x44,0x7c,0x44,0x44,0x7c,0x44,
-+0x4,0xff,0x28,0x28,0xfe,0xaa,0xaa,0xaa,0xae,0xc2,0x82,0xfe,0x82,0x82,0xff,0x82,0x4,0xfe,0x28,0xaa,0x6c,0x28,0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,
-+0x4,0xff,0x28,0x28,0x7d,0x55,0x55,0x55,0x6d,0x45,0x45,0x7d,0x45,0x45,0x7d,0x45,0x4,0xfe,0x0,0x4,0xde,0x54,0x54,0x54,0x54,0xdc,0x54,0x54,0x54,0x54,0x54,0x54,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xab,0xae,0xc2,0x82,0xfe,0x82,0x82,0xff,0x82,0x4,0xfe,0x84,0x84,0x84,0xfc,0x0,0xfe,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0xfe,0x28,0x28,0xfe,0xab,0xaa,0xaa,0xae,0xc3,0x82,0xfe,0x82,0x83,0xfe,0x82,0x20,0x20,0x50,0x50,0x8e,0x4,0xf8,0x20,0x24,0xfe,0x20,0x70,0xac,0x24,0xa0,0x40,
-+0x4,0xfe,0x29,0x28,0xff,0xaa,0xaa,0xab,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x8,0x1c,0xe0,0x4,0x24,0xa8,0x8,0xfe,0x8,0x88,0x48,0x48,0x8,0x8,0x28,0x10,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xaa,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x4,0xfe,0x84,0x84,0xfc,0x84,0x84,0xfc,0x10,0x90,0x92,0xf4,0x98,0xb2,0xd2,0x8e,
-+0x4,0xfe,0x28,0x29,0xfe,0xaa,0xaa,0xab,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x20,0x10,0x14,0xfe,0x0,0x84,0x48,0xfe,0x0,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,
-+0x4,0xfe,0x28,0x28,0x7f,0x54,0x54,0x55,0x6d,0x45,0x45,0x7d,0x45,0x45,0x7c,0x44,0x84,0x9e,0x94,0x94,0xf4,0x9c,0x94,0xd4,0x54,0x5c,0x54,0x54,0xd4,0x24,0x24,0x4c,
-+0x4,0xfe,0x28,0x28,0x7c,0x54,0x54,0x57,0x6c,0x44,0x44,0x7c,0x44,0x44,0x7d,0x46,0x8,0xfc,0x88,0xf8,0x88,0xf8,0x0,0xfe,0x20,0xa8,0xbc,0xa0,0xa0,0xe6,0x3c,0x0,
-+0x4,0xfe,0x28,0x28,0xfe,0xaa,0xaa,0xab,0xae,0xc2,0x82,0xfe,0x82,0x82,0xfe,0x82,0x0,0xfe,0x12,0x50,0x5c,0x50,0xb0,0xe,0x7c,0x44,0x7c,0x44,0x7c,0x44,0x54,0x48,
-+0x4,0xfe,0x2b,0x28,0x7c,0x55,0x56,0x54,0x6c,0x44,0x45,0x7d,0x45,0x45,0x7f,0x44,0x40,0x44,0xfe,0x40,0x88,0xfc,0x88,0x88,0xf8,0x4,0xfe,0x54,0x54,0x54,0xfe,0x0,
-+0x4,0xfe,0x29,0x29,0x7d,0x55,0x55,0x55,0x6d,0x45,0x45,0x7d,0x45,0x45,0x7e,0x44,0x20,0x14,0xfe,0x10,0x7c,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x44,0x44,0x44,0x7c,0x44,
-+0x4,0xff,0x29,0x28,0x7d,0x54,0x54,0x54,0x6f,0x44,0x45,0x7c,0x45,0x44,0x7c,0x45,0x4,0xde,0x54,0xcc,0x54,0x64,0x50,0xa8,0x46,0x90,0x20,0x48,0x90,0x20,0x40,0x80,
-+0x2,0xff,0x28,0x28,0xff,0xaa,0xaa,0xaa,0xae,0xc2,0x82,0xff,0x82,0x82,0xfe,0x83,0x50,0x54,0xd8,0x50,0xfe,0x88,0x50,0xfc,0x20,0xfc,0x20,0xfe,0x20,0x50,0x8e,0x4,
-+0x4,0xfe,0x28,0x28,0xff,0xaa,0xaa,0xaa,0xae,0xc2,0x82,0xfe,0x82,0x83,0xff,0x82,0x40,0x60,0x94,0xfe,0x90,0xfc,0x90,0x90,0xfc,0x90,0x94,0xfe,0x80,0x54,0x52,0x2,
-+0x4,0xfe,0x29,0x28,0x7c,0x55,0x54,0x54,0x6d,0x46,0x45,0x7d,0x45,0x45,0x7f,0x44,0x40,0x24,0xfe,0x40,0x88,0xfc,0xa8,0xaa,0x2e,0x0,0xfc,0x54,0x54,0x54,0xfe,0x0,
-+0x4,0xfe,0x28,0x29,0x7d,0x55,0x55,0x55,0x6d,0x45,0x45,0x7d,0x45,0x45,0x7e,0x44,0x20,0x3c,0x20,0xfe,0x22,0xfc,0x20,0xfe,0x20,0x54,0xb8,0x58,0xb6,0x54,0x90,0x30,
-+0x4,0xff,0x29,0x29,0x7d,0x55,0x54,0x55,0x6c,0x45,0x45,0x7d,0x44,0x44,0x7f,0x44,0x50,0xfc,0x54,0xfc,0x54,0xfc,0x0,0xfc,0x0,0xfc,0x4,0xfc,0x88,0x50,0xfe,0x0,
-+0x4,0xff,0x28,0x2b,0x7c,0x55,0x55,0x55,0x6d,0x44,0x45,0x7c,0x47,0x45,0x7d,0x46,0x1c,0xe0,0x24,0xfe,0x20,0xfc,0xac,0x74,0xfc,0x20,0xfc,0x20,0xfe,0x54,0x52,0x2,
-+0x0,0xff,0x2,0x6,0x9,0x11,0x62,0x4,0x8,0x31,0x2,0x4,0x18,0x60,0x2,0x1,0x4,0xfe,0x0,0x8,0x18,0xa0,0xc0,0xc0,0xa0,0xa0,0x90,0x8e,0x84,0x80,0x80,0x0,
-+0x11,0x10,0x1f,0x10,0x7d,0x44,0x47,0x6c,0x54,0x54,0x55,0x6d,0x46,0x44,0x7f,0x44,0x8,0x90,0xfe,0x40,0xfc,0x40,0xfe,0x80,0x88,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x0,0xff,0x4,0x7,0x4,0x8,0x30,0xdf,0x10,0x10,0x1f,0x9,0x9,0x19,0x27,0xc0,0x4,0xfe,0x0,0xf0,0x10,0x90,0x60,0xf0,0x10,0x10,0xf0,0x0,0xf8,0x0,0x6,0xfc,
-+0x0,0x7e,0x8,0x8,0xe,0x71,0x2,0x1f,0x10,0x10,0x1f,0x9,0x9,0xd,0x33,0xc0,0x8,0xfc,0x88,0xc8,0xaa,0x6,0x10,0xf8,0x10,0x10,0xf0,0x0,0xf8,0x0,0x6,0xfc,
-+0x8,0x8,0xfe,0x8,0x1e,0xe8,0x9,0x1f,0x10,0x10,0x1f,0x9,0x9,0xd,0x33,0xc0,0xc,0xf0,0x84,0xfe,0x90,0x90,0x10,0xf0,0x10,0x10,0xf0,0x0,0xf8,0x0,0x6,0xfc,
-+0x0,0x3f,0x24,0x27,0x24,0x3f,0x55,0x64,0x9f,0x10,0x1f,0x9,0x9,0xd,0x33,0xc0,0x48,0xfe,0x40,0x48,0x50,0xa0,0x52,0x8a,0xf6,0x10,0xf0,0x0,0xf8,0x0,0x6,0xfc,
-+0x49,0x2a,0x7f,0x49,0x5d,0x6b,0x49,0x1f,0x10,0x10,0x1f,0x9,0x9,0xd,0x33,0xc0,0x20,0x24,0x3e,0x44,0xa8,0x10,0x6e,0xf0,0x10,0x10,0xf0,0x0,0xf8,0x0,0x6,0xfc,
-+0x4,0x7e,0x44,0x44,0x45,0x7d,0x56,0x10,0x50,0x5c,0x50,0x50,0x5c,0xf0,0x40,0x0,0x80,0x80,0x84,0xfe,0x4,0x4,0x4,0x84,0x44,0x44,0x4,0x4,0x4,0x44,0x28,0x10,
-+0x4,0x7f,0x44,0x44,0x44,0x7c,0x54,0x10,0x50,0x5c,0x51,0x51,0x5d,0xf2,0x44,0x9,0x0,0xfc,0x84,0x88,0x88,0x90,0xbc,0x84,0xc4,0xa8,0x28,0x10,0x28,0x28,0x46,0x84,
-+0x4,0x7f,0x44,0x44,0x44,0x7c,0x10,0x13,0x50,0x5c,0x50,0x51,0x5d,0xf1,0x42,0x4,0x4,0xfe,0x88,0x88,0x88,0x88,0x88,0xfe,0x88,0x88,0x88,0x8,0x8,0x8,0x8,0x8,
-+0x4,0x7e,0x44,0x45,0x44,0x7c,0x54,0x13,0x50,0x5c,0x50,0x50,0x5c,0xf1,0x42,0x4,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x50,0x50,0x90,0x88,0x8,0x6,0x4,
-+0x4,0x7e,0x44,0x44,0x44,0x7d,0x56,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x0,0x40,0x40,0xa0,0xa0,0x90,0x8,0x16,0xf8,0x10,0x10,0x10,0x50,0x20,0x4,0x4,0xfc,
-+0x4,0x7f,0x44,0x44,0x44,0x7c,0x54,0x10,0x51,0x5e,0x50,0x50,0x5c,0xf0,0x40,0x0,0x4,0xfe,0x40,0x40,0x40,0x80,0x84,0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x4,0x7e,0x44,0x45,0x45,0x7f,0x55,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x1,0x88,0x88,0x88,0x8,0x8,0xfe,0x8,0x8,0x48,0x28,0x28,0x8,0x8,0x8,0x28,0x10,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x55,0x13,0x51,0x5d,0x51,0x51,0x5d,0xf2,0x42,0x4,0x4,0xde,0x54,0x54,0x54,0x54,0x54,0xfe,0x54,0x54,0x54,0x54,0x54,0x54,0xe4,0xc,
-+0x4,0x7f,0x45,0x45,0x45,0x7d,0x55,0x11,0x50,0x5c,0x50,0x51,0x5e,0xf0,0x40,0x0,0x1c,0xe0,0x0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0xa8,0x26,0x22,0x20,0xa0,0x40,
-+0x4,0x7e,0x44,0x45,0x45,0x7e,0x54,0x10,0x50,0x5c,0x50,0x52,0x5c,0xf0,0x40,0x0,0x40,0x20,0x20,0xfe,0x2,0x4,0x80,0x88,0x98,0xa0,0xc0,0x80,0x82,0x82,0x7e,0x0,
-+0x9,0x7d,0x49,0x49,0x4f,0x79,0x51,0x11,0x51,0x5d,0x51,0x51,0x5e,0xf2,0x45,0x8,0x0,0x0,0x0,0x4,0xde,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x5c,0x54,0x80,
-+0x4,0x7e,0x44,0x45,0x45,0x7d,0x55,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf2,0x42,0x5,0x20,0x20,0x20,0xfe,0x22,0x24,0x20,0xfc,0x88,0x48,0x50,0x20,0x50,0x48,0x8e,0x4,
-+0x4,0x7e,0x44,0x44,0x45,0x7f,0x54,0x10,0x51,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x1,0x40,0x40,0x80,0x90,0x8,0xfc,0x2,0x8,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x4,0x7e,0x44,0x45,0x44,0x7c,0x53,0x10,0x50,0x5c,0x51,0x50,0x5c,0xf0,0x43,0x0,0x20,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x7e,0x44,0x47,0x44,0x7c,0x54,0x13,0x50,0x5d,0x50,0x50,0x5c,0xf1,0x42,0x4,0x40,0x48,0x7c,0xc0,0x50,0x22,0xd2,0xe,0x8,0xfc,0xa0,0xa0,0xa0,0x22,0x22,0x1e,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x55,0x11,0x50,0x5c,0x53,0x50,0x5c,0xf0,0x40,0x0,0x10,0x10,0x12,0xd4,0x18,0x12,0x52,0x8e,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,
-+0x4,0x7e,0x45,0x45,0x45,0x7e,0x54,0x13,0x50,0x5c,0x50,0x50,0x5c,0xf1,0x42,0x4,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x90,0x90,0x90,0x90,0x92,0x12,0xe,0x0,
-+0x4,0x7e,0x45,0x45,0x44,0x7c,0x57,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf2,0x44,0x0,0x0,0xc,0x70,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x86,0x7c,0x0,
-+0x0,0x7c,0x47,0x44,0x44,0x7c,0x54,0x10,0x53,0x5c,0x50,0x50,0x5c,0xf0,0x41,0x2,0x40,0x24,0xfe,0x88,0x50,0x20,0x50,0x8e,0x4,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x4,0x7e,0x44,0x47,0x44,0x7c,0x55,0x12,0x50,0x5c,0x50,0x50,0x5c,0xf0,0x41,0x2,0x40,0x20,0x4,0xfe,0x0,0x88,0x6,0x8a,0x88,0x50,0x50,0x20,0x50,0x88,0xe,0x4,
-+0x4,0x7e,0x45,0x45,0x45,0x7d,0x55,0x11,0x51,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x1,0x40,0x28,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x40,0x24,0x28,0x10,0x4e,0x84,0x0,
-+0x0,0x7d,0x44,0x44,0x45,0x7d,0x55,0x11,0x50,0x5c,0x50,0x52,0x5e,0xf4,0x40,0x0,0x8,0xfc,0x8,0x8,0xf8,0x0,0x4,0x4,0xfc,0x0,0x40,0xa4,0xa2,0x8a,0x78,0x0,
-+0x4,0x7e,0x44,0x44,0x45,0x7d,0x55,0x11,0x51,0x5c,0x50,0x53,0x5c,0xf0,0x40,0x0,0x24,0x3e,0x20,0x20,0xfc,0x4,0xfc,0x4,0xfc,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x7d,0x45,0x45,0x45,0x7d,0x55,0x11,0x5c,0x53,0x50,0x50,0x5d,0xf2,0x40,0x0,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x70,0xa8,0x26,0x24,0x20,0x20,
-+0x9,0x7d,0x49,0x49,0x4a,0x7c,0x50,0x17,0x50,0x5c,0x50,0x51,0x5d,0xf2,0x44,0x0,0x0,0x0,0x0,0xfe,0x92,0x92,0x92,0xf2,0x92,0x92,0x92,0x52,0x32,0x1e,0x12,0x0,
-+0x4,0x7f,0x45,0x45,0x45,0x7d,0x55,0x11,0x51,0x5d,0x51,0x51,0x5e,0xf2,0x44,0x0,0xc,0xf0,0x10,0x14,0xfe,0x10,0x7c,0x44,0x54,0x54,0x54,0x54,0x20,0x28,0x46,0x82,
-+0x4,0x7e,0x45,0x45,0x45,0x7d,0x55,0x11,0x51,0x5d,0x52,0x52,0x5c,0xf4,0x48,0x0,0x20,0x10,0xfe,0x20,0x24,0x3e,0x20,0x20,0x24,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x4,0x7e,0x45,0x44,0x44,0x7c,0x54,0x13,0x50,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x1,0x40,0x28,0xfc,0x0,0x88,0x50,0x4,0xfe,0x0,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x4,0x7a,0x4a,0x48,0x4f,0x79,0x51,0x11,0x5f,0x59,0x51,0x51,0x5a,0xf2,0x44,0x0,0x40,0x5e,0x92,0x14,0xd4,0x18,0x14,0x54,0xf2,0x12,0x1a,0x14,0x90,0x50,0x50,0x10,
-+0x0,0x78,0x4f,0x49,0x49,0x7a,0x57,0x11,0x51,0x5d,0x55,0x53,0x5d,0xf2,0x44,0x8,0x10,0x10,0x7c,0x14,0xfe,0x14,0x7c,0x10,0x7c,0x10,0xfe,0x10,0x10,0x96,0x7c,0x0,
-+0x0,0x7d,0x47,0x45,0x45,0x7d,0x55,0x11,0x50,0x5c,0x53,0x50,0x5c,0xf1,0x42,0x0,0x48,0x48,0xfe,0x48,0x48,0x78,0x0,0xfc,0x20,0x24,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x8,0x7c,0x4a,0x4a,0x4b,0x78,0x57,0x10,0x58,0x57,0x54,0x54,0x5c,0xf4,0x44,0x4,0x40,0x40,0x48,0x48,0xf8,0x0,0xfe,0x40,0x84,0xfe,0xa4,0xa4,0xa4,0xa4,0xa4,0xc,
-+0x0,0x7d,0x44,0x44,0x47,0x7c,0x55,0x11,0x51,0x5d,0x51,0x50,0x5d,0xf0,0x43,0x0,0xc,0xf0,0x20,0x24,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x0,0x7d,0x44,0x45,0x45,0x7d,0x55,0x11,0x50,0x5f,0x52,0x52,0x5e,0xf2,0x42,0x2,0xc,0xf0,0x24,0xfe,0x24,0x24,0xfc,0x24,0x20,0xfe,0x22,0x2a,0xfa,0x2,0xa,0x4,
-+0x4,0x7e,0x45,0x45,0x45,0x7d,0x55,0x11,0x51,0x5d,0x51,0x51,0x5e,0xf2,0x44,0xb,0x20,0x14,0xfe,0x48,0x48,0xfe,0x48,0x78,0x0,0xfc,0x4,0x48,0x30,0x28,0xc6,0x4,
-+0x1,0x7c,0x47,0x44,0x45,0x7c,0x57,0x10,0x50,0x5c,0x51,0x51,0x5e,0xf0,0x43,0x0,0x8,0x90,0xfe,0x40,0xfc,0x40,0xfe,0x80,0x88,0xfc,0x20,0x20,0x20,0x24,0xfe,0x0,
-+0x4,0x7e,0x45,0x45,0x45,0x7d,0x55,0x11,0x51,0x5d,0x52,0x52,0x5c,0xf4,0x48,0x0,0x40,0x24,0xfe,0x4,0x4,0xfc,0x4,0x0,0xfe,0xaa,0xaa,0xfe,0xaa,0xaa,0xaa,0x84,
-+0x4,0x7e,0x44,0x44,0x45,0x7c,0x54,0x11,0x50,0x5c,0x53,0x50,0x5c,0xf1,0x42,0x0,0x0,0xfc,0x48,0x30,0xfe,0x32,0x54,0x90,0x30,0x24,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x8,0x7f,0x49,0x49,0x49,0x79,0x51,0x17,0x50,0x5f,0x54,0x52,0x59,0xf2,0x44,0x8,0x4,0xfe,0x8,0xf8,0x8,0xf8,0x8,0xfe,0x8,0xbe,0xa2,0x94,0x8,0x94,0x24,0x42,
-+0x8,0x7c,0x4b,0x48,0x48,0x7f,0x50,0x13,0x52,0x5e,0x52,0x53,0x5f,0xf2,0x42,0x2,0x90,0x90,0xfc,0x90,0x94,0xfe,0x90,0xfc,0x94,0x94,0x94,0x6c,0x2c,0x44,0x14,0x8,
-+0x4,0x7f,0x45,0x44,0x44,0x7c,0x55,0x10,0x50,0x5d,0x50,0x53,0x5c,0xf0,0x40,0x3,0x1c,0xe0,0x24,0xa8,0x40,0x88,0xf0,0x20,0x44,0xfc,0x20,0xfe,0x20,0x50,0x8e,0x4,
-+0x8,0x7f,0x4a,0x4b,0x4a,0x7a,0x52,0x12,0x52,0x5a,0x52,0x52,0x5c,0xf5,0x48,0x0,0x4,0xfe,0x0,0xf4,0x4,0xe4,0xbe,0xa4,0xb4,0xec,0xc,0xa4,0xa4,0xf4,0x14,0x8,
-+0x10,0xff,0x94,0x96,0x95,0xf7,0xa4,0x26,0xa6,0xb7,0xa4,0xa4,0xa9,0xe9,0x92,0x24,0x4,0xfe,0x0,0x28,0x48,0xee,0x92,0xa4,0xa8,0xe8,0xa8,0x88,0x14,0x14,0x24,0x42,
-+0x0,0x7d,0x44,0x44,0x47,0x7c,0x50,0x11,0x50,0x5d,0x50,0x53,0x5c,0xf0,0x41,0x6,0x50,0x54,0xd8,0x50,0xfe,0x88,0x50,0xfc,0x20,0xfc,0x20,0xfe,0x20,0x50,0x8e,0x4,
-+0x4,0x7f,0x45,0x44,0x47,0x7c,0x54,0x13,0x51,0x5d,0x51,0x51,0x5d,0xf1,0x41,0x1,0x1c,0xe0,0x24,0xa8,0xfe,0x70,0xae,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,
-+0x14,0xfa,0x90,0x9f,0x90,0xff,0xa8,0x28,0xaf,0xb2,0xa7,0xaa,0xb2,0xe2,0x86,0x1,0x20,0x28,0x24,0xa0,0x7e,0xa8,0xa8,0xa8,0xa8,0x28,0x28,0xa8,0x4a,0x4a,0x86,0x0,
-+0x4,0x7f,0x45,0x45,0x45,0x7c,0x55,0x12,0x55,0x5d,0x51,0x50,0x5c,0xf3,0x40,0x0,0x4,0xfe,0x54,0x54,0xfc,0x84,0xfe,0x44,0xf4,0x54,0xf4,0x44,0x54,0xfc,0x14,0x8,
-+0x11,0xff,0x91,0x94,0x92,0xf5,0xa5,0x25,0xa5,0xbd,0xa5,0xa5,0xbd,0xe5,0x84,0x4,0x10,0xfe,0x10,0x4,0xfe,0x44,0xf4,0x44,0xf4,0x44,0xf4,0x44,0xfc,0x4,0x14,0x8,
-+0x10,0xff,0x94,0x95,0x95,0xf5,0xa5,0x25,0xa4,0xbd,0xa4,0xa7,0xbd,0xea,0x90,0x3,0x40,0xfe,0x0,0xfc,0x24,0xfc,0x24,0xfc,0x20,0xfc,0x20,0xfe,0x24,0xfa,0x20,0xfe,
-+0x9,0x7d,0x4a,0x49,0x4b,0x7a,0x52,0x12,0x53,0x5e,0x53,0x52,0x5f,0xf2,0x43,0x2,0x24,0x24,0x48,0x24,0xfe,0x94,0x64,0x94,0xfc,0x48,0x68,0x48,0x68,0x4a,0x6a,0x46,
-+0x1,0xf5,0x97,0x99,0x97,0xf3,0xa5,0x29,0xa3,0xba,0xa2,0xa2,0xba,0xe0,0x81,0x6,0x8,0x28,0xbc,0x48,0xbe,0x18,0xaa,0x4e,0xf8,0xc,0x48,0x48,0x48,0xb0,0xc,0x4,
-+0x10,0xff,0x90,0x95,0x94,0xf7,0xac,0x25,0xab,0xb1,0xa0,0xa3,0xb9,0xe0,0x83,0xc,0x40,0xfe,0x0,0xf4,0x4,0xf6,0xc,0xf4,0x1a,0xf2,0x0,0xf8,0x10,0xe0,0x10,0xe,
-+0x0,0x3f,0x2,0x11,0x8,0x7,0x78,0x0,0x1,0x6,0x38,0x1,0x6,0x38,0x1,0x0,0xe0,0x8,0xc,0x30,0xc0,0x0,0x80,0xc0,0x20,0x50,0x90,0x10,0x10,0x10,0x20,0xc0,
-+0x8,0x10,0x35,0xcc,0x28,0x10,0x30,0xc8,0x15,0x26,0xcc,0x14,0x24,0xc4,0x14,0x8,0x0,0x4,0xfe,0x44,0x44,0x44,0x94,0x88,0x4,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x8,0x13,0x34,0xcc,0x28,0x11,0x31,0xc9,0x15,0x25,0xcd,0x15,0x25,0xc5,0x15,0x9,0x4,0xfe,0x40,0x40,0x84,0xfe,0x4,0x4,0x4,0xfc,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x8,0x10,0x34,0xcc,0x29,0x11,0x33,0xcd,0x15,0x25,0xcd,0x15,0x25,0xc5,0x15,0x9,0x10,0x90,0x90,0x90,0x14,0xfe,0x10,0x38,0x34,0x54,0x54,0x92,0x10,0x10,0x10,0x10,
-+0x8,0x10,0x37,0xcc,0x29,0x11,0x31,0xc9,0x15,0x24,0xcf,0x14,0x24,0xc4,0x15,0xa,0x88,0x88,0xfe,0x88,0xfc,0x4,0xfc,0x4,0xfc,0x20,0xfe,0x20,0x50,0x88,0x6,0x4,
-+0x8,0x10,0x35,0xcd,0x29,0x11,0x31,0xc9,0x15,0x24,0xcd,0x15,0x25,0xc5,0x15,0x9,0x20,0x44,0xfe,0x4,0x54,0x24,0x54,0x4,0xfc,0x10,0x12,0xd4,0x18,0x12,0xd2,0xe,
-+0x10,0x10,0x1e,0x24,0x28,0x7e,0xaa,0x2a,0x3e,0x2b,0x2a,0x3e,0x2a,0x4a,0x42,0x86,0x10,0x90,0x50,0x50,0x10,0x90,0x50,0x54,0x1e,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x10,0x1e,0x24,0x28,0x7e,0xaa,0x2a,0x3e,0x2b,0x2a,0x3e,0x2a,0x4a,0x42,0x87,0x20,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0xfe,0x20,0x20,0x50,0x48,0x86,0x4,
-+0x10,0x10,0x1e,0x25,0x28,0x7e,0xaa,0x2a,0x3e,0x2a,0x2a,0x3e,0x2a,0x4b,0x42,0x86,0x80,0x84,0xfe,0x0,0xf8,0x20,0x44,0xfe,0x54,0x54,0x54,0x94,0xa4,0x24,0x54,0x8,
-+0x10,0x10,0x1f,0x24,0x28,0x7e,0xaa,0x2a,0x3e,0x2a,0x2a,0x3e,0x2a,0x4a,0x43,0x86,0x4,0xe,0xf0,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa4,0xac,0x7a,0x8,
-+0x8,0x8,0x2e,0x28,0x2e,0xf4,0x44,0xf,0x10,0x3f,0x51,0x1f,0x11,0x1f,0x21,0x41,0x80,0x84,0x98,0xe2,0x82,0x7e,0x0,0xe0,0x40,0xf0,0x10,0xf0,0x10,0xf0,0x10,0x30,
-+0x10,0x10,0x1d,0x24,0x28,0x7e,0xaa,0x2b,0x3e,0x2a,0x2a,0x3e,0x2a,0x4a,0x42,0x87,0x20,0x20,0x24,0xac,0xb0,0x20,0x24,0xfe,0x50,0x50,0x50,0x50,0x52,0x92,0x8e,0x0,
-+0x20,0x20,0x3d,0x48,0x50,0xfd,0x55,0x55,0x7d,0x55,0x54,0x7c,0x55,0x56,0x44,0x8c,0x20,0x24,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x70,0xa8,0x26,0x24,0x20,0x20,
-+0x21,0x20,0x3c,0x49,0x51,0xfd,0x55,0x55,0x7d,0x55,0x54,0x7f,0x54,0x54,0x44,0x8c,0x4,0x88,0x50,0xfc,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x20,0x20,0x20,0x20,
-+0x8,0x2f,0x28,0x2f,0x7a,0x1,0xff,0x0,0x1f,0x0,0x1f,0x0,0x1f,0x10,0x1f,0x10,0x40,0x58,0x60,0x44,0x7c,0x0,0xfe,0x0,0xf0,0x0,0xf0,0x0,0xf0,0x10,0xf0,0x10,
-+0x8,0xff,0x8,0x3e,0x2b,0x3e,0x22,0x41,0xff,0x0,0x1e,0x0,0x0,0x1f,0x10,0x1f,0x78,0x48,0x48,0x86,0x78,0x48,0x30,0x4c,0xfe,0x0,0x0,0xf0,0x0,0xf0,0x10,0xf0,
-+0x10,0x14,0xfe,0x10,0x7c,0x10,0xfe,0x0,0x7c,0x44,0x7c,0x44,0x7c,0x44,0x55,0x4a,0x0,0x8,0xfc,0x88,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x50,0x52,0x92,0xe,0x0,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x1,0x3f,0x0,0xff,0x8,0xf,0x0,0x0,0x0,0x0,0xf0,0x0,0xfe,0x12,0x64,0x10,0x0,0xf8,0x0,0xfe,0x0,0xf0,0x10,0x10,0xa0,0x40,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x3f,0x21,0x21,0x2f,0x21,0x21,0x21,0x42,0x4c,0x90,0xf0,0x0,0xfe,0x12,0x64,0x10,0xfc,0x0,0x8,0xfc,0x8,0x8,0x8,0x8,0x50,0x20,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x2,0x1,0xff,0x8,0x4,0x2,0x1,0x6,0x18,0x60,0xf0,0x0,0xfe,0x12,0x64,0x10,0x0,0x4,0xfe,0x20,0x40,0x80,0x0,0xc0,0x3c,0x8,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x78,0xb,0x10,0x78,0xf,0x28,0x10,0x2b,0x44,0x83,0xf0,0x0,0xfe,0x12,0x64,0x10,0x38,0xc0,0x40,0x48,0xfc,0x40,0x50,0xf8,0x46,0xfc,
-+0x1f,0x1,0x7f,0x51,0x8d,0x12,0x1,0x7f,0x8,0x4,0x3,0x1c,0xe8,0x8,0x10,0x20,0xf0,0x0,0xfe,0x12,0x64,0x10,0x0,0xfc,0x20,0x40,0x80,0x70,0x2e,0x20,0x20,0x20,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x41,0x20,0x8f,0x60,0x2b,0x12,0x62,0x22,0x22,0x20,0xf0,0x0,0xfe,0x12,0x64,0x10,0x40,0x44,0xfe,0x40,0xf8,0x48,0x48,0x48,0x58,0x40,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x2,0x7e,0x2,0x2,0x3e,0x2,0x2,0x7e,0x2,0x2,0xf0,0x0,0xfe,0x12,0x64,0x10,0x88,0xfc,0x80,0x90,0xf8,0x80,0x88,0xfc,0x80,0x80,
-+0x1f,0x1,0x7f,0x51,0x8d,0x12,0x1,0x1f,0x4,0xff,0x1,0x7f,0x4,0xc,0x3,0x1c,0xf0,0x0,0xfe,0x12,0x64,0x10,0x0,0xf0,0x44,0xfe,0x0,0xfc,0x40,0x40,0x80,0x70,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x20,0x17,0x42,0x21,0xb,0x10,0x6f,0x20,0x20,0x27,0xf0,0x0,0xfe,0x12,0x64,0x10,0x38,0xc0,0x48,0x50,0xf8,0x40,0xfe,0x40,0x48,0xfc,
-+0x1f,0x1,0x7f,0x51,0x8d,0x11,0x23,0x12,0x2,0xf3,0x11,0x13,0x1c,0x12,0x1b,0x10,0xf0,0x0,0xfe,0x12,0x64,0x10,0xf8,0x88,0x48,0xf8,0x0,0xfc,0x44,0xa4,0xf4,0x8,
-+0x1f,0x1,0x7f,0x51,0x8d,0x12,0x3f,0x12,0xff,0x21,0x3f,0x21,0x3f,0x21,0x25,0x22,0xf0,0x0,0xfe,0x12,0x64,0x10,0x20,0x24,0xfe,0x4,0x44,0x28,0x10,0x28,0x46,0x84,
-+0x1f,0x1,0x7f,0x51,0x8d,0x10,0x2b,0xe5,0x19,0x69,0x95,0x64,0x5,0x64,0x17,0x8,0xf0,0x0,0xfe,0x12,0x64,0x10,0xfc,0x24,0xfc,0x24,0xfc,0x20,0xfc,0x20,0xfe,0x0,
-+0x8,0x8,0x2a,0x2f,0x28,0x29,0xff,0x0,0x49,0x49,0x49,0x55,0x63,0x41,0x7f,0x1,0x40,0x40,0x40,0x40,0x40,0x44,0xcc,0x50,0x60,0x40,0x40,0x40,0x42,0x42,0x3e,0x0,
-+0x8,0x8,0x2a,0x2f,0x28,0x29,0xff,0x0,0x49,0x49,0x49,0x55,0x63,0x41,0x7f,0x1,0x0,0x4,0x7e,0x44,0x44,0x44,0xfc,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0xfe,0x0,
-+0x10,0x10,0x50,0x5d,0x52,0x50,0xff,0x1,0x55,0x55,0x55,0x6d,0x45,0x45,0x7c,0x4,0x80,0x80,0x84,0xfe,0x4,0x24,0xf4,0x24,0x24,0xe4,0x14,0x8,0x2,0x2,0xfe,0x0,
-+0x10,0x11,0x50,0x5c,0x50,0x54,0xfe,0x1,0x54,0x54,0x54,0x6c,0x44,0x44,0x7c,0x4,0x4,0xfe,0x44,0x44,0x44,0x44,0x94,0x8,0x0,0xfc,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x10,0x10,0x50,0x5d,0x51,0x55,0xff,0x1,0x55,0x55,0x55,0x6d,0x45,0x45,0x7f,0x4,0x50,0x50,0x50,0x50,0x52,0x74,0x58,0x50,0x50,0x50,0x50,0x50,0x50,0x72,0x92,0xe,
-+0x10,0x11,0x51,0x5d,0x51,0x55,0xff,0x1,0x55,0x55,0x55,0x6d,0x45,0x45,0x7d,0x5,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x44,0x48,0x30,0x20,0x10,0x4e,0x84,0x0,
-+0x10,0x11,0x50,0x5c,0x51,0x54,0xfe,0x0,0x57,0x54,0x54,0x6c,0x44,0x44,0x7c,0x4,0x8,0xfc,0x20,0x28,0xfc,0x48,0x48,0x48,0xfe,0x4,0xfe,0x84,0x84,0x84,0xfc,0x84,
-+0x10,0x10,0x50,0x5c,0x50,0x54,0xfe,0x0,0x54,0x54,0x54,0x6c,0x44,0x45,0x7e,0x4,0x8,0xfc,0x88,0x88,0x88,0x88,0xf8,0xa0,0x28,0xbc,0xa0,0xa0,0xa0,0x66,0x3c,0x0,
-+0x10,0x11,0x51,0x5d,0x51,0x55,0xff,0x1,0x55,0x55,0x55,0x6d,0x45,0x45,0x7e,0x4,0x4,0xfe,0x4,0x4,0xfc,0x0,0xfe,0x20,0x48,0xfc,0x10,0x7c,0x10,0x14,0xfe,0x0,
-+0x0,0x1f,0x10,0x1f,0x1,0x3f,0x21,0x21,0x3f,0x21,0x21,0x3f,0x21,0x1,0x1,0x0,0x10,0xf8,0x10,0xf0,0x8,0xfc,0x8,0x8,0xf8,0x8,0x8,0xf8,0x8,0x2,0x2,0xfe,
-+0x1f,0x0,0xff,0x4,0x78,0x1f,0x10,0x1f,0x1,0x3f,0x21,0x3f,0x21,0x3f,0x1,0x0,0xf0,0x4,0xfe,0x40,0x3c,0xf0,0x10,0xf0,0x8,0xfc,0x8,0xf8,0x8,0xfa,0x2,0xfe,
-+0x3e,0x22,0x3e,0x1f,0x11,0x1f,0x11,0xff,0x1,0x1f,0x11,0x1f,0x11,0x1f,0x1,0x0,0xf8,0x88,0xf8,0xf0,0x10,0xf0,0x14,0xfe,0x0,0xf0,0x10,0xf0,0x10,0xf4,0x4,0xfc,
-+0x9,0x8,0x8,0x1f,0x10,0x30,0x3f,0x50,0x90,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x0,0x80,0x88,0xfc,0x80,0x90,0xf8,0x80,0x90,0xf8,0x80,0x80,0x84,0xfe,0x0,0x0,
-+0x9,0x8,0xf,0x10,0x3f,0x50,0x1f,0x10,0x1f,0x10,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfc,0x80,0x84,0xfe,0x80,0x80,0x80,0x80,
-+0x9,0x8,0x1f,0x10,0x3f,0x50,0x9f,0x10,0x1f,0x10,0x7f,0x4,0x4,0x8,0x10,0x60,0x0,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfc,0x0,0xe0,0x28,0x7c,0x8,0x28,0x10,
-+0x0,0x8,0x7d,0x49,0x4b,0x7d,0x49,0x49,0x79,0x49,0x49,0x4d,0xf1,0x41,0x1,0x1,0xc0,0xa0,0x24,0xfe,0x20,0x28,0xfc,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,0x0,
-+0x10,0x10,0x1e,0x22,0x65,0x99,0xa,0x14,0x22,0x7f,0xa2,0x22,0x22,0x3e,0x22,0x0,0x60,0x50,0x84,0xfe,0x90,0x90,0xfc,0x90,0x90,0xfc,0x90,0x90,0x94,0xfe,0x80,0x80,
-+0x3e,0x22,0x2a,0x2a,0x22,0x3e,0x9,0x10,0x3f,0x50,0x9f,0x10,0x1f,0x10,0x1f,0x10,0xf8,0x88,0xa8,0xa8,0x88,0xf8,0x0,0x88,0xfc,0x80,0xf8,0x80,0xf8,0x80,0xfc,0x0,
-+0x20,0x32,0x21,0x3d,0x50,0xd7,0x79,0x51,0x51,0x7d,0x51,0x51,0x51,0x7d,0x40,0x40,0x10,0x18,0x10,0x3e,0x68,0x28,0x3e,0x28,0x28,0x3e,0x28,0x68,0xa8,0x3e,0x20,0x20,
-+0x4,0x7e,0x10,0x10,0x1e,0x71,0x2,0xc,0x37,0xc1,0x1f,0x1,0x9,0x5,0x7f,0x0,0x8,0xfc,0x88,0xc8,0xaa,0xe,0x80,0x60,0xde,0x4,0xf0,0x0,0x20,0x48,0xfc,0x0,
-+0x2,0x1,0x7f,0x4,0x14,0x25,0x42,0xc,0x37,0xc1,0x1f,0x1,0x9,0x5,0x7f,0x0,0x0,0x8,0xfc,0x40,0x50,0x4c,0x84,0x30,0xee,0x4,0xf0,0x0,0x20,0x48,0xfc,0x0,
-+0x20,0x13,0x40,0x27,0x8,0x73,0x22,0x2c,0x37,0xc1,0x1f,0x1,0x9,0x5,0x7f,0x0,0x38,0xc0,0x48,0xfc,0xa0,0x18,0x88,0x60,0xde,0x4,0xf0,0x0,0x20,0x48,0xfc,0x0,
-+0x8,0x7e,0x10,0x28,0x7e,0x8,0x7d,0xa,0xc,0x37,0xc1,0x1f,0x9,0x5,0x7f,0x0,0xc,0xf0,0x80,0x88,0xfc,0x90,0x10,0x90,0x60,0xde,0x4,0xf0,0x20,0x48,0xfc,0x0,
-+0x0,0x7e,0x14,0x8,0xfe,0x1a,0x29,0x4a,0xc,0x37,0xc1,0x1f,0x9,0x5,0x7f,0x0,0x40,0x44,0x7e,0xc8,0x48,0x30,0x48,0x86,0x60,0xde,0x4,0xf0,0x20,0x48,0xfc,0x0,
-+0x8,0x7f,0x8,0x3e,0x9,0xfe,0x11,0x1e,0x24,0xdf,0x31,0xdf,0x9,0x5,0x7f,0x0,0x40,0x44,0x7e,0xc8,0x48,0x30,0x48,0x86,0x40,0xf0,0xe,0xf4,0x20,0x48,0xfc,0x0,
-+0x20,0x17,0x40,0x23,0x9,0x71,0x23,0x22,0xc,0x37,0xc1,0x1f,0x9,0x5,0x7f,0x0,0x40,0xfe,0x90,0xf8,0x50,0x50,0x52,0x8e,0x60,0xde,0x4,0xf0,0x20,0x48,0xfc,0x0,
-+0x3f,0x21,0x3f,0x20,0x3f,0x51,0x9f,0x2,0xc,0x37,0xc1,0x1f,0x9,0x5,0x7f,0x0,0x10,0x7c,0x28,0xfe,0x10,0x7c,0x10,0x90,0x60,0xde,0x4,0xf0,0x20,0x48,0xfc,0x0,
-+0x1,0x6,0x18,0xef,0x1,0x1f,0x5,0x3f,0x10,0x28,0x7c,0x93,0x7c,0x10,0x54,0xfe,0x0,0xc0,0x30,0xee,0x0,0xf0,0x40,0xf8,0x10,0x28,0x7c,0x92,0x7c,0x10,0x54,0xfe,
-+0x20,0x20,0x3c,0x48,0x90,0x7f,0x54,0x54,0x7c,0x54,0x54,0x7c,0x0,0x1d,0xe2,0x44,0x40,0x60,0x50,0x50,0x44,0xfe,0x40,0x50,0x50,0x50,0x50,0x90,0x90,0x12,0x12,0xe,
-+0x20,0x20,0x3c,0x48,0x93,0x7c,0x54,0x54,0x7c,0x54,0x54,0x7c,0x0,0x1d,0xe1,0x42,0x40,0x20,0x20,0x4,0xfe,0x80,0x88,0xfc,0x88,0x88,0x88,0x88,0x88,0x8,0x28,0x10,
-+0x20,0x20,0x3c,0x48,0x93,0x7c,0x54,0x54,0x7c,0x54,0x55,0x7d,0x1,0x1e,0xe2,0x45,0x40,0x60,0x50,0x44,0xfe,0x80,0x80,0xfc,0x84,0xc4,0x48,0x28,0x10,0x28,0x46,0x84,
-+0x20,0x20,0x3d,0x48,0x91,0x7c,0x54,0x54,0x7c,0x57,0x54,0x7c,0x0,0x1c,0xe0,0x40,0x0,0x8,0xfc,0x20,0x24,0xa8,0xa8,0x20,0x24,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,
-+0x20,0x20,0x3c,0x48,0x90,0x7c,0x54,0x54,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x40,0x40,0x48,0x7c,0x40,0x40,0x40,0x48,0xfc,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,
-+0x20,0x20,0x3c,0x48,0x90,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe2,0x44,0x40,0x44,0x7e,0x40,0x44,0xfe,0x4,0x4,0x4,0xfc,0x4,0x0,0x0,0x0,0x0,0x0,
-+0x20,0x20,0x3d,0x48,0x90,0x7c,0x57,0x54,0x7c,0x54,0x54,0x7d,0x2,0x1c,0xe0,0x40,0x8,0x1c,0xe0,0x20,0x20,0x24,0xfe,0x20,0x70,0x68,0xa8,0x26,0x24,0x20,0x20,0x20,
-+0x20,0x20,0x3c,0x48,0x90,0x7d,0x56,0x54,0x7c,0x54,0x54,0x7c,0x0,0x1c,0xe0,0x40,0x48,0x48,0x48,0x88,0x88,0xfe,0x88,0x88,0xc8,0xa8,0xa8,0x88,0x88,0x88,0xa8,0x90,
-+0x11,0x9,0x49,0x7f,0x44,0x84,0xf,0x10,0x3f,0x51,0x1f,0x11,0x1f,0x0,0xff,0x0,0x10,0x20,0x40,0xfe,0x2,0x4,0xc0,0x90,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,0x0,
-+0x20,0x20,0x3c,0x48,0x91,0x7f,0x54,0x54,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x20,0x20,0x40,0x88,0x4,0xfe,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x20,0x3d,0x48,0x90,0x7c,0x57,0x54,0x7c,0x54,0x55,0x7c,0x0,0x1c,0xe3,0x40,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x20,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x3c,0x4b,0x90,0x7c,0x55,0x54,0x7c,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x20,0x20,0x24,0xfe,0x20,0x28,0xfc,0x0,0x4,0xfe,0x4,0x4,0x4,0x4,0xfc,0x4,
-+0x20,0x20,0x3c,0x4b,0x90,0x7c,0x55,0x56,0x7c,0x54,0x54,0x7c,0x0,0x1c,0xe0,0x40,0x40,0x40,0x44,0xfe,0x80,0x88,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,0xa8,0x90,
-+0x20,0x23,0x3c,0x48,0x90,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x40,0x4,0xfe,0x20,0x20,0x44,0xfe,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x4,0x14,0x8,
-+0x20,0x20,0x3c,0x4b,0x90,0x7c,0x54,0x54,0x7c,0x57,0x54,0x7c,0x0,0x1c,0xe1,0x42,0x40,0x20,0x4,0xfe,0x88,0x50,0x20,0x50,0x8e,0x4,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x20,0x20,0x3c,0x4b,0x90,0x7c,0x55,0x56,0x7c,0x54,0x54,0x7c,0x0,0x1c,0xe1,0x46,0x40,0x20,0x4,0xfe,0x0,0x88,0x6,0x8a,0x88,0x50,0x50,0x20,0x50,0x88,0x6,0x4,
-+0x9,0x5,0x3f,0x2,0xff,0x4,0xa,0x37,0xc8,0x1f,0x31,0x1f,0x11,0x1f,0x0,0x7f,0x20,0x40,0xf8,0x0,0xfe,0x40,0x30,0xce,0x84,0xf0,0x10,0xf0,0x10,0xf0,0x0,0xfc,
-+0x20,0x21,0x3c,0x48,0x91,0x7c,0x54,0x55,0x7c,0x54,0x57,0x7c,0x0,0x1c,0xe0,0x40,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x8,0x8,0xfe,0x88,0x48,0x8,0x28,0x10,
-+0x20,0x23,0x3c,0x48,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7c,0x0,0x1c,0xe0,0x43,0x4,0xfe,0x20,0x24,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0xa0,0xa0,0x40,0xb0,0xe,
-+0x20,0x23,0x3c,0x48,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x4,0xfe,0x0,0x4,0xde,0x54,0x54,0x54,0x54,0xdc,0x54,0x54,0x54,0x54,0x54,0x54,
-+0x20,0x20,0x3c,0x4a,0x91,0x7d,0x54,0x57,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe2,0x44,0x20,0x20,0x24,0xfe,0x20,0x20,0x50,0x50,0xfc,0x10,0x14,0xfe,0x10,0x10,0x96,0x7c,
-+0x20,0x20,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7c,0x54,0x55,0x7c,0x0,0x1c,0xe3,0x40,0x40,0x40,0x7e,0x62,0x54,0x48,0x54,0x62,0x20,0x28,0xfc,0x20,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe0,0x40,0x4,0x44,0xe4,0x44,0x44,0x7e,0x44,0xc4,0x64,0x54,0x54,0x44,0xc4,0x44,0x14,0x8,
-+0x20,0x20,0x3c,0x48,0x91,0x7c,0x54,0x54,0x7f,0x54,0x55,0x7c,0x0,0x1d,0xe2,0x40,0x40,0x40,0x7c,0x88,0x50,0x20,0x50,0x8e,0x24,0x20,0xfc,0x20,0xa8,0x26,0xa2,0x40,
-+0x20,0x21,0x3c,0x48,0x90,0x7d,0x54,0x54,0x7c,0x55,0x54,0x7c,0x1,0x1e,0xe0,0x40,0x1c,0xe0,0x40,0x40,0x88,0xf0,0x20,0x40,0x88,0xfc,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x20,0x10,0x40,0x25,0x8,0x77,0x22,0x27,0x8,0x1f,0x31,0x5f,0x11,0x1f,0x0,0xff,0x20,0xa8,0xa6,0x3a,0x60,0x80,0x0,0xc0,0x90,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfe,
-+0x20,0x20,0x3c,0x4b,0x92,0x7c,0x54,0x54,0x7c,0x57,0x54,0x7c,0x0,0x1c,0xe1,0x46,0x40,0x20,0x20,0xfe,0x2,0x14,0xf8,0x0,0x4,0xfe,0x90,0x90,0x90,0x92,0x12,0xe,
-+0x20,0x20,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe0,0x40,0x0,0x4,0xde,0x54,0x54,0xd4,0x54,0x54,0xd4,0x14,0x94,0x54,0x5c,0x90,0x10,0x10,
-+0x20,0x20,0x3d,0x48,0x90,0x7c,0x57,0x54,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x20,0x28,0xfc,0x20,0xf8,0x20,0xfe,0x0,0xfc,0x4,0xfc,0x4,0xfc,0x4,0x14,0x8,
-+0x20,0x20,0x3d,0x48,0x90,0x7f,0x54,0x55,0x7e,0x54,0x55,0x7e,0x0,0x1c,0xe0,0x43,0x20,0x28,0xfc,0x20,0x24,0xfe,0x88,0x46,0x7a,0x88,0x48,0x50,0x20,0x50,0x8e,0x4,
-+0x20,0x23,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1f,0xe0,0x40,0x20,0xf0,0x44,0x7e,0x44,0xd4,0x54,0x54,0x54,0xd4,0x54,0x68,0xc8,0x54,0x52,0x60,
-+0x20,0x20,0x3c,0x4b,0x90,0x7c,0x54,0x55,0x7c,0x54,0x54,0x7f,0x0,0x1c,0xe0,0x40,0x50,0x50,0x54,0xde,0x50,0x50,0x50,0xdc,0x50,0x50,0x54,0xde,0x50,0x50,0x50,0x50,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7c,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x10,0x12,0xd6,0x18,0x10,0x52,0x92,0xe,
-+0x20,0x20,0x3c,0x48,0x90,0x7c,0x54,0x54,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x8,0xfc,0x88,0xf8,0x88,0x88,0xf8,0x4,0xfe,0x4,0x4,0xfc,0x4,0x4,0xfc,0x4,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x4,0xfe,0x4,0x24,0x24,0xfc,0x24,0x24,0x74,0x54,0x54,0x74,0x4,0x4,0xfc,0x4,
-+0x20,0x20,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x54,0x7c,0x0,0x1c,0xe1,0x46,0x0,0x44,0x8e,0x4,0x4,0xdc,0x4,0x4,0xfc,0x54,0x50,0x50,0x90,0x92,0x12,0xe,
-+0x20,0x20,0x3c,0x48,0x91,0x7e,0x54,0x55,0x7c,0x54,0x54,0x7c,0x1,0x1e,0xe2,0x40,0x20,0x20,0x50,0x88,0x46,0x24,0x20,0xf8,0x8,0x10,0x40,0xa0,0xa4,0x8a,0x8a,0x78,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe2,0x44,0x4,0xfe,0x24,0x24,0x74,0x24,0x24,0xfc,0x4,0x74,0x54,0x54,0x74,0x4,0x14,0x8,
-+0x20,0x23,0x3c,0x48,0x91,0x7c,0x55,0x55,0x7d,0x55,0x55,0x7c,0x0,0x1c,0xe1,0x40,0x4,0xfe,0x4,0x74,0xc4,0x44,0xf4,0x54,0x54,0x54,0xf4,0x44,0x54,0x76,0xca,0x0,
-+0x20,0x20,0x3c,0x49,0x92,0x7d,0x54,0x54,0x7d,0x55,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x0,0x92,0x92,0x24,0x48,0x24,0x92,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x4,
-+0x20,0x21,0x3c,0x48,0x93,0x7c,0x54,0x55,0x7d,0x55,0x55,0x7d,0x1,0x1c,0xe0,0x43,0x20,0xfc,0x20,0x88,0xfe,0x88,0x4,0xfe,0x4,0x24,0x24,0x24,0x24,0x58,0x86,0x2,
-+0x20,0x21,0x3d,0x4b,0x91,0x7d,0x55,0x55,0x7d,0x54,0x57,0x7c,0x0,0x1d,0xe2,0x40,0x48,0x48,0x48,0xfe,0x48,0x48,0x78,0x0,0xfc,0x20,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x54,0x55,0x7c,0x57,0x54,0x7c,0x0,0x1c,0xe0,0x40,0x4,0xde,0x54,0x54,0x54,0xdc,0x0,0xfc,0x0,0xfe,0x80,0xfc,0x4,0x4,0x28,0x10,
-+0x20,0x20,0x3b,0x48,0x90,0x7f,0x54,0x55,0x7d,0x55,0x56,0x7c,0x0,0x1c,0xe0,0x40,0x8,0x68,0x88,0x88,0x8a,0xea,0x9c,0x88,0xc8,0xa8,0x88,0x88,0x94,0x94,0xa2,0xc0,
-+0x20,0x20,0x3c,0x49,0x93,0x7d,0x55,0x55,0x7d,0x54,0x54,0x7d,0x2,0x1c,0xe0,0x43,0x80,0x84,0xfe,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x80,0xf8,0x88,0x50,0x20,0xd0,0xe,
-+0x20,0x20,0x3d,0x49,0x91,0x7d,0x55,0x54,0x7d,0x54,0x54,0x7d,0x0,0x1c,0xe3,0x40,0x20,0x44,0xfe,0x4,0xfc,0x4,0xfc,0x0,0xfc,0x20,0x28,0xfc,0x20,0x24,0xfe,0x0,
-+0x20,0x20,0x3d,0x49,0x91,0x7d,0x55,0x55,0x7d,0x55,0x57,0x7d,0x1,0x1d,0xe1,0x41,0x40,0x24,0xfe,0x4,0x4,0xfc,0x0,0x4,0xfe,0x54,0x54,0xfc,0x54,0x54,0x54,0xc,
-+0x20,0x21,0x3d,0x48,0x90,0x7c,0x55,0x56,0x7d,0x55,0x55,0x7d,0x0,0x1c,0xe3,0x40,0x0,0xfc,0x24,0x88,0x70,0x88,0x26,0x24,0xfe,0x24,0x24,0xfc,0x20,0x24,0xfc,0x2,
-+0x8,0x7f,0x8,0xfe,0x11,0x1e,0x22,0x4f,0x88,0x1f,0x31,0x5f,0x11,0x1f,0x0,0xff,0x40,0x44,0x7e,0xc8,0x48,0x30,0x48,0xc6,0x90,0xf8,0x10,0xf0,0x10,0xf0,0x4,0xfc,
-+0x20,0x20,0x3d,0x48,0x93,0x7c,0x54,0x55,0x7e,0x54,0x55,0x7d,0x1,0x1d,0xe1,0x41,0x40,0x48,0xf8,0x50,0xfe,0x40,0xf0,0x84,0xfc,0x0,0xf8,0x8,0xf8,0x8,0xf8,0x8,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x54,0x57,0x7c,0x56,0x55,0x7d,0x2,0x1c,0xe1,0x40,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x0,0xde,0x42,0x52,0xce,0x4a,0x52,0x42,0x4a,0x84,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x54,0x54,0x7c,0x55,0x54,0x7c,0x0,0x1d,0xe2,0x40,0x4,0xfe,0x54,0x54,0x54,0xfc,0x20,0xa8,0xa8,0x24,0x20,0xa8,0xa4,0x22,0x22,0x20,
-+0x20,0x20,0x3d,0x48,0x91,0x7c,0x54,0x54,0x7d,0x54,0x57,0x7c,0x1,0x1d,0xe1,0x41,0x8,0x1c,0xe0,0x4,0x24,0xa8,0x80,0xfc,0x20,0x24,0xfe,0x20,0x24,0x24,0xfc,0x4,
-+0x21,0x21,0x7f,0x91,0x21,0xf8,0xab,0xaa,0xfa,0xaa,0xab,0xf8,0x7,0x18,0xe0,0x40,0x48,0x48,0xf8,0x48,0xc8,0x9e,0xea,0xaa,0xaa,0xaa,0xea,0x8a,0xea,0x8a,0x92,0xa6,
-+0x20,0x23,0x3c,0x48,0x91,0x7d,0x55,0x55,0x7c,0x55,0x54,0x7f,0x0,0x1d,0xe2,0x40,0x4,0xfe,0x50,0x54,0xfe,0x54,0x54,0xfc,0x0,0xfc,0x0,0xfe,0xa8,0x26,0x22,0x60,
-+0x20,0x21,0x3c,0x4b,0x92,0x7d,0x54,0x55,0x7c,0x54,0x55,0x7c,0x0,0x1c,0xe1,0x40,0x8,0xfc,0x20,0xfe,0x22,0xac,0x20,0xac,0x20,0x4,0xfe,0x4,0xfc,0x4,0xfc,0x4,
-+0x20,0x20,0x3c,0x48,0x90,0x7c,0x55,0x55,0x7d,0x55,0x54,0x7c,0x0,0x1c,0xe0,0x43,0xfc,0x84,0xfc,0x84,0xfc,0x0,0xfe,0x4a,0x4a,0xfe,0x0,0xfc,0x48,0x30,0xc8,0x6,
-+0x20,0x3f,0x40,0xbf,0x29,0xff,0x25,0x3f,0x8,0x1f,0x31,0x5f,0x11,0x1f,0x0,0xff,0x40,0x44,0xfe,0x4,0x44,0xa8,0x10,0xe8,0x86,0xf0,0x10,0xf0,0x10,0xf0,0x4,0xfe,
-+0x20,0x23,0x7a,0x93,0x22,0xfb,0xaa,0xab,0xfa,0xab,0xab,0xfb,0x5,0x1d,0xe5,0x49,0x20,0xfe,0x20,0xfc,0x24,0xfe,0x24,0xfc,0x20,0xfc,0x24,0xfc,0x24,0xfc,0x24,0x2c,
-+0x20,0x23,0x7a,0x92,0x22,0xfa,0xab,0xaa,0xfb,0xab,0xab,0xfb,0x2,0x1c,0xe4,0x49,0x4,0xfe,0x8,0xa8,0xae,0x12,0xf4,0x44,0x54,0x54,0x54,0xf4,0x54,0x4a,0x8a,0x10,
-+0x21,0x20,0x3f,0x48,0x91,0x7c,0x57,0x55,0x7c,0x57,0x54,0x7d,0x1,0x1d,0xe1,0x41,0x4,0x88,0xfe,0x20,0xfc,0x20,0xfe,0x24,0xa8,0xfe,0x4,0xfe,0x4,0x4,0xfc,0x4,
-+0x21,0x20,0x3f,0x48,0x91,0x7d,0x55,0x55,0x7d,0x55,0x55,0x7c,0x3,0x1c,0xe0,0x40,0x4,0x88,0xfe,0x50,0xfc,0x54,0x54,0x8c,0x74,0x4,0xfc,0x8,0xfe,0x88,0x48,0x18,
-+0x20,0x21,0x3d,0x49,0x91,0x7d,0x54,0x57,0x7c,0x55,0x55,0x7d,0x0,0x1c,0xe3,0x40,0x50,0xfc,0x54,0xfc,0x54,0xfc,0x0,0xfe,0x0,0xfc,0x4,0xfc,0x88,0x50,0xfe,0x0,
-+0x28,0x28,0xfc,0x28,0x38,0x10,0x7c,0x54,0x54,0x7c,0x10,0xfe,0x10,0x10,0x13,0x10,0x4,0xfe,0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x84,0xfc,0x0,0x4,0xfe,0x0,
-+0x28,0x28,0xfe,0x29,0x39,0x11,0x7d,0x55,0x55,0x7f,0x10,0xfe,0x10,0x10,0x11,0x12,0x20,0x20,0x24,0xfe,0x24,0x24,0x24,0x24,0x24,0xfe,0x20,0x50,0x50,0x88,0x6,0x4,
-+0x28,0x28,0xfe,0x29,0x39,0x10,0x7f,0x55,0x55,0x7d,0x11,0xfd,0x11,0x12,0x14,0x10,0x10,0x10,0x10,0x10,0x7c,0x10,0x10,0x10,0x28,0x28,0x24,0x44,0x0,0x86,0x7c,0x0,
-+0x28,0x29,0xfe,0x28,0x3b,0x10,0x7c,0x55,0x56,0x7c,0x10,0xfe,0x10,0x10,0x11,0x12,0x1c,0xe0,0x20,0x24,0xfe,0x50,0x88,0x6,0x88,0x88,0x88,0x88,0x88,0x88,0x8,0x8,
-+0x28,0x28,0xfe,0x28,0x39,0x13,0x7d,0x55,0x55,0x7d,0x10,0xfe,0x10,0x10,0x11,0x12,0x40,0x40,0x78,0x90,0x24,0xfe,0x24,0x24,0x24,0xfc,0x50,0x50,0x90,0x92,0x12,0xe,
-+0x28,0x28,0xff,0x28,0x38,0x13,0x7c,0x54,0x55,0x7f,0x11,0xff,0x11,0x11,0x11,0x11,0x90,0x90,0xfc,0x90,0x44,0xfe,0x80,0xfc,0x8,0x10,0xfe,0x10,0x10,0x10,0x50,0x20,
-+0x28,0x28,0xfe,0x29,0x3a,0x13,0x7c,0x55,0x54,0x7d,0x10,0xff,0x11,0x11,0x11,0x10,0x80,0x84,0xfe,0x4,0x44,0xfc,0x4,0xf4,0x4,0xf4,0x4,0xf4,0x14,0x14,0xf4,0x8,
-+0x28,0x29,0xfe,0x28,0x3b,0x10,0x7c,0x55,0x56,0x7c,0x13,0xfc,0x10,0x11,0x12,0x10,0x0,0xfc,0x48,0x20,0xfe,0xa2,0xa4,0x20,0x60,0x24,0xfe,0x70,0xa8,0x26,0x24,0x20,
-+0x28,0x28,0xff,0x28,0x39,0x10,0x7f,0x54,0x55,0x7d,0x11,0xfd,0x13,0x11,0x11,0x11,0x88,0x88,0xfe,0x88,0xfc,0x88,0xfe,0x20,0xfc,0x24,0xfc,0x24,0xfe,0x4,0x14,0x8,
-+0x28,0x28,0xfd,0x28,0x3b,0x10,0x7d,0x57,0x55,0x7d,0x11,0xff,0x11,0x11,0x11,0x11,0x88,0x88,0xfc,0x88,0xfe,0x88,0x4,0xfe,0x24,0xfc,0x24,0xfc,0x24,0x24,0x34,0x28,
-+0x2,0x3f,0x22,0x3a,0x2a,0x7f,0x41,0xbe,0x22,0x3e,0x22,0x3e,0x22,0x22,0x2a,0x25,0x20,0x20,0x50,0x50,0x88,0x6,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x88,0x8,
-+0x2,0x3f,0x22,0x3a,0x2a,0x7f,0x41,0xbe,0x22,0x3e,0x22,0x3e,0x22,0x22,0x2a,0x25,0x8,0x7c,0x48,0x48,0x48,0x86,0x0,0xfc,0x44,0x48,0x28,0x10,0x30,0x48,0x8e,0x4,
-+0x2,0x3f,0x22,0x3a,0x2a,0x7f,0x41,0xbe,0x22,0x3e,0x22,0x3e,0x22,0x22,0x2a,0x24,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x24,0xfe,0x84,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x4,0x7e,0x44,0x74,0x54,0xfe,0x82,0x7c,0x44,0x7c,0x44,0x7c,0x45,0x44,0x54,0x48,0x20,0x48,0xfc,0x88,0xa8,0x88,0xa8,0x90,0x84,0xfe,0x4,0x24,0xf4,0x4,0x28,0x10,
-+0x4,0x7e,0x45,0x75,0x55,0xff,0x83,0x7d,0x45,0x7d,0x45,0x7d,0x45,0x45,0x55,0x49,0x8,0x1c,0xe0,0x20,0x20,0x20,0x24,0xfe,0x20,0x20,0x10,0x10,0x28,0x4a,0xa6,0x12,
-+0x4,0x7e,0x45,0x75,0x55,0xff,0x83,0x7d,0x45,0x7d,0x45,0x7d,0x45,0x45,0x56,0x48,0x8,0x1c,0xe0,0x0,0x4,0xfe,0x0,0x4,0x7e,0x44,0x44,0x44,0x44,0x44,0x7c,0x44,
-+0x4,0x7e,0x44,0x74,0x54,0xff,0x82,0x7c,0x44,0x7f,0x44,0x7c,0x44,0x44,0x54,0x48,0x40,0x40,0x7c,0x84,0x88,0x50,0x20,0x50,0x8e,0x4,0xf8,0x88,0x88,0x88,0xf8,0x88,
-+0x0,0x7d,0x45,0x75,0x55,0xff,0x83,0x7d,0x44,0x7f,0x44,0x7c,0x44,0x45,0x56,0x48,0x4,0xfe,0x24,0x24,0xfc,0x24,0x24,0xfc,0x20,0xfe,0x60,0x70,0xa8,0x26,0x24,0x20,
-+0x0,0x7c,0x45,0x75,0x55,0xff,0x83,0x7d,0x45,0x7c,0x45,0x7f,0x44,0x44,0x54,0x48,0x40,0x84,0xfe,0x24,0x24,0xfc,0x24,0x44,0xfc,0xa0,0x24,0xfe,0x20,0x20,0x20,0x20,
-+0x0,0x7d,0x44,0x74,0x55,0xfe,0x82,0x7d,0x44,0x7f,0x44,0x7c,0x44,0x44,0x54,0x49,0x20,0x24,0xa8,0x20,0xfe,0x20,0xa8,0x24,0x40,0xfe,0x48,0x88,0x70,0x50,0x8c,0x4,
-+0x4,0x7e,0x45,0x75,0x54,0xfe,0x83,0x7c,0x44,0x7d,0x44,0x7c,0x44,0x44,0x54,0x48,0x40,0x20,0xfe,0x42,0x7c,0x88,0x50,0x20,0x50,0x8e,0xf8,0x88,0x88,0x88,0xf8,0x88,
-+0x4,0x7e,0x45,0x75,0x54,0xff,0x82,0x7c,0x44,0x7c,0x44,0x7c,0x44,0x44,0x54,0x49,0x20,0x10,0xfe,0x2,0x48,0xfe,0x48,0xfc,0x94,0x94,0xa4,0xa4,0x50,0x52,0x92,0xe,
-+0x4,0x7e,0x45,0x75,0x54,0xfe,0x82,0x7c,0x44,0x7c,0x44,0x7f,0x44,0x44,0x55,0x4a,0x40,0x20,0xfe,0x2,0x1c,0xe0,0x84,0xfe,0x88,0x88,0x88,0xfe,0x0,0x88,0x6,0x2,
-+0x0,0x7d,0x45,0x75,0x55,0xfe,0x82,0x7d,0x47,0x7d,0x45,0x7d,0x44,0x47,0x54,0x48,0x4,0xfe,0x54,0x54,0xfc,0x84,0xfe,0x44,0xf4,0x54,0x54,0xf4,0x4c,0xfc,0x14,0x8,
-+0x10,0x24,0x7e,0x55,0x54,0x7c,0x55,0x54,0x7c,0x10,0x19,0x28,0x2a,0x48,0x87,0x0,0x20,0x20,0x28,0xfc,0x20,0x24,0xfe,0x20,0x70,0xac,0x24,0x20,0x22,0x2,0xfe,0x0,
-+0x10,0x24,0x7e,0x55,0x54,0x7c,0x54,0x54,0x7d,0x12,0x18,0x28,0x2a,0x48,0x87,0x0,0x50,0x48,0x40,0xfe,0x40,0x40,0xfc,0x84,0x28,0x10,0x2c,0xc4,0x2,0x2,0xfe,0x0,
-+0x3f,0x20,0x20,0x3f,0x21,0x26,0x39,0x27,0x24,0x27,0x24,0x27,0x41,0x42,0x84,0x18,0xfc,0xa0,0x94,0xfe,0x40,0x30,0xe,0xf8,0x88,0xf8,0x88,0xf8,0x40,0x52,0x42,0x3e,
-+0x10,0x25,0x7e,0x54,0x55,0x7d,0x55,0x55,0x7d,0x11,0x19,0x2d,0x29,0x48,0x87,0x0,0x8,0xfc,0x50,0x54,0xfe,0x54,0x54,0x54,0x54,0xac,0x4,0x4,0xc,0x2,0xfe,0x0,
-+0x10,0x25,0x7e,0x54,0x54,0x7c,0x54,0x54,0x7c,0x10,0x18,0x2a,0x28,0x48,0x87,0x0,0x20,0x24,0xa8,0x20,0xf8,0x88,0xf8,0x88,0xf8,0x88,0x88,0xa8,0x92,0x2,0xfe,0x0,
-+0x10,0x25,0x7f,0x55,0x55,0x7d,0x55,0x55,0x7d,0x11,0x19,0x2d,0x29,0x48,0x87,0x0,0x4,0xfe,0x4,0x54,0xfc,0x24,0xfc,0x44,0x44,0x74,0x4,0x14,0xa,0x2,0xfe,0x0,
-+0x10,0x24,0x7f,0x54,0x55,0x7d,0x55,0x54,0x7d,0x11,0x19,0x2d,0x29,0x48,0x87,0x0,0x40,0x24,0xfe,0x50,0x24,0x54,0xfc,0x20,0xfc,0x44,0x54,0x74,0xc,0x2,0xfe,0x0,
-+0x20,0x20,0x20,0x48,0x49,0xf2,0x27,0x4a,0xfb,0xa,0x13,0x12,0x22,0x42,0x83,0x2,0x40,0x40,0xa0,0xa0,0x90,0x48,0xff,0x8,0xf8,0x8,0xf8,0x88,0x50,0x20,0x1e,0x4,
-+0x3f,0x20,0x3f,0x21,0x26,0x38,0x21,0x26,0x2f,0x34,0x27,0x24,0x47,0x44,0x85,0x6,0xfc,0x90,0xfc,0x40,0x30,0x8e,0x44,0xb0,0xf8,0x16,0xf0,0x10,0xf4,0x48,0x30,0xc,
-+0x7f,0x10,0x1e,0x23,0x54,0x9,0x32,0x4,0x1f,0x28,0xcf,0x8,0xf,0x8,0xa,0xc,0x20,0x50,0x98,0x26,0x48,0x10,0xa4,0x48,0xf0,0x2e,0xe4,0x20,0xf0,0xa0,0x60,0x18,
-+0x7c,0x44,0x7d,0x1,0xff,0x21,0x7d,0x5,0x1a,0x5,0xf,0x39,0xcf,0xa,0x9,0xc,0x38,0x20,0xfc,0x24,0xf8,0x24,0x7c,0x50,0x9c,0x40,0xf0,0x2e,0xe4,0x20,0xc0,0x30,
-+0x1,0x7f,0x8,0x12,0x7d,0xa,0x7c,0x9,0x32,0x45,0xf,0x39,0xcf,0xa,0x9,0xc,0x4,0xfe,0x90,0xfc,0x90,0xfc,0x90,0x9e,0x80,0x40,0xf0,0x2e,0xe4,0x20,0xc0,0x30,
-+0x2,0x3f,0x20,0x24,0x3e,0x20,0x24,0x3e,0x20,0x22,0xff,0x10,0x10,0x20,0x7f,0x1,0x4,0x4,0x8,0x8,0x10,0x24,0x44,0x88,0x10,0x22,0x42,0x4,0x8,0x10,0x20,0x40,
-+0x1,0x3f,0x20,0x3f,0x20,0x3f,0x20,0xff,0x12,0x3f,0x0,0xff,0x4,0x4,0x18,0x60,0x4,0x88,0x10,0x24,0x48,0x10,0x24,0x88,0x10,0x60,0x4,0xfe,0x40,0x42,0x42,0x3e,
-+0x12,0x14,0x18,0x12,0xff,0x10,0x22,0x7f,0x0,0x1f,0x1,0xf,0x1,0x7f,0x1,0x0,0x8,0x10,0x64,0x8,0x72,0x4,0x18,0x60,0x18,0xe0,0x0,0xf0,0x0,0xfa,0x2,0xfe,
-+0x12,0x14,0x18,0x12,0xff,0x10,0x22,0x7f,0x1,0x1f,0x11,0x1f,0x11,0xff,0x10,0x10,0x8,0x10,0x64,0x8,0x72,0x4,0x18,0x60,0x10,0xf8,0x10,0xf0,0x14,0xfe,0x10,0x30,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x0,0x3f,0x4,0x18,0x60,0x1f,0x10,0x10,0x1f,0x10,0x18,0xe0,0x18,0xe4,0x8,0xf0,0x0,0xf8,0x8,0x48,0x30,0xf0,0x10,0x10,0xf0,0x10,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x1,0xff,0x1,0x1,0x3f,0x0,0x1f,0x10,0x10,0x1f,0x18,0xe0,0x18,0xe4,0x8,0xf0,0x4,0xfe,0x0,0x10,0xf8,0x0,0xf0,0x10,0x10,0xf0,
-+0x12,0x14,0x18,0x12,0xff,0x10,0x22,0x7f,0x4,0x24,0x27,0x24,0x24,0x2f,0xf0,0x40,0x8,0x10,0x64,0x8,0x72,0x4,0x18,0x60,0x40,0x44,0x48,0x70,0x40,0x42,0x3e,0x0,
-+0x12,0x14,0x18,0x12,0xff,0x10,0x22,0x7f,0x4,0x8,0x17,0x30,0xd1,0x12,0x14,0x10,0x8,0x10,0x64,0x8,0x72,0x4,0x18,0x60,0x40,0x44,0xfe,0xe0,0x50,0x4e,0x44,0x40,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x11,0x9,0x3f,0x2,0x7f,0x8,0x3f,0xc8,0x8,0x7,0x8,0xf0,0x8,0xf0,0x4,0xf8,0x10,0x20,0xf8,0x0,0xfc,0x20,0xd8,0x46,0xd0,0xf0,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x0,0x6,0x78,0x8,0xff,0x18,0x2c,0xca,0x8,0x9,0x18,0xe0,0x18,0xe4,0x8,0xf0,0x20,0x24,0xac,0xb0,0x20,0x50,0x50,0x88,0x86,0x4,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x1,0x7f,0x40,0x8f,0x8,0xf,0x8,0xff,0x8,0x30,0x18,0xe0,0x18,0xe4,0x8,0xf0,0x0,0xfe,0x62,0x84,0x20,0xf0,0x44,0xfe,0x20,0x18,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x0,0x1f,0x12,0xff,0x8,0xf,0x5,0x18,0x6c,0x8,0x18,0xe0,0x18,0xe4,0x8,0xf0,0x0,0xf0,0x94,0xfe,0x20,0xf0,0x20,0xc0,0x3c,0x8,
-+0x12,0x14,0x18,0xfe,0x24,0x7e,0x9,0x1f,0x14,0x13,0x14,0x1f,0x22,0x3b,0x22,0x3b,0x18,0xe0,0x18,0xe4,0x8,0xf0,0x20,0xf0,0x50,0x90,0x50,0xf0,0x20,0xa2,0x22,0x9e,
-+0x1,0x0,0x3f,0x22,0x3f,0x22,0x27,0x2a,0x32,0x21,0x22,0x24,0x49,0x42,0x87,0x0,0x0,0x84,0xfe,0x10,0xfc,0x10,0x38,0xd6,0x10,0x0,0x40,0x80,0x10,0x8,0xfc,0x4,
-+0x1,0x0,0x3f,0x22,0x3f,0x26,0x2b,0x32,0x3f,0x20,0x2f,0x20,0x5f,0x40,0x80,0x0,0x0,0x84,0xfe,0x10,0xfc,0x38,0x56,0x90,0xf0,0x80,0xf8,0x80,0xf8,0x82,0x82,0xfe,
-+0x1,0x0,0x3f,0x22,0x3f,0x22,0x27,0x2a,0x32,0x27,0x21,0x22,0x4f,0x42,0x84,0x9,0x0,0x84,0xfe,0x10,0xfc,0x10,0x38,0x56,0x90,0x20,0xc0,0x10,0xf8,0xa0,0x98,0x88,
-+0x1,0x3f,0x24,0x3f,0x24,0x3f,0x28,0x2f,0x28,0x2f,0x20,0x27,0x44,0x44,0x84,0x18,0x0,0xfc,0x40,0xf8,0x48,0xf8,0x40,0x78,0x44,0x3c,0x20,0xf8,0x20,0x22,0x22,0x1e,
-+0x1,0x3f,0x24,0x3f,0x24,0x3f,0x2a,0x2c,0x2f,0x20,0x27,0x20,0x5f,0x42,0x9c,0x0,0x0,0xfe,0x40,0xf8,0x48,0xf8,0x50,0x64,0x7c,0x30,0xc0,0x88,0xfc,0xa0,0x9c,0x80,
-+0x1,0x3f,0x24,0x3f,0x24,0x3f,0x28,0x2f,0x28,0x2f,0x20,0x3f,0x40,0x4f,0x80,0x3f,0x0,0xfc,0x40,0xf8,0x48,0xf8,0x40,0x78,0x44,0x3c,0x88,0xfc,0x80,0xf8,0x80,0xfe,
-+0x1,0x3f,0x24,0x3f,0x24,0x3f,0x28,0x2f,0x28,0x2f,0x24,0x22,0x5f,0x42,0x9c,0x0,0x0,0xfc,0x40,0xf8,0x48,0xf8,0x40,0x78,0x44,0x3c,0x90,0xa0,0xfc,0xa0,0x9c,0x80,
-+0x10,0xa,0x7f,0x54,0x54,0x7f,0x55,0x55,0x7f,0x44,0x55,0x5e,0x54,0x5f,0x94,0x1,0x48,0x48,0xfc,0x48,0x48,0x78,0x48,0x48,0x78,0x48,0x48,0xfe,0x0,0x48,0x86,0x2,
-+0x1,0x3f,0x24,0x3f,0x24,0x3f,0x2a,0x2c,0x2e,0x21,0x27,0x38,0x4f,0x44,0x82,0x1f,0x0,0xfc,0x40,0xf8,0x48,0xf8,0x50,0x64,0xbc,0x40,0xf0,0x8e,0xf8,0x90,0xa0,0xfc,
-+0x1,0x3f,0x24,0x3f,0x24,0x3f,0x2a,0x2c,0x2f,0x24,0x2f,0x3c,0x4a,0x4f,0x84,0x39,0x0,0xfc,0x40,0xf8,0x48,0xf8,0x50,0x64,0x3c,0x8,0x88,0xfe,0x88,0xa8,0x88,0x98,
-+0x10,0xa,0x7f,0x54,0x54,0x7f,0x55,0x55,0x7f,0x44,0x55,0x5e,0x54,0x5f,0x94,0x1,0x10,0x54,0x10,0xfe,0x10,0x54,0x10,0x48,0x48,0xfe,0x28,0xa8,0x5e,0x48,0x88,0x8,
-+0x8,0x10,0x30,0x5f,0x90,0x10,0x1f,0x19,0x15,0x1f,0x1,0x3f,0x1,0xff,0x24,0x42,0xa0,0x90,0xfc,0x40,0x32,0xe,0xf0,0x30,0x50,0xf0,0x0,0xf8,0x0,0xfe,0x88,0x44,
-+0x4,0x7e,0x55,0x55,0x7d,0x55,0x55,0x7c,0x10,0x7d,0x11,0xff,0x1,0xab,0xab,0x0,0x20,0x20,0x24,0x24,0x24,0x24,0xfc,0x20,0x20,0x24,0x24,0x24,0x24,0x24,0xfc,0x4,
-+0x4,0x7e,0x54,0x54,0x7d,0x55,0x57,0x7c,0x10,0x7c,0x11,0xff,0x1,0xaa,0xaa,0x0,0x10,0x90,0x90,0x94,0x3e,0x54,0xd4,0x94,0x94,0x94,0x14,0x54,0xd4,0x24,0x24,0x4c,
-+0x4,0x7e,0x54,0x57,0x7c,0x54,0x55,0x7c,0x10,0x7c,0x10,0xfe,0x0,0xaa,0xaa,0x0,0x20,0x20,0x24,0xfe,0x20,0x28,0xfc,0x0,0x8,0xfc,0x88,0x88,0x88,0x88,0xf8,0x88,
-+0x4,0x7e,0x54,0x54,0x7d,0x54,0x54,0x7d,0x10,0x7c,0x10,0xff,0x0,0xaa,0xaa,0x1,0x20,0x20,0x7c,0x84,0x48,0x30,0x60,0x90,0x3e,0x42,0xc4,0x28,0x10,0x20,0x40,0x80,
-+0x4,0x7e,0x54,0x54,0x7d,0x54,0x55,0x7e,0x10,0x7c,0x11,0xfe,0x0,0xaa,0xaa,0x1,0x20,0x20,0x40,0x88,0xfc,0x88,0x6,0x82,0xf8,0x88,0x88,0x50,0x20,0x50,0x8e,0x4,
-+0x4,0x7e,0x55,0x54,0x7c,0x57,0x54,0x7c,0x11,0x7c,0x13,0xfc,0x0,0xaa,0xaa,0x1,0x20,0x28,0xfc,0x20,0x20,0xfe,0x92,0x54,0x10,0x94,0xfe,0x20,0x20,0x58,0x86,0x2,
-+0x3e,0x8,0xfe,0x1c,0x2a,0x48,0x1f,0x19,0x15,0x1f,0x1,0x3f,0x1,0xff,0x24,0x44,0x44,0x7e,0xa4,0x24,0x54,0x88,0xf0,0x30,0x50,0xf0,0x0,0xf8,0x0,0xfe,0x48,0x44,
-+0x4,0x7e,0x54,0x57,0x7c,0x54,0x54,0x7c,0x10,0x7c,0x10,0xfe,0x1,0xaa,0xaa,0x0,0x40,0x20,0x4,0xfe,0x0,0xf8,0x88,0x88,0x88,0xf8,0x20,0xa8,0x26,0x22,0xa0,0x40,
-+0x4,0x7e,0x54,0x55,0x7c,0x54,0x57,0x7c,0x10,0x7d,0x10,0xfe,0x0,0xaa,0xaa,0x1,0x20,0x40,0x88,0xfc,0x20,0x24,0xfe,0x50,0x98,0x26,0xc8,0x30,0xc4,0x18,0x60,0x80,
-+0x4,0x7e,0x55,0x54,0x7c,0x54,0x57,0x7c,0x10,0x7c,0x10,0xfe,0x0,0xaa,0xaa,0x0,0x40,0x28,0xfc,0x0,0x88,0x50,0xfe,0x8,0xfc,0x88,0x88,0xf8,0x88,0x88,0xf8,0x88,
-+0x12,0x6f,0x42,0x6e,0x42,0x7e,0x1,0x54,0x7c,0x54,0x7c,0x54,0x54,0x7d,0x52,0x1,0x10,0x50,0x50,0x50,0x88,0x88,0x6,0xf8,0x48,0x48,0x48,0x48,0x48,0x88,0xa8,0x10,
-+0x12,0x6f,0x42,0x6e,0x42,0x7e,0x0,0x54,0x7c,0x54,0x7c,0x54,0x54,0x7d,0x52,0x0,0x10,0x10,0x10,0x10,0xfe,0x92,0x92,0x92,0x92,0xfe,0x92,0x92,0x92,0x92,0xfe,0x82,
-+0x12,0x6f,0x42,0x6e,0x42,0x7e,0x0,0x55,0x7c,0x54,0x7c,0x54,0x54,0x7d,0x52,0x0,0x8,0xfc,0x40,0x48,0xfc,0x48,0x48,0xfe,0x0,0xfc,0x84,0x84,0x84,0x84,0xfc,0x84,
-+0x12,0x6f,0x42,0x6e,0x42,0x7e,0x0,0x55,0x7d,0x56,0x7f,0x54,0x54,0x7e,0x52,0x1,0x4,0xfe,0x84,0xfc,0x84,0xfc,0x20,0xfe,0x22,0x24,0xfe,0x48,0x88,0x70,0x58,0x84,
-+0x12,0x6f,0x42,0x6e,0x42,0x7e,0x1,0x54,0x7c,0x55,0x7c,0x57,0x54,0x7d,0x52,0x1,0x1c,0xe0,0xa4,0xa8,0x50,0x84,0xf8,0x20,0x48,0xfc,0x20,0xfe,0x20,0x50,0x4e,0x84,
-+0x10,0x3e,0x32,0x2a,0x3e,0x0,0x7f,0x49,0x7f,0x49,0x7f,0x0,0xff,0x22,0x22,0x43,0x40,0x40,0x40,0x48,0xfc,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x4a,0x8a,0x86,0x0,
-+0x10,0x3e,0x32,0x2a,0x3e,0x0,0x7f,0x49,0x7f,0x49,0x7f,0x0,0xff,0x22,0x22,0x42,0x0,0x8,0xfc,0x10,0x10,0x10,0x14,0xfe,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-+0x10,0x3e,0x32,0x2a,0x3e,0x0,0x7f,0x49,0x7f,0x49,0x7f,0x0,0xff,0x22,0x22,0x42,0x10,0x14,0xfe,0x10,0x38,0x56,0x90,0x7c,0x44,0x7c,0x44,0x7c,0x44,0x0,0xfe,0x0};
-diff -Nur linux_c860_org/drivers/video/font_jis16.h linux/drivers/video/font_jis16.h
---- linux_c860_org/drivers/video/font_jis16.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/font_jis16.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,30231 @@
-+#define max_jis16 241824
-+unsigned char font_jis16[max_jis16] = {
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x40, 0x30, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x30, 0x48, 0x48, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x60, 0x60, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07,
-+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x04, 0x08, 0x0c, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0xc0, 0x60, 0x60, 0x60, 0xc0, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01,
-+ 0x01, 0x01, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-+ 0x10, 0x48, 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,
-+ 0x30, 0x48, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
-+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x90, 0x40, 0x00, 0x80, 0x40,
-+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00,
-+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00,
-+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x90, 0x40, 0x00, 0x80, 0xc0,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x08,
-+ 0x08, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x60, 0x0f,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x0c, 0xe0,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x03, 0x04,
-+ 0x04, 0x08, 0x12, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x20,
-+ 0x20, 0x40, 0x80, 0x80, 0x40, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x09,
-+ 0x12, 0x14, 0x18, 0x10, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x20, 0x40, 0x80, 0x00,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x18, 0x20, 0x20, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x20, 0x20, 0x18, 0x07, 0x00, 0x00,
-+ 0x00, 0xc0, 0x30, 0x08, 0x08, 0x04, 0x04, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x30, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x3f,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
-+ 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x22, 0x41,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10,
-+ 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x18, 0x20, 0x30, 0x38, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x70, 0x30, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x98, 0x20, 0x30, 0xb8, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x22, 0x77, 0x33, 0x11, 0x66, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0x20, 0x60, 0x40, 0xc0, 0xc0, 0xc0,
-+ 0xc0, 0x40, 0x60, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x18, 0x08, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x08, 0x18, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0xf8, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
-+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0x00, 0x00,
-+ 0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x18, 0x20, 0x60, 0x60, 0x60, 0x40, 0x80, 0x40,
-+ 0x60, 0x60, 0x60, 0x60, 0x20, 0x18, 0x00, 0x00,
-+ 0x60, 0x10, 0x18, 0x18, 0x18, 0x08, 0x06, 0x08,
-+ 0x18, 0x18, 0x18, 0x18, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02,
-+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01,
-+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
-+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0x90, 0x20, 0x20, 0x40, 0x40,
-+ 0x20, 0x20, 0x90, 0x90, 0x48, 0x48, 0x00, 0x00,
-+ 0x48, 0x48, 0x24, 0x24, 0x12, 0x12, 0x09, 0x09,
-+ 0x12, 0x12, 0x24, 0x24, 0x48, 0x48, 0x00, 0x00,
-+ 0x00, 0x00, 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, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
-+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x7e, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
-+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x07, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
-+ 0x05, 0x05, 0x05, 0x7d, 0x41, 0x7f, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0,
-+ 0xc0, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0x00, 0x00,
-+ 0x7c, 0x3c, 0x1c, 0x1c, 0x0c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x1c, 0x1c, 0x3c, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01,
-+ 0x01, 0x01, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02,
-+ 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x80,
-+ 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x3f, 0x00,
-+ 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01, 0x01, 0x01,
-+ 0x3f, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x80, 0xf8, 0x00, 0x00, 0x00,
-+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x04, 0x18, 0x20, 0x18,
-+ 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x60, 0x10, 0x00, 0x00, 0x00,
-+ 0x20, 0x18, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x04, 0x18, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x10, 0x60,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0c, 0x30, 0x0c, 0x03, 0x00,
-+ 0x00, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
-+ 0x30, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x03, 0x0c,
-+ 0x30, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x30, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1c, 0x36, 0x23, 0x23,
-+ 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0xd8, 0x88, 0x88,
-+ 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x22,
-+ 0x41, 0x41, 0x41, 0x22, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x18, 0x28, 0x48, 0x88, 0x08, 0x08,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x04, 0x03,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x18, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x18, 0x18, 0x30, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1b, 0x1b, 0x36, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x30, 0x48, 0x49, 0x33, 0x06, 0x06, 0x06,
-+ 0x06, 0x06, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xe8, 0x18, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x18, 0x0c, 0x3f, 0x06, 0x03,
-+ 0x3f, 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x10, 0x20, 0x40, 0xf0, 0x80, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x07, 0x09, 0x11, 0x19, 0x0f, 0x03,
-+ 0x01, 0x19, 0x19, 0x09, 0x07, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x20, 0x30, 0x30, 0x00, 0xc0,
-+ 0x60, 0x30, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x05, 0x09, 0x19, 0x19,
-+ 0x1a, 0x0a, 0x06, 0x07, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x80, 0x40, 0x60, 0x60, 0x00,
-+ 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x02, 0x02, 0x06, 0x06, 0x3f,
-+ 0x06, 0x36, 0x4c, 0x4f, 0x39, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x20, 0x30, 0x20, 0x00, 0x00, 0xe0,
-+ 0x00, 0x00, 0x08, 0xf0, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x18, 0x24, 0x66, 0x66, 0x24, 0x19, 0x02,
-+ 0x04, 0x09, 0x11, 0x20, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x60,
-+ 0x90, 0x98, 0x98, 0x90, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x02, 0x02, 0x1f, 0x04, 0x04, 0x04,
-+ 0x04, 0x3f, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x20, 0xf8, 0x40, 0x40, 0x40,
-+ 0x40, 0xf0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x07, 0x08, 0x18, 0x19, 0x0e, 0x0c, 0x16,
-+ 0x33, 0x31, 0x30, 0x19, 0x0e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x78, 0x30,
-+ 0x20, 0xc0, 0xc0, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x03, 0x19, 0x1d, 0x03, 0x03,
-+ 0x1d, 0x19, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x30, 0x70, 0x80, 0x80,
-+ 0x70, 0x30, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x10, 0x23, 0x24, 0x44, 0x48,
-+ 0x49, 0x27, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x10, 0xc8, 0xc8, 0xc8, 0x88,
-+ 0x90, 0x60, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00,
-+ 0x03, 0x04, 0x04, 0x06, 0x03, 0x03, 0x04, 0x06,
-+ 0x03, 0x01, 0x00, 0x04, 0x04, 0x03, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0x00, 0x00, 0x80, 0xc0, 0x40,
-+ 0x80, 0x80, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x02, 0x02, 0x7c, 0x30, 0x0c,
-+ 0x04, 0x09, 0x0a, 0x1c, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x7c, 0x18, 0x60,
-+ 0x40, 0x20, 0xa0, 0x70, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x7f, 0x3f, 0x0f,
-+ 0x07, 0x0f, 0x0e, 0x1c, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xfc, 0xf8, 0xe0,
-+ 0xc0, 0xe0, 0xe0, 0x70, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0c, 0x10, 0x10, 0x20, 0x20,
-+ 0x20, 0x10, 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x60, 0x10, 0x10, 0x08, 0x08,
-+ 0x08, 0x10, 0x10, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f,
-+ 0x3f, 0x1f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8,
-+ 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0c, 0x13, 0x14, 0x28, 0x28,
-+ 0x28, 0x14, 0x13, 0x0c, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x60, 0x90, 0x50, 0x28, 0x28,
-+ 0x28, 0x50, 0x90, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,
-+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
-+ 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f,
-+ 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc,
-+ 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
-+ 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
-+ 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08,
-+ 0x08, 0x10, 0x10, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x20,
-+ 0x20, 0x10, 0x10, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f,
-+ 0x0f, 0x1f, 0x1f, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0,
-+ 0xe0, 0xf0, 0xf0, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04,
-+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07,
-+ 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x21, 0x13, 0x09, 0x04, 0x12, 0x39,
-+ 0x12, 0x04, 0x09, 0x13, 0x21, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x90, 0x20, 0x40, 0x90, 0x38,
-+ 0x90, 0x40, 0x20, 0x90, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x3f, 0x00, 0x00, 0x7f, 0x7f, 0x03,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0xf0, 0x00, 0x00, 0xf8, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x7f, 0x00,
-+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0xf8, 0x60,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x02, 0x04, 0x18, 0x7f, 0x18,
-+ 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x05, 0x09, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09,
-+ 0x05, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00,
-+ 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00,
-+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0c, 0x10, 0x20, 0x3f, 0x20,
-+ 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00,
-+ 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0xf0, 0x10,
-+ 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x10, 0x20, 0x20, 0x20, 0x10,
-+ 0x0f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0xf0, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x10, 0x20,
-+ 0xc0, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0c, 0x10, 0x20, 0x20, 0x20,
-+ 0x20, 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x10,
-+ 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 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, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04,
-+ 0x08, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40,
-+ 0x20, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04,
-+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x7f,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x08, 0xf0,
-+ 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x08, 0x10, 0x3f, 0x40, 0x3f,
-+ 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x08, 0xf0,
-+ 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x10, 0x1f, 0x08, 0x08, 0x04,
-+ 0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0x10, 0xf0, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0xe0, 0x20,
-+ 0x20, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
-+ 0x04, 0x08, 0x10, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x00, 0x00, 0x03, 0x06, 0x04,
-+ 0x0c, 0x0c, 0x0c, 0x05, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x60, 0x20, 0x20, 0xa0, 0x60, 0x60,
-+ 0x60, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x1f, 0x18, 0x08, 0x0c, 0x04,
-+ 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xf0, 0x10, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x1c, 0x08, 0x3f, 0x00, 0x00,
-+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
-+ 0xf0, 0x40, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x04, 0x08, 0x11, 0x22, 0x11,
-+ 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x80, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x22, 0x11, 0x08, 0x04, 0x02, 0x01, 0x02,
-+ 0x04, 0x08, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x20,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
-+ 0x22, 0x74, 0x1c, 0x0c, 0x04, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x10, 0x21, 0x21,
-+ 0x12, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x90, 0x08, 0x08,
-+ 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x10,
-+ 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x80, 0x80,
-+ 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x02, 0x03, 0x03, 0x01, 0x01,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00,
-+ 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-+ 0xc0, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x06, 0x0e, 0x11, 0x11, 0x19, 0x19, 0x0c, 0x0c,
-+ 0x06, 0x06, 0x02, 0x02, 0x1d, 0x19, 0x00, 0x00,
-+ 0x60, 0xe0, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0,
-+ 0x60, 0x60, 0x20, 0x20, 0xc0, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x04, 0x04, 0x03, 0x01, 0x03, 0x03, 0x04,
-+ 0x04, 0x08, 0x0f, 0x10, 0x38, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0xc0,
-+ 0xc0, 0x60, 0xe0, 0x30, 0x78, 0x00, 0x00, 0x00,
-+ 0x00, 0x18, 0x24, 0x66, 0x66, 0x25, 0x1a, 0x03,
-+ 0x06, 0x0e, 0x16, 0x12, 0x21, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x10,
-+ 0xa8, 0xec, 0xec, 0xa8, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x04, 0x07, 0x1f, 0x1c, 0x04, 0x04,
-+ 0x07, 0x1f, 0x1c, 0x04, 0x04, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0xe0, 0xe0, 0x80, 0x80, 0x80, 0xe0,
-+ 0xe0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x06,
-+ 0x04, 0x04, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60,
-+ 0x60, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x07, 0x0f, 0x0f, 0x06, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xc0, 0x60, 0x20, 0x30, 0x10, 0x10,
-+ 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x03, 0x01, 0x09, 0x1f, 0x09, 0x03, 0x03,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0x00, 0x20, 0xf0, 0x20, 0x80, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x03, 0x09, 0x1f, 0x09, 0x03, 0x01, 0x01,
-+ 0x03, 0x09, 0x1f, 0x09, 0x03, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0x20, 0xf0, 0x20, 0x80, 0x00, 0x00,
-+ 0x80, 0x20, 0xf0, 0x20, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x18, 0x20, 0x20, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x20, 0x20, 0x18, 0x07, 0x00, 0x00,
-+ 0x00, 0xc0, 0x30, 0x08, 0x08, 0x04, 0x04, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x30, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x0f, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x08, 0x18, 0x1c, 0x08, 0x00, 0x01,
-+ 0x02, 0x04, 0x0f, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xc0, 0x60, 0x60, 0xc0, 0x80, 0x00,
-+ 0x00, 0x20, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x08, 0x18, 0x18, 0x00, 0x03, 0x00,
-+ 0x18, 0x18, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xc0, 0x60, 0x60, 0xc0, 0x80, 0x40,
-+ 0x60, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x08, 0x18,
-+ 0x1f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
-+ 0xf0, 0xc0, 0xc0, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x0f, 0x08, 0x08, 0x0f, 0x00, 0x00,
-+ 0x00, 0x18, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0x00, 0x00, 0x80, 0xc0, 0x60,
-+ 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x04, 0x0c, 0x08, 0x1b, 0x1c, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x0f, 0x10, 0x00, 0x00, 0x01, 0x01,
-+ 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0xe0, 0x40, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x08, 0x18, 0x1c, 0x0e, 0x07, 0x0d,
-+ 0x18, 0x18, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x60, 0x60, 0xc0, 0x80, 0xc0,
-+ 0xe0, 0x60, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x18, 0x18, 0x0c, 0x07,
-+ 0x00, 0x18, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x60, 0x60, 0x60, 0xe0, 0x60,
-+ 0x60, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x04, 0x04, 0x08,
-+ 0x0f, 0x10, 0x10, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x60,
-+ 0xe0, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0xc0, 0x30,
-+ 0x18, 0x18, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xd0, 0x30, 0x10, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x00, 0x40, 0xc0, 0x40,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x00, 0x40, 0xc0, 0x40,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xd0, 0x30, 0x10, 0x00, 0x00, 0xf8, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x30, 0x30, 0x30, 0xf0, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
-+ 0x38, 0x30, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
-+ 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x19, 0x1a, 0x1c,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x20, 0x40, 0x80, 0x80, 0xc0, 0xc0,
-+ 0x60, 0x60, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x18, 0x1c, 0x1c, 0x16, 0x16, 0x17,
-+ 0x13, 0x12, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x30, 0x70, 0x70, 0xb0, 0xb0, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x18, 0x1c, 0x16, 0x16, 0x13, 0x11,
-+ 0x11, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0xa0,
-+ 0xa0, 0xe0, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x33, 0x1c, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0xb0, 0x60, 0xe0, 0x18, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0x80, 0xc0,
-+ 0x60, 0x60, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x08, 0x18, 0x1c, 0x0f, 0x03, 0x00,
-+ 0x10, 0x18, 0x1c, 0x13, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xa0, 0x60, 0x20, 0x00, 0x00, 0xc0, 0xe0,
-+ 0x30, 0x30, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x23, 0x43, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06,
-+ 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3b, 0x19, 0x19, 0x19, 0x0d, 0x0e, 0x0e,
-+ 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xb8, 0x90, 0x90, 0x90, 0xd0, 0xe0, 0xe0,
-+ 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x0c, 0x06, 0x03, 0x03, 0x03,
-+ 0x04, 0x08, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x20, 0x40, 0x80, 0x00, 0x00, 0x80,
-+ 0xc0, 0x60, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x0c, 0x06, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x20, 0x01, 0x01, 0x03, 0x06,
-+ 0x06, 0x0c, 0x18, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x60, 0xc0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x0c, 0x03,
-+ 0x0c, 0x18, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0xe0,
-+ 0x60, 0x60, 0xe0, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1c, 0x0c, 0x0c, 0x0d, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0e, 0x1d, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x20, 0x00,
-+ 0x00, 0x20, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x60, 0x60, 0x60, 0xe0, 0x60, 0x60,
-+ 0x60, 0x60, 0xe0, 0x70, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x18, 0x1f,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x30, 0xf0,
-+ 0x00, 0x10, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x06, 0x06, 0x1f, 0x06, 0x06,
-+ 0x06, 0x06, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x60, 0x60, 0x00, 0xe0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x08, 0x08,
-+ 0x07, 0x0c, 0x0f, 0x18, 0x08, 0x07, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xc0, 0x80,
-+ 0x00, 0x00, 0xc0, 0xe0, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x1c, 0x0c, 0x0c, 0x0d, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x01, 0x00, 0x0f, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x01, 0x00, 0x0f, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x19, 0x19, 0x0e, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0e,
-+ 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x70, 0x40, 0x80, 0xc0, 0xc0,
-+ 0x60, 0x60, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x76, 0x3b, 0x33, 0x33,
-+ 0x33, 0x33, 0x33, 0x7b, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0xb8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1d, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1d, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0e, 0x0d, 0x0c, 0x1e, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0xe0, 0x60, 0x60,
-+ 0x60, 0x60, 0xe0, 0x60, 0x60, 0xf0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1d, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x60, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x1c, 0x0f,
-+ 0x03, 0x10, 0x18, 0x17, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x00, 0x00,
-+ 0xc0, 0xe0, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x02, 0x06, 0x06, 0x1f, 0x06, 0x06,
-+ 0x06, 0x06, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x70, 0x98, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3e, 0x18, 0x0c, 0x0c,
-+ 0x06, 0x06, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x20, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3d, 0x19, 0x19, 0x0e,
-+ 0x0e, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xb8, 0x90, 0x90, 0xd0,
-+ 0xe0, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x06, 0x03,
-+ 0x03, 0x04, 0x08, 0x1c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x20, 0x40, 0x80,
-+ 0x80, 0xc0, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x06, 0x06,
-+ 0x03, 0x03, 0x01, 0x19, 0x19, 0x0e, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x10, 0x01, 0x03,
-+ 0x06, 0x0c, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0x80, 0x00,
-+ 0x00, 0x00, 0x20, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 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, 0x02, 0x13, 0x0e, 0x04,
-+ 0x07, 0x0d, 0x16, 0x26, 0x2a, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80,
-+ 0xe0, 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00,
-+ 0x04, 0x02, 0x02, 0x1f, 0x04, 0x04, 0x07, 0x0d,
-+ 0x15, 0x22, 0x26, 0x2a, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x00, 0x80, 0x80, 0xe0, 0x10,
-+ 0x08, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,
-+ 0x10, 0x10, 0x0a, 0x0c, 0x04, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20,
-+ 0x10, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x40, 0x20, 0x20, 0x20, 0x22,
-+ 0x24, 0x14, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x08, 0x08,
-+ 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x13,
-+ 0x0c, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80,
-+ 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x02, 0x01, 0x00, 0x00, 0x03, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x01,
-+ 0x0e, 0x01, 0x02, 0x07, 0x09, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
-+ 0x04, 0x03, 0x00, 0x00, 0x11, 0x0e, 0x01, 0x02,
-+ 0x04, 0x0e, 0x11, 0x21, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x0c, 0x38,
-+ 0x0b, 0x0c, 0x18, 0x28, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x20, 0x00,
-+ 0xc0, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x05, 0x06, 0x1c, 0x04, 0x05,
-+ 0x06, 0x0c, 0x34, 0x0c, 0x04, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x30, 0x08, 0x0c, 0x00, 0x60, 0x90,
-+ 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x47, 0x3c, 0x08, 0x08,
-+ 0x08, 0x10, 0x11, 0x25, 0x22, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x60, 0x10, 0x88, 0x98, 0x80,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x47, 0x3c, 0x08, 0x08,
-+ 0x08, 0x10, 0x11, 0x25, 0x22, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x10, 0x40, 0x20, 0x90, 0x88, 0x98,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x01, 0x01, 0x0f, 0x00, 0x00, 0x1f, 0x00,
-+ 0x00, 0x07, 0x08, 0x08, 0x06, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x60, 0x80, 0x80, 0xf0, 0x40, 0x20,
-+ 0x20, 0xf0, 0x10, 0x00, 0x00, 0xc0, 0x00, 0x00,
-+ 0x04, 0x02, 0x02, 0x1f, 0x01, 0x01, 0x3e, 0x00,
-+ 0x00, 0x0f, 0x10, 0x10, 0x0c, 0x03, 0x00, 0x00,
-+ 0x08, 0x24, 0xd0, 0x00, 0x00, 0xe0, 0x80, 0x40,
-+ 0x40, 0xe0, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x08, 0x08,
-+ 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x08, 0x08,
-+ 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0x88, 0x24, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x10, 0x10, 0x23, 0x20, 0x20,
-+ 0x20, 0x20, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00,
-+ 0x80, 0x40, 0x20, 0x20, 0x3c, 0xe0, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00,
-+ 0x01, 0x40, 0x20, 0x20, 0x20, 0x47, 0x40, 0x40,
-+ 0x40, 0x40, 0x30, 0x20, 0x20, 0x01, 0x00, 0x00,
-+ 0x08, 0xa4, 0x50, 0x40, 0x78, 0xc0, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x10, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x10, 0x0f, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0xf0, 0x88, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x10, 0xe0, 0x00, 0x00, 0x00,
-+ 0x04, 0x02, 0x01, 0x21, 0x1e, 0x00, 0x00, 0x07,
-+ 0x08, 0x10, 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x30, 0xc0, 0x80, 0x40, 0x40, 0xe0,
-+ 0x20, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
-+ 0x04, 0x02, 0x01, 0x21, 0x1e, 0x00, 0x00, 0x07,
-+ 0x08, 0x10, 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0x30, 0xc8, 0x80, 0x40, 0x40, 0xe0,
-+ 0x20, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x90, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x01, 0x00, 0x40, 0x3f, 0x00, 0x03, 0x04, 0x04,
-+ 0x03, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x80, 0xf8, 0x80, 0x80, 0x80, 0xc0, 0x40,
-+ 0xc0, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x00, 0x40, 0x3f, 0x00, 0x03, 0x04, 0x04,
-+ 0x03, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x28, 0x94, 0xf8, 0x80, 0x80, 0x80, 0xc0, 0x40,
-+ 0xc0, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x08, 0x4b, 0x3c, 0x08,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x40, 0x78, 0xc0, 0x40, 0x40,
-+ 0x40, 0xc0, 0x40, 0x00, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x08, 0x4b, 0x3c, 0x08,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x08, 0x84, 0x50, 0x48, 0x78, 0xc0, 0x40, 0x40,
-+ 0x40, 0xc0, 0x40, 0x00, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x09, 0x06, 0x00, 0x01, 0x02, 0x07, 0x38,
-+ 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x80, 0x00, 0x38, 0xc0, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
-+ 0x00, 0x09, 0x06, 0x00, 0x01, 0x02, 0x07, 0x38,
-+ 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xc8, 0x64, 0x90, 0x00, 0x38, 0xc0, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x07, 0x3c, 0x08, 0x08, 0x08,
-+ 0x10, 0x10, 0x11, 0x21, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0xf0, 0x18, 0x20,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x07, 0x3c, 0x08, 0x08, 0x08,
-+ 0x10, 0x10, 0x11, 0x21, 0x20, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x90, 0x00, 0x00, 0xf0, 0x18, 0x20,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x47, 0x3c, 0x08, 0x08, 0x0b,
-+ 0x1c, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x20,
-+ 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x47, 0x3c, 0x08, 0x08, 0x0b,
-+ 0x1c, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0x08, 0xc4, 0x10, 0x08, 0x00, 0xc0, 0x20,
-+ 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06,
-+ 0x38, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20,
-+ 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x4c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x08,
-+ 0x08, 0x10, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x4c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x10, 0xe0, 0x10, 0x08, 0x08, 0x08,
-+ 0x08, 0x10, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x43, 0x3c, 0x01, 0x01, 0x02, 0x02,
-+ 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x43, 0x3c, 0x01, 0x01, 0x02, 0x02,
-+ 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0xc0, 0x88, 0x24, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x06,
-+ 0x08, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x06,
-+ 0x08, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x24, 0x10, 0x00, 0x70, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0x04, 0x02, 0x02, 0x3f, 0x04, 0x08, 0x08, 0x10,
-+ 0x10, 0x20, 0x03, 0x04, 0x04, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x70, 0x18, 0x20, 0x40,
-+ 0x40, 0x40, 0xc0, 0x60, 0x50, 0x80, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x10, 0x13, 0x20, 0x20, 0x20,
-+ 0x20, 0x22, 0x2a, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x18, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x00, 0x00, 0x13, 0x15, 0x19, 0x12,
-+ 0x2a, 0x4c, 0x4c, 0x54, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0xe0, 0x10, 0x08, 0x08,
-+ 0x08, 0x08, 0x68, 0x90, 0x68, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x08, 0x4c, 0x3f, 0x0c, 0x08,
-+ 0x18, 0x18, 0x28, 0x59, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0xf0, 0x18, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x0d, 0x11, 0x11, 0x22, 0x22,
-+ 0x24, 0x24, 0x28, 0x10, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x20, 0x10, 0x08, 0x08, 0x08,
-+ 0x08, 0x10, 0x10, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x14, 0x13, 0x20, 0x20, 0x20,
-+ 0x20, 0x29, 0x12, 0x12, 0x11, 0x00, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0x38, 0xe0, 0x20, 0x20, 0x20,
-+ 0x20, 0xe0, 0x30, 0x28, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x40, 0x20, 0x28, 0x27, 0x40, 0x40, 0x40,
-+ 0x40, 0x53, 0x24, 0x24, 0x23, 0x00, 0x00, 0x00,
-+ 0x88, 0x44, 0x50, 0x78, 0xc0, 0x40, 0x40, 0x40,
-+ 0x40, 0xc0, 0x60, 0x50, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x40, 0x20, 0x28, 0x27, 0x40, 0x40, 0x40,
-+ 0x40, 0x53, 0x24, 0x24, 0x23, 0x00, 0x00, 0x00,
-+ 0x98, 0x64, 0x64, 0x78, 0xc0, 0x40, 0x40, 0x40,
-+ 0x40, 0xc0, 0x60, 0x50, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x04, 0x3c, 0x08, 0x08, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0x40, 0x40, 0x20, 0x20, 0x30, 0x28, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x04, 0x3c, 0x08, 0x08, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x08, 0x44, 0x50, 0x28, 0x20, 0x30, 0x28, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x04, 0x3c, 0x08, 0x08, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x30, 0x48, 0x48, 0x30, 0x20, 0x30, 0x28, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x03, 0x00, 0x01, 0x02, 0x02, 0x01,
-+ 0x02, 0x4c, 0x38, 0x24, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0xb0, 0x88, 0x9c, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x03, 0x00, 0x01, 0x02, 0x02, 0x01,
-+ 0x02, 0x4c, 0x38, 0x24, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x88, 0xa4, 0x10, 0x00, 0x00, 0x00,
-+ 0xb0, 0x88, 0x9c, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x03, 0x00, 0x01, 0x02, 0x02, 0x01,
-+ 0x02, 0x4c, 0x38, 0x24, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x98, 0xa4, 0x24, 0x18, 0x00, 0x00,
-+ 0xb0, 0x88, 0x9c, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x50, 0x20,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
-+ 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x50, 0x20,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x48, 0x20, 0x00, 0x80, 0x40,
-+ 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x50, 0x20,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x30, 0x48, 0x48, 0x30, 0x00, 0x80, 0x40,
-+ 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x22, 0x11, 0x10, 0x10, 0x23, 0x20, 0x20,
-+ 0x20, 0x29, 0x12, 0x12, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x30, 0xc0, 0x40, 0x38, 0xe0, 0x20, 0x20,
-+ 0x20, 0xe0, 0x30, 0x28, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x44, 0x23, 0x20, 0x20, 0x47, 0x40, 0x40,
-+ 0x40, 0x53, 0x24, 0x24, 0x23, 0x00, 0x00, 0x00,
-+ 0x00, 0x68, 0x84, 0x90, 0x78, 0xc0, 0x40, 0x40,
-+ 0x40, 0xc0, 0x60, 0x50, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x44, 0x23, 0x20, 0x20, 0x47, 0x40, 0x40,
-+ 0x40, 0x53, 0x24, 0x24, 0x23, 0x00, 0x00, 0x00,
-+ 0x18, 0x64, 0xa4, 0x98, 0x70, 0xc0, 0x40, 0x40,
-+ 0x40, 0xc0, 0x60, 0x50, 0x80, 0x00, 0x00, 0x00,
-+ 0x01, 0x00, 0x10, 0x0f, 0x00, 0x10, 0x0f, 0x00,
-+ 0x00, 0x0f, 0x10, 0x10, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xf0, 0x80, 0x80, 0xe0, 0x80, 0x80,
-+ 0x80, 0x80, 0xe0, 0x90, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x07, 0x01, 0x01, 0x02, 0x02, 0x0f,
-+ 0x34, 0x44, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x20, 0x10, 0xf0,
-+ 0x18, 0x24, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0x27, 0x1c, 0x04, 0x1c, 0x24, 0x24,
-+ 0x2c, 0x18, 0x08, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x30, 0x08, 0x0c, 0x00, 0x00,
-+ 0x20, 0x10, 0x10, 0x10, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x00, 0x10, 0x13, 0x1c, 0x11, 0x29,
-+ 0x2a, 0x46, 0x44, 0x4a, 0x30, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0xc0, 0xa0, 0x10, 0x08,
-+ 0x08, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x02, 0x01, 0x11, 0x0e, 0x03, 0x12, 0x24, 0x1c,
-+ 0x07, 0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x20, 0x20,
-+ 0x10, 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x09, 0x0e,
-+ 0x3c, 0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x10,
-+ 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x00, 0x01, 0x18, 0x10, 0x0b, 0x4c, 0x34,
-+ 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xc0, 0x00, 0xf0, 0x08, 0x08, 0x08,
-+ 0x70, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x21, 0x27,
-+ 0x29, 0x31, 0x23, 0x21, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10,
-+ 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x40, 0x21, 0x22, 0x24, 0x28, 0x30,
-+ 0x34, 0x22, 0x21, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0xe0, 0x90, 0x88, 0x88, 0x88,
-+ 0x88, 0x90, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x0f, 0x11, 0x11, 0x0e, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xc0, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00, 0x00,
-+ 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x1f, 0x21, 0x21, 0x1e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x01, 0x01, 0x06, 0x08, 0x08, 0x08, 0x09,
-+ 0x0e, 0x08, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xe0,
-+ 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x10, 0x09, 0x0a, 0x0c, 0x0c, 0x08, 0x08, 0x08,
-+ 0x08, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x07, 0x00, 0x01, 0x02, 0x07, 0x0c,
-+ 0x10, 0x20, 0x03, 0x04, 0x04, 0x03, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x80, 0x00, 0x00, 0xc0, 0x20,
-+ 0x10, 0x10, 0x90, 0x60, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x10, 0x08, 0x09, 0x0a, 0x1c, 0x6c, 0x08,
-+ 0x18, 0x18, 0x28, 0x48, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x18, 0x00, 0x00, 0x00,
-+ 0x00, 0x11, 0x0e, 0x01, 0x02, 0x04, 0x0f, 0x08,
-+ 0x10, 0x20, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x20,
-+ 0x10, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x06,
-+ 0x1d, 0x06, 0x0c, 0x0c, 0x14, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
-+ 0x10, 0x10, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x08, 0x4c, 0x3f, 0x0c, 0x08,
-+ 0x18, 0x18, 0x28, 0x48, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08,
-+ 0x08, 0x08, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x09, 0x06, 0x01, 0x01, 0x03, 0x0e, 0x12,
-+ 0x24, 0x24, 0x28, 0x19, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x00, 0x00, 0xe0, 0x10, 0x08,
-+ 0x08, 0x08, 0xc8, 0x30, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x09, 0x07, 0x02, 0x07, 0x08, 0x10, 0x06,
-+ 0x09, 0x07, 0x08, 0x1c, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0x80, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x20,
-+ 0xc0, 0x00, 0x00, 0xe0, 0x10, 0x38, 0x00, 0x00,
-+ 0x04, 0x02, 0x12, 0x0f, 0x04, 0x04, 0x0f, 0x18,
-+ 0x21, 0x02, 0x04, 0x08, 0x08, 0x07, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x00, 0x00, 0x20, 0x38, 0xc0,
-+ 0x80, 0x80, 0x80, 0x00, 0x00, 0xe0, 0x00, 0x00,
-+ 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x0f,
-+ 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x88, 0x90, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x1e,
-+ 0x02, 0x01, 0x01, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x21, 0x1e, 0x00, 0x02, 0x01, 0x01,
-+ 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x20, 0x40, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
-+ 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0d, 0x30,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x1e,
-+ 0x08, 0x08, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x01, 0x3e, 0x10, 0x10,
-+ 0x08, 0x08, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
-+ 0x01, 0x01, 0x01, 0x01, 0x1e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x02, 0x01, 0x01,
-+ 0x01, 0x01, 0x03, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x0f,
-+ 0x01, 0x02, 0x04, 0x08, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x1f, 0x00, 0x01,
-+ 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x40, 0x78, 0xc0, 0xc0, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x21, 0x1f, 0x02, 0x02,
-+ 0x04, 0x04, 0x08, 0x11, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10,
-+ 0x20, 0x20, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x21, 0x1f, 0x02, 0x02,
-+ 0x04, 0x04, 0x08, 0x11, 0x20, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0x10, 0xf0, 0x10, 0x10, 0x10,
-+ 0x20, 0x20, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x02, 0x03, 0x1d, 0x01, 0x01,
-+ 0x03, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x78,
-+ 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x02, 0x03, 0x1d, 0x01, 0x01,
-+ 0x03, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0x70, 0x80, 0x00, 0x00, 0x78,
-+ 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x03, 0x02, 0x04, 0x04, 0x08,
-+ 0x10, 0x00, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x70, 0x90, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x07, 0x04, 0x08, 0x08, 0x10,
-+ 0x21, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x08, 0x24, 0xd4, 0x50, 0x40, 0x40, 0x80, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x04, 0x0f, 0x09, 0x10,
-+ 0x20, 0x00, 0x01, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x38, 0xc0, 0x00, 0x80,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x04, 0x0f, 0x09, 0x10,
-+ 0x20, 0x00, 0x01, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0x10, 0x38, 0xc0, 0x00, 0x80,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x21, 0x1e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x1c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10,
-+ 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x43, 0x3c, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0xd0, 0x40, 0x40, 0x40, 0x40,
-+ 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x04, 0x04, 0x24, 0x1f, 0x04,
-+ 0x04, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x04, 0x04, 0x24, 0x1f, 0x04,
-+ 0x04, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x08, 0xa4, 0x54, 0x50, 0x40, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0c, 0x02, 0x00, 0x18, 0x04, 0x00,
-+ 0x00, 0x00, 0x00, 0x13, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0c, 0x02, 0x00, 0x18, 0x04, 0x00,
-+ 0x00, 0x00, 0x00, 0x13, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x24, 0x14, 0x10, 0x00, 0x08, 0x10,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0x40, 0x40, 0x80, 0x80,
-+ 0x40, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x21, 0x1e, 0x00, 0x00, 0x01, 0x01,
-+ 0x02, 0x04, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0xd4, 0x50, 0x80, 0x80, 0x00, 0x00,
-+ 0x80, 0x40, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x04, 0x05, 0x26, 0x1c,
-+ 0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x88, 0x10, 0x20,
-+ 0x40, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x04, 0x05, 0x26, 0x1c,
-+ 0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0x10, 0x78, 0x88, 0x10, 0x20,
-+ 0x40, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x04, 0x04, 0x04, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x10, 0x10, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x10, 0x08, 0x08, 0x08, 0x00,
-+ 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x08, 0xa4, 0x54, 0x50, 0x40, 0x40, 0x40, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x02, 0x02, 0x05, 0x08,
-+ 0x10, 0x00, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x20, 0x20, 0xc0,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x03, 0x04, 0x04, 0x0a, 0x11,
-+ 0x20, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0xf0, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x1e, 0x01, 0x00, 0x23, 0x1c,
-+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x40, 0x80, 0x00, 0x00, 0xf8, 0x80, 0x80,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x1e, 0x01, 0x00, 0x23, 0x1c,
-+ 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x08, 0x64, 0x94, 0x10, 0x00, 0xf8, 0x80, 0x80,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x12,
-+ 0x0a, 0x08, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x04, 0x22, 0x11, 0x09, 0x08, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x08, 0x10, 0x10, 0x20,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x44, 0x24, 0x10, 0x10,
-+ 0x00, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0x94, 0x50, 0x40, 0x40, 0x40, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x11, 0x0e, 0x00, 0x00, 0x23, 0x1c,
-+ 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x00, 0x00, 0x78, 0x80, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x11, 0x0e, 0x00, 0x20, 0x1f, 0x00,
-+ 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x08, 0x24, 0xd4, 0x10, 0x00, 0xf0, 0x00, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x04, 0x04, 0x07, 0x04,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
-+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x0e, 0x09,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x90, 0x50, 0x40, 0x00, 0x00, 0x00, 0x80,
-+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x00, 0x00, 0x20, 0x1f, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0xf8, 0x80, 0x80, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x0f, 0x00, 0x00, 0x0e, 0x01,
-+ 0x00, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x20, 0x20, 0x40, 0xc0,
-+ 0xc0, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x1e, 0x00, 0x00, 0x01,
-+ 0x03, 0x0d, 0x31, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x40, 0x80, 0x00,
-+ 0x40, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x40, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x08,
-+ 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10,
-+ 0x10, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x08,
-+ 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x24, 0x14, 0x90, 0x40, 0x20, 0x10,
-+ 0x10, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x08,
-+ 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x18, 0x24, 0x24, 0x18, 0x80, 0x40, 0x20, 0x10,
-+ 0x10, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x08, 0x08, 0x0f, 0x08,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x0f,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x48, 0x28, 0x20, 0x00, 0xe0, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x0f,
-+ 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00,
-+ 0x00, 0x30, 0x48, 0x48, 0x30, 0x00, 0xe0, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x23, 0x1c, 0x00, 0x00, 0x00, 0x01,
-+ 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00,
-+ 0x08, 0x24, 0xd4, 0x50, 0x40, 0x80, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x23, 0x1c, 0x00, 0x00, 0x00, 0x01,
-+ 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00,
-+ 0x18, 0x24, 0xe4, 0x58, 0x40, 0x80, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x48, 0x30,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
-+ 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x48, 0x30,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x90, 0x50, 0x40, 0x00, 0x80, 0x40,
-+ 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x48, 0x30,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x60, 0x90, 0x90, 0x60, 0x00, 0x80, 0x40,
-+ 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x21, 0x1f, 0x01, 0x01,
-+ 0x09, 0x09, 0x11, 0x21, 0x03, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x40,
-+ 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x21, 0x1f, 0x01, 0x01,
-+ 0x09, 0x09, 0x11, 0x21, 0x03, 0x01, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0x10, 0xf0, 0x00, 0x00, 0x40,
-+ 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x21, 0x1f, 0x01, 0x01,
-+ 0x09, 0x09, 0x11, 0x21, 0x03, 0x01, 0x00, 0x00,
-+ 0x18, 0x24, 0x24, 0x18, 0xf0, 0x00, 0x00, 0x40,
-+ 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x20, 0x1f, 0x00, 0x00, 0x00,
-+ 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x08, 0x10, 0x20, 0x40,
-+ 0x80, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x03, 0x00, 0x00, 0x08, 0x06, 0x01,
-+ 0x00, 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00, 0x80,
-+ 0x40, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00,
-+ 0x00, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
-+ 0x04, 0x04, 0x29, 0x1e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
-+ 0x20, 0x30, 0xc8, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00,
-+ 0x00, 0x00, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x40, 0x20, 0x20, 0x20, 0x20, 0xc0, 0x40,
-+ 0xa0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x0f, 0x02, 0x02, 0x23, 0x1e,
-+ 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03,
-+ 0x1e, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x90,
-+ 0x20, 0x40, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x08, 0x04, 0x04, 0x03, 0x26, 0x1a, 0x01,
-+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x78, 0x88, 0x10, 0x20, 0x40,
-+ 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0e,
-+ 0x00, 0x00, 0x01, 0x1e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40,
-+ 0x40, 0x80, 0xe0, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x11, 0x0e, 0x00, 0x00,
-+ 0x00, 0x01, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80,
-+ 0x80, 0xf0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x00,
-+ 0x01, 0x0e, 0x00, 0x01, 0x0e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20,
-+ 0xe0, 0x40, 0x40, 0xc0, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x1e, 0x00, 0x00, 0x01, 0x0e,
-+ 0x00, 0x00, 0x00, 0x01, 0x0e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0xe0, 0x20,
-+ 0x20, 0x20, 0x20, 0xe0, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x11, 0x0e, 0x00, 0x23, 0x1c, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x00, 0x70, 0x90, 0x10, 0x10,
-+ 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x08, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x88, 0x88,
-+ 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x0b, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x21, 0x1e, 0x10, 0x10, 0x08,
-+ 0x08, 0x09, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0x20,
-+ 0x20, 0xe0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0f,
-+ 0x08, 0x04, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10,
-+ 0x20, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x21, 0x1e, 0x10, 0x08, 0x08, 0x08,
-+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0x20, 0x20,
-+ 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x00, 0x00, 0x01, 0x1e, 0x08, 0x04,
-+ 0x05, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80,
-+ 0xf0, 0x88, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x1e, 0x02, 0x01, 0x01,
-+ 0x01, 0x01, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x40, 0x80, 0x00,
-+ 0x00, 0xf0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x1e, 0x00, 0x00, 0x01, 0x0e,
-+ 0x00, 0x00, 0x00, 0x01, 0x06, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0x20, 0xe0, 0x20,
-+ 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x18, 0x04, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x13, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10, 0x10,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x02, 0x43, 0x3c, 0x20, 0x10,
-+ 0x10, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x08, 0x24, 0x14, 0x10, 0xe0, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x11,
-+ 0x0e, 0x02, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
-+ 0x20, 0x20, 0x20, 0x20, 0xc0, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04,
-+ 0x07, 0x08, 0x10, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
-+ 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x04, 0x04, 0x08,
-+ 0x0f, 0x10, 0x10, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x60,
-+ 0xe0, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0xc0, 0x30,
-+ 0x18, 0x18, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x04, 0x04, 0x08,
-+ 0x08, 0x10, 0x10, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x60,
-+ 0x60, 0x30, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x00, 0x40, 0xc0, 0x40,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x20, 0x01, 0x01, 0x03, 0x06,
-+ 0x06, 0x0c, 0x18, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x60, 0xc0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x30, 0x30, 0x30, 0xf0, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x34, 0x37, 0x34,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x58, 0xd8, 0x58,
-+ 0x18, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x19, 0x1a, 0x1c,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x20, 0x40, 0x80, 0x80, 0xc0, 0xc0,
-+ 0x60, 0x60, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x04, 0x04, 0x08,
-+ 0x08, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x60,
-+ 0x60, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x18, 0x1c, 0x1c, 0x16, 0x16, 0x17,
-+ 0x13, 0x12, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x30, 0x70, 0x70, 0xb0, 0xb0, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x18, 0x1c, 0x16, 0x16, 0x13, 0x11,
-+ 0x11, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0xa0,
-+ 0xa0, 0xe0, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x20, 0x00, 0x10, 0x1f, 0x1f,
-+ 0x10, 0x00, 0x10, 0x1f, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0xe0, 0x20, 0x00, 0x20, 0xe0, 0xe0,
-+ 0x20, 0x00, 0x10, 0xe0, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x18, 0x0c, 0x06, 0x03, 0x01, 0x01,
-+ 0x02, 0x04, 0x08, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x00, 0x00, 0x80, 0x00,
-+ 0x00, 0x10, 0x20, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x23, 0x43, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0c, 0x17, 0x23, 0x23, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0xa0, 0x10, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x07, 0x1b, 0x33, 0x33, 0x33,
-+ 0x1b, 0x07, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0x80, 0x60, 0x30, 0x30, 0x30,
-+ 0x60, 0x80, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x0c, 0x06, 0x03, 0x03, 0x03,
-+ 0x04, 0x08, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x20, 0x40, 0x80, 0x00, 0x00, 0x80,
-+ 0xc0, 0x60, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x63, 0x33, 0x33, 0x33, 0x13,
-+ 0x0f, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0x18, 0x30, 0x30, 0x30, 0x20,
-+ 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x18,
-+ 0x08, 0x04, 0x22, 0x3e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x18, 0x18, 0x30,
-+ 0x20, 0x40, 0x88, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x18, 0x10,
-+ 0x10, 0x10, 0x19, 0x0e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x20, 0x20, 0xa0, 0x60, 0x60,
-+ 0x40, 0xc0, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x05, 0x04,
-+ 0x0c, 0x08, 0x0c, 0x1b, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xe0, 0x10, 0x10, 0x10, 0x20, 0xc0, 0x20,
-+ 0x20, 0x20, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x01, 0x01,
-+ 0x01, 0x03, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x04, 0x04, 0x02, 0x03, 0x04, 0x0c,
-+ 0x08, 0x08, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xe0, 0x10, 0x00, 0x80, 0xc0, 0x40,
-+ 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x04, 0x03,
-+ 0x06, 0x0c, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x80,
-+ 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x04, 0x0c, 0x07, 0x02, 0x04, 0x04, 0x08,
-+ 0x08, 0x0e, 0x07, 0x00, 0x06, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0xc0, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x17, 0x02, 0x04,
-+ 0x04, 0x0c, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x20,
-+ 0x20, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x02, 0x06, 0x04, 0x0f, 0x0c,
-+ 0x08, 0x08, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x10, 0x10, 0x10, 0x30, 0xf0, 0x20,
-+ 0x60, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x06,
-+ 0x04, 0x04, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x0d, 0x0e,
-+ 0x09, 0x19, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0xa0, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02,
-+ 0x06, 0x04, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xc0, 0x40, 0xc0, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x0c,
-+ 0x08, 0x08, 0x0c, 0x1b, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x60, 0x40,
-+ 0x40, 0x40, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c, 0x04, 0x04,
-+ 0x04, 0x07, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x04, 0x03, 0x02, 0x04, 0x04, 0x03, 0x04,
-+ 0x08, 0x08, 0x0e, 0x07, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0x60, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0xc0,
-+ 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x0c,
-+ 0x0c, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x30,
-+ 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x0c, 0x1f, 0x22, 0x04, 0x04,
-+ 0x08, 0x08, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x08, 0xf0, 0x40, 0x40, 0x80,
-+ 0x80, 0x80, 0xc0, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04,
-+ 0x0c, 0x0c, 0x0c, 0x1b, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0x10,
-+ 0x30, 0x20, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0c, 0x18,
-+ 0x10, 0x10, 0x11, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x80, 0x40, 0x40,
-+ 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x11, 0x03,
-+ 0x02, 0x04, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x30, 0xe0, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x0c, 0x0c,
-+ 0x08, 0x08, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x20, 0x20,
-+ 0x60, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0d, 0x19, 0x31,
-+ 0x32, 0x12, 0x0e, 0x07, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x20, 0x30,
-+ 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x06, 0x0b, 0x01, 0x01, 0x01, 0x01, 0x03,
-+ 0x07, 0x05, 0x09, 0x19, 0x31, 0x20, 0x00, 0x00,
-+ 0x00, 0x10, 0x30, 0x60, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xa0, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x31, 0x59, 0x09, 0x09,
-+ 0x12, 0x12, 0x12, 0x0f, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x80, 0x80, 0x80, 0xa0, 0x30, 0x10, 0x10,
-+ 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x31, 0x23,
-+ 0x22, 0x22, 0x36, 0x19, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x10, 0x10,
-+ 0x30, 0x20, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x01, 0x03, 0x03, 0x04, 0x04, 0x08,
-+ 0x0f, 0x10, 0x10, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x60,
-+ 0xe0, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x00, 0x00, 0x80, 0x60,
-+ 0x30, 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0xc0, 0x30,
-+ 0x18, 0x18, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x1f, 0x30, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
-+ 0x60, 0x60, 0x60, 0xf8, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x00, 0x40, 0xc0, 0x40,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x0c, 0x0c, 0x3f, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0xc0, 0xc0, 0xe0, 0x10, 0x00, 0x40, 0xc0, 0x40,
-+ 0x00, 0x08, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x67, 0x73, 0x13, 0x13, 0x13, 0x0f, 0x0b,
-+ 0x13, 0x33, 0x23, 0x77, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x98, 0x38, 0x20, 0x20, 0x20, 0xc0, 0x40,
-+ 0x20, 0x30, 0x10, 0xb8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x1c, 0x10, 0x00, 0x00, 0x03, 0x00,
-+ 0x00, 0x10, 0x1c, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0xc0, 0x60,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x19, 0x1a,
-+ 0x1c, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x30, 0x70, 0xb0, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x06, 0x03, 0x3c, 0x18, 0x18, 0x18, 0x19, 0x1a,
-+ 0x1c, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0xc0, 0x80, 0x78, 0x30, 0x70, 0xb0, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x19, 0x1f, 0x19,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x58, 0x80, 0x80, 0x00, 0x00, 0x80,
-+ 0xc0, 0x60, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
-+ 0x02, 0x34, 0x34, 0x18, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x18, 0x18, 0x1c, 0x1c, 0x17, 0x26,
-+ 0x22, 0x22, 0x20, 0x70, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x70, 0x60, 0x60, 0xe0, 0xe0, 0x60, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x30, 0x30, 0x30, 0xf0, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x30, 0x60, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xd0, 0x30, 0x10, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x23, 0x43, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06,
-+ 0x03, 0x03, 0x01, 0x19, 0x1a, 0x0c, 0x00, 0x00,
-+ 0x00, 0x78, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x07, 0x1b, 0x33, 0x33, 0x33,
-+ 0x1b, 0x07, 0x03, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0x80, 0x60, 0x30, 0x30, 0x30,
-+ 0x60, 0x80, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x0c, 0x06, 0x03, 0x03, 0x03,
-+ 0x04, 0x08, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x20, 0x40, 0x80, 0x00, 0x00, 0x80,
-+ 0xc0, 0x60, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x18, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0xf8, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f,
-+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0,
-+ 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x77, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
-+ 0x33, 0x33, 0x33, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xb8, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x77, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
-+ 0x33, 0x33, 0x33, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xb8, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0xf8, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x26, 0x46, 0x06, 0x07, 0x06, 0x06,
-+ 0x06, 0x06, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x30, 0x18,
-+ 0x18, 0x18, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x18, 0x18, 0x18, 0x1e, 0x19, 0x18,
-+ 0x18, 0x18, 0x19, 0x3e, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0,
-+ 0xf0, 0xf0, 0xb0, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x1c, 0x10, 0x00, 0x06, 0x0b, 0x00,
-+ 0x00, 0x10, 0x1c, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x30, 0x10, 0x18, 0xb8, 0xd8,
-+ 0x10, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x33, 0x32, 0x36, 0x36, 0x3e, 0x36,
-+ 0x36, 0x32, 0x33, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x18,
-+ 0x18, 0x10, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x0c, 0x18, 0x18, 0x18, 0x0c, 0x07,
-+ 0x03, 0x06, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0,
-+ 0x30, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x0c, 0x03,
-+ 0x0c, 0x18, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0xe0,
-+ 0x60, 0x60, 0xe0, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x04, 0x05, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0xe0, 0xc0, 0x00, 0x80, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x0c, 0x0f,
-+ 0x0c, 0x0c, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x60, 0xc0,
-+ 0x20, 0x30, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x10, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x04, 0x04,
-+ 0x04, 0x04, 0x08, 0x3f, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60,
-+ 0x60, 0x60, 0x60, 0xe0, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x18, 0x1f,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x30, 0xf0,
-+ 0x00, 0x10, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x06, 0x06, 0x00, 0x07, 0x08, 0x18, 0x1f,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x60, 0x60, 0x00, 0xc0, 0x20, 0x30, 0xf0,
-+ 0x00, 0x10, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x67, 0x73, 0x0b, 0x0f,
-+ 0x0b, 0x13, 0x33, 0x67, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x98, 0x38, 0x40, 0xc0,
-+ 0x40, 0x20, 0x30, 0x98, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x10, 0x03,
-+ 0x00, 0x10, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x60, 0xc0,
-+ 0x60, 0x60, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x19,
-+ 0x1a, 0x1c, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0xe0, 0x60,
-+ 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x06, 0x03, 0x00, 0x3c, 0x18, 0x18, 0x19,
-+ 0x1a, 0x1c, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0x00, 0xf0, 0x60, 0xe0, 0x60,
-+ 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x19, 0x1f,
-+ 0x19, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0x00, 0x00,
-+ 0x80, 0xc0, 0x60, 0x70, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02,
-+ 0x02, 0x34, 0x34, 0x18, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60,
-+ 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x38, 0x1c, 0x1c, 0x16,
-+ 0x16, 0x13, 0x13, 0x38, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x38, 0x70, 0x70, 0xb0,
-+ 0xb0, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x1f,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0xe0,
-+ 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60,
-+ 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1d, 0x0e, 0x0c, 0x0c,
-+ 0x0c, 0x0c, 0x0e, 0x0d, 0x0c, 0x1e, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30, 0x30,
-+ 0x30, 0x30, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x18, 0x18,
-+ 0x18, 0x18, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x20, 0x00,
-+ 0x00, 0x20, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x13, 0x23, 0x03,
-+ 0x03, 0x03, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x10, 0x00,
-+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x06, 0x06,
-+ 0x03, 0x03, 0x01, 0x19, 0x19, 0x0e, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x03, 0x03, 0x1b, 0x37, 0x63, 0x63,
-+ 0x63, 0x63, 0x37, 0x1b, 0x03, 0x07, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x60, 0xb0, 0x18, 0x18,
-+ 0x18, 0x18, 0xb0, 0x60, 0x00, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x06, 0x03,
-+ 0x03, 0x04, 0x08, 0x1c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x20, 0x40, 0x80,
-+ 0x80, 0xc0, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18,
-+ 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60,
-+ 0x60, 0x60, 0x60, 0xf0, 0x30, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18,
-+ 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60,
-+ 0xe0, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x77, 0x33, 0x33, 0x33,
-+ 0x33, 0x33, 0x33, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x77, 0x33, 0x33, 0x33,
-+ 0x33, 0x33, 0x33, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x30, 0x30, 0x30,
-+ 0x30, 0x30, 0x30, 0xf8, 0x18, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x26, 0x46, 0x07,
-+ 0x06, 0x06, 0x06, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
-+ 0x30, 0x30, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x1f,
-+ 0x19, 0x19, 0x19, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x30, 0x30, 0x30,
-+ 0xb0, 0xb0, 0xb0, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0f,
-+ 0x0c, 0x0c, 0x0c, 0x1f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
-+ 0x30, 0x30, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x10, 0x03,
-+ 0x05, 0x10, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x30, 0x70,
-+ 0xb0, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x19, 0x1b, 0x1f,
-+ 0x1b, 0x1b, 0x19, 0x3c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x18, 0x18,
-+ 0x18, 0x18, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x18, 0x18,
-+ 0x0f, 0x06, 0x0c, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60,
-+ 0xe0, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff,
-+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x3f, 0x24, 0x24, 0x24,
-+ 0x3f, 0x24, 0x04, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0x80, 0xf0, 0x90, 0x90, 0x90,
-+ 0xf0, 0x90, 0x80, 0x80, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x4b, 0x4a, 0x4a, 0x4a,
-+ 0x4b, 0x7a, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x13, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x11, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x28, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x38, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0x28, 0x28, 0x28,
-+ 0xe8, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x08, 0x0f,
-+ 0x03, 0x0c, 0x74, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xe0, 0x20, 0x20, 0xe8,
-+ 0x08, 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x09, 0x3f, 0x25, 0x54, 0x13,
-+ 0x22, 0x07, 0x3a, 0x01, 0x06, 0x78, 0x00, 0x00,
-+ 0x30, 0xd0, 0x10, 0x20, 0xfc, 0x88, 0x50, 0xc8,
-+ 0x08, 0xe0, 0x40, 0x80, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x79, 0x17, 0x11, 0x11, 0x1a,
-+ 0x74, 0x17, 0x10, 0x10, 0x13, 0x3c, 0x00, 0x00,
-+ 0x80, 0xa0, 0x90, 0x38, 0xc8, 0x00, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x13, 0x12,
-+ 0x32, 0x2c, 0x04, 0x0a, 0x10, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x21, 0x16, 0x10, 0x01, 0x0e, 0x73, 0x10,
-+ 0x13, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0xf8, 0x90, 0x60, 0xf0, 0x4c, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x07, 0x11, 0x0a, 0x04, 0x1f,
-+ 0x61, 0x1f, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x20, 0x28, 0xc8, 0x50, 0xf0,
-+ 0x0c, 0xf0, 0x00, 0x80, 0x60, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x7f, 0x04, 0x3f, 0x24,
-+ 0x24, 0x28, 0x30, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x80, 0xf8, 0x88,
-+ 0x98, 0x78, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x19, 0x76, 0x11, 0x11, 0x7d, 0x11, 0x1b,
-+ 0x36, 0x37, 0x52, 0x13, 0x12, 0x10, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xf0, 0x50, 0xf0, 0xf0, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xfc, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x1f, 0x12, 0x1f, 0x02, 0x7f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0xf0, 0x90, 0xf0, 0x80, 0xfc,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12, 0x1a,
-+ 0x73, 0x14, 0x17, 0x18, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8, 0x60, 0x90,
-+ 0xe8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x02, 0x02,
-+ 0x13, 0x12, 0x25, 0x24, 0x4f, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xfc, 0x50, 0x98,
-+ 0xe4, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x0a, 0x0a, 0x0a,
-+ 0x0a, 0x0a, 0x12, 0x12, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0x88, 0xf8, 0x88, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x0f, 0x02, 0x7f, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xfc, 0xe0, 0x20,
-+ 0xe0, 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x00, 0x1f, 0x10,
-+ 0x10, 0x1f, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x28, 0x41, 0x00, 0x00,
-+ 0x20, 0x30, 0x48, 0xf4, 0x20, 0xfc, 0x50, 0x98,
-+ 0x64, 0x10, 0x64, 0x08, 0x30, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x29, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x48, 0x50, 0xfc, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x17, 0x10,
-+ 0x10, 0x10, 0x20, 0x20, 0x4f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x22, 0x3e, 0x22,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x88, 0x54, 0x30, 0x90, 0x50,
-+ 0x50, 0x1c, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x1d,
-+ 0x72, 0x12, 0x12, 0x14, 0x15, 0x3e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x20, 0x20, 0xf8, 0x88, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x28, 0x48, 0x0e, 0x12, 0x12,
-+ 0x2a, 0x44, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf8, 0x88, 0x88,
-+ 0x88, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x08, 0x13, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2b, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0a, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x78, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x2a, 0x48, 0x3e, 0x23, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x26, 0x3a, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0x48, 0x9c, 0xe4, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x11, 0x11, 0x15, 0x65, 0x1a, 0x13, 0x29, 0x7d,
-+ 0x15, 0x19, 0x35, 0x34, 0x50, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xe8, 0x28, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x64, 0x1f, 0x10, 0x29, 0x7e,
-+ 0x14, 0x39, 0x36, 0x34, 0x51, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0x24, 0x9c,
-+ 0xf0, 0x90, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x3c, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x1e, 0x12, 0x12,
-+ 0x1e, 0x10, 0x03, 0x0c, 0x71, 0x06, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1f, 0x12, 0x12, 0x1f, 0x09,
-+ 0x05, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x90, 0x90, 0xf0, 0x20,
-+ 0x40, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x09, 0x0b, 0x12, 0x3c,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x42, 0x02, 0x7f, 0x04,
-+ 0x04, 0x0f, 0x08, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0xfc, 0x40,
-+ 0x40, 0x40, 0xc0, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x11, 0x1f, 0x12, 0x14, 0x1f,
-+ 0x14, 0x17, 0x24, 0x27, 0x44, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xfc, 0xa0, 0x90, 0xfc,
-+ 0x90, 0xf0, 0x90, 0xf0, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x14, 0x10, 0x17, 0x18,
-+ 0x70, 0x11, 0x11, 0x10, 0x10, 0x37, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x40, 0x40, 0xfc, 0x90,
-+ 0x90, 0x90, 0x60, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x49, 0x48, 0x4f, 0x78, 0x49,
-+ 0x49, 0x49, 0x79, 0x49, 0x41, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x7f, 0x04, 0x0f, 0x03,
-+ 0x1d, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf8, 0x40, 0x80, 0x60,
-+ 0x10, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x21, 0x2f, 0x22,
-+ 0x3f, 0x27, 0x24, 0x27, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0x08, 0xe8, 0x88,
-+ 0xf8, 0xc8, 0x48, 0xc8, 0xc8, 0x58, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1d, 0x08, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7e, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x20, 0x20, 0xfc, 0x48,
-+ 0x48, 0xf0, 0x90, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x12, 0x11, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x16, 0x18, 0x61, 0x06, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x90, 0x90, 0x10, 0x10,
-+ 0x10, 0x30, 0x28, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x10, 0x17, 0x30, 0x50, 0x13,
-+ 0x10, 0x10, 0x10, 0x10, 0x11, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xfc, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x1f, 0x30, 0x52, 0x11,
-+ 0x11, 0x11, 0x11, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x10, 0x10, 0x10,
-+ 0x10, 0x20, 0x20, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x30, 0x51, 0x13,
-+ 0x15, 0x11, 0x11, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x80, 0xc8, 0x48, 0x50,
-+ 0x20, 0x20, 0x10, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x17, 0x10, 0x33, 0x52, 0x13,
-+ 0x10, 0x13, 0x12, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xf0, 0x90, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x22, 0x22, 0x2f, 0x22, 0x22,
-+ 0x3f, 0x22, 0x24, 0x28, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x48, 0x48, 0xe8, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x3f, 0x01, 0x3f, 0x21,
-+ 0x3f, 0x23, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xfc, 0x04, 0x84, 0x58, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x02,
-+ 0x7f, 0x04, 0x0f, 0x10, 0x03, 0x3c, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00,
-+ 0xfc, 0x40, 0x40, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x1f, 0x14,
-+ 0x14, 0x1f, 0x11, 0x22, 0x2c, 0x40, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xc8, 0x48, 0xc8, 0xd0,
-+ 0xb0, 0x30, 0x24, 0xd4, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x20, 0x3e, 0x20, 0x3f,
-+ 0x24, 0x2e, 0x2d, 0x35, 0x44, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x19, 0x37, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x90, 0x90, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x04, 0x7f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x25, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x08, 0x84, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x2e, 0x20, 0x3f, 0x56,
-+ 0x25, 0x4d, 0x04, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x90, 0x50, 0x50, 0x10,
-+ 0x10, 0x30, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x02, 0x07,
-+ 0x19, 0x62, 0x0c, 0x31, 0x06, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0xf8,
-+ 0x28, 0x48, 0x88, 0x08, 0x10, 0xe0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x29, 0x29, 0x49, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x60, 0x50, 0x88, 0xfc, 0x08,
-+ 0xe8, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x3f, 0x02, 0x02, 0x07, 0x04,
-+ 0x0f, 0x08, 0x15, 0x32, 0x4a, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x40, 0xf0, 0x10,
-+ 0xfc, 0x04, 0x44, 0xa4, 0xa4, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x00, 0x7f,
-+ 0x09, 0x08, 0x08, 0x0b, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x10, 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x04, 0x3f,
-+ 0x04, 0x04, 0x7f, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x40, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x09, 0x08, 0x7e, 0x09, 0x1c,
-+ 0x1a, 0x2a, 0x49, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x40, 0x78, 0x88, 0x50, 0x20, 0x40, 0xa0, 0x3c,
-+ 0x44, 0xa8, 0x18, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x08, 0x14, 0x7e,
-+ 0x0a, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2b, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0xf8, 0x48, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x10, 0xf8, 0x90, 0xfc, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x00, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x01, 0x7f, 0x05, 0x19,
-+ 0x62, 0x3f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xc0, 0x00, 0xfc, 0x40, 0x30,
-+ 0x0c, 0xf8, 0x40, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x03, 0x04, 0x1c,
-+ 0x64, 0x04, 0x04, 0x05, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x08, 0x88, 0x90,
-+ 0x60, 0x40, 0x20, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x24, 0xfc, 0x24, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x23, 0x10, 0x17, 0x01, 0x01, 0x71, 0x10,
-+ 0x11, 0x11, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf0, 0x90, 0xfc, 0xf0, 0x10, 0xf0, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0xfc, 0x00, 0x00,
-+ 0x00, 0x21, 0x11, 0x11, 0x07, 0x01, 0x71, 0x11,
-+ 0x11, 0x11, 0x11, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf0, 0x50, 0xf0, 0xfc, 0xf0, 0x10, 0xf0,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x08, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x27, 0x24, 0x28, 0x3f,
-+ 0x21, 0x21, 0x22, 0x2c, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xf0, 0x80, 0x80, 0xf8,
-+ 0x40, 0x20, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x3f, 0x04, 0x04, 0x04,
-+ 0x7f, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x02, 0x1a, 0x04, 0x03,
-+ 0x02, 0x0c, 0x11, 0x06, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x40, 0x40, 0x90, 0x20,
-+ 0x40, 0xc0, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x17, 0x10, 0x7f, 0x12, 0x12,
-+ 0x13, 0x16, 0x18, 0x63, 0x0c, 0x00, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xfc, 0x40, 0xc8, 0xc8, 0xa8,
-+ 0xa8, 0x30, 0x94, 0x34, 0x4c, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x04, 0x3f, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x70, 0x88, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x08, 0x08, 0x1f, 0x11, 0x3f,
-+ 0x51, 0x1f, 0x11, 0x11, 0x11, 0x13, 0x00, 0x00,
-+ 0x00, 0x78, 0xc8, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x7d, 0x12, 0x16, 0x11, 0x3a, 0x2f, 0x68,
-+ 0x2b, 0x2b, 0x3a, 0x2a, 0x04, 0x08, 0x00, 0x00,
-+ 0x50, 0x50, 0x68, 0xd8, 0x50, 0xe8, 0xfc, 0x50,
-+ 0xfc, 0x28, 0xa8, 0x94, 0x2c, 0xc4, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x00, 0x3f, 0x24,
-+ 0x44, 0x07, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x08,
-+ 0x60, 0x80, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x24, 0x12, 0x12, 0x4f, 0x22, 0x22, 0x04, 0x1f,
-+ 0x15, 0x15, 0x25, 0x25, 0x5f, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x20, 0x20, 0x10, 0xf8,
-+ 0x54, 0x50, 0x50, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x11, 0x12, 0x07, 0x02, 0x72, 0x13,
-+ 0x12, 0x10, 0x11, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xc8, 0xc0, 0x44, 0x3c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x02, 0x0f, 0x3a, 0x09, 0x09, 0x7e, 0x19, 0x1d,
-+ 0x2b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x18, 0xe4, 0x44, 0x28, 0x30, 0x00, 0x78, 0x48,
-+ 0x48, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x21, 0x11, 0x11,
-+ 0x02, 0x04, 0x18, 0x61, 0x06, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xfc, 0x48,
-+ 0x50, 0x40, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x1f, 0x01, 0x01,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7f, 0x2b, 0x3f, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2f, 0x28, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x20, 0xf8, 0x48,
-+ 0x68, 0xd8, 0xd8, 0x68, 0x48, 0xb0, 0x00, 0x00,
-+ 0x02, 0x02, 0x04, 0x08, 0x7f, 0x04, 0x04, 0x04,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x40, 0x30, 0x68, 0x84, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x06, 0x38, 0x20, 0x20, 0x3e, 0x20, 0x20,
-+ 0x20, 0x3e, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4a, 0x4b, 0x4a, 0x4a,
-+ 0x4a, 0x7a, 0x4b, 0x42, 0x03, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x48,
-+ 0xa8, 0x98, 0x18, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x1f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x21, 0x3f, 0x21, 0x23,
-+ 0x22, 0x24, 0x28, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08,
-+ 0x88, 0x48, 0x28, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x25,
-+ 0x79, 0x49, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x48,
-+ 0x68, 0x98, 0x98, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x3f, 0x21, 0x20, 0x3f,
-+ 0x21, 0x01, 0x01, 0x01, 0x02, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1a, 0x29, 0x7e, 0x23, 0x3e,
-+ 0x22, 0x3e, 0x28, 0x24, 0x3b, 0x62, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x44, 0x22, 0x22, 0x03, 0x10,
-+ 0x10, 0x13, 0x20, 0x20, 0x4f, 0x40, 0x00, 0x00,
-+ 0x0c, 0x74, 0x84, 0x88, 0x50, 0x38, 0xc0, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x1e, 0x12, 0x11, 0x1f, 0x10, 0x17,
-+ 0x14, 0x17, 0x14, 0x27, 0x24, 0x44, 0x00, 0x00,
-+ 0x10, 0x50, 0x50, 0x90, 0x50, 0xf0, 0x30, 0xd0,
-+ 0x50, 0xd0, 0x50, 0xd4, 0x54, 0xcc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3c, 0x27, 0x2c, 0x31, 0x28,
-+ 0x25, 0x24, 0x27, 0x38, 0x21, 0x23, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xa0, 0xf0, 0x0c, 0xf0, 0x20,
-+ 0xf8, 0x00, 0xfc, 0xa0, 0x30, 0xc8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x2a, 0x30, 0x2b, 0x24, 0x27,
-+ 0x24, 0x24, 0x39, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0xf8, 0x00, 0xfc,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x32, 0x28, 0x25, 0x24,
-+ 0x25, 0x24, 0x3f, 0x20, 0x21, 0x27, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xe8, 0x04, 0xf0, 0x20,
-+ 0xf0, 0x00, 0xfc, 0xa0, 0x30, 0xc8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x26, 0x29, 0x31, 0x28, 0x25, 0x24,
-+ 0x25, 0x24, 0x3a, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x18, 0xe4, 0x44, 0x28, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x22, 0x14, 0x7f, 0x00, 0x3c,
-+ 0x24, 0x3c, 0x24, 0x24, 0x3c, 0x27, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x4f, 0x48, 0x49, 0x48,
-+ 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90,
-+ 0x90, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x7f, 0x04, 0x04, 0x08, 0x0f,
-+ 0x18, 0x18, 0x28, 0x48, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x1f, 0x01, 0x01,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf0, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x29, 0x24, 0x24, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0x48, 0xa8, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x22, 0x12, 0x12, 0x02,
-+ 0x06, 0x1a, 0x63, 0x02, 0x02, 0x06, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x88, 0x48, 0x48, 0x08,
-+ 0x18, 0x68, 0x88, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x23, 0x10, 0x10, 0x00, 0x07, 0x70, 0x10,
-+ 0x10, 0x10, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0xc0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x3f, 0x29, 0x25, 0x25,
-+ 0x21, 0x29, 0x25, 0x25, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x48, 0x28, 0x28,
-+ 0x08, 0x48, 0x28, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x0c, 0x30, 0x22, 0x22, 0x22, 0x22, 0x22,
-+ 0x22, 0x3e, 0x64, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x24, 0x14, 0x18, 0x7e, 0x0a, 0x3e, 0x28, 0x3e,
-+ 0x3a, 0x1a, 0x2e, 0x49, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x48, 0x19, 0x09, 0x3f, 0x09,
-+ 0x7f, 0x09, 0x15, 0x14, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x78, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x02, 0x02, 0x02, 0x02, 0x3f, 0x04,
-+ 0x04, 0x04, 0x04, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x11, 0x11, 0x3f, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x25, 0x21, 0x01, 0x00, 0x00,
-+ 0x90, 0x90, 0xa0, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x06, 0x38, 0x20, 0x20, 0x20, 0x20, 0x3e,
-+ 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x22, 0x07, 0x14,
-+ 0x15, 0x15, 0x25, 0x25, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x90, 0x90, 0xf8, 0x08,
-+ 0xe8, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x70, 0x57, 0x54, 0x57, 0x54, 0x54,
-+ 0x56, 0x75, 0x49, 0x08, 0x17, 0x00, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xfc, 0xf8, 0x88, 0x78, 0xa0,
-+ 0xa8, 0xa8, 0xb0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x3d, 0x25, 0x25, 0x25, 0x25, 0x25,
-+ 0x25, 0x3d, 0x25, 0x20, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x12, 0x7d, 0x3a, 0x55, 0x1f, 0x12, 0x1f, 0x3e,
-+ 0x23, 0x3e, 0x3e, 0x24, 0x3e, 0x60, 0x00, 0x00,
-+ 0x90, 0xfc, 0xb8, 0xd4, 0xf0, 0x90, 0xf0, 0x10,
-+ 0xfc, 0x90, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x21, 0x3f, 0x20, 0x2e,
-+ 0x20, 0x3f, 0x2e, 0x2d, 0x55, 0x0c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x08, 0x08, 0xfc, 0x08, 0x48,
-+ 0x28, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3f, 0x2b,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc, 0x54,
-+ 0xfc, 0xf8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x10, 0x7c, 0x27, 0x24, 0x24,
-+ 0x78, 0x49, 0x0e, 0x14, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x50, 0xfc, 0x20, 0xc0,
-+ 0x98, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x2f, 0x29, 0x2f, 0x29, 0x2f,
-+ 0x28, 0x2a, 0x29, 0x2b, 0x4c, 0x31, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x78, 0x50, 0x50, 0x50, 0xfc,
-+ 0x30, 0x30, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x23, 0x22, 0x02, 0x0b,
-+ 0x0a, 0x0a, 0x13, 0x12, 0x22, 0x22, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x09,
-+ 0x09, 0x09, 0x11, 0x11, 0x2e, 0x40, 0x00, 0x00,
-+ 0x10, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x10, 0x90, 0x50, 0xe8, 0x28, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x2f,
-+ 0x21, 0x27, 0x21, 0x2f, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xe8,
-+ 0x08, 0xc8, 0x08, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x00, 0x7f, 0x48, 0x4b, 0x4a, 0x4b, 0x4b,
-+ 0x4b, 0x78, 0x4f, 0x41, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0x38, 0xf8,
-+ 0xf8, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x00, 0x7f, 0x01, 0x01,
-+ 0x01, 0x02, 0x02, 0x04, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x70, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x27, 0x14, 0x1f, 0x00, 0x03, 0x72, 0x13,
-+ 0x12, 0x13, 0x10, 0x17, 0x2c, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x21, 0x3d, 0x4f, 0x00,
-+ 0x1f, 0x00, 0x7f, 0x02, 0x04, 0x3f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x04, 0x78, 0x38, 0x00,
-+ 0xf0, 0x00, 0xfc, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x0b, 0x10, 0x10,
-+ 0x37, 0x50, 0x10, 0x10, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x18, 0xe0, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x0d, 0x12, 0x2a, 0x48, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x27, 0x3a, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x48, 0x78, 0x48, 0x48, 0x78,
-+ 0x48, 0x4c, 0x78, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x0e, 0x08, 0x7f, 0x5d, 0x5a, 0x2d, 0x52, 0x1f,
-+ 0x32, 0x5e, 0x12, 0x1e, 0x12, 0x1f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x48, 0x48, 0x50, 0x50, 0x30,
-+ 0x20, 0x30, 0x50, 0x48, 0x88, 0x04, 0x00, 0x00,
-+ 0x12, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x08, 0x0f,
-+ 0x02, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x3e,
-+ 0x15, 0x7f, 0x04, 0x0f, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x50, 0xfc, 0x20, 0x40, 0xe0, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x04, 0x7f,
-+ 0x1f, 0x11, 0x1f, 0x15, 0x64, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x20, 0x48, 0x08, 0x10, 0x90,
-+ 0x24, 0x04, 0x08, 0x08, 0x90, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4b, 0x4a, 0x4a, 0x7a, 0x4f,
-+ 0x48, 0x48, 0x78, 0x49, 0x02, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x11, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf8,
-+ 0x10, 0xa0, 0xc0, 0x44, 0x34, 0x0c, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x3f, 0x20, 0x41, 0x01, 0x7f,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x08, 0x00, 0x00, 0xfc,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x00, 0x00, 0x0f, 0x01, 0x01, 0x7f, 0x05,
-+ 0x05, 0x09, 0x11, 0x61, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x80, 0x00, 0x00, 0x08, 0x88, 0x90, 0x60,
-+ 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x43, 0x20, 0x20, 0x07, 0x10,
-+ 0x11, 0x11, 0x22, 0x24, 0x40, 0x40, 0x00, 0x00,
-+ 0xc0, 0x20, 0x00, 0xc0, 0x48, 0x48, 0xf0, 0xe0,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x22, 0x23, 0x02, 0x0b,
-+ 0x0a, 0x08, 0x10, 0x10, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x30, 0x20, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x11, 0x10, 0x13, 0x7e, 0x12,
-+ 0x17, 0x10, 0x1c, 0x60, 0x03, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x40, 0xf8, 0x48, 0x48,
-+ 0xfc, 0x40, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x04, 0x04, 0x0f, 0x0c, 0x13, 0x22,
-+ 0x4c, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0xf8, 0x88, 0x08, 0x88,
-+ 0x70, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x20, 0x25, 0x38, 0x22, 0x1c, 0x02, 0x3c, 0x08,
-+ 0x7e, 0x18, 0x1c, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x20, 0x25, 0x38, 0x22, 0x1e, 0x00, 0x3e, 0x00,
-+ 0x7f, 0x0c, 0x2a, 0x2a, 0x48, 0x1b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x1f, 0x11, 0x11,
-+ 0x11, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x10, 0x10,
-+ 0x10, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x11, 0x17, 0x22, 0x4f, 0x08, 0x17, 0x14, 0x37,
-+ 0x51, 0x17, 0x15, 0x1f, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xb8, 0x80, 0xc0, 0x7c, 0x90, 0x90, 0x90,
-+ 0x10, 0x90, 0x10, 0xd0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x01, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x26, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0xe0, 0x28, 0x28, 0xf0, 0x70,
-+ 0xb0, 0xa8, 0x28, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x41, 0x21, 0x22, 0x02, 0x16,
-+ 0x1b, 0x12, 0x22, 0x22, 0x42, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x78, 0x48, 0xa8, 0x98,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x29, 0x29, 0x09, 0x1a,
-+ 0x2f, 0x49, 0x10, 0x10, 0x21, 0x4e, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xe0, 0x24, 0x24, 0x1c,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x7f, 0x08, 0x08, 0x10, 0x1f,
-+ 0x2a, 0x4a, 0x0a, 0x0a, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xfc, 0x20, 0x20, 0x10, 0xf0,
-+ 0xa8, 0xa4, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3a, 0x33, 0x45, 0x1a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0x90, 0x90, 0x08, 0x08, 0x04, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x1b, 0x36, 0x36, 0x33, 0x52,
-+ 0x10, 0x11, 0x11, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x08, 0x08, 0xf8, 0xa8,
-+ 0xa0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x00, 0x3d,
-+ 0x03, 0x3d, 0x25, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x80, 0xf8,
-+ 0x28, 0xc8, 0x28, 0xe8, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x09, 0x09, 0x7f, 0x09, 0x29,
-+ 0x2f, 0x29, 0x3b, 0x28, 0x46, 0x41, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0x28, 0x28, 0x30,
-+ 0x50, 0x94, 0x2c, 0x44, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x24, 0x22,
-+ 0x27, 0x24, 0x27, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x48, 0x88,
-+ 0xc8, 0x48, 0xc8, 0x88, 0xa8, 0x78, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x28, 0x4b, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x08, 0xf8, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x90, 0x60, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x2f, 0x29, 0x2f, 0x2f, 0x20,
-+ 0x2f, 0x29, 0x2f, 0x2f, 0x29, 0x4b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x28, 0x24, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x70, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3f,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x2f, 0x21, 0x3f, 0x27, 0x24,
-+ 0x27, 0x23, 0x2d, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0x08, 0xf8, 0xc8, 0x48,
-+ 0xe8, 0xa8, 0x48, 0x28, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x7e, 0x12, 0x12, 0x12,
-+ 0x16, 0x1b, 0x62, 0x02, 0x02, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x20, 0xfc, 0xd0, 0x30, 0xc8, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x0d, 0x71, 0x1f, 0x11,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x14, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x01, 0x7f, 0x04, 0x0e, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x00, 0xfc, 0x40, 0x80, 0xc0, 0x30, 0x00, 0x00,
-+ 0x00, 0x78, 0x0b, 0x10, 0x10, 0x3d, 0x05, 0x25,
-+ 0x25, 0x15, 0x1b, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x1c, 0xe0, 0x20, 0x20, 0x20, 0x38, 0x20,
-+ 0x20, 0x20, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x11, 0x2a, 0x46, 0x04, 0x18,
-+ 0x61, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0xb0, 0x84, 0x7c,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x11, 0x12, 0x1f, 0x12,
-+ 0x33, 0x52, 0x13, 0x12, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x50, 0x48, 0xfc, 0x48,
-+ 0xf8, 0x48, 0xf8, 0x48, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x11, 0x13, 0x10, 0x1f,
-+ 0x71, 0x11, 0x12, 0x14, 0x18, 0x33, 0x00, 0x00,
-+ 0x08, 0x30, 0xc8, 0x48, 0x10, 0xf8, 0x80, 0xfc,
-+ 0x00, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x09, 0x41, 0x21, 0x22, 0x02, 0x17,
-+ 0x12, 0x12, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0x10, 0x10, 0x08, 0xf4,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x44, 0x2f, 0x20, 0x03, 0x12,
-+ 0x13, 0x12, 0x23, 0x20, 0x43, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xfc, 0x40, 0xf8, 0x48,
-+ 0xf8, 0x48, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x13, 0x02, 0x0c, 0x31, 0x01,
-+ 0x11, 0x13, 0x22, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x00, 0xc0, 0x30, 0x08, 0x10,
-+ 0x10, 0x20, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x0a, 0x2b, 0x2c, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x10, 0x20, 0x78, 0x48,
-+ 0x48, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x17, 0x36, 0x3a, 0x33, 0x52,
-+ 0x18, 0x17, 0x24, 0x20, 0x47, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0x48,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x0f, 0x78, 0x0b, 0x1a,
-+ 0x6a, 0x0b, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xe4, 0x28, 0xb0, 0xa0,
-+ 0xa4, 0x9c, 0x90, 0x48, 0x44, 0x04, 0x00, 0x00,
-+ 0x08, 0x4b, 0x30, 0x17, 0x30, 0x49, 0x09, 0x19,
-+ 0x28, 0x4f, 0x09, 0x09, 0x31, 0x16, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0xc8, 0x48, 0x30, 0x10, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x14, 0x65, 0x18, 0x1b, 0x24, 0x7c,
-+ 0x13, 0x38, 0x37, 0x34, 0x53, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xfc, 0x40, 0xe4,
-+ 0x68, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x14, 0x7f, 0x55, 0x7f, 0x55, 0x7f, 0x00, 0x7f,
-+ 0x3e, 0x22, 0x3e, 0x24, 0x1e, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x78, 0x90, 0x20, 0xf8, 0xa8, 0xa8,
-+ 0xf8, 0x88, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x1e, 0x12,
-+ 0x22, 0x54, 0x0c, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x88, 0x88,
-+ 0x88, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x21, 0x27, 0x3f, 0x24,
-+ 0x27, 0x23, 0x2e, 0x22, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x08, 0xc8, 0xf8, 0x48,
-+ 0xe8, 0xa8, 0x48, 0x28, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x23, 0x10, 0x17, 0x00, 0x03, 0x72, 0x13,
-+ 0x10, 0x11, 0x1e, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x88, 0xd0, 0xb0, 0x88, 0x80, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x70, 0x10, 0x90, 0x90, 0x88, 0x08, 0x04, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x1f, 0x72, 0x0c, 0x1a, 0x6f, 0x0b, 0x0f,
-+ 0x0f, 0x08, 0x0f, 0x15, 0x25, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xb0, 0x84, 0xfc, 0xc0, 0xc0,
-+ 0xf8, 0x00, 0xf8, 0x48, 0x28, 0x30, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x12, 0x7f, 0x15, 0x11, 0x10,
-+ 0x17, 0x1a, 0x62, 0x02, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x0f, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x42, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0x50, 0x88, 0x44, 0x20,
-+ 0x20, 0x00, 0x40, 0x20, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x40, 0x27, 0x20, 0x00, 0x09,
-+ 0x09, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0xfc, 0x80, 0x80, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x08, 0x2b, 0x2a, 0x3e, 0x2b, 0x4a, 0x0a, 0x3f,
-+ 0x08, 0x0b, 0x0c, 0x18, 0x61, 0x06, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x24, 0x24, 0x24, 0x27,
-+ 0x24, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48, 0xc8,
-+ 0x48, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x11, 0x11, 0x11,
-+ 0x7f, 0x03, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10,
-+ 0xfc, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x19, 0x15, 0x15, 0x1f, 0x13,
-+ 0x15, 0x19, 0x7f, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x50, 0x50, 0x90, 0xf0, 0x90,
-+ 0x50, 0x30, 0xfc, 0x80, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x10, 0x27, 0x44, 0x08, 0x08, 0x1b,
-+ 0x28, 0x48, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x11, 0x11, 0x15,
-+ 0x15, 0x15, 0x29, 0x29, 0x41, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0x40, 0x20, 0x20, 0x08,
-+ 0x04, 0x04, 0x04, 0x10, 0x10, 0xf0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x13, 0x12, 0x12, 0x1f,
-+ 0x72, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x44, 0x44, 0x44, 0x7c, 0x47, 0x44,
-+ 0x44, 0x7c, 0x44, 0x40, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x17, 0x10, 0x3b, 0x36,
-+ 0x37, 0x52, 0x53, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xf8, 0xa0, 0xfc, 0x40, 0xf8, 0x48,
-+ 0xf8, 0x48, 0xf8, 0xa0, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x32, 0x2b, 0x24, 0x26,
-+ 0x2a, 0x29, 0x31, 0x20, 0x3f, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x32, 0x2a, 0x25, 0x24,
-+ 0x2a, 0x2a, 0x30, 0x20, 0x3e, 0x23, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x94, 0x0c, 0xf8,
-+ 0x48, 0x50, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x1f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x05, 0x04, 0x19, 0x61, 0x02, 0x3f, 0x00, 0x7f,
-+ 0x22, 0x12, 0x06, 0x1a, 0x63, 0x06, 0x00, 0x00,
-+ 0xe0, 0x20, 0x10, 0xcc, 0x60, 0x90, 0x00, 0xf8,
-+ 0x88, 0x48, 0x18, 0x68, 0x88, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7f, 0x0a, 0x0b, 0x16, 0x1b,
-+ 0x36, 0x57, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x58, 0xe8, 0xf8, 0xe8, 0x58,
-+ 0x48, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x12, 0x09, 0x3f, 0x22, 0x4f, 0x08, 0x0f, 0x0f,
-+ 0x0f, 0x08, 0x0f, 0x29, 0x24, 0x40, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0xe0,
-+ 0xfc, 0x00, 0xf8, 0x48, 0xa8, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x22, 0x22, 0x32, 0x2c, 0x24,
-+ 0x26, 0x2a, 0x30, 0x21, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x7f, 0x01, 0x1f, 0x11,
-+ 0x1f, 0x11, 0x1f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x24, 0x24, 0x3f, 0x21, 0x29,
-+ 0x29, 0x29, 0x2f, 0x28, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0xf8, 0x08, 0x28,
-+ 0x28, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x43, 0x22, 0x22, 0x02, 0x0a,
-+ 0x0b, 0x0a, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x34, 0x08, 0x18,
-+ 0x65, 0x0d, 0x14, 0x64, 0x05, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x20, 0x28, 0xa8, 0xb0,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x17, 0x10, 0x31, 0x51, 0x11,
-+ 0x11, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0xa0, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x48, 0x24, 0x14, 0xf0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x11, 0x12,
-+ 0x1f, 0x10, 0x27, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8, 0x40, 0x30,
-+ 0xc8, 0x80, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x17, 0x38, 0x35, 0x35, 0x51,
-+ 0x11, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x48, 0x24, 0x14, 0xf0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x3c, 0x25, 0x25, 0x3d,
-+ 0x25, 0x25, 0x24, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x20, 0xfc, 0x90, 0xfc, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x13, 0x12, 0x3a, 0x37,
-+ 0x36, 0x52, 0x53, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x08, 0x28, 0x28, 0x3e, 0x29, 0x28, 0x48,
-+ 0x0e, 0x78, 0x08, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08,
-+ 0x10, 0x20, 0x20, 0x20, 0x1f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x11, 0x12, 0x34, 0x5f, 0x14,
-+ 0x17, 0x14, 0x17, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x40, 0xa0, 0x98, 0xf4, 0x90,
-+ 0xf0, 0x90, 0xf0, 0x94, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x24, 0x44, 0x7f, 0x04, 0x27,
-+ 0x24, 0x24, 0x27, 0x3c, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x48,
-+ 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x12, 0x1c, 0x1f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xd0, 0x30, 0xf0,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x02, 0x10,
-+ 0x17, 0x15, 0x25, 0x25, 0x4f, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xf8, 0x28, 0x28, 0x28, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x1b, 0x72, 0x11, 0x11, 0x7c, 0x11, 0x18,
-+ 0x35, 0x34, 0x52, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x10, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xa8, 0x84, 0x94, 0x70, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x08, 0x04, 0x7f, 0x00, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x40, 0xfc, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10,
-+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x08, 0x18, 0x28, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x88, 0x88, 0x90, 0xa0, 0xc0, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x52, 0x12,
-+ 0x12, 0x12, 0x14, 0x14, 0x19, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x13, 0x32, 0x52, 0x12,
-+ 0x13, 0x12, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xc8, 0x48, 0x48, 0x48,
-+ 0xc8, 0x48, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x0a, 0x1f, 0x12, 0x32, 0x52, 0x12,
-+ 0x12, 0x12, 0x14, 0x14, 0x19, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x10, 0x33, 0x52, 0x12,
-+ 0x12, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x13, 0x10, 0x30, 0x57, 0x10,
-+ 0x10, 0x13, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7f, 0x09, 0x09, 0x09,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7c, 0x44, 0x44, 0x44, 0x44,
-+ 0x44, 0x44, 0x44, 0x7c, 0x44, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x00, 0x1f, 0x11, 0x11, 0x11,
-+ 0x1f, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x09, 0x33, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x40, 0xfc, 0x00, 0x78, 0x48, 0x78, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x0f, 0x08, 0x0f, 0x0f, 0x08,
-+ 0x0f, 0x07, 0x3c, 0x03, 0x06, 0x78, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x40, 0x80, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x12, 0x7f, 0x24, 0x24, 0x27,
-+ 0x78, 0x4b, 0x0c, 0x17, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xfc, 0x40, 0xe4, 0x68,
-+ 0xb0, 0x70, 0xa8, 0x24, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x7f, 0x02, 0x0d, 0x33,
-+ 0x0d, 0x32, 0x04, 0x18, 0x60, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf8, 0x00, 0x48, 0xc8,
-+ 0xb0, 0xa0, 0x90, 0x88, 0x84, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x2f, 0x42, 0x0f, 0x08, 0x0f, 0x0f,
-+ 0x0f, 0x7f, 0x0f, 0x72, 0x04, 0x19, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe8, 0x00, 0xe0, 0x20, 0xe0, 0xe0,
-+ 0xe0, 0xfc, 0xe0, 0x5c, 0x40, 0x80, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x08, 0x09, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2b, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x90, 0x50, 0x50, 0x10, 0x90, 0x90, 0x1c,
-+ 0x70, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x07, 0x74, 0x54, 0x57, 0x54, 0x74, 0x57,
-+ 0x54, 0x54, 0x77, 0x54, 0x44, 0x04, 0x00, 0x00,
-+ 0x00, 0xb8, 0x88, 0x88, 0xb8, 0x88, 0x00, 0x78,
-+ 0x48, 0x28, 0x30, 0x10, 0x28, 0xc4, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x1f, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x7e, 0x12, 0x12, 0x22, 0x4d, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x3a, 0x2a, 0x3a, 0x03, 0x7f,
-+ 0x02, 0x3a, 0x2a, 0x3a, 0x2b, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x40, 0x23, 0x22, 0x02, 0x02,
-+ 0x0b, 0x0a, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xc8, 0x48, 0x48, 0x48,
-+ 0xc8, 0x48, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x11, 0x11, 0x11, 0x21, 0x22,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x08, 0x10, 0x20, 0x80, 0x80,
-+ 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x7c, 0x10, 0x11, 0x11, 0x7d, 0x11,
-+ 0x11, 0x11, 0x1c, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0x28, 0x28, 0x28,
-+ 0xe8, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x09, 0x13, 0x1a,
-+ 0x36, 0x56, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x70, 0x50, 0x50, 0xf8, 0x08,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x03,
-+ 0x05, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x80,
-+ 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x18, 0x73, 0x12, 0x17, 0x7c, 0x10, 0x3b,
-+ 0x34, 0x57, 0x50, 0x13, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf8, 0x40, 0xe4, 0x68,
-+ 0xb0, 0x70, 0xa8, 0x24, 0x20, 0xc0, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x21, 0x2f, 0x21,
-+ 0x27, 0x24, 0x27, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x08, 0xe8, 0x08,
-+ 0xc8, 0x48, 0xc8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x04, 0x08, 0x08,
-+ 0x18, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x80, 0x88, 0x90,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x7f, 0x00, 0x1f,
-+ 0x11, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x14, 0x10, 0x7e, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x0b, 0x10, 0x13,
-+ 0x32, 0x52, 0x13, 0x12, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x10, 0xd0,
-+ 0x50, 0x50, 0xd0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x09, 0x7f, 0x09,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x55, 0x7d,
-+ 0x51, 0x19, 0x15, 0x1d, 0x65, 0x01, 0x00, 0x00,
-+ 0x00, 0xd8, 0x48, 0x48, 0xd8, 0x08, 0x00, 0xf8,
-+ 0x28, 0x28, 0xd0, 0x10, 0x28, 0x44, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x01, 0x3c,
-+ 0x03, 0x3c, 0x25, 0x26, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x49, 0x4b, 0x49, 0x4f, 0x49,
-+ 0x4b, 0x78, 0x4f, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf8, 0x50, 0xfc, 0x50,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x18, 0x68, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x80, 0x8c, 0xf0, 0x84, 0x7c, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x02, 0x22, 0x12, 0x1f, 0x02, 0x02, 0x72, 0x12,
-+ 0x14, 0x14, 0x18, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xb8, 0x28, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x12, 0x02, 0x07, 0x74, 0x15,
-+ 0x15, 0x15, 0x15, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x90, 0xf8, 0x08, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x18, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x01, 0x3e,
-+ 0x22, 0x3e, 0x3d, 0x20, 0x3c, 0x21, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x00, 0xf8,
-+ 0x08, 0xf8, 0xf8, 0x50, 0x70, 0x8c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x0f, 0x11, 0x11, 0x3f, 0x51, 0x11,
-+ 0x11, 0x13, 0x1d, 0x11, 0x13, 0x11, 0x00, 0x00,
-+ 0x60, 0xa8, 0x24, 0x24, 0x20, 0xfc, 0x20, 0xa8,
-+ 0x28, 0x10, 0x10, 0x34, 0x4c, 0x04, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x54, 0x57, 0x54, 0x54,
-+ 0x54, 0x55, 0x7e, 0x44, 0x40, 0x01, 0x00, 0x00,
-+ 0x60, 0xa8, 0xa4, 0xa4, 0xa0, 0xfc, 0xa4, 0xa8,
-+ 0xd8, 0x90, 0xb0, 0xcc, 0x8c, 0x84, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x08,
-+ 0x0e, 0x78, 0x08, 0x08, 0x0b, 0x18, 0x00, 0x00,
-+ 0x80, 0x90, 0x88, 0x88, 0x80, 0xfc, 0x88, 0x88,
-+ 0x50, 0x50, 0x24, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x7f, 0x00,
-+ 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x40, 0x40, 0x40, 0x40, 0xfc, 0xc0,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x2f, 0x29, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xe8, 0x28, 0x28, 0xe8,
-+ 0x28, 0x28, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3f, 0x21, 0x21, 0x21,
-+ 0x3f, 0x24, 0x24, 0x3f, 0x21, 0x02, 0x00, 0x00,
-+ 0x20, 0xa0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60,
-+ 0x50, 0x50, 0x90, 0x88, 0x08, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x08, 0x08, 0x7f,
-+ 0x00, 0x01, 0x06, 0x18, 0x60, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x40, 0x40, 0xfc,
-+ 0xc0, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x54, 0x57, 0x54, 0x7c,
-+ 0x50, 0x1b, 0x14, 0x1e, 0x60, 0x01, 0x00, 0x00,
-+ 0x60, 0xb0, 0xa8, 0xa8, 0xa0, 0xfc, 0xa0, 0xa8,
-+ 0xe8, 0xb0, 0x90, 0xb4, 0xcc, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x12, 0x16, 0x2f, 0x48, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x24, 0x24, 0x25, 0x7e, 0x0c, 0x0c,
-+ 0x14, 0x14, 0x24, 0x44, 0x04, 0x0c, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0xfc, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0xfc, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x17, 0x1a, 0x28, 0x7f, 0x24, 0x3c,
-+ 0x24, 0x3f, 0x28, 0x24, 0x3e, 0x61, 0x00, 0x00,
-+ 0x20, 0x68, 0xa4, 0xa4, 0xa0, 0xfc, 0xa0, 0xa8,
-+ 0xe8, 0x90, 0x94, 0xac, 0xcc, 0x84, 0x00, 0x00,
-+ 0x08, 0x7e, 0x12, 0x12, 0x26, 0x5f, 0x11, 0x1f,
-+ 0x1f, 0x11, 0x1f, 0x2a, 0x25, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf0, 0x00, 0xe0,
-+ 0xe0, 0x00, 0xf8, 0x48, 0x28, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x64, 0x04, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0x4c, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x67, 0x00, 0x00,
-+ 0x3f, 0x02, 0x02, 0x04, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xcc, 0x00, 0x00,
-+ 0xf8, 0x40, 0x20, 0xf0, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x48, 0x3f, 0x2a, 0x2a, 0x3f,
-+ 0x2a, 0x3f, 0x22, 0x22, 0x22, 0x46, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x88, 0x30, 0xa0, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x27, 0x24, 0x24, 0x24,
-+ 0x24, 0x27, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48, 0x48, 0x48,
-+ 0x48, 0xc8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12,
-+ 0x10, 0x1d, 0x61, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xc8,
-+ 0xd0, 0x50, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x17, 0x10, 0x13, 0x7e, 0x12, 0x13, 0x10,
-+ 0x17, 0x18, 0x63, 0x0d, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xa8, 0xa8, 0xf8, 0x40,
-+ 0xfc, 0xc8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x0a, 0x12, 0x12, 0x3a, 0x0a,
-+ 0x4a, 0x2a, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x13, 0x38, 0x34, 0x34, 0x53,
-+ 0x10, 0x10, 0x10, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xfc,
-+ 0x60, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x10, 0x38, 0x37, 0x34, 0x50,
-+ 0x13, 0x10, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xa0, 0xc0, 0x30, 0x4c, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x1a, 0x35, 0x35, 0x31, 0x57,
-+ 0x12, 0x12, 0x17, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x50, 0x50, 0xfc,
-+ 0x50, 0x50, 0xfc, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x3a, 0x36, 0x36, 0x52,
-+ 0x13, 0x12, 0x12, 0x14, 0x1b, 0x1c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x20, 0x28, 0xa8, 0xb0, 0xa0,
-+ 0x20, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x36, 0x33, 0x50,
-+ 0x17, 0x10, 0x13, 0x1d, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xa8, 0xa8, 0xf8, 0x40,
-+ 0xfc, 0xc8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x12, 0x12, 0x12,
-+ 0x7f, 0x12, 0x12, 0x22, 0x22, 0x41, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x50,
-+ 0xd0, 0x20, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x13, 0x12, 0x10, 0x1f,
-+ 0x70, 0x10, 0x10, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0xf8,
-+ 0x88, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7c, 0x04, 0x04, 0x05, 0x7d, 0x46, 0x40,
-+ 0x40, 0x44, 0x44, 0x3c, 0x03, 0x0c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 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,
-+ 0x08, 0x10, 0x3e, 0x2b, 0x3e, 0x2a, 0x3e, 0x2d,
-+ 0x0d, 0x0d, 0x16, 0x17, 0x24, 0x43, 0x00, 0x00,
-+ 0x90, 0x50, 0x50, 0x10, 0x90, 0x90, 0x1c, 0xf0,
-+ 0x10, 0x10, 0x90, 0xd4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4a, 0x4d, 0x49, 0x79, 0x4f,
-+ 0x4a, 0x4a, 0x7b, 0x4a, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x50, 0x50, 0xfc,
-+ 0x50, 0x50, 0xfc, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x12, 0x3a, 0x36,
-+ 0x37, 0x52, 0x52, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xa8, 0xa8, 0xa8,
-+ 0xf0, 0x90, 0x94, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x11, 0x09, 0x0b, 0x42, 0x25, 0x21, 0x01, 0x1f,
-+ 0x12, 0x12, 0x27, 0x24, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x50, 0x50, 0xfc,
-+ 0x50, 0x50, 0xfc, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x12, 0x12, 0x14,
-+ 0x10, 0x11, 0x21, 0x22, 0x4c, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x80, 0x88, 0x88, 0x90, 0xa0,
-+ 0x80, 0x40, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x11, 0x02,
-+ 0x0c, 0x74, 0x04, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x80,
-+ 0x60, 0x5c, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x10, 0x10, 0x1d, 0x62, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x80, 0x98, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x74, 0x00, 0x00,
-+ 0xfc, 0x40, 0x50, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x02, 0x04, 0x1c,
-+ 0x64, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x80, 0x40, 0x70,
-+ 0x4c, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x1d, 0x28, 0x7e, 0x2b, 0x3e, 0x2b, 0x3f,
-+ 0x23, 0x5f, 0x11, 0x1f, 0x01, 0x3f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x98, 0xa0, 0xf8, 0x20, 0xfc,
-+ 0x20, 0xf0, 0x10, 0xf0, 0xf0, 0x08, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x2f,
-+ 0x22, 0x3f, 0x22, 0x24, 0x28, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xe8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x01, 0x3d, 0x25, 0x29, 0x31, 0x29, 0x26, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x20, 0x24, 0xf8, 0x20, 0x24, 0xbc, 0x40, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x10, 0x10, 0x1f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2a, 0x3e, 0x00, 0x7e, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x14, 0x1f, 0x62, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x10, 0x15, 0x64, 0x18, 0x0a,
-+ 0x12, 0x24, 0x0c, 0x12, 0x21, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x09, 0x11, 0x19, 0x26,
-+ 0x42, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x60, 0x58,
-+ 0x44, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x48, 0x4a, 0x49, 0x48, 0x48,
-+ 0x48, 0x7b, 0x48, 0x40, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x48, 0x90, 0xa0, 0x48,
-+ 0x90, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x21, 0x5f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x11, 0x1f, 0x00, 0x1f, 0x10, 0x17, 0x10,
-+ 0x1f, 0x10, 0x27, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0xf0, 0x00, 0xfc, 0x80, 0xf0, 0x80,
-+ 0xf8, 0x80, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x15, 0x3f, 0x3d, 0x35, 0x57,
-+ 0x15, 0x14, 0x15, 0x16, 0x1c, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x50, 0x50, 0x50, 0xfc, 0x10,
-+ 0x30, 0xb0, 0xd0, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x7d, 0x17, 0x15, 0x3d, 0x37,
-+ 0x36, 0x55, 0x55, 0x16, 0x1c, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x50, 0x50, 0x50, 0xfc, 0x30,
-+ 0x30, 0x30, 0xd0, 0xd4, 0x94, 0x0c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x22, 0x03, 0x02,
-+ 0x12, 0x12, 0x24, 0x24, 0x4b, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7d, 0x11, 0x11, 0x11, 0x3d, 0x24, 0x65,
-+ 0x24, 0x27, 0x3d, 0x20, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x10, 0xfc, 0x10, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x1f, 0x01, 0x7f, 0x02, 0x3f,
-+ 0x00, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x00, 0xfc, 0x40, 0xf0,
-+ 0x08, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x27, 0x49, 0x09, 0x17, 0x11, 0x31,
-+ 0x57, 0x11, 0x11, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0xc0, 0x00, 0x00, 0xfc, 0x08, 0x08,
-+ 0xc8, 0x08, 0x08, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x00, 0x3d, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x50, 0x90, 0xa0, 0x68,
-+ 0x48, 0x90, 0x30, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0xa8, 0xa8, 0xf8, 0x00, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x2e, 0x2a, 0x7f, 0x42, 0x7e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x27, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x40, 0x50, 0x90, 0xa0, 0x68,
-+ 0x48, 0x90, 0x30, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x02, 0x0b,
-+ 0x08, 0x0b, 0x10, 0x10, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x3e, 0x2a, 0x3e, 0x27, 0x41,
-+ 0x7f, 0x05, 0x1f, 0x67, 0x04, 0x07, 0x00, 0x00,
-+ 0x70, 0x54, 0x9c, 0xf0, 0x50, 0x70, 0xcc, 0x00,
-+ 0xfc, 0x40, 0xf0, 0xcc, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2b, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0e, 0x73, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x17, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x11,
-+ 0x15, 0x19, 0x61, 0x00, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xfc, 0x24,
-+ 0x24, 0x24, 0x24, 0x2c, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0b, 0x0f, 0x72, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xfc, 0xa0, 0xa0, 0xbc,
-+ 0xa4, 0xa4, 0x44, 0x44, 0x84, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5e, 0x08, 0x7e,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x48, 0x48, 0xc8,
-+ 0xa8, 0xd8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x3f, 0x09, 0x7f, 0x09, 0x3f, 0x3f, 0x7f,
-+ 0x3f, 0x29, 0x3f, 0x3f, 0x07, 0x78, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0xc8, 0x48, 0x48, 0x48, 0xc8,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x52, 0x52, 0x5f, 0x55, 0x55,
-+ 0x5d, 0x7d, 0x55, 0x49, 0x09, 0x13, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x10, 0xfc, 0x28, 0x68,
-+ 0xec, 0xac, 0x6c, 0x48, 0x48, 0x98, 0x00, 0x00,
-+ 0x02, 0x02, 0x07, 0x0c, 0x12, 0x21, 0x03, 0x0c,
-+ 0x7f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x20, 0x40, 0x80, 0x40, 0x30,
-+ 0xec, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x10, 0x17, 0x14, 0x17,
-+ 0x10, 0x17, 0x21, 0x2f, 0x41, 0x03, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xfc, 0x24, 0xa8, 0xb0, 0xa8,
-+ 0x24, 0xa4, 0xa4, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x1d,
-+ 0x71, 0x11, 0x12, 0x12, 0x17, 0x38, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x50, 0x48, 0x7c, 0x84, 0x04, 0x00, 0x00,
-+ 0x12, 0x11, 0x13, 0x7e, 0x15, 0x11, 0x11, 0x1d,
-+ 0x71, 0x11, 0x11, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x88, 0x50, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x09, 0x18, 0x1c, 0x1a,
-+ 0x2b, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x50, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x09, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x29, 0x48, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x48, 0x88, 0x50, 0x20,
-+ 0x48, 0x90, 0x30, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3f, 0x22,
-+ 0x5c, 0x14, 0x14, 0x16, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x54, 0x54, 0x8c, 0x00, 0xf8,
-+ 0x88, 0x50, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x09, 0x4f, 0x31, 0x11, 0x33, 0x4d, 0x09, 0x19,
-+ 0x29, 0x4b, 0x08, 0x08, 0x30, 0x17, 0x00, 0x00,
-+ 0x10, 0xfc, 0x30, 0xfc, 0x20, 0xf8, 0xf8, 0x20,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x11, 0x12, 0x3c, 0x25, 0x67,
-+ 0x25, 0x25, 0x3d, 0x25, 0x21, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x90, 0xa0, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x0b, 0x70, 0x11, 0x13, 0x7d, 0x11, 0x19,
-+ 0x35, 0x37, 0x50, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x90, 0xfc, 0xb0, 0xfc, 0x20, 0xf8, 0xf8, 0x20,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x12, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x02, 0x07, 0x18, 0x61, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x11, 0x1f, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xe0, 0x80, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x08, 0x7f, 0x14, 0x36,
-+ 0x35, 0x55, 0x16, 0x24, 0x24, 0x4d, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x50, 0xd0,
-+ 0xd8, 0x54, 0x54, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x09, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x50, 0x88, 0x94, 0x90,
-+ 0x50, 0x60, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x00, 0x1f, 0x11, 0x1f, 0x00, 0x3f,
-+ 0x02, 0x07, 0x7c, 0x04, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x23, 0x2e,
-+ 0x21, 0x22, 0x3f, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xc8, 0x48,
-+ 0x88, 0xc8, 0xf8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x29, 0x29, 0x31, 0x28, 0x27,
-+ 0x26, 0x27, 0x3a, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0xa8, 0x38, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x07, 0x01, 0x1f, 0x11,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xc0, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x3f, 0x20, 0x4f, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x40, 0x80,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x7f,
-+ 0x01, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0xc0, 0x00, 0x00, 0xf8, 0x40, 0x40, 0xfc,
-+ 0x00, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x22, 0x17, 0x14, 0x07, 0x1c, 0x67, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x08, 0xc8, 0x50, 0xe0, 0x58, 0xc4, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x3f, 0x29, 0x4e, 0x12, 0x34, 0x0c,
-+ 0x12, 0x3f, 0x52, 0x12, 0x1e, 0x13, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x77, 0x55, 0x55, 0x77, 0x00, 0x3e, 0x00,
-+ 0x7f, 0x10, 0x1e, 0x22, 0x02, 0x0f, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x79, 0x11, 0x17, 0x19, 0x11,
-+ 0x37, 0x51, 0x11, 0x11, 0x1e, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0xd0, 0x10, 0x10, 0xf8, 0x14, 0x14,
-+ 0xf0, 0x10, 0x10, 0xd0, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x18, 0x25, 0x45, 0x01, 0x3f,
-+ 0x00, 0x08, 0x04, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x10, 0x00, 0xf8,
-+ 0x20, 0x20, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x3a, 0x37,
-+ 0x34, 0x53, 0x50, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xe8, 0x50, 0xd0, 0xa8, 0xc4,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x7d, 0x11, 0x19, 0x35, 0x37,
-+ 0x31, 0x51, 0x51, 0x11, 0x11, 0x17, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x50, 0xf0, 0x50, 0xf0, 0xf8,
-+ 0xf0, 0x50, 0xf0, 0x50, 0xf0, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x0a, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf0, 0x40, 0xf8,
-+ 0x40, 0xfc, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3f, 0x05, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x30, 0xd0, 0x90, 0x94, 0xb4, 0xf4, 0xb8, 0xd0,
-+ 0xf0, 0xa8, 0xa8, 0xc8, 0xc4, 0x84, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x01, 0x13,
-+ 0x16, 0x2a, 0x25, 0x45, 0x48, 0x40, 0x00, 0x00,
-+ 0x80, 0x38, 0x08, 0xb8, 0x08, 0xf8, 0x00, 0xfc,
-+ 0x24, 0x94, 0x54, 0x44, 0x04, 0x18, 0x00, 0x00,
-+ 0x08, 0x7f, 0x49, 0x7f, 0x08, 0x3e, 0x08, 0x7f,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x4a, 0x4b, 0x48, 0x49,
-+ 0x4e, 0x7b, 0x4a, 0x42, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x80, 0xf8,
-+ 0x68, 0x88, 0x08, 0x28, 0xe8, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x18, 0x35, 0x37, 0x34, 0x50,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x17, 0x10, 0x1c,
-+ 0x73, 0x12, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x20, 0x27, 0x00, 0x10,
-+ 0x13, 0x12, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x01, 0x13,
-+ 0x16, 0x1b, 0x22, 0x22, 0x41, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x48, 0x88, 0x08, 0x28, 0xe8, 0x30, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x27, 0x04, 0x17,
-+ 0x1a, 0x13, 0x22, 0x23, 0x42, 0x42, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x90, 0xfc, 0x04, 0xf8,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x07, 0x18, 0x6f, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0xf8, 0xc8, 0x08, 0x48, 0xc8, 0x70, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x0b, 0x14, 0x19,
-+ 0x37, 0x55, 0x11, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x80, 0xf8,
-+ 0x28, 0xc8, 0x08, 0x28, 0xe8, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x09, 0x3f, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x24, 0xf8, 0x20, 0xf8, 0x20,
-+ 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x08,
-+ 0x0f, 0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x20,
-+ 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x1f, 0x25, 0x7f, 0x2b, 0x3f, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x44, 0xf4, 0x28, 0xe8, 0x54, 0xe4,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x48, 0x4f, 0x48, 0x48,
-+ 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x7e, 0x08, 0x1c, 0x1a, 0x1b,
-+ 0x29, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0x40, 0x64, 0xa4, 0xa8,
-+ 0xb0, 0xa0, 0xa0, 0xa4, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7d, 0x13, 0x19, 0x37, 0x35,
-+ 0x33, 0x50, 0x57, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf8, 0x50, 0xfc, 0x50,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1d, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x88, 0xe8, 0x28, 0x28, 0xe8,
-+ 0xb0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1a, 0x1f, 0x1a,
-+ 0x2a, 0x28, 0x49, 0x0a, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0x20, 0x20, 0xfc, 0x60,
-+ 0x70, 0xb0, 0x28, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x09, 0x37, 0x24, 0x27, 0x24, 0x37, 0x20,
-+ 0x04, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x80, 0x00, 0xf8, 0x48, 0xc8, 0x48, 0xd8, 0x08,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x2d, 0x77, 0x3f, 0x0f, 0x0f, 0x09,
-+ 0x0f, 0x1f, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0xf8, 0xe0, 0xe0, 0x20,
-+ 0xe0, 0xf0, 0xf0, 0x14, 0xf4, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x0f, 0x48, 0x23,
-+ 0x2a, 0x0b, 0x12, 0x13, 0x22, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x48, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xf8, 0x48, 0x58, 0x00, 0x00,
-+ 0x02, 0x0c, 0x32, 0x01, 0x02, 0x0c, 0x7f, 0x01,
-+ 0x1f, 0x09, 0x05, 0x05, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x30, 0x48, 0x80, 0xc0, 0x30, 0xec, 0x00,
-+ 0xf0, 0x20, 0x20, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x10, 0x1b, 0x24, 0x27, 0x78, 0x13, 0x7c,
-+ 0x13, 0x54, 0x39, 0x32, 0x1c, 0x60, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc, 0xa8,
-+ 0xf8, 0xa8, 0xb0, 0xa8, 0xa4, 0xa0, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x4f, 0x4b, 0x4a, 0x4a,
-+ 0x4b, 0x7a, 0x4b, 0x42, 0x03, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0xfc, 0x58, 0xd8, 0xe8,
-+ 0xf8, 0xe8, 0x58, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7c, 0x55, 0x55, 0x7d, 0x55, 0x55, 0x7d,
-+ 0x55, 0x11, 0x11, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x20, 0x40, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x04, 0x03, 0x7f,
-+ 0x01, 0x03, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0xc0, 0x00, 0xfc,
-+ 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x20, 0x7f, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x08, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x71, 0x19, 0x15, 0x75, 0x41, 0x4f, 0x71,
-+ 0x53, 0x13, 0x15, 0x19, 0x11, 0x61, 0x00, 0x00,
-+ 0x00, 0x38, 0x48, 0x48, 0xb8, 0x20, 0xe0, 0x38,
-+ 0xa8, 0x48, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x22, 0x12, 0x0c, 0x04, 0x06,
-+ 0x0a, 0x09, 0x11, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x02, 0x22, 0x12,
-+ 0x0c, 0x04, 0x0c, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x08, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x07, 0x04, 0x04, 0x06,
-+ 0x09, 0x09, 0x08, 0x09, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0xc4, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x22, 0x3e, 0x22,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0x00, 0xf8, 0x10, 0x20,
-+ 0x40, 0x40, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x12, 0x33, 0x50, 0x12,
-+ 0x12, 0x12, 0x12, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x00, 0x90,
-+ 0x90, 0x90, 0x90, 0x94, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x7e, 0x00, 0x01, 0x7f, 0x14,
-+ 0x14, 0x14, 0x14, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x10, 0x10, 0xfc, 0x10, 0x90,
-+ 0x90, 0x10, 0x10, 0x34, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x7f, 0x04, 0x1f, 0x04, 0x7f,
-+ 0x04, 0x1b, 0x60, 0x06, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x40, 0xf0, 0x40, 0xfc,
-+ 0x40, 0x30, 0x8c, 0x00, 0x80, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x7f, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x12, 0x12, 0x7f, 0x12, 0x1e, 0x12, 0x1e, 0x12,
-+ 0x7f, 0x2c, 0x2d, 0x33, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0xc8, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x3f, 0x28, 0x5f, 0x14, 0x3f, 0x64,
-+ 0x3f, 0x24, 0x3f, 0x24, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x3f, 0x02, 0x7f, 0x04, 0x1f,
-+ 0x60, 0x0f, 0x08, 0x08, 0x08, 0x07, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf8, 0x80, 0xfc, 0x40, 0xf0,
-+ 0x4c, 0xc0, 0x40, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x4a, 0x4f, 0x4a, 0x4a, 0x4a,
-+ 0x4b, 0x7a, 0x4f, 0x40, 0x03, 0x0c, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0xa8, 0xa8, 0xb8,
-+ 0x28, 0x48, 0xfc, 0xa0, 0x18, 0x04, 0x00, 0x00,
-+ 0x01, 0x17, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x17,
-+ 0x12, 0x1a, 0x63, 0x02, 0x03, 0x02, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0xfc,
-+ 0xa0, 0xa8, 0x18, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x04, 0x0e, 0x03, 0x1c, 0x08,
-+ 0x7f, 0x12, 0x34, 0x0c, 0x1a, 0x61, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x40, 0x80, 0xc0, 0x30, 0x20,
-+ 0xfc, 0x48, 0xd0, 0x30, 0x68, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x4f, 0x00, 0x00, 0x7f,
-+ 0x04, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xe0, 0x00, 0x00, 0xfc,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x4f, 0x08, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x7f, 0x04, 0x0f, 0x08, 0x0f,
-+ 0x0f, 0x08, 0x0f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x40, 0xe0, 0x20, 0xe0,
-+ 0xe0, 0x20, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x22, 0x3e, 0x22,
-+ 0x3f, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x88, 0x04, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x0f, 0x09, 0x0f, 0x01, 0x1f, 0x11, 0x1f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x2f, 0x29,
-+ 0x4f, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x90, 0x88, 0xfc, 0x88, 0x48, 0x50, 0x20, 0x54,
-+ 0x8c, 0x04, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x17, 0x3a, 0x37, 0x37, 0x52,
-+ 0x13, 0x13, 0x12, 0x13, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xfc, 0x50, 0xf0, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x36, 0x37, 0x33, 0x55,
-+ 0x18, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x28, 0xfc, 0x20, 0xe8, 0x28, 0xd0, 0x54, 0xec,
-+ 0x84, 0x50, 0x48, 0x14, 0x14, 0xf0, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7f, 0x12, 0x12, 0x13, 0x1a,
-+ 0x70, 0x17, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0xf8, 0xa8, 0xa8, 0x38, 0x58,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x04, 0x7f, 0x12, 0x1f, 0x12,
-+ 0x1e, 0x13, 0x1e, 0x62, 0x02, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0xfc, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88,
-+ 0x88, 0xf8, 0x88, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x7e, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3f, 0x00,
-+ 0x7f, 0x0c, 0x2a, 0x2a, 0x49, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x7f, 0x14, 0x1f, 0x34,
-+ 0x5f, 0x14, 0x1f, 0x14, 0x1f, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x40, 0x20, 0x20, 0x07, 0x08,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x23, 0x22, 0x03, 0x10,
-+ 0x13, 0x10, 0x27, 0x20, 0x41, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x20, 0x1f, 0x19, 0x4f, 0x29, 0x2f, 0x08, 0x0b,
-+ 0x1a, 0x1b, 0x2a, 0x2b, 0x4a, 0x48, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x78, 0x48, 0x78, 0x08, 0xe8,
-+ 0x28, 0xe8, 0x28, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x11, 0x09, 0x0b, 0x42, 0x27, 0x29, 0x03, 0x12,
-+ 0x17, 0x2a, 0x23, 0x42, 0x43, 0x42, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x80, 0xfc, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x13, 0x10, 0x17, 0x7d, 0x11,
-+ 0x11, 0x14, 0x19, 0x66, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x00, 0xfc, 0xf0, 0x10,
-+ 0xf8, 0xc8, 0xb0, 0x90, 0x8c, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08,
-+ 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20,
-+ 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x22, 0x3f, 0x24, 0x3f,
-+ 0x20, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x80, 0x00, 0x78, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x02, 0x3f, 0x02, 0x7f, 0x04, 0x07,
-+ 0x0c, 0x0f, 0x14, 0x27, 0x44, 0x07, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xf8, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x25, 0x42, 0x3f, 0x01,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x10, 0xf8, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x45, 0x3f, 0x20, 0x4f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xfc, 0x08, 0xe0, 0x20,
-+ 0xe0, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x3f, 0x24, 0x27, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x48, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x17, 0x0c, 0x13, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x29, 0x4a, 0x0b, 0x00, 0x00,
-+ 0x1c, 0xe4, 0xa8, 0x50, 0xfc, 0x40, 0xfc, 0x40,
-+ 0x78, 0xc8, 0xb0, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x11, 0x21, 0x7f, 0x01,
-+ 0x11, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x23, 0x3e, 0x23,
-+ 0x3e, 0x08, 0x7f, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x90, 0x08, 0xfc, 0x48, 0x68,
-+ 0xd8, 0xd8, 0x68, 0x68, 0x48, 0xd8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x24, 0x3c, 0x27, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x11, 0x3d, 0x25, 0x35, 0x2d, 0x2d, 0x7f,
-+ 0x24, 0x2d, 0x2d, 0x2d, 0x25, 0x4f, 0x00, 0x00,
-+ 0x10, 0xf0, 0x50, 0xfc, 0x30, 0xe0, 0x5c, 0xe0,
-+ 0x00, 0xf8, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x3f, 0x20, 0x4f,
-+ 0x00, 0x3f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x08, 0xe0,
-+ 0x00, 0xfc, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x3e, 0x48, 0x7f, 0x14, 0x3f, 0x68,
-+ 0x3e, 0x28, 0x3e, 0x28, 0x3f, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3c, 0x25, 0x26, 0x3c, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x7f, 0x12, 0x1f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xfc, 0x40, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x27, 0x15, 0x17, 0x00, 0x0f, 0x73, 0x12,
-+ 0x13, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xf8, 0x00, 0xfc, 0xf0, 0x10,
-+ 0xf8, 0xc8, 0xb0, 0x88, 0x80, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x1a, 0x27, 0x26, 0x7b, 0x12, 0x7f,
-+ 0x12, 0x55, 0x39, 0x31, 0x1f, 0x60, 0x00, 0x00,
-+ 0x10, 0xd0, 0x90, 0xdc, 0x60, 0xc0, 0x9c, 0xc0,
-+ 0x00, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x27,
-+ 0x24, 0x27, 0x24, 0x27, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xc8,
-+ 0x48, 0xc8, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x21,
-+ 0x2f, 0x23, 0x25, 0x29, 0x21, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x08,
-+ 0xe8, 0x88, 0x48, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x24, 0x22,
-+ 0x27, 0x21, 0x2f, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x48, 0x88,
-+ 0xc8, 0x08, 0xe8, 0x88, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x28, 0x31, 0x2a, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x90, 0x10, 0x20, 0x78, 0x48,
-+ 0x48, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x09, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x3e, 0x08, 0x7e, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0xf8, 0x28, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x10, 0xf8, 0x90, 0xfc, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x1b, 0x28, 0x7e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x26, 0x39, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0xf0, 0x90, 0x90, 0xf0,
-+ 0x80, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x7e, 0x08, 0x7e,
-+ 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0xf0, 0x90, 0x90, 0xf0,
-+ 0x80, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x7f, 0x02, 0x02, 0x1a,
-+ 0x06, 0x05, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0xc4, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x1f, 0x60, 0x1f, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xe0, 0x40,
-+ 0x80, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x00, 0x1f, 0x10, 0x17,
-+ 0x10, 0x10, 0x2f, 0x20, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x80, 0x80, 0xf8, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x11, 0x1f, 0x09, 0x3f, 0x2f, 0x22, 0x3f,
-+ 0x29, 0x2f, 0x2f, 0x2f, 0x39, 0x41, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x10, 0xfc, 0x20, 0x20, 0xbc,
-+ 0x48, 0xa8, 0x10, 0xb0, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x01, 0x7c, 0x10, 0x10, 0x13, 0x7c, 0x10,
-+ 0x10, 0x11, 0x1d, 0x62, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0xa0, 0xa0,
-+ 0xa0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x49, 0x29, 0x29, 0x0f, 0x1c,
-+ 0x2f, 0x4c, 0x12, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0xbc, 0xa4,
-+ 0xbc, 0x44, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x79, 0x49, 0x49, 0x79, 0x49, 0x49, 0x79,
-+ 0x49, 0x49, 0x79, 0x49, 0x41, 0x06, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf8,
-+ 0x48, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x00, 0x7f, 0x04, 0x04,
-+ 0x0f, 0x0c, 0x14, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x4c, 0x2a, 0x1b, 0x6c, 0x19, 0x08,
-+ 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0x80, 0x80, 0xfc, 0xb0, 0x30,
-+ 0x30, 0x30, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x14, 0x1d, 0x16, 0x14, 0x13,
-+ 0x13, 0x13, 0x22, 0x23, 0x43, 0x1c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0xfc, 0xf8, 0xf8, 0xfc, 0xf0,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x14, 0x14, 0x1d, 0x16,
-+ 0x14, 0x14, 0x24, 0x24, 0x44, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x01, 0x3e, 0x00, 0x00, 0x7f, 0x14, 0x14,
-+ 0x14, 0x15, 0x23, 0x20, 0x41, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x22, 0x14, 0x3f, 0x24, 0x28,
-+ 0x32, 0x24, 0x39, 0x22, 0x4c, 0x33, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x24, 0x2f, 0x29, 0x2f, 0x29,
-+ 0x2f, 0x26, 0x2d, 0x35, 0x44, 0x0d, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x19, 0x61, 0x01, 0x09,
-+ 0x09, 0x09, 0x09, 0x09, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x30, 0x53, 0x11,
-+ 0x11, 0x10, 0x10, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x08,
-+ 0x10, 0x90, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x02, 0x07, 0x18, 0x61, 0x1f, 0x10, 0x13, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0x00, 0xfc, 0x00, 0xf0, 0x10,
-+ 0x10, 0x10, 0x60, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x04, 0x7f, 0x00, 0x1f, 0x10, 0x1f, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0x00, 0x1e, 0x12, 0x12, 0x1e, 0x01, 0x7f, 0x04,
-+ 0x18, 0x7e, 0x12, 0x12, 0x1e, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0xf0, 0x00, 0xfc, 0x40,
-+ 0x30, 0xfc, 0x90, 0x90, 0xf0, 0x90, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x07, 0x04, 0x07, 0x04, 0x7f,
-+ 0x09, 0x1f, 0x61, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xc0, 0x40, 0xc0, 0x40, 0xfc,
-+ 0x20, 0xf0, 0x0c, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x02, 0x04, 0x18, 0x7f, 0x00,
-+ 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x80, 0x40, 0x20, 0xfc, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x13, 0x7d, 0x25, 0x25, 0x24,
-+ 0x7b, 0x48, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xf8, 0x08, 0xf8, 0x90,
-+ 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x21, 0x5f, 0x02, 0x0c, 0x7f,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf8, 0x40, 0x20, 0xfc,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x17, 0x54, 0x54, 0x57, 0x55,
-+ 0x54, 0x7c, 0x44, 0x40, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x08,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x06, 0x01, 0x07, 0x39, 0x02, 0x7f, 0x04, 0x0f,
-+ 0x18, 0x28, 0x48, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x20, 0xc0, 0x60, 0x10, 0x00, 0xfc, 0x80, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xb0, 0x80, 0x00, 0x00,
-+ 0x11, 0x15, 0x65, 0x19, 0x0d, 0x13, 0x7f, 0x01,
-+ 0x3f, 0x08, 0x0c, 0x12, 0x21, 0x46, 0x00, 0x00,
-+ 0x20, 0x28, 0xc8, 0x30, 0x30, 0x48, 0xfc, 0x10,
-+ 0xfc, 0x90, 0xa0, 0x44, 0xb4, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x0f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x08, 0xf8,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x10, 0x13, 0x12, 0x1f,
-+ 0x72, 0x13, 0x10, 0x17, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x49, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x13, 0x10, 0x1c, 0x14,
-+ 0x14, 0x14, 0x27, 0x24, 0x44, 0x1b, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x90, 0xfc, 0x90, 0xf0, 0x90,
-+ 0xf0, 0x90, 0xfc, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x23, 0x3e,
-+ 0x28, 0x24, 0x26, 0x3a, 0x61, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0x50, 0x50, 0x50, 0xfc, 0x30,
-+ 0x30, 0x50, 0x50, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x12, 0x1e, 0x12, 0x1e,
-+ 0x12, 0x7f, 0x14, 0x12, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xc8, 0x78, 0x48, 0x48, 0x78,
-+ 0x48, 0xc8, 0x48, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x2b, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0,
-+ 0x90, 0xfc, 0x90, 0x88, 0x04, 0x04, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x1f, 0x09, 0x7f, 0x09, 0x0f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xe0, 0x30, 0xfc, 0x20, 0xe0,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x16, 0x7e, 0x11, 0x1a, 0x37, 0x34,
-+ 0x33, 0x52, 0x53, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xd4, 0x48, 0xd4, 0xfc, 0x50,
-+ 0xfc, 0x28, 0x28, 0x90, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x09, 0x28, 0x2b, 0x28, 0x4f,
-+ 0x0c, 0x0b, 0x0a, 0x12, 0x12, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xfc,
-+ 0x44, 0xf8, 0x48, 0x48, 0x58, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x12, 0x0c, 0x7f, 0x19, 0x6d,
-+ 0x16, 0x6d, 0x15, 0x64, 0x04, 0x1b, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x94, 0x0c, 0xf8,
-+ 0x48, 0x50, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x2f, 0x40, 0x3f, 0x01,
-+ 0x01, 0x1a, 0x06, 0x05, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xe0, 0x00, 0xe0, 0x20,
-+ 0x20, 0x20, 0x14, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x0b, 0x42, 0x25, 0x20, 0x07, 0x00,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xf0, 0x10,
-+ 0x10, 0x10, 0x14, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x11, 0x15, 0x65, 0x19, 0x15, 0x7f, 0x02, 0x7f,
-+ 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x21, 0x00, 0x00,
-+ 0x20, 0x28, 0xc8, 0x30, 0x28, 0xfc, 0xa4, 0xfc,
-+ 0x88, 0x48, 0x50, 0x20, 0x54, 0x8c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x04, 0x08, 0x0c, 0x1a,
-+ 0x2a, 0x48, 0x09, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x6f,
-+ 0x00, 0x01, 0x7f, 0x01, 0x01, 0x07, 0x00, 0x00,
-+ 0x60, 0x80, 0x00, 0xfc, 0x80, 0x40, 0x30, 0xec,
-+ 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x09, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1b, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0xd0, 0x30, 0xc8, 0x40, 0xfc, 0xa0, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7d,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x88, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x12, 0x1a, 0x2a, 0x4f, 0x14, 0x15, 0x3d, 0x62,
-+ 0x25, 0x3f, 0x2a, 0x2b, 0x32, 0x22, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0x7c, 0x48, 0xc8, 0x28,
-+ 0x28, 0xb0, 0x90, 0x30, 0xc8, 0x84, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x3f, 0x09, 0x09, 0x7f, 0x09,
-+ 0x09, 0x08, 0x15, 0x15, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0xa8, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x7f, 0x00, 0x3e, 0x00, 0x3e,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x88, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x0f, 0x09, 0x0f, 0x7f, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xfc, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x08, 0x7f, 0x08, 0x28,
-+ 0x2f, 0x28, 0x38, 0x28, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x88, 0x80,
-+ 0x80, 0x84, 0x84, 0x7c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x70, 0xd0, 0x50, 0x50, 0x50,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x4b, 0x2b, 0x2c, 0x08, 0x7f, 0x14,
-+ 0x14, 0x15, 0x16, 0x25, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x28, 0xfc, 0x20, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1a, 0x28, 0x7e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x28, 0x25, 0x3b, 0x62, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3e, 0x28, 0x3e, 0x29, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x50, 0x88, 0xfc, 0x08,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x15,
-+ 0x05, 0x05, 0x09, 0x09, 0x11, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0x20, 0x20, 0x50, 0xfc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x02, 0x03, 0x0c, 0x7f, 0x09, 0x0f, 0x0f, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0xe0, 0x20, 0xe0, 0xe0, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x0a, 0x09, 0x09, 0x17, 0x10, 0x30, 0x51, 0x11,
-+ 0x13, 0x15, 0x1c, 0x12, 0x12, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xf8, 0x08,
-+ 0xfc, 0x54, 0xac, 0x84, 0x04, 0x18, 0x00, 0x00,
-+ 0x09, 0x08, 0x0f, 0x10, 0x13, 0x30, 0x57, 0x13,
-+ 0x11, 0x1f, 0x11, 0x17, 0x11, 0x13, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xa8,
-+ 0x24, 0xfc, 0xa8, 0x10, 0x6c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x08, 0x7e, 0x13, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x11, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x88, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x4f, 0x08, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xc0, 0x40, 0x40, 0xc0,
-+ 0x40, 0xc0, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x07, 0x04, 0x3f, 0x27, 0x3d, 0x23, 0x2a,
-+ 0x2a, 0x3b, 0x3a, 0x2b, 0x4c, 0x30, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xa0, 0x3c, 0xe0, 0x28, 0x28,
-+ 0xb0, 0x10, 0x34, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x13, 0x1d,
-+ 0x70, 0x10, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x08,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x14, 0x15, 0x16, 0x7c, 0x13, 0x12, 0x13, 0x1d,
-+ 0x77, 0x11, 0x13, 0x12, 0x14, 0x39, 0x00, 0x00,
-+ 0x00, 0xfc, 0x28, 0x90, 0x90, 0x7c, 0x98, 0x50,
-+ 0xdc, 0x50, 0x50, 0xf0, 0x90, 0x0c, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x12, 0x1e, 0x13, 0x1e,
-+ 0x12, 0x7f, 0x12, 0x11, 0x21, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x7c, 0xa8, 0x30, 0x20,
-+ 0x20, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x09, 0x08, 0x2b, 0x28, 0x3d, 0x28, 0x4b, 0x0d,
-+ 0x18, 0x6f, 0x08, 0x0b, 0x08, 0x09, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xe8,
-+ 0xa4, 0xfc, 0xe8, 0x94, 0xac, 0xc4, 0x00, 0x00,
-+ 0x20, 0x27, 0x38, 0x22, 0x1e, 0x11, 0x1e, 0x28,
-+ 0x7e, 0x08, 0x14, 0x13, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0x20, 0xfc, 0x28, 0xb0,
-+ 0xa0, 0xb8, 0xa0, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x05, 0x09, 0x09, 0x19,
-+ 0x35, 0x55, 0x11, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x10, 0x14, 0x14, 0xcc, 0x0c, 0x04, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x06, 0x38,
-+ 0x7f, 0x08, 0x0e, 0x78, 0x08, 0x1b, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x90, 0x88,
-+ 0xfc, 0x48, 0x50, 0x24, 0xd4, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x54, 0x57, 0x54, 0x7f,
-+ 0x53, 0x18, 0x14, 0x1f, 0x60, 0x01, 0x00, 0x00,
-+ 0x90, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xa8, 0xa4,
-+ 0xfc, 0xa8, 0xd8, 0x94, 0xec, 0x84, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7e, 0x03, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x38, 0x07, 0x78, 0x03, 0x38, 0x07, 0x3b,
-+ 0x01, 0x3f, 0x29, 0x2f, 0x39, 0x2b, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xa8,
-+ 0x24, 0xfc, 0xa8, 0x14, 0x6c, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x12, 0x14, 0x12, 0x1a,
-+ 0x77, 0x11, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x88, 0xa8, 0xa8, 0xc8,
-+ 0xf8, 0xc8, 0xa8, 0x98, 0x88, 0xb0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x0c, 0x08, 0x1f, 0x12, 0x2a,
-+ 0x4a, 0x3f, 0x07, 0x0a, 0x32, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x48, 0x48,
-+ 0x88, 0xe8, 0x08, 0xc8, 0x28, 0x30, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1d, 0x0b, 0x3e, 0x2b,
-+ 0x3e, 0x08, 0x7f, 0x0a, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0xc8, 0x58, 0x58, 0xe8, 0xf8,
-+ 0xe8, 0xd8, 0x58, 0x48, 0x48, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x3f, 0x00,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x79, 0x4a, 0x4a, 0x4d, 0x48,
-+ 0x48, 0x78, 0x49, 0x42, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x20,
-+ 0x40, 0x80, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x52, 0x5f, 0x52, 0x53, 0x5e,
-+ 0x50, 0x7f, 0x50, 0x41, 0x06, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0x28, 0xa8, 0x28, 0xc8, 0x58,
-+ 0x80, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x10, 0x1b, 0x34, 0x37,
-+ 0x32, 0x53, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0xa0, 0xfc, 0xc8, 0x50, 0xc0, 0xf8,
-+ 0xa8, 0x38, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x01, 0x3c,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x08, 0x08, 0x10, 0x1e, 0x32,
-+ 0x52, 0x12, 0x12, 0x1e, 0x10, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x3c, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1a, 0x1c, 0x1b,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x20, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x03,
-+ 0x0d, 0x79, 0x07, 0x0d, 0x31, 0x03, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x80,
-+ 0x60, 0x3c, 0xc0, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x08, 0x08, 0x7f, 0x08,
-+ 0x0c, 0x12, 0x13, 0x7d, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x47, 0x0c, 0x32, 0x03,
-+ 0x0c, 0x7f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xe0, 0x40, 0x80, 0x80,
-+ 0x70, 0xec, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x39, 0x29, 0x2f, 0x39, 0x29, 0x2f, 0x39,
-+ 0x29, 0x2a, 0x2a, 0x2f, 0x28, 0x58, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0xe8, 0x28, 0x28, 0xe8, 0x28,
-+ 0x28, 0xa8, 0xf8, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x12, 0x1f, 0x11, 0x10,
-+ 0x17, 0x14, 0x27, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0xe8, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x02, 0x21, 0x11, 0x17, 0x00, 0x02, 0x02, 0x72,
-+ 0x13, 0x12, 0x10, 0x18, 0x27, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x40, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x80, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x03, 0x04, 0x04, 0x08, 0x10,
-+ 0x20, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x40, 0x40,
-+ 0xc0, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x11, 0x11, 0x3f, 0x51, 0x11,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x24, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x17, 0x30, 0x50, 0x10,
-+ 0x11, 0x11, 0x12, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0xe0, 0xe0,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x04, 0x04, 0x06, 0x0a, 0x09,
-+ 0x09, 0x08, 0x10, 0x10, 0x23, 0x4c, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x40, 0x40, 0xf0, 0x10, 0x10,
-+ 0x20, 0xa0, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x07, 0x79, 0x49, 0x49, 0x49, 0x49, 0x49,
-+ 0x7a, 0x4a, 0x42, 0x04, 0x09, 0x16, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x20, 0x20, 0xf8, 0x88, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x4f, 0x08, 0x08, 0x0f,
-+ 0x01, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00,
-+ 0x02, 0x07, 0x08, 0x3f, 0x00, 0x0f, 0x00, 0x1f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x0a, 0x09, 0x7f, 0x08, 0x4a, 0x2b, 0x2c,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x1b, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x88, 0x88, 0x50, 0x50,
-+ 0x30, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x29, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0xf8, 0x88, 0x88,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x31, 0x09,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0x10, 0x10, 0xfc, 0x00, 0x88, 0x88, 0x50,
-+ 0x60, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00,
-+ 0x20, 0x17, 0x12, 0x42, 0x22, 0x23, 0x03, 0x12,
-+ 0x12, 0x12, 0x24, 0x24, 0x48, 0x53, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x20, 0x20, 0x78, 0x08, 0x90,
-+ 0x90, 0x60, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x22, 0x01, 0x09,
-+ 0x08, 0x10, 0x10, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x10, 0x10, 0x10, 0x10,
-+ 0x90, 0xa0, 0xa0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x03, 0x0c, 0x31, 0x02, 0x0d, 0x71, 0x01,
-+ 0x11, 0x12, 0x22, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0x80, 0x40, 0x30, 0x0c, 0x10,
-+ 0x10, 0xa0, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x13, 0x10, 0x12, 0x7d, 0x11,
-+ 0x10, 0x14, 0x19, 0x66, 0x00, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x48, 0x68, 0x70,
-+ 0x50, 0xd0, 0x48, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x04, 0x09, 0x11,
-+ 0x3f, 0x02, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x80, 0x88, 0x78, 0x00,
-+ 0xc0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x48, 0x14, 0x1e, 0x12, 0x1e,
-+ 0x1e, 0x12, 0x7e, 0x06, 0x1a, 0x66, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x90, 0x70, 0xf0, 0x10, 0xf0,
-+ 0x80, 0xf8, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x5f, 0x04, 0x04,
-+ 0x06, 0x0a, 0x09, 0x10, 0x23, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xe0, 0x20, 0x40,
-+ 0xf0, 0x10, 0x20, 0xc0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2b, 0x49, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xb8, 0xc8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7d,
-+ 0x08, 0x2c, 0x2b, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x10, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x9c, 0xf0, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x00, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x20, 0x27, 0x24, 0x24, 0x24, 0x24, 0x27, 0x24,
-+ 0x24, 0x24, 0x24, 0x27, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x1f, 0x11, 0x21, 0x01,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x01, 0x01, 0x01, 0x7f,
-+ 0x02, 0x02, 0x04, 0x08, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x40, 0x20, 0xf0, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x1f, 0x10,
-+ 0x10, 0x17, 0x24, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0x80, 0xfc, 0x80,
-+ 0x80, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x3f, 0x20, 0x20, 0x20,
-+ 0x3f, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x20,
-+ 0xe0, 0x20, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x09, 0x09, 0x0f,
-+ 0x79, 0x09, 0x09, 0x09, 0x09, 0x19, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x12, 0x12, 0x7a, 0x17, 0x15, 0x15, 0x1b,
-+ 0x72, 0x12, 0x15, 0x19, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x90, 0x94, 0x14, 0x0c, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x7f, 0x04, 0x08, 0x1f, 0x61,
-+ 0x1f, 0x01, 0x3f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x40, 0x60, 0x98, 0x04,
-+ 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x4a, 0x23, 0x22, 0x0b, 0x0a, 0x13,
-+ 0x21, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x11,
-+ 0x19, 0x15, 0x25, 0x21, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0xe8, 0x08, 0xf8, 0x40,
-+ 0x48, 0x48, 0x50, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3e, 0x00, 0x3f,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x80, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x08, 0x09, 0x41, 0x22, 0x27, 0x02, 0x13,
-+ 0x12, 0x13, 0x20, 0x25, 0x44, 0x48, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x00, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x12, 0x13, 0x2d, 0x4f, 0x11, 0x35, 0x55, 0x15,
-+ 0x1e, 0x1f, 0x00, 0x7f, 0x19, 0x63, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xe8, 0x28, 0xe8, 0x28, 0xf8,
-+ 0x20, 0xf0, 0x00, 0xfc, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x07, 0x08, 0x11, 0x3f, 0x51, 0x1f, 0x11,
-+ 0x11, 0x1f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x1f,
-+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xe0,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x1f,
-+ 0x00, 0x01, 0x7f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xe0,
-+ 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x08, 0x0f,
-+ 0x01, 0x09, 0x09, 0x11, 0x21, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x11, 0x17, 0x31, 0x51, 0x11,
-+ 0x1f, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x20,
-+ 0xfc, 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x12, 0x31, 0x51, 0x1f,
-+ 0x10, 0x10, 0x10, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x48, 0x48, 0x50, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x1f, 0x11, 0x33, 0x55, 0x19,
-+ 0x17, 0x14, 0x15, 0x15, 0x15, 0x14, 0x00, 0x00,
-+ 0x30, 0xc0, 0x80, 0xfc, 0x20, 0xf0, 0x28, 0xe4,
-+ 0xf8, 0x08, 0xe8, 0x28, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x20, 0x2d, 0x23, 0x22, 0x24, 0x28, 0x3f,
-+ 0x24, 0x04, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x80, 0x90, 0x10, 0x10, 0x90, 0x90, 0x10, 0xf0,
-+ 0x90, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x14, 0x14, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x14, 0x15, 0x26, 0x45, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x50, 0x50, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x50, 0x50, 0x94, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x3f, 0x04, 0x04, 0x04,
-+ 0x7f, 0x00, 0x04, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40,
-+ 0xfc, 0x00, 0x40, 0x20, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x40, 0x58, 0x46, 0x41, 0x41, 0x42,
-+ 0x44, 0x48, 0x50, 0x7f, 0x40, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x88, 0x88, 0x08, 0x88, 0x48,
-+ 0x28, 0x28, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x10, 0x7c, 0x11, 0x12, 0x12,
-+ 0x1f, 0x12, 0x12, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x88, 0x08, 0x30, 0x10,
-+ 0xfc, 0x94, 0x94, 0xa4, 0xa4, 0xcc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x2f, 0x20, 0x20, 0x27, 0x20,
-+ 0x20, 0x20, 0x2f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x80, 0x80, 0xf0, 0x80,
-+ 0x80, 0x80, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x33, 0x22, 0x2a, 0x2b, 0x2a, 0x2a, 0x2b,
-+ 0x2a, 0x3b, 0x6a, 0x13, 0x16, 0x20, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0x28, 0x28, 0xa8, 0xf0, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x49, 0x49, 0x49, 0x49, 0x49,
-+ 0x49, 0x79, 0x4f, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x1c, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x0f, 0x01, 0x7f, 0x04, 0x1f, 0x64, 0x07,
-+ 0x3f, 0x20, 0x27, 0x24, 0x27, 0x20, 0x00, 0x00,
-+ 0x60, 0x80, 0x00, 0xfc, 0x40, 0xf0, 0x4c, 0xc0,
-+ 0xf8, 0x08, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x00, 0x13, 0x11, 0x10, 0x7f, 0x10, 0x11, 0x11,
-+ 0x15, 0x19, 0x61, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0xf8, 0x20, 0xa0, 0xfc, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xa0, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x56, 0x55, 0x55, 0x57,
-+ 0x54, 0x7c, 0x44, 0x41, 0x02, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x48, 0x48, 0x50, 0xfc,
-+ 0x40, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x78, 0x08, 0x0f, 0x78, 0x4b, 0x42, 0x7a,
-+ 0x4b, 0x4a, 0x08, 0x08, 0x17, 0x60, 0x00, 0x00,
-+ 0x40, 0x50, 0x88, 0xfc, 0x44, 0xf8, 0x48, 0x48,
-+ 0xf8, 0x50, 0x48, 0x7c, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x7b, 0x09, 0x09, 0x79, 0x49, 0x43, 0x79,
-+ 0x49, 0x49, 0x09, 0x09, 0x17, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0xf0, 0x50, 0xf0, 0xf8, 0xf0,
-+ 0x50, 0xf0, 0x50, 0xf0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x13, 0x38, 0x34, 0x34, 0x57,
-+ 0x10, 0x10, 0x10, 0x11, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x90, 0x88, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x09, 0x09, 0x09, 0x0f, 0x72, 0x04,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x90, 0x54, 0x54, 0x0c,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x04, 0x7f, 0x04, 0x0a,
-+ 0x12, 0x62, 0x12, 0x12, 0x22, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x20,
-+ 0x10, 0x0c, 0x90, 0x48, 0x48, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x78, 0x12, 0x11, 0x11, 0x1f,
-+ 0x70, 0x10, 0x10, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x48, 0x48, 0x50, 0xfc,
-+ 0x40, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x3f, 0x0a, 0x0a, 0x7f, 0x09, 0x1f,
-+ 0x22, 0x47, 0x3c, 0x04, 0x05, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x10, 0x19, 0x36, 0x34,
-+ 0x33, 0x52, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xa0, 0xf0, 0xa8, 0xe4,
-+ 0xf8, 0x08, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x23, 0x02, 0x10,
-+ 0x10, 0x11, 0x21, 0x22, 0x44, 0x48, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x4f, 0x30, 0x10, 0x30, 0x48, 0x0b, 0x18,
-+ 0x28, 0x48, 0x08, 0x08, 0x3f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x44, 0x28, 0x17, 0x32, 0x49, 0x09, 0x1f,
-+ 0x28, 0x48, 0x08, 0x09, 0x32, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x48, 0x48, 0x50, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x3f, 0x28, 0x49, 0x0a, 0x7e,
-+ 0x0b, 0x0e, 0x16, 0x12, 0x22, 0x42, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xa0, 0xf0, 0xa8, 0xe4,
-+ 0xf8, 0x08, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x25, 0x3e, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x24, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x24, 0x24, 0xd4, 0x74,
-+ 0xb4, 0x14, 0xf4, 0x14, 0x04, 0x18, 0x00, 0x00,
-+ 0x02, 0x0f, 0x02, 0x0c, 0x7f, 0x12, 0x26, 0x4f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0xc0, 0xf8, 0x48, 0x98, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x37, 0x24, 0x27, 0x3c, 0x27, 0x3e, 0x27,
-+ 0x24, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xc8, 0x78, 0xc8, 0xf8, 0xc8,
-+ 0x48, 0xfc, 0x00, 0x60, 0x10, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x01, 0x3f, 0x07, 0x1c,
-+ 0x67, 0x1f, 0x17, 0x14, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xc0, 0x00, 0xf8, 0xc0, 0x70,
-+ 0xcc, 0xf0, 0xd0, 0x50, 0xd0, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x2b, 0x1a, 0x12, 0x1b,
-+ 0x2b, 0x7a, 0x12, 0x13, 0x2c, 0x40, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xa8,
-+ 0x24, 0xa4, 0xe4, 0x78, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x20, 0xf8, 0x90, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x13, 0x6a, 0x2b, 0x1f, 0x6a, 0x13, 0x3f, 0x04,
-+ 0x7f, 0x0f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0xb8, 0xa8, 0xb8, 0xa4, 0xf8, 0x60, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x11, 0x5b, 0x2b, 0x16, 0x7f, 0x0b, 0x33, 0x07,
-+ 0x1f, 0x67, 0x07, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x38, 0xa8, 0xb0, 0xa8, 0xe4, 0xf8, 0xa0, 0xc0,
-+ 0xf0, 0xcc, 0xc0, 0xb0, 0x60, 0x18, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x3f, 0x7a, 0x2a, 0x3f, 0x08,
-+ 0x0f, 0x0f, 0x0f, 0x2a, 0x25, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x30, 0xcc, 0xf0, 0x80,
-+ 0xe0, 0xe0, 0xf8, 0x48, 0x28, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x32, 0x52, 0x12,
-+ 0x12, 0x13, 0x1e, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0xc8, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x4e, 0x28, 0x27, 0x04, 0x17, 0x1a,
-+ 0x22, 0x3f, 0x46, 0x45, 0x48, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xb0, 0x90, 0x7c, 0x98, 0x50,
-+ 0x5c, 0xd0, 0x50, 0x70, 0x90, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x09, 0x7f, 0x08, 0x08,
-+ 0x7f, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0x20, 0xfc, 0x20, 0x20,
-+ 0xfc, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x49, 0x4f, 0x79, 0x49,
-+ 0x4f, 0x48, 0x78, 0x49, 0x42, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x50, 0xfc, 0x10, 0x10,
-+ 0xfc, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x02, 0x12, 0x0a, 0x7f, 0x04, 0x3f, 0x01, 0x1f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x80, 0x90, 0xa0, 0xfc, 0x40, 0xf8, 0x00, 0xf0,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x13, 0x12, 0x12, 0x23, 0x22, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xfc, 0x04,
-+ 0xe4, 0x24, 0x24, 0xe4, 0x24, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x3f, 0x24, 0x24, 0x24, 0x3f,
-+ 0x24, 0x24, 0x24, 0x3f, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0x48, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7c, 0x11, 0x11, 0x3b, 0x36,
-+ 0x36, 0x53, 0x52, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xdc, 0x24, 0xb4, 0xa8,
-+ 0xa8, 0xb4, 0x24, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x1f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
-+ 0x20, 0x10, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x13, 0x12, 0x3a, 0x36,
-+ 0x36, 0x52, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xe8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7e, 0x09, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x09, 0x09, 0x0f, 0x11, 0x13, 0x32, 0x53, 0x10,
-+ 0x13, 0x10, 0x13, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x3e, 0x2b, 0x2a, 0x3e, 0x08,
-+ 0x3e, 0x08, 0x3e, 0x08, 0x0e, 0x79, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x11, 0x7e, 0x13, 0x14, 0x10,
-+ 0x10, 0x14, 0x1b, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x88, 0x88,
-+ 0x28, 0xc8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x20,
-+ 0xfc, 0x24, 0x24, 0x24, 0x38, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x08,
-+ 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00,
-+ 0x10, 0x60, 0x80, 0x00, 0x00, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x02, 0x1c, 0x10, 0x10, 0x1f, 0x15, 0x14,
-+ 0x14, 0x14, 0x24, 0x24, 0x45, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x08, 0x3e, 0x08, 0x0f, 0x72, 0x04,
-+ 0x1f, 0x60, 0x0f, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x80, 0x40,
-+ 0xf0, 0x0c, 0xe0, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x49, 0x0f,
-+ 0x00, 0x7f, 0x09, 0x11, 0x61, 0x03, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x60, 0x70, 0xa8, 0x24, 0xe0,
-+ 0x00, 0xfc, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x05, 0x1f, 0x6a, 0x09, 0x0e, 0x0f,
-+ 0x01, 0x1f, 0x12, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0xac, 0xa0, 0x60, 0xe0,
-+ 0x00, 0xf0, 0x90, 0xd0, 0x50, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x40, 0x1e, 0x13,
-+ 0x1e, 0x12, 0x1e, 0x22, 0x22, 0x47, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x40, 0x40, 0xf8,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x22, 0x3e, 0x3f, 0x21,
-+ 0x0e, 0x01, 0x7f, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0x20,
-+ 0x60, 0x98, 0xe4, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x70, 0xc0, 0x00, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x20, 0x2f, 0x21, 0x3f,
-+ 0x23, 0x25, 0x39, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x68, 0x88, 0x08, 0xf8,
-+ 0x88, 0x48, 0x28, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x08, 0x0b, 0x12, 0x3c,
-+ 0x55, 0x12, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x60, 0xa0, 0x90, 0xf8, 0x04, 0x00,
-+ 0xf8, 0x10, 0x10, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x09, 0x0a, 0x14, 0x19,
-+ 0x34, 0x57, 0x11, 0x11, 0x12, 0x10, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0xd0, 0xb8, 0xd4, 0x90, 0xf8,
-+ 0x00, 0xfc, 0x28, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x03, 0x3e, 0x03, 0x3c,
-+ 0x03, 0x3c, 0x27, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x13, 0x12, 0x02, 0x03, 0x02, 0x72,
-+ 0x12, 0x14, 0x14, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x60, 0x80, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x67, 0x01, 0x3f,
-+ 0x01, 0x09, 0x05, 0x05, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xcc, 0x00, 0xf8,
-+ 0x00, 0x20, 0x20, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x49, 0x4b, 0x4c, 0x48,
-+ 0x4b, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf8, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x88, 0xf8,
-+ 0xa4, 0xa8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x7f, 0x02, 0x02, 0x02,
-+ 0x04, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x44, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x53, 0x12,
-+ 0x13, 0x10, 0x1f, 0x11, 0x12, 0x1c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x10, 0x2f, 0x48, 0x08,
-+ 0x08, 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x20, 0x2c, 0x23, 0x20,
-+ 0x21, 0x22, 0x24, 0x28, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
-+ 0x40, 0x20, 0x20, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x48, 0x30, 0x11, 0x31, 0x4a, 0x0d, 0x19,
-+ 0x29, 0x49, 0x09, 0x08, 0x30, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0xe8, 0x28,
-+ 0x28, 0xe8, 0x28, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x10, 0x11, 0x11, 0x7e, 0x10,
-+ 0x10, 0x14, 0x18, 0x61, 0x02, 0x0c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf0, 0x10, 0x10, 0x20, 0x20,
-+ 0x60, 0x60, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x3f, 0x28, 0x48, 0x08, 0x7f,
-+ 0x08, 0x0c, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x80, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x7f, 0x01,
-+ 0x01, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xfc, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x23,
-+ 0x3e, 0x66, 0x0a, 0x12, 0x62, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x88, 0x88, 0xc8, 0xb0, 0x90,
-+ 0x90, 0xa8, 0xc8, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x88, 0xc8, 0xb0, 0x90, 0x90,
-+ 0xa8, 0xa8, 0xc0, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x43, 0x0c, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x00, 0x7f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x00, 0xfc, 0x60, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x3f, 0x21,
-+ 0x2f, 0x21, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf8, 0x48,
-+ 0xe8, 0x38, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x11, 0x1f, 0x10, 0x15, 0x15,
-+ 0x15, 0x17, 0x20, 0x3f, 0x46, 0x18, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0xe8, 0x08, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0xe0, 0x20, 0xfc, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x4e, 0x49, 0x49, 0x49,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x0f, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x0c, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf8, 0x48, 0x30, 0xd8, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x08, 0x10, 0x00,
-+ 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x80, 0x88, 0x78, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x33, 0x50, 0x17,
-+ 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0x80, 0xf8,
-+ 0xa8, 0xf8, 0x18, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x4f, 0x09, 0x0f, 0x09, 0x0f,
-+ 0x01, 0x3f, 0x21, 0x2f, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x00, 0xf8, 0x48, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x13, 0x02, 0x03, 0x70, 0x17,
-+ 0x14, 0x14, 0x17, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0x80, 0xf8,
-+ 0xa8, 0xf8, 0x08, 0x18, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x31, 0x29, 0x25, 0x24,
-+ 0x27, 0x26, 0x3a, 0x23, 0x22, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xfc, 0x54, 0x7c, 0x8c, 0x04, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x11, 0x11, 0x1f, 0x01, 0x3f,
-+ 0x21, 0x21, 0x3f, 0x21, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x12, 0x13, 0x13, 0x7c, 0x10, 0x1b, 0x36, 0x37,
-+ 0x32, 0x53, 0x53, 0x12, 0x13, 0x1c, 0x00, 0x00,
-+ 0x20, 0xfc, 0x30, 0xc8, 0x00, 0xb8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0x28, 0xb0, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x19, 0x0e, 0x74, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0x28, 0x28, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x14, 0x12, 0x17, 0x14,
-+ 0x17, 0x14, 0x27, 0x24, 0x44, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x90, 0xa0, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x14, 0x14, 0x17,
-+ 0x14, 0x18, 0x28, 0x28, 0x4f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0x90, 0x90, 0xf0,
-+ 0x90, 0x88, 0x88, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x12, 0x12, 0x1e,
-+ 0x72, 0x13, 0x15, 0x15, 0x19, 0x31, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0xfc, 0x24, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0x24, 0x24, 0x24, 0xfc, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x26, 0x58, 0x1f, 0x10, 0x1f, 0x14,
-+ 0x14, 0x17, 0x28, 0x28, 0x4f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x78, 0xf8, 0x08, 0xf8, 0x90,
-+ 0x90, 0xf0, 0x88, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x05, 0x09, 0x11, 0x63, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x08, 0x90, 0x60, 0x20, 0x10, 0x0c, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x09, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x60, 0x60, 0x60, 0xa4, 0xa4, 0xa8, 0xb0, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x21, 0x2f, 0x4f, 0x35, 0x2f, 0x7d, 0x37, 0x5f,
-+ 0x11, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0xd4, 0xe4, 0x58, 0xd4, 0x7c, 0xd8, 0xf4,
-+ 0x10, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x44, 0x08, 0x10, 0x0b, 0x48,
-+ 0x27, 0x20, 0x0b, 0x08, 0x17, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x88, 0x78, 0x40, 0xf8, 0x40,
-+ 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x12, 0x7f, 0x01, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x3e, 0x22, 0x26, 0x14, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x48, 0x70, 0x44, 0x3c, 0x40, 0x4c, 0x70,
-+ 0x40, 0x44, 0x3c, 0x90, 0x48, 0x44, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x31, 0x29, 0x24, 0x27,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00, 0xfc,
-+ 0x48, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x07, 0x18, 0x01, 0x07, 0x79, 0x09, 0x05,
-+ 0x3f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0xc0, 0x30, 0x2c, 0x20, 0x40,
-+ 0xf8, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1f, 0x12, 0x12, 0x1f, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x90, 0x90, 0xf0, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x13, 0x7f,
-+ 0x08, 0x2d, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xdc, 0x54, 0xdc,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x04, 0x03, 0x3e, 0x12, 0x0d, 0x1b,
-+ 0x61, 0x3f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0xf8, 0x48, 0x30, 0xc8,
-+ 0x04, 0xf8, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x24, 0x24, 0x7b, 0x10, 0x7d,
-+ 0x11, 0x55, 0x3a, 0x30, 0x1c, 0x60, 0x00, 0x00,
-+ 0x50, 0x90, 0x90, 0x94, 0xb4, 0xf4, 0xb8, 0xd0,
-+ 0xb0, 0x98, 0xa8, 0xa8, 0xc4, 0x84, 0x00, 0x00,
-+ 0x02, 0x3c, 0x7f, 0x3f, 0x2a, 0x3e, 0x2a, 0x3e,
-+ 0x3e, 0x0f, 0x79, 0x00, 0x24, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0x88, 0x88, 0x30, 0x00, 0x88, 0x44, 0x00, 0x00,
-+ 0x00, 0x1f, 0x02, 0x02, 0x7f, 0x02, 0x02, 0x1f,
-+ 0x04, 0x0f, 0x14, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x7f, 0x0f, 0x09, 0x0f,
-+ 0x09, 0x0f, 0x1f, 0x7f, 0x12, 0x61, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xc0, 0xfc, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0xf0, 0xfc, 0x48, 0x24, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x7f, 0x00, 0x3e, 0x00, 0x3e,
-+ 0x00, 0x3e, 0x22, 0x23, 0x3f, 0x22, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x3e, 0x12, 0x13, 0x7f, 0x12, 0x3e, 0x10,
-+ 0x1e, 0x33, 0x32, 0x52, 0x1e, 0x10, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x7f, 0x01, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x09, 0x09, 0x7f, 0x09, 0x3f, 0x08,
-+ 0x0f, 0x19, 0x19, 0x29, 0x4f, 0x09, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0xd0, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x3f, 0x04, 0x04, 0x7f, 0x04,
-+ 0x04, 0x3f, 0x04, 0x04, 0x07, 0x7c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xa0, 0x20, 0x30, 0xe8, 0x24,
-+ 0x24, 0xa0, 0x20, 0x20, 0xa0, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x7e, 0x12, 0x12, 0x22, 0x4d, 0x01,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00,
-+ 0xfc, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x02, 0x04, 0x08, 0x1c,
-+ 0x2a, 0x4a, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x84, 0x84, 0xc4, 0xb8, 0x80, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x13, 0x30, 0x50, 0x11,
-+ 0x17, 0x10, 0x12, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x90, 0x90, 0x20, 0xd0, 0x98, 0xe4,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x14, 0x15, 0x35, 0x56, 0x14,
-+ 0x14, 0x15, 0x15, 0x13, 0x10, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x12, 0x12, 0x12, 0x7f, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x42, 0x00, 0x00,
-+ 0x08, 0xc8, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x15, 0x05,
-+ 0x05, 0x09, 0x09, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00,
-+ 0x00, 0x00, 0x08, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3f, 0x22, 0x22, 0x3e, 0x23,
-+ 0x20, 0x4f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0x90, 0x60, 0x60, 0x90,
-+ 0x0c, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x01,
-+ 0x3f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x10, 0x10, 0x17, 0x7c, 0x10,
-+ 0x13, 0x14, 0x18, 0x60, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x22,
-+ 0x41, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x08, 0xc8, 0x48, 0x48, 0xc8, 0x48, 0x48, 0x18,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x08, 0x3e, 0x08, 0x0f, 0x71,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x88, 0x08, 0x30,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x12, 0x12, 0x12, 0x7f, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x42, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x20, 0x48, 0x08, 0x90, 0x10,
-+ 0x24, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x08, 0x0b, 0x11, 0x24, 0x04, 0x09, 0x1e, 0x28,
-+ 0x4b, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xa0, 0x40, 0xf0, 0x4c, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x1f, 0x15,
-+ 0x19, 0x13, 0x2d, 0x20, 0x43, 0x1c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xfc, 0x58,
-+ 0xe4, 0xf4, 0x20, 0xc0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x0f, 0x78, 0x0f, 0x07,
-+ 0x00, 0x0f, 0x25, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0xfc, 0x20, 0xe0, 0xe0,
-+ 0x20, 0xe0, 0x08, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x02, 0x3c, 0x08, 0x7f, 0x08, 0x3e, 0x22, 0x3e,
-+ 0x20, 0x05, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x20, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x88, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x10, 0x1d,
-+ 0x73, 0x15, 0x11, 0x11, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x80, 0xfc,
-+ 0x34, 0xc4, 0x04, 0x14, 0xf4, 0x18, 0x00, 0x00,
-+ 0x11, 0x11, 0x13, 0x7f, 0x15, 0x11, 0x11, 0x15,
-+ 0x1f, 0x71, 0x11, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xf8, 0x20, 0xfc,
-+ 0xe0, 0x20, 0x3c, 0x04, 0x04, 0x18, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x10, 0x1e, 0x23, 0x7a,
-+ 0x2a, 0x2a, 0x3a, 0x22, 0x02, 0x0d, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x88, 0x88, 0x48, 0x50,
-+ 0x30, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x01, 0x7f,
-+ 0x0f, 0x08, 0x0f, 0x05, 0x09, 0x33, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0xe0, 0x20, 0xe0, 0x60, 0x10, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x1b, 0x1c, 0x1a,
-+ 0x2b, 0x28, 0x48, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x21, 0x21, 0x00, 0x13,
-+ 0x10, 0x17, 0x20, 0x20, 0x41, 0x46, 0x00, 0x00,
-+ 0x08, 0x70, 0x88, 0x48, 0x50, 0x20, 0x40, 0xf8,
-+ 0x40, 0xfc, 0xc0, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x54, 0x54, 0x57, 0x7c, 0x54,
-+ 0x57, 0x54, 0x7c, 0x44, 0x07, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x0d, 0x78, 0x08, 0x09, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x28, 0xfc, 0x60, 0xa4, 0x9c, 0xf0, 0x84, 0x7c,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x1c, 0x03, 0x01, 0x7f,
-+ 0x01, 0x09, 0x09, 0x11, 0x21, 0x01, 0x00, 0x00,
-+ 0x38, 0xc0, 0x20, 0x20, 0x40, 0x90, 0x08, 0xfc,
-+ 0x04, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x14, 0x0c, 0x13, 0x7f,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x4b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x20, 0x70, 0xac, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x0b, 0x73, 0x15, 0x0d, 0x13, 0x7f,
-+ 0x09, 0x2d, 0x2b, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xa8, 0x68, 0x70, 0x20, 0xfc, 0x20,
-+ 0x70, 0xa8, 0x28, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3f, 0x2a, 0x3e, 0x7f,
-+ 0x0a, 0x0e, 0x01, 0x7f, 0x0d, 0x31, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x8c, 0xf8, 0x90, 0x60, 0xb0,
-+ 0x4c, 0xc0, 0x70, 0x88, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x04, 0x3f, 0x04, 0x7f,
-+ 0x04, 0x3f, 0x04, 0x07, 0x78, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x20, 0x20, 0x30, 0xa8,
-+ 0x24, 0x24, 0x20, 0xa0, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x04, 0x03, 0x0d,
-+ 0x71, 0x0f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x60, 0x80, 0x60,
-+ 0x1c, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x3f, 0x12, 0x12,
-+ 0x7f, 0x12, 0x12, 0x12, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x48, 0x48, 0x48,
-+ 0xc8, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x3f, 0x21, 0x41, 0x0f, 0x09,
-+ 0x09, 0x0f, 0x09, 0x01, 0x01, 0x3e, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x08, 0x00, 0xe0, 0x20,
-+ 0x20, 0xe0, 0x20, 0x10, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x80, 0x98, 0xe0, 0x80, 0x84, 0x7c, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x12, 0x7f, 0x1f, 0x3d, 0x55, 0x1e, 0x07, 0x7f,
-+ 0x07, 0x07, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc8, 0x50, 0x30, 0xcc, 0xc0, 0xfc,
-+ 0xc0, 0xc0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x08, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x20, 0xf0, 0x2c, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x34, 0x0c, 0x1a, 0x29, 0x48,
-+ 0x3e, 0x08, 0x08, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x02, 0x0c, 0x72, 0x4a, 0x2c, 0x08, 0x3e, 0x08,
-+ 0x7e, 0x08, 0x14, 0x13, 0x21, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x38, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x1f, 0x00, 0x00,
-+ 0x7f, 0x02, 0x02, 0x04, 0x3f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf0, 0x00, 0x00,
-+ 0xfc, 0x40, 0x20, 0xf0, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x20, 0x13, 0x12, 0x02, 0x02, 0x72, 0x12,
-+ 0x13, 0x1e, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x80, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0xc8, 0x70, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x20, 0xb0, 0xa8, 0xa4, 0x24, 0x60, 0x00, 0x00,
-+ 0x04, 0x07, 0x3f, 0x26, 0x3b, 0x3f, 0x26, 0x3c,
-+ 0x27, 0x3b, 0x26, 0x3a, 0x42, 0x0c, 0x00, 0x00,
-+ 0x08, 0xa8, 0xe8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0x28, 0x28, 0xa8, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x22, 0x3e, 0x22,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x5c, 0xe0, 0x48, 0x48, 0x50,
-+ 0x30, 0x20, 0x60, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3f, 0x3e, 0x7f, 0x08,
-+ 0x0f, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x8c, 0xf8, 0x50, 0x30, 0xcc,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x21, 0x12, 0x17, 0x44, 0x27, 0x24, 0x07, 0x12,
-+ 0x1f, 0x13, 0x24, 0x24, 0x4b, 0x50, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0xa0, 0xfc, 0xc8, 0xa8, 0x28,
-+ 0xe8, 0x90, 0x90, 0xa8, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x2a, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x1c, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x80, 0xf8, 0x00, 0x00, 0x80, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x09, 0x09, 0x0b, 0x12, 0x15, 0x31, 0x52, 0x14,
-+ 0x1f, 0x10, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0xfc, 0xa8, 0xa8, 0x7c, 0x48, 0x48,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x1f, 0x11, 0x21, 0x41,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x08, 0x10, 0x20,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x20, 0x00, 0x1f,
-+ 0x10, 0x11, 0x21, 0x22, 0x44, 0x48, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf0, 0x90, 0x90, 0x90, 0xfc,
-+ 0xc0, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x22, 0x1f, 0x12, 0x4f, 0x22, 0x23, 0x0c, 0x11,
-+ 0x17, 0x10, 0x2f, 0x22, 0x4c, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0x28, 0xd8, 0xa0, 0x20,
-+ 0x50, 0xb8, 0xc8, 0xb0, 0x88, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x01, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xc0, 0x40, 0x40,
-+ 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x02, 0x1f, 0x12, 0x12, 0x12,
-+ 0x12, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x00, 0x3f,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x08,
-+ 0x0f, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x13, 0x12, 0x34, 0x50, 0x17,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x12, 0x17, 0x38, 0x57, 0x14,
-+ 0x17, 0x14, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x80, 0x80, 0x40, 0x20, 0xf0, 0x88, 0xf0, 0x90,
-+ 0xf0, 0x90, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x08, 0x0a, 0x09, 0x13, 0x10, 0x37, 0x50, 0x11,
-+ 0x12, 0x15, 0x11, 0x11, 0x11, 0x10, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xf8, 0x40, 0xfc, 0xa0, 0xf0,
-+ 0x28, 0xe4, 0x20, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x08, 0x08, 0x0e, 0x13, 0x12, 0x34, 0x5f, 0x11,
-+ 0x15, 0x15, 0x12, 0x13, 0x14, 0x18, 0x00, 0x00,
-+ 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8, 0x20, 0xf8,
-+ 0x20, 0xfc, 0x20, 0x20, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x04, 0x3f, 0x04, 0x7f, 0x04,
-+ 0x3f, 0x04, 0x1c, 0x64, 0x04, 0x04, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0x90,
-+ 0xf0, 0xc0, 0xb0, 0x8c, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x11, 0x09, 0x3f, 0x02, 0x7f, 0x04, 0x18,
-+ 0x6f, 0x02, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x10, 0x20, 0xf8, 0x80, 0xfc, 0x40, 0x30,
-+ 0xec, 0x20, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x04, 0x04, 0x0a, 0x11, 0x7f, 0x04, 0x3f, 0x25,
-+ 0x3f, 0x24, 0x0a, 0x09, 0x11, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x48, 0x48, 0xc8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4b, 0x48, 0x49, 0x49,
-+ 0x49, 0x79, 0x49, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x08, 0xf8, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x2f, 0x22, 0x3f, 0x24, 0x2f,
-+ 0x30, 0x27, 0x24, 0x23, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xe8, 0x88, 0xf8, 0x48, 0xe8,
-+ 0x58, 0xc8, 0x28, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x22, 0x3e, 0x24, 0x3f,
-+ 0x21, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x50, 0x20, 0xd0, 0x0c,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x10, 0x13, 0x10, 0x7d, 0x24, 0x27, 0x24,
-+ 0x79, 0x48, 0x0d, 0x16, 0x24, 0x40, 0x00, 0x00,
-+ 0x08, 0x90, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc, 0xa8,
-+ 0xf8, 0xa0, 0xb0, 0xa8, 0xa4, 0xa0, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x08, 0x17, 0x10, 0x3b, 0x08,
-+ 0x4b, 0x28, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3f, 0x21, 0x7f, 0x1f, 0x01, 0x7f, 0x1f,
-+ 0x12, 0x1f, 0x25, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0xf0, 0x00, 0xfc, 0xf0,
-+ 0x90, 0xf0, 0x08, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x1e, 0x52, 0x5e, 0x5e, 0x52, 0x5f, 0x7e, 0x2a,
-+ 0x29, 0x49, 0x04, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x18, 0xe0, 0x28, 0xd0, 0x28, 0xfc, 0x64, 0xa8,
-+ 0x24, 0x20, 0x80, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x09, 0x11, 0x1f, 0x02, 0x7f, 0x08, 0x1f, 0x61,
-+ 0x1f, 0x01, 0x3f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0x10, 0xf0, 0x80, 0xfc, 0x20, 0xd8, 0x04,
-+ 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7f, 0x10, 0x17, 0x11, 0x13,
-+ 0x1c, 0x71, 0x11, 0x11, 0x11, 0x30, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xf8, 0xa0, 0xfc, 0x10, 0xe8,
-+ 0x24, 0xe0, 0x20, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x0b, 0x18, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x48, 0x08, 0x0b, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x44, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x13, 0x30, 0x39, 0x37,
-+ 0x55, 0x51, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x40, 0xfc, 0x90, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x06, 0x03, 0x7f, 0x44, 0x5f,
-+ 0x09, 0x0f, 0x11, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xc0, 0x00, 0xfc, 0x48, 0xe0,
-+ 0x10, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01, 0x03, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x80,
-+ 0x80, 0x40, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x33, 0x2d, 0x3f,
-+ 0x25, 0x3f, 0x25, 0x25, 0x25, 0x23, 0x00, 0x00,
-+ 0x20, 0x28, 0xa4, 0x24, 0xfc, 0x20, 0x20, 0x30,
-+ 0x50, 0x50, 0x48, 0x88, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x08, 0x08, 0x10, 0x1f, 0x32,
-+ 0x52, 0x12, 0x12, 0x1f, 0x11, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x11, 0x11, 0x3d, 0x25,
-+ 0x65, 0x24, 0x24, 0x3d, 0x22, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x00, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x07, 0x24, 0x27, 0x24, 0x27, 0x24, 0x27,
-+ 0x20, 0x3f, 0x25, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xfc, 0x60, 0x18, 0x04, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x14, 0x17, 0x24, 0x47, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x0a, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0xa0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x38, 0x03, 0x7c, 0x03, 0x38, 0x07, 0x38,
-+ 0x03, 0x38, 0x29, 0x2a, 0x3c, 0x20, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc, 0xa8,
-+ 0xf8, 0xa0, 0xb0, 0xa8, 0xa4, 0xa0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x3e, 0x3f, 0x2f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x70, 0x8c, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x13, 0x00, 0x0f, 0x71, 0x11,
-+ 0x11, 0x11, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xf8, 0x40, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf8, 0x08, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x24, 0x25, 0x79, 0x13, 0x7c,
-+ 0x12, 0x56, 0x39, 0x31, 0x1a, 0x64, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0xa8, 0xfc, 0x28, 0xf8, 0xa0,
-+ 0xf8, 0xa0, 0xfc, 0x20, 0xa0, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x2b, 0x30, 0x2b, 0x26,
-+ 0x26, 0x27, 0x38, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x44, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3e, 0x22, 0x3e, 0x14, 0x15,
-+ 0x55, 0x36, 0x34, 0x16, 0x18, 0x63, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x29, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x88, 0xfc, 0x20, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0x60, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x1e, 0x10, 0x7f, 0x52, 0x4e, 0x76,
-+ 0x6e, 0x5a, 0x76, 0x4a, 0x7e, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x88, 0xfc, 0x20, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x00, 0x7f, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80,
-+ 0x80, 0x80, 0x84, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x13, 0x12, 0x13, 0x12, 0x13,
-+ 0x10, 0x12, 0x22, 0x24, 0x48, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x80, 0xa0, 0x90, 0x88, 0x88, 0x80, 0x00, 0x00,
-+ 0x09, 0x04, 0x1f, 0x10, 0x1f, 0x12, 0x1f, 0x15,
-+ 0x17, 0x17, 0x25, 0x3f, 0x41, 0x01, 0x00, 0x00,
-+ 0x08, 0x90, 0xfc, 0x20, 0xa0, 0x20, 0xbc, 0x48,
-+ 0xa8, 0x30, 0x10, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x0a, 0x72, 0x12, 0x0c, 0x04,
-+ 0x0c, 0x0a, 0x12, 0x7d, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7c, 0x07, 0x04, 0x3c, 0x27, 0x20, 0x3c,
-+ 0x24, 0x24, 0x04, 0x04, 0x0b, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x48, 0x88, 0x90, 0x50,
-+ 0x20, 0x20, 0x50, 0x88, 0xf4, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x24, 0x27, 0x04, 0x17,
-+ 0x16, 0x16, 0x27, 0x2a, 0x48, 0x51, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xe8, 0x28, 0xa8,
-+ 0xb0, 0x90, 0xb4, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x22, 0x02, 0x12,
-+ 0x12, 0x12, 0x24, 0x24, 0x49, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x20, 0xa8, 0xa4, 0x24, 0x60, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x01, 0x02, 0x1a, 0x06,
-+ 0x01, 0x00, 0x01, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0xa0, 0x10, 0x78, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x01, 0x7d, 0x11, 0x11, 0x11, 0x7d, 0x11,
-+ 0x11, 0x10, 0x1c, 0x61, 0x06, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x4b, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x28, 0xc8, 0x50,
-+ 0x30, 0x20, 0x30, 0x48, 0xfc, 0x04, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x13, 0x1a, 0x16, 0x17, 0x7f,
-+ 0x12, 0x1a, 0x1a, 0x2a, 0x23, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x28, 0xc8, 0x50,
-+ 0x30, 0x10, 0x28, 0x48, 0xf4, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x00, 0x7f, 0x00, 0x0f, 0x00, 0x0f,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xe0, 0x00, 0xfc, 0x00, 0xe0, 0x00, 0xe0,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x00, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x26, 0x3e, 0x25, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x10, 0x20,
-+ 0xc8, 0x10, 0x64, 0x08, 0x30, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x48,
-+ 0x48, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x11, 0x09, 0x09, 0x01, 0x7f,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x30, 0xc0, 0x10, 0x10, 0x20, 0x40, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0c, 0x14, 0x17, 0x34, 0x55, 0x15,
-+ 0x15, 0x15, 0x15, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xe8, 0x28,
-+ 0x28, 0xe8, 0x28, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x1f,
-+ 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4a, 0x49, 0x49, 0x48, 0x4f,
-+ 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x48, 0x48, 0x50, 0x60, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x3f, 0x21, 0x27, 0x24,
-+ 0x24, 0x27, 0x24, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xc8, 0x48,
-+ 0x48, 0xc8, 0x48, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x09, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x03, 0x05, 0x05, 0x09, 0x0d, 0x19,
-+ 0x69, 0x09, 0x0a, 0x0a, 0x0f, 0x18, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x68, 0x58, 0x78, 0x94, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00,
-+ 0x00, 0x00, 0x08, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x14, 0x17,
-+ 0x14, 0x17, 0x20, 0x3f, 0x40, 0x00, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf8, 0x80, 0xf0, 0x90, 0xf0,
-+ 0x90, 0xf0, 0x80, 0xfc, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x7c, 0x05, 0x05, 0x3d, 0x25, 0x21, 0x3d,
-+ 0x25, 0x25, 0x05, 0x06, 0x0b, 0x34, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x68, 0x58, 0x7c, 0x94, 0x14, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x1f,
-+ 0x10, 0x10, 0x10, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x3e,
-+ 0x22, 0x22, 0x22, 0x3e, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1b,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x20, 0x12, 0x12, 0x42, 0x2f, 0x22, 0x02, 0x0f,
-+ 0x19, 0x19, 0x2f, 0x29, 0x40, 0x41, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0xc8, 0x78, 0x48, 0x48,
-+ 0x48, 0x78, 0x48, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x04, 0x44, 0x29, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x0a, 0x33, 0x14, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x68, 0x58, 0x78, 0x94, 0x04, 0x00, 0x00,
-+ 0x10, 0x55, 0x35, 0x39, 0x17, 0x7d, 0x11, 0x1b,
-+ 0x36, 0x36, 0x53, 0x12, 0x10, 0x11, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0x28, 0xe8, 0x38, 0x28, 0xa8,
-+ 0xb8, 0xa8, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7c, 0x08, 0x0b, 0x12, 0x3d,
-+ 0x54, 0x12, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x88, 0xfc, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x25, 0x26, 0x3d,
-+ 0x24, 0x24, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x94, 0x14, 0x0c, 0xf8,
-+ 0x88, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x3e,
-+ 0x22, 0x22, 0x22, 0x3f, 0x23, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x88, 0x88, 0x88, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x3f, 0x05, 0x09,
-+ 0x0d, 0x19, 0x69, 0x0a, 0x0b, 0x1c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x18, 0xf0, 0x50, 0x50,
-+ 0x50, 0x50, 0x68, 0x58, 0xf4, 0x14, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x11, 0x1f, 0x10,
-+ 0x12, 0x12, 0x22, 0x24, 0x48, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0xf0, 0x08, 0xf8,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x01, 0x3e, 0x00, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x22, 0x3e, 0x09, 0x28, 0x2f,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x88, 0x74, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x17,
-+ 0x1c, 0x17, 0x27, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x20, 0xfc,
-+ 0x40, 0xf0, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3f, 0x21, 0x3f, 0x2a, 0x2f,
-+ 0x3a, 0x2f, 0x2f, 0x4a, 0x4f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0xc8,
-+ 0x78, 0x48, 0x78, 0x30, 0xc8, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x01, 0x3e, 0x22,
-+ 0x3e, 0x22, 0x14, 0x16, 0x18, 0x63, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x88, 0x88,
-+ 0x50, 0x70, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x02, 0x02, 0x3f, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x07, 0x04, 0x04, 0x04,
-+ 0x0f, 0x08, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x20,
-+ 0xe0, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x10, 0x30, 0x57, 0x11,
-+ 0x11, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0x80, 0x80, 0x80, 0xf0, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x11, 0x11, 0x21, 0x01, 0x7f,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x12, 0x12, 0x13, 0x10, 0x1f, 0x10,
-+ 0x00, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x00, 0xf0, 0x10,
-+ 0x10, 0xfc, 0x00, 0x60, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x1f, 0x04, 0x04, 0x7f,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xe0, 0x20, 0x20, 0xfc,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x25,
-+ 0x79, 0x48, 0x0f, 0x14, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00,
-+ 0xf0, 0x10, 0xfc, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x23, 0x48, 0x08, 0x10, 0x17, 0x30,
-+ 0x51, 0x17, 0x10, 0x10, 0x11, 0x1e, 0x00, 0x00,
-+ 0x40, 0x50, 0x90, 0xa0, 0x50, 0x88, 0xf4, 0x84,
-+ 0xf8, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x12, 0x12, 0x23, 0x4d, 0x09, 0x17, 0x11, 0x35,
-+ 0x55, 0x15, 0x15, 0x15, 0x1e, 0x10, 0x00, 0x00,
-+ 0x00, 0x38, 0xe8, 0x28, 0x28, 0xe8, 0x28, 0x28,
-+ 0xe8, 0x28, 0x78, 0xa0, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x18, 0x35, 0x34, 0x30, 0x57,
-+ 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x09, 0x1c, 0x1a, 0x1b,
-+ 0x28, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x12, 0x7f, 0x12, 0x1a, 0x37, 0x37,
-+ 0x30, 0x57, 0x55, 0x17, 0x14, 0x14, 0x00, 0x00,
-+ 0x80, 0x40, 0xb0, 0xfc, 0xb0, 0x50, 0xb0, 0xf0,
-+ 0x80, 0xf8, 0x28, 0xd8, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x02, 0x7a, 0x17, 0x12, 0x12, 0x7f, 0x15,
-+ 0x15, 0x15, 0x1f, 0x64, 0x01, 0x02, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xc8, 0x48, 0x78, 0x48, 0x48,
-+ 0x78, 0x48, 0x88, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x07, 0x07, 0x04, 0x7f, 0x08,
-+ 0x1f, 0x62, 0x0f, 0x34, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xc0, 0xc0, 0x40, 0xfc, 0x20,
-+ 0xf0, 0x0c, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x01, 0x3c, 0x00, 0x3f,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3c, 0x25, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x00, 0xf8, 0x08,
-+ 0x08, 0xfc, 0x50, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x3b, 0x00, 0x7d, 0x03, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3f, 0x24, 0x24, 0x3c, 0x27, 0x00, 0x00,
-+ 0x90, 0xfc, 0xb0, 0xfc, 0x20, 0xf8, 0xf8, 0x20,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2e, 0x2e, 0x3f,
-+ 0x37, 0x27, 0x3f, 0x23, 0x3e, 0x22, 0x00, 0x00,
-+ 0x80, 0xb8, 0xa8, 0xa8, 0xe8, 0xb8, 0xa8, 0xe8,
-+ 0x78, 0x68, 0xe8, 0x48, 0x48, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x10, 0x20, 0x4f, 0x01,
-+ 0x02, 0x04, 0x08, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xc0, 0x00,
-+ 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x04, 0x08, 0x14, 0x22,
-+ 0x02, 0x01, 0x01, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x20, 0x50, 0x48, 0x48,
-+ 0x80, 0x80, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x11, 0x11, 0x32, 0x55, 0x11,
-+ 0x10, 0x10, 0x10, 0x11, 0x16, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x20, 0x10, 0x28, 0x28, 0x20,
-+ 0xc0, 0xc0, 0xc0, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x09, 0x08, 0x08, 0x17, 0x11, 0x31, 0x51, 0x12,
-+ 0x14, 0x17, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0xf0, 0x10, 0x10, 0xfc, 0x00, 0x00, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x09, 0x08, 0x0c, 0x17, 0x34, 0x54, 0x15, 0x16,
-+ 0x17, 0x14, 0x14, 0x14, 0x11, 0x16, 0x00, 0x00,
-+ 0xf0, 0x10, 0x10, 0xfc, 0x80, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x10, 0x10, 0x37, 0x51, 0x11,
-+ 0x17, 0x10, 0x10, 0x13, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x20,
-+ 0xfc, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x11, 0x09, 0x09, 0x01, 0x7f, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0xfc, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x04, 0x04, 0x08, 0x08, 0x11, 0x21, 0x41,
-+ 0x02, 0x02, 0x02, 0x04, 0x3f, 0x00, 0x00, 0x00,
-+ 0xc0, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00,
-+ 0x40, 0x20, 0x10, 0x70, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7c, 0x13, 0x10, 0x10, 0x10,
-+ 0x10, 0x15, 0x19, 0x61, 0x02, 0x04, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0xf8, 0x88, 0x88, 0x88,
-+ 0x88, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x14, 0x12, 0x23, 0x52,
-+ 0x0c, 0x04, 0x0a, 0x12, 0x21, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x12, 0x22, 0x42, 0x03,
-+ 0x04, 0x05, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08,
-+ 0x88, 0xc8, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x13, 0x12, 0x13, 0x12, 0x13, 0x10,
-+ 0x13, 0x10, 0x2f, 0x20, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf0, 0x20, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0xf0, 0x10, 0x10, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x04, 0x3f, 0x20, 0x20, 0x27, 0x24,
-+ 0x24, 0x24, 0x27, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48,
-+ 0x48, 0x48, 0xc8, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x13,
-+ 0x12, 0x12, 0x22, 0x22, 0x43, 0x02, 0x00, 0x00,
-+ 0x38, 0xc0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4b, 0x4a, 0x4e, 0x4a, 0x4a,
-+ 0x4b, 0x7b, 0x4a, 0x42, 0x02, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0x40, 0x40, 0xfc, 0xa0,
-+ 0x20, 0xfc, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x10, 0x7c, 0x11, 0x11, 0x11,
-+ 0x11, 0x1d, 0x62, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0x00, 0xe0, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x12,
-+ 0x12, 0x1e, 0x64, 0x04, 0x08, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x13,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x10, 0x10, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3e, 0x02, 0x04, 0x04, 0x08, 0x08, 0x0e,
-+ 0x78, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x07,
-+ 0x18, 0x60, 0x1f, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0x10, 0xf0, 0x20, 0x40, 0xfc, 0x00, 0xe0,
-+ 0x40, 0x80, 0xf8, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x42, 0x7f, 0x02, 0x04,
-+ 0x04, 0x08, 0x11, 0x21, 0x4f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xfc, 0x00, 0x80,
-+ 0x80, 0x80, 0x20, 0x30, 0xc8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x00, 0x7c, 0x10, 0x10, 0x11, 0x11,
-+ 0x10, 0x1c, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x04, 0x7f, 0x04, 0x0f,
-+ 0x10, 0x6f, 0x08, 0x08, 0x08, 0x07, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0xe0,
-+ 0x50, 0xcc, 0x40, 0x10, 0x10, 0xf0, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x08, 0x04, 0x7f,
-+ 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x20, 0x40, 0xfc,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x11, 0x11, 0x22, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x80, 0x80, 0x80, 0x80,
-+ 0x80, 0x20, 0x10, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x17, 0x10, 0x1f, 0x10,
-+ 0x17, 0x10, 0x11, 0x21, 0x22, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0x90,
-+ 0xf0, 0x90, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x17, 0x10, 0x1f, 0x10,
-+ 0x17, 0x1c, 0x23, 0x26, 0x58, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0x90,
-+ 0xf0, 0xc8, 0xb0, 0x90, 0x8c, 0x80, 0x00, 0x00,
-+ 0x00, 0x7e, 0x02, 0x02, 0x3e, 0x22, 0x20, 0x3e,
-+ 0x22, 0x02, 0x02, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40,
-+ 0x40, 0x50, 0x88, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x11, 0x39, 0x35, 0x35, 0x51,
-+ 0x11, 0x11, 0x11, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x18, 0x37, 0x35, 0x31, 0x50,
-+ 0x11, 0x11, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0x40, 0xfc, 0x00, 0x00, 0xf8,
-+ 0x50, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x11, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x12, 0x12, 0x34, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0x00, 0xe0, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x12, 0x14, 0x13, 0x12,
-+ 0x1a, 0x73, 0x12, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48,
-+ 0x48, 0xc8, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x14, 0x10, 0x11, 0x16,
-+ 0x1b, 0x70, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa0, 0xa4, 0x1c, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7e, 0x11, 0x11, 0x12, 0x10,
-+ 0x14, 0x18, 0x60, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x06, 0x38,
-+ 0x20, 0x20, 0x26, 0x38, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x11, 0x09,
-+ 0x09, 0x7f, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x10, 0x10,
-+ 0x20, 0xfc, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x19, 0x05, 0x03, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x09, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x00, 0xf0, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1d, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x90, 0x88, 0x94, 0x94,
-+ 0x50, 0x60, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x13, 0x3a, 0x37,
-+ 0x36, 0x51, 0x50, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x40, 0x80, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7f, 0x08, 0x1b, 0x1c, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x0b, 0x09, 0x09, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa0, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xfc, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x40, 0x20, 0x20, 0x00, 0x08,
-+ 0x08, 0x08, 0x10, 0x10, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x41, 0x27, 0x21, 0x01, 0x01,
-+ 0x1f, 0x11, 0x21, 0x22, 0x44, 0x48, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x20,
-+ 0xfc, 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x43, 0x22, 0x24, 0x0f, 0x00,
-+ 0x13, 0x12, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x2f, 0x21, 0x02, 0x17,
-+ 0x18, 0x13, 0x22, 0x22, 0x42, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x20, 0x10, 0xec,
-+ 0x20, 0xe0, 0x20, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x11, 0x0f, 0x09, 0x47, 0x21, 0x2f, 0x00, 0x13,
-+ 0x12, 0x13, 0x22, 0x2f, 0x42, 0x42, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x80, 0xf0,
-+ 0x90, 0xf0, 0x90, 0xfc, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x3f,
-+ 0x21, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x00,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x13, 0x12, 0x23, 0x3e, 0x67,
-+ 0x26, 0x25, 0x3c, 0x20, 0x23, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x40, 0x80, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x1b, 0x70, 0x11, 0x11, 0x7d, 0x10, 0x1b,
-+ 0x36, 0x36, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x08, 0xe8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x57, 0x36, 0x3a, 0x12, 0x7f, 0x12, 0x1a,
-+ 0x37, 0x36, 0x52, 0x14, 0x17, 0x18, 0x00, 0x00,
-+ 0x40, 0xfc, 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8,
-+ 0x24, 0xa8, 0x70, 0xa8, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7d,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x4b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x0c, 0x2a, 0x2b, 0x29, 0x4b, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x50, 0x90,
-+ 0x90, 0xa0, 0x30, 0x48, 0xf4, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x90, 0x88, 0x94, 0x94, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x17, 0x66, 0x1a, 0x1b, 0x26, 0x7f,
-+ 0x13, 0x3b, 0x37, 0x37, 0x52, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0xc8, 0xf8, 0x48, 0x58,
-+ 0x58, 0x58, 0xf8, 0x18, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x08, 0x7f, 0x08,
-+ 0x1d, 0x1a, 0x2a, 0x48, 0x09, 0x0a, 0x00, 0x00,
-+ 0x48, 0x48, 0x48, 0xfc, 0x48, 0x48, 0x48, 0x48,
-+ 0xfc, 0x48, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x03, 0x0f,
-+ 0x72, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0xf0, 0x20, 0xfc, 0x80, 0x00, 0xf8,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x7f, 0x00, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x24, 0x3c, 0x24, 0x24,
-+ 0x3c, 0x25, 0x25, 0x26, 0x25, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xa0, 0xa0,
-+ 0xa0, 0x30, 0x48, 0x58, 0xe4, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x26, 0x24, 0x3c, 0x25, 0x26,
-+ 0x3f, 0x24, 0x24, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa0, 0xa8, 0x18, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x07, 0x04, 0x07, 0x3f, 0x27, 0x47,
-+ 0x0f, 0x08, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0xc0, 0x40, 0xc0, 0xfc, 0xc8, 0xc0,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x13, 0x1a, 0x16, 0x16, 0x7f,
-+ 0x12, 0x1a, 0x1a, 0x2a, 0x23, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x00, 0x70, 0x50, 0x50,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x7f, 0x08, 0x08,
-+ 0x07, 0x09, 0x09, 0x09, 0x11, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x00, 0x00,
-+ 0xf0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x09, 0x10, 0x24, 0x04, 0x0b, 0x08, 0x18,
-+ 0x28, 0x48, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x12, 0x13, 0x24, 0x49, 0x0f, 0x15, 0x37, 0x55,
-+ 0x17, 0x11, 0x1f, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xbc, 0x80, 0x00, 0xfc, 0x48, 0xc8, 0x48,
-+ 0xc8, 0x08, 0xe8, 0x88, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x7f, 0x00, 0x3f, 0x00, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x27, 0x3d, 0x25, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa0, 0xf8, 0xa0, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xfc, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x3c, 0x27, 0x3c, 0x25,
-+ 0x25, 0x3d, 0x19, 0x17, 0x25, 0x41, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa0, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xfc, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x7f, 0x12, 0x11, 0x22, 0x52,
-+ 0x0c, 0x04, 0x0a, 0x12, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xd0, 0x50, 0x60, 0xd0, 0xc8,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x24, 0xfc, 0x28, 0x28, 0xfc, 0x20, 0xf8,
-+ 0x88, 0x10, 0xfc, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x19, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x80, 0xa0, 0xa0, 0xa0,
-+ 0xa0, 0xb0, 0x48, 0x58, 0xe4, 0x04, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x11, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x26, 0x23, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x00, 0x20, 0x20, 0x20,
-+ 0x20, 0x30, 0x48, 0x48, 0xf4, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x1b, 0x26, 0x26, 0x7b, 0x12, 0x7f,
-+ 0x13, 0x57, 0x3b, 0x33, 0x1e, 0x62, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0xc8, 0xf8, 0x48, 0x58,
-+ 0x58, 0x58, 0xf8, 0x18, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x22,
-+ 0x2f, 0x30, 0x27, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x88,
-+ 0xe8, 0x18, 0xc8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x32, 0x28, 0x27, 0x24,
-+ 0x24, 0x24, 0x3b, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x78, 0x88, 0x50, 0x30, 0xdc, 0x10, 0xf8,
-+ 0x90, 0x90, 0xfc, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x07, 0x00, 0x7c, 0x11, 0x11, 0x11, 0x11,
-+ 0x15, 0x19, 0x61, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x6f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x80, 0x40, 0x30, 0xec,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00,
-+ 0x3f, 0x20, 0x27, 0x24, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xf8, 0x08, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x20, 0x10, 0x11, 0x0f, 0x45, 0x25, 0x25, 0x05,
-+ 0x15, 0x17, 0x39, 0x22, 0x42, 0x44, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x32, 0x2a, 0x2c, 0x3f, 0x24, 0x35,
-+ 0x35, 0x35, 0x3f, 0x31, 0x20, 0x21, 0x00, 0x00,
-+ 0x08, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x09, 0x08, 0x7f, 0x08,
-+ 0x0c, 0x12, 0x16, 0x79, 0x01, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x00, 0x7f, 0x04,
-+ 0x07, 0x08, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x00, 0xfc, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x6f, 0x00, 0x00,
-+ 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xec, 0x00, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x17, 0x11, 0x11, 0x7d, 0x17, 0x14, 0x17,
-+ 0x14, 0x1f, 0x63, 0x00, 0x07, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0x10, 0xf0, 0xfc, 0x08, 0xf8,
-+ 0xc8, 0x70, 0xb0, 0xe8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x17, 0x10, 0x1c,
-+ 0x71, 0x12, 0x14, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x50, 0xfc, 0x40, 0xf8,
-+ 0x80, 0xf8, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x41, 0x21, 0x27, 0x04, 0x0f,
-+ 0x10, 0x17, 0x23, 0x21, 0x46, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0x10, 0xf0, 0xfc, 0x08, 0xf8,
-+ 0xc8, 0x70, 0xf0, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x08, 0x0f, 0x3f, 0x20, 0x7f,
-+ 0x07, 0x3a, 0x1d, 0x06, 0x38, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0xfc, 0x08, 0xf8,
-+ 0x88, 0xd0, 0xe0, 0xb0, 0x8c, 0x00, 0x00, 0x00,
-+ 0x01, 0x1f, 0x07, 0x07, 0x07, 0x3f, 0x09, 0x7f,
-+ 0x3e, 0x3e, 0x2a, 0x3e, 0x7f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0xc0, 0xc0, 0xc0, 0xf8, 0x20, 0xfc,
-+ 0xf8, 0xf8, 0xa8, 0xf8, 0xfc, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x08, 0x7f, 0x08,
-+ 0x1e, 0x12, 0x2d, 0x44, 0x1b, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa4, 0x2c, 0xb4, 0x64, 0xfc,
-+ 0x74, 0xac, 0x2c, 0x38, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x12, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x90, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x08, 0x0a, 0x32, 0x0c, 0x05,
-+ 0x09, 0x12, 0x26, 0x09, 0x11, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0xc8, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x1f, 0x11, 0x21, 0x7f, 0x00,
-+ 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x2f, 0x21, 0x21, 0x2f, 0x21,
-+ 0x21, 0x21, 0x2f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0x08, 0x08, 0xe8, 0x08,
-+ 0x48, 0x28, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3f, 0x26, 0x79,
-+ 0x08, 0x7f, 0x1c, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x94, 0x94, 0x0c, 0x00, 0xf8,
-+ 0x88, 0x50, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x10, 0xd0, 0x50, 0x7c, 0x90, 0x10, 0xfc, 0x00,
-+ 0x78, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x08, 0x28, 0x28, 0x3e, 0x28, 0x48, 0x7f, 0x00,
-+ 0x3e, 0x22, 0x22, 0x3f, 0x21, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x01, 0x3f,
-+ 0x01, 0x7f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x00, 0xfc, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x4b, 0x30, 0x1f, 0x30, 0x4b, 0x08, 0x1b,
-+ 0x28, 0x4b, 0x0a, 0x0b, 0x32, 0x10, 0x00, 0x00,
-+ 0x10, 0x98, 0x14, 0xd4, 0x10, 0xfc, 0x10, 0x90,
-+ 0x10, 0xa8, 0xa8, 0xa8, 0x44, 0x84, 0x00, 0x00,
-+ 0x20, 0x10, 0x17, 0x44, 0x27, 0x24, 0x04, 0x17,
-+ 0x15, 0x15, 0x25, 0x29, 0x49, 0x56, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x20, 0xe8, 0x30, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x2b, 0x2a, 0x3a, 0x2b, 0x28,
-+ 0x3f, 0x28, 0x29, 0x28, 0x28, 0x5b, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0x40,
-+ 0xfc, 0x90, 0xd0, 0x20, 0xd0, 0x08, 0x00, 0x00,
-+ 0x22, 0x14, 0x7f, 0x49, 0x7f, 0x49, 0x7f, 0x00,
-+ 0x3e, 0x22, 0x3e, 0x22, 0x3f, 0x22, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x78, 0x48, 0x68, 0x58,
-+ 0x58, 0x88, 0x88, 0xec, 0x8c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x12, 0x22, 0x44, 0x08, 0x01,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0x48, 0x88, 0x88, 0x30,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x1a, 0x34, 0x35, 0x32, 0x50,
-+ 0x10, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xa8, 0xa8, 0x28, 0x48, 0xb0,
-+ 0x80, 0x50, 0x48, 0x14, 0x14, 0xf0, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x09, 0x09, 0x3f, 0x20, 0x4f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xfc, 0x08, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x44, 0x28, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x31, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x21, 0x10, 0x10, 0x00, 0x00, 0x70, 0x11,
-+ 0x11, 0x12, 0x14, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0xa0, 0x20,
-+ 0x10, 0x10, 0x08, 0x04, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x24, 0x27, 0x24, 0x24,
-+ 0x24, 0x24, 0x25, 0x26, 0x38, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x48, 0xd0, 0x60, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x27, 0x20, 0x20, 0x27, 0x39, 0x21, 0x21,
-+ 0x25, 0x25, 0x1d, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x67, 0x00, 0x00,
-+ 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xcc, 0x00, 0x00,
-+ 0xe0, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x3f, 0x23, 0x23, 0x25,
-+ 0x25, 0x29, 0x31, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x88, 0x88, 0x48,
-+ 0x48, 0x28, 0x18, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x13, 0x7e, 0x12, 0x13, 0x12,
-+ 0x16, 0x1b, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x0c, 0x79, 0x26, 0x18, 0x6c, 0x36, 0x1a, 0x62,
-+ 0x0d, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0xc8, 0xb0, 0xd8,
-+ 0x84, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x27,
-+ 0x79, 0x49, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x20, 0x10, 0xd4, 0x0c,
-+ 0xfc, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf4,
-+ 0x44, 0x28, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x0c, 0x78, 0x26, 0x18, 0x78, 0x1c, 0x6c, 0x14,
-+ 0x65, 0x19, 0x04, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xa4, 0xb8,
-+ 0xc8, 0x04, 0x90, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x70, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x70, 0x80, 0x80, 0xfc, 0x40, 0x24, 0x1c, 0xf4,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1e, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x80,
-+ 0x98, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x09, 0x7f, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x0e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf4,
-+ 0x44, 0x28, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x13, 0x3a, 0x36,
-+ 0x36, 0x53, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x48, 0xe8,
-+ 0xd8, 0x58, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x03, 0x12,
-+ 0x12, 0x13, 0x22, 0x22, 0x43, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x40,
-+ 0x48, 0xf0, 0x40, 0x44, 0xc4, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0b, 0x1a,
-+ 0x2b, 0x4a, 0x12, 0x12, 0x23, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf8, 0x48, 0x50, 0x20, 0x90, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x17, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0x88, 0xfc, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x11, 0x11, 0x10, 0x13, 0x1c, 0x70, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x20, 0xe8,
-+ 0x08, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x02, 0x03, 0x7e, 0x13, 0x1a,
-+ 0x14, 0x27, 0x7b, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xc8,
-+ 0xd0, 0x50, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x28, 0x2f, 0x28, 0x28, 0x2e, 0x70,
-+ 0x00, 0x1f, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x98, 0xe0, 0x80, 0x84, 0x84, 0x7c,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x30, 0x50, 0x11,
-+ 0x11, 0x12, 0x14, 0x18, 0x13, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0xf8,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x09, 0x09, 0x04, 0x04, 0x02,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x4f, 0x49, 0x49, 0x4a, 0x4c,
-+ 0x49, 0x7b, 0x4c, 0x40, 0x01, 0x0e, 0x00, 0x00,
-+ 0x80, 0x90, 0x18, 0xe4, 0x20, 0x24, 0x9c, 0xf0,
-+ 0x10, 0x20, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x10, 0x13, 0x10, 0x55, 0x54, 0x57, 0x54,
-+ 0x55, 0x7d, 0x46, 0x44, 0x0b, 0x00, 0x00, 0x00,
-+ 0x08, 0x90, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x80,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x7f, 0x02, 0x02, 0x04, 0x07,
-+ 0x08, 0x08, 0x10, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf0,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x08, 0x0f, 0x10, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x6f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0xec, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x42, 0x22, 0x22, 0x04, 0x14,
-+ 0x18, 0x10, 0x20, 0x20, 0x41, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x50, 0x48, 0x48, 0x4c, 0x54,
-+ 0xd0, 0x60, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x01, 0x00, 0x7c, 0x13, 0x10, 0x11, 0x7c, 0x17,
-+ 0x11, 0x13, 0x1a, 0x64, 0x0b, 0x00, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc,
-+ 0x00, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x08, 0x08, 0x10, 0x1f, 0x33,
-+ 0x52, 0x12, 0x12, 0x1e, 0x10, 0x03, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa8, 0x24, 0x2c,
-+ 0x68, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3d, 0x02, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x40, 0x40, 0x7c, 0x40,
-+ 0x40, 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x09, 0x49, 0x22, 0x2c, 0x08, 0x17, 0x21,
-+ 0x7f, 0x02, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x4c, 0xd4, 0x60, 0x80, 0x00,
-+ 0xfc, 0x90, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x19, 0x15, 0x23, 0x41,
-+ 0x3f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x20, 0x60, 0x50, 0x88, 0x04,
-+ 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x14, 0x14, 0x16, 0x19,
-+ 0x10, 0x17, 0x20, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x90, 0x90, 0x98, 0xa4,
-+ 0xc4, 0xf0, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x12, 0x1c,
-+ 0x70, 0x13, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x50, 0x50, 0x50, 0x58, 0xe4, 0x44,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x10, 0x3f, 0x53, 0x12,
-+ 0x13, 0x13, 0x12, 0x13, 0x13, 0x1c, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x08, 0x00, 0x00,
-+ 0x08, 0x0a, 0x0a, 0x13, 0x12, 0x31, 0x53, 0x16,
-+ 0x1b, 0x12, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x98, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x1f, 0x11, 0x11, 0x1f, 0x11,
-+ 0x11, 0x7f, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x7f, 0x12,
-+ 0x1e, 0x1e, 0x12, 0x1e, 0x73, 0x02, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0x00,
-+ 0xf8, 0x48, 0x30, 0x70, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x08, 0x08, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x22, 0x22, 0x3e, 0x22, 0x20, 0x00, 0x00,
-+ 0x80, 0x90, 0x88, 0x88, 0x80, 0xfc, 0x48, 0x48,
-+ 0x50, 0x30, 0x20, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x7f, 0x04, 0x1f, 0x04, 0x7f,
-+ 0x05, 0x19, 0x6f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x40, 0xf0, 0x40, 0xfc,
-+ 0x40, 0x30, 0xec, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x1f,
-+ 0x02, 0x7f, 0x04, 0x0f, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0,
-+ 0x00, 0xfc, 0x20, 0x40, 0xe0, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x21, 0x7f, 0x08, 0x04, 0x7f,
-+ 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf8, 0x20, 0x40, 0xfc,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x06, 0x79, 0x49, 0x2a, 0x24, 0x08, 0x08, 0x7f,
-+ 0x1c, 0x1a, 0x29, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x28, 0x48, 0x90, 0x10, 0x24,
-+ 0x44, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x01,
-+ 0x02, 0x0c, 0x30, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0xa0, 0xc0, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x11, 0x10, 0x10, 0x1f,
-+ 0x70, 0x10, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x50, 0x20, 0x40, 0x40, 0xfc,
-+ 0xe0, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x08, 0x08, 0x7f, 0x08, 0x7f,
-+ 0x1c, 0x1a, 0x29, 0x48, 0x08, 0x09, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0x40, 0xfc, 0x48, 0x48,
-+ 0x50, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x3f, 0x00, 0x1f, 0x10, 0x1f,
-+ 0x12, 0x17, 0x16, 0x2a, 0x32, 0x46, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x50, 0xfc, 0x40, 0xc8,
-+ 0x28, 0x30, 0x90, 0xb4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x41, 0x20, 0x20, 0x07, 0x09,
-+ 0x09, 0x09, 0x11, 0x12, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xe0, 0x1c, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x11, 0x22, 0x11, 0x08, 0x01, 0x01,
-+ 0x11, 0x12, 0x22, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x88, 0x88, 0x10, 0x20, 0x10, 0x88, 0x00, 0x08,
-+ 0x08, 0x90, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x11, 0x08, 0x08, 0x01, 0x7f,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x18, 0xe8, 0x08, 0x10, 0xa0, 0x40, 0x00, 0xfc,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x16, 0x10, 0x16,
-+ 0x12, 0x17, 0x28, 0x2f, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0xb0, 0x80, 0xb0,
-+ 0x80, 0xf0, 0x80, 0xf8, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x09, 0x08, 0x08, 0x10, 0x1f, 0x32,
-+ 0x52, 0x13, 0x12, 0x1e, 0x10, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0x94, 0x94, 0x0c, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x2f, 0x28, 0x28, 0x2e, 0x70, 0x3f,
-+ 0x02, 0x07, 0x1c, 0x64, 0x07, 0x04, 0x00, 0x00,
-+ 0x80, 0x88, 0x90, 0xe4, 0x84, 0x7c, 0x00, 0xf8,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x0f, 0x11, 0x2a, 0x64, 0x18, 0x1f, 0x60,
-+ 0x1f, 0x09, 0x09, 0x11, 0x21, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x20, 0x10, 0xec, 0x00,
-+ 0xf8, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x03, 0x06, 0x78, 0x17,
-+ 0x10, 0x1f, 0x15, 0x15, 0x29, 0x43, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x80, 0xc0, 0x3c, 0xd0,
-+ 0x10, 0xf0, 0x90, 0x50, 0x50, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x12, 0x09, 0x08, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x70, 0x90, 0x10, 0x20, 0x40, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x08, 0x7f, 0x08, 0x7f, 0x08,
-+ 0x19, 0x36, 0x52, 0x15, 0x19, 0x60, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0xfc, 0x40, 0x48, 0x48,
-+ 0x50, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x04, 0x1f, 0x04, 0x7f, 0x04, 0x7f, 0x1f, 0x15,
-+ 0x1f, 0x15, 0x1f, 0x7f, 0x04, 0x04, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xfc, 0x40, 0xc8, 0x48, 0x48,
-+ 0x50, 0x30, 0x24, 0xd4, 0x8c, 0x04, 0x00, 0x00,
-+ 0x01, 0x3d, 0x25, 0x2a, 0x32, 0x2d, 0x25, 0x26,
-+ 0x27, 0x24, 0x39, 0x21, 0x22, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xe8, 0xb0, 0x90, 0xf8, 0x04,
-+ 0xf8, 0x40, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x11, 0x0e, 0x1b, 0x71, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x08, 0x48, 0xc8, 0x48, 0x48, 0xc8, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x7f, 0x04, 0x0c, 0x08, 0x0b,
-+ 0x18, 0x28, 0x48, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x49, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x30, 0x30, 0x50,
-+ 0x50, 0x90, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3f, 0x02, 0x3e, 0x02,
-+ 0x3e, 0x02, 0x1c, 0x64, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x40, 0x78, 0x40,
-+ 0x78, 0x40, 0x7c, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3f, 0x22, 0x3e, 0x22,
-+ 0x22, 0x3e, 0x15, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x30, 0x30, 0x50,
-+ 0x50, 0x90, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x03, 0x21, 0x11, 0x11, 0x01, 0x0f, 0x10,
-+ 0x10, 0x20, 0x20, 0x43, 0x4c, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x10, 0x10, 0x10, 0xfc, 0x30,
-+ 0x30, 0x50, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x11,
-+ 0x11, 0x1e, 0x62, 0x04, 0x0b, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x29, 0x31, 0x29, 0x25,
-+ 0x25, 0x25, 0x3a, 0x22, 0x25, 0x2e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x13, 0x7e, 0x13, 0x12, 0x10,
-+ 0x1d, 0x73, 0x0d, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x48, 0xa0,
-+ 0x30, 0x28, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x10, 0x18, 0x35, 0x35,
-+ 0x33, 0x55, 0x59, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0xd4, 0xd4, 0x7c, 0x54,
-+ 0xd4, 0xfc, 0x54, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x02, 0x01, 0x1f, 0x01, 0x7f, 0x02, 0x07, 0x0c,
-+ 0x17, 0x64, 0x07, 0x04, 0x04, 0x04, 0x00, 0x00,
-+ 0x20, 0xc0, 0x60, 0x10, 0xfc, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x02, 0x01, 0x79, 0x4b, 0x48, 0x48, 0x48, 0x4f,
-+ 0x48, 0x78, 0x48, 0x41, 0x06, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x2a, 0x2a, 0x2a, 0x2b, 0x2a,
-+ 0x2a, 0x2a, 0x3e, 0x22, 0x20, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x50, 0x88, 0xfc, 0x08,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x7c, 0x13, 0x17, 0x10,
-+ 0x17, 0x1a, 0x62, 0x03, 0x02, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x60, 0x90, 0x08, 0xfc, 0x08,
-+ 0xc8, 0x48, 0x48, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7c, 0x13, 0x10, 0x10, 0x3d, 0x27, 0x64,
-+ 0x25, 0x25, 0x3d, 0x21, 0x21, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x60, 0x90, 0x10, 0xfc, 0x08,
-+ 0xe8, 0x28, 0x28, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x3e, 0x2f, 0x3e, 0x6f, 0x08,
-+ 0x0f, 0x0f, 0x0f, 0x0f, 0x2a, 0x45, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x70, 0xfc, 0x70, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0xfc, 0xf8, 0x88, 0x70, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x13, 0x12, 0x34, 0x58, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x80,
-+ 0x80, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x08, 0x49, 0x29, 0x2a, 0x08, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x22, 0x22, 0x26, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4b, 0x4a, 0x4c, 0x48, 0x48,
-+ 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x80,
-+ 0x80, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x14, 0x11, 0x13, 0x19,
-+ 0x72, 0x14, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa8, 0x18, 0x00, 0xfc,
-+ 0x40, 0x78, 0x40, 0x78, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x49, 0x4a, 0x4a, 0x7c, 0x48,
-+ 0x48, 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x40, 0x40, 0x7c, 0x40,
-+ 0x40, 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x22, 0x12, 0x14, 0x7f, 0x08, 0x2a, 0x2a, 0x2a,
-+ 0x3e, 0x2a, 0x28, 0x08, 0x11, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1a, 0x17, 0x36,
-+ 0x32, 0x52, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x0a, 0x12, 0x07,
-+ 0x19, 0x61, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0x00, 0xfc,
-+ 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x7f, 0x01, 0x1f,
-+ 0x11, 0x13, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xe0, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x3f, 0x22, 0x4c, 0x03,
-+ 0x02, 0x7f, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x48, 0x80, 0x40,
-+ 0x30, 0xc8, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0xfc, 0x50, 0x50, 0xfc, 0x00,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x0a, 0x09, 0x7f, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x29, 0x49, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x88, 0x48, 0x48, 0x10, 0x60, 0x40, 0xfc, 0x90,
-+ 0x90, 0xd0, 0x20, 0x30, 0xc8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x49, 0x09, 0x7f,
-+ 0x09, 0x09, 0x09, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0xe0, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x00, 0x7f,
-+ 0x04, 0x17, 0x14, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x48, 0x50, 0x60, 0xc0,
-+ 0x40, 0x44, 0x44, 0x3c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x12, 0x12, 0x12, 0x7f,
-+ 0x12, 0x12, 0x12, 0x12, 0x12, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0xfc,
-+ 0x90, 0x90, 0x90, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x3f, 0x24, 0x24, 0x3f,
-+ 0x35, 0x55, 0x55, 0x17, 0x14, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x28, 0x4f, 0x19, 0x66, 0x14, 0x1f,
-+ 0x60, 0x3f, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0x90, 0x60, 0x30, 0xec,
-+ 0x00, 0xf8, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x12, 0x7c, 0x12, 0x11, 0x10, 0x14,
-+ 0x18, 0x71, 0x12, 0x10, 0x10, 0x33, 0x00, 0x00,
-+ 0x24, 0x24, 0x48, 0x90, 0x48, 0xa4, 0x40, 0x78,
-+ 0x88, 0x90, 0x50, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x1f, 0x1c,
-+ 0x77, 0x17, 0x14, 0x17, 0x1c, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc, 0x80,
-+ 0xf8, 0xc8, 0xa8, 0x90, 0xe8, 0x84, 0x00, 0x00,
-+ 0x10, 0x13, 0x13, 0x7d, 0x13, 0x16, 0x11, 0x1b,
-+ 0x74, 0x13, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0xf8, 0x68, 0xf0, 0x90, 0xf8,
-+ 0x04, 0xf8, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x29, 0x29, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x02, 0x02, 0x34, 0x0c, 0x1a, 0x69, 0x0a, 0x7f,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x94, 0x94, 0x0c, 0x00, 0xf8,
-+ 0x88, 0x50, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x24, 0x28, 0x31, 0x29,
-+ 0x25, 0x25, 0x25, 0x3a, 0x25, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xfc, 0x88, 0x50, 0xfc, 0x60,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7c, 0x14, 0x15, 0x23, 0x48, 0x08,
-+ 0x7f, 0x1c, 0x1a, 0x29, 0x48, 0x08, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x02, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x1d,
-+ 0x01, 0x1d, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x70,
-+ 0x00, 0x70, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x7c, 0x14, 0x17, 0x12, 0x1a,
-+ 0x73, 0x12, 0x14, 0x14, 0x18, 0x33, 0x00, 0x00,
-+ 0x08, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x28, 0x28,
-+ 0xa8, 0xa8, 0xa8, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x50, 0x48, 0x94, 0x54,
-+ 0x50, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x12, 0x12, 0x12, 0x12,
-+ 0x12, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x4b, 0x4a, 0x7a, 0x4a,
-+ 0x4a, 0x4b, 0x7a, 0x4a, 0x43, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xb8, 0x38, 0x18, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x05, 0x19, 0x69, 0x09, 0x15, 0x2b,
-+ 0x09, 0x15, 0x23, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x30, 0x2c, 0x20, 0x50, 0xa8,
-+ 0x20, 0x50, 0x88, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x04, 0x3f, 0x02, 0x7f, 0x04, 0x09,
-+ 0x16, 0x61, 0x0e, 0x00, 0x01, 0x1e, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0x90, 0x00, 0xfc, 0xc0, 0x20,
-+ 0x50, 0x8c, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x21, 0x21, 0x21, 0x21, 0x21,
-+ 0x21, 0x21, 0x21, 0x3f, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1b, 0x34, 0x37, 0x30, 0x51,
-+ 0x16, 0x11, 0x10, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0x60, 0x90, 0xe8, 0x40, 0xfc, 0xa0, 0x10,
-+ 0x4c, 0xa0, 0x48, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x12, 0x12, 0x17, 0x7a, 0x12, 0x1f, 0x10, 0x1f,
-+ 0x74, 0x17, 0x14, 0x17, 0x14, 0x35, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xe0, 0xbc, 0xa8, 0xc8, 0x28, 0xa8,
-+ 0xb0, 0x90, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x14, 0x14, 0x3f, 0x14, 0x14, 0x7f, 0x01, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x27, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x88, 0x88, 0x48, 0x50,
-+ 0x30, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x19, 0x1c, 0x1b,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x28, 0x28, 0x10, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x17, 0x36, 0x3d, 0x51, 0x16,
-+ 0x11, 0x17, 0x18, 0x29, 0x26, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xe8, 0x90, 0xa8, 0x44, 0x48,
-+ 0x50, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x12, 0x12, 0x12, 0x7f, 0x12,
-+ 0x12, 0x12, 0x1e, 0x62, 0x02, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x04, 0x02, 0x1f, 0x12, 0x12, 0x17,
-+ 0x18, 0x17, 0x20, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xfc, 0x80, 0x80, 0xf8,
-+ 0x80, 0xf0, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x4f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x04, 0x7f, 0x04, 0x18, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x4f, 0x08, 0x0f, 0x0f, 0x0f,
-+ 0x7f, 0x16, 0x63, 0x3f, 0x0d, 0x31, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0xe0, 0x20, 0xe0, 0xe0, 0xe0,
-+ 0xfc, 0x90, 0x6c, 0xf0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x1f, 0x02, 0x05, 0x19, 0x6f,
-+ 0x09, 0x09, 0x0f, 0x09, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x80, 0x40, 0x30, 0xec,
-+ 0x20, 0x20, 0xe0, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x01, 0x3b, 0x01, 0x7f, 0x02, 0x3f, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x26, 0x00, 0x00,
-+ 0x10, 0xf8, 0x10, 0xfc, 0xa8, 0xf4, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x90, 0x0c, 0x00, 0x00,
-+ 0x04, 0x3f, 0x04, 0x7f, 0x0a, 0x1f, 0x68, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x50, 0xe8, 0x24, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0xb0, 0x28, 0xfc, 0x50, 0x54, 0xac, 0x38,
-+ 0x48, 0x50, 0xb0, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x0f, 0x1f, 0x72, 0x0d, 0x33, 0x0d, 0x77,
-+ 0x04, 0x07, 0x07, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x30, 0x48, 0x84, 0x60, 0xdc,
-+ 0x40, 0xc0, 0xd0, 0xa0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3e, 0x3e, 0x7f, 0x09,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x90, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x13, 0x1c, 0x27, 0x24, 0x57,
-+ 0x18, 0x08, 0x10, 0x10, 0x20, 0x43, 0x00, 0x00,
-+ 0x50, 0x48, 0x40, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x28, 0x28, 0x10, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x10, 0x37, 0x50, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x10, 0x10, 0x30, 0x50, 0x17,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x20, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x17, 0x10, 0x33, 0x52, 0x12,
-+ 0x12, 0x13, 0x12, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0x08, 0xc8, 0x48, 0x48,
-+ 0x48, 0xc8, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x13, 0x32, 0x52, 0x13,
-+ 0x12, 0x11, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x80, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x25, 0x25, 0x27,
-+ 0x0c, 0x0e, 0x15, 0x25, 0x44, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0xc8, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x10,
-+ 0x10, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xc8, 0x08, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x11, 0x11, 0x1f,
-+ 0x11, 0x0a, 0x06, 0x07, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0,
-+ 0x10, 0x00, 0x00, 0x00, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x00, 0x7f, 0x55,
-+ 0x55, 0x7f, 0x55, 0x55, 0x55, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0x74, 0x04, 0x74, 0x54, 0x54,
-+ 0x54, 0x74, 0x54, 0x04, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x44, 0x44, 0x44, 0x44, 0x48, 0x48,
-+ 0x50, 0x60, 0x40, 0x7f, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x98, 0x98,
-+ 0x78, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x7c, 0x24, 0x27, 0x24,
-+ 0x75, 0x49, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x50, 0x88, 0x9c, 0xe4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xb0, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x31, 0x0b, 0x02, 0x0c, 0x11, 0x66, 0x01,
-+ 0x7f, 0x02, 0x07, 0x08, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0xc0, 0x30, 0x0c, 0x00,
-+ 0xfc, 0x20, 0x40, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x01, 0x7f,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x20, 0x40, 0x80, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x12, 0x13,
-+ 0x14, 0x1d, 0x23, 0x22, 0x4c, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xfc, 0x40, 0xc8,
-+ 0xf0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x01, 0x1f, 0x11, 0x11,
-+ 0x11, 0x11, 0x11, 0x11, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x20,
-+ 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xb0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x1f, 0x01,
-+ 0x04, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x00,
-+ 0x90, 0x88, 0x04, 0x24, 0x20, 0xe0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x11, 0x10, 0x10, 0x1d,
-+ 0x71, 0x11, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x00, 0x18, 0xe0, 0x00, 0x04, 0xfc, 0x00, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x1f, 0x04,
-+ 0x04, 0x02, 0x01, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xe0, 0x20,
-+ 0x40, 0x40, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x02, 0x04, 0x09, 0x09, 0x0e, 0x78,
-+ 0x08, 0x08, 0x08, 0x08, 0x0b, 0x1c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x12, 0x1e, 0x12, 0x1e,
-+ 0x12, 0x7f, 0x14, 0x12, 0x23, 0x40, 0x00, 0x00,
-+ 0x08, 0x10, 0x60, 0xc0, 0x40, 0x7c, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x11, 0x12, 0x1c, 0x17,
-+ 0x14, 0x14, 0x24, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0xa0, 0xb8, 0xe8, 0xa8,
-+ 0xa8, 0xa8, 0xb8, 0xa0, 0x84, 0x7c, 0x00, 0x00,
-+ 0x20, 0x20, 0x3f, 0x20, 0x20, 0x1f, 0x00, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x70, 0x80, 0x08, 0x08, 0xf8, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1b, 0x1b,
-+ 0x28, 0x28, 0x48, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x08,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x11, 0x11, 0x11, 0x11, 0x11,
-+ 0x11, 0x11, 0x11, 0x11, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x0e, 0x12, 0x12, 0x2a,
-+ 0x44, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0x88, 0x88, 0x90, 0xa0,
-+ 0xc0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x01, 0x1f, 0x11, 0x11, 0x11, 0x1f, 0x10,
-+ 0x10, 0x10, 0x10, 0x13, 0x1c, 0x60, 0x00, 0x00,
-+ 0x60, 0x80, 0x00, 0x00, 0x00, 0x78, 0x80, 0x80,
-+ 0x40, 0x40, 0x24, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x12, 0x52, 0x34, 0x27, 0x35, 0x55, 0x17, 0x34,
-+ 0x37, 0x55, 0x15, 0x17, 0x14, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x10, 0x7c, 0x54, 0x54, 0x54,
-+ 0x54, 0x54, 0x5c, 0x50, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x04, 0x08, 0x0c, 0x1a,
-+ 0x2a, 0x48, 0x08, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xa0, 0xbc, 0xa0, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x06, 0x3c, 0x04, 0x04, 0x7f, 0x0c, 0x0e,
-+ 0x15, 0x15, 0x24, 0x44, 0x07, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40,
-+ 0x60, 0x50, 0x88, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x1c, 0x03, 0x01, 0x02, 0x7f,
-+ 0x01, 0x09, 0x09, 0x11, 0x21, 0x01, 0x00, 0x00,
-+ 0x00, 0x20, 0x20, 0x40, 0x80, 0x20, 0x18, 0xe4,
-+ 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0xa0, 0xa0, 0xfc, 0xa0, 0xa0,
-+ 0x90, 0x90, 0x94, 0xac, 0xcc, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x2f, 0x28, 0x28, 0x2f, 0x72, 0x0c,
-+ 0x03, 0x7f, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x80, 0x98, 0xe0, 0x80, 0x84, 0x7c, 0x40, 0xc0,
-+ 0x30, 0xc8, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x27, 0x3d,
-+ 0x24, 0x24, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x08,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3d, 0x25, 0x25, 0x25, 0x3c, 0x24, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0x18, 0xe0, 0x04, 0x04, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x04, 0x3f, 0x01, 0x01,
-+ 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x40, 0x30, 0xc8, 0x00, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x09, 0x11, 0x19,
-+ 0x35, 0x54, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0xa8, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x01, 0x3c, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xe8, 0x28,
-+ 0x28, 0xe8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3f, 0x00, 0x3c,
-+ 0x03, 0x3d, 0x24, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x20, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xfc, 0x20, 0x20, 0xe0, 0xa0,
-+ 0x90, 0xb0, 0xd4, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3d, 0x25, 0x26, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x40,
-+ 0xb0, 0xa8, 0x84, 0x94, 0x90, 0x70, 0x00, 0x00,
-+ 0x00, 0x3e, 0x01, 0x7d, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa4, 0x28, 0xb0, 0x50, 0x48,
-+ 0x84, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x09, 0x0a, 0x04, 0x19, 0x6f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0xe0, 0x30, 0xec, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x3c, 0x27,
-+ 0x25, 0x3d, 0x1a, 0x14, 0x25, 0x42, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x0a, 0x0a, 0x2a, 0x2f, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2f, 0x3b, 0x61, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x1a, 0x2a, 0x7e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x26, 0x3a, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xe8, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x7f, 0x29, 0x25, 0x3f,
-+ 0x23, 0x25, 0x29, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x28, 0x48, 0xf8,
-+ 0x88, 0x48, 0x28, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x0f, 0x09, 0x0f, 0x01, 0x1f,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xf0,
-+ 0x10, 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00,
-+ 0x08, 0x0a, 0x0b, 0x12, 0x12, 0x32, 0x52, 0x12,
-+ 0x12, 0x12, 0x12, 0x13, 0x1c, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x90, 0x50, 0x50, 0x10, 0x10,
-+ 0x10, 0x10, 0xb0, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x10, 0x10, 0x37, 0x50, 0x10,
-+ 0x17, 0x12, 0x11, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x13, 0x12, 0x12, 0x13,
-+ 0x12, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x90, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x4f, 0x00, 0x01, 0x01,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xe0, 0x40, 0x80, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x01, 0x7f, 0x00, 0x00,
-+ 0x7f, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x08, 0x32, 0x0c, 0x12, 0x7f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x20, 0xc8, 0x30, 0x48, 0xfc,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x17, 0x10, 0x10,
-+ 0x1f, 0x71, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x48, 0x4f, 0x78, 0x48,
-+ 0x4f, 0x49, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x21, 0x11, 0x11, 0x02, 0x02, 0x14,
-+ 0x10, 0x20, 0x20, 0x41, 0x46, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x48, 0x50, 0x40,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x11, 0x08, 0x08, 0x47, 0x21, 0x21, 0x01, 0x06,
-+ 0x12, 0x11, 0x21, 0x22, 0x4f, 0x40, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0x10, 0x10, 0x54, 0x64,
-+ 0xa8, 0x98, 0x10, 0xa8, 0xfc, 0x44, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x21, 0x21, 0x0f, 0x00,
-+ 0x13, 0x12, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xa0, 0x10, 0x38, 0xc4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x61, 0x3f, 0x23, 0x2d, 0x2b,
-+ 0x33, 0x2d, 0x25, 0x2b, 0x31, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x0c, 0xf8, 0x18, 0x68, 0x58,
-+ 0x98, 0x68, 0x28, 0x58, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x3f, 0x5b, 0x15, 0x1b, 0x15,
-+ 0x1b, 0x3f, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0xf8, 0xb4, 0x70, 0xb0, 0x50,
-+ 0xb0, 0xf8, 0xf0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2b, 0x08, 0x1f,
-+ 0x28, 0x4f, 0x12, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x7c, 0x10, 0x17, 0x11, 0x21, 0x39, 0x6e,
-+ 0x29, 0x28, 0x39, 0x2a, 0x27, 0x00, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0x10, 0x10, 0x54, 0x64,
-+ 0x98, 0x88, 0x10, 0xa8, 0xfc, 0x44, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x00, 0x7f, 0x01, 0x09,
-+ 0x09, 0x11, 0x11, 0x21, 0x41, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x20,
-+ 0x10, 0x08, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x02, 0x3f, 0x24, 0x24, 0x24,
-+ 0x24, 0x24, 0x24, 0x24, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xf0, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x0f,
-+ 0x08, 0x08, 0x0f, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x20, 0x38, 0xe0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x1f, 0x10, 0x10, 0x1f, 0x10,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x3d, 0x24, 0x27,
-+ 0x3c, 0x27, 0x25, 0x3c, 0x20, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x10, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x02, 0x04, 0x39, 0x08, 0x08, 0x7e, 0x09, 0x08,
-+ 0x3e, 0x23, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x48, 0x50, 0xfc, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x21, 0x21, 0x02, 0x0c,
-+ 0x08, 0x08, 0x10, 0x10, 0x23, 0x2c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0x90, 0x50,
-+ 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x12, 0x1f,
-+ 0x14, 0x17, 0x24, 0x24, 0x47, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xc8, 0x70, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x3f, 0x04,
-+ 0x04, 0x04, 0x04, 0x07, 0x78, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x40, 0xc0, 0x20,
-+ 0x20, 0x20, 0x14, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x01, 0x39, 0x07, 0x7a, 0x02, 0x3f, 0x00, 0x3b,
-+ 0x02, 0x3b, 0x2a, 0x2b, 0x3a, 0x20, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0xa8, 0xa0, 0xfc, 0x28, 0xa8,
-+ 0xb0, 0x90, 0xb4, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x00, 0x7d, 0x55, 0x55, 0x55, 0x7d, 0x55,
-+ 0x55, 0x55, 0x7d, 0x42, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1f, 0x28, 0x24, 0x45, 0x00,
-+ 0x1f, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0xa0, 0x90, 0x10, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x41, 0x01, 0x01, 0x7f,
-+ 0x00, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x40, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x00,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x00,
-+ 0xfc, 0x80, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x7c, 0x04,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x44, 0x44, 0x44, 0x44, 0x44,
-+ 0x47, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x88, 0x88, 0x90, 0xa0, 0xc0,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x09, 0x7f, 0x22, 0x12, 0x14,
-+ 0x7f, 0x08, 0x3e, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf0, 0x50, 0x50, 0xd0, 0x50,
-+ 0x70, 0xb0, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x1f, 0x11, 0x21, 0x7f,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc,
-+ 0x00, 0x80, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x15, 0x7b, 0x2b, 0x29, 0x29,
-+ 0x7b, 0x55, 0x1a, 0x12, 0x24, 0x49, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x40, 0x40, 0x78, 0xa0, 0x20,
-+ 0xfc, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x7f, 0x02, 0x04, 0x3f,
-+ 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf8, 0x80, 0x60, 0x90,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x09, 0x7f, 0x03, 0x0d, 0x71,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x30, 0xd0, 0x10, 0x20, 0xfc, 0x80, 0x60, 0x1c,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x02, 0x10,
-+ 0x14, 0x12, 0x22, 0x20, 0x4f, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0xa8, 0xa0,
-+ 0xa8, 0xa8, 0xb0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x21, 0x26, 0x00, 0x13,
-+ 0x1e, 0x11, 0x20, 0x21, 0x46, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0xa0, 0x58,
-+ 0x4c, 0x50, 0xe0, 0x50, 0x4c, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x29, 0x2b, 0x0a, 0x1c,
-+ 0x2f, 0x48, 0x10, 0x11, 0x22, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf8, 0x40, 0x40,
-+ 0xfc, 0xc0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x06, 0x38, 0x3f, 0x24, 0x25, 0x4f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x30, 0xc0, 0xfc, 0x90, 0x10, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x21, 0x41, 0x1f, 0x01, 0x0f,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf0, 0x00, 0xe0,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7f, 0x22, 0x14,
-+ 0x7f, 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0x78, 0x48, 0x50, 0x50,
-+ 0x48, 0x44, 0x44, 0x44, 0x58, 0x40, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x08, 0x0c, 0x17, 0x14,
-+ 0x37, 0x55, 0x14, 0x15, 0x16, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0x40, 0xf8, 0x90, 0xe0,
-+ 0x5c, 0xf8, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x52, 0x13,
-+ 0x10, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0x20, 0x28, 0x04, 0x14, 0xf0, 0x00, 0x00,
-+ 0x08, 0x08, 0x2f, 0x28, 0x28, 0x2e, 0x71, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x80, 0x98, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x3f, 0x00,
-+ 0x00, 0x00, 0x13, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xf8, 0x10,
-+ 0x20, 0xc0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x14, 0x12, 0x1f, 0x13,
-+ 0x1c, 0x1f, 0x11, 0x23, 0x20, 0x4f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x90, 0xa0, 0xfc, 0xe0,
-+ 0x98, 0xfc, 0x20, 0xa0, 0xe0, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x01, 0x14, 0x14, 0x24, 0x03,
-+ 0x08, 0x36, 0x35, 0x51, 0x55, 0x0c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0x90, 0x88, 0x28, 0xe0,
-+ 0x20, 0xd8, 0xd4, 0x44, 0x50, 0x30, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x09, 0x2d, 0x2b, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x08, 0xe8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x19, 0x61, 0x0f, 0x01, 0x3f,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x30, 0x0c, 0xe0, 0x00, 0xf8,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x44, 0x07, 0x04, 0x07, 0x04,
-+ 0x00, 0x7f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x00, 0xf0, 0x00, 0xc0, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x04, 0x08, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x1f, 0x73, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0xfc, 0x08, 0x48, 0xa8,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x16, 0x11, 0x10, 0x1f,
-+ 0x70, 0x11, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x50, 0x4c, 0xf0, 0x40, 0xfc,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x08, 0x7f, 0x14, 0x36,
-+ 0x35, 0x55, 0x14, 0x24, 0x24, 0x4d, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x88, 0x48, 0x48, 0x50,
-+ 0x30, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x7e, 0x08, 0x7e,
-+ 0x08, 0x2d, 0x2a, 0x2a, 0x48, 0x18, 0x00, 0x00,
-+ 0x10, 0x90, 0x50, 0x50, 0x10, 0x90, 0x90, 0x1c,
-+ 0x70, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x07, 0x1c, 0x67,
-+ 0x04, 0x07, 0x04, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x10, 0xf0, 0x20, 0xfc, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x04, 0x09, 0x0c, 0x1a,
-+ 0x2a, 0x48, 0x08, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa8, 0xa4, 0x24,
-+ 0x28, 0x78, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x07,
-+ 0x1c, 0x67, 0x04, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0x10, 0xf0, 0x20, 0x40, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x39, 0x03, 0x7e, 0x03, 0x3a, 0x03, 0x3a,
-+ 0x07, 0x38, 0x29, 0x2e, 0x38, 0x20, 0x00, 0x00,
-+ 0x88, 0x08, 0xc8, 0x48, 0xfc, 0x48, 0xe8, 0x78,
-+ 0xd8, 0xc8, 0x48, 0x48, 0x48, 0xd8, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x13, 0x12, 0x03, 0x02, 0x72, 0x12,
-+ 0x14, 0x15, 0x19, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0xfc, 0x90, 0xf0, 0x90,
-+ 0x00, 0xa8, 0x54, 0x54, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x40, 0x48, 0x48,
-+ 0x50, 0x60, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x06, 0x06,
-+ 0x0a, 0x0a, 0x12, 0x22, 0x42, 0x06, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x17, 0x11, 0x31, 0x5f, 0x10,
-+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x10, 0x10, 0x24, 0x42,
-+ 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x09, 0x09,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1a, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0x88, 0x48,
-+ 0x48, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0a, 0x2a, 0x2d, 0x29, 0x4a,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x88, 0x08, 0x88, 0x48,
-+ 0x48, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x3f, 0x24, 0x3f, 0x1e, 0x13,
-+ 0x1e, 0x12, 0x1e, 0x14, 0x1e, 0x61, 0x00, 0x00,
-+ 0x78, 0x90, 0x20, 0xf8, 0x48, 0xf8, 0x10, 0xfc,
-+ 0x90, 0x50, 0x50, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0xc0, 0x40, 0x78, 0x88, 0x88, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x03, 0x0c, 0x79, 0x49, 0x2a, 0x2c, 0x7f, 0x08,
-+ 0x1c, 0x1a, 0x2a, 0x49, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x23, 0x5d, 0x08, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x80, 0xfc,
-+ 0x54, 0x54, 0x94, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x01, 0x7f, 0x02,
-+ 0x07, 0x1c, 0x64, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x00, 0xfc, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x28, 0x48, 0x0e, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x29, 0x49, 0x08, 0x19, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf8, 0x88, 0x48,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x7e, 0x02, 0x02, 0x3e, 0x20, 0x3e, 0x22,
-+ 0x12, 0x0e, 0x1a, 0x62, 0x02, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x80, 0xf8, 0x88,
-+ 0x48, 0x38, 0x68, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x7f, 0x04, 0x1f, 0x64,
-+ 0x07, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x02, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x1f,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf0,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x13, 0x12, 0x1e, 0x12, 0x12, 0x1e,
-+ 0x12, 0x12, 0x1e, 0x62, 0x03, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x48, 0x50,
-+ 0x50, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x00, 0x7f, 0x00,
-+ 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x01, 0x01, 0x3f, 0x01, 0x01,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x0f, 0x11, 0x21, 0x7f, 0x03,
-+ 0x05, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x80,
-+ 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x1e, 0x24, 0x27, 0x54,
-+ 0x08, 0x09, 0x0a, 0x14, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x48, 0x33, 0x12, 0x34, 0x48, 0x0f, 0x18,
-+ 0x29, 0x48, 0x08, 0x08, 0x30, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x10, 0x10, 0xfc, 0x10,
-+ 0x10, 0x90, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x01, 0x7d, 0x11, 0x12, 0x14, 0x7f, 0x10,
-+ 0x10, 0x11, 0x1e, 0x64, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x19, 0x70, 0x17, 0x10, 0x7f, 0x12, 0x1b,
-+ 0x36, 0x37, 0x50, 0x13, 0x10, 0x17, 0x00, 0x00,
-+ 0x08, 0xf0, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3b, 0x28, 0x2f, 0x38, 0x2b, 0x2a, 0x3b,
-+ 0x2a, 0x2b, 0x28, 0x2b, 0x28, 0x4f, 0x00, 0x00,
-+ 0x08, 0xf0, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00,
-+ 0x08, 0x0b, 0x3d, 0x09, 0x09, 0x7f, 0x09, 0x29,
-+ 0x2f, 0x29, 0x3b, 0x28, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x78, 0xc8, 0x68, 0x58, 0xd0,
-+ 0x58, 0x68, 0xe4, 0x44, 0x40, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x41, 0x27, 0x25, 0x05, 0x15,
-+ 0x16, 0x14, 0x27, 0x24, 0x47, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x58,
-+ 0x38, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x01, 0x02, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x17, 0x17, 0x3b, 0x50, 0x17,
-+ 0x10, 0x13, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xfc, 0x58, 0x58, 0x00, 0xfc,
-+ 0x40, 0xf8, 0xa8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x00, 0x01, 0x3e, 0x12, 0x09, 0x3f, 0x20, 0x5f,
-+ 0x04, 0x02, 0x01, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x30, 0xd0, 0x10, 0x20, 0x40, 0xfc, 0x08, 0xe0,
-+ 0x20, 0x40, 0x80, 0x80, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4a, 0x4b, 0x4a, 0x48,
-+ 0x48, 0x79, 0x49, 0x42, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x02, 0x7f, 0x04,
-+ 0x7f, 0x08, 0x14, 0x22, 0x42, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x20,
-+ 0xfc, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x11, 0x13, 0x12, 0x15,
-+ 0x1c, 0x70, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x50, 0x20, 0xfc, 0x08, 0xf0,
-+ 0x90, 0xa0, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x79, 0x17, 0x10, 0x3b, 0x36,
-+ 0x37, 0x54, 0x52, 0x13, 0x1e, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0xc8, 0x3c, 0xc8, 0x28, 0xd8, 0x58,
-+ 0xc8, 0x48, 0x88, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x0b, 0x72, 0x14, 0x0d, 0x13, 0x7f,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0e, 0x00, 0x00,
-+ 0x08, 0xf4, 0x44, 0xa8, 0x90, 0xfc, 0x08, 0xf0,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x7f,
-+ 0x02, 0x3f, 0x24, 0x24, 0x24, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0xfc,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22,
-+ 0x22, 0x24, 0x28, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x88,
-+ 0x88, 0x48, 0x28, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x05, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
-+ 0x26, 0x3c, 0x64, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x50, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x17, 0x11, 0x1f, 0x10,
-+ 0x17, 0x14, 0x14, 0x27, 0x24, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x08, 0xe8, 0x08,
-+ 0xc8, 0x48, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x4f, 0x00, 0x00, 0x7f,
-+ 0x01, 0x09, 0x09, 0x11, 0x21, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xe0, 0x00, 0x00, 0xfc,
-+ 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x00, 0x3f, 0x22, 0x22, 0x3e,
-+ 0x08, 0x2c, 0x2a, 0x2b, 0x4a, 0x18, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0xfc, 0x40, 0x60, 0x60,
-+ 0x60, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x2c, 0x2a, 0x2a, 0x48,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x08, 0x88, 0x88, 0x88, 0xc8, 0xa8, 0xa8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0c, 0x15, 0x16, 0x34, 0x57, 0x14,
-+ 0x15, 0x14, 0x15, 0x14, 0x10, 0x13, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0xa0, 0xe0, 0x3c, 0x40,
-+ 0x90, 0x60, 0x88, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x02, 0x3c, 0x08, 0x7e, 0x1d, 0x2a, 0x4a, 0x09,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0x50, 0x50, 0x88, 0x04,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x11, 0x13, 0x14, 0x1c,
-+ 0x71, 0x11, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0a, 0x42, 0x27, 0x26, 0x0a, 0x02,
-+ 0x12, 0x12, 0x24, 0x24, 0x48, 0x50, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x68, 0xd8, 0xd8, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x6f,
-+ 0x02, 0x02, 0x04, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x80, 0x40, 0x30, 0xcc,
-+ 0x40, 0x78, 0x48, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x08, 0x08, 0x7e, 0x08, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x24, 0xa4, 0xa8, 0xb0, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0xc8, 0x30, 0x20, 0xd0, 0x08,
-+ 0x64, 0x10, 0x00, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x67, 0x28, 0x1b, 0x26, 0x7f,
-+ 0x12, 0x3b, 0x36, 0x37, 0x52, 0x14, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x48, 0x58,
-+ 0xe8, 0xf8, 0xe8, 0x58, 0x58, 0x48, 0x00, 0x00,
-+ 0x00, 0x7f, 0x22, 0x16, 0x1a, 0x63, 0x06, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x58, 0x68, 0x88, 0x18, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x01, 0x7f, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x00, 0xfc, 0x80, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x0a, 0x09, 0x09, 0x08, 0x7f,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x02, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x1f, 0x05, 0x05, 0x09, 0x11, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x20, 0x50, 0xfc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x09,
-+ 0x17, 0x61, 0x09, 0x11, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x90, 0x90, 0xfc, 0x40, 0x88,
-+ 0x90, 0x60, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x04, 0x3f, 0x12, 0x7f, 0x1e, 0x1e, 0x1e, 0x12,
-+ 0x17, 0x7f, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0x78, 0x88, 0x78, 0x70, 0x70, 0x74,
-+ 0x3c, 0xfc, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x12, 0x1f, 0x34, 0x5f, 0x1e, 0x1f, 0x07, 0x7f,
-+ 0x07, 0x07, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x48, 0x7c, 0xd0, 0x78, 0x78, 0xfc, 0xc0, 0xfc,
-+ 0xc0, 0xc0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x3d, 0x27, 0x24, 0x3f, 0x0a, 0x2a, 0x2f,
-+ 0x29, 0x2b, 0x2b, 0x3d, 0x61, 0x03, 0x00, 0x00,
-+ 0x10, 0x18, 0xd4, 0x14, 0x90, 0xfc, 0x90, 0x90,
-+ 0x30, 0xb0, 0x70, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xfc, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x8c, 0xf8, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x13, 0x02, 0x03, 0x72, 0x13,
-+ 0x15, 0x15, 0x19, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x18, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x7f, 0x02, 0x1f, 0x12, 0x14,
-+ 0x18, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xfc, 0x80, 0xf0, 0x90, 0xb0,
-+ 0x70, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7e, 0x18, 0x18, 0x7e, 0x5b, 0x5b, 0x5e,
-+ 0x6e, 0x46, 0x7e, 0x43, 0x7f, 0x42, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xf8, 0xf8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x28, 0x28, 0x08, 0x00, 0x00,
-+ 0x08, 0x0f, 0x18, 0x1f, 0x28, 0x4f, 0x08, 0x0f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xf0, 0x80, 0xf0, 0x80, 0xf8,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x60,
-+ 0x68, 0x68, 0xb4, 0xbc, 0x24, 0x1c, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x08, 0x1f, 0x28, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x30, 0x50, 0x13,
-+ 0x10, 0x10, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x02, 0x04, 0x3f, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x20, 0x70, 0x88, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x12, 0x11, 0x21, 0x4f, 0x08, 0x10, 0x12, 0x32,
-+ 0x52, 0x12, 0x13, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x40, 0x40, 0x40, 0x78,
-+ 0x40, 0x40, 0x40, 0xc0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x08, 0x08, 0x0b,
-+ 0x7c, 0x08, 0x08, 0x10, 0x11, 0x20, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x60, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x04, 0x03, 0x7f, 0x03, 0x0d, 0x33,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0x00, 0xf8, 0x30, 0x40, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x20, 0x27, 0x00, 0x08,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x0a, 0x42, 0x22, 0x22, 0x0f, 0x10,
-+ 0x16, 0x11, 0x20, 0x20, 0x43, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00,
-+ 0x08, 0x30, 0x00, 0xa0, 0x18, 0x04, 0x00, 0x00,
-+ 0x11, 0x49, 0x22, 0x3e, 0x2a, 0x3f, 0x2a, 0x3e,
-+ 0x7f, 0x00, 0x3e, 0x22, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0x24, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x15, 0x65, 0x2a, 0x18, 0x24, 0x7d,
-+ 0x13, 0x39, 0x35, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x88, 0xc8, 0x28, 0x30, 0xfc, 0x90, 0x90, 0x50,
-+ 0x5c, 0x50, 0x50, 0xb0, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x01, 0x3f, 0x01, 0x7f, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x48, 0x9c, 0xf4, 0x50,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x0f, 0x08, 0x08, 0x7f, 0x08,
-+ 0x0a, 0x29, 0x29, 0x28, 0x49, 0x1a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x50, 0x50, 0x50,
-+ 0x20, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x11, 0x11, 0x12, 0x12,
-+ 0x15, 0x18, 0x10, 0x21, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xd0, 0x50, 0x50,
-+ 0x50, 0x90, 0x94, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x48, 0x0f, 0x10, 0x13,
-+ 0x32, 0x53, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf8, 0x80, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0b, 0x42, 0x22, 0x2f, 0x02, 0x13,
-+ 0x16, 0x16, 0x2a, 0x2a, 0x42, 0x47, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0x48, 0xc8, 0x28, 0x30,
-+ 0xb0, 0x90, 0x30, 0x48, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x09, 0x11, 0x18,
-+ 0x34, 0x54, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x15, 0x65, 0x2a, 0x18, 0x24, 0x7d,
-+ 0x13, 0x39, 0x35, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x80, 0xf8, 0xa0, 0x78,
-+ 0x48, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x1f, 0x29, 0x25,
-+ 0x3f, 0x23, 0x25, 0x39, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0, 0x28, 0x48,
-+ 0xf8, 0x88, 0x48, 0x38, 0x08, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x1f, 0x12, 0x1f, 0x3e, 0x0c, 0x74,
-+ 0x0d, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0xd0, 0x70, 0x54, 0x8c,
-+ 0x04, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x01, 0x1e, 0x12, 0x1f, 0x3e, 0x06,
-+ 0x7c, 0x05, 0x0e, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0x50, 0xd0, 0x50, 0x74,
-+ 0x8c, 0x0c, 0x04, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x11, 0x11, 0x1f, 0x11, 0x21,
-+ 0x21, 0x21, 0x21, 0x3f, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x08,
-+ 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x21, 0x49, 0x0f, 0x11, 0x11, 0x35,
-+ 0x55, 0x15, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xbc, 0x40, 0x40, 0xc0, 0x3c, 0x88, 0x88,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x1f, 0x00, 0x02, 0x72, 0x12,
-+ 0x14, 0x14, 0x18, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0x90, 0x88, 0xfc, 0x80, 0xa0, 0x90, 0x90,
-+ 0x88, 0x88, 0x88, 0x80, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x17, 0x11, 0x31, 0x52, 0x14,
-+ 0x11, 0x13, 0x14, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x80, 0x90, 0x18, 0xe4, 0x20, 0x24, 0x9c, 0xf0,
-+ 0x10, 0x20, 0xc0, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x57, 0x54, 0x54, 0x55, 0x56,
-+ 0x54, 0x7d, 0x46, 0x40, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x50, 0x98, 0xe4, 0xa0, 0xa4, 0x9c, 0xf0,
-+ 0x90, 0xa0, 0x40, 0xa0, 0x18, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x02, 0x7f, 0x04,
-+ 0x1f, 0x68, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x80, 0xfc, 0x40,
-+ 0xf0, 0x2c, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x7b, 0x4a, 0x49, 0x79, 0x4f, 0x4d, 0x79,
-+ 0x4a, 0x4e, 0x79, 0x49, 0x42, 0x04, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x50, 0x20, 0xfc, 0x18, 0xf8,
-+ 0xd0, 0xd0, 0xfc, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x13, 0x7e, 0x04, 0x45, 0x26,
-+ 0x28, 0x29, 0x0e, 0x70, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x50, 0x88, 0xfc, 0xa4, 0xa4, 0x9c, 0xf0,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x01, 0x3e, 0x11, 0x09, 0x3f, 0x28, 0x4e,
-+ 0x12, 0x32, 0x0d, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x30, 0xd0, 0x10, 0x20, 0x40, 0xfc, 0x18, 0xf8,
-+ 0x90, 0x90, 0xfc, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3e, 0x28, 0x3f,
-+ 0x0a, 0x3e, 0x3f, 0x32, 0x44, 0x1b, 0x00, 0x00,
-+ 0x20, 0x30, 0x48, 0xf4, 0x50, 0x54, 0xcc, 0x78,
-+ 0x48, 0xd0, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x22, 0x13, 0x16, 0x06, 0x0b, 0x12,
-+ 0x12, 0x23, 0x22, 0x42, 0x43, 0x02, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x23, 0x4a, 0x0b, 0x12, 0x12, 0x32,
-+ 0x52, 0x12, 0x12, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0xfc, 0x20, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x1f, 0x28, 0x48, 0x0f,
-+ 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x1a, 0x36, 0x36,
-+ 0x32, 0x52, 0x54, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0xfc, 0x20, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x11, 0x1f, 0x25, 0x25, 0x55,
-+ 0x09, 0x09, 0x09, 0x11, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x28, 0x28, 0xe8,
-+ 0x28, 0x28, 0xe8, 0x28, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x41, 0x21, 0x21, 0x00, 0x13,
-+ 0x10, 0x10, 0x27, 0x20, 0x40, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x10, 0x60, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x11, 0x09, 0x4b, 0x22, 0x27, 0x0a, 0x0b, 0x12,
-+ 0x23, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x20, 0xf8, 0x40, 0xf0, 0x40, 0xf0, 0x40,
-+ 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x1f, 0x19, 0x4f, 0x29, 0x2f, 0x08, 0x0b,
-+ 0x18, 0x1b, 0x28, 0x2b, 0x48, 0x48, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x78, 0x48, 0x78, 0x08, 0xe8,
-+ 0x88, 0xe8, 0x88, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x14,
-+ 0x17, 0x14, 0x27, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0x80, 0xfc, 0x80, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0d, 0x13, 0x7f,
-+ 0x09, 0x2d, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x4c, 0x70, 0xc0, 0x48, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x02, 0x42, 0x22, 0x24, 0x04, 0x09, 0x04, 0x74,
-+ 0x12, 0x12, 0x12, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x48, 0x48, 0x48, 0x90, 0x90, 0x20, 0x90, 0x90,
-+ 0x48, 0x48, 0x48, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x20, 0x17, 0x10, 0x03, 0x02, 0x73, 0x13,
-+ 0x13, 0x10, 0x1f, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0xc0, 0xf8, 0xd8, 0x38, 0xf8,
-+ 0xf8, 0x10, 0xfc, 0x90, 0x30, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0xfc, 0x00, 0x78, 0x48, 0x78, 0x00, 0x78,
-+ 0x08, 0x10, 0xfc, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x23, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x22, 0x22, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0e, 0x12, 0x12, 0x32, 0x4a,
-+ 0x0c, 0x04, 0x0d, 0x12, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x94, 0x14, 0x0c, 0x80, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x04, 0x05, 0x09, 0x1e,
-+ 0x2a, 0x49, 0x08, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1e, 0x12, 0x12, 0x12, 0x1e,
-+ 0x12, 0x10, 0x11, 0x11, 0x22, 0x40, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x1f, 0x01, 0x1f, 0x01,
-+ 0x7f, 0x07, 0x1f, 0x64, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0xe0, 0x40,
-+ 0xfc, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x48, 0x4b, 0x78, 0x4f,
-+ 0x48, 0x4b, 0x7c, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x44, 0xf8, 0x50, 0xfc,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x20, 0x27, 0x00, 0x10,
-+ 0x13, 0x1d, 0x21, 0x21, 0x41, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x50, 0xfc, 0x40, 0x80,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11,
-+ 0x11, 0x11, 0x20, 0x2a, 0x49, 0x11, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0xe0, 0x20, 0x00, 0x48, 0x24, 0x24, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x0c, 0x0f, 0x12, 0x7e,
-+ 0x09, 0x2e, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x50, 0xfc, 0x40, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x07, 0x1c, 0x67, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x10, 0xe0, 0x40, 0xfc,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x1f, 0x01, 0x1f, 0x01,
-+ 0x7f, 0x0f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0xf0, 0x00, 0xf0, 0x00,
-+ 0xfc, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x1f, 0x12, 0x1f, 0x0f, 0x01, 0x7f,
-+ 0x07, 0x1c, 0x67, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0x90, 0xf0, 0xf0, 0x40, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3c, 0x01, 0x7e, 0x03, 0x3c,
-+ 0x3c, 0x01, 0x3e, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x48, 0xf8, 0x50, 0xfc, 0x40,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7c, 0x00, 0x3f, 0x00, 0x3c,
-+ 0x01, 0x3e, 0x24, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x50, 0xfc, 0x40, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x24, 0x3c,
-+ 0x24, 0x24, 0x26, 0x38, 0x61, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x7e, 0x08, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x49, 0x1a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x50, 0x50, 0x50,
-+ 0x20, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x7f, 0x04, 0x04, 0x04,
-+ 0x0f, 0x08, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x40, 0x40, 0x40,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x17, 0x11, 0x10, 0x1f,
-+ 0x10, 0x10, 0x20, 0x20, 0x40, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf0, 0x20, 0xc0, 0xfc,
-+ 0x88, 0x90, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x49, 0x0a, 0x15, 0x10, 0x37,
-+ 0x50, 0x11, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0x08, 0xf4, 0x40, 0xfc,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x12, 0x12, 0x3c, 0x06, 0x18,
-+ 0x61, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x13, 0x1a, 0x26, 0x27, 0x7a, 0x12, 0x7f,
-+ 0x12, 0x56, 0x3b, 0x36, 0x1c, 0x61, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0xc8, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x28, 0x31, 0x2b, 0x24, 0x27,
-+ 0x24, 0x25, 0x39, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x90, 0x08, 0xf4, 0x40, 0xfc,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x09, 0x09, 0x0b, 0x15, 0x19, 0x31, 0x51, 0x1f,
-+ 0x12, 0x13, 0x14, 0x19, 0x12, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x0a, 0x09, 0x0f, 0x15, 0x19, 0x31, 0x53, 0x12,
-+ 0x13, 0x13, 0x12, 0x13, 0x13, 0x1c, 0x00, 0x00,
-+ 0x88, 0x50, 0xfc, 0xe8, 0x20, 0xe0, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x27, 0x24, 0x3f, 0x24, 0x25,
-+ 0x3e, 0x27, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xf8, 0x40, 0xfc, 0xa0, 0x50,
-+ 0x48, 0xf4, 0x90, 0x90, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x27, 0x24, 0x27, 0x24,
-+ 0x24, 0x28, 0x28, 0x30, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0xc0, 0x00, 0x00, 0xf8, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x06, 0x3c, 0x04, 0x04, 0x04, 0x7f, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x70, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x4a, 0x4c, 0x4b, 0x4a, 0x4b,
-+ 0x4a, 0x7b, 0x4a, 0x42, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x08, 0x04, 0x3f, 0x24, 0x24,
-+ 0x2f, 0x34, 0x24, 0x27, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0x98,
-+ 0xf8, 0x48, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x49, 0x49, 0x49, 0x48,
-+ 0x7b, 0x4a, 0x43, 0x02, 0x03, 0x02, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x12, 0x09, 0x3f, 0x27, 0x44, 0x17, 0x1f, 0x10,
-+ 0x0f, 0x0f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0xc8, 0x40, 0xf0, 0xc0, 0x08,
-+ 0xf8, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x4b, 0x2a, 0x29, 0x08, 0x1f, 0x69, 0x08,
-+ 0x09, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x1c, 0xe4, 0x48, 0x30, 0x10, 0xfc, 0x10, 0x90,
-+ 0x30, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x08, 0x04, 0x7f, 0x01, 0x02,
-+ 0x7f, 0x04, 0x0f, 0x10, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x40, 0xfc, 0x00, 0x00,
-+ 0xfc, 0x40, 0x40, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x24,
-+ 0x7b, 0x4a, 0x0f, 0x16, 0x23, 0x42, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x29, 0x45, 0x05, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x28, 0x20, 0x40, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x4a, 0x29, 0x29, 0x08, 0x0f,
-+ 0x19, 0x68, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x18, 0x60, 0x88, 0x48, 0x50, 0x20, 0x10, 0xfc,
-+ 0x10, 0x90, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x09, 0x09, 0x11, 0x11,
-+ 0x21, 0x41, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x08,
-+ 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x09, 0x09, 0x11, 0x11, 0x21, 0x41,
-+ 0x03, 0x00, 0x00, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x10, 0x08, 0x14, 0x14, 0x20,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x11, 0x09, 0x09, 0x3f, 0x20, 0x27, 0x24,
-+ 0x24, 0x27, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x20, 0xf8, 0x08, 0xc8, 0x48,
-+ 0x48, 0xc8, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x1f,
-+ 0x10, 0x10, 0x10, 0x20, 0x3f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x80, 0x80, 0x80, 0xf8,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x11,
-+ 0x11, 0x12, 0x12, 0x24, 0x28, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x80, 0x80, 0xfc, 0xc0,
-+ 0xa0, 0xa0, 0x90, 0x88, 0x84, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x1a, 0x17, 0x1f, 0x18,
-+ 0x1f, 0x1d, 0x2f, 0x2c, 0x48, 0x09, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0xa0, 0x20, 0xbc, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x04, 0x3f, 0x0a, 0x7f, 0x00, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x04, 0x7f, 0x04, 0x04, 0x00, 0x00,
-+ 0x10, 0x90, 0x20, 0xa8, 0x48, 0x10, 0x10, 0x24,
-+ 0x44, 0x08, 0x08, 0x90, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x00, 0x00, 0x79, 0x0f, 0x09, 0x0f,
-+ 0x11, 0x1f, 0x21, 0x41, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x84, 0x24, 0xe8, 0x30, 0xe0,
-+ 0x10, 0xf0, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x12, 0x12, 0x1c,
-+ 0x70, 0x10, 0x10, 0x10, 0x13, 0x3c, 0x00, 0x00,
-+ 0x40, 0x40, 0x60, 0x50, 0x48, 0x48, 0x54, 0x54,
-+ 0xe0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x11, 0x11, 0x16,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x08, 0x30, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x12, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x1f,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xf0, 0xc0,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x10, 0x17, 0x10, 0x1b,
-+ 0x70, 0x11, 0x11, 0x13, 0x14, 0x38, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x40, 0x78, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x03, 0x3c,
-+ 0x04, 0x7f, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x40, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00,
-+ 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x48, 0x48, 0x49, 0x79, 0x4a,
-+ 0x49, 0x49, 0x79, 0x49, 0x41, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x08, 0x30, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00,
-+ 0x7c, 0x44, 0x7c, 0x44, 0x7c, 0x44, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x1d, 0x1b, 0x1a,
-+ 0x28, 0x28, 0x48, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x70, 0x10, 0x90, 0x90, 0x90, 0x08, 0x48, 0x44,
-+ 0x40, 0xa0, 0x90, 0x18, 0xe4, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x0b, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0xfc, 0x50, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7f, 0x13, 0x15, 0x39, 0x35,
-+ 0x35, 0x51, 0x50, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x90, 0x90, 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xf8,
-+ 0x20, 0xfc, 0x00, 0xa8, 0x54, 0x54, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x40, 0x21, 0x21, 0x02, 0x04,
-+ 0x13, 0x12, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0c, 0x0a, 0x41, 0x21, 0x23, 0x02, 0x13,
-+ 0x12, 0x13, 0x22, 0x22, 0x42, 0x42, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x50, 0x60, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x0a, 0x42, 0x22, 0x2f, 0x00, 0x12,
-+ 0x12, 0x14, 0x28, 0x20, 0x41, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x50, 0x48,
-+ 0x54, 0xd4, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x22, 0x12, 0x12, 0x4f, 0x22, 0x22, 0x07, 0x16,
-+ 0x16, 0x1a, 0x2a, 0x22, 0x42, 0x42, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xc8, 0x48, 0x78, 0x48, 0xc8,
-+ 0xf8, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x0a, 0x2c, 0x2b, 0x28, 0x48,
-+ 0x0f, 0x08, 0x14, 0x13, 0x22, 0x44, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xd0, 0xf8, 0x90, 0x90,
-+ 0xfc, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x04, 0x04, 0x08, 0x0f, 0x18, 0x2f, 0x48, 0x0f,
-+ 0x08, 0x0f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x80, 0xf0, 0x80, 0xf0,
-+ 0x80, 0xfc, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x25, 0x3f, 0x25, 0x25,
-+ 0x3d, 0x25, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x30, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x08, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2f, 0x08, 0x18,
-+ 0x2a, 0x4a, 0x12, 0x12, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf8, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x09, 0x11, 0x63, 0x00, 0x07, 0x7f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x20, 0x18, 0x24, 0xc0, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x11, 0x10, 0x11, 0x3d, 0x25,
-+ 0x65, 0x25, 0x25, 0x3d, 0x25, 0x01, 0x00, 0x00,
-+ 0x40, 0x44, 0x44, 0x48, 0x50, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x11, 0x11, 0x3f, 0x25, 0x65,
-+ 0x25, 0x25, 0x3c, 0x22, 0x22, 0x04, 0x00, 0x00,
-+ 0x90, 0x90, 0xa0, 0xfc, 0x20, 0xf8, 0x20, 0xf8,
-+ 0x20, 0xfc, 0x00, 0xa8, 0x54, 0x04, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x7f, 0x08, 0x08, 0x13, 0x18,
-+ 0x34, 0x57, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x09, 0x09, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2b, 0x49, 0x0a, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x20, 0x20, 0xb0, 0xa8,
-+ 0xa8, 0x24, 0x24, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x1f, 0x04, 0x7f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x40, 0xfc, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x25, 0x42, 0x01, 0x1f,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x10, 0xe0, 0x00,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2b, 0x2d, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x0a, 0x0b, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0x20, 0x20, 0x20, 0xf8,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x09, 0x2d, 0x2b, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x88, 0xb0, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x21, 0x11, 0x11, 0x01, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0x10, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x08, 0x0f, 0x4a, 0x29, 0x28,
-+ 0x0b, 0x19, 0x68, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x3c, 0xc8, 0x48, 0x30, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x08, 0x0f, 0x18, 0x1f, 0x28,
-+ 0x4f, 0x08, 0x0f, 0x14, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x80, 0xf8, 0x80, 0xf0, 0x80,
-+ 0xf0, 0x80, 0xf8, 0x90, 0x48, 0x44, 0x00, 0x00,
-+ 0x10, 0x17, 0x21, 0x4f, 0x0f, 0x15, 0x17, 0x35,
-+ 0x57, 0x11, 0x17, 0x11, 0x1e, 0x10, 0x00, 0x00,
-+ 0xc0, 0x3c, 0x00, 0xc0, 0xfc, 0x48, 0xc8, 0x48,
-+ 0xc8, 0x08, 0xc8, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x01,
-+ 0x7f, 0x02, 0x0c, 0x74, 0x07, 0x18, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xfc, 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3d, 0x01, 0x3e,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x60, 0x20, 0xa0, 0x90, 0x90, 0x48, 0x48, 0x44,
-+ 0x40, 0x60, 0x90, 0x90, 0xe8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xa0, 0xa0, 0xb8, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3c, 0x01, 0x3e,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x02, 0x07, 0x18, 0x7f, 0x11, 0x1f, 0x13, 0x0d,
-+ 0x72, 0x0d, 0x32, 0x0c, 0x30, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0xf0, 0x10, 0xf0, 0x18, 0x90,
-+ 0xa0, 0xc0, 0xa0, 0x98, 0x84, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x27, 0x44, 0x07, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0xc8, 0x40, 0xc0, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x4f, 0x29, 0x1f, 0x69, 0x08, 0x7f, 0x02,
-+ 0x1f, 0x14, 0x18, 0x1f, 0x1f, 0x10, 0x00, 0x00,
-+ 0x3c, 0xc8, 0x50, 0xfc, 0x10, 0xb0, 0xfc, 0x80,
-+ 0xf0, 0xb0, 0xf0, 0xf0, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xa0, 0xa0, 0xb8, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x18, 0xe0, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0xf8, 0x90, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x2b, 0x28, 0x31, 0x29, 0x25,
-+ 0x25, 0x25, 0x38, 0x27, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0xf8, 0x90, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x14, 0x15, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02,
-+ 0x02, 0x02, 0x02, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x11, 0x09,
-+ 0x05, 0x03, 0x03, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x00, 0x00, 0x3d, 0x05, 0x09, 0x09,
-+ 0x11, 0x21, 0x43, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x88, 0x48, 0x50, 0x20, 0x20,
-+ 0x10, 0x08, 0x04, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x09, 0x7f, 0x09, 0x3f,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x60, 0x80, 0x00, 0xf8, 0x20, 0xfc, 0x20, 0xf8,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x40, 0x07, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x00, 0x80, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x88, 0x88, 0x78, 0x00, 0x00,
-+ 0x01, 0x1e, 0x04, 0x3f, 0x15, 0x7f, 0x15, 0x15,
-+ 0x3f, 0x0e, 0x15, 0x25, 0x44, 0x04, 0x00, 0x00,
-+ 0x08, 0x28, 0x28, 0xa8, 0x28, 0xe8, 0x28, 0x28,
-+ 0xa8, 0x28, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x13, 0x7e, 0x12, 0x13, 0x12,
-+ 0x16, 0x1a, 0x64, 0x06, 0x09, 0x10, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x48, 0xa8, 0xa8,
-+ 0xb0, 0x90, 0x90, 0xb4, 0xcc, 0x04, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x11, 0x7d, 0x11, 0x10, 0x17,
-+ 0x15, 0x1b, 0x64, 0x01, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x00, 0x17, 0x11, 0x12, 0x7f, 0x10, 0x13, 0x10,
-+ 0x17, 0x18, 0x63, 0x0d, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x10, 0xa8, 0xfc, 0xa0, 0xf8, 0xa0,
-+ 0xfc, 0xc8, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x12, 0x7f, 0x24, 0x25, 0x24,
-+ 0x7b, 0x48, 0x0f, 0x14, 0x20, 0x43, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa8, 0xa4, 0xfc, 0xa0, 0xf8, 0xa0,
-+ 0xfc, 0xc8, 0xb0, 0x90, 0xc8, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x01,
-+ 0x1f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x19, 0x34, 0x37, 0x30, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x11, 0x11, 0x17, 0x1e,
-+ 0x72, 0x14, 0x11, 0x16, 0x10, 0x37, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf0, 0xf0, 0xf0, 0xfc, 0xd4,
-+ 0xf8, 0xf4, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x02, 0x02, 0x07, 0x0c, 0x32, 0x03, 0x0d, 0x71,
-+ 0x1f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x40, 0x80, 0x80, 0x60, 0x1c,
-+ 0xf0, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1d, 0x1b, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0xa0,
-+ 0xa0, 0x60, 0x60, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x09, 0x42, 0x24, 0x23, 0x00, 0x0f,
-+ 0x10, 0x13, 0x20, 0x20, 0x40, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0xfc,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x48, 0x2f, 0x28, 0x08, 0x08,
-+ 0x18, 0x28, 0x49, 0x0a, 0x0c, 0x08, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0xfc, 0x40, 0x40, 0x40,
-+ 0xa0, 0xa0, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x3f, 0x2f,
-+ 0x48, 0x0f, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0xe8,
-+ 0x20, 0xe0, 0xe0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x1b, 0x71, 0x12, 0x17, 0x7c, 0x13, 0x18,
-+ 0x37, 0x34, 0x57, 0x10, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0x10, 0xa8, 0xfc, 0xa0, 0xf8, 0xa0,
-+ 0xfc, 0xe8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x00, 0x3d, 0x05, 0x19,
-+ 0x63, 0x0f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x48, 0x88, 0x50, 0x30,
-+ 0x0c, 0xe0, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x7e, 0x03, 0x3c, 0x01, 0x3c,
-+ 0x03, 0x3c, 0x27, 0x24, 0x3c, 0x27, 0x00, 0x00,
-+ 0x40, 0xfc, 0x10, 0xa8, 0xfc, 0xa0, 0xf8, 0xa0,
-+ 0xfc, 0xe8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0d, 0x3f, 0x2e, 0x2e, 0x36,
-+ 0x37, 0x22, 0x3f, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x20, 0xfc, 0x88, 0x54, 0xfc, 0x50, 0xf8, 0x50,
-+ 0xfc, 0x68, 0xd0, 0x50, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xfc, 0x20, 0xa0,
-+ 0xb8, 0xa0, 0xa0, 0x60, 0x20, 0x1c, 0x00, 0x00,
-+ 0x00, 0x07, 0x74, 0x57, 0x54, 0x57, 0x55, 0x55,
-+ 0x55, 0x77, 0x4a, 0x4b, 0x12, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x38, 0xc0, 0xf0, 0x50,
-+ 0xf0, 0xf8, 0xa8, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x7e, 0x12, 0x12, 0x12,
-+ 0x16, 0x1a, 0x62, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x29, 0x7e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x26, 0x3a, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x20, 0x20, 0xf8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 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,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x17, 0x11,
-+ 0x19, 0x71, 0x11, 0x11, 0x1e, 0x30, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0x20, 0xe0, 0x20,
-+ 0x20, 0x10, 0x50, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x10, 0x1d, 0x25, 0x25, 0x55,
-+ 0x19, 0x09, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x17, 0x35, 0x39, 0x52,
-+ 0x17, 0x1a, 0x17, 0x24, 0x20, 0x47, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0x00, 0xf8, 0x88,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0xf8, 0x30, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x66, 0x2a, 0x1b, 0x24, 0x7f,
-+ 0x12, 0x3b, 0x36, 0x37, 0x52, 0x10, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0xa8, 0xa0, 0xfc, 0x20, 0xa8,
-+ 0xa8, 0x90, 0x90, 0xb4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x01, 0x7d, 0x2f, 0x2a, 0x3a, 0x2f, 0x28, 0x3b,
-+ 0x2a, 0x2f, 0x3a, 0x6b, 0x0a, 0x08, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0xa8, 0xa0, 0xfc, 0x20, 0xa8,
-+ 0xa8, 0xb0, 0x90, 0xb4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x04, 0x07, 0x08, 0x10, 0x7f, 0x11, 0x11, 0x11,
-+ 0x1f, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0xf0, 0x10, 0x10, 0x10,
-+ 0xf0, 0x10, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x1e, 0x24, 0x48, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x2a, 0x3e, 0x22, 0x22, 0x22, 0x47, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0x20, 0x30, 0x28, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x19, 0x6f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x09, 0x08, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xec, 0x20, 0xe0,
-+ 0x20, 0xf0, 0x10, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x2a, 0x48, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x26, 0x3a, 0x61, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0x20, 0x30, 0x28, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x10, 0x1f, 0x12, 0x23,
-+ 0x5c, 0x00, 0x7f, 0x04, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x48, 0xb0,
-+ 0x2c, 0x20, 0xfc, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x11, 0x11, 0x12, 0x22, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0xe0,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x33, 0x52, 0x12,
-+ 0x13, 0x12, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x17, 0x10, 0x33, 0x50, 0x13,
-+ 0x10, 0x13, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xf8, 0x00, 0xf8,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x13, 0x10, 0x33, 0x50, 0x17,
-+ 0x14, 0x1b, 0x11, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xf0, 0x20, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x10, 0x1f, 0x14, 0x27,
-+ 0x58, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x90, 0x60,
-+ 0x1c, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x25,
-+ 0x79, 0x4d, 0x0a, 0x12, 0x24, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x68,
-+ 0x68, 0x70, 0x50, 0x50, 0x68, 0x84, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x49, 0x08, 0x49, 0x29, 0x2b,
-+ 0x0a, 0x1f, 0x68, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0xf0, 0xfc,
-+ 0x08, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x5f, 0x05, 0x7f, 0x05, 0x19,
-+ 0x6f, 0x09, 0x0f, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x68, 0xa0, 0x40, 0xfc, 0x40, 0x30,
-+ 0xec, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x00, 0x00, 0x02, 0x02, 0x02, 0x12, 0x12,
-+ 0x12, 0x22, 0x42, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x40, 0x00, 0x00, 0x10, 0x08,
-+ 0x04, 0x04, 0x00, 0x10, 0x10, 0xf0, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x17, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0xfc, 0xa0, 0x10, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x12, 0x13, 0x1e,
-+ 0x72, 0x12, 0x14, 0x14, 0x18, 0x33, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0xc8,
-+ 0xc8, 0xb0, 0xa0, 0x90, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x22, 0x12, 0x14, 0x7f, 0x08,
-+ 0x7e, 0x1c, 0x1b, 0x29, 0x4a, 0x08, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x14, 0x14, 0x7f, 0x00, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x50, 0xfc, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x03, 0x0d, 0x31, 0x09, 0x08,
-+ 0x7f, 0x18, 0x1c, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x80, 0x60, 0x18, 0x20, 0x20,
-+ 0xfc, 0x60, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x10, 0x17, 0x39, 0x36,
-+ 0x34, 0x53, 0x50, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xa0, 0xfc, 0x10, 0xe8,
-+ 0x44, 0xf8, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x43, 0x20, 0x23, 0x00, 0x17,
-+ 0x14, 0x1b, 0x21, 0x20, 0x41, 0x4e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xf0, 0x20, 0xc0, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x44, 0x20, 0x21, 0x02, 0x10,
-+ 0x17, 0x10, 0x21, 0x22, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xa0, 0xa4, 0x1c, 0x40, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x21, 0x21, 0x3f, 0x21, 0x21,
-+ 0x3f, 0x21, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x29, 0x2a, 0x0c, 0x19,
-+ 0x28, 0x48, 0x13, 0x10, 0x20, 0x47, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0x40, 0x30, 0x4c, 0x80,
-+ 0x20, 0xc8, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x7f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x0a, 0x0a, 0x13, 0x1a,
-+ 0x36, 0x57, 0x12, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x02, 0x7f, 0x04, 0x0f,
-+ 0x11, 0x6f, 0x03, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x80, 0xfc, 0x40, 0xa0,
-+ 0x10, 0xec, 0x80, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x67, 0x1a, 0x1a, 0x27, 0x7e,
-+ 0x12, 0x1b, 0x36, 0x34, 0x50, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x3f, 0x20, 0x20, 0x20,
-+ 0x3f, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10,
-+ 0xf0, 0x10, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x00, 0x01, 0x04,
-+ 0x14, 0x14, 0x24, 0x44, 0x04, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00, 0x90,
-+ 0x48, 0x44, 0x04, 0x20, 0x20, 0xe0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x08, 0x3f, 0x12, 0x14, 0x7f,
-+ 0x08, 0x7f, 0x1c, 0x2a, 0x4a, 0x09, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x0c, 0x70, 0x40, 0x40, 0x7c,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x22, 0x14, 0x7f, 0x08, 0x7f,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x68, 0x60, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3d, 0x02, 0x3d,
-+ 0x00, 0x3c, 0x25, 0x24, 0x3c, 0x23, 0x00, 0x00,
-+ 0x40, 0x40, 0x60, 0xa0, 0x90, 0x28, 0x44, 0x90,
-+ 0x20, 0x44, 0x88, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x78, 0x01, 0x06, 0x38, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x24, 0xe8, 0x30,
-+ 0xe0, 0x60, 0xa0, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x08, 0x04, 0x04, 0x7f, 0x01,
-+ 0x01, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x20, 0x40, 0xfc, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x21, 0x12, 0x13, 0x06, 0x0a, 0x73, 0x12,
-+ 0x13, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x00,
-+ 0x1f, 0x13, 0x1f, 0x14, 0x27, 0x58, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x00,
-+ 0xf8, 0xe0, 0xfc, 0x90, 0x60, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02,
-+ 0x04, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-+ 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x10, 0x10, 0x30, 0x50, 0x10,
-+ 0x10, 0x10, 0x10, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x02, 0x02, 0x1e, 0x07,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x88, 0x48, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x17, 0x14,
-+ 0x27, 0x58, 0x0f, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xcc, 0x70,
-+ 0x44, 0xbc, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x3d, 0x01, 0x01, 0x01, 0x7f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x1f, 0x3e, 0x08,
-+ 0x0e, 0x30, 0x7f, 0x04, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf8, 0x88,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x04, 0x3f, 0x04, 0x07, 0x04, 0x07, 0x04, 0x7f,
-+ 0x12, 0x12, 0x14, 0x18, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xc0, 0x40, 0xc0, 0x40, 0xfc,
-+ 0x80, 0x88, 0x78, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x09, 0x10, 0x10,
-+ 0x23, 0x40, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x80, 0x40,
-+ 0x30, 0x8c, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x22, 0x3f, 0x3f, 0x2f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x60, 0x90, 0x0c, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x01, 0x3c, 0x24, 0x25, 0x3d, 0x22, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0xb0, 0xd0,
-+ 0x90, 0x90, 0x94, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x27, 0x11, 0x11, 0x01, 0x01, 0x0f, 0x71,
-+ 0x11, 0x11, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0xe0, 0x20,
-+ 0x10, 0x14, 0x0c, 0x04, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x28, 0x2b, 0x32, 0x2b, 0x26,
-+ 0x27, 0x24, 0x27, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x14, 0x15, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xc8, 0x68, 0x58,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x00, 0x7f, 0x00, 0x3f,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x08, 0xe8,
-+ 0x08, 0x88, 0x88, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x7a, 0x03, 0x3a, 0x02, 0x3b,
-+ 0x02, 0x3a, 0x2b, 0x2e, 0x38, 0x20, 0x00, 0x00,
-+ 0x00, 0xc0, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0x98,
-+ 0x90, 0xd0, 0xb0, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x10, 0x17, 0x20, 0x48, 0x09, 0x11, 0x25, 0x45,
-+ 0x09, 0x09, 0x11, 0x20, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0xc0, 0x40, 0x7c, 0xa0, 0xa0, 0x3c, 0x20,
-+ 0x20, 0x3c, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x22, 0x29, 0x25, 0x24, 0x20,
-+ 0x27, 0x20, 0x23, 0x2c, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x28, 0x28, 0x28, 0x48, 0x48,
-+ 0x88, 0xc8, 0x28, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x14, 0x14,
-+ 0x17, 0x14, 0x12, 0x23, 0x23, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xc8, 0x08, 0x88, 0xfc, 0xc8,
-+ 0xa8, 0xa8, 0x88, 0x08, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x27, 0x10, 0x13, 0x02, 0x02, 0x73, 0x12,
-+ 0x11, 0x11, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x10,
-+ 0x10, 0x20, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x49, 0x49, 0x4a, 0x4a, 0x4c,
-+ 0x48, 0x78, 0x48, 0x41, 0x06, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x48, 0x50, 0x40,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x09, 0x09, 0x7f, 0x09,
-+ 0x09, 0x3f, 0x01, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x3c, 0x25, 0x25, 0x3d, 0x25, 0x21,
-+ 0x3d, 0x25, 0x25, 0x3c, 0x24, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x24, 0x24, 0x24, 0x24,
-+ 0x24, 0x24, 0x38, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x13, 0x15, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x90, 0x90, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x05, 0x05, 0x09,
-+ 0x09, 0x11, 0x21, 0x41, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x88, 0x90, 0x60, 0x40, 0x20,
-+ 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0a, 0x2a, 0x2c, 0x29, 0x4a,
-+ 0x08, 0x0c, 0x12, 0x12, 0x21, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7b, 0x48, 0x4b, 0x79, 0x49, 0x4f, 0x79,
-+ 0x49, 0x4b, 0x78, 0x48, 0x07, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xf8, 0x50, 0x50, 0xfc, 0x50,
-+ 0x50, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2b, 0x2c, 0x08, 0x7e, 0x09, 0x1c,
-+ 0x1a, 0x2b, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0x54, 0x94, 0x2c, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x12, 0x0e, 0x32, 0x07, 0x01, 0x3f,
-+ 0x04, 0x0b, 0x11, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x38, 0xc8, 0x18, 0x00, 0xf8,
-+ 0x20, 0x50, 0x88, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x7f, 0x08, 0x0f,
-+ 0x03, 0x0d, 0x74, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xfc, 0x20, 0xe0,
-+ 0x10, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x02, 0x21, 0x17, 0x10, 0x01, 0x0e, 0x71, 0x16,
-+ 0x11, 0x16, 0x10, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x80, 0x88, 0xc8, 0x70, 0xe0,
-+ 0x50, 0x48, 0x44, 0x80, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0x50, 0x54, 0x94, 0x2c,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5e, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x13, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0xa8, 0xa8, 0xfc, 0xa8,
-+ 0xa8, 0xfc, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x29, 0x30, 0x28, 0x27, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x40, 0x78, 0xc8, 0x78, 0x48,
-+ 0x78, 0x48, 0x48, 0x58, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x02, 0x7e, 0x13, 0x10, 0x17, 0x7c, 0x13,
-+ 0x12, 0x16, 0x1a, 0x62, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x40, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x2d, 0x2c, 0x7e, 0x43, 0x7d,
-+ 0x25, 0x3d, 0x25, 0x3d, 0x26, 0x2c, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x78, 0x48, 0xf8, 0x48,
-+ 0x78, 0x48, 0x48, 0x58, 0x80, 0x7c, 0x00, 0x00,
-+ 0x11, 0x11, 0x1f, 0x01, 0x3f, 0x20, 0x4f, 0x00,
-+ 0x7f, 0x09, 0x09, 0x11, 0x21, 0x03, 0x00, 0x00,
-+ 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x08, 0xe0, 0x00,
-+ 0xfc, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x01, 0x11, 0x1f, 0x01, 0x7f, 0x0f, 0x08, 0x0f,
-+ 0x3f, 0x20, 0x27, 0x24, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0x10, 0xf0, 0x00, 0xfc, 0xe0, 0x20, 0xe0,
-+ 0xf8, 0x08, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x49, 0x29, 0x2a, 0x7f, 0x1c, 0x1a, 0x2b, 0x48,
-+ 0x7f, 0x12, 0x3a, 0x04, 0x1a, 0x61, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x88, 0x88, 0x48, 0x50,
-+ 0x30, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x08, 0x08, 0x48, 0x30, 0x10,
-+ 0x30, 0x48, 0x88, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x09, 0x09, 0x7e, 0x09, 0x28,
-+ 0x2f, 0x29, 0x39, 0x28, 0x27, 0x41, 0x00, 0x00,
-+ 0x80, 0xf8, 0x48, 0x58, 0xf8, 0x88, 0xb0, 0xf8,
-+ 0x48, 0x58, 0xf8, 0x88, 0x30, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x3e, 0x52, 0x57, 0x7f, 0x52, 0x2c,
-+ 0x3e, 0x52, 0x56, 0x7e, 0x52, 0x2c, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x12, 0x13, 0x1e,
-+ 0x72, 0x15, 0x15, 0x19, 0x11, 0x31, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x48, 0x40, 0xfc, 0x40,
-+ 0x40, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x40, 0x88, 0x08, 0x10, 0x20,
-+ 0xc4, 0x04, 0x08, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7f, 0x11, 0x19, 0x35, 0x34,
-+ 0x33, 0x52, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x3f, 0x20, 0x4f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x08, 0xe0, 0x20,
-+ 0xe0, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x09, 0x3f, 0x2a, 0x2c, 0x28, 0x3e, 0x22,
-+ 0x32, 0x2c, 0x24, 0x2a, 0x32, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x05, 0x19, 0x63, 0x00, 0x03, 0x0f, 0x78,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x60, 0x18, 0x24, 0xc0, 0x40, 0xf8, 0x80,
-+ 0xf0, 0x80, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x0b, 0x13, 0x1d,
-+ 0x35, 0x53, 0x12, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x23, 0x10, 0x15, 0x43, 0x23, 0x24, 0x0b, 0x12,
-+ 0x13, 0x12, 0x21, 0x21, 0x4f, 0x40, 0x00, 0x00,
-+ 0x90, 0x90, 0x64, 0x28, 0xf0, 0x08, 0xf4, 0x10,
-+ 0xf0, 0x20, 0x20, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x7e, 0x13, 0x14, 0x11, 0x1c,
-+ 0x73, 0x12, 0x13, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0xa8, 0xb8, 0xc8, 0x98, 0x80,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x08, 0x04,
-+ 0x02, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x12,
-+ 0x13, 0x12, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20,
-+ 0xe0, 0x20, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x2a, 0x0a, 0x0f,
-+ 0x12, 0x17, 0x26, 0x2a, 0x52, 0x42, 0x00, 0x00,
-+ 0x00, 0x7c, 0x90, 0x78, 0xc8, 0xf8, 0xc8, 0xf8,
-+ 0x48, 0x78, 0xb0, 0xa8, 0x44, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x00, 0x3e, 0x2b, 0x2a,
-+ 0x3e, 0x2a, 0x2a, 0x3e, 0x23, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x88, 0x88, 0x10, 0x10,
-+ 0x30, 0x30, 0x48, 0x88, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x7f,
-+ 0x09, 0x09, 0x09, 0x15, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x00, 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x0f, 0x40, 0x23, 0x20, 0x0f, 0x00, 0x13,
-+ 0x10, 0x2f, 0x21, 0x43, 0x40, 0x0f, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0x90, 0xf0,
-+ 0x80, 0xfc, 0x20, 0xe0, 0xd0, 0x08, 0x00, 0x00,
-+ 0x14, 0x14, 0x1f, 0x24, 0x44, 0x7f, 0x04, 0x3f,
-+ 0x25, 0x25, 0x25, 0x26, 0x24, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x3e, 0x09, 0x7f, 0x15, 0x2b, 0x7e, 0x08,
-+ 0x7f, 0x01, 0x3f, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0xd0, 0x50, 0x70, 0x94,
-+ 0x0c, 0x00, 0xf0, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x26, 0x26, 0x24,
-+ 0x79, 0x48, 0x0c, 0x14, 0x23, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x10, 0x24, 0x45, 0x09, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x78, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x13, 0x3a, 0x34, 0x34, 0x53,
-+ 0x10, 0x10, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x1e, 0x12,
-+ 0x12, 0x12, 0x12, 0x2c, 0x21, 0x40, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x64, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x29, 0x2f, 0x2a, 0x28,
-+ 0x28, 0x28, 0x2e, 0x38, 0x63, 0x0c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3f, 0x1c, 0x2a, 0x49,
-+ 0x3f, 0x01, 0x09, 0x09, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x28, 0x30, 0xc8, 0x04,
-+ 0xf8, 0x00, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x09, 0x09,
-+ 0x1f, 0x21, 0x0f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0xf8, 0x00, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x49, 0x48, 0x4f, 0x78, 0x49,
-+ 0x49, 0x49, 0x79, 0x49, 0x41, 0x01, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x10, 0x1b, 0x34, 0x35,
-+ 0x30, 0x57, 0x50, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x40, 0xfc, 0x90, 0xd0, 0x70, 0x88, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7c, 0x10, 0x13, 0x3a, 0x36,
-+ 0x36, 0x53, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8,
-+ 0xb8, 0x38, 0x18, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x11, 0x11, 0x11,
-+ 0x11, 0x11, 0x11, 0x11, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x47, 0x20, 0x2f, 0x00, 0x03,
-+ 0x12, 0x13, 0x22, 0x23, 0x42, 0x42, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xf0, 0x80, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x28, 0x28, 0x3f, 0x29, 0x2a, 0x48,
-+ 0x0d, 0x78, 0x08, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xfc, 0x20, 0x20, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x1f, 0x11, 0x21, 0x41,
-+ 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x1e, 0x12, 0x22, 0x4c,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x90, 0x88, 0xfc, 0x90, 0x90, 0x60, 0x64, 0x9c,
-+ 0xf4, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x4b, 0x2a, 0x2c, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x1e, 0x1e, 0x13, 0x7e, 0x02,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00,
-+ 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x3f, 0x00, 0x1f, 0x11,
-+ 0x11, 0x1f, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf8, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x14, 0x1f, 0x24, 0x7f, 0x3f, 0x24, 0x27, 0x01,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0xc8, 0xc8, 0xc8, 0x18, 0x00,
-+ 0xfc, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x04, 0x3f, 0x24, 0x24,
-+ 0x28, 0x28, 0x30, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0x80, 0xf8, 0x88, 0x88,
-+ 0x98, 0x98, 0x78, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x26, 0x3e, 0x24, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0x28, 0xe8, 0x68,
-+ 0x50, 0x50, 0x54, 0xec, 0x4c, 0x84, 0x00, 0x00,
-+ 0x08, 0x7e, 0x08, 0x0e, 0x78, 0x19, 0x07, 0x7f,
-+ 0x07, 0x07, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x10, 0xc0, 0xfc,
-+ 0xc0, 0xc0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3f, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x02, 0x22, 0x12, 0x1f, 0x02, 0x02, 0x03, 0x7e,
-+ 0x12, 0x12, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x08, 0x10, 0x60, 0xc0, 0x7c, 0x50, 0xd0, 0x50,
-+ 0x90, 0x90, 0x10, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x78, 0x48, 0x78, 0x50, 0x7c,
-+ 0x90, 0x78, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x09, 0x7f, 0x00, 0x3f,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x90, 0x20, 0xf8, 0x28, 0xfc,
-+ 0x28, 0xf8, 0x28, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x02, 0x03, 0x0c, 0x78,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x80, 0x80, 0x60, 0x3c,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x03, 0x04, 0x38, 0x09, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x08, 0x08, 0xf8, 0x68,
-+ 0x60, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x27, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x20, 0xfc, 0x00, 0x78, 0x48,
-+ 0x48, 0x70, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x18, 0x1f, 0x28, 0x4f, 0x08, 0x0f,
-+ 0x08, 0x3f, 0x02, 0x01, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0xf8, 0x80, 0xf0, 0x80, 0xf0, 0x80, 0xfc,
-+ 0x00, 0xf0, 0x60, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x13, 0x10,
-+ 0x17, 0x14, 0x24, 0x24, 0x44, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0xfc, 0x20, 0xe0, 0x80,
-+ 0xf8, 0x88, 0x88, 0x88, 0xb0, 0x80, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1b, 0x34, 0x34, 0x37, 0x50,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0xfc, 0x90, 0x90, 0xfc, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x13, 0x12, 0x1f, 0x12,
-+ 0x17, 0x16, 0x2a, 0x32, 0x42, 0x06, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xc8, 0x48, 0xc8, 0x28,
-+ 0x30, 0xb0, 0xb4, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x08,
-+ 0x09, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00,
-+ 0x10, 0x60, 0x80, 0x00, 0x00, 0xfc, 0x40, 0x40,
-+ 0xc0, 0x70, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x04, 0x7f, 0x00, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x49, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x02, 0x04, 0x07, 0x0c,
-+ 0x0c, 0x14, 0x24, 0x44, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x1b, 0x70, 0x13, 0x10, 0x7f, 0x11, 0x19,
-+ 0x35, 0x35, 0x51, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x08, 0x7f, 0x08, 0x3f,
-+ 0x08, 0x7f, 0x1c, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x50, 0x50, 0xfc, 0x50, 0xfc,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x14, 0x0f, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x01, 0x39, 0x01, 0x3a, 0x02, 0x04, 0x1f, 0x68,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0xb8, 0x40, 0x20, 0xf0, 0x2c,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x02, 0x12,
-+ 0x12, 0x22, 0x44, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x40, 0x50,
-+ 0x48, 0x44, 0x44, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x23, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x29, 0x2a, 0x2e, 0x38, 0x61, 0x02, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x50, 0x50, 0xd8, 0xd8,
-+ 0x54, 0x54, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x24, 0x3c, 0x2b, 0x08, 0x2e,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x63, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x20, 0x23, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x13, 0x1c, 0x70, 0x10, 0x10,
-+ 0x12, 0x12, 0x0e, 0x01, 0x06, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x12, 0x7e, 0x12, 0x13, 0x12, 0x10,
-+ 0x1a, 0x72, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x40,
-+ 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x10, 0x17, 0x10, 0x17,
-+ 0x18, 0x70, 0x11, 0x10, 0x10, 0x37, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x40, 0xfc,
-+ 0x90, 0x90, 0xe0, 0x30, 0xc8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x1f,
-+ 0x71, 0x10, 0x10, 0x10, 0x13, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x9c, 0xf0,
-+ 0x18, 0xb0, 0x00, 0xa0, 0x18, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x1d,
-+ 0x71, 0x12, 0x12, 0x14, 0x18, 0x30, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3d, 0x02, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x23, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x94, 0x94, 0x0c, 0x00, 0xf8,
-+ 0x88, 0x90, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x08, 0x10, 0x13,
-+ 0x1c, 0x70, 0x10, 0x12, 0x0f, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0x00, 0xf8,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x1e, 0x12, 0x1e,
-+ 0x12, 0x1e, 0x14, 0x12, 0x1d, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x78, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x3c, 0x00, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x08, 0x08, 0xf8, 0x68,
-+ 0x60, 0x60, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x01,
-+ 0x1f, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x90, 0x20, 0xf8, 0xa8, 0xa8,
-+ 0xf8, 0x88, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x01,
-+ 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0b, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x44, 0x24, 0xa8, 0x90, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x12, 0x12, 0x32, 0x52, 0x12,
-+ 0x12, 0x12, 0x12, 0x13, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x0f, 0x11, 0x21, 0x7f, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x3f,
-+ 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x5f, 0x00, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf0, 0x00, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x00, 0x7f, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x09, 0x09, 0x11, 0x21, 0x03, 0x01,
-+ 0x7f, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0xfc, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x08, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x11, 0x49, 0x2a, 0x24, 0x3e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0x7c, 0xc0, 0x48, 0x48,
-+ 0x50, 0x30, 0x24, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f,
-+ 0x19, 0x15, 0x27, 0x39, 0x41, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x48, 0x28, 0x38, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x14, 0x14, 0x13, 0x19,
-+ 0x77, 0x11, 0x1f, 0x11, 0x16, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x40, 0xc8, 0xb8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x09, 0x1e, 0x1b, 0x1a,
-+ 0x28, 0x2b, 0x48, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0x08, 0xfc, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x0a, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x2b, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf8, 0xa8, 0xa8,
-+ 0xa8, 0xfc, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x01,
-+ 0x3f, 0x03, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x08,
-+ 0x90, 0xe0, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x23, 0x00, 0x17,
-+ 0x10, 0x10, 0x20, 0x21, 0x46, 0x40, 0x00, 0x00,
-+ 0x90, 0x88, 0xf8, 0x80, 0xf0, 0x80, 0xf8, 0x90,
-+ 0x50, 0x60, 0x64, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x22, 0x24, 0x07, 0x10,
-+ 0x10, 0x11, 0x21, 0x22, 0x44, 0x48, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xa0,
-+ 0xa0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x48, 0x2b, 0x20, 0x08, 0x11, 0x22, 0x41,
-+ 0x3f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0xe0, 0xa0, 0xa4, 0x24, 0x1c, 0x00,
-+ 0xf8, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x2f, 0x23, 0x02, 0x14,
-+ 0x1b, 0x12, 0x23, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x30, 0xd0, 0x88,
-+ 0xf4, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x00, 0x3e, 0x22, 0x3e, 0x3e,
-+ 0x22, 0x26, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x00, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x18, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x13, 0x16, 0x37, 0x3a, 0x53,
-+ 0x12, 0x1b, 0x16, 0x23, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x48, 0x68, 0xd8, 0x68, 0x48, 0xd8, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x11, 0x11, 0x1e, 0x14,
-+ 0x14, 0x14, 0x24, 0x24, 0x45, 0x1a, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x00, 0xfc, 0x28, 0xb0,
-+ 0xa0, 0xbc, 0xa0, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x48, 0x10, 0x0f, 0x08,
-+ 0x08, 0x7f, 0x03, 0x0c, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0xf0, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x4d, 0x04, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x30, 0x40, 0xfc, 0x00, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x0d, 0x2a, 0x2a, 0x29, 0x4a, 0x08, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x20,
-+ 0xe4, 0x78, 0xb0, 0x28, 0x24, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x64, 0x18, 0x1b, 0x25, 0x7d,
-+ 0x13, 0x3b, 0x35, 0x31, 0x56, 0x10, 0x00, 0x00,
-+ 0x90, 0x98, 0xf4, 0x94, 0x90, 0xfc, 0x50, 0x74,
-+ 0x74, 0x58, 0x78, 0x94, 0x2c, 0x44, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x0f, 0x01, 0x7f, 0x10, 0x08,
-+ 0x41, 0x22, 0x0c, 0x10, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x80, 0x80,
-+ 0xfc, 0x48, 0x50, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x24,
-+ 0x3d, 0x24, 0x24, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x20,
-+ 0xe4, 0x78, 0xb0, 0x28, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0e, 0x12, 0x12, 0x32, 0x4a,
-+ 0x05, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x90, 0x90, 0x90, 0x90,
-+ 0xfc, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1a, 0x16, 0x17, 0x1e,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x22, 0x46, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x50, 0x88, 0x88, 0x04, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x1f, 0x12, 0x1f, 0x12, 0x1f,
-+ 0x13, 0x12, 0x23, 0x2a, 0x49, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0xfc, 0x00, 0xfc, 0xa4, 0x54, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3e, 0x03, 0x3c,
-+ 0x00, 0x3d, 0x24, 0x24, 0x3f, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0x08, 0xfc, 0x40,
-+ 0x40, 0xf0, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x27, 0x3c, 0x27,
-+ 0x24, 0x3c, 0x18, 0x14, 0x27, 0x40, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc0, 0x78, 0xc0, 0x7c, 0xc8,
-+ 0x48, 0x30, 0x24, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x23, 0x3e, 0x09, 0x28, 0x2f,
-+ 0x28, 0x28, 0x2e, 0x38, 0x61, 0x06, 0x00, 0x00,
-+ 0x50, 0x48, 0x78, 0xc0, 0x78, 0xc0, 0x7c, 0xc8,
-+ 0x48, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x27, 0x10, 0x17, 0x04, 0x03, 0x71, 0x17,
-+ 0x11, 0x1f, 0x10, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x44, 0xfc, 0x20, 0xf8,
-+ 0x20, 0xfc, 0xa0, 0x18, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x27, 0x10, 0x13, 0x02, 0x03, 0x70, 0x1f,
-+ 0x13, 0x1c, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x80, 0xfc,
-+ 0xf0, 0x28, 0xe4, 0x10, 0xf0, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5d, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x48, 0x28, 0x30, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x21,
-+ 0x22, 0x22, 0x24, 0x28, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x08,
-+ 0x88, 0x88, 0x48, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x05, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x7f, 0x00, 0x3e, 0x22, 0x22,
-+ 0x3e, 0x22, 0x3e, 0x22, 0x22, 0x26, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xfc, 0x00, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x3f, 0x09,
-+ 0x7f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xf8, 0x20,
-+ 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x2a, 0x0f, 0x0a,
-+ 0x1f, 0x12, 0x3f, 0x22, 0x42, 0x42, 0x00, 0x00,
-+ 0x08, 0x08, 0xd0, 0x20, 0xa0, 0xbc, 0xa8, 0xa8,
-+ 0xa8, 0x28, 0xe8, 0x48, 0x48, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x19, 0x15, 0x32, 0x4a, 0x0c,
-+ 0x19, 0x60, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0x60, 0x50, 0x90,
-+ 0x08, 0x04, 0x90, 0x48, 0x44, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x60, 0x1f, 0x01,
-+ 0x01, 0x0f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0x0c, 0xf0, 0x00,
-+ 0x00, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7d, 0x0b, 0x0a, 0x13, 0x1a,
-+ 0x37, 0x54, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0x20, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x14, 0x0f, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x88, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0xa8, 0x70,
-+ 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x3c, 0x27, 0x24, 0x25, 0x3c, 0x27, 0x25,
-+ 0x3f, 0x24, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x50,
-+ 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x57, 0x36, 0x3a, 0x12, 0x7e, 0x12, 0x1a,
-+ 0x36, 0x36, 0x52, 0x14, 0x17, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x00, 0x7b, 0x4a, 0x4b, 0x4a, 0x4b, 0x48,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x22, 0x14, 0x7f, 0x2a, 0x2a, 0x3e, 0x2a, 0x09,
-+ 0x11, 0x2f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x08,
-+ 0x18, 0xe0, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x7d, 0x45, 0x41, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7d, 0x11, 0x17, 0x10, 0x1f,
-+ 0x72, 0x13, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x04, 0x18, 0x7f, 0x15, 0x13, 0x1f, 0x10,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0xc0, 0x20, 0x10, 0xfc, 0x50, 0x90, 0xf0, 0x10,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x20,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x0e, 0x15, 0x65, 0x04, 0x7f,
-+ 0x01, 0x11, 0x11, 0x19, 0x27, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x60, 0xb0, 0x2c, 0x20, 0xf8,
-+ 0x10, 0x20, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x04, 0x45, 0x29, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x19, 0x29, 0x49, 0x09, 0x0f, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x03, 0x0c, 0x08, 0x2b, 0x28, 0x2d,
-+ 0x29, 0x29, 0x29, 0x2f, 0x3a, 0x64, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x98, 0xe4, 0x10, 0x50,
-+ 0x50, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x07, 0x08, 0x0b, 0x2a, 0x2e, 0x2b,
-+ 0x28, 0x28, 0x29, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xe0, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x7d, 0x17, 0x11, 0x13, 0x3b, 0x2d, 0x6b,
-+ 0x28, 0x2a, 0x3a, 0x23, 0x24, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xb8, 0x54, 0x10, 0xfc,
-+ 0x48, 0x40, 0x78, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x09, 0x11, 0x19,
-+ 0x35, 0x57, 0x11, 0x11, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x02, 0x0c,
-+ 0x03, 0x7f, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x40, 0xc0,
-+ 0x30, 0xc8, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x4b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x10, 0x1e, 0x24, 0x7e, 0x2b,
-+ 0x3e, 0x2a, 0x3e, 0x3b, 0x2d, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x18, 0xe0, 0x20, 0x20, 0xfc,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3e, 0x24, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0xb0, 0x98, 0x14, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x29, 0x31, 0x29, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x22, 0x13, 0x1f, 0x01, 0x05, 0x05, 0x77,
-+ 0x15, 0x11, 0x12, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0xb8, 0x28, 0xe8, 0x38, 0x68, 0x68, 0xf8,
-+ 0x28, 0x48, 0x48, 0x98, 0x00, 0xfc, 0x00, 0x00,
-+ 0x03, 0x1c, 0x10, 0x1e, 0x10, 0x1f, 0x00, 0x15,
-+ 0x13, 0x19, 0x15, 0x15, 0x19, 0x66, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0x50,
-+ 0x30, 0x90, 0x54, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x09, 0x08, 0x0b, 0x12, 0x13, 0x32, 0x53, 0x10,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x06, 0x09, 0x14, 0x3f, 0x51, 0x1f, 0x11,
-+ 0x1f, 0x10, 0x3f, 0x31, 0x5f, 0x11, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0xc8, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x22, 0x12, 0x0c, 0x04,
-+ 0x04, 0x0a, 0x0a, 0x10, 0x21, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x50, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x12, 0x0a, 0x7f, 0x04, 0x3f, 0x1f, 0x01, 0x7f,
-+ 0x12, 0x1f, 0x1e, 0x12, 0x7e, 0x03, 0x00, 0x00,
-+ 0x90, 0xa0, 0xfc, 0x40, 0xf8, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x1f, 0x60, 0x0f, 0x08, 0x0f,
-+ 0x0f, 0x08, 0x1f, 0x18, 0x2f, 0x08, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xe0, 0x20, 0xe0,
-+ 0xe0, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x3d, 0x25, 0x3d, 0x25, 0x01,
-+ 0x7f, 0x08, 0x08, 0x08, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x78, 0x48, 0x78, 0x48, 0x00,
-+ 0xfc, 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x48, 0x28, 0x2f, 0x08, 0x08,
-+ 0x18, 0x18, 0x28, 0x48, 0x0b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x02, 0x7f, 0x04,
-+ 0x1f, 0x61, 0x1f, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x80, 0xfc, 0xc0,
-+ 0x30, 0x0c, 0xf0, 0x80, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x05, 0x35, 0x09, 0x1d, 0x65,
-+ 0x19, 0x15, 0x66, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x68, 0x10, 0x68, 0xc8,
-+ 0x30, 0xa8, 0xc8, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x41, 0x01, 0x7f, 0x03,
-+ 0x05, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0xfc, 0x80,
-+ 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x17, 0x17, 0x14,
-+ 0x17, 0x13, 0x23, 0x22, 0x43, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x20, 0xf8, 0xf8, 0x88,
-+ 0xf8, 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x27, 0x24, 0x24, 0x24,
-+ 0x24, 0x24, 0x24, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf0, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0xe0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x09, 0x29, 0x3f, 0x2a, 0x4c, 0x19, 0x6a, 0x08,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xa8, 0xa8, 0x28, 0x48, 0xb0,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x08, 0x1c, 0x1a, 0x2a, 0x48,
-+ 0x09, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x12, 0x13, 0x10,
-+ 0x1f, 0x71, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x7d, 0x10, 0x11, 0x10, 0x1f,
-+ 0x74, 0x13, 0x12, 0x12, 0x12, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x48, 0xf8, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x17, 0x10, 0x13, 0x1e,
-+ 0x73, 0x12, 0x13, 0x12, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0xfc, 0x40, 0xf8, 0x48,
-+ 0xf8, 0x48, 0xf8, 0x48, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x17, 0x10, 0x1f,
-+ 0x72, 0x13, 0x12, 0x10, 0x10, 0x37, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0xf0, 0x4c, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x50, 0x78, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x10, 0x17, 0x14, 0x1f,
-+ 0x70, 0x17, 0x10, 0x11, 0x16, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xbc, 0xa4, 0xbc,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x1f, 0x11,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x24, 0x3f, 0x24, 0x3f,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x12, 0x15, 0x39, 0x35,
-+ 0x35, 0x51, 0x53, 0x15, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x08, 0xf4, 0x10, 0xf0,
-+ 0xf0, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x13, 0x3a, 0x37,
-+ 0x35, 0x51, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x23, 0x02, 0x0b,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x21, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x15, 0x34, 0x3b, 0x32, 0x53,
-+ 0x10, 0x17, 0x18, 0x25, 0x26, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xb8, 0xa8, 0xb8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x01, 0x03, 0x0c, 0x30, 0x1f, 0x01, 0x7f, 0x01,
-+ 0x01, 0x1f, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0xf0, 0x10, 0xfc, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x4b, 0x2a, 0x2b, 0x0a, 0x1b,
-+ 0x28, 0x4b, 0x10, 0x10, 0x21, 0x4e, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x90, 0x60, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x45, 0x09, 0x12, 0x0f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x38, 0x40, 0x30, 0xc8,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x57, 0x34, 0x3b, 0x12, 0x7f, 0x12, 0x3b,
-+ 0x35, 0x55, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x29, 0x4a, 0x08, 0x00, 0x00,
-+ 0x30, 0x90, 0x90, 0xa8, 0x24, 0x50, 0xf8, 0x48,
-+ 0x20, 0xe8, 0xc4, 0x54, 0x50, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7f,
-+ 0x0c, 0x2a, 0x2a, 0x29, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x00, 0xf8, 0x00, 0xfc,
-+ 0x20, 0xa8, 0xa4, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x25, 0x3e, 0x24, 0x25, 0x3c,
-+ 0x24, 0x25, 0x3d, 0x66, 0x04, 0x04, 0x00, 0x00,
-+ 0x70, 0x90, 0x90, 0x48, 0x64, 0x90, 0xf8, 0x48,
-+ 0xa0, 0xa8, 0x84, 0x94, 0x90, 0x70, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x48, 0x28, 0x2f,
-+ 0x08, 0x18, 0x28, 0x48, 0x0b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x7f, 0x08, 0x1f, 0x72, 0x0c,
-+ 0x74, 0x04, 0x7f, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x80, 0x98, 0xe0, 0x84,
-+ 0x7c, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x7f, 0x09, 0x02, 0x0f, 0x7f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x17, 0x14, 0x27, 0x44, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0x80, 0xe0, 0xfc, 0x20, 0xe0,
-+ 0x20, 0xe0, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x11, 0x09, 0x49, 0x23, 0x22,
-+ 0x0b, 0x08, 0x17, 0x11, 0x26, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0xb8, 0xa8,
-+ 0xf8, 0x40, 0xfc, 0xf0, 0x4c, 0x40, 0x00, 0x00,
-+ 0x04, 0x24, 0x17, 0x04, 0x1c, 0x65, 0x05, 0x01,
-+ 0x7f, 0x04, 0x1c, 0x64, 0x07, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00, 0x00,
-+ 0xfc, 0x90, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x01, 0x7f, 0x01, 0x09,
-+ 0x09, 0x09, 0x09, 0x15, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x02, 0x21, 0x11, 0x17, 0x00, 0x00, 0x7f, 0x10,
-+ 0x11, 0x11, 0x12, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf8, 0x80, 0x80, 0xfc, 0xc0,
-+ 0x20, 0x10, 0x08, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x27, 0x13, 0x12, 0x03, 0x02, 0x73, 0x11,
-+ 0x11, 0x11, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0xf8, 0x04, 0xf8, 0x88, 0xf8,
-+ 0xf8, 0x80, 0xfc, 0x84, 0xfc, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x3d, 0x5d, 0x00, 0x08,
-+ 0x7f, 0x1c, 0x1a, 0x29, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x78, 0x70, 0x00, 0xf8,
-+ 0x88, 0xf8, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x70, 0xac, 0x20, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0x28, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x08, 0x09, 0x0e, 0x13, 0x12, 0x33, 0x50, 0x11,
-+ 0x16, 0x11, 0x16, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0xf8, 0x48, 0xf8, 0x40, 0x88,
-+ 0xd0, 0x60, 0xb0, 0x28, 0x24, 0xc0, 0x00, 0x00,
-+ 0x01, 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x10,
-+ 0x15, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x11, 0x10, 0x13, 0x1a, 0x37, 0x36, 0x33, 0x50,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 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,
-+ 0x01, 0x3f, 0x29, 0x28, 0x3b, 0x2a, 0x2b, 0x3b,
-+ 0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x58, 0x00, 0x00,
-+ 0x20, 0xfc, 0x28, 0x24, 0xfc, 0x20, 0xe8, 0xa8,
-+ 0xe8, 0x50, 0xd4, 0x9c, 0xec, 0x44, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x00, 0x1f, 0x10, 0x1f, 0x19,
-+ 0x1f, 0x18, 0x1f, 0x29, 0x2f, 0x48, 0x00, 0x00,
-+ 0x40, 0xfc, 0x50, 0x48, 0xfc, 0x40, 0xc8, 0x28,
-+ 0xa8, 0xb0, 0x90, 0x34, 0xcc, 0x84, 0x00, 0x00,
-+ 0x01, 0x3c, 0x25, 0x25, 0x3d, 0x25, 0x3d, 0x24,
-+ 0x25, 0x3d, 0x19, 0x15, 0x25, 0x41, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x22, 0x12, 0x13, 0x04, 0x0f, 0x70, 0x13,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x50, 0x12,
-+ 0x12, 0x12, 0x12, 0x13, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x48, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0c, 0x14, 0x17, 0x34, 0x54, 0x17,
-+ 0x14, 0x14, 0x17, 0x13, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x08, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x22, 0x3e, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x22, 0x3e,
-+ 0x28, 0x24, 0x26, 0x3a, 0x62, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x13, 0x10, 0x16,
-+ 0x1a, 0x72, 0x12, 0x13, 0x14, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x13, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x90, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00, 0x00,
-+ 0x20, 0x17, 0x14, 0x44, 0x27, 0x24, 0x07, 0x14,
-+ 0x14, 0x17, 0x23, 0x22, 0x44, 0x48, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0x08, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x11, 0x01, 0x11,
-+ 0x11, 0x11, 0x19, 0x15, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x20, 0x17, 0x10, 0x03, 0x02, 0x72, 0x13,
-+ 0x10, 0x11, 0x16, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xe0, 0x50, 0x4c, 0x40, 0x00, 0xfc, 0x00, 0x00,
-+ 0x09, 0x09, 0x0a, 0x14, 0x10, 0x31, 0x51, 0x12,
-+ 0x17, 0x1a, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x20, 0x10, 0x08, 0x88, 0x80, 0x40, 0x20, 0x10,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x17, 0x14,
-+ 0x17, 0x1f, 0x18, 0x2f, 0x28, 0x48, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x78, 0x80, 0xf0, 0x90,
-+ 0xf0, 0xf8, 0xa8, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x3c, 0x27,
-+ 0x24, 0x3c, 0x18, 0x14, 0x24, 0x40, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xa8, 0xa8, 0xe8,
-+ 0x90, 0x90, 0xb4, 0xac, 0xcc, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x12, 0x10, 0x1d, 0x16,
-+ 0x17, 0x14, 0x24, 0x24, 0x45, 0x1a, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x80, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0c, 0x13, 0x7f,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x48, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x00, 0xfc, 0x08,
-+ 0x50, 0x50, 0x50, 0x94, 0x94, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x08, 0x08, 0x0c, 0x12, 0x23,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x40, 0x60, 0x90, 0x10,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x07, 0x04, 0x07, 0x04,
-+ 0x04, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xc0, 0x40, 0xc0, 0x40,
-+ 0x40, 0xfc, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x12, 0x11, 0x11, 0x7f, 0x10, 0x17, 0x14, 0x17,
-+ 0x1c, 0x77, 0x14, 0x14, 0x14, 0x35, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x00, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x7f, 0x04, 0x05, 0x08, 0x18,
-+ 0x28, 0x4f, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0xf8, 0x10, 0x20,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7c, 0x07, 0x08, 0x0b, 0x10, 0x10, 0x1b,
-+ 0x70, 0x11, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x50, 0x90, 0xa0, 0x48, 0xf4,
-+ 0x44, 0x50, 0x48, 0x44, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x02, 0x1f, 0x12, 0x14, 0x1f,
-+ 0x1f, 0x00, 0x7f, 0x08, 0x04, 0x00, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x80, 0xf0, 0xd0, 0x50, 0xf0,
-+ 0xf0, 0x40, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x10, 0x13, 0x12, 0x1f,
-+ 0x72, 0x13, 0x12, 0x13, 0x11, 0x36, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x2f, 0x11, 0x12, 0x02, 0x03, 0x0e, 0x72,
-+ 0x12, 0x12, 0x13, 0x1e, 0x26, 0x41, 0x00, 0x00,
-+ 0x0c, 0xf0, 0x28, 0x48, 0xd0, 0x30, 0x48, 0xfc,
-+ 0xa8, 0xa4, 0x24, 0x20, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x12, 0x12, 0x33, 0x5e, 0x12,
-+ 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x78, 0xc8, 0x48, 0x48,
-+ 0x48, 0x58, 0x40, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x02, 0x03, 0x04, 0x0a, 0x31, 0x01, 0x06, 0x38,
-+ 0x03, 0x0c, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x40, 0x80, 0x40, 0x7c, 0x84,
-+ 0x88, 0x50, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01, 0x02, 0x02,
-+ 0x04, 0x04, 0x0a, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x80, 0x80,
-+ 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x27, 0x20, 0x00, 0x10,
-+ 0x10, 0x11, 0x21, 0x22, 0x44, 0x48, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xc0,
-+ 0xa0, 0x20, 0x90, 0x50, 0x48, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3e, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x08, 0x80, 0x80, 0x98,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4b, 0x49, 0x49, 0x4f, 0x49,
-+ 0x49, 0x7b, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xf8, 0x50, 0x50, 0xfc, 0x50,
-+ 0x50, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x48, 0x71, 0x53, 0x4d, 0x49, 0x71,
-+ 0x41, 0x41, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0x08, 0x18, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x12, 0x09, 0x08, 0x01, 0x7f,
-+ 0x02, 0x04, 0x07, 0x08, 0x03, 0x3c, 0x00, 0x00,
-+ 0x18, 0xe8, 0x08, 0x10, 0x20, 0x40, 0x00, 0xfc,
-+ 0x20, 0x20, 0x40, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x19, 0x36, 0x37, 0x30, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0xfc, 0x80, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x08, 0x08, 0x0e,
-+ 0x78, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7f, 0x0a, 0x18, 0x18, 0x1c,
-+ 0x2a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x80, 0x80, 0x88, 0x90,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1b, 0x16, 0x16, 0x7f,
-+ 0x12, 0x1a, 0x1a, 0x2a, 0x22, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x40, 0x40, 0x48, 0x50,
-+ 0x60, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7f, 0x09, 0x1b, 0x1c, 0x1b,
-+ 0x2b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x40, 0xfc, 0x80, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x29, 0x32, 0x28, 0x24,
-+ 0x24, 0x24, 0x24, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x08, 0x80, 0x80, 0x98,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x29, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x45, 0x1a, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x70,
-+ 0x50, 0x50, 0xc8, 0xa8, 0x24, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3f, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x44, 0x24, 0xa8, 0x90, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x17, 0x30, 0x50, 0x11,
-+ 0x11, 0x12, 0x15, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xe0, 0xe0, 0x50,
-+ 0x50, 0x48, 0xf4, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x13, 0x7f, 0x15, 0x11, 0x11,
-+ 0x15, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x04, 0x04, 0x24, 0x14,
-+ 0x0c, 0x0c, 0x0a, 0x12, 0x20, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x10, 0x7f, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x55, 0x55, 0x55, 0x43, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x10, 0x17, 0x30, 0x50, 0x10, 0x11,
-+ 0x01, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x90, 0x88, 0xfc, 0xc0, 0x40, 0x24, 0x14, 0x0c,
-+ 0x00, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x09, 0x09, 0x7f, 0x09, 0x0f, 0x00, 0x3f, 0x21,
-+ 0x5f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xe0, 0x00, 0xfc, 0x08,
-+ 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x13, 0x24, 0x04, 0x0f, 0x18, 0x28,
-+ 0x4f, 0x09, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x02, 0x02, 0x04, 0x7f, 0x00, 0x0f, 0x08, 0x08,
-+ 0x0f, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x40, 0x30, 0xe8, 0x04, 0xe0, 0x20, 0x20,
-+ 0xe0, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x12, 0x7f, 0x3e, 0x22, 0x3e, 0x3e, 0x22,
-+ 0x26, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0x48, 0x70, 0x44, 0x3c, 0x48, 0x70, 0x44,
-+ 0x3c, 0x10, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x04, 0x1f, 0x04, 0x7f, 0x1f, 0x15, 0x1f, 0x15,
-+ 0x1f, 0x3f, 0x0a, 0x7f, 0x19, 0x60, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xfc, 0x40, 0x48, 0x48, 0x28,
-+ 0x28, 0xb0, 0x14, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x7f, 0x14, 0x12, 0x22,
-+ 0x4f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x30, 0x50, 0x88,
-+ 0xe4, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x0f, 0x02, 0x7f, 0x05,
-+ 0x19, 0x6d, 0x03, 0x0d, 0x31, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xe0, 0x80, 0xfc, 0x40,
-+ 0x30, 0x6c, 0x80, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x21, 0x20, 0x07, 0x04,
-+ 0x1b, 0x12, 0x22, 0x22, 0x42, 0x40, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0xf0, 0x00, 0xfc, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x27, 0x3c,
-+ 0x25, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x50, 0x88, 0x9c, 0xe4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x25, 0x24, 0x3c, 0x24, 0x27,
-+ 0x3d, 0x25, 0x25, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x78, 0x64,
-+ 0x58, 0x50, 0x68, 0x84, 0x80, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x02, 0x04, 0x7f,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x40, 0x30, 0xc8,
-+ 0x04, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x02, 0x04, 0x18, 0x6f, 0x08, 0x09, 0x09, 0x7f,
-+ 0x03, 0x0c, 0x74, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x90, 0x88, 0x7c, 0xc0, 0x20, 0x14, 0x0c, 0xfc,
-+ 0x10, 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x02, 0x04, 0x1b, 0x68, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x90, 0x88, 0xfc, 0x40, 0x34, 0xec, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x13, 0x02, 0x03, 0x72, 0x12,
-+ 0x12, 0x12, 0x1f, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x88, 0x48,
-+ 0x30, 0xd0, 0x08, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x23, 0x10, 0x17, 0x00, 0x03, 0x74, 0x12,
-+ 0x12, 0x11, 0x16, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x48, 0x50,
-+ 0xe0, 0x50, 0x48, 0xc8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3c, 0x24, 0x2b, 0x28, 0x30, 0x2b, 0x24,
-+ 0x27, 0x24, 0x38, 0x23, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0x40, 0xe8, 0x68, 0xb0,
-+ 0x30, 0x70, 0xa8, 0x24, 0x20, 0xc0, 0x00, 0x00,
-+ 0x02, 0x04, 0x1f, 0x68, 0x08, 0x1f, 0x11, 0x1f,
-+ 0x1f, 0x3f, 0x01, 0x7f, 0x24, 0x42, 0x00, 0x00,
-+ 0x90, 0xbc, 0xc0, 0x24, 0x1c, 0xf4, 0x10, 0xf0,
-+ 0xf0, 0xf8, 0x00, 0xfc, 0x88, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2f, 0x29, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xf8, 0x88,
-+ 0xf8, 0xd8, 0xf8, 0x58, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x08, 0x1f, 0x28, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0x80, 0xfc, 0x40, 0x40, 0x40,
-+ 0x20, 0x20, 0x14, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x08, 0x7f, 0x00, 0x00,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x40, 0x30, 0xc8, 0x04, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x80,
-+ 0x80, 0x40, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x29, 0x46, 0x3f, 0x01, 0x3f,
-+ 0x21, 0x3f, 0x23, 0x05, 0x19, 0x61, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x20, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x2f,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x78, 0x48, 0x78, 0x00, 0xfc,
-+ 0x10, 0x50, 0x5c, 0x50, 0xb0, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3e, 0x22, 0x3e, 0x00, 0x7f,
-+ 0x08, 0x2e, 0x28, 0x38, 0x2d, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x50, 0x88, 0x08, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x15, 0x1f, 0x15, 0x15, 0x13,
-+ 0x13, 0x13, 0x23, 0x23, 0x4d, 0x12, 0x00, 0x00,
-+ 0x80, 0xfc, 0xa0, 0xfc, 0xf0, 0xf0, 0xfc, 0xe0,
-+ 0xe0, 0xe0, 0xf8, 0xf8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x42, 0x21, 0x2f, 0x00, 0x17,
-+ 0x14, 0x17, 0x24, 0x27, 0x44, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x20, 0x40, 0xfc, 0x00, 0xf0,
-+ 0x90, 0xf0, 0x90, 0xf4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x45, 0x25, 0x3f, 0x00, 0x0f,
-+ 0x19, 0x1f, 0x29, 0x2f, 0x49, 0x4b, 0x00, 0x00,
-+ 0x40, 0x78, 0xc0, 0x78, 0x08, 0xf8, 0x40, 0x78,
-+ 0x40, 0x78, 0x40, 0x78, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x49, 0x4e, 0x48, 0x49,
-+ 0x7e, 0x48, 0x43, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x88, 0xc8, 0x50, 0xe0, 0x20,
-+ 0x70, 0xa8, 0x24, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x01, 0x1e, 0x02,
-+ 0x03, 0x7e, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x60, 0x80, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x08, 0x08, 0x0f,
-+ 0x18, 0x68, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0x40, 0x7c, 0xc0,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x1d,
-+ 0x71, 0x11, 0x12, 0x12, 0x14, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x48, 0x40,
-+ 0x20, 0x20, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x10, 0x11, 0x13,
-+ 0x1d, 0x79, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x80, 0x80, 0xf8, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x23, 0x02, 0x12,
-+ 0x12, 0x12, 0x24, 0x24, 0x48, 0x50, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x48, 0x40,
-+ 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x20, 0x17, 0x10, 0x47, 0x20, 0x27, 0x02, 0x13,
-+ 0x16, 0x1b, 0x23, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x20, 0xf8,
-+ 0x40, 0xf0, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x7c, 0x10, 0x11, 0x16, 0x7c, 0x11,
-+ 0x16, 0x10, 0x1b, 0x6c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xc8, 0x48, 0xf0, 0x20,
-+ 0x70, 0xa8, 0x24, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3c, 0x00, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0x40, 0x7c, 0xc0,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x22, 0x5c, 0x08, 0x7f,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x54, 0xfc, 0x20, 0xf8, 0x20, 0xfc,
-+ 0x50, 0xfc, 0x20, 0xf8, 0x20, 0x20, 0x00, 0x00,
-+ 0x20, 0x17, 0x15, 0x47, 0x22, 0x23, 0x05, 0x1f,
-+ 0x15, 0x17, 0x25, 0x21, 0x4e, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x50, 0xf0, 0x00, 0xf8, 0x08, 0xc8,
-+ 0x48, 0xc8, 0x48, 0xe8, 0x28, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3f, 0x00, 0x3c,
-+ 0x00, 0x3d, 0x26, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0xd0, 0x40, 0xfc, 0x40, 0x80,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x7f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x78, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x38, 0xe0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x17, 0x15, 0x15, 0x15,
-+ 0x15, 0x15, 0x15, 0x21, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xd0, 0x50, 0x50, 0x50,
-+ 0x50, 0x50, 0xd4, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f,
-+ 0x10, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x10, 0xf0,
-+ 0x10, 0x40, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x44, 0x44, 0x44, 0x44, 0x44,
-+ 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x12, 0x33, 0x52, 0x12,
-+ 0x12, 0x13, 0x12, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x23, 0x10, 0x17, 0x01, 0x00, 0x77, 0x10,
-+ 0x13, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xa0, 0xfc, 0x40,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x10, 0x10, 0x1f, 0x12,
-+ 0x12, 0x12, 0x22, 0x22, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x88,
-+ 0x48, 0x50, 0x20, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x02, 0x7f, 0x06, 0x1a, 0x67, 0x0c, 0x17, 0x07,
-+ 0x04, 0x07, 0x7f, 0x04, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xb0, 0xfc, 0x80, 0xe0, 0xe0,
-+ 0x80, 0xf0, 0xfc, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x3c, 0x24, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3c, 0x24, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x08, 0x88, 0x90, 0xf8, 0x08, 0x08, 0xf8, 0x68,
-+ 0x60, 0x60, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x02, 0x3e, 0x20, 0x22, 0x1e, 0x04,
-+ 0x3f, 0x04, 0x7f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x80, 0x88, 0x78, 0x40,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x22, 0x3e, 0x24, 0x3f,
-+ 0x01, 0x3f, 0x08, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x30, 0x30, 0xc8, 0x04,
-+ 0x00, 0xf8, 0x20, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x20, 0x12, 0x12, 0x02, 0x02, 0x72, 0x12,
-+ 0x12, 0x13, 0x12, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0xf8, 0x08, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x13, 0x3a, 0x36,
-+ 0x37, 0x52, 0x52, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0xa8, 0xc8, 0xc8, 0x98, 0x00, 0x00,
-+ 0x04, 0x04, 0x08, 0x11, 0x01, 0x02, 0x04, 0x18,
-+ 0x6f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x10, 0x00, 0x80, 0x40, 0x30,
-+ 0xec, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x12, 0x33, 0x4a, 0x0a, 0x1b,
-+ 0x28, 0x4b, 0x08, 0x08, 0x3f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3b, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0xfc, 0x24, 0xf8, 0xf8, 0x20,
-+ 0xf8, 0x08, 0xfc, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x10, 0x17, 0x78, 0x13, 0x1a, 0x37, 0x37,
-+ 0x33, 0x50, 0x57, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0xa0, 0xf8, 0xb8, 0x18, 0xf8,
-+ 0xf8, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3f, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x21, 0x00, 0x00,
-+ 0x90, 0x90, 0xa0, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0a, 0x09, 0x09, 0x08, 0x7f,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x1f, 0x11, 0x1f, 0x11, 0x11,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf0, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x49, 0x4b, 0x4a, 0x4b, 0x48,
-+ 0x4b, 0x78, 0x4f, 0x40, 0x03, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x18, 0x04, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x11,
-+ 0x15, 0x19, 0x61, 0x00, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7c, 0x11, 0x12, 0x10, 0x1f,
-+ 0x70, 0x11, 0x12, 0x14, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xa0, 0x24, 0x5c, 0x40, 0xfc,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x08,
-+ 0x08, 0x0f, 0x08, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x20,
-+ 0x20, 0xe0, 0x20, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x3e, 0x2b, 0x3e, 0x08,
-+ 0x3e, 0x08, 0x7f, 0x14, 0x23, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x0a, 0x42, 0x24, 0x21, 0x06, 0x10,
-+ 0x12, 0x12, 0x24, 0x21, 0x42, 0x4c, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xd0, 0xa0, 0x18, 0x44, 0x48,
-+ 0x48, 0xd0, 0xa0, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x11, 0x0f, 0x09, 0x41, 0x21, 0x21, 0x01, 0x1f,
-+ 0x14, 0x14, 0x25, 0x26, 0x47, 0x44, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0xfc,
-+ 0xa0, 0xa4, 0x1c, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x00, 0x1f, 0x10, 0x10,
-+ 0x14, 0x15, 0x29, 0x22, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x80, 0x88,
-+ 0x88, 0x50, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x3f, 0x29, 0x49, 0x09, 0x7f,
-+ 0x09, 0x08, 0x14, 0x12, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08,
-+ 0x08, 0x90, 0x90, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x12, 0x12, 0x13, 0x7c, 0x0b, 0x48, 0x2b,
-+ 0x2a, 0x32, 0x1e, 0x72, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x40, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x12, 0x09, 0x1f, 0x11,
-+ 0x1f, 0x11, 0x1f, 0x01, 0x7f, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x10, 0x20, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0d, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2b, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x00, 0xfc, 0x20, 0xa0,
-+ 0xb8, 0xa0, 0xa0, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x25, 0x3d, 0x26, 0x24, 0x3c,
-+ 0x24, 0x26, 0x3c, 0x64, 0x05, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x48, 0x40, 0x40, 0x60,
-+ 0x60, 0x60, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x25, 0x3d,
-+ 0x25, 0x25, 0x25, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x09, 0x09, 0x1d, 0x23, 0x41, 0x0f,
-+ 0x09, 0x09, 0x0f, 0x09, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0xe0,
-+ 0x20, 0x20, 0xe0, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x7d, 0x02, 0x3a, 0x07, 0x39,
-+ 0x05, 0x3b, 0x2a, 0x2b, 0x3c, 0x28, 0x00, 0x00,
-+ 0x00, 0x0c, 0xf0, 0x10, 0x50, 0x50, 0x5c, 0x50,
-+ 0x50, 0x50, 0xfc, 0x00, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x1b, 0x0d, 0x71, 0x00, 0x00,
-+ 0x40, 0xb8, 0x28, 0x28, 0xe8, 0x4c, 0x04, 0xf8,
-+ 0x48, 0x28, 0xf0, 0x10, 0x28, 0xc4, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x3f, 0x20, 0x24, 0x22,
-+ 0x22, 0x20, 0x20, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x17, 0x13, 0x12, 0x7e, 0x12, 0x13, 0x11,
-+ 0x15, 0x19, 0x61, 0x01, 0x00, 0x0f, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7a, 0x09, 0x0b, 0x7a, 0x4b, 0x42, 0x7b,
-+ 0x48, 0x4f, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x88, 0x48, 0x10, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x65, 0x55, 0x56, 0x44, 0x7f, 0x4c,
-+ 0x4e, 0x55, 0x65, 0x44, 0x7f, 0x40, 0x00, 0x00,
-+ 0x08, 0x10, 0x60, 0x40, 0x40, 0x7c, 0xc8, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x07, 0x7a, 0x49, 0x4b, 0x48, 0x7f, 0x48,
-+ 0x49, 0x49, 0x7a, 0x4c, 0x09, 0x16, 0x00, 0x00,
-+ 0x1c, 0xe4, 0x48, 0x30, 0xf8, 0x80, 0xfc, 0x80,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x17, 0x13, 0x7e, 0x12, 0x12, 0x3b, 0x35,
-+ 0x35, 0x51, 0x51, 0x11, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x06, 0x38, 0x20, 0x20, 0x3c, 0x21, 0x22, 0x3d,
-+ 0x20, 0x20, 0x3c, 0x60, 0x20, 0x23, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x94, 0x14, 0x0c, 0xf8,
-+ 0x88, 0x90, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x24, 0x3c, 0x27, 0x00, 0x00,
-+ 0x20, 0x28, 0xa8, 0xb0, 0x20, 0x50, 0x88, 0x24,
-+ 0xa4, 0xa8, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x15, 0x35, 0x55, 0x15,
-+ 0x15, 0x15, 0x15, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x3f, 0x28, 0x48, 0x08, 0x7f,
-+ 0x08, 0x0c, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x00, 0x12, 0x12, 0x12, 0x7e, 0x13, 0x16, 0x12,
-+ 0x12, 0x16, 0x1a, 0x62, 0x02, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x78, 0xc8, 0x48, 0x48,
-+ 0x48, 0x70, 0x40, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x24, 0x23, 0x3c,
-+ 0x24, 0x24, 0x04, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa8, 0xb8, 0xe8, 0xa8, 0xa8,
-+ 0xa8, 0xb8, 0xa0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x24, 0x3c, 0x24, 0x25, 0x3d,
-+ 0x25, 0x26, 0x3e, 0x64, 0x04, 0x04, 0x00, 0x00,
-+ 0x20, 0x10, 0x10, 0x40, 0x40, 0x40, 0x48, 0x44,
-+ 0x44, 0x44, 0x40, 0x48, 0x48, 0x38, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x24, 0x7f, 0x0c, 0x0a, 0x12,
-+ 0x2f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x10, 0x0a, 0x0a, 0x42, 0x22, 0x23, 0x0e, 0x02,
-+ 0x0a, 0x0a, 0x12, 0x12, 0x22, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x78, 0xc8, 0x48, 0x48,
-+ 0x48, 0x70, 0x40, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x4a, 0x2a, 0x2b, 0x0d, 0x19,
-+ 0x2f, 0x49, 0x11, 0x12, 0x24, 0x48, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf8, 0x28, 0x28,
-+ 0xe8, 0x28, 0x28, 0xb8, 0xa8, 0x00, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x09, 0x0b, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x90, 0x90, 0xa0, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x00, 0x7f, 0x07, 0x24,
-+ 0x27, 0x27, 0x24, 0x27, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x80, 0xfc, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x14, 0x23, 0x7f, 0x0a, 0x08,
-+ 0x3e, 0x08, 0x08, 0x0e, 0x71, 0x06, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x56, 0x56, 0x54, 0x7f,
-+ 0x50, 0x18, 0x15, 0x1f, 0x62, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0xe8, 0xa8, 0xa8, 0xa8, 0xe8,
-+ 0xa8, 0xa8, 0x68, 0x78, 0x28, 0x00, 0x00, 0x00,
-+ 0x00, 0x27, 0x14, 0x17, 0x05, 0x04, 0x77, 0x14,
-+ 0x15, 0x14, 0x1b, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x10, 0xa0, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa8, 0xb8, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xb8, 0xa0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x7e, 0x08, 0x0e, 0x71,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xf0, 0x90, 0xd4, 0x2c,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x1c, 0x05, 0x03, 0x7e,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0xc0, 0x20, 0xf0, 0x08,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x1f, 0x14, 0x25, 0x44,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x90, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x42, 0x7f, 0x11,
-+ 0x11, 0x11, 0x1e, 0x72, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x90, 0x50, 0x50, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x7f, 0x02, 0x0c, 0x03, 0x7f,
-+ 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xc0, 0x30, 0xc8,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x27, 0x10, 0x11, 0x0e, 0x01, 0x76, 0x10,
-+ 0x13, 0x1c, 0x10, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x88, 0xc8, 0x50, 0x60, 0xd0,
-+ 0x48, 0x44, 0x44, 0x80, 0x00, 0xfc, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7e, 0x09, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x44, 0x08, 0x3f, 0x02, 0x04,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x90, 0x70, 0xf8, 0x40, 0x70,
-+ 0x88, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x02, 0x04, 0x19, 0x61,
-+ 0x1f, 0x01, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x40, 0x30, 0x0c,
-+ 0xf0, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x11, 0x78, 0x2b, 0x2a, 0x2b,
-+ 0x2a, 0x7a, 0x5a, 0x16, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xe8, 0xa8, 0xe8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x0f, 0x0c,
-+ 0x17, 0x14, 0x27, 0x44, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x21, 0x21, 0x21, 0x21,
-+ 0x3f, 0x21, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x14, 0x34, 0x54, 0x14,
-+ 0x17, 0x14, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x44, 0x44, 0x44, 0x44,
-+ 0xfc, 0x44, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x41, 0x01, 0x1f, 0x11,
-+ 0x11, 0x1f, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x11, 0x11, 0x11, 0x1f, 0x11,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x13, 0x12, 0x12, 0x1e,
-+ 0x73, 0x12, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x17, 0x14,
-+ 0x27, 0x44, 0x07, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x90, 0x40, 0xe0, 0x50,
-+ 0xc8, 0x44, 0xc0, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1c, 0x1b,
-+ 0x2a, 0x28, 0x48, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x20, 0x00, 0x13,
-+ 0x10, 0x10, 0x20, 0x20, 0x4f, 0x40, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x11, 0x11, 0x1f,
-+ 0x11, 0x01, 0x01, 0x01, 0x7e, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0,
-+ 0x10, 0x20, 0x10, 0xf8, 0x04, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x03, 0x0c, 0x74, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0x08, 0xb0, 0xc0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x00, 0x3f,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x80, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x08, 0x88, 0x08, 0x08, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x48,
-+ 0xfc, 0x48, 0xa8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x43, 0x0c, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0xf8,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x17, 0x13, 0x39, 0x34,
-+ 0x37, 0x50, 0x50, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x58, 0x58, 0xf0, 0x00,
-+ 0xfc, 0x80, 0xf0, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x20, 0x1f, 0x12, 0x42, 0x26, 0x2a, 0x03, 0x17,
-+ 0x1b, 0x22, 0x26, 0x5a, 0x42, 0x4c, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0xb0, 0xfc, 0x20, 0x78,
-+ 0xc8, 0xf8, 0xc8, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x04, 0x44, 0x2b, 0x10, 0x30, 0x4f, 0x08, 0x19,
-+ 0x2b, 0x4d, 0x09, 0x09, 0x31, 0x11, 0x00, 0x00,
-+ 0x80, 0x88, 0xf8, 0x90, 0xa0, 0xfc, 0x80, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x20, 0x40,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x08, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x09, 0x01, 0x1f, 0x01, 0x7f, 0x01,
-+ 0x07, 0x1c, 0x67, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0x08, 0xf0, 0x20, 0xfc, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3e, 0x24, 0x3d, 0x24,
-+ 0x24, 0x3c, 0x18, 0x14, 0x24, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0x00, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x24, 0x14, 0x14, 0x04, 0x06,
-+ 0x0c, 0x78, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0xa0,
-+ 0x90, 0x90, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x07, 0x44, 0x24, 0x27, 0x04, 0x17, 0x14,
-+ 0x25, 0x25, 0x45, 0x49, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xe8, 0x88, 0xf8, 0x08,
-+ 0xe8, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x49, 0x49, 0x49, 0x49, 0x48,
-+ 0x4f, 0x78, 0x49, 0x46, 0x18, 0x00, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x70, 0x00, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x3f, 0x28, 0x7f, 0x14, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x78, 0x40, 0x78, 0x08, 0x78,
-+ 0x40, 0x78, 0x78, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x54, 0x54, 0x54, 0x55,
-+ 0x55, 0x5d, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x55, 0x57,
-+ 0x55, 0x5d, 0x51, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x48, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x3f, 0x22, 0x22, 0x3f,
-+ 0x22, 0x22, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x79, 0x09, 0x09, 0x79, 0x49, 0x41, 0x7f,
-+ 0x49, 0x49, 0x09, 0x09, 0x11, 0x66, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x48, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x2e, 0x24, 0x3f, 0x20,
-+ 0x2e, 0x2a, 0x2a, 0x2e, 0x2a, 0x41, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xa0, 0xc8, 0x88, 0x90, 0x90,
-+ 0xa4, 0x84, 0x88, 0x88, 0x90, 0xa0, 0x00, 0x00,
-+ 0x12, 0x1a, 0x2a, 0x4a, 0x1f, 0x10, 0x2f, 0x62,
-+ 0x22, 0x2f, 0x22, 0x23, 0x2c, 0x20, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xfc, 0x48, 0xc8, 0x28,
-+ 0x28, 0xb0, 0x10, 0xb0, 0x48, 0x84, 0x00, 0x00,
-+ 0x22, 0x2a, 0x4f, 0x10, 0x3f, 0x52, 0x17, 0x13,
-+ 0x1c, 0x01, 0x14, 0x14, 0x24, 0x43, 0x00, 0x00,
-+ 0x20, 0xa0, 0xbc, 0x48, 0xa8, 0x28, 0x90, 0xb0,
-+ 0x48, 0x04, 0x90, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7e, 0x11, 0x11, 0x10, 0x1d,
-+ 0x72, 0x14, 0x11, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0xa4, 0xa4, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x7d, 0x54, 0x7f,
-+ 0x55, 0x53, 0x14, 0x11, 0x12, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x29, 0x0f, 0x19,
-+ 0x1f, 0x22, 0x3f, 0x42, 0x42, 0x43, 0x00, 0x00,
-+ 0x00, 0x78, 0xc8, 0x48, 0x48, 0x78, 0x48, 0x48,
-+ 0x78, 0x48, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x29, 0x29, 0x2b, 0x29, 0x3d, 0x21, 0x21, 0x39,
-+ 0x28, 0x2f, 0x28, 0x29, 0x2e, 0x48, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x50, 0x70, 0x00, 0xf8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x24, 0x3f, 0x24, 0x24,
-+ 0x24, 0x3f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0xfc, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x4a, 0x79, 0x49, 0x48, 0x79,
-+ 0x4e, 0x48, 0x79, 0x49, 0x42, 0x04, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0xa4, 0xa4, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x7c, 0x2b, 0x28, 0x3b, 0x2a, 0x2a, 0x3b,
-+ 0x2a, 0x2c, 0x3a, 0x6a, 0x0c, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x48, 0xa0, 0xa8, 0x84, 0x94, 0x70, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x24, 0x3f,
-+ 0x24, 0x24, 0x24, 0x24, 0x24, 0x4f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0xf0, 0x80, 0xf0, 0x80, 0xfc,
-+ 0xc8, 0xa8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x24, 0x27,
-+ 0x3d, 0x25, 0x26, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0d, 0x0a, 0x0e, 0x73, 0x00, 0x00, 0x00,
-+ 0xa8, 0xa8, 0xfc, 0xa8, 0xa8, 0xb8, 0x80, 0xfc,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x26, 0x3e, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x08,
-+ 0xe8, 0xa8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x3d, 0x03, 0x7d, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x00, 0x3f, 0x24, 0x25, 0x3e, 0x24, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x50, 0x70, 0x00, 0xf8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x3e, 0x08, 0x08, 0x7e, 0x09, 0x28,
-+ 0x2e, 0x28, 0x38, 0x28, 0x46, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0xb0, 0x00, 0xf8,
-+ 0x88, 0x88, 0xf8, 0x88, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x26, 0x3d, 0x09, 0x28, 0x2d,
-+ 0x2a, 0x28, 0x2d, 0x39, 0x62, 0x04, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0xa4, 0xa4, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0x54, 0xd4, 0xd8, 0x50, 0xd8,
-+ 0x54, 0x54, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x7f,
-+ 0x09, 0x08, 0x08, 0x08, 0x0f, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0xfc,
-+ 0x10, 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11,
-+ 0x11, 0x11, 0x11, 0x10, 0x33, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x0f,
-+ 0x08, 0x0f, 0x29, 0x24, 0x24, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xfc,
-+ 0x00, 0xfc, 0x24, 0x94, 0x04, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x2a, 0x2a, 0x3e,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x17, 0x11, 0x1d,
-+ 0x72, 0x14, 0x10, 0x10, 0x11, 0x3e, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x50, 0x48,
-+ 0x54, 0xd4, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x00, 0x27, 0x24, 0x27, 0x24,
-+ 0x27, 0x24, 0x27, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x3d, 0x24, 0x24, 0x3f, 0x24, 0x24, 0x3f,
-+ 0x24, 0x24, 0x24, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x08, 0x08, 0x90, 0xa0, 0xf8, 0x40, 0x40, 0xfc,
-+ 0x40, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x23, 0x22, 0x04, 0x10,
-+ 0x10, 0x20, 0x20, 0x41, 0x42, 0x44, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x48, 0x40, 0x60,
-+ 0x60, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x10, 0x11, 0x12, 0x7c, 0x13,
-+ 0x10, 0x11, 0x1c, 0x60, 0x00, 0x07, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0x48, 0x84, 0x20,
-+ 0x40, 0x88, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x04, 0x19, 0x77, 0x10, 0x13, 0x1f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x30, 0xc0, 0xfc, 0x40, 0xf8, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x18, 0x0e, 0x71, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0xfc, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x28, 0x2b, 0x32, 0x2b, 0x26,
-+ 0x27, 0x24, 0x39, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x27, 0x20, 0x03, 0x10,
-+ 0x13, 0x10, 0x27, 0x20, 0x40, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x3c, 0x2b, 0x30, 0x2f, 0x24, 0x27, 0x38,
-+ 0x23, 0x21, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0xc8, 0x68, 0xb0, 0x70, 0xa8,
-+ 0x24, 0xc0, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1b, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x90, 0x90, 0xa0, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7d, 0x10, 0x10, 0x3b, 0x35,
-+ 0x35, 0x51, 0x51, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0x48, 0x78, 0x40, 0x78,
-+ 0x48, 0x48, 0x78, 0x48, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x20, 0x13, 0x12, 0x02, 0x03, 0x72, 0x13,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0x10, 0xf0, 0x00, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x12, 0x19, 0x25, 0x24, 0x78, 0x13, 0x7d,
-+ 0x11, 0x55, 0x39, 0x31, 0x1e, 0x64, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0x48, 0x78, 0x40, 0x78,
-+ 0x48, 0x48, 0x78, 0x48, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x29, 0x08, 0x1b,
-+ 0x2a, 0x4b, 0x12, 0x13, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf0, 0x20, 0xc0, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xf8, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x27, 0x11, 0x10, 0x03, 0x02, 0x73, 0x12,
-+ 0x13, 0x12, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0xc0, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x48, 0x48, 0x58, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x17, 0x7c, 0x11, 0x16, 0x10,
-+ 0x13, 0x1c, 0x61, 0x06, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0x40, 0xc8, 0x68, 0xb0,
-+ 0x30, 0x68, 0xa4, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x1c, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x0b, 0x0a, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xc8, 0xa8, 0x88, 0xfc, 0x08,
-+ 0x48, 0x28, 0x08, 0xfc, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x12, 0x13, 0x1e,
-+ 0x72, 0x12, 0x13, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x68, 0x58, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x12, 0x1a, 0x37, 0x36,
-+ 0x32, 0x53, 0x52, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xc8, 0x78, 0x48, 0xf8, 0x48,
-+ 0x48, 0x78, 0xb0, 0xb4, 0x54, 0x8c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x12, 0x32, 0x53, 0x12,
-+ 0x12, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x41, 0x20, 0x27, 0x01, 0x11,
-+ 0x11, 0x11, 0x21, 0x21, 0x41, 0x46, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2b, 0x29, 0x4a, 0x0c, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x80, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x10, 0x00, 0x07, 0x70, 0x10,
-+ 0x10, 0x10, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x00, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x0f, 0x08, 0x0f, 0x29, 0x24, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0xfc, 0x00, 0xfc, 0x24, 0x94, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x65, 0x18, 0x11, 0x2a, 0x7f,
-+ 0x1a, 0x35, 0x34, 0x31, 0x52, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xb0, 0x90, 0x68, 0x48, 0xf8,
-+ 0x48, 0x68, 0xb0, 0x90, 0x28, 0x44, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x22, 0x5c, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xdc, 0x54, 0xdc, 0x00, 0xf8, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x11, 0x18, 0x37, 0x35,
-+ 0x33, 0x55, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xf0, 0xa0, 0xfc, 0x10,
-+ 0xf8, 0x14, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x20, 0x2f, 0x03, 0x12,
-+ 0x13, 0x13, 0x22, 0x23, 0x43, 0x4c, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0xf0, 0x80, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x17, 0x10, 0x12, 0x7d, 0x11, 0x10, 0x17,
-+ 0x10, 0x1c, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x48, 0x48, 0x50, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x00, 0x3f, 0x22, 0x5f,
-+ 0x12, 0x1f, 0x12, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x88, 0xf0,
-+ 0x90, 0xf0, 0x90, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x13, 0x7f, 0x2b, 0x28, 0x2f,
-+ 0x28, 0x73, 0x5a, 0x16, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x58, 0x58, 0x40, 0xfc,
-+ 0x40, 0xf8, 0xa8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x64, 0x1b, 0x1a, 0x26, 0x7e,
-+ 0x13, 0x1a, 0x36, 0x36, 0x53, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x09,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x10, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x11, 0x01, 0x3f,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x88, 0x88, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x7f, 0x52, 0x14, 0x28, 0x3e, 0x68,
-+ 0x3e, 0x28, 0x3e, 0x29, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x3f,
-+ 0x20, 0x5f, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x08, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x12, 0x33, 0x52, 0x12,
-+ 0x12, 0x13, 0x1c, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0x40, 0x40, 0xfc, 0x20, 0x20,
-+ 0x20, 0x90, 0x14, 0x0c, 0xfc, 0x04, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x11, 0x11, 0x31, 0x50, 0x17,
-+ 0x14, 0x1b, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xf8, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x13, 0x32, 0x53, 0x12,
-+ 0x13, 0x12, 0x13, 0x11, 0x16, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x80, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x20, 0x10, 0x08, 0x00, 0x00,
-+ 0x22, 0x12, 0x14, 0x7f, 0x09, 0x7f, 0x48, 0x7f,
-+ 0x59, 0x19, 0x2e, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x00, 0x3f, 0x01,
-+ 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x00, 0xf8, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x11, 0x7d, 0x11, 0x10, 0x17,
-+ 0x10, 0x1e, 0x62, 0x03, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x40, 0x78, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x3f, 0x01, 0x09,
-+ 0x09, 0x09, 0x09, 0x15, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf8, 0x00, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x08, 0x04, 0x3f, 0x21, 0x5f,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x40, 0xfc, 0x08, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x13, 0x12, 0x12, 0x13,
-+ 0x12, 0x12, 0x13, 0x1c, 0x27, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x30, 0xc0, 0x40, 0x40, 0xfc,
-+ 0x20, 0x20, 0x90, 0x14, 0xec, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x1e, 0x12, 0x14, 0x1f,
-+ 0x12, 0x1a, 0x14, 0x26, 0x29, 0x50, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x18, 0xe0, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0xf8, 0x00, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x08, 0x10, 0x10, 0x3f, 0x08,
-+ 0x48, 0x28, 0x13, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0xf8, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x01, 0x3f, 0x21, 0x3f,
-+ 0x23, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x1b, 0x34, 0x37, 0x32, 0x53,
-+ 0x12, 0x10, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xc4, 0xc4, 0x44, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x1d,
-+ 0x71, 0x11, 0x16, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0xd0, 0x14, 0x0c, 0xfc, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x7a, 0x12, 0x17, 0x11, 0x1d,
-+ 0x75, 0x12, 0x12, 0x15, 0x18, 0x30, 0x00, 0x00,
-+ 0x00, 0x18, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0xf8, 0x00, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x10, 0x1f,
-+ 0x70, 0x12, 0x12, 0x13, 0x14, 0x38, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x40, 0x78, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x09, 0x08, 0x08, 0x7f, 0x08, 0x1b, 0x1e, 0x1b,
-+ 0x2a, 0x28, 0x49, 0x0a, 0x0c, 0x08, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xc4, 0xc4, 0x44, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x40, 0x20, 0x20, 0x00, 0x08,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x11, 0x12, 0x3f, 0x24, 0x64,
-+ 0x24, 0x24, 0x3c, 0x25, 0x22, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xfc, 0x20, 0xa0,
-+ 0xb8, 0xa0, 0xa0, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x09, 0x09, 0x11, 0x19,
-+ 0x35, 0x55, 0x11, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x02, 0x0d, 0x39, 0x09, 0x09, 0x7e, 0x09, 0x1c,
-+ 0x1a, 0x2b, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x65, 0x28, 0x1b, 0x22, 0x7c,
-+ 0x13, 0x3a, 0x36, 0x36, 0x52, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xfc, 0x48, 0x40,
-+ 0xf8, 0x48, 0x48, 0x48, 0x58, 0x40, 0x00, 0x00,
-+ 0x08, 0x13, 0x3c, 0x25, 0x35, 0x2f, 0x2c, 0x7e,
-+ 0x26, 0x2d, 0x2d, 0x2e, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0x8c, 0xf0, 0x10, 0x10, 0x90, 0xfc, 0x90,
-+ 0x90, 0x10, 0x7c, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3d, 0x01, 0x3e,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x24, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x22, 0x3e, 0x29, 0x09, 0x2f,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x28, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x27, 0x14, 0x17, 0x04, 0x07, 0x04, 0x77,
-+ 0x1a, 0x1a, 0x12, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0x40, 0xfc, 0x40, 0xf8,
-+ 0x48, 0x48, 0x70, 0x40, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x03, 0x3c, 0x24, 0x24, 0x24, 0x3f, 0x24, 0x24,
-+ 0x22, 0x3a, 0x61, 0x00, 0x7e, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0xe0, 0x50, 0x48,
-+ 0x44, 0xc4, 0xe4, 0xd8, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x0a, 0x7f, 0x0c, 0x3f, 0x2f, 0x33, 0x3f,
-+ 0x3f, 0x04, 0x7f, 0x0a, 0x11, 0x20, 0x00, 0x00,
-+ 0x00, 0x78, 0xc8, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0xe4, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x07, 0x24, 0x27, 0x27, 0x24, 0x27, 0x3e,
-+ 0x02, 0x7e, 0x12, 0x12, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xc0, 0x48, 0xc8, 0xc8, 0x48, 0xc8, 0xf8,
-+ 0x80, 0xfc, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x02, 0x02,
-+ 0x12, 0x12, 0x24, 0x24, 0x48, 0x50, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x88, 0x80, 0x98,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7d, 0x10, 0x13, 0x12, 0x1f,
-+ 0x72, 0x12, 0x12, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xe8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x10, 0x17, 0x11, 0x1f,
-+ 0x76, 0x13, 0x13, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x20, 0xf8,
-+ 0x40, 0xf0, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x22, 0x14, 0x7f, 0x49, 0x7f,
-+ 0x49, 0x5d, 0x55, 0x5d, 0x41, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x7c, 0x90, 0x90, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x42, 0x21, 0x27, 0x04, 0x17,
-+ 0x14, 0x15, 0x25, 0x25, 0x45, 0x44, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xe8, 0x28, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x7c, 0x45, 0x45, 0x46, 0x7c,
-+ 0x44, 0x44, 0x44, 0x7c, 0x40, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0x88, 0x48,
-+ 0x48, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x41, 0x1f, 0x11,
-+ 0x11, 0x1f, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x20, 0x17, 0x10, 0x03, 0x02, 0x73, 0x12,
-+ 0x12, 0x12, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x25, 0x24, 0x7b, 0x12, 0x7f,
-+ 0x12, 0x56, 0x3a, 0x32, 0x1e, 0x62, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xe8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x40, 0x27, 0x24, 0x07, 0x10,
-+ 0x14, 0x13, 0x22, 0x24, 0x40, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x40, 0xf8, 0x88,
-+ 0xc8, 0xb8, 0xa8, 0xc8, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x0e, 0x78, 0x09, 0x1a,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x10, 0x10,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x11, 0x11, 0x2f, 0x4b, 0x0a, 0x1f, 0x10, 0x37,
-+ 0x54, 0x17, 0x14, 0x17, 0x14, 0x15, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x20, 0xfc, 0xc8, 0x48, 0xa8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7b, 0x12, 0x1f, 0x10, 0x1f,
-+ 0x74, 0x17, 0x14, 0x17, 0x14, 0x35, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x20, 0xfc, 0xc8, 0x48, 0xa8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x11, 0x11, 0x7f, 0x11, 0x7e, 0x57, 0x7c, 0x57,
-+ 0x7e, 0x13, 0x7e, 0x13, 0x12, 0x12, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x20, 0xbc, 0xc8, 0x68, 0xa8,
-+ 0xa8, 0x90, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x00, 0x22, 0x12, 0x13, 0x04, 0x08, 0x7f, 0x10,
-+ 0x10, 0x11, 0x12, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xc0,
-+ 0xa0, 0x10, 0x08, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x1f, 0x12, 0x12, 0x1f, 0x12,
-+ 0x12, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf0, 0x90, 0x90, 0xf0, 0x90,
-+ 0x90, 0xfc, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x10, 0x7d, 0x11, 0x11, 0x11,
-+ 0x11, 0x1d, 0x61, 0x07, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x90, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x03,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x80,
-+ 0x80, 0x40, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x12, 0x1f, 0x12,
-+ 0x1f, 0x12, 0x12, 0x22, 0x23, 0x5c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x48, 0x40, 0xf8, 0x40,
-+ 0xfc, 0x48, 0x50, 0x20, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x17, 0x14, 0x24, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0x80, 0xfc, 0x80, 0x80,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x47, 0x20, 0x21, 0x02, 0x14,
-+ 0x12, 0x12, 0x24, 0x28, 0x40, 0x41, 0x00, 0x00,
-+ 0x38, 0xc0, 0x40, 0xfc, 0xa0, 0x10, 0x88, 0x84,
-+ 0xd0, 0xa8, 0xa4, 0xa4, 0x80, 0x80, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x2a, 0x1a, 0x26, 0x7e,
-+ 0x13, 0x3a, 0x37, 0x36, 0x52, 0x15, 0x00, 0x00,
-+ 0x20, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xf8,
-+ 0xfc, 0xb4, 0x2c, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0x88, 0xfc, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x22, 0x3e, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x3c, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x50, 0x48, 0x78, 0xc4, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x08, 0x3e, 0x22, 0x3e, 0x3e,
-+ 0x22, 0x3e, 0x7f, 0x0c, 0x12, 0x63, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x0f, 0x08, 0x08, 0x08,
-+ 0x0f, 0x08, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xe0, 0x20, 0x20, 0x20,
-+ 0xe0, 0x20, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x10, 0x10, 0x37, 0x50, 0x10,
-+ 0x10, 0x11, 0x11, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80,
-+ 0xa0, 0x10, 0x08, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x3f, 0x2a, 0x2a, 0x3f,
-+ 0x2a, 0x3f, 0x2c, 0x4a, 0x52, 0x23, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x94, 0x8c, 0xf8,
-+ 0x48, 0x50, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x20, 0x1f, 0x18, 0x08, 0x4f, 0x2a, 0x2a, 0x0f,
-+ 0x1a, 0x1a, 0x2f, 0x2b, 0x54, 0x48, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xac, 0xc4, 0xfc,
-+ 0xa8, 0xa8, 0xd0, 0x30, 0xc8, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x21, 0x21, 0x3f, 0x21,
-+ 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08,
-+ 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x01, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x13, 0x03, 0x05, 0x09, 0x11, 0x60, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x40, 0x20, 0x24, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x4b, 0x48, 0x48, 0x48,
-+ 0x48, 0x78, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x7c, 0x17, 0x10, 0x11,
-+ 0x17, 0x1d, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x60, 0xfc, 0x40, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x30, 0x08, 0x61, 0x17, 0x00, 0x0f, 0x11, 0x26,
-+ 0x21, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xa0, 0x10, 0xfc, 0x40, 0xfc, 0x50, 0x48,
-+ 0xc0, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x25, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x40, 0x40, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x10, 0x1f,
-+ 0x11, 0x17, 0x19, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0xf0, 0xa0, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x23, 0x48, 0x08, 0x17, 0x10, 0x32,
-+ 0x52, 0x12, 0x12, 0x15, 0x18, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x0c, 0x02, 0x00, 0x18, 0x04, 0x00, 0x00,
-+ 0x07, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c,
-+ 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x19, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x44, 0x27, 0x24, 0x04, 0x14,
-+ 0x17, 0x15, 0x24, 0x28, 0x49, 0x56, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0xfc, 0x90, 0xf0, 0x00,
-+ 0xf8, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x0e, 0x02, 0x24, 0x14, 0x08, 0x1f, 0x20, 0x4f,
-+ 0x08, 0x0f, 0x04, 0x04, 0x3f, 0x00, 0x00, 0x00,
-+ 0x90, 0x90, 0x64, 0x44, 0x28, 0xf0, 0x08, 0xe4,
-+ 0x20, 0xe0, 0x40, 0x80, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x07, 0x18, 0x7f, 0x11,
-+ 0x11, 0x1f, 0x13, 0x05, 0x19, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xe0, 0x80, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x44, 0x24, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x3c, 0x27, 0x3c, 0x24,
-+ 0x25, 0x3e, 0x18, 0x14, 0x24, 0x40, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x50, 0xfc, 0x40, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x20, 0x11, 0x11, 0x02, 0x0f, 0x70, 0x1f,
-+ 0x12, 0x12, 0x14, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0xf8, 0x84, 0xf8,
-+ 0xa0, 0x90, 0x88, 0x88, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x09, 0x0a, 0x7f, 0x08, 0x1f,
-+ 0x31, 0x5f, 0x11, 0x11, 0x1f, 0x11, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0xe0, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x23, 0x7d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x1a, 0x0e, 0x75, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0xfc, 0x50, 0x70, 0x00,
-+ 0xf8, 0x48, 0x50, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x11, 0x21, 0x3d, 0x65,
-+ 0x25, 0x25, 0x27, 0x3c, 0x25, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x10, 0xd0, 0x14, 0x0c, 0xfc, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x25, 0x3e, 0x22, 0x24, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x20, 0x20, 0x38,
-+ 0x28, 0x28, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x12, 0x12, 0x3c, 0x06, 0x19,
-+ 0x61, 0x3f, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x48, 0x50, 0x20, 0xd0, 0x0c,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x13, 0x10,
-+ 0x17, 0x12, 0x11, 0x20, 0x23, 0x5c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0xfc, 0x20, 0xe0, 0x00,
-+ 0xf0, 0x20, 0x40, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x11, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x48, 0x50, 0x50,
-+ 0x20, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x12, 0x12, 0x3c, 0x04, 0x1b,
-+ 0x61, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x0f, 0x09, 0x11, 0x12, 0x3f, 0x51, 0x11,
-+ 0x17, 0x11, 0x11, 0x11, 0x1e, 0x10, 0x00, 0x00,
-+ 0x08, 0xe8, 0x28, 0xa8, 0x68, 0xe8, 0x28, 0x28,
-+ 0xe8, 0x28, 0x28, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x08,
-+ 0x0f, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0x20,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x01, 0x03, 0x0c, 0x32, 0x01, 0x03, 0x0c,
-+ 0x73, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x20, 0x40, 0x80, 0x40, 0x30,
-+ 0x0c, 0x80, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x27, 0x10, 0x13, 0x02, 0x0b, 0x0a,
-+ 0x13, 0x10, 0x21, 0x22, 0x2c, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x10, 0x1f, 0x10, 0x17,
-+ 0x10, 0x17, 0x24, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0x90, 0xf0,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x11, 0x17, 0x11, 0x7d, 0x10, 0x11, 0x17,
-+ 0x14, 0x1b, 0x62, 0x02, 0x03, 0x02, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x50, 0xa0, 0x10, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x13, 0x7e, 0x13, 0x12, 0x13,
-+ 0x12, 0x1f, 0x65, 0x05, 0x09, 0x11, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x1f, 0x64, 0x07, 0x04,
-+ 0x07, 0x04, 0x7f, 0x02, 0x04, 0x3f, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0xf0, 0x0c, 0xc0, 0x00,
-+ 0xc0, 0x00, 0xfc, 0x80, 0x60, 0x90, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x7f, 0x04, 0x04,
-+ 0x0f, 0x0c, 0x14, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x22, 0x22, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x00, 0xfc, 0x24, 0x24, 0xe4, 0x38, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x7d, 0x47, 0x42, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x18, 0x37, 0x36, 0x33, 0x52,
-+ 0x13, 0x10, 0x1f, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x12, 0x14, 0x1f,
-+ 0x71, 0x11, 0x10, 0x10, 0x13, 0x3c, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0xf0,
-+ 0x10, 0x20, 0xc0, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7d, 0x11, 0x10, 0x1b, 0x15,
-+ 0x30, 0x53, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x50, 0xa0, 0x18, 0xf4,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x1f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7e, 0x11, 0x39, 0x34, 0x35,
-+ 0x56, 0x50, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0xa4, 0xa4, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x11, 0x10, 0x3f, 0x34,
-+ 0x37, 0x51, 0x52, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x90,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x13, 0x12, 0x3b, 0x36,
-+ 0x37, 0x50, 0x51, 0x16, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x21, 0x11, 0x02, 0x0a, 0x14, 0x21, 0x22,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x50, 0xa0, 0x10, 0x0c,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x43, 0x23, 0x25, 0x0a, 0x17,
-+ 0x10, 0x12, 0x22, 0x23, 0x42, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xe8, 0x88, 0xf8,
-+ 0x88, 0xa8, 0xa8, 0xe8, 0x28, 0x30, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x00, 0x1f,
-+ 0x12, 0x23, 0x24, 0x49, 0x42, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x23, 0x20, 0x07, 0x08,
-+ 0x0f, 0x11, 0x12, 0x24, 0x28, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x90,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x0a, 0x2a, 0x2c, 0x28, 0x48,
-+ 0x08, 0x0c, 0x12, 0x12, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x11, 0x10, 0x16, 0x15, 0x39, 0x32, 0x35, 0x51,
-+ 0x11, 0x19, 0x14, 0x24, 0x27, 0x40, 0x00, 0x00,
-+ 0xc8, 0x48, 0xb0, 0xa4, 0xf8, 0x08, 0xf4, 0x10,
-+ 0xf0, 0x10, 0x90, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x11, 0x09, 0x09, 0x01, 0x3f, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2f, 0x28, 0x0b, 0x1a,
-+ 0x2a, 0x4b, 0x12, 0x11, 0x21, 0x4f, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x20, 0x20, 0x40, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x05, 0x08, 0x0b, 0x14,
-+ 0x37, 0x51, 0x12, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x90,
-+ 0xfc, 0x90, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x1f, 0x01, 0x3f,
-+ 0x00, 0x7f, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x42, 0x04, 0x1f,
-+ 0x60, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x90, 0x80, 0x40, 0xf0,
-+ 0x0c, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x5f, 0x10, 0x17,
-+ 0x10, 0x13, 0x12, 0x12, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x08, 0xe8,
-+ 0x08, 0xc8, 0x48, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x10, 0x57, 0x36, 0x3b, 0x12, 0x7f, 0x12, 0x1b,
-+ 0x36, 0x37, 0x53, 0x15, 0x15, 0x19, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x40, 0x50, 0x98, 0xe4, 0x50,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x0c, 0x12, 0x7d, 0x09, 0x08,
-+ 0x7f, 0x08, 0x08, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x08, 0xc8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 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, 0x7f, 0x04, 0x0f, 0x7f, 0x0f, 0x09, 0x0f,
-+ 0x09, 0x0f, 0x3f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x80, 0xfc, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x11, 0x09, 0x49, 0x21, 0x21,
-+ 0x0f, 0x09, 0x13, 0x1c, 0x23, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0xfc, 0x00, 0xf8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x39, 0x28, 0x2b, 0x38, 0x2f,
-+ 0x29, 0x3b, 0x2c, 0x2b, 0x28, 0x58, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x50, 0xe0, 0xf8, 0xa0, 0xfc,
-+ 0x50, 0x58, 0xe4, 0x50, 0x48, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3c, 0x01, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90,
-+ 0x90, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x02, 0x3d, 0x27, 0x24, 0x3f, 0x25, 0x26, 0x27,
-+ 0x3c, 0x24, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x48, 0x50, 0xf8, 0xa0, 0xfc, 0x10, 0xf8, 0xfc,
-+ 0xf0, 0xf0, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10,
-+ 0x08, 0x04, 0x04, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x20, 0x20, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x22, 0x3e, 0x29, 0x08, 0x2e,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x20, 0x24, 0xf8, 0x70, 0xa8, 0x24, 0x60, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x20, 0x14, 0x12, 0x02, 0x00, 0x71, 0x12,
-+ 0x1d, 0x11, 0x12, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0x28, 0x24, 0x24, 0x1c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x23, 0x10, 0x17, 0x00, 0x01, 0x77, 0x10,
-+ 0x10, 0x11, 0x12, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0xe0, 0x40, 0xfc, 0xe0, 0x50, 0xec, 0xa0,
-+ 0xb8, 0x28, 0x08, 0x30, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5d, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0xe8, 0x68, 0x74, 0x94, 0xf8, 0x08, 0xfc, 0x88,
-+ 0xf8, 0x90, 0x50, 0x60, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x79, 0x49, 0x53, 0x65, 0x59, 0x4a, 0x4f,
-+ 0x48, 0x4a, 0x72, 0x43, 0x42, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xe8, 0x88, 0xf8,
-+ 0x88, 0xa8, 0xa8, 0xe8, 0x28, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22,
-+ 0x12, 0x14, 0x08, 0x0e, 0x71, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x02, 0x39, 0x2b, 0x28, 0x2f, 0x39, 0x2b, 0x2d,
-+ 0x39, 0x29, 0x29, 0x2b, 0x2a, 0x5c, 0x00, 0x00,
-+ 0x48, 0x50, 0xf8, 0xa0, 0xfc, 0xf0, 0x48, 0xf4,
-+ 0xf0, 0x40, 0xfc, 0x54, 0xac, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x3f,
-+ 0x2f, 0x2a, 0x2e, 0x2a, 0x27, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x28, 0x28,
-+ 0xf8, 0xa8, 0xa8, 0x28, 0x28, 0x78, 0x00, 0x00,
-+ 0x11, 0x1e, 0x12, 0x3f, 0x2f, 0x6a, 0x2f, 0x2a,
-+ 0x2f, 0x22, 0x2f, 0x22, 0x23, 0x2c, 0x00, 0x00,
-+ 0xa0, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0x28, 0xa8, 0x28, 0xc8, 0x98, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x7f, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x3e, 0x08, 0x0f, 0x72, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x40, 0x40, 0x5f, 0x40, 0x4f, 0x48,
-+ 0x48, 0x48, 0x4f, 0x48, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xe8, 0x08, 0xc8, 0x48,
-+ 0x48, 0x48, 0xc8, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x08, 0x0f,
-+ 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x21, 0x1f, 0x10, 0x03, 0x72, 0x13, 0x13, 0x1a,
-+ 0x67, 0x03, 0x7f, 0x04, 0x02, 0x00, 0x00, 0x00,
-+ 0x20, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0xf0, 0x10,
-+ 0xf0, 0xf8, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x17, 0x3b, 0x36, 0x37, 0x52,
-+ 0x13, 0x10, 0x13, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7f, 0x13, 0x12, 0x13, 0x16,
-+ 0x1b, 0x70, 0x13, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x0c, 0x44, 0x27, 0x24, 0x05, 0x15,
-+ 0x15, 0x15, 0x25, 0x24, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xe8, 0x28,
-+ 0x28, 0xe8, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7b, 0x49, 0x4f, 0x7b, 0x4a, 0x4b, 0x7a,
-+ 0x4b, 0x48, 0x7b, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x1f, 0x04, 0x7f, 0x0f, 0x09, 0x0f, 0x09,
-+ 0x0f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x40, 0xfc, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x25, 0x3d,
-+ 0x25, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0x04, 0xfc, 0x04, 0x74, 0x54,
-+ 0x54, 0x54, 0x74, 0x44, 0x04, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x0c, 0x08, 0x1f, 0x24, 0x4f,
-+ 0x12, 0x3f, 0x12, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0xc8,
-+ 0x08, 0xe8, 0x48, 0x48, 0xc8, 0x30, 0x00, 0x00,
-+ 0x02, 0x21, 0x1f, 0x10, 0x03, 0x02, 0x73, 0x12,
-+ 0x13, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xe8, 0xa8,
-+ 0xa8, 0xa8, 0xe8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x10, 0x54, 0x57, 0x54, 0x57,
-+ 0x54, 0x54, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0xfc,
-+ 0x60, 0x50, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x20, 0x26, 0x39, 0x21, 0x23, 0x1f, 0x11, 0x11,
-+ 0x7f, 0x11, 0x11, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x2f, 0x22, 0x21, 0x3f, 0x22,
-+ 0x27, 0x2a, 0x33, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xf0, 0x40, 0x00, 0xf8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x21, 0x49, 0x09, 0x11, 0x10, 0x37,
-+ 0x50, 0x17, 0x11, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x10, 0xfc, 0x10, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x27, 0x48, 0x0b, 0x12, 0x12, 0x33,
-+ 0x53, 0x10, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x08, 0xd0, 0x28, 0x04, 0x14, 0xf0, 0x00, 0x00,
-+ 0x20, 0x10, 0x17, 0x40, 0x23, 0x20, 0x03, 0x12,
-+ 0x14, 0x10, 0x20, 0x21, 0x42, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xfc, 0x08,
-+ 0xa0, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x2b, 0x28, 0x3c, 0x2b, 0x28, 0x48,
-+ 0x0f, 0x79, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x7f, 0x2a, 0x29, 0x5f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x50, 0x20, 0xd0, 0xec, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x61,
-+ 0x04, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x29, 0x24, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x80, 0xf0, 0x80,
-+ 0xf0, 0x80, 0xfc, 0x24, 0x94, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x0f,
-+ 0x09, 0x7f, 0x09, 0x1f, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xe0,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xc0, 0x00, 0x00,
-+ 0x04, 0x44, 0x28, 0x13, 0x32, 0x4a, 0x0a, 0x1b,
-+ 0x2a, 0x48, 0x08, 0x08, 0x37, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xf8,
-+ 0x48, 0x50, 0x48, 0x78, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x01, 0x3c, 0x01, 0x3d,
-+ 0x02, 0x3c, 0x24, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xfc, 0x08,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x2a, 0x4a, 0x0c, 0x09, 0x0a, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0xfc, 0x40, 0x40, 0x78,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x11, 0x16, 0x7f, 0x12, 0x13, 0x38, 0x35,
-+ 0x36, 0x51, 0x56, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x80, 0xf0, 0x40, 0xf8, 0x48, 0xf8, 0x80, 0xe8,
-+ 0x68, 0xb0, 0x68, 0xa4, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x3c, 0x24,
-+ 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x78, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x08, 0x11, 0x01,
-+ 0x7f, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x80, 0x88, 0x78, 0x00,
-+ 0xfc, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x12, 0x3a, 0x37,
-+ 0x36, 0x52, 0x53, 0x16, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0xb8, 0x28, 0x28, 0xac, 0x4c, 0x04, 0xf8,
-+ 0x28, 0xa8, 0x10, 0x30, 0x48, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x1f, 0x18,
-+ 0x18, 0x1f, 0x28, 0x28, 0x4f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x80, 0xf8, 0x88,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x04, 0x1f, 0x1f, 0x10, 0x1f,
-+ 0x1f, 0x10, 0x1f, 0x15, 0x25, 0x40, 0x00, 0x00,
-+ 0x10, 0xfc, 0x80, 0x40, 0xe4, 0xdc, 0x44, 0xc0,
-+ 0xf0, 0x00, 0xf8, 0x48, 0x28, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x01, 0x01,
-+ 0x01, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xf8, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x5f, 0x01, 0x1f, 0x11,
-+ 0x1f, 0x11, 0x1f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf0, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x3f, 0x24, 0x24, 0x24,
-+ 0x28, 0x30, 0x3f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88, 0x98, 0x98,
-+ 0x78, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x24, 0x1f, 0x14, 0x4f, 0x24, 0x3f, 0x00, 0x1f,
-+ 0x19, 0x2f, 0x29, 0x4f, 0x49, 0x4b, 0x00, 0x00,
-+ 0x20, 0x20, 0x78, 0x90, 0x20, 0xf8, 0x28, 0xfc,
-+ 0x28, 0xf8, 0x28, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x02, 0x02, 0x73, 0x5e, 0x52, 0x5a, 0x5a, 0x5a,
-+ 0x7f, 0x5a, 0x4a, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x7c, 0x90, 0x20, 0xf8, 0xc8, 0xf8, 0xc8,
-+ 0xf8, 0xc8, 0x78, 0xb0, 0xa8, 0xc4, 0x00, 0x00,
-+ 0x02, 0x02, 0x03, 0x7e, 0x22, 0x22, 0x22, 0x22,
-+ 0x3f, 0x22, 0x22, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x30, 0xc0, 0x00, 0x20, 0x20, 0x20, 0x20,
-+ 0xe0, 0x20, 0x20, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x19, 0x35, 0x35, 0x30, 0x53,
-+ 0x10, 0x10, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf0,
-+ 0x20, 0x40, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x00, 0x3e, 0x22, 0x3f, 0x00,
-+ 0x3e, 0x04, 0x0e, 0x78, 0x09, 0x1e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x22, 0x02, 0x0a,
-+ 0x0b, 0x0a, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc0, 0x48, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x27, 0x3c, 0x24, 0x27,
-+ 0x3c, 0x24, 0x27, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x88, 0x48, 0x70, 0xa0, 0x30,
-+ 0x70, 0xa8, 0x24, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x13, 0x02, 0x02, 0x72, 0x12,
-+ 0x12, 0x14, 0x14, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x0f, 0x78, 0x08, 0x2a, 0x2a, 0x2a,
-+ 0x2a, 0x3e, 0x28, 0x0a, 0x0a, 0x07, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x01, 0x7f, 0x02, 0x04, 0x18,
-+ 0x6f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30,
-+ 0xec, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x0f, 0x08, 0x0f, 0x0f, 0x3f, 0x01, 0x3f, 0x2d,
-+ 0x4d, 0x1f, 0x00, 0x7f, 0x04, 0x3f, 0x00, 0x00,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0xf8, 0x00, 0xfc, 0x68,
-+ 0x60, 0xf0, 0x00, 0xfc, 0x60, 0x90, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x3c, 0xe0, 0x28, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x02, 0x04, 0x18, 0x67, 0x00,
-+ 0x3f, 0x01, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x80, 0x40, 0x30, 0xcc, 0x00,
-+ 0xf8, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x09, 0x09, 0x3f, 0x09, 0x09, 0x3f,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x21, 0x21, 0x22, 0x22,
-+ 0x24, 0x28, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x88, 0x48,
-+ 0x28, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x0f, 0x09, 0x11, 0x21, 0x41,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x11, 0x11, 0x15, 0x15, 0x15,
-+ 0x15, 0x15, 0x15, 0x3f, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xd0, 0x10,
-+ 0x10, 0x10, 0x14, 0xec, 0x0c, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x14, 0x10, 0x3e, 0x28, 0x49,
-+ 0x7e, 0x08, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x48, 0x90, 0xfc, 0x90,
-+ 0xf8, 0x90, 0xf8, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x3a, 0x01, 0x7d, 0x00, 0x38, 0x07, 0x39,
-+ 0x01, 0x39, 0x29, 0x2b, 0x3c, 0x28, 0x00, 0x00,
-+ 0x20, 0x28, 0xa8, 0x70, 0x20, 0xfc, 0x70, 0x70,
-+ 0xa8, 0xa4, 0x20, 0x20, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x25, 0x15, 0x1f, 0x45, 0x2f, 0x2a, 0x0f, 0x12,
-+ 0x1f, 0x22, 0x2f, 0x43, 0x44, 0x58, 0x00, 0x00,
-+ 0x28, 0x28, 0xb0, 0x7c, 0xd0, 0xd0, 0xfc, 0x50,
-+ 0xd0, 0x7c, 0xd0, 0x50, 0xfc, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x11, 0x13, 0x1c,
-+ 0x77, 0x11, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xa0, 0x10, 0xf8, 0x04,
-+ 0xf8, 0x40, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xb8, 0xa8, 0xa8, 0xfc, 0x04,
-+ 0x74, 0x54, 0x54, 0x74, 0x04, 0x0c, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x7f, 0x14, 0x13, 0x3a, 0x36,
-+ 0x36, 0x53, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8,
-+ 0xb8, 0x18, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x45, 0x1a, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x2a, 0x1b, 0x24, 0x7f,
-+ 0x12, 0x3b, 0x36, 0x37, 0x52, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xfc, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x03, 0x7c, 0x56, 0x55, 0x55, 0x7e, 0x57,
-+ 0x54, 0x56, 0x7d, 0x45, 0x42, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0xa8, 0x10, 0xb0, 0x48, 0xf8,
-+ 0xa8, 0xa8, 0x10, 0x90, 0x68, 0x44, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x01, 0x3f, 0x24, 0x22,
-+ 0x2f, 0x21, 0x2f, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x48, 0x88,
-+ 0xe8, 0x08, 0xe8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x13, 0x13, 0x3a, 0x37,
-+ 0x36, 0x53, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x28, 0xc8, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x48, 0x48, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x3e, 0x2b, 0x3e, 0x08,
-+ 0x3e, 0x08, 0x7f, 0x14, 0x22, 0x40, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x27, 0x21, 0x01, 0x09,
-+ 0x0b, 0x0a, 0x10, 0x10, 0x21, 0x26, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x10, 0x10, 0x10,
-+ 0x90, 0x60, 0x20, 0x50, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x12, 0x12, 0x12,
-+ 0x13, 0x12, 0x12, 0x22, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x38,
-+ 0xc0, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x1f,
-+ 0x00, 0x00, 0x01, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0xfc, 0x40, 0x40, 0x20,
-+ 0x20, 0x20, 0x90, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x01, 0x21, 0x11, 0x13, 0x02, 0x04, 0x79, 0x11,
-+ 0x12, 0x14, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x40, 0x40, 0x50, 0x48,
-+ 0x44, 0x44, 0x40, 0xc0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x10, 0x28, 0x49, 0x0e,
-+ 0x08, 0x08, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x88, 0x08,
-+ 0x08, 0x48, 0x48, 0xc8, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x3d, 0x25,
-+ 0x25, 0x3d, 0x19, 0x15, 0x22, 0x45, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x78, 0x00, 0xfc, 0x60,
-+ 0x64, 0x58, 0x50, 0x50, 0x68, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x21, 0x21, 0x22, 0x25, 0x29,
-+ 0x21, 0x22, 0x24, 0x28, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x88, 0x48, 0x28, 0x28,
-+ 0x88, 0x48, 0x28, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2a, 0x2a, 0x2a,
-+ 0x3e, 0x2c, 0x0a, 0x0f, 0x19, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x03, 0x7c, 0x11, 0x49, 0x2a, 0x24, 0x3f, 0x02,
-+ 0x04, 0x07, 0x7c, 0x04, 0x04, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02,
-+ 0x04, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-+ 0x40, 0x40, 0x20, 0x10, 0x08, 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,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x11, 0x12, 0x24, 0x38, 0x40, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x80, 0x88, 0xc8,
-+ 0xb0, 0xa0, 0x90, 0x88, 0x84, 0x80, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x04, 0x3c, 0x04,
-+ 0x3c, 0x04, 0x3c, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x40, 0x78, 0x40,
-+ 0x78, 0x40, 0x78, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x10, 0x10, 0x30, 0x57, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x13, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x08, 0x7e, 0x12, 0x12, 0x13,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x11, 0x20, 0x00, 0x00,
-+ 0x00, 0x1c, 0xe0, 0x20, 0x20, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x0d, 0x03, 0x02, 0x0c, 0x30,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x90, 0x10, 0x60,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7f, 0x00, 0x3c, 0x01, 0x3c,
-+ 0x00, 0x3d, 0x25, 0x26, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xc8, 0x68, 0x88, 0x30, 0x40,
-+ 0xa0, 0xa8, 0x84, 0x94, 0x90, 0x70, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x47, 0x27, 0x23, 0x00, 0x0f,
-+ 0x08, 0x13, 0x12, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x58, 0x58, 0x40, 0xfc,
-+ 0x80, 0xf8, 0xa8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7e, 0x07, 0x0a, 0x0b, 0x1a,
-+ 0x37, 0x56, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0x4c, 0xf8, 0xd8, 0xf8, 0xd8,
-+ 0x68, 0xd8, 0xf8, 0xd8, 0x68, 0x58, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0a, 0x10, 0x18,
-+ 0x34, 0x55, 0x11, 0x12, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x20, 0x20, 0xb0, 0xa8,
-+ 0xa8, 0x24, 0x24, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x3f, 0x23, 0x54, 0x14, 0x23, 0x1f, 0x12,
-+ 0x1f, 0x00, 0x7f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xa0, 0x50, 0xc8, 0xf0, 0x90,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x0f, 0x12, 0x2f, 0x44, 0x09,
-+ 0x13, 0x00, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xc8, 0xe8, 0x08,
-+ 0x30, 0x80, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x09, 0x49, 0x37, 0x11, 0x31, 0x48, 0x0b, 0x1a,
-+ 0x2a, 0x4b, 0x0a, 0x0a, 0x33, 0x12, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x10, 0x00, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x08, 0x7f, 0x15, 0x2b, 0x7e,
-+ 0x08, 0x0f, 0x70, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0x50, 0xd0, 0x50, 0x74,
-+ 0x94, 0x0c, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x20, 0x4f, 0x08, 0x08,
-+ 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x80, 0x80, 0xf0, 0x80, 0x80,
-+ 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x1f, 0x60, 0x0f, 0x00,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xe0, 0x40,
-+ 0x80, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x13, 0x1c,
-+ 0x70, 0x11, 0x15, 0x15, 0x19, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xf8, 0x10,
-+ 0xa0, 0x50, 0x48, 0x14, 0x14, 0xf0, 0x00, 0x00,
-+ 0x12, 0x12, 0x13, 0x7a, 0x16, 0x15, 0x1d, 0x13,
-+ 0x1a, 0x74, 0x18, 0x15, 0x14, 0x38, 0x00, 0x00,
-+ 0x30, 0x28, 0xa8, 0xa0, 0xfc, 0xa0, 0x30, 0x50,
-+ 0x48, 0x84, 0x00, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x11, 0x11, 0x15, 0x15, 0x3b, 0x32, 0x36, 0x59,
-+ 0x12, 0x14, 0x18, 0x25, 0x24, 0x48, 0x00, 0x00,
-+ 0x20, 0x28, 0xe4, 0x64, 0x7c, 0xa0, 0xa0, 0x50,
-+ 0x50, 0x88, 0x04, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7e, 0x08, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x78, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x08, 0x13, 0x12, 0x3a, 0x0a,
-+ 0x4b, 0x2a, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xb8,
-+ 0x38, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x11, 0x1a, 0x14, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x20, 0x20, 0x40,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x49, 0x09,
-+ 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x70, 0x70, 0xa8, 0x24, 0x20,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x09, 0x0f, 0x3f, 0x2a, 0x7f,
-+ 0x0f, 0x7f, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0xfc, 0xa8, 0xf8,
-+ 0xe0, 0xfc, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x19, 0x34, 0x34, 0x33, 0x52,
-+ 0x12, 0x12, 0x12, 0x13, 0x13, 0x12, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0x20, 0x40, 0x20, 0x28, 0xa8,
-+ 0x48, 0x48, 0xa8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x07, 0x05,
-+ 0x14, 0x17, 0x25, 0x25, 0x49, 0x56, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xfc, 0xf0,
-+ 0x00, 0xfc, 0x48, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x67, 0x1a, 0x1a, 0x26, 0x7e,
-+ 0x12, 0x1b, 0x36, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xa8,
-+ 0x98, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0c, 0x12, 0x7d, 0x01, 0x3e, 0x22,
-+ 0x3e, 0x22, 0x3e, 0x22, 0x22, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0x4c, 0x70, 0x44, 0x44, 0x3c, 0x40,
-+ 0x4c, 0x70, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x25, 0x3c, 0x25, 0x25, 0x3d,
-+ 0x25, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x88, 0x48, 0x48, 0x10, 0x20, 0x18, 0x98, 0x68,
-+ 0x28, 0x58, 0x98, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3b, 0x2a, 0x2b, 0x3a, 0x2b, 0x2b, 0x3a,
-+ 0x2a, 0x2b, 0x2a, 0x2a, 0x2c, 0x5b, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xfc, 0xf8,
-+ 0x00, 0xfc, 0xc8, 0xb0, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x02, 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x1f, 0x17,
-+ 0x10, 0x1f, 0x12, 0x12, 0x23, 0x5c, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0xf8, 0xf0,
-+ 0x00, 0xfc, 0x90, 0x60, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x02, 0x7e, 0x02, 0x3a, 0x2a, 0x2a,
-+ 0x2a, 0x3a, 0x2a, 0x02, 0x02, 0x0d, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x12, 0x09, 0x07, 0x19, 0x6f,
-+ 0x09, 0x09, 0x0f, 0x01, 0x01, 0x7e, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0x80, 0xc0, 0x30, 0xec,
-+ 0x20, 0x20, 0xe0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x21, 0x21, 0x3f, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x12, 0x13, 0x1e,
-+ 0x72, 0x12, 0x12, 0x12, 0x12, 0x31, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x17, 0x10, 0x11, 0x1a,
-+ 0x77, 0x12, 0x13, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x10, 0xe8, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x48,
-+ 0xfc, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x1f, 0x12, 0x1f, 0x14, 0x7f, 0x1c,
-+ 0x3e, 0x2a, 0x3e, 0x7f, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x90, 0xf0, 0x00, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x22, 0x22, 0x03, 0x13,
-+ 0x12, 0x12, 0x24, 0x24, 0x49, 0x56, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x50, 0x40, 0xf8, 0x08,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x22, 0x22, 0x02, 0x12,
-+ 0x12, 0x12, 0x24, 0x24, 0x48, 0x50, 0x00, 0x00,
-+ 0x20, 0xc0, 0x08, 0x30, 0xc0, 0xc8, 0xc8, 0xb0,
-+ 0xa0, 0x90, 0x90, 0x88, 0x84, 0x80, 0x00, 0x00,
-+ 0x00, 0x3e, 0x08, 0x3e, 0x08, 0x0e, 0x70, 0x1f,
-+ 0x11, 0x1f, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x11, 0x11, 0x21, 0x3d, 0x65,
-+ 0x25, 0x25, 0x26, 0x3e, 0x25, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x28, 0x30, 0x20, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x30, 0x0b, 0x62, 0x0b, 0x12, 0x24, 0x27, 0x09,
-+ 0x7f, 0x02, 0x07, 0x08, 0x03, 0x3c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xf8, 0x90, 0x60, 0x9c, 0x00,
-+ 0xfc, 0x20, 0x40, 0xe0, 0x10, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x29, 0x24, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0xf8, 0x80, 0xf0, 0x80,
-+ 0xf0, 0x80, 0xfc, 0x24, 0x94, 0x38, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x1f, 0x11, 0x11,
-+ 0x1f, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x00, 0x09, 0x24, 0x24, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x04, 0x24, 0x94, 0x04, 0x04, 0x38, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x30, 0x57, 0x10,
-+ 0x10, 0x17, 0x10, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xbc, 0xa0, 0xa0, 0xbc, 0xa0,
-+ 0xa0, 0xbc, 0xa0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x13, 0x18, 0x15, 0x12, 0x1f,
-+ 0x11, 0x1f, 0x21, 0x22, 0x44, 0x18, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0x90, 0xd4, 0x24, 0x18, 0xf8,
-+ 0x44, 0xf8, 0x40, 0x40, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x13, 0x10, 0x10, 0x13,
-+ 0x18, 0x70, 0x17, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x17, 0x18,
-+ 0x70, 0x17, 0x10, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xbc, 0xa0, 0xa0, 0xbc, 0xa0,
-+ 0xa0, 0xbc, 0xa0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3f, 0x22,
-+ 0x22, 0x3e, 0x14, 0x12, 0x22, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x29, 0x4a, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x70, 0x68, 0xa8,
-+ 0xa4, 0x24, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x03, 0x0d, 0x71, 0x01, 0x1f,
-+ 0x12, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xc0, 0x30, 0x08, 0x04, 0xf0,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x28, 0x28, 0x2b, 0x2a, 0x3f, 0x22, 0x23, 0x3a,
-+ 0x28, 0x29, 0x2f, 0x28, 0x28, 0x48, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xa8,
-+ 0xa0, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7c, 0x04, 0x1c, 0x64, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x88, 0xf0, 0x80, 0x84, 0x7c, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x25, 0x3d,
-+ 0x25, 0x25, 0x25, 0x25, 0x24, 0x4c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xfc, 0x24,
-+ 0x24, 0x24, 0x24, 0x2c, 0x20, 0x20, 0x00, 0x00,
-+ 0x02, 0x7e, 0x02, 0x3e, 0x7f, 0x05, 0x7f, 0x0f,
-+ 0x09, 0x0f, 0x09, 0x0f, 0x7f, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0x40, 0x78, 0x7c, 0x40, 0xfc, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x78, 0x48, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x12, 0x11, 0x31, 0x5f, 0x10,
-+ 0x13, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x10, 0x20, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x11, 0x7c, 0x10, 0x17, 0x10,
-+ 0x11, 0x1d, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x90, 0xa0, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x10, 0x7c, 0x24, 0x24, 0x24,
-+ 0x7f, 0x48, 0x0d, 0x16, 0x24, 0x40, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x0a, 0x18, 0x1c, 0x1b,
-+ 0x2a, 0x28, 0x49, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0xa8, 0xa8, 0xfc,
-+ 0xa8, 0xa8, 0xfc, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x7e, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2b, 0x28, 0x49, 0x0e, 0x08, 0x08, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x0a, 0x2c, 0x28, 0x28, 0x48,
-+ 0x0b, 0x08, 0x14, 0x13, 0x26, 0x40, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x40,
-+ 0xfc, 0xe0, 0xd0, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x04, 0x45, 0x29, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x19, 0x29, 0x48, 0x08, 0x09, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x08,
-+ 0x08, 0xf8, 0x90, 0x88, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x00, 0x3f, 0x20,
-+ 0x44, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x08,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x22, 0x3e, 0x22, 0x3f, 0x22,
-+ 0x22, 0x3e, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x48, 0x50, 0xfc, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x29, 0x28, 0x30, 0x2b, 0x24,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x90, 0xa0, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x21, 0x10, 0x17, 0x00, 0x01, 0x70, 0x11,
-+ 0x10, 0x11, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xf0,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x20, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xf8, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x02, 0x0d, 0x38, 0x09, 0x08, 0x7e, 0x08, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x28, 0xa8, 0xb0, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x3e, 0x29, 0x49, 0x09, 0x7f,
-+ 0x09, 0x0c, 0x12, 0x12, 0x20, 0x41, 0x00, 0x00,
-+ 0x08, 0xc8, 0x48, 0x48, 0xc8, 0x08, 0x08, 0xc8,
-+ 0x48, 0x48, 0x48, 0x48, 0x48, 0x88, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x06, 0x38, 0x08, 0x7e,
-+ 0x1c, 0x1b, 0x2a, 0x48, 0x08, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x20, 0x24, 0xa4, 0xa8,
-+ 0xb0, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x13, 0x32, 0x52, 0x12,
-+ 0x13, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3e, 0x02, 0x3e, 0x02, 0x7f, 0x04, 0x25,
-+ 0x15, 0x16, 0x1d, 0x64, 0x04, 0x0c, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x13, 0x7e, 0x13, 0x12, 0x13,
-+ 0x10, 0x17, 0x11, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x10, 0xfc, 0x10, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x11, 0x11, 0x11, 0x1d,
-+ 0x71, 0x11, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x43, 0x22, 0x22, 0x02, 0x13,
-+ 0x12, 0x12, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x1f, 0x10, 0x10, 0x10, 0x1f,
-+ 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x43, 0x10, 0x09, 0x41,
-+ 0x29, 0x09, 0x11, 0x11, 0x21, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x30, 0x40, 0xf8, 0x08,
-+ 0x08, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1a, 0x16, 0x16, 0x7f,
-+ 0x12, 0x1a, 0x1a, 0x2a, 0x22, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x10, 0x0f, 0x4b, 0x22, 0x23,
-+ 0x12, 0x13, 0x2f, 0x21, 0x40, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0x50, 0x48, 0xfc, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x00, 0x20, 0x11, 0x13, 0x02, 0x02, 0x73, 0x12,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x79, 0x49, 0x49, 0x49, 0x78, 0x4b, 0x48,
-+ 0x4f, 0x49, 0x7b, 0x4c, 0x43, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0xf0, 0xa0, 0xf8, 0xa0,
-+ 0xfc, 0x50, 0x58, 0xe4, 0x58, 0xc0, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x23, 0x22, 0x03, 0x12,
-+ 0x13, 0x10, 0x2f, 0x20, 0x43, 0x4c, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x80, 0xfc, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x15, 0x35, 0x38, 0x33, 0x50,
-+ 0x17, 0x19, 0x17, 0x24, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0xf0, 0xa0, 0xf8, 0xa0,
-+ 0xfc, 0x50, 0x58, 0xe4, 0x58, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x64, 0x2b, 0x1a, 0x27, 0x7e,
-+ 0x13, 0x38, 0x37, 0x35, 0x50, 0x10, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3f,
-+ 0x0a, 0x3e, 0x3a, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x08, 0x08, 0xd0, 0x30, 0x28, 0x44, 0x88, 0x48,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x01,
-+ 0x03, 0x0e, 0x31, 0x01, 0x06, 0x78, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00,
-+ 0xf0, 0x20, 0x40, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x42, 0x47, 0x51, 0x49, 0x4b,
-+ 0x45, 0x59, 0x43, 0x40, 0x7f, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0x08, 0x28, 0x28, 0xc8, 0x48,
-+ 0x28, 0x28, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x28, 0x45, 0x08, 0x08, 0x7f,
-+ 0x08, 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x00, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x12, 0x10, 0x3c, 0x24, 0x65,
-+ 0x27, 0x25, 0x3d, 0x21, 0x21, 0x01, 0x00, 0x00,
-+ 0xa0, 0x90, 0x08, 0x48, 0x40, 0xa0, 0xa0, 0x10,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x1f, 0x01, 0x7f, 0x03,
-+ 0x0f, 0x74, 0x07, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x20, 0xfc, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x3e, 0x23, 0x3e, 0x21, 0x4f, 0x7f,
-+ 0x01, 0x0f, 0x3f, 0x01, 0x7f, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x30, 0xcc, 0xe0, 0xfc,
-+ 0x20, 0xe0, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x5f, 0x01, 0x7f,
-+ 0x01, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x18, 0xe0, 0x00, 0xfc,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1a, 0x36, 0x36,
-+ 0x32, 0x54, 0x55, 0x19, 0x11, 0x17, 0x00, 0x00,
-+ 0x70, 0xfc, 0x58, 0xe8, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x00, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x57, 0x54, 0x55, 0x57,
-+ 0x55, 0x5d, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0xf8,
-+ 0x54, 0xf0, 0x50, 0x50, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x24, 0x3c,
-+ 0x24, 0x24, 0x24, 0x25, 0x25, 0x4e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0x90, 0x90, 0x94, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0a, 0x2a, 0x2c, 0x28, 0x48,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x00,
-+ 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x07, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x08,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20,
-+ 0x20, 0x20, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x70, 0x70, 0xa8,
-+ 0xa8, 0x24, 0xf8, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x23, 0x10, 0x15, 0x43, 0x22, 0x27, 0x09, 0x01,
-+ 0x1f, 0x11, 0x21, 0x22, 0x44, 0x58, 0x00, 0x00,
-+ 0x90, 0x90, 0x64, 0x28, 0x10, 0xf8, 0x24, 0x20,
-+ 0xfc, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x1e, 0x02, 0x24, 0x14, 0x08, 0x1f, 0x22, 0x42,
-+ 0x3f, 0x02, 0x04, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x90, 0x90, 0x64, 0x44, 0x28, 0xf0, 0x48, 0x44,
-+ 0xf8, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x21, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x68, 0x28, 0xd4, 0x54, 0x88, 0xfc, 0x50, 0x50,
-+ 0xfc, 0x50, 0x50, 0x94, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x01,
-+ 0x7f, 0x02, 0x07, 0x1a, 0x61, 0x1e, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x00,
-+ 0xfc, 0x00, 0xf0, 0x20, 0xc0, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x08, 0x1f, 0x28, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0x7c, 0xc8, 0x48, 0x50,
-+ 0x30, 0x20, 0x64, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x00, 0x1e, 0x7f, 0x00,
-+ 0x1e, 0x1e, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x10, 0x1c,
-+ 0x70, 0x11, 0x11, 0x12, 0x14, 0x3b, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0xf8, 0x88,
-+ 0xc8, 0x50, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x14, 0x23, 0x44, 0x04, 0x0b,
-+ 0x18, 0x28, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x50, 0x48, 0xfc,
-+ 0x48, 0x30, 0x20, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x25, 0x25,
-+ 0x29, 0x3f, 0x28, 0x2b, 0x28, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x48, 0x28,
-+ 0xe8, 0x48, 0xa8, 0x68, 0x28, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x15, 0x15, 0x15, 0x17,
-+ 0x17, 0x13, 0x21, 0x22, 0x42, 0x04, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x54, 0x52, 0x53, 0x5f, 0x52,
-+ 0x5f, 0x77, 0x56, 0x4a, 0x12, 0x02, 0x00, 0x00,
-+ 0x04, 0x08, 0xf0, 0xa0, 0xa0, 0x3c, 0xe8, 0x28,
-+ 0xe8, 0x28, 0xa8, 0xc8, 0x48, 0x88, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x10, 0x7d, 0x11, 0x11, 0x10,
-+ 0x17, 0x1c, 0x65, 0x05, 0x05, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x08, 0xe8, 0x28, 0xe8, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x00, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x18, 0x2f, 0x48, 0x0f, 0x08,
-+ 0x0f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x80, 0xf0, 0x80, 0xf0, 0x80,
-+ 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x0a, 0x09, 0x11, 0x10, 0x33, 0x50, 0x10,
-+ 0x17, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x50, 0x40, 0xf8, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x49, 0x29, 0x2a, 0x08, 0x7f, 0x08, 0x08,
-+ 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x11, 0x09, 0x09, 0x3f, 0x01, 0x01,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x10, 0x10, 0x20, 0xf8, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x12, 0x12, 0x12,
-+ 0x11, 0x11, 0x10, 0x21, 0x26, 0x58, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x20,
-+ 0x20, 0x40, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0a, 0x4a, 0x2c, 0x28, 0x7e, 0x08, 0x08,
-+ 0x0f, 0x79, 0x11, 0x12, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88, 0x88, 0xc8,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x5d, 0x51, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x90, 0x50, 0x50,
-+ 0x50, 0x10, 0x10, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x12, 0x12, 0x17, 0x7c, 0x16, 0x15, 0x15, 0x1f,
-+ 0x74, 0x16, 0x16, 0x1a, 0x18, 0x31, 0x00, 0x00,
-+ 0x00, 0x38, 0xa8, 0xa8, 0xac, 0xac, 0xc4, 0xf8,
-+ 0xa8, 0xa8, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x01, 0x7d, 0x11, 0x17, 0x10, 0x14, 0x7a, 0x13,
-+ 0x11, 0x11, 0x1e, 0x62, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0x7c, 0x10, 0xd0, 0x90, 0x90, 0xfc, 0x10,
-+ 0x10, 0x10, 0x90, 0x90, 0x7c, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x0a, 0x0a, 0x0d, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x21, 0x21, 0x01, 0x09,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x30,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x21, 0x21, 0x01, 0x09,
-+ 0x09, 0x09, 0x11, 0x12, 0x22, 0x24, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x90, 0x50, 0x50,
-+ 0x10, 0x10, 0x10, 0x14, 0x14, 0x0c, 0x00, 0x00,
-+ 0x28, 0x29, 0x29, 0x29, 0x3f, 0x21, 0x21, 0x3d,
-+ 0x25, 0x25, 0x26, 0x26, 0x45, 0x46, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x45, 0x29, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x09, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x30,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7c, 0x12, 0x12, 0x12, 0x12, 0x7e, 0x12,
-+ 0x12, 0x10, 0x1d, 0x61, 0x02, 0x04, 0x00, 0x00,
-+ 0x80, 0xfc, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x02, 0x7d, 0x55, 0x54, 0x57, 0x7c, 0x54,
-+ 0x57, 0x54, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x50, 0x40, 0xf8, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x3f, 0x5f, 0x15, 0x7f, 0x15, 0x3f, 0x23,
-+ 0x0c, 0x03, 0x3f, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x40, 0xc0, 0x7c, 0xc8, 0x48, 0x30, 0xd8, 0x44,
-+ 0xc0, 0x30, 0xc8, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1a, 0x16, 0x17, 0x7f,
-+ 0x12, 0x1a, 0x1a, 0x2a, 0x22, 0x47, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x94, 0x0c, 0xf8,
-+ 0x88, 0x50, 0x50, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x10, 0x0b, 0x49, 0x27, 0x20,
-+ 0x0b, 0x0d, 0x11, 0x11, 0x21, 0x21, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x38, 0xc8, 0x50, 0xfc, 0xe0,
-+ 0xf8, 0x54, 0xf0, 0x50, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x22, 0x3e, 0x19, 0x15, 0x22, 0x47, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xc8, 0xc8, 0xc8,
-+ 0xa8, 0xb0, 0x10, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x4d, 0x7f, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x2a, 0x3e, 0x08, 0x7f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0xf8, 0x88, 0x88, 0x88,
-+ 0x88, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x01, 0x3f, 0x11, 0x09, 0x09, 0x7f, 0x01,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x30, 0xc0, 0x10, 0x10, 0x20, 0x40, 0xfc, 0x00,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x0a, 0x2b, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x12, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x1c, 0x05, 0x14, 0x14, 0x12, 0x22, 0x3f, 0x52,
-+ 0x12, 0x12, 0x12, 0x22, 0x2d, 0x42, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x2a, 0x48, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x27, 0x39, 0x63, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xc8, 0xc8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x17, 0x12, 0x12, 0x1f,
-+ 0x72, 0x10, 0x10, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x68, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x4a, 0x4f, 0x4a, 0x7a, 0x4b,
-+ 0x4a, 0x48, 0x79, 0x49, 0x42, 0x04, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xa8, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x11, 0x09, 0x7f, 0x03, 0x05, 0x19,
-+ 0x7f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x30, 0xd0, 0x10, 0x20, 0xfc, 0x80, 0x40, 0x30,
-+ 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x3e, 0x32, 0x2a, 0x7f, 0x2a, 0x2a, 0x47,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x8c, 0xf8, 0x50, 0x70, 0x8c,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x3e, 0x32, 0x2a, 0x7f, 0x2a, 0x2a, 0x47,
-+ 0x3f, 0x02, 0x0f, 0x74, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x8c, 0xf8, 0x50, 0x30, 0xcc,
-+ 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x09, 0x7f, 0x05, 0x19,
-+ 0x6f, 0x09, 0x0f, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xd0, 0x20, 0xfc, 0x40, 0x30,
-+ 0xec, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x12, 0x12, 0x24, 0x49, 0x0f,
-+ 0x09, 0x09, 0x0f, 0x09, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x50, 0x48, 0x44, 0xc4, 0xe0,
-+ 0x20, 0x20, 0xe0, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x2f, 0x21, 0x2f, 0x21,
-+ 0x2f, 0x22, 0x22, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x78, 0x40, 0x78, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x04, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x04, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x03, 0x05, 0x19, 0x61, 0x01,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xc0, 0x30, 0x08, 0x04, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x88, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x14, 0x14, 0x14, 0x17,
-+ 0x14, 0x14, 0x14, 0x25, 0x26, 0x58, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x40, 0x40, 0x44, 0xc8,
-+ 0x70, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x23, 0x4a, 0x0a, 0x12, 0x13, 0x32,
-+ 0x52, 0x12, 0x12, 0x14, 0x15, 0x1e, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x50, 0x40, 0xf8, 0x88,
-+ 0x90, 0x50, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x02, 0x02, 0x3e, 0x02, 0x3e, 0x02, 0x7e, 0x04,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x80, 0xf8, 0x80, 0xfc, 0x80,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x21, 0x3e, 0x42, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x40, 0x78,
-+ 0x40, 0x78, 0x40, 0x7c, 0x40, 0x40, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7e, 0x12, 0x13, 0x12, 0x1e,
-+ 0x72, 0x12, 0x12, 0x12, 0x13, 0x3c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0xe4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x12, 0x12, 0x13, 0x1e,
-+ 0x72, 0x12, 0x12, 0x14, 0x15, 0x3e, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x50, 0x40, 0xf8, 0x88,
-+ 0x90, 0x50, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x02, 0x3e, 0x02, 0x3e, 0x02, 0x7c, 0x05, 0x09,
-+ 0x7f, 0x04, 0x02, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0x7c, 0x40, 0x7c, 0x40, 0x7c, 0x40, 0x00,
-+ 0xfc, 0x40, 0x80, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x10,
-+ 0x10, 0x10, 0x11, 0x16, 0x18, 0x60, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x88, 0x88, 0x90, 0xa0, 0xc0,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x20, 0x22, 0x02, 0x12,
-+ 0x14, 0x14, 0x28, 0x21, 0x42, 0x44, 0x00, 0x00,
-+ 0x40, 0x28, 0x28, 0x88, 0x90, 0x90, 0xb0, 0xa8,
-+ 0xc4, 0xc4, 0x80, 0x88, 0x88, 0x78, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0a, 0x1b,
-+ 0x2b, 0x4a, 0x12, 0x14, 0x25, 0x4e, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0xfc, 0x48, 0x50, 0xf0,
-+ 0x10, 0xa0, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x12,
-+ 0x11, 0x11, 0x10, 0x20, 0x23, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x88, 0x90, 0x80, 0xf0, 0x10,
-+ 0x20, 0x20, 0xc0, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7c, 0x10, 0x13, 0x12, 0x13, 0x3e, 0x27,
-+ 0x64, 0x25, 0x27, 0x3c, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0xa0, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x18, 0x70, 0x10, 0x10, 0x7e, 0x12, 0x1a,
-+ 0x36, 0x34, 0x50, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x20, 0x28, 0x88, 0x88, 0x90, 0x90, 0xb0,
-+ 0xa8, 0xc4, 0x84, 0x88, 0x88, 0x78, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x67, 0x18, 0x10, 0x2b, 0x7c,
-+ 0x18, 0x37, 0x35, 0x31, 0x52, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xbc, 0xa0, 0xa0, 0xbc, 0xa0,
-+ 0xa0, 0xbc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x08, 0x12, 0x7f, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x40, 0x58, 0x60, 0x44,
-+ 0x3c, 0x40, 0x58, 0x60, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x12, 0x12, 0x15, 0x1e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x28, 0x30, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3c, 0x27, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0xdc, 0x50, 0x50, 0xdc, 0x50,
-+ 0x50, 0xdc, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x02, 0x3f, 0x02, 0x3f, 0x3f, 0x44, 0x1f, 0x68,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x80, 0xf8, 0x88, 0xf8, 0xfc, 0x84, 0xf8, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x27, 0x14, 0x14, 0x07, 0x04, 0x77, 0x1c,
-+ 0x14, 0x14, 0x17, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x90, 0xfc, 0xc8, 0xa8, 0x30, 0xfc, 0x90,
-+ 0x90, 0xfc, 0x90, 0x10, 0x10, 0xfc, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x3e, 0x02, 0x02, 0x3e, 0x02,
-+ 0x02, 0x7e, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x7c, 0x40,
-+ 0x40, 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x1f, 0x02, 0x0e, 0x32, 0x12, 0x12, 0x7f,
-+ 0x12, 0x12, 0x22, 0x22, 0x42, 0x02, 0x00, 0x00,
-+ 0x00, 0xc8, 0x70, 0x50, 0x48, 0x28, 0x18, 0xc8,
-+ 0x50, 0x70, 0x28, 0x24, 0x14, 0x0c, 0x00, 0x00,
-+ 0x10, 0x15, 0x12, 0x7e, 0x10, 0x10, 0x3e, 0x36,
-+ 0x36, 0x52, 0x52, 0x12, 0x15, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0xa8, 0xa8, 0x98, 0x80, 0x7c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x12, 0x7f, 0x12, 0x1e,
-+ 0x12, 0x1e, 0x12, 0x7f, 0x15, 0x63, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x10, 0x20, 0xfc, 0xa8, 0xb0,
-+ 0xf8, 0xc8, 0xa8, 0x90, 0x68, 0x84, 0x00, 0x00,
-+ 0x09, 0x09, 0x0f, 0x11, 0x17, 0x34, 0x57, 0x16,
-+ 0x17, 0x16, 0x17, 0x1a, 0x12, 0x12, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8, 0x48,
-+ 0xf8, 0x48, 0xf8, 0x48, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x17, 0x10,
-+ 0x17, 0x10, 0x1f, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x68, 0x80, 0xf0,
-+ 0x80, 0xfc, 0x80, 0x80, 0x84, 0x7c, 0x00, 0x00,
-+ 0x12, 0x1a, 0x2a, 0x4a, 0x1f, 0x18, 0x20, 0x7f,
-+ 0x26, 0x26, 0x2a, 0x2b, 0x32, 0x20, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xfc, 0x48, 0xc8, 0xe8,
-+ 0x28, 0x30, 0x90, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x1f, 0x10,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x80,
-+ 0x98, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x08, 0x3e, 0x08, 0x0e, 0x70, 0x10,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1e, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x80, 0x80,
-+ 0x98, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x10, 0x17, 0x14,
-+ 0x17, 0x14, 0x27, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 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,
-+ 0x01, 0x0f, 0x08, 0x0f, 0x0f, 0x0f, 0x1f, 0x11,
-+ 0x1f, 0x1f, 0x04, 0x7f, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xe0, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x1d, 0x1a, 0x1a,
-+ 0x28, 0x29, 0x48, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x90, 0x50, 0x20, 0x50,
-+ 0xc8, 0x24, 0x00, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x04, 0x18, 0x73, 0x12, 0x13, 0x7e, 0x13, 0x18,
-+ 0x35, 0x37, 0x50, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xa8,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x22, 0x22, 0x22, 0x24,
-+ 0x24, 0x28, 0x30, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x48,
-+ 0x48, 0x38, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x09, 0x09, 0x09, 0x09,
-+ 0x09, 0x09, 0x15, 0x13, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x10, 0x20, 0x00, 0x00, 0xf0,
-+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x04,
-+ 0x14, 0x17, 0x14, 0x14, 0x17, 0x78, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x80,
-+ 0x98, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x04, 0x02, 0x1f, 0x10, 0x10,
-+ 0x17, 0x10, 0x13, 0x20, 0x20, 0x47, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x40, 0xfc, 0x20, 0xc0,
-+ 0x10, 0x60, 0x84, 0x18, 0x60, 0x80, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x3d, 0x26, 0x24, 0x3f,
-+ 0x26, 0x25, 0x24, 0x27, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0xa0, 0x58,
-+ 0x4c, 0x50, 0xe0, 0x58, 0x44, 0xc0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x01, 0x7f, 0x04, 0x1a,
-+ 0x63, 0x06, 0x19, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x00, 0xfc, 0x88, 0x78,
-+ 0xe0, 0x40, 0x80, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x27, 0x3c, 0x25, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90,
-+ 0x90, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x78, 0x0f, 0x09, 0x39, 0x23, 0x22, 0x3a,
-+ 0x2b, 0x0a, 0x0a, 0x0b, 0x0a, 0x30, 0x00, 0x00,
-+ 0x00, 0x78, 0xc8, 0x08, 0x38, 0xa0, 0xa0, 0xb8,
-+ 0xa8, 0x88, 0x88, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x02, 0x01, 0x00, 0x04, 0x04, 0x04, 0x24, 0x24,
-+ 0x24, 0x45, 0x46, 0x04, 0x1c, 0x63, 0x00, 0x00,
-+ 0x00, 0x10, 0x90, 0x90, 0x20, 0x20, 0x50, 0x48,
-+ 0x84, 0x04, 0x00, 0x10, 0x10, 0xf0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x09, 0x7f,
-+ 0x09, 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x20, 0xfc,
-+ 0x20, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x25, 0x5f, 0x01, 0x7f, 0x01, 0x1f,
-+ 0x01, 0x1f, 0x01, 0x3f, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x20, 0xf0, 0x10, 0xfc, 0x10, 0xf0,
-+ 0x00, 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x27, 0x10, 0x11, 0x01, 0x01, 0x70, 0x13,
-+ 0x12, 0x13, 0x12, 0x13, 0x2c, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x11, 0x1b, 0x34, 0x34,
-+ 0x37, 0x50, 0x50, 0x11, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xfc, 0xa0, 0x90, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x25,
-+ 0x79, 0x49, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x11, 0x7f, 0x24, 0x27, 0x24,
-+ 0x74, 0x48, 0x09, 0x16, 0x24, 0x43, 0x00, 0x00,
-+ 0x1c, 0xe4, 0x48, 0x30, 0xfc, 0x40, 0xfc, 0x40,
-+ 0xf8, 0xc8, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xfc, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x02, 0x1f, 0x10, 0x10, 0x10,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x7b, 0x02, 0x3c, 0x01, 0x38,
-+ 0x03, 0x3d, 0x28, 0x29, 0x38, 0x2b, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0xb8, 0xa8, 0xc8, 0x98, 0xc0,
-+ 0x30, 0xcc, 0x20, 0xc8, 0x30, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x13, 0x30, 0x57, 0x10,
-+ 0x11, 0x13, 0x15, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xc0,
-+ 0x48, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x07, 0x04, 0x3f, 0x29, 0x2e, 0x38, 0x27,
-+ 0x2a, 0x2a, 0x2a, 0x2a, 0x32, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xa8, 0x48, 0x10, 0x94, 0x24,
-+ 0x08, 0x08, 0x10, 0x20, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x1b, 0x34, 0x35,
-+ 0x30, 0x57, 0x51, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x00, 0xf0,
-+ 0x00, 0xfc, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x01, 0x11, 0x09, 0x09, 0x01, 0x7d, 0x05, 0x09,
-+ 0x09, 0x11, 0x21, 0x41, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x88, 0x90, 0x60, 0x40, 0x20,
-+ 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x23, 0x00, 0x13,
-+ 0x10, 0x17, 0x21, 0x22, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x00, 0xf8,
-+ 0x00, 0xfc, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x19, 0x7f, 0x5b, 0x7f, 0x01, 0x3d,
-+ 0x01, 0x7f, 0x19, 0x36, 0x53, 0x34, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x70, 0x50, 0x78, 0xd8, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1f, 0x12, 0x1f, 0x00, 0x1f,
-+ 0x00, 0x7f, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x90, 0xf0, 0x00, 0xf0,
-+ 0x00, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x03,
-+ 0x04, 0x1c, 0x64, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x10,
-+ 0x90, 0xa0, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7f, 0x00, 0x3c, 0x00, 0x3f,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x28, 0xa8, 0xb0, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x18, 0x66, 0x14, 0x19, 0x6a, 0x0c, 0x14,
-+ 0x64, 0x0c, 0x14, 0x64, 0x04, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0x88, 0x48,
-+ 0x48, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x24, 0x2f, 0x29, 0x2f,
-+ 0x29, 0x2f, 0x24, 0x3f, 0x44, 0x45, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0x48, 0x48, 0x78, 0x48,
-+ 0x48, 0x78, 0x48, 0xc8, 0x88, 0x18, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7d, 0x11, 0x10, 0x1b, 0x12,
-+ 0x32, 0x53, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x10, 0x00, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x28, 0x0b, 0x1a,
-+ 0x6a, 0x0a, 0x13, 0x12, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x40, 0xf8, 0x48,
-+ 0x68, 0x98, 0x18, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x08, 0x08, 0x7e, 0x08, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa4, 0xa4, 0x28,
-+ 0x68, 0x30, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x1f, 0x11, 0x11,
-+ 0x1f, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x7c, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0x90, 0x00, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x18, 0x0e, 0x71, 0x00, 0x00,
-+ 0x08, 0xf0, 0x80, 0x80, 0xfc, 0x90, 0x90, 0x90,
-+ 0xfc, 0x00, 0x50, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3e, 0x00, 0x7f, 0x08,
-+ 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xfc, 0x20,
-+ 0xb0, 0xa8, 0xa4, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0e, 0x73, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x50, 0x88, 0xfc, 0x24, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0xf8, 0x28, 0xfc, 0x68, 0x70, 0xc4, 0x3c,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00,
-+ 0x7c, 0x44, 0x44, 0x44, 0x7c, 0x44, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x11, 0x19, 0x37, 0x37,
-+ 0x33, 0x55, 0x55, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xe0, 0x08, 0x08, 0x90, 0x50,
-+ 0x64, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x08, 0x08, 0x4a, 0x2a,
-+ 0x12, 0x12, 0x1a, 0x2a, 0x27, 0x40, 0x00, 0x00,
-+ 0x20, 0xe8, 0x24, 0xfc, 0xa0, 0xa0, 0xa0, 0xe0,
-+ 0x90, 0x90, 0xb4, 0xcc, 0x0c, 0x04, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x02, 0x12,
-+ 0x1f, 0x20, 0x22, 0x42, 0x44, 0x48, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0xf8, 0x20, 0x20, 0x20,
-+ 0xfc, 0x00, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x22, 0x12, 0x1a, 0x4b, 0x2a, 0x3f, 0x03, 0x16,
-+ 0x16, 0x2f, 0x29, 0x42, 0x44, 0x49, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0xa0, 0x78, 0xc8, 0x78, 0xc8,
-+ 0xf8, 0x48, 0x78, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x01, 0x04, 0x1f, 0x62, 0x0c, 0x3f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x80, 0x40, 0xf0, 0x4c, 0xc0, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x5f, 0x09, 0x33, 0x7f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x30, 0xc8, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x2e, 0x28, 0x28, 0x7f, 0x0c, 0x2a,
-+ 0x29, 0x49, 0x1a, 0x04, 0x18, 0x63, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x3f, 0x40, 0x3e, 0x2a, 0x2b,
-+ 0x7f, 0x2a, 0x2a, 0x7f, 0x43, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x7c, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x22, 0x13, 0x14, 0x7f, 0x14, 0x14, 0x14, 0x7f,
-+ 0x14, 0x14, 0x14, 0x24, 0x27, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf0, 0x90, 0xd0, 0xb0,
-+ 0xb0, 0x90, 0x94, 0xec, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x00, 0x01, 0x03, 0x05, 0x19,
-+ 0x61, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0x00, 0x80, 0x60, 0x10,
-+ 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x0b, 0x18, 0x29, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90,
-+ 0x90, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12,
-+ 0x13, 0x1c, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x00, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x7f,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x11, 0x7c, 0x25, 0x24, 0x27,
-+ 0x7a, 0x4b, 0x0e, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x44, 0xf8, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x5f, 0x07, 0x04, 0x07, 0x00,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0xc0, 0x40, 0xc0, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x5f, 0x0f, 0x08, 0x0f, 0x00,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x7f, 0x04, 0x04, 0x0f, 0x08,
-+ 0x18, 0x28, 0x48, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xb0, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x11, 0x11, 0x12, 0x13, 0x16,
-+ 0x1a, 0x12, 0x12, 0x22, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0x10, 0x10, 0xfc, 0x10,
-+ 0x90, 0x50, 0x50, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x17, 0x38, 0x35, 0x35, 0x53,
-+ 0x15, 0x19, 0x11, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xa0, 0x20, 0xfc, 0x24,
-+ 0x24, 0x24, 0x24, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x10, 0x1f,
-+ 0x70, 0x10, 0x10, 0x11, 0x16, 0x38, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x0a, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2b, 0x3e,
-+ 0x08, 0x7f, 0x1e, 0x12, 0x23, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x0c, 0x32, 0x03, 0x0c, 0x70, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x60, 0x30, 0x48, 0x80, 0x60, 0xdc, 0x00, 0x00,
-+ 0xf8, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x22, 0x12, 0x12, 0x7f, 0x00,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x90, 0x90, 0xa0, 0xfc, 0x00,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x44, 0x22, 0x22, 0x03, 0x10,
-+ 0x10, 0x17, 0x20, 0x20, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x70, 0x88, 0x48, 0x50, 0x00, 0xf8, 0x30,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x04, 0x04, 0x08, 0x10, 0x24, 0x04, 0x04, 0x02,
-+ 0x02, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x08, 0x48, 0x40, 0x40, 0x80,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x08, 0x08, 0x17,
-+ 0x11, 0x30, 0x50, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x10, 0x10, 0xfc,
-+ 0x10, 0x90, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x13, 0x16, 0x1a, 0x12, 0x12,
-+ 0x2f, 0x29, 0x4a, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0x90, 0x50, 0x50, 0xb0,
-+ 0xf8, 0xc8, 0xa8, 0x48, 0x28, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x17, 0x11, 0x17, 0x17, 0x14,
-+ 0x17, 0x13, 0x22, 0x23, 0x43, 0x02, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0x28, 0xe0, 0xf8, 0xf8, 0x88,
-+ 0xf8, 0xf0, 0x10, 0xf0, 0xf0, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x1f, 0x01,
-+ 0x7f, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xf0, 0x00,
-+ 0xfc, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3c, 0x03, 0x7e, 0x01, 0x3d, 0x03, 0x3c,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x21, 0x00, 0x00,
-+ 0x08, 0x90, 0xfc, 0xa8, 0xa8, 0xb0, 0xfc, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x02, 0x07, 0x18, 0x61, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x24, 0x3f, 0x24, 0x3d, 0x25,
-+ 0x25, 0x3d, 0x19, 0x15, 0x27, 0x40, 0x00, 0x00,
-+ 0x10, 0xf8, 0x14, 0x14, 0xfc, 0x50, 0x50, 0x70,
-+ 0x50, 0x50, 0x74, 0xcc, 0x0c, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x04, 0x7f, 0x04, 0x14,
-+ 0x17, 0x14, 0x14, 0x2c, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0x20, 0x20, 0xf0, 0x28, 0x24,
-+ 0xa4, 0x20, 0x20, 0x20, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x29, 0x33, 0x2b, 0x25,
-+ 0x25, 0x25, 0x25, 0x39, 0x21, 0x21, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0x08, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x12, 0x13, 0x35, 0x51, 0x1f,
-+ 0x12, 0x12, 0x17, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x50, 0x50, 0xfc,
-+ 0x50, 0x50, 0xfc, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x16, 0x12, 0x17, 0x1a,
-+ 0x72, 0x17, 0x10, 0x15, 0x14, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0xa8, 0xa8, 0xfc, 0xa8,
-+ 0xa8, 0xfc, 0x00, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x7f, 0x04, 0x04, 0x17,
-+ 0x14, 0x14, 0x14, 0x17, 0x78, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0xfc, 0x40, 0x40, 0xc0,
-+ 0x40, 0x20, 0x24, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x2a, 0x7f, 0x0a, 0x3f, 0x08,
-+ 0x0f, 0x12, 0x6a, 0x0d, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xa0, 0xfc, 0xa0, 0xf8, 0x20,
-+ 0xf8, 0xa0, 0xa0, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x14, 0x1f, 0x12, 0x3f, 0x22, 0x5f,
-+ 0x12, 0x1f, 0x12, 0x1f, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xe8, 0x28, 0xc8,
-+ 0x48, 0xc8, 0x48, 0xc8, 0x48, 0xf0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x10, 0x1f, 0x2a, 0x4a, 0x7f,
-+ 0x0a, 0x0a, 0x7f, 0x14, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf8, 0xa0, 0xa0, 0xfc,
-+ 0xa0, 0xa0, 0xfc, 0x90, 0x48, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x22, 0x12, 0x14, 0x7f, 0x00,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x09, 0x08, 0x7f, 0x08, 0x08,
-+ 0x3e, 0x08, 0x08, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x37, 0x37,
-+ 0x33, 0x53, 0x52, 0x14, 0x17, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x38, 0xc8, 0x48, 0xf8, 0x58, 0x58,
-+ 0xf8, 0x6c, 0x5c, 0x7c, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x11, 0x17, 0x15, 0x15,
-+ 0x17, 0x15, 0x11, 0x21, 0x2e, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0xd0, 0x10, 0x10, 0xd0, 0x50, 0x50,
-+ 0xd0, 0x10, 0x54, 0xec, 0x2c, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x7f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0xfc, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x3c, 0xe0, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3e, 0x22, 0x23, 0x3e,
-+ 0x08, 0x2f, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x78, 0xc8, 0x50, 0x30,
-+ 0xc8, 0xfc, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x10, 0x37, 0x50, 0x10,
-+ 0x10, 0x10, 0x10, 0x11, 0x16, 0x18, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3e, 0x22, 0x3e, 0x00, 0x7f,
-+ 0x49, 0x7f, 0x49, 0x49, 0x7f, 0x41, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x11, 0x21, 0x4b, 0x0d, 0x11, 0x11, 0x31,
-+ 0x50, 0x11, 0x16, 0x10, 0x11, 0x1e, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x80, 0xf0, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x55, 0x55, 0x54, 0x57,
-+ 0x56, 0x5f, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x30, 0x00, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 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,
-+ 0x10, 0x13, 0x10, 0x7d, 0x09, 0x09, 0x10, 0x1b,
-+ 0x36, 0x57, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x24, 0x24, 0x3c,
-+ 0x24, 0x24, 0x27, 0x24, 0x24, 0x4f, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x40, 0xf8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x11, 0x11, 0x13, 0x7d, 0x09, 0x0b, 0x13, 0x1d,
-+ 0x34, 0x51, 0x16, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x80, 0xf0, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x1f, 0x12, 0x1f, 0x11, 0x29, 0x4b,
-+ 0x15, 0x31, 0x50, 0x13, 0x10, 0x17, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x90, 0xf0, 0x00, 0xfc, 0xf0,
-+ 0xf0, 0xf0, 0xf0, 0xa0, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0a, 0x42, 0x23, 0x22, 0x03, 0x12,
-+ 0x13, 0x12, 0x22, 0x24, 0x44, 0x48, 0x00, 0x00,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xb8, 0x08, 0xf8, 0x08,
-+ 0xb8, 0xa8, 0xa8, 0xa8, 0xa8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x04, 0x3f, 0x24, 0x24,
-+ 0x3f, 0x24, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x90, 0x90, 0xf0, 0x90, 0x80,
-+ 0xf8, 0x88, 0x88, 0x88, 0xb0, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x08, 0x08, 0x0c,
-+ 0x78, 0x08, 0x09, 0x09, 0x0f, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80,
-+ 0xa0, 0x90, 0x08, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x21, 0x27, 0x05, 0x15,
-+ 0x17, 0x15, 0x21, 0x22, 0x42, 0x44, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0x28, 0xf8, 0x28, 0x20,
-+ 0xfc, 0x24, 0x24, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x30, 0x51,
-+ 0x11, 0x11, 0x12, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
-+ 0x20, 0x10, 0x08, 0x78, 0x84, 0x04, 0x00, 0x00,
-+ 0x09, 0x29, 0x29, 0x29, 0x3e, 0x2a, 0x4c, 0x09,
-+ 0x0d, 0x7a, 0x08, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0x28,
-+ 0x28, 0x48, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x48, 0x48, 0x48, 0x88, 0xfc, 0x88, 0xc8, 0xa8,
-+ 0xa8, 0x88, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x07, 0x00, 0x08, 0x08, 0x10, 0x10, 0x3f, 0x42,
-+ 0x02, 0x02, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0x20, 0x20, 0x10, 0xe8, 0x24,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4b, 0x4a, 0x4a, 0x4c, 0x49,
-+ 0x49, 0x7a, 0x4c, 0x40, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0x28,
-+ 0x48, 0x48, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x03, 0x79, 0x4f, 0x49, 0x4b, 0x4a, 0x4b,
-+ 0x4a, 0x7b, 0x4a, 0x43, 0x01, 0x0e, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0xfc, 0x10, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x13, 0x11, 0x17, 0x7d, 0x13, 0x12, 0x13,
-+ 0x16, 0x1b, 0x62, 0x03, 0x03, 0x1c, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0xfc, 0x10, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x1f, 0x35, 0x37, 0x32, 0x53,
-+ 0x12, 0x13, 0x12, 0x13, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0xfc, 0x10, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x12, 0x13, 0x1c,
-+ 0x70, 0x10, 0x11, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0x10, 0x10, 0xf8, 0x94,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x29, 0x48, 0x01,
-+ 0x09, 0x09, 0x12, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x60, 0xb0, 0x28, 0x24, 0x10,
-+ 0x10, 0xa0, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x7f, 0x06, 0x1c, 0x6f, 0x1f, 0x2f, 0x08,
-+ 0x0f, 0x1f, 0x11, 0x1f, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x60, 0x90, 0xfc, 0xe0, 0xe0, 0x80,
-+ 0xf8, 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7f, 0x09, 0x1e,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0xe0, 0x20, 0xa0, 0xa0, 0x90, 0x10, 0xf8, 0x54,
-+ 0x50, 0x50, 0x90, 0x90, 0x10, 0x60, 0x00, 0x00,
-+ 0x09, 0x3f, 0x07, 0x19, 0x6f, 0x09, 0x0f, 0x09,
-+ 0x0f, 0x3f, 0x04, 0x7f, 0x0c, 0x30, 0x00, 0x00,
-+ 0x20, 0xf8, 0xc0, 0x30, 0xfc, 0x20, 0xe0, 0x20,
-+ 0xe0, 0xf8, 0x40, 0xfc, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x13, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0xe0, 0x20, 0xa0, 0xa0, 0x90, 0x10, 0xf8, 0x54,
-+ 0x50, 0x50, 0x90, 0x90, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x07,
-+ 0x04, 0x18, 0x6f, 0x02, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0xc0,
-+ 0x40, 0x30, 0xec, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x08, 0x08, 0x04, 0x04,
-+ 0x02, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x2f, 0x24,
-+ 0x27, 0x24, 0x27, 0x24, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xe8, 0x48,
-+ 0xc8, 0x48, 0xc8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x3f, 0x21, 0x21, 0x22,
-+ 0x22, 0x24, 0x28, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x88,
-+ 0x48, 0x28, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x0a, 0x09, 0x09, 0x17, 0x11, 0x31, 0x51, 0x1f,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf8, 0x20, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08,
-+ 0x08, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0xe0, 0x00, 0x00, 0x00, 0xf8, 0x40, 0x40, 0x40,
-+ 0x40, 0xfc, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x13, 0x7e, 0x12, 0x13, 0x12,
-+ 0x16, 0x1b, 0x64, 0x04, 0x09, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0xfc, 0x8c, 0x50, 0xfc, 0x50,
-+ 0x50, 0xfc, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x49, 0x2a, 0x7f, 0x5d, 0x5b, 0x6b, 0x41,
-+ 0x1f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x30, 0x30, 0xc8, 0x04,
-+ 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x11, 0x09, 0x09, 0x01, 0x7f,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x10, 0x10, 0x20, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x2a, 0x1c, 0x7f, 0x5d, 0x5b, 0x69, 0x4b,
-+ 0x04, 0x7f, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x28, 0x30, 0xc8, 0x44,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x68,
-+ 0x98, 0x98, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x7f, 0x04, 0x04, 0x24, 0x14,
-+ 0x14, 0x14, 0x04, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xfc, 0x40, 0x40, 0x48, 0x48,
-+ 0x50, 0x60, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x4d, 0x29, 0x2a, 0x7f,
-+ 0x49, 0x5d, 0x5b, 0x6b, 0x49, 0x4b, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x7c, 0xc8, 0x48,
-+ 0x28, 0x30, 0x10, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x20,
-+ 0x2f, 0x21, 0x22, 0x24, 0x28, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x88,
-+ 0xe8, 0x88, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x01, 0x3d, 0x25, 0x29, 0x29, 0x31, 0x29, 0x27,
-+ 0x24, 0x27, 0x38, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x20, 0x24, 0x28, 0xf0, 0x20, 0x24, 0xe4, 0x5c,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x11, 0x09, 0x09, 0x01, 0x7f, 0x03, 0x03,
-+ 0x05, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x20, 0x00, 0xfc, 0x80, 0x80,
-+ 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x02, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x12, 0x33, 0x52, 0x12,
-+ 0x17, 0x16, 0x1a, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x10, 0x90, 0xfc, 0xa8, 0xa8, 0xa8, 0x7c, 0x10,
-+ 0x90, 0xfc, 0x90, 0x90, 0x90, 0x10, 0x00, 0x00,
-+ 0x00, 0x1e, 0x13, 0x1e, 0x10, 0x3f, 0x32, 0x5f,
-+ 0x12, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x20, 0xfc,
-+ 0x20, 0x20, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0a, 0x1b,
-+ 0x2a, 0x4b, 0x16, 0x16, 0x2b, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0x90, 0xfc, 0xa8, 0xb0,
-+ 0x7c, 0x90, 0xfc, 0x90, 0x90, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x3e, 0x08, 0x0f, 0x70, 0x00,
-+ 0x7f, 0x02, 0x07, 0x1c, 0x67, 0x04, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x21, 0x21, 0x3f, 0x29, 0x08,
-+ 0x0f, 0x09, 0x11, 0x11, 0x21, 0x46, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x49, 0x2a, 0x7f, 0x49, 0x5d, 0x6b, 0x4f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x7c, 0xc8, 0x30, 0xd0, 0xec, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x12, 0x1f, 0x00, 0x1f,
-+ 0x10, 0x14, 0x12, 0x22, 0x20, 0x43, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x90, 0xfc,
-+ 0x48, 0x48, 0x30, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x5f, 0x11, 0x12, 0x14,
-+ 0x10, 0x1f, 0x10, 0x13, 0x1c, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0xf0, 0x10, 0x90, 0x50,
-+ 0x88, 0x90, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x12, 0x33, 0x52, 0x13,
-+ 0x16, 0x16, 0x1b, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x12, 0x12, 0x24, 0x4a,
-+ 0x03, 0x04, 0x1a, 0x01, 0x06, 0x78, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x50, 0x48, 0xc4, 0x04,
-+ 0xe0, 0x40, 0x80, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x0f,
-+ 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0xe0,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x7f, 0x00, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x1f, 0x29, 0x2f, 0x49, 0x09, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0xfc, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0x58, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x65, 0x19, 0x19, 0x25, 0x7f,
-+ 0x11, 0x3b, 0x37, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xfc,
-+ 0x54, 0xfc, 0x54, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x00, 0x20, 0x17, 0x10, 0x00, 0x00, 0x70, 0x11,
-+ 0x11, 0x12, 0x14, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x08,
-+ 0x08, 0x08, 0x30, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x12, 0x03, 0x03, 0x72, 0x12,
-+ 0x12, 0x14, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x90, 0x60,
-+ 0x20, 0xd0, 0x08, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x27, 0x10, 0x13, 0x02, 0x03, 0x72, 0x13,
-+ 0x16, 0x17, 0x1a, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0x18, 0xfc, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x12, 0x33, 0x52, 0x13,
-+ 0x12, 0x11, 0x10, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x40, 0x80, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x2a, 0x3e,
-+ 0x2c, 0x0c, 0x15, 0x16, 0x24, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x88, 0x88, 0x08, 0x34, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x13, 0x7d, 0x25, 0x25, 0x25,
-+ 0x79, 0x48, 0x0c, 0x14, 0x21, 0x46, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x20, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x68, 0x60, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x3f, 0x04, 0x04, 0x04,
-+ 0x7f, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x40, 0x30, 0xc8, 0x40, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x28, 0x28, 0x7c, 0x29, 0x39, 0x13, 0x7d, 0x55,
-+ 0x55, 0x7d, 0x11, 0x7d, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0xfc, 0x90, 0x7c, 0x54, 0x7c, 0x54, 0x7c,
-+ 0x54, 0x50, 0x20, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x50, 0x17,
-+ 0x10, 0x11, 0x12, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x48, 0x40, 0xfc,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x17, 0x1a, 0x29, 0x7f, 0x09, 0x7f,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0x98, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x21, 0x2f, 0x29, 0x2f,
-+ 0x29, 0x2f, 0x29, 0x29, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xf8, 0x08, 0xe8, 0x28, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x68, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x13, 0x12, 0x12, 0x1f,
-+ 0x72, 0x12, 0x13, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x09, 0x7f, 0x01, 0x09,
-+ 0x09, 0x11, 0x23, 0x01, 0x06, 0x78, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x20,
-+ 0x10, 0x28, 0x48, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x20, 0x10, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x0b, 0x0a, 0x16, 0x3b,
-+ 0x56, 0x16, 0x13, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x04, 0x18, 0x77, 0x10, 0x13, 0x7e, 0x13, 0x1a,
-+ 0x37, 0x34, 0x52, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xa8, 0x84, 0x94, 0x70, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x7f, 0x05, 0x1f, 0x61, 0x06, 0x18, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0xfc, 0x40, 0xf0, 0x2c, 0x20, 0xc0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x7f, 0x19, 0x6f, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0xfc, 0x30, 0xec, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x7f, 0x0a, 0x1b, 0x6a, 0x12, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0xfc, 0x20, 0x50, 0xac, 0xa0, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x21, 0x26, 0x40, 0x00, 0x00,
-+ 0x80, 0x90, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x64, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x0f, 0x7f,
-+ 0x07, 0x1c, 0x67, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0xe0, 0xfc,
-+ 0xc0, 0x70, 0xcc, 0x40, 0xc0, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x08, 0x08, 0x7f, 0x12, 0x11,
-+ 0x11, 0x10, 0x3f, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x90, 0x90, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0xfc, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x17, 0x09, 0x49, 0x21,
-+ 0x29, 0x09, 0x17, 0x11, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x58, 0xfc, 0xf0, 0x50, 0xf0,
-+ 0x50, 0xf0, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x08, 0x04, 0x7f,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x20, 0x40, 0xfc,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x0a, 0x1f, 0x12, 0x32, 0x53, 0x12,
-+ 0x12, 0x12, 0x14, 0x14, 0x18, 0x13, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xa0, 0x7c, 0x48, 0xc8, 0xa8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x10, 0x13, 0x30, 0x57, 0x11,
-+ 0x13, 0x14, 0x13, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xf8, 0xa0, 0xfc, 0x50,
-+ 0xf8, 0x44, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x10, 0x3f, 0x40, 0x00,
-+ 0x1f, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x88, 0x88, 0x88,
-+ 0x88, 0xb0, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x11, 0x01, 0x7f,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0xfc,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x7f, 0x22, 0x12, 0x14,
-+ 0x7f, 0x08, 0x3e, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xb0, 0x80, 0xf8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x02, 0x7f, 0x09,
-+ 0x17, 0x61, 0x1f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x80, 0xfc, 0x20,
-+ 0xd0, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x40, 0x1f, 0x01, 0x01,
-+ 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0xf0, 0x00, 0x00,
-+ 0xf0, 0x00, 0x20, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x54, 0x57, 0x57, 0x54,
-+ 0x55, 0x7c, 0x47, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0xf8, 0x90, 0x60, 0xb0, 0x4c, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x1f, 0x02, 0x07, 0x3c, 0x03, 0x0d, 0x77,
-+ 0x01, 0x0f, 0x01, 0x3f, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0xf0, 0x00, 0xe0, 0x40, 0x80, 0x60, 0xdc,
-+ 0x00, 0xe0, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x00, 0x1e, 0x12, 0x1e,
-+ 0x12, 0x1e, 0x12, 0x22, 0x22, 0x47, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0x78, 0x48, 0x78,
-+ 0x48, 0x78, 0x48, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x11, 0x11, 0x12, 0x17, 0x18,
-+ 0x13, 0x12, 0x12, 0x22, 0x22, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x08, 0xc8, 0x48,
-+ 0xc8, 0x70, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7e, 0x13, 0x14, 0x10, 0x1f,
-+ 0x72, 0x12, 0x12, 0x12, 0x12, 0x31, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0xc8, 0x48, 0x48, 0xc8,
-+ 0x48, 0x30, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x11, 0x10, 0x1f, 0x11,
-+ 0x33, 0x54, 0x13, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xf0, 0xa0, 0xfc, 0x50,
-+ 0xf8, 0x44, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x0f, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x43, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x02, 0x02, 0x03, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x00, 0x1e, 0x12, 0x12, 0x12, 0x1e, 0x12, 0x12,
-+ 0x1e, 0x12, 0x12, 0x22, 0x23, 0x46, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0x78, 0x48, 0x48,
-+ 0x78, 0x48, 0x88, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x43, 0x20, 0x20, 0x07, 0x00,
-+ 0x08, 0x08, 0x10, 0x11, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x90, 0x88, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x43, 0x22, 0x27, 0x08, 0x03,
-+ 0x0a, 0x0a, 0x12, 0x12, 0x22, 0x21, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xc8, 0x48, 0xc8,
-+ 0x70, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x3f, 0x00,
-+ 0x01, 0x01, 0x03, 0x14, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0xf8, 0x60,
-+ 0x80, 0x00, 0x00, 0x90, 0x48, 0x44, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x11, 0x13, 0x20, 0x3c, 0x65,
-+ 0x25, 0x25, 0x25, 0x3d, 0x25, 0x20, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x28, 0x28, 0xe8,
-+ 0x30, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x12, 0x15, 0x65, 0x28, 0x18, 0x27, 0x7d,
-+ 0x19, 0x35, 0x35, 0x31, 0x52, 0x14, 0x00, 0x00,
-+ 0x20, 0x38, 0xc8, 0x30, 0xe8, 0x24, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0xe0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3d, 0x26, 0x24, 0x3d,
-+ 0x25, 0x25, 0x25, 0x25, 0x25, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x04, 0xe4, 0x24, 0x24, 0xe4,
-+ 0x38, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x7f, 0x01,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xfc, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x7c, 0x44, 0x44, 0x7c,
-+ 0x44, 0x44, 0x7c, 0x44, 0x41, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x88, 0x88, 0xf8, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x21, 0x1f, 0x10, 0x03, 0x7f,
-+ 0x10, 0x13, 0x10, 0x17, 0x2c, 0x43, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc0, 0xf0, 0x20, 0xe0, 0x5c, 0xf8,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x40, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0b, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x40, 0x78, 0xd0, 0x20, 0x70, 0xac, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x7f, 0x09, 0x09, 0x11, 0x77, 0x11, 0x16,
-+ 0x11, 0x03, 0x0c, 0x74, 0x07, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0xfc, 0x50, 0x4c,
-+ 0x40, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x02, 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x00, 0x7f,
-+ 0x0f, 0x08, 0x0f, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0x00, 0xfc,
-+ 0xe0, 0x20, 0xe0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x04, 0x3f, 0x04, 0x04,
-+ 0x7f, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x78, 0xc8, 0x50, 0x50, 0xe0, 0x50, 0x48,
-+ 0xc4, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x78, 0xd0, 0x20, 0x70, 0xac, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x2a, 0x49, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x24, 0x26, 0x3a, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xe8, 0x28, 0x28, 0xe8,
-+ 0xb0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x17, 0x14, 0x17,
-+ 0x17, 0x17, 0x14, 0x27, 0x2d, 0x52, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xd0, 0x50, 0xd0,
-+ 0xd0, 0xf4, 0x0c, 0xfc, 0x54, 0xe4, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x2d, 0x2d,
-+ 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x5b, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0x78, 0x48, 0x78, 0x7c,
-+ 0x40, 0x7c, 0x34, 0xf4, 0xc4, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x3f, 0x01, 0x01, 0x1f, 0x00, 0x00,
-+ 0x00, 0x09, 0x0e, 0x14, 0x23, 0x40, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x20,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x11, 0x10, 0x37, 0x54, 0x1f,
-+ 0x10, 0x10, 0x10, 0x11, 0x16, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xfc, 0x44, 0xfc,
-+ 0x40, 0xf8, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x11, 0x09, 0x0a, 0x7f, 0x00,
-+ 0x1f, 0x11, 0x11, 0x11, 0x1f, 0x11, 0x00, 0x00,
-+ 0x08, 0x48, 0xc8, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x17, 0x7c, 0x10, 0x10, 0x10,
-+ 0x10, 0x1c, 0x61, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x78,
-+ 0x88, 0x88, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x09, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x11, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x56, 0x57, 0x55, 0x55,
-+ 0x55, 0x55, 0x59, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x08, 0x08, 0x08, 0x07, 0x01,
-+ 0x04, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf0, 0x00,
-+ 0x80, 0x90, 0x08, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x17, 0x39, 0x35, 0x35, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x10, 0x11, 0x22, 0x2c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x80, 0xfc,
-+ 0x80, 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x3f, 0x04,
-+ 0x7f, 0x09, 0x15, 0x67, 0x19, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf8, 0x40,
-+ 0xfc, 0x20, 0x50, 0xcc, 0x30, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x20, 0x20, 0x20, 0x1f, 0x02,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x30,
-+ 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x0f, 0x08, 0x0f, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x7e, 0x09, 0x1c, 0x1b, 0x1b,
-+ 0x2b, 0x2c, 0x4b, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0xa0, 0xfc, 0x50,
-+ 0xf8, 0x44, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x2f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0xe8, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7d,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x24, 0x3c,
-+ 0x24, 0x24, 0x24, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x39, 0x2f, 0x29, 0x2f, 0x38, 0x2b, 0x2a,
-+ 0x3b, 0x2a, 0x29, 0x29, 0x2e, 0x58, 0x00, 0x00,
-+ 0x08, 0x08, 0xd0, 0x10, 0xe0, 0x08, 0xc8, 0x50,
-+ 0xe4, 0x44, 0x88, 0xc8, 0x10, 0x20, 0x00, 0x00,
-+ 0x01, 0x39, 0x03, 0x7d, 0x01, 0x3d, 0x01, 0x3c,
-+ 0x03, 0x3c, 0x25, 0x26, 0x3c, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x04, 0x18, 0x6a, 0x25, 0x19, 0x69, 0x0d, 0x15,
-+ 0x65, 0x0c, 0x14, 0x64, 0x05, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0x68, 0x60, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x06, 0x38, 0x24, 0x26, 0x3a, 0x6f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0xf8, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7f,
-+ 0x09, 0x2a, 0x1d, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0x50, 0x88, 0xf4, 0xa0, 0xa0, 0xf8,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x2b, 0x28, 0x30, 0x28, 0x24,
-+ 0x24, 0x24, 0x24, 0x39, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x48, 0x4f, 0x48, 0x48,
-+ 0x48, 0x78, 0x48, 0x41, 0x06, 0x18, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0x40, 0xfc, 0x40, 0x40,
-+ 0x60, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7f, 0x0a, 0x4a, 0x2c, 0x28,
-+ 0x7f, 0x0c, 0x12, 0x12, 0x20, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x7c, 0x04, 0x04, 0x04,
-+ 0x04, 0x1c, 0x64, 0x04, 0x04, 0x04, 0x00, 0x00,
-+ 0x80, 0x80, 0x88, 0x88, 0x90, 0xa0, 0xc0, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0a, 0x09, 0x17, 0x11, 0x30, 0x57, 0x10,
-+ 0x13, 0x10, 0x17, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0xa0, 0xa8, 0xb0, 0xfc, 0x10, 0xa0, 0xfc, 0x40,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02,
-+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
-+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x1f, 0x01,
-+ 0x7f, 0x15, 0x2f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf0, 0x00,
-+ 0xfc, 0x50, 0xe8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7f, 0x11, 0x10, 0x13, 0x1c,
-+ 0x71, 0x10, 0x17, 0x10, 0x13, 0x3c, 0x00, 0x00,
-+ 0xa0, 0xa8, 0xb0, 0xfc, 0x10, 0xa0, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x60, 0x50, 0x48, 0x44,
-+ 0x44, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x28, 0x28, 0x3e, 0x29, 0x29, 0x4a,
-+ 0x0e, 0x78, 0x08, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90,
-+ 0x50, 0x60, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x78, 0x4b, 0x48, 0x7f, 0x49, 0x49, 0x7a,
-+ 0x4c, 0x4b, 0x78, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x20, 0x24, 0x5c,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x19, 0x71, 0x11, 0x11, 0x7d, 0x10, 0x19,
-+ 0x36, 0x35, 0x50, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x40, 0x58,
-+ 0x64, 0x90, 0x60, 0x88, 0x30, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x08, 0x3f, 0x22, 0x7e, 0x04,
-+ 0x08, 0x0e, 0x78, 0x08, 0x09, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x21, 0x22, 0x04, 0x0b,
-+ 0x09, 0x10, 0x10, 0x20, 0x21, 0x2e, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0xf0,
-+ 0x10, 0x90, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x0e, 0x12, 0x13, 0x2a,
-+ 0x45, 0x05, 0x09, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x50, 0x88, 0x8c, 0xf4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x13, 0x7e, 0x12, 0x12, 0x12,
-+ 0x16, 0x1b, 0x65, 0x05, 0x09, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0xfc, 0x20, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0x24, 0x24, 0x24, 0xfc, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x56, 0x55,
-+ 0x57, 0x54, 0x58, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x48, 0x50,
-+ 0xfc, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x09, 0x1f, 0x61, 0x05,
-+ 0x04, 0x7f, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x20, 0xf0, 0x0c, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x03, 0x05, 0x05,
-+ 0x09, 0x11, 0x2f, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x80, 0x40, 0x40,
-+ 0x20, 0x10, 0xe8, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x06, 0x7b, 0x2a, 0x1c, 0x7f, 0x1c, 0x1a, 0x2a,
-+ 0x7e, 0x2b, 0x3e, 0x2a, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x68, 0xd8, 0xd8, 0x48,
-+ 0xd8, 0x68, 0x48, 0x48, 0x48, 0xd8, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0a, 0x09, 0x09,
-+ 0x09, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x03, 0x08, 0x08, 0x1f, 0x21, 0x42, 0x0c, 0x30,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0xc0, 0x40, 0x20, 0xf0, 0x28, 0x24, 0x20, 0xc0,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x17, 0x1a, 0x12, 0x17,
-+ 0x10, 0x17, 0x20, 0x3f, 0x40, 0x01, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0x38, 0xd4, 0x30, 0xc0,
-+ 0x80, 0xf8, 0x80, 0xfc, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x1f, 0x17, 0x1a, 0x12,
-+ 0x17, 0x10, 0x23, 0x2e, 0x43, 0x02, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0xfc, 0x38, 0xd4, 0x90,
-+ 0xfc, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x1f, 0x12, 0x1f, 0x17, 0x1a, 0x17, 0x14,
-+ 0x17, 0x17, 0x25, 0x22, 0x4c, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xfc, 0x70, 0xa8, 0xf4, 0x90,
-+ 0xf0, 0xf0, 0xa8, 0xfc, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x12, 0x1f, 0x12, 0x17,
-+ 0x16, 0x1a, 0x13, 0x22, 0x42, 0x02, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0x20, 0xfc, 0x20, 0x70,
-+ 0xf0, 0xa8, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x13,
-+ 0x10, 0x1f, 0x60, 0x00, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x09, 0x7e, 0x12, 0x13, 0x12,
-+ 0x3c, 0x24, 0x07, 0x0a, 0x12, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x70,
-+ 0x70, 0xa8, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4b, 0x48, 0x48, 0x7f, 0x48,
-+ 0x48, 0x49, 0x7a, 0x4c, 0x48, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1a, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x2f, 0x49, 0x09, 0x7f,
-+ 0x09, 0x09, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xe0, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4b, 0x4a, 0x4a, 0x4b,
-+ 0x48, 0x7b, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x7e, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x0f, 0x09, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x90, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x0f, 0x08, 0x0f, 0x7f,
-+ 0x05, 0x1f, 0x69, 0x09, 0x09, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0xe0, 0x20, 0xe0, 0xfc,
-+ 0x40, 0xf0, 0x2c, 0x20, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x24, 0x27, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1a, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x48, 0x40, 0x60, 0x60,
-+ 0x60, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x40, 0x78, 0xc8, 0xf8,
-+ 0x48, 0x78, 0x48, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3b, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x88, 0x50, 0xfc, 0x30, 0xf8, 0xb8, 0xd8, 0xf8,
-+ 0xf8, 0x10, 0xfc, 0x90, 0x50, 0x30, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x12, 0x12, 0x3e, 0x35,
-+ 0x34, 0x51, 0x51, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0xfc, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xfc, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x02, 0x02, 0x12, 0x12,
-+ 0x22, 0x42, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x40, 0x40, 0x50, 0x48,
-+ 0x44, 0x44, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x30, 0x53, 0x10,
-+ 0x10, 0x17, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02,
-+ 0x02, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x13, 0x1c,
-+ 0x70, 0x11, 0x12, 0x14, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0xe0,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x1f, 0x01,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x00,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x20, 0x03, 0x08,
-+ 0x08, 0x09, 0x11, 0x12, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0xe0,
-+ 0xe0, 0x50, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x21, 0x11, 0x12, 0x07, 0x00, 0x70, 0x11,
-+ 0x12, 0x12, 0x11, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x40, 0x80, 0x00,
-+ 0x04, 0x04, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x52, 0x12,
-+ 0x14, 0x14, 0x18, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x28, 0x20, 0x90,
-+ 0x50, 0x48, 0x04, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x29, 0x2b, 0x3b, 0x25,
-+ 0x2b, 0x3f, 0x25, 0x2f, 0x35, 0x25, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xd8, 0xd8,
-+ 0xf8, 0x68, 0x58, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x13, 0x16, 0x1b, 0x12,
-+ 0x13, 0x10, 0x27, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0x30, 0xd8, 0xf4, 0x10,
-+ 0xf0, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02,
-+ 0x04, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x33, 0x52,
-+ 0x13, 0x17, 0x10, 0x10, 0x11, 0x1e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xf8, 0xa8,
-+ 0xf8, 0xf8, 0x90, 0x60, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x21, 0x11, 0x1f, 0x41, 0x2f, 0x20, 0x0f, 0x18,
-+ 0x1a, 0x2a, 0x2b, 0x4a, 0x48, 0x48, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x80, 0xf8, 0x88,
-+ 0xa8, 0xa8, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x07, 0x15,
-+ 0x17, 0x23, 0x21, 0x40, 0x41, 0x4e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xf8, 0x28,
-+ 0xf8, 0xf0, 0x20, 0xc0, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0f, 0x08, 0x0f, 0x0f, 0x1f, 0x12,
-+ 0x1f, 0x3f, 0x04, 0x02, 0x07, 0x78, 0x00, 0x00,
-+ 0x40, 0xfc, 0xe0, 0x20, 0xe0, 0xe0, 0xf0, 0x90,
-+ 0xf0, 0xe0, 0x40, 0x80, 0x80, 0x78, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x48, 0x4f, 0x48, 0x48,
-+ 0x49, 0x7a, 0x4c, 0x48, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0, 0xe0,
-+ 0x50, 0x48, 0x44, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x03,
-+ 0x05, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x80,
-+ 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x2a, 0x3e, 0x2b, 0x3e, 0x2c,
-+ 0x0d, 0x0d, 0x16, 0x17, 0x24, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x70, 0x70,
-+ 0xa8, 0x24, 0xa0, 0xa0, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10,
-+ 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x4d, 0x3f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x7f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa0, 0x30, 0xf8, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x24, 0x24, 0xfc, 0x24, 0x24, 0xfc,
-+ 0x24, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x45, 0x15, 0x14, 0x25,
-+ 0x07, 0x19, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x50, 0x48, 0x84, 0x24,
-+ 0xe0, 0x00, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x23, 0x54, 0x15, 0x27, 0x19,
-+ 0x0f, 0x09, 0x0f, 0x01, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x90, 0x28, 0xe4, 0x00,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x23, 0x20, 0x07, 0x11,
-+ 0x13, 0x14, 0x23, 0x20, 0x41, 0x46, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0xa0, 0xfc, 0x10,
-+ 0xe8, 0x44, 0xf8, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x01, 0x7f, 0x0f, 0x08, 0x7f,
-+ 0x08, 0x0f, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xfc, 0xe0, 0x20, 0xfc,
-+ 0x20, 0xe0, 0x88, 0x50, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x18, 0x70, 0x11, 0x12, 0x7c, 0x13, 0x18,
-+ 0x34, 0x34, 0x52, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xe8, 0x04, 0xf8, 0x10,
-+ 0x60, 0x28, 0xa4, 0x84, 0x90, 0x70, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x25, 0x3d,
-+ 0x25, 0x25, 0x25, 0x26, 0x26, 0x4c, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x0c, 0x70, 0x64, 0x64, 0x68,
-+ 0x50, 0x50, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x13,
-+ 0x3d, 0x24, 0x06, 0x0a, 0x10, 0x23, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa8, 0xa4, 0x2c,
-+ 0x28, 0x70, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2b, 0x2c, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1b, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xf8, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x10, 0x10, 0x10, 0x16, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x88, 0x80, 0xfc,
-+ 0x40, 0x40, 0x24, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x79, 0x49, 0x49, 0x79, 0x49, 0x49, 0x79,
-+ 0x49, 0x49, 0x79, 0x49, 0x41, 0x06, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x10, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x04, 0x19, 0x0a, 0x7e, 0x0a, 0x1b,
-+ 0x1c, 0x2b, 0x48, 0x08, 0x09, 0x1a, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x90, 0x50, 0x20, 0xd0, 0x4c,
-+ 0x40, 0xf8, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x12, 0x1f, 0x00, 0x3f,
-+ 0x21, 0x43, 0x1e, 0x01, 0x03, 0x3c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x90, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xe0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x1a, 0x2a, 0x7f, 0x0a, 0x0a,
-+ 0x0a, 0x7f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xa0, 0xa0, 0xf8, 0xa0, 0xa0,
-+ 0xa0, 0xfc, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x04, 0x3f, 0x09, 0x0f, 0x11,
-+ 0x21, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x40, 0x20, 0xf0, 0x08, 0x00, 0xf0, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x02, 0x01, 0x00, 0x7f, 0x00, 0x01,
-+ 0x02, 0x04, 0x18, 0x60, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x20, 0x40, 0x80, 0xfc, 0x88, 0x90,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x01, 0x3e,
-+ 0x14, 0x7f, 0x1b, 0x2c, 0x48, 0x19, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x40, 0x7c,
-+ 0xd0, 0x70, 0xac, 0xf8, 0x48, 0x98, 0x00, 0x00,
-+ 0x04, 0x3e, 0x05, 0x04, 0x7f, 0x14, 0x14, 0x3c,
-+ 0x34, 0x34, 0x36, 0x3f, 0x63, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x18, 0x1c, 0x1a,
-+ 0x2a, 0x28, 0x48, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x11, 0x7d, 0x25, 0x26, 0x25,
-+ 0x75, 0x49, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x50, 0x78, 0xc0, 0x3c, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3a, 0x24, 0x06, 0x0a, 0x10, 0x23, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8,
-+ 0xa4, 0xa8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x01, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x00, 0xfc, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x02, 0x02, 0x07, 0x04, 0x0c, 0x12, 0x21, 0x02,
-+ 0x07, 0x1c, 0x64, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x18, 0x6f, 0x00, 0x3c, 0x24,
-+ 0x24, 0x24, 0x3c, 0x24, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x30, 0xec, 0x00, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x7c, 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44,
-+ 0x44, 0x7c, 0x45, 0x41, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0x88, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x02,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x18,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x24, 0x12, 0x12, 0x00, 0x0f, 0x71, 0x11,
-+ 0x12, 0x14, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0x90, 0x90, 0xa0, 0x80, 0xf8, 0xc0, 0xa0,
-+ 0x90, 0x88, 0x80, 0x80, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x90, 0x50, 0x20, 0x40,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4b, 0x4a, 0x4b, 0x4b,
-+ 0x4a, 0x7b, 0x4a, 0x45, 0x05, 0x08, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0xa4, 0x54, 0x04, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x10, 0x7d, 0x27, 0x24, 0x24,
-+ 0x77, 0x48, 0x0c, 0x14, 0x27, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xa0, 0x10, 0xf8, 0x48, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x28, 0x28, 0x28, 0x3e, 0x28, 0x48, 0x08,
-+ 0x0e, 0x78, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x88, 0x88, 0x90, 0xa0, 0xc0,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x24, 0x27, 0x05, 0x17,
-+ 0x17, 0x15, 0x25, 0x2a, 0x4c, 0x50, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xe8, 0x28, 0x68,
-+ 0xb0, 0x10, 0xb0, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x04, 0x07, 0x08, 0x11, 0x7f, 0x11, 0x11, 0x1f,
-+ 0x12, 0x02, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0xc0, 0x80, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x90, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x08, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x20,
-+ 0xfc, 0x24, 0x24, 0x24, 0x38, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x15, 0x65, 0x19, 0x19, 0x25, 0x7c,
-+ 0x13, 0x3a, 0x36, 0x32, 0x52, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x40,
-+ 0xf8, 0x48, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x64, 0x1b, 0x1a, 0x26, 0x7e,
-+ 0x12, 0x3a, 0x36, 0x36, 0x53, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0xa8, 0xa8, 0xe8,
-+ 0xa8, 0xe8, 0xa8, 0xa8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x02, 0x3f, 0x24, 0x24, 0x27,
-+ 0x24, 0x27, 0x24, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x48, 0x48, 0xc8,
-+ 0x48, 0xc8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x08, 0x3f, 0x09, 0x7f, 0x11,
-+ 0x1d, 0x25, 0x55, 0x09, 0x16, 0x61, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xfc, 0x54, 0x74, 0x54,
-+ 0x74, 0x54, 0xfc, 0x04, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x11, 0x11, 0x19, 0x11,
-+ 0x31, 0x50, 0x17, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xfc, 0xa0, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x7e, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x28, 0x4f, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x01, 0x1f, 0x11,
-+ 0x10, 0x10, 0x10, 0x10, 0x21, 0x46, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x10, 0x08, 0xfc, 0x00,
-+ 0x90, 0x90, 0x60, 0x64, 0x9c, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x08, 0x08, 0x07, 0x01, 0x02,
-+ 0x7f, 0x04, 0x0f, 0x10, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0xfc, 0x20, 0x40, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x1f, 0x00, 0x01, 0x01, 0x7f, 0x01, 0x03, 0x1f,
-+ 0x12, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0xf0, 0x60, 0x80, 0x00, 0xfc, 0x00, 0x00, 0xf0,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x1e, 0x02, 0x02, 0x3f, 0x02, 0x02,
-+ 0x7f, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0xfc, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x4b, 0x30, 0x10, 0x37, 0x48, 0x08, 0x1b,
-+ 0x2a, 0x4a, 0x0a, 0x0a, 0x0f, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x60, 0xfc, 0x40, 0xc0, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x08, 0x07, 0x00, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x17, 0x66, 0x1a, 0x1b, 0x26, 0x7f,
-+ 0x12, 0x3a, 0x36, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0xc8, 0xf8, 0x48, 0xf8,
-+ 0x88, 0x88, 0x88, 0x78, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x7e, 0x09, 0x7e, 0x08,
-+ 0x1d, 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x58, 0xe0, 0x40, 0x5c,
-+ 0xe0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x2f, 0x40, 0x7f, 0x03,
-+ 0x3d, 0x06, 0x39, 0x06, 0x78, 0x03, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xe8, 0x00, 0xfc, 0x48,
-+ 0xd0, 0xa0, 0x90, 0x88, 0x84, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x1f, 0x10, 0x37, 0x50, 0x17,
-+ 0x10, 0x17, 0x15, 0x15, 0x17, 0x15, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0x30, 0xfc, 0x20, 0x78,
-+ 0xc8, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x03, 0x03, 0x05,
-+ 0x09, 0x11, 0x21, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80, 0x40,
-+ 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x3f, 0x25, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xfc, 0x20, 0x20, 0x50, 0x50,
-+ 0x88, 0x04, 0x90, 0x48, 0x44, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x10,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01,
-+ 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00,
-+ 0xf0, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x12, 0x12, 0x22, 0x44,
-+ 0x04, 0x08, 0x10, 0x01, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x09, 0x0c, 0x12, 0x2b, 0x48, 0x3c, 0x24, 0x3f,
-+ 0x24, 0x3c, 0x28, 0x25, 0x3b, 0x62, 0x00, 0x00,
-+ 0x08, 0x88, 0x90, 0xfc, 0x90, 0x90, 0x90, 0xfc,
-+ 0x90, 0x90, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x03, 0x03, 0x03,
-+ 0x05, 0x05, 0x09, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x10,
-+ 0x1f, 0x10, 0x21, 0x22, 0x4c, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x88, 0x80,
-+ 0xfc, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x4a, 0x2a, 0x2c, 0x09, 0x7e, 0x0c,
-+ 0x1a, 0x1a, 0x28, 0x48, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x68,
-+ 0x58, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x09, 0x7f, 0x09, 0x09, 0x0f, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xe0, 0xf8, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x27,
-+ 0x24, 0x24, 0x27, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xc8,
-+ 0x48, 0x48, 0xc8, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x20,
-+ 0x22, 0x2a, 0x2a, 0x32, 0x21, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x88,
-+ 0x88, 0x28, 0x58, 0x58, 0xc8, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x09, 0x15, 0x13, 0x21,
-+ 0x42, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10,
-+ 0xd0, 0x30, 0x1c, 0x10, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x11, 0x11, 0x17, 0x19, 0x71,
-+ 0x11, 0x11, 0x11, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x30, 0xd0, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x60, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x10, 0x11, 0x01, 0x07, 0x10,
-+ 0x13, 0x22, 0x22, 0x42, 0x43, 0x02, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xa0, 0x10, 0x38, 0xc4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x08, 0x08, 0x10, 0x11, 0x31,
-+ 0x53, 0x14, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x80, 0xf0, 0x90, 0x50,
-+ 0x20, 0xa0, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x02, 0x0c, 0x32, 0x01, 0x06, 0x78, 0x3f, 0x12,
-+ 0x1e, 0x12, 0x1e, 0x13, 0x7e, 0x02, 0x00, 0x00,
-+ 0xc0, 0x30, 0x48, 0x80, 0x60, 0x1c, 0xf8, 0x50,
-+ 0x70, 0x48, 0x44, 0x44, 0x78, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x12, 0x1e, 0x12, 0x12, 0x1e,
-+ 0x12, 0x13, 0x1e, 0x62, 0x02, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x2a, 0x3e, 0x2b, 0x2a, 0x3e,
-+ 0x08, 0x3e, 0x08, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0x20, 0xfc, 0x28, 0x30,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x7c, 0x04, 0x05, 0x3d, 0x26, 0x20, 0x3c,
-+ 0x24, 0x25, 0x05, 0x06, 0x08, 0x30, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x20, 0x20, 0xb0, 0xa8,
-+ 0xa8, 0x24, 0x24, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x11, 0x21, 0x01, 0x7f,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x13, 0x12, 0x12, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10,
-+ 0x10, 0x60, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x11, 0x21, 0x49, 0x09, 0x12, 0x14, 0x37,
-+ 0x51, 0x11, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0xf0,
-+ 0x10, 0x20, 0xc0, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0x08, 0x88, 0x48,
-+ 0x48, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x27, 0x14, 0x0f, 0x14, 0x67,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xc8, 0x50, 0xe0, 0x58, 0xc4,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3e, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0xa0, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x3c, 0x2b, 0x08, 0x2d,
-+ 0x2b, 0x29, 0x29, 0x2f, 0x39, 0x61, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x90, 0xfc,
-+ 0x20, 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x00, 0x09, 0x08, 0x08, 0x7e, 0x05, 0x24, 0x14,
-+ 0x14, 0x08, 0x0e, 0x70, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x12, 0x1a, 0x36, 0x36,
-+ 0x32, 0x53, 0x14, 0x11, 0x11, 0x12, 0x00, 0x00,
-+ 0x40, 0x80, 0x38, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xb8, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x2a, 0x1c, 0x7f, 0x1c, 0x2a,
-+ 0x7f, 0x12, 0x3c, 0x04, 0x1a, 0x63, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x7c, 0x90, 0x90,
-+ 0x50, 0x60, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x12, 0x19, 0x25, 0x24, 0x79, 0x10, 0x7f,
-+ 0x11, 0x55, 0x39, 0x31, 0x1e, 0x64, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0x20, 0xfc, 0x70, 0x50,
-+ 0x70, 0x78, 0x48, 0x78, 0xc0, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x19, 0x37, 0x34, 0x37, 0x54,
-+ 0x17, 0x14, 0x17, 0x14, 0x14, 0x15, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0x88, 0x98, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x1f, 0x7e, 0x12, 0x1e, 0x1e,
-+ 0x12, 0x17, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0x9c, 0x90, 0x90, 0x90,
-+ 0x10, 0x30, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x23, 0x22, 0x02, 0x0a,
-+ 0x0b, 0x0a, 0x12, 0x12, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x4f, 0x29, 0x2b, 0x0a, 0x1b,
-+ 0x2b, 0x4a, 0x10, 0x15, 0x25, 0x48, 0x00, 0x00,
-+ 0x80, 0xfc, 0xc0, 0x30, 0xfc, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0x98, 0xc0, 0x28, 0x14, 0xf4, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0x7d, 0x03, 0x3c, 0x03, 0x3a,
-+ 0x03, 0x3a, 0x2b, 0x2a, 0x3a, 0x2a, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x10, 0x7e, 0x10, 0x7d, 0x57, 0x7c, 0x57,
-+ 0x7e, 0x13, 0x7e, 0x13, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x49, 0x4b, 0x4b, 0x4d, 0x49,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x90, 0x90, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x11, 0x31, 0x52, 0x13,
-+ 0x15, 0x19, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x11, 0x11, 0x31, 0x57, 0x17,
-+ 0x1a, 0x14, 0x11, 0x16, 0x11, 0x1e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf0, 0xf0, 0xf0, 0xfc, 0x58,
-+ 0xe8, 0xf4, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x04, 0x03, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x1f, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xf8, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x7f, 0x02, 0x02, 0x07, 0x06,
-+ 0x05, 0x09, 0x08, 0x11, 0x26, 0x58, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10,
-+ 0x20, 0x40, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x02, 0x02, 0x3f, 0x22, 0x7f, 0x04, 0x07, 0x0c,
-+ 0x0f, 0x14, 0x27, 0x44, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xfc, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x05, 0x25, 0x39, 0x2b, 0x2b, 0x25, 0x27,
-+ 0x2b, 0x3f, 0x21, 0x3f, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x20, 0x28, 0xc8, 0x58, 0x58, 0x28, 0x38,
-+ 0x58, 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x15, 0x36, 0x54, 0x15, 0x16,
-+ 0x11, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0xa0, 0x40, 0xb0, 0x0c,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x0f, 0x0f, 0x0f, 0x3f, 0x25,
-+ 0x57, 0x23, 0x0e, 0x31, 0x07, 0x78, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0xe0, 0xe0, 0xfc, 0x38,
-+ 0xe8, 0xe4, 0x40, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x10, 0x17, 0x11, 0x1d,
-+ 0x71, 0x11, 0x11, 0x11, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x1c, 0xf0, 0x10, 0x10, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x04, 0x04, 0x0f, 0x0c, 0x17,
-+ 0x24, 0x47, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x13, 0x12, 0x3a, 0x36,
-+ 0x37, 0x52, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x40, 0x23, 0x22, 0x03, 0x12,
-+ 0x13, 0x20, 0x2f, 0x40, 0x43, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xfc, 0x84, 0x04, 0x18, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x40, 0x23, 0x22, 0x02, 0x0b,
-+ 0x0a, 0x0a, 0x13, 0x12, 0x22, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0xb0, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x09, 0x48, 0x30, 0x17, 0x30, 0x4b, 0x0a, 0x1a,
-+ 0x2b, 0x4a, 0x0b, 0x0a, 0x33, 0x12, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8,
-+ 0x38, 0x18, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x21, 0x11, 0x12, 0x7f, 0x0c, 0x3f, 0x2d, 0x2d,
-+ 0x37, 0x33, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xa4, 0x20, 0xfc, 0x20, 0x20,
-+ 0x30, 0x50, 0x50, 0x88, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x3f, 0x21, 0x21, 0x21,
-+ 0x3f, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x08, 0x08, 0x18, 0x14,
-+ 0x35, 0x51, 0x12, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x80, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x08, 0x0a, 0x14, 0x19,
-+ 0x37, 0x55, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0xa0, 0x90, 0x08, 0x48, 0x40, 0xa0, 0xa0, 0x10,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7f, 0x00, 0x3d, 0x02, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3d, 0x22, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xe0, 0x50, 0x48, 0xe4,
-+ 0xa0, 0xb8, 0xa8, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x02, 0x22, 0x12, 0x1f, 0x02, 0x02, 0x73, 0x12,
-+ 0x12, 0x14, 0x14, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x40, 0x7c, 0x88, 0x90,
-+ 0xfc, 0x90, 0x90, 0xb0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x00, 0x3f, 0x21,
-+ 0x21, 0x3f, 0x20, 0x20, 0x20, 0x1f, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x00, 0xf8, 0x08,
-+ 0x08, 0xf8, 0x08, 0x00, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3e, 0x04, 0x3f, 0x15, 0x15, 0x7f, 0x15,
-+ 0x15, 0x3f, 0x04, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x80, 0x78, 0x48, 0xd0, 0x50, 0x60, 0xd0, 0x48,
-+ 0x44, 0xc4, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x0a, 0x0c, 0x0c,
-+ 0x14, 0x16, 0x29, 0x4f, 0x38, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3e, 0x22, 0x3e, 0x00, 0x7f,
-+ 0x55, 0x67, 0x5f, 0x49, 0x49, 0x4b, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0x30, 0x28, 0x38, 0xe4, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x02, 0x02, 0x05, 0x08, 0x10,
-+ 0x00, 0x00, 0x00, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0x10, 0x90, 0x60,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x02, 0x01, 0x01, 0x7f, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x20, 0x40, 0x80, 0xfc, 0x08, 0x10,
-+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x6f, 0x01, 0x01,
-+ 0x3f, 0x09, 0x09, 0x11, 0x21, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xec, 0x00, 0x00,
-+ 0xf8, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x07, 0x04, 0x04, 0x07, 0x04, 0x00,
-+ 0x7f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0xc0, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00,
-+ 0x12, 0x09, 0x7f, 0x10, 0x17, 0x3f, 0x40, 0x07,
-+ 0x07, 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x20, 0xd0, 0xf8, 0x04, 0xc0,
-+ 0xc0, 0x00, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x09, 0x31, 0x2f, 0x27, 0x35, 0x27, 0x25, 0x37,
-+ 0x2f, 0x21, 0x7f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x38, 0xe8, 0xc8, 0x58, 0xc8, 0x48, 0xd8,
-+ 0xe8, 0x08, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x0c, 0x08, 0x7f, 0x09, 0x0a,
-+ 0x0c, 0x08, 0x08, 0x08, 0x08, 0x1b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x27, 0x24, 0x67, 0x27, 0x24,
-+ 0x27, 0x26, 0x2b, 0x2b, 0x32, 0x22, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0xf8, 0x40,
-+ 0xf8, 0x48, 0xf8, 0xf8, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x12, 0x53, 0x24, 0x14, 0x08,
-+ 0x0c, 0x12, 0x16, 0x3a, 0x61, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x08, 0x7e, 0x12, 0x13, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x11, 0x22, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x09, 0x12, 0x04,
-+ 0x18, 0x6f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x20, 0x10, 0x90, 0x40,
-+ 0x30, 0xec, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x10, 0x1f, 0x17, 0x10,
-+ 0x17, 0x14, 0x27, 0x27, 0x44, 0x04, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0xf0, 0x80,
-+ 0xf0, 0x90, 0xf0, 0xf0, 0x90, 0xb0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x10, 0x1f,
-+ 0x71, 0x13, 0x14, 0x11, 0x12, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x11, 0x10, 0x13, 0x18,
-+ 0x77, 0x10, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x38, 0xc8, 0x48, 0x50, 0x20, 0x40, 0xf8, 0x40,
-+ 0xfc, 0x40, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x79, 0x11, 0x16, 0x12, 0x19,
-+ 0x72, 0x17, 0x11, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x28, 0x28, 0xfc, 0xd0, 0x7c,
-+ 0xd0, 0xfc, 0x50, 0x50, 0x7c, 0x40, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x4b, 0x48, 0x4f, 0x79, 0x4b,
-+ 0x4e, 0x4b, 0x7a, 0x4b, 0x42, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xb8, 0x88, 0xf8, 0x20, 0xf8,
-+ 0x40, 0xf0, 0x40, 0xf0, 0x40, 0xf8, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x19, 0x34, 0x37,
-+ 0x31, 0x53, 0x54, 0x11, 0x12, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x18, 0x1d, 0x1b,
-+ 0x2a, 0x28, 0x48, 0x0b, 0x08, 0x08, 0x00, 0x00,
-+ 0x88, 0x50, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x24,
-+ 0xb8, 0x70, 0xa8, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x11, 0x08, 0x08, 0x47, 0x20, 0x20, 0x03, 0x08,
-+ 0x08, 0x0f, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x25, 0x21, 0x02, 0x10,
-+ 0x11, 0x23, 0x25, 0x41, 0x41, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x10, 0x48, 0x48, 0xa0,
-+ 0x10, 0xf8, 0x14, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x16, 0x35, 0x35, 0x3a, 0x50,
-+ 0x11, 0x1f, 0x15, 0x25, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x10, 0x48, 0x48, 0xa0,
-+ 0x10, 0xfc, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11,
-+ 0x1f, 0x11, 0x11, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x4c, 0x12, 0x3f, 0x01, 0x0f,
-+ 0x01, 0x3f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x48, 0xb8, 0xf0, 0x00, 0xe0,
-+ 0x00, 0xf8, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x01, 0x01, 0x1f, 0x01,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x4a, 0x2b, 0x2c, 0x09, 0x7e, 0x19,
-+ 0x1b, 0x19, 0x1b, 0x2d, 0x29, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x90, 0xfc,
-+ 0x20, 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x09, 0x7f, 0x09, 0x09, 0x0f,
-+ 0x01, 0x3f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x20, 0xfc, 0x20, 0xe0, 0xf0,
-+ 0x00, 0xf8, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x01, 0x3f, 0x24, 0x49, 0x12,
-+ 0x04, 0x1f, 0x68, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x48, 0x20, 0x90,
-+ 0x40, 0xf0, 0x2c, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1f, 0x12, 0x12, 0x1f, 0x02,
-+ 0x7f, 0x04, 0x0f, 0x08, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x90, 0x90, 0xf0, 0x00,
-+ 0xfc, 0x40, 0x40, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7e, 0x01, 0x3d, 0x03, 0x3c,
-+ 0x03, 0x38, 0x2a, 0x2a, 0x3b, 0x22, 0x00, 0x00,
-+ 0x08, 0x30, 0xc8, 0x48, 0x50, 0x20, 0xf8, 0x40,
-+ 0xfc, 0x40, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3d, 0x29, 0x09, 0x2f,
-+ 0x29, 0x29, 0x29, 0x2f, 0x39, 0x61, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa0, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x27, 0x12, 0x11, 0x01, 0x03, 0x70, 0x17,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x3c, 0xc8, 0x48, 0x50, 0x20, 0xf8, 0x40, 0xfc,
-+ 0x48, 0x48, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x29, 0x31, 0x28, 0x27,
-+ 0x25, 0x25, 0x3a, 0x24, 0x21, 0x22, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x05, 0x1f,
-+ 0x67, 0x04, 0x07, 0x05, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x40, 0xf0,
-+ 0xcc, 0x40, 0xe0, 0x20, 0xc0, 0x38, 0x00, 0x00,
-+ 0x14, 0x12, 0x2a, 0x0c, 0x13, 0x3e, 0x52, 0x1f,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa8, 0x30, 0x20, 0x50, 0x88,
-+ 0x04, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x12, 0x12, 0x12, 0x1e,
-+ 0x72, 0x13, 0x1e, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x80, 0x80, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0xc8, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x14, 0x12, 0x22, 0x48, 0x08, 0x14, 0x13, 0x22,
-+ 0x7e, 0x22, 0x22, 0x3e, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa8, 0x30, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x20, 0x20, 0x07, 0x10,
-+ 0x10, 0x20, 0x20, 0x41, 0x42, 0x4c, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x0a, 0x42, 0x24, 0x20, 0x01, 0x12,
-+ 0x17, 0x1a, 0x22, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0x20, 0x10, 0x08, 0x48, 0x40, 0xa0, 0x20, 0x10,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x0a, 0x0e, 0x32, 0x07, 0x01,
-+ 0x3f, 0x04, 0x02, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x28, 0x38, 0xc8, 0x18, 0x00,
-+ 0xf8, 0x40, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x1a, 0x6f, 0x09, 0x0f, 0x09,
-+ 0x0f, 0x1f, 0x04, 0x7f, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x98, 0x68, 0xf8, 0x20, 0xe0, 0x20,
-+ 0xe0, 0xf0, 0x40, 0xfc, 0x60, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x24, 0x27, 0x00, 0x12,
-+ 0x12, 0x22, 0x22, 0x43, 0x44, 0x48, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0xfc, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x10, 0x14, 0x64, 0x19,
-+ 0x16, 0x7e, 0x2c, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x88, 0x90, 0xfc, 0x90,
-+ 0xf8, 0x90, 0xf8, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0d, 0x0a, 0x0e, 0x71, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x48, 0xd0,
-+ 0x28, 0xfc, 0xa4, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x0b, 0x0a, 0x17, 0x18,
-+ 0x37, 0x54, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x09, 0x05, 0x05, 0x7f, 0x01,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x20, 0x40, 0xfc, 0x00,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x09, 0x05,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x20, 0x40,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x08, 0x3e, 0x2a, 0x2a, 0x3e,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x00,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x41, 0x23, 0x24, 0x00, 0x13,
-+ 0x1f, 0x22, 0x22, 0x42, 0x43, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0x20, 0xc0, 0xc0, 0x30,
-+ 0xfc, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x09, 0x4a, 0x20,
-+ 0x25, 0x0f, 0x11, 0x11, 0x21, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xc0, 0xf0, 0x90, 0x60, 0x60,
-+ 0x90, 0xfc, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0xa0, 0x38, 0x48, 0xd0, 0x30, 0x30, 0x48,
-+ 0xfc, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x02, 0x0c, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x08,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x02, 0x0c, 0x32, 0x22, 0x32, 0x2a, 0x2a, 0x22,
-+ 0x22, 0x2e, 0x74, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0xc8, 0xa8, 0xa8, 0x88,
-+ 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x11, 0x11, 0x1f, 0x00, 0x1f, 0x10, 0x1f, 0x17,
-+ 0x15, 0x17, 0x15, 0x21, 0x2e, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0xf0, 0x00, 0xf0, 0xd0, 0x10, 0xd0,
-+ 0x50, 0xd0, 0x54, 0xec, 0x2c, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x7f, 0x17, 0x34, 0x3f, 0x3d,
-+ 0x55, 0x55, 0x15, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xbc, 0xa4, 0xbc, 0xbc, 0x44, 0xfc, 0xf4,
-+ 0xf4, 0x54, 0xf4, 0xe4, 0x5c, 0x4c, 0x00, 0x00,
-+ 0x20, 0x17, 0x15, 0x47, 0x24, 0x27, 0x05, 0x17,
-+ 0x10, 0x17, 0x25, 0x25, 0x5f, 0x40, 0x00, 0x00,
-+ 0x20, 0xe0, 0x20, 0xbc, 0xc0, 0x80, 0x38, 0xc0,
-+ 0x00, 0xf8, 0x28, 0x28, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x24, 0x3e, 0x3f, 0x24,
-+ 0x3f, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x40, 0x7c, 0x80, 0x00, 0x78,
-+ 0x00, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x3e, 0x22, 0x3e, 0x3e, 0x21, 0x2f,
-+ 0x27, 0x27, 0x27, 0x23, 0x2d, 0x21, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0x88, 0xf8, 0xf8, 0x08, 0xe8,
-+ 0xc8, 0xc8, 0xc8, 0x88, 0x68, 0x18, 0x00, 0x00,
-+ 0x00, 0x7e, 0x48, 0x7d, 0x7c, 0x7e, 0x4f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0x78, 0x00, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x06, 0x3c, 0x04, 0x04, 0x7f, 0x0c, 0x0e,
-+ 0x15, 0x15, 0x24, 0x44, 0x04, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x19, 0x05, 0x02, 0x05, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x00, 0x00, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x14, 0x1b, 0x12,
-+ 0x14, 0x1c, 0x14, 0x27, 0x24, 0x47, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x80, 0xfc, 0xf0, 0xf0,
-+ 0x90, 0xf0, 0xf8, 0x90, 0x60, 0x9c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x61, 0x0f,
-+ 0x00, 0x01, 0x7f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0xe0,
-+ 0xc0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x3e, 0x04, 0x7f, 0x0e, 0x15, 0x64, 0x05,
-+ 0x3f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0xc8, 0x48, 0x48, 0x98, 0x00,
-+ 0xf8, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x12, 0x13, 0x12, 0x7e, 0x13,
-+ 0x10, 0x13, 0x18, 0x60, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x7e, 0x12, 0x12, 0x12, 0x7f, 0x10,
-+ 0x17, 0x14, 0x1c, 0x67, 0x04, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0x28, 0xa8, 0x68, 0x98, 0xf8, 0x40,
-+ 0xfc, 0x64, 0x94, 0xf4, 0x14, 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, 0x0f, 0x48, 0x29, 0x2f, 0x09, 0x1f,
-+ 0x29, 0x4b, 0x13, 0x15, 0x29, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x48, 0xa8, 0x28, 0x28, 0xe8,
-+ 0x28, 0xa8, 0x68, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x3f,
-+ 0x01, 0x7f, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf8,
-+ 0x00, 0xfc, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x0b, 0x0a, 0x16, 0x1b,
-+ 0x34, 0x57, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x01, 0x3f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x26, 0x3a, 0x37, 0x3e, 0x08,
-+ 0x7f, 0x4d, 0x53, 0x7f, 0x41, 0x43, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0xd0, 0x50, 0x78, 0x50,
-+ 0x50, 0x78, 0x50, 0x50, 0x7c, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x28, 0x2b, 0x30, 0x29, 0x26,
-+ 0x24, 0x27, 0x38, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0x24, 0x5c,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x23, 0x48, 0x0f, 0x10, 0x13, 0x30,
-+ 0x53, 0x10, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x21, 0x16, 0x02, 0x19, 0x62,
-+ 0x0f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x50, 0x80, 0xb0, 0x4c,
-+ 0xa0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x00, 0x08, 0x04, 0x04,
-+ 0x02, 0x02, 0x02, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x13, 0x10, 0x2f, 0x48, 0x13,
-+ 0x30, 0x57, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc0, 0xf0, 0x90, 0xfc, 0x90, 0xf0,
-+ 0x80, 0xf8, 0x80, 0xfc, 0x80, 0x80, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x13, 0x12, 0x12, 0x1f,
-+ 0x70, 0x11, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x54, 0x55, 0x56, 0x7c, 0x55,
-+ 0x56, 0x54, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x50, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x37, 0x32, 0x2a, 0x3c, 0x65, 0x0a, 0x1f,
-+ 0x64, 0x3f, 0x15, 0x0e, 0x07, 0x78, 0x00, 0x00,
-+ 0x04, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0x24, 0x24,
-+ 0xa4, 0xa4, 0x24, 0x04, 0x84, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x21, 0x27, 0x00, 0x12,
-+ 0x12, 0x22, 0x22, 0x42, 0x44, 0x48, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xe8, 0x08, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x21, 0x16, 0x14, 0x45, 0x24, 0x25, 0x0e, 0x10,
-+ 0x17, 0x24, 0x27, 0x44, 0x47, 0x44, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0x28, 0xa8, 0xc8, 0x58, 0x80,
-+ 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x10, 0x10, 0x13, 0x7c, 0x11,
-+ 0x11, 0x11, 0x1e, 0x62, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x60, 0x90, 0xf8, 0x08, 0x50,
-+ 0x50, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x06, 0x39, 0x20, 0x24, 0x26, 0x39, 0x62, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0x08, 0x30, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7c, 0x13, 0x10, 0x10, 0x3f, 0x24, 0x65,
-+ 0x25, 0x25, 0x3d, 0x25, 0x22, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x60, 0x90, 0xe8, 0x08, 0x50,
-+ 0x50, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x09, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x08, 0x88, 0x48,
-+ 0x48, 0x50, 0x50, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x2a, 0x30, 0x2b, 0x25,
-+ 0x25, 0x26, 0x39, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x4c, 0x40,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x04, 0x7f, 0x00, 0x1f, 0x11,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x40, 0xfc, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x14, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x22, 0x14, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xf8, 0x08, 0xf8, 0x80, 0xf8,
-+ 0x80, 0xf8, 0x80, 0xf8, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x12, 0x33, 0x50, 0x11,
-+ 0x17, 0x14, 0x14, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x80, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x11, 0x1f, 0x10, 0x17, 0x14,
-+ 0x17, 0x14, 0x27, 0x2a, 0x4a, 0x11, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0xe8, 0x10, 0xf0, 0xf0, 0x90,
-+ 0xf0, 0x90, 0xf8, 0x44, 0x34, 0xf0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x09, 0x0e, 0x0a,
-+ 0x0a, 0x13, 0x12, 0x22, 0x42, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xa0, 0x28, 0x48, 0x70,
-+ 0xe0, 0x50, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x17, 0x11, 0x17, 0x14, 0x17,
-+ 0x14, 0x17, 0x2f, 0x20, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0x28, 0xe0, 0xf0, 0x90, 0xf0,
-+ 0x90, 0xf0, 0xf8, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x3f,
-+ 0x20, 0x44, 0x04, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x08, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x14, 0x13, 0x33, 0x55, 0x11,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa4, 0x18, 0xf8, 0x14, 0xf0,
-+ 0x10, 0xf0, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x3f, 0x21, 0x29, 0x29,
-+ 0x29, 0x29, 0x2f, 0x28, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x08, 0x28, 0x28,
-+ 0x28, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x23, 0x10, 0x17, 0x00, 0x11, 0x16,
-+ 0x20, 0x21, 0x46, 0x40, 0x01, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0x24, 0x9c,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x21, 0x7f, 0x24, 0x1f, 0x68, 0x0f,
-+ 0x08, 0x0f, 0x05, 0x09, 0x31, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xfc, 0x48, 0xf0, 0x2c, 0xe0,
-+ 0x20, 0xe0, 0x60, 0x10, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x09, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2b, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x90, 0x50, 0x50, 0x10, 0x90, 0x90, 0x1c,
-+ 0x70, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x0b, 0x40, 0x22, 0x0a, 0x0d, 0x12, 0x21,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x98, 0x14, 0x64, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x23, 0x22, 0x02, 0x13,
-+ 0x10, 0x12, 0x22, 0x24, 0x48, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x0c, 0x4a, 0x32, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x0a, 0x0a, 0x0c, 0x38, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xf0, 0x50, 0x50, 0xf0, 0x50,
-+ 0x50, 0xf0, 0x54, 0x4c, 0x4c, 0x44, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x4f, 0x2a, 0x29, 0x0b, 0x1d,
-+ 0x29, 0x49, 0x11, 0x12, 0x24, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xfc, 0xa8, 0x10, 0xf8, 0x14,
-+ 0xf0, 0x10, 0xf0, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x78, 0x4f, 0x4a, 0x79, 0x4b, 0x4d, 0x79,
-+ 0x49, 0x49, 0x7a, 0x4a, 0x44, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0x10, 0xf8, 0x14, 0xf0,
-+ 0x10, 0xf0, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x04, 0x18, 0x73, 0x10, 0x17, 0x7c, 0x11, 0x1a,
-+ 0x34, 0x35, 0x52, 0x10, 0x11, 0x1e, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0x24, 0x9c,
-+ 0xf0, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x10, 0x55, 0x35, 0x39, 0x11, 0x7f, 0x11, 0x19,
-+ 0x35, 0x35, 0x53, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0xf0, 0x10, 0xf0, 0xfc, 0xf0, 0x50,
-+ 0xf0, 0xf0, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x0a, 0x09, 0x08, 0x08, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0xf0,
-+ 0x10, 0x20, 0xc0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x00, 0x20, 0x17, 0x12, 0x01, 0x03, 0x75, 0x11,
-+ 0x11, 0x11, 0x12, 0x14, 0x2c, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0x10, 0xf8, 0x14, 0xf0,
-+ 0x10, 0xf0, 0x48, 0x44, 0xc0, 0xfc, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x0f, 0x7f, 0x0f, 0x09,
-+ 0x0f, 0x0f, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xfc, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x28, 0x33, 0x28, 0x25, 0x26,
-+ 0x24, 0x25, 0x3a, 0x20, 0x21, 0x2e, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0x24, 0x9c,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x00, 0x7e,
-+ 0x12, 0x12, 0x12, 0x1c, 0x10, 0x13, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x02, 0x7f, 0x02, 0x02, 0x02,
-+ 0x04, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x11, 0x14, 0x65, 0x18, 0x1b, 0x26, 0x7d,
-+ 0x19, 0x34, 0x35, 0x36, 0x50, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xfc, 0x40, 0x64,
-+ 0x68, 0xd0, 0x50, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x11, 0x13, 0x34, 0x5b, 0x12,
-+ 0x12, 0x13, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x14, 0x17, 0x14, 0x17,
-+ 0x10, 0x17, 0x10, 0x20, 0x3f, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x90, 0xf0,
-+ 0x80, 0xf0, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x0c, 0x1a, 0x1a,
-+ 0x29, 0x4a, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x60, 0xe0, 0xd0,
-+ 0x50, 0x48, 0x44, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x22, 0x12, 0x12, 0x4f, 0x22, 0x23, 0x06, 0x16,
-+ 0x1a, 0x1b, 0x22, 0x22, 0x42, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x30, 0xf0, 0xe8,
-+ 0xa8, 0x24, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x17, 0x34, 0x39, 0x56, 0x11,
-+ 0x11, 0x1a, 0x16, 0x21, 0x22, 0x44, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x4c, 0x48,
-+ 0xfc, 0xa8, 0xa8, 0x7c, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x7d, 0x17, 0x11, 0x11, 0x7f, 0x13,
-+ 0x13, 0x15, 0x1d, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x90, 0x78, 0x78,
-+ 0x54, 0x94, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x01, 0x7d, 0x51, 0x52, 0x7b, 0x4d, 0x49, 0x49,
-+ 0x78, 0x53, 0x52, 0x7e, 0x43, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xb8, 0xa8, 0x00, 0x00,
-+ 0x10, 0x10, 0x7e, 0x10, 0x7d, 0x57, 0x7c, 0x57,
-+ 0x7e, 0x12, 0x7f, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x2b, 0x30, 0x29, 0x26, 0x25,
-+ 0x25, 0x26, 0x3b, 0x24, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x4c, 0x48,
-+ 0xfc, 0x68, 0xa8, 0xfc, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x05, 0x3b, 0x2e, 0x28, 0x41, 0x00, 0x00,
-+ 0x20, 0xa8, 0x70, 0xfc, 0x70, 0xa8, 0x24, 0xa8,
-+ 0xfc, 0x68, 0xe8, 0x7c, 0x88, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x2a, 0x3f, 0x2b, 0x2b, 0x3f,
-+ 0x2a, 0x2f, 0x2a, 0x2a, 0x2f, 0x59, 0x00, 0x00,
-+ 0x20, 0xa8, 0x70, 0xfc, 0x70, 0xa8, 0x64, 0x48,
-+ 0xfc, 0xa8, 0xa8, 0x7c, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x12, 0x12, 0x13, 0x7c, 0x13,
-+ 0x12, 0x13, 0x1e, 0x62, 0x03, 0x02, 0x00, 0x00,
-+ 0x80, 0x7c, 0x14, 0x94, 0xd4, 0x24, 0x4c, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x30, 0x09,
-+ 0x0d, 0x71, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x08, 0x30,
-+ 0x60, 0x18, 0xf4, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x23, 0x02, 0x12,
-+ 0x13, 0x24, 0x24, 0x48, 0x53, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x48, 0x40,
-+ 0xfc, 0x40, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x02, 0x1c,
-+ 0x03, 0x7f, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x40, 0xc0,
-+ 0x30, 0xc8, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x7f, 0x1c, 0x1a, 0x2a,
-+ 0x48, 0x7f, 0x08, 0x14, 0x22, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x18, 0x6f, 0x00, 0x1f,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0xec, 0x00, 0xf0,
-+ 0x10, 0x10, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x09, 0x1b, 0x2c, 0x4b,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0a, 0x12, 0x13, 0x34, 0x54, 0x1a,
-+ 0x11, 0x11, 0x11, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0xe8, 0x28, 0x28, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0x28, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x21, 0x11, 0x12, 0x05, 0x08, 0x17,
-+ 0x10, 0x20, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0xe8, 0x04, 0xf8,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x1e, 0x10, 0x10, 0x1f, 0x14, 0x14, 0x17,
-+ 0x15, 0x15, 0x15, 0x29, 0x29, 0x57, 0x00, 0x00,
-+ 0xa0, 0x20, 0x20, 0x20, 0xfc, 0x24, 0x24, 0x24,
-+ 0x24, 0x24, 0x44, 0x44, 0x84, 0x18, 0x00, 0x00,
-+ 0x11, 0x11, 0x1f, 0x18, 0x0d, 0x12, 0x1e, 0x20,
-+ 0x7e, 0x0a, 0x0a, 0x0c, 0x08, 0x0b, 0x00, 0x00,
-+ 0x10, 0x10, 0xf0, 0x10, 0xfc, 0x20, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x18, 0x35, 0x37, 0x34, 0x53,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x10, 0x11, 0x12, 0x7c, 0x13,
-+ 0x10, 0x14, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xe8, 0x04, 0xf8,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x04, 0x08, 0x08, 0x1c,
-+ 0x2a, 0x4a, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x02, 0x04, 0x1f, 0x60,
-+ 0x1f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x40, 0xf0, 0x0c,
-+ 0xf0, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5d, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xe8, 0x04, 0xf8,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x08, 0x3f, 0x00, 0x3e, 0x01,
-+ 0x7e, 0x08, 0x2c, 0x2b, 0x4a, 0x18, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8, 0x20,
-+ 0xa4, 0xb8, 0x70, 0xa8, 0x24, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x02,
-+ 0x0f, 0x70, 0x1f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x80,
-+ 0xe0, 0x1c, 0xf0, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x0f,
-+ 0x00, 0x3f, 0x12, 0x0a, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x70, 0x70, 0xe0,
-+ 0x00, 0xf8, 0x90, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x3e, 0x22, 0x2b, 0x1f, 0x12, 0x1f,
-+ 0x12, 0x1f, 0x17, 0x24, 0x47, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x88, 0xa8, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x58, 0x60, 0x44, 0x3c, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x24, 0x35, 0x2e,
-+ 0x3f, 0x2e, 0x35, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0xa8, 0x28, 0xc4, 0xfc, 0x80, 0xfc,
-+ 0x94, 0x94, 0x98, 0x90, 0x90, 0x90, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3f, 0x27, 0x2a, 0x32, 0x22,
-+ 0x27, 0x24, 0x27, 0x44, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xfc, 0x30, 0xe8, 0xa4, 0x20,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x3f, 0x27, 0x2a, 0x32,
-+ 0x20, 0x24, 0x24, 0x44, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xfc, 0x70, 0xa8, 0xa4,
-+ 0x80, 0xf0, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x0e, 0x12, 0x12, 0x2a,
-+ 0x46, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x11, 0x23, 0x01, 0x06, 0x78,
-+ 0x0f, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x28, 0x44, 0x84, 0x80, 0x80,
-+ 0xf8, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x0f, 0x11, 0x29, 0x06, 0x04,
-+ 0x18, 0x60, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x08, 0x88, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x08, 0x18, 0x90, 0x48, 0x44, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x0f, 0x19, 0x26, 0x0d, 0x31,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x08, 0xc8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x18,
-+ 0xfc, 0x10, 0xa0, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x11, 0x17, 0x11, 0x1f,
-+ 0x11, 0x17, 0x23, 0x2d, 0x71, 0x01, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xfc, 0x40, 0xf0, 0x50, 0xfc,
-+ 0x50, 0xf0, 0x60, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x12, 0x12, 0x22, 0x44,
-+ 0x01, 0x14, 0x14, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x50, 0x48, 0x44, 0xc4,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x1b, 0x34, 0x35, 0x36, 0x52,
-+ 0x13, 0x12, 0x15, 0x11, 0x12, 0x1c, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x4c, 0x48,
-+ 0xfc, 0xa8, 0xa8, 0x7c, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x15, 0x12, 0x42, 0x20, 0x20, 0x0e, 0x12,
-+ 0x12, 0x23, 0x22, 0x42, 0x45, 0x48, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0x20, 0xfc, 0x20, 0x20, 0xa0, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x10, 0x17, 0x36, 0x3b, 0x52,
-+ 0x13, 0x10, 0x19, 0x26, 0x24, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x5f, 0x12, 0x1f, 0x17, 0x11,
-+ 0x1f, 0x11, 0x2f, 0x27, 0x59, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xfc, 0x20, 0xfc, 0xf0, 0x50,
-+ 0xfc, 0x50, 0xf0, 0x70, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x64, 0x1b, 0x1a, 0x27, 0x7e,
-+ 0x1b, 0x34, 0x35, 0x32, 0x54, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x01, 0x7d, 0x2e, 0x2a, 0x39, 0x2a, 0x2f, 0x38,
-+ 0x2a, 0x2e, 0x3b, 0x6a, 0x09, 0x0a, 0x00, 0x00,
-+ 0x10, 0x10, 0xe8, 0xa8, 0x10, 0xa8, 0xfc, 0xa4,
-+ 0xa8, 0xa8, 0xb8, 0xa8, 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,
-+ 0x04, 0x7f, 0x04, 0x20, 0x17, 0x13, 0x02, 0x73,
-+ 0x12, 0x13, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x40, 0xfc, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0xfc, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x00, 0x20, 0x17, 0x10, 0x03, 0x02, 0x73, 0x12,
-+ 0x13, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x09, 0x02,
-+ 0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x02, 0x07, 0x19, 0x7f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x12, 0x6f, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x48, 0xe4, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x16, 0x7f, 0x12, 0x1b, 0x36, 0x37,
-+ 0x32, 0x53, 0x55, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0xf0, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0xa8, 0xf4, 0x14, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x0a, 0x2a, 0x2c, 0x28, 0x48,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x23, 0x3e, 0x22,
-+ 0x23, 0x3e, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x50, 0x20, 0x50,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x09, 0x08, 0x2e,
-+ 0x29, 0x28, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x3d, 0x5d, 0x01, 0x3e,
-+ 0x23, 0x3e, 0x0f, 0x28, 0x2e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x78, 0x70, 0x00, 0x78,
-+ 0xd0, 0x70, 0xfc, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x3f, 0x20, 0x41, 0x01, 0x3f,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x08, 0x00, 0x00, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x01, 0x0f, 0x09, 0x7f, 0x09, 0x0f, 0x0f, 0x09,
-+ 0x0f, 0x7f, 0x04, 0x0f, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xfc, 0x20, 0xe0, 0xe0, 0x20,
-+ 0xe0, 0xfc, 0x40, 0x40, 0xc0, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x12, 0x17, 0x14, 0x17,
-+ 0x14, 0x17, 0x25, 0x25, 0x46, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x38, 0xa8, 0xa8, 0xb0,
-+ 0xa8, 0xa4, 0x24, 0xb8, 0xa0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x0f, 0x01, 0x01, 0x3f, 0x04,
-+ 0x04, 0x7f, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xe0, 0x00, 0x00, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3e,
-+ 0x28, 0x24, 0x27, 0x39, 0x62, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x0a, 0x09, 0x7f, 0x08, 0x0d, 0x1a, 0x1a,
-+ 0x2b, 0x48, 0x09, 0x08, 0x08, 0x0f, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x48, 0x40,
-+ 0xfc, 0x90, 0xd0, 0x20, 0xd0, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7c, 0x14, 0x17, 0x3c, 0x3f,
-+ 0x36, 0x55, 0x54, 0x15, 0x16, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0xa4, 0xa8, 0xa8, 0xb0, 0xa8, 0xa4,
-+ 0x24, 0x24, 0xa4, 0x78, 0x60, 0x20, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x22, 0x23, 0x02, 0x13,
-+ 0x12, 0x22, 0x22, 0x42, 0x43, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x88, 0x48, 0x50, 0x20, 0x90, 0x0c, 0x00, 0x00,
-+ 0x20, 0x17, 0x14, 0x47, 0x24, 0x27, 0x04, 0x17,
-+ 0x17, 0x16, 0x2a, 0x2b, 0x52, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xfc, 0x40, 0xf8,
-+ 0x68, 0xd8, 0x48, 0x68, 0xd8, 0x58, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x49, 0x09, 0x0f, 0x11,
-+ 0x21, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x44, 0x29, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x09, 0x36, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x48, 0x28, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x45, 0x3f, 0x04, 0x7f, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf8, 0x40, 0xfc, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x03, 0x02,
-+ 0x06, 0x1b, 0x62, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x10, 0xf0, 0x20, 0x40, 0xfc, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x04, 0x3f, 0x0a, 0x7f, 0x1e, 0x12, 0x1e, 0x1e,
-+ 0x16, 0x7f, 0x07, 0x07, 0x7f, 0x00, 0x00, 0x00,
-+ 0x80, 0xf8, 0xf0, 0x10, 0xf0, 0xf0, 0xf0, 0xf4,
-+ 0x7c, 0xfc, 0xc0, 0xf8, 0xc0, 0x40, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7d, 0x55, 0x55, 0x55, 0x7d,
-+ 0x51, 0x19, 0x15, 0x1d, 0x62, 0x04, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xf0, 0x50, 0x50, 0xf0, 0x50,
-+ 0x50, 0xf0, 0x54, 0x4c, 0x4c, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3e,
-+ 0x24, 0x22, 0x27, 0x39, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x44, 0x44, 0x64, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x04, 0x04,
-+ 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x40, 0x20,
-+ 0x10, 0x10, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0e, 0x15, 0x25, 0x5f, 0x12, 0x1f,
-+ 0x12, 0x1f, 0x17, 0x24, 0x47, 0x18, 0x00, 0x00,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x58, 0x60, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x7d, 0x08, 0x0b, 0x18, 0x16,
-+ 0x35, 0x50, 0x11, 0x16, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xfc, 0x40, 0x64,
-+ 0x68, 0xd0, 0x50, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x27, 0x3c, 0x24, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xfc, 0x20, 0x24,
-+ 0xb8, 0x70, 0x68, 0xa4, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0x7c, 0x01, 0x3b, 0x04, 0x3b,
-+ 0x02, 0x3a, 0x2b, 0x2a, 0x3a, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x17, 0x10, 0x31, 0x52, 0x10,
-+ 0x17, 0x10, 0x11, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xe0, 0x50, 0x48, 0x40,
-+ 0xfc, 0x90, 0xd0, 0x20, 0xd0, 0x08, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3f, 0x00, 0x3c,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x03, 0x0d, 0x71, 0x01, 0x3f,
-+ 0x01, 0x09, 0x09, 0x09, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xc0, 0x30, 0x08, 0x00, 0xf8,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x3c, 0x24, 0x3c, 0x25,
-+ 0x26, 0x3c, 0x18, 0x14, 0x24, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x24, 0x3c, 0x24, 0x25, 0x3d,
-+ 0x27, 0x25, 0x25, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x48, 0x88, 0x30, 0x10,
-+ 0xfc, 0x54, 0x54, 0x54, 0x64, 0xcc, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x00, 0x1e, 0x12, 0x1e, 0x07,
-+ 0x79, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x90, 0x88, 0xfc, 0x90, 0x90, 0x60, 0x64, 0x9c,
-+ 0x04, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x0c, 0x1b, 0x1a,
-+ 0x28, 0x4b, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0x50, 0x94, 0x54, 0x4c,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3f, 0x22, 0x3e, 0x2b, 0x5f, 0x08,
-+ 0x0f, 0x0f, 0x0f, 0x0f, 0x29, 0x44, 0x00, 0x00,
-+ 0x30, 0x28, 0xfc, 0x60, 0xa4, 0x1c, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0xfc, 0xfc, 0x24, 0x98, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x02, 0x07, 0x05, 0x04, 0x04,
-+ 0x0a, 0x09, 0x09, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xe0, 0x20, 0xa0, 0xa0,
-+ 0x20, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x0f,
-+ 0x08, 0x08, 0x0f, 0x08, 0x00, 0x7f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x20, 0x20, 0xe0, 0x20, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x1f, 0x25, 0x7e, 0x2a, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xdc, 0x54, 0xdc, 0x00, 0xf8, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7f, 0x02, 0x3d, 0x00, 0x3c,
-+ 0x03, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x18, 0xe0, 0x40, 0x7c,
-+ 0xc0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x7f, 0x07, 0x07, 0x3f, 0x27,
-+ 0x24, 0x27, 0x7f, 0x05, 0x19, 0x61, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xc0, 0xc0, 0xf8, 0xc8,
-+ 0x48, 0xd8, 0xfc, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x14, 0x13, 0x1f, 0x1a,
-+ 0x1a, 0x1f, 0x1a, 0x12, 0x24, 0x48, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xa0, 0x20, 0xfc, 0xb4,
-+ 0xd8, 0x90, 0xb0, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x15, 0x19, 0x35, 0x37,
-+ 0x32, 0x54, 0x50, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0xf8, 0x68, 0x68,
-+ 0xe8, 0xb8, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x42, 0x24, 0x29, 0x03, 0x10,
-+ 0x13, 0x12, 0x27, 0x24, 0x40, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa4, 0x64, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xf8, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x00, 0x7c, 0x13, 0x12, 0x11, 0x21, 0x3d, 0x65,
-+ 0x26, 0x26, 0x3c, 0x25, 0x22, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0xf8, 0x68, 0x68,
-+ 0xe8, 0xb8, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x26, 0x25, 0x3d, 0x25, 0x27,
-+ 0x3e, 0x24, 0x24, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0xf8, 0x68, 0x68,
-+ 0xe8, 0xb8, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0xfc, 0x40, 0x40, 0x20,
-+ 0x20, 0xa0, 0x10, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x21, 0x21, 0x21, 0x3f,
-+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x01, 0x03, 0x05, 0x09, 0x31,
-+ 0x41, 0x01, 0x01, 0x00, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08,
-+ 0x04, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x11, 0x21,
-+ 0x41, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08,
-+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
-+ 0x7c, 0x44, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x80, 0x80, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x3f, 0x04, 0x05, 0x04, 0x04,
-+ 0x7f, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xa0, 0xa0,
-+ 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x06, 0x18, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04,
-+ 0x02, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x09, 0x79,
-+ 0x09, 0x09, 0x19, 0x69, 0x01, 0x01, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x00, 0x20, 0x2c,
-+ 0x30, 0x20, 0x24, 0x1c, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x05, 0x3d, 0x05, 0x1d,
-+ 0x65, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x60, 0x80, 0x00, 0xfc, 0x48, 0x70, 0x40, 0x48,
-+ 0x38, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x07, 0x7a, 0x29, 0x3f, 0x56, 0x08, 0x7f, 0x55,
-+ 0x7d, 0x5d, 0x55, 0x49, 0x55, 0x63, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x19, 0x08, 0x7e, 0x12, 0x14,
-+ 0x1b, 0x10, 0x13, 0x10, 0x13, 0x30, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0xf8, 0xa8, 0xa8, 0xfc, 0x64,
-+ 0xf8, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x11, 0x09, 0x09, 0x1f, 0x01,
-+ 0x7f, 0x01, 0x1f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x10, 0x10, 0x20, 0xf0, 0x10,
-+ 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x7f, 0x08, 0x7e,
-+ 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0x20, 0xfc, 0x24, 0x28,
-+ 0x30, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x3f,
-+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x40, 0x40, 0x20,
-+ 0x20, 0x20, 0x10, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x04, 0x3c, 0x20, 0x20,
-+ 0x3c, 0x24, 0x04, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x78, 0x08, 0x08,
-+ 0x78, 0x48, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x07, 0x3c, 0x24, 0x24,
-+ 0x24, 0x3c, 0x20, 0x03, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0xc8, 0xa8, 0xb0,
-+ 0x90, 0xa8, 0xc4, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x7f,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x00, 0x00, 0x07, 0x04, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0xc0, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x00, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x09, 0x09, 0x11, 0x21, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x3f,
-+ 0x20, 0x4f, 0x01, 0x3f, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0xc8, 0x00, 0xf8, 0x00, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x7f, 0x1f, 0x17, 0x14, 0x17, 0x1f, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0xd0, 0x50, 0xd0, 0xf0, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x0c, 0x12, 0x12, 0x11, 0x21, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x60,
-+ 0x50, 0x50, 0x90, 0x88, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x0f, 0x09, 0x11, 0x11, 0x31, 0x51, 0x11,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x38, 0x28,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11,
-+ 0x11, 0x12, 0x22, 0x24, 0x48, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40,
-+ 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x08, 0x08, 0x18, 0x28, 0x48,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x60, 0x50, 0x48, 0x44,
-+ 0x44, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x1f, 0x30, 0x50, 0x10,
-+ 0x10, 0x11, 0x11, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0xf8, 0x88, 0x88, 0x88,
-+ 0x88, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x32, 0x52, 0x11,
-+ 0x11, 0x10, 0x10, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40,
-+ 0xc0, 0x80, 0xc0, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x10, 0x30, 0x52, 0x12,
-+ 0x14, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x10, 0x34, 0x52, 0x11,
-+ 0x10, 0x11, 0x11, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x68, 0x1c, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x10, 0x10, 0x30, 0x5f, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x11, 0x11, 0x32, 0x55, 0x19,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xc0, 0x40, 0x20, 0x10, 0x28, 0x24,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x10, 0x31, 0x51, 0x11,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0x00, 0xe0, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x0a, 0x0a, 0x12, 0x13, 0x34, 0x58, 0x1f,
-+ 0x10, 0x10, 0x11, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc,
-+ 0xc0, 0xa0, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x17, 0x10, 0x30, 0x50, 0x13,
-+ 0x12, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x10, 0x37, 0x54, 0x14,
-+ 0x17, 0x14, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa0, 0xa0,
-+ 0xfc, 0xa4, 0x24, 0x24, 0x38, 0x20, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x13, 0x12, 0x34, 0x53, 0x12,
-+ 0x12, 0x12, 0x13, 0x12, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48,
-+ 0x48, 0x48, 0xc8, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x34, 0x50, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x04, 0x88, 0x80, 0x88, 0x90,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x34, 0x57, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x04, 0x08, 0x00, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x10, 0x30, 0x53, 0x10,
-+ 0x13, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x12, 0x14, 0x30, 0x51, 0x16,
-+ 0x10, 0x13, 0x10, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x80, 0xf8, 0x08, 0x90, 0x60, 0x40, 0xa0, 0x7c,
-+ 0x84, 0x48, 0x30, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x13, 0x12, 0x34, 0x5f, 0x10,
-+ 0x10, 0x11, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x34, 0x53, 0x10,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x04, 0x18, 0x60, 0xc0, 0x40,
-+ 0x7c, 0xc0, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x14, 0x12, 0x32, 0x50, 0x11,
-+ 0x12, 0x1c, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0xa4, 0xa4, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0c, 0x14, 0x17, 0x34, 0x57, 0x16,
-+ 0x16, 0x16, 0x16, 0x1a, 0x18, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x90, 0xf0, 0xb0,
-+ 0xb0, 0xb0, 0xf4, 0x8c, 0x8c, 0x84, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x13, 0x32, 0x52, 0x12,
-+ 0x13, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x11, 0x31, 0x53, 0x15,
-+ 0x19, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x0a, 0x09, 0x09, 0x17, 0x10, 0x30, 0x53, 0x10,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x09, 0x09, 0x0d, 0x13, 0x23,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x20, 0x30, 0x48, 0x88,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x1f, 0x60, 0x1f, 0x12,
-+ 0x12, 0x1f, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xf0, 0x90,
-+ 0x90, 0xf0, 0x90, 0x90, 0x90, 0xb0, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x2f, 0x27, 0x60, 0x3f, 0x2a,
-+ 0x31, 0x27, 0x25, 0x25, 0x3f, 0x20, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0xfc, 0xf0, 0x80, 0xfc, 0x48,
-+ 0x24, 0xf0, 0x50, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x33, 0x52, 0x13,
-+ 0x12, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0xa8, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x11, 0x17, 0x31, 0x51, 0x12,
-+ 0x14, 0x1f, 0x10, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x80, 0xa0, 0x90, 0x38, 0xc8, 0x00, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x25, 0x25, 0x51, 0x11,
-+ 0x19, 0x15, 0x25, 0x21, 0x4f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x34, 0x53, 0x10,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x48, 0x44, 0x04, 0xf8, 0x30,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x12, 0x17, 0x32, 0x52, 0x13,
-+ 0x12, 0x10, 0x10, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x68, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x10, 0x13, 0x32, 0x52, 0x13,
-+ 0x12, 0x12, 0x13, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x52, 0x13,
-+ 0x10, 0x13, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x0f, 0x11, 0x11, 0x3f, 0x51, 0x13,
-+ 0x13, 0x15, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x48, 0xa8, 0x28, 0x28, 0x28, 0xe8, 0x28, 0x28,
-+ 0xa8, 0x68, 0x68, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x09, 0x08, 0x08, 0x13, 0x10, 0x33, 0x52, 0x13,
-+ 0x12, 0x10, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xc4, 0xc4, 0x44, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x13, 0x32, 0x53, 0x12,
-+ 0x13, 0x10, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x11, 0x32, 0x5f, 0x10,
-+ 0x13, 0x12, 0x12, 0x13, 0x12, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0x10, 0xfc, 0x08,
-+ 0xc8, 0x48, 0x48, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x52, 0x13,
-+ 0x12, 0x15, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x48, 0x40, 0xfc,
-+ 0x40, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x32, 0x52, 0x12,
-+ 0x12, 0x13, 0x15, 0x15, 0x19, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0xfc, 0x20, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0x24, 0x24, 0x24, 0xfc, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x12, 0x13, 0x32, 0x52, 0x13,
-+ 0x12, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x80, 0x38, 0x08, 0x08, 0xb8, 0x08, 0x08, 0xf8,
-+ 0xa8, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x12, 0x34, 0x51, 0x12,
-+ 0x13, 0x10, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa4, 0xa8, 0xa4, 0x1c, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x11, 0x11, 0x31, 0x52, 0x14,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x10, 0x30, 0xc8, 0x48,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x11, 0x31, 0x52, 0x14,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0xe0, 0xa0, 0x24, 0x24, 0x1c, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x0a, 0x13, 0x12, 0x32, 0x5f, 0x12,
-+ 0x13, 0x16, 0x16, 0x1a, 0x12, 0x16, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x88, 0x48, 0x48, 0xc8, 0x28,
-+ 0x30, 0x90, 0xb0, 0x28, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x33, 0x52, 0x10,
-+ 0x17, 0x14, 0x17, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x13, 0x10, 0x37, 0x50, 0x13,
-+ 0x12, 0x12, 0x13, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x10, 0x13, 0x32, 0x53, 0x12,
-+ 0x13, 0x10, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x13, 0x32, 0x53, 0x10,
-+ 0x10, 0x11, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xa0, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x14, 0x14, 0x34, 0x55, 0x15,
-+ 0x17, 0x15, 0x15, 0x19, 0x19, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x88, 0x88, 0x88, 0xfc, 0x48,
-+ 0x28, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0c, 0x17, 0x14, 0x37, 0x54, 0x14,
-+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00,
-+ 0x00, 0xbc, 0xa4, 0xbc, 0xa4, 0xbc, 0x04, 0x04,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x17, 0x34, 0x57, 0x15,
-+ 0x15, 0x16, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xfc, 0x44, 0x74, 0x54,
-+ 0x54, 0xec, 0xcc, 0x44, 0x44, 0x4c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0d, 0x15, 0x15, 0x35, 0x55, 0x14,
-+ 0x17, 0x15, 0x14, 0x15, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x40,
-+ 0xfc, 0x90, 0x60, 0xd8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0c, 0x14, 0x17, 0x34, 0x54, 0x17,
-+ 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x00, 0x00,
-+ 0x00, 0xb8, 0x88, 0x88, 0xb8, 0x88, 0x00, 0x78,
-+ 0x48, 0x28, 0x30, 0x10, 0x28, 0xc4, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x1f, 0x60, 0x1f, 0x19, 0x15,
-+ 0x1f, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xf0, 0x30, 0x50,
-+ 0xf0, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x0b, 0x12, 0x12, 0x33, 0x5e, 0x10,
-+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x20, 0x24, 0xe8, 0x30, 0x20, 0xa4, 0x5c, 0x80,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x10, 0x11, 0x33, 0x52, 0x12,
-+ 0x13, 0x12, 0x12, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0x60, 0x90, 0xfc, 0x10, 0x60,
-+ 0x88, 0x30, 0xc4, 0x08, 0x30, 0xc0, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x33, 0x52, 0x13,
-+ 0x14, 0x1c, 0x15, 0x16, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x88, 0xc8, 0x28, 0x08, 0xe8, 0x30, 0x00, 0x00,
-+ 0x08, 0x0a, 0x0a, 0x12, 0x1f, 0x32, 0x52, 0x17,
-+ 0x14, 0x14, 0x14, 0x17, 0x14, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x48, 0xc8, 0xa8,
-+ 0xb0, 0x90, 0xb0, 0xa8, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x10, 0x10, 0x37, 0x50, 0x10,
-+ 0x13, 0x1d, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x50, 0xfc, 0x60, 0x90,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x09, 0x09, 0x0b, 0x12, 0x15, 0x39, 0x52, 0x14,
-+ 0x10, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xa8, 0xa8, 0x68, 0x68, 0xb0,
-+ 0x80, 0x50, 0x48, 0x04, 0x14, 0xf0, 0x00, 0x00,
-+ 0x09, 0x08, 0x08, 0x11, 0x17, 0x38, 0x57, 0x14,
-+ 0x16, 0x15, 0x16, 0x15, 0x14, 0x15, 0x00, 0x00,
-+ 0xc0, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x12, 0x13, 0x32, 0x53, 0x12,
-+ 0x10, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xc8,
-+ 0xd0, 0xd0, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x1f, 0x15, 0x34, 0x54, 0x1b,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x48, 0xc8, 0xa8, 0x28,
-+ 0x30, 0x10, 0x90, 0xa8, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x12, 0x33, 0x52, 0x13,
-+ 0x12, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x50, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x58, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0c, 0x14, 0x14, 0x34, 0x54, 0x15,
-+ 0x15, 0x15, 0x15, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x68, 0x68, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x0f, 0x12, 0x1f, 0x32, 0x52, 0x1f,
-+ 0x12, 0x13, 0x12, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0x7c, 0xc8, 0x48, 0xa8, 0xa8,
-+ 0x30, 0x90, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x1f, 0x60, 0x1e, 0x12, 0x12,
-+ 0x1e, 0x08, 0x0c, 0x12, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xf0, 0x90, 0x90,
-+ 0xf0, 0x20, 0x20, 0x50, 0x88, 0x08, 0x00, 0x00,
-+ 0x08, 0x0f, 0x09, 0x17, 0x15, 0x37, 0x50, 0x1f,
-+ 0x11, 0x17, 0x1a, 0x13, 0x12, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x28, 0xf8, 0x80, 0xfc,
-+ 0x20, 0xf8, 0x24, 0xe0, 0x08, 0xf8, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x12, 0x33, 0x53, 0x10,
-+ 0x17, 0x10, 0x1f, 0x12, 0x11, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xf8, 0x48,
-+ 0xfc, 0x10, 0xfc, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x17, 0x12, 0x33, 0x53, 0x12,
-+ 0x13, 0x10, 0x1f, 0x11, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0xf8, 0x48,
-+ 0xf8, 0x80, 0xfc, 0x90, 0x70, 0x88, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x10, 0x33, 0x52, 0x13,
-+ 0x11, 0x1f, 0x10, 0x13, 0x12, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x10, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0a, 0x14, 0x13, 0x32, 0x53, 0x12,
-+ 0x13, 0x12, 0x15, 0x14, 0x1a, 0x12, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x44, 0xf0, 0x10, 0xf8, 0x08,
-+ 0xfc, 0x54, 0x2c, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x17, 0x11, 0x37, 0x51, 0x11,
-+ 0x16, 0x17, 0x10, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xbc, 0x10, 0xbc,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0x24, 0x1c, 0x00, 0x00,
-+ 0x09, 0x0f, 0x0d, 0x15, 0x17, 0x33, 0x55, 0x19,
-+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x10, 0xfc, 0x50, 0x50, 0xfc, 0x30, 0xb4, 0x4c,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x09, 0x09, 0x0f, 0x11, 0x1f, 0x33, 0x52, 0x14,
-+ 0x1b, 0x12, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x30, 0xb0, 0xc8,
-+ 0xf4, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x0f, 0x09, 0x1f, 0x10, 0x33, 0x52, 0x13,
-+ 0x12, 0x13, 0x10, 0x13, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0xf8, 0x20, 0xfc, 0x00, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00,
-+ 0x08, 0x0f, 0x09, 0x17, 0x15, 0x37, 0x53, 0x12,
-+ 0x13, 0x13, 0x12, 0x13, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x28, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x30, 0x08, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0b, 0x12, 0x13, 0x32, 0x53, 0x17,
-+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x17, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xfc,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x11, 0x17, 0x30, 0x53, 0x12,
-+ 0x12, 0x13, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xfc, 0x00, 0xb8, 0xa8,
-+ 0xa8, 0xb8, 0x10, 0x98, 0x64, 0x44, 0x00, 0x00,
-+ 0x09, 0x09, 0x0b, 0x12, 0x17, 0x3a, 0x53, 0x12,
-+ 0x13, 0x10, 0x17, 0x14, 0x14, 0x14, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x40, 0xf8, 0x40, 0xf8, 0x40,
-+ 0xfc, 0x00, 0xbc, 0xa4, 0xe4, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x33, 0x50, 0x17,
-+ 0x14, 0x17, 0x15, 0x19, 0x19, 0x17, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x00, 0xf8,
-+ 0xe0, 0xfc, 0x48, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x0d, 0x17, 0x14, 0x37, 0x55, 0x17,
-+ 0x10, 0x13, 0x12, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0xe0, 0x20, 0xbc, 0xc0, 0x80, 0x38, 0xc0,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x11, 0x3e, 0x2a, 0x6a, 0x2e, 0x32,
-+ 0x23, 0x22, 0x23, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x80, 0xfc, 0x48, 0xb8, 0xa8, 0xb8, 0xe8, 0x14,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x0f, 0x08, 0x13, 0x1f, 0x33, 0x50, 0x13,
-+ 0x1f, 0x10, 0x17, 0x15, 0x17, 0x14, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xfc, 0xe8, 0x40, 0xf8,
-+ 0xfc, 0x08, 0xfc, 0x48, 0x28, 0x18, 0x00, 0x00,
-+ 0x09, 0x0f, 0x09, 0x13, 0x12, 0x33, 0x50, 0x17,
-+ 0x14, 0x18, 0x13, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0x00, 0xfc,
-+ 0x44, 0xf8, 0x90, 0x60, 0xc0, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x0a, 0x13, 0x12, 0x33, 0x52, 0x10,
-+ 0x17, 0x15, 0x17, 0x15, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00,
-+ 0xfc, 0x54, 0xfc, 0x54, 0xfc, 0x44, 0x00, 0x00,
-+ 0x15, 0x1f, 0x15, 0x17, 0x22, 0x2f, 0x6a, 0x2f,
-+ 0x22, 0x2f, 0x22, 0x2f, 0x25, 0x28, 0x00, 0x00,
-+ 0x28, 0xa8, 0x28, 0x7c, 0x50, 0xd0, 0xfc, 0xd0,
-+ 0x50, 0xfc, 0x50, 0xd0, 0x7c, 0xc0, 0x00, 0x00,
-+ 0x0f, 0x08, 0x0f, 0x15, 0x10, 0x37, 0x54, 0x17,
-+ 0x14, 0x17, 0x15, 0x19, 0x19, 0x17, 0x00, 0x00,
-+ 0xbc, 0x00, 0xbc, 0xb4, 0x40, 0xfc, 0xa0, 0xf8,
-+ 0xa8, 0xf8, 0xe4, 0x38, 0xe4, 0x1c, 0x00, 0x00,
-+ 0x13, 0x12, 0x13, 0x20, 0x2f, 0x6b, 0x29, 0x2f,
-+ 0x2a, 0x2b, 0x2b, 0x32, 0x37, 0x20, 0x00, 0x00,
-+ 0xb8, 0xa8, 0xb8, 0x00, 0xfc, 0xa0, 0x20, 0xfc,
-+ 0xe8, 0xa8, 0x90, 0xd0, 0xa8, 0xc4, 0x00, 0x00,
-+ 0x09, 0x0f, 0x0d, 0x11, 0x13, 0x33, 0x52, 0x13,
-+ 0x10, 0x13, 0x10, 0x17, 0x12, 0x14, 0x00, 0x00,
-+ 0x50, 0xfc, 0x18, 0xf0, 0xf8, 0x58, 0xe8, 0xf8,
-+ 0x40, 0xf8, 0x40, 0xfc, 0xa8, 0xa4, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x02, 0x3c, 0x20, 0x20, 0x3e, 0x20, 0x20, 0x3f,
-+ 0x24, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x88, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x04, 0x08, 0x10, 0x6f, 0x08, 0x08, 0x08,
-+ 0x0f, 0x02, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0xc0, 0x40, 0x20, 0x10, 0xec, 0x20, 0x20, 0x20,
-+ 0xe0, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x02, 0x03, 0x04, 0x18, 0x7f, 0x11, 0x11, 0x1f,
-+ 0x13, 0x03, 0x05, 0x09, 0x11, 0x60, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x40, 0x20, 0x24, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x22, 0x22, 0x3e,
-+ 0x14, 0x14, 0x15, 0x26, 0x2c, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x50, 0x50, 0x50, 0x94, 0x94, 0x0c, 0x00, 0x00,
-+ 0x08, 0x3e, 0x14, 0x7f, 0x00, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x14, 0x15, 0x26, 0x4d, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x3f, 0x21, 0x2d, 0x25,
-+ 0x25, 0x2b, 0x33, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x08, 0x68, 0x28,
-+ 0x28, 0x58, 0x98, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x07, 0x02, 0x04, 0x18, 0x6f, 0x00, 0x3e, 0x22,
-+ 0x3a, 0x27, 0x3a, 0x26, 0x22, 0x26, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x30, 0xec, 0x00, 0x48, 0x48,
-+ 0x90, 0x20, 0x90, 0x90, 0x48, 0x48, 0x00, 0x00,
-+ 0x01, 0x04, 0x08, 0x10, 0x6f, 0x04, 0x04, 0x07,
-+ 0x08, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0xc0, 0x40, 0x20, 0x10, 0xec, 0x00, 0x00, 0xe0,
-+ 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00,
-+ 0x04, 0x3c, 0x04, 0x1f, 0x69, 0x0f, 0x09, 0x0f,
-+ 0x04, 0x3f, 0x04, 0x7f, 0x08, 0x30, 0x00, 0x00,
-+ 0x48, 0x70, 0x44, 0xfc, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x20, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x27, 0x24, 0x24, 0x27,
-+ 0x24, 0x24, 0x24, 0x23, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48, 0x48, 0xc8,
-+ 0x08, 0x28, 0x28, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1e, 0x12, 0x12, 0x12, 0x12, 0x7f, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x47, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0x48, 0xfc, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x11, 0x1f, 0x11,
-+ 0x11, 0x7f, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x28, 0x28, 0x30, 0x27,
-+ 0x24, 0x24, 0x24, 0x27, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x98, 0x78, 0x08, 0xc8,
-+ 0x48, 0x48, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x00, 0x1f,
-+ 0x10, 0x17, 0x10, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf0,
-+ 0x10, 0xd0, 0x10, 0xd0, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x3f, 0x04, 0x1f, 0x04, 0x7f, 0x01, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x7f, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xfc, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x07, 0x18,
-+ 0x7f, 0x11, 0x1f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xc0, 0x80,
-+ 0xf0, 0x10, 0xf0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x10, 0x20, 0x40,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x04, 0x08, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x47, 0x18, 0x7f, 0x11, 0x11,
-+ 0x1f, 0x13, 0x03, 0x05, 0x19, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xc0, 0x80, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x40, 0x24, 0x24, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x5e, 0x00, 0x00, 0x7f, 0x14,
-+ 0x14, 0x14, 0x14, 0x25, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x40, 0x7c, 0x40, 0xf8, 0x88,
-+ 0x50, 0x30, 0x68, 0x8c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x5f, 0x02, 0x06, 0x19, 0x6b,
-+ 0x0c, 0x35, 0x06, 0x0c, 0x30, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0x00, 0x48, 0x48, 0x50,
-+ 0xa0, 0xa0, 0x90, 0x88, 0x84, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x5c, 0x10, 0x1e, 0x10, 0x1f,
-+ 0x04, 0x1f, 0x6a, 0x25, 0x25, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x48, 0x28, 0x28, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x7f, 0x0f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x7f, 0x09, 0x1f, 0x69, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0xfc, 0x20, 0xf0, 0x2c, 0x60, 0x00, 0x00,
-+ 0x00, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x17, 0x10, 0x00, 0x00, 0x1f,
-+ 0x10, 0x21, 0x21, 0x42, 0x44, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf0, 0x90, 0x90, 0x90, 0xfc,
-+ 0xc0, 0x20, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x22, 0x12, 0x13, 0x02, 0x02, 0x12,
-+ 0x13, 0x22, 0x20, 0x40, 0x5f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x13, 0x12, 0x02, 0x02, 0x12,
-+ 0x13, 0x22, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x10, 0x17, 0x00, 0x00, 0x11,
-+ 0x11, 0x22, 0x24, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x44, 0xe4, 0xe8, 0xf0, 0x60,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x03, 0x22, 0x12, 0x12, 0x03, 0x02, 0x10,
-+ 0x10, 0x21, 0x21, 0x42, 0x44, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x22, 0x12, 0x13, 0x04, 0x04, 0x1a,
-+ 0x13, 0x21, 0x22, 0x42, 0x44, 0x08, 0x00, 0x00,
-+ 0x08, 0xc8, 0x28, 0x28, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0x28, 0x28, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x07, 0x24, 0x14, 0x17, 0x04, 0x04, 0x15,
-+ 0x15, 0x25, 0x25, 0x44, 0x47, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x88, 0xe8,
-+ 0x28, 0x28, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x27, 0x10, 0x13, 0x02, 0x02, 0x13,
-+ 0x10, 0x22, 0x22, 0x44, 0x48, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x07, 0x20, 0x13, 0x12, 0x02, 0x02, 0x13,
-+ 0x11, 0x20, 0x27, 0x41, 0x42, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8,
-+ 0xf0, 0x00, 0xfc, 0x50, 0x48, 0x48, 0x00, 0x00,
-+ 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
-+ 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x12, 0x1f, 0x11, 0x14,
-+ 0x17, 0x15, 0x1d, 0x22, 0x25, 0x58, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0xe8, 0x10, 0xf0, 0x00,
-+ 0x70, 0x54, 0x54, 0xcc, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x11, 0x1f, 0x11, 0x13,
-+ 0x13, 0x15, 0x15, 0x29, 0x31, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x90,
-+ 0x50, 0x50, 0x34, 0x2c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x10, 0x17, 0x30, 0x50, 0x13, 0x10,
-+ 0x07, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00,
-+ 0xc0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x17, 0x14, 0x17, 0x14, 0x17,
-+ 0x10, 0x1f, 0x11, 0x27, 0x21, 0x4f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xd0, 0x50, 0xd0, 0x50, 0xd0,
-+ 0x10, 0xf0, 0x14, 0xcc, 0x0c, 0xe4, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x0f, 0x00, 0x40, 0x41, 0x5d, 0x55, 0x55, 0x55,
-+ 0x5d, 0x55, 0x41, 0x46, 0x7f, 0x40, 0x00, 0x00,
-+ 0xe0, 0x40, 0x88, 0x08, 0xf8, 0x98, 0x68, 0x28,
-+ 0x58, 0x98, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x22, 0x12, 0x0a, 0x06,
-+ 0x05, 0x04, 0x08, 0x10, 0x20, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x90, 0x70, 0x1c, 0x10, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x06, 0x3c, 0x04, 0x04, 0x04, 0x7f, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x09, 0x09, 0x09, 0x7f,
-+ 0x08, 0x0c, 0x12, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0xc8,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1f, 0x2a, 0x2a, 0x4a, 0x12,
-+ 0x14, 0x24, 0x08, 0x11, 0x01, 0x06, 0x00, 0x00,
-+ 0x08, 0x28, 0x28, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x3f, 0x04, 0x04, 0x7f, 0x08,
-+ 0x0a, 0x09, 0x11, 0x1f, 0x70, 0x00, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x2a, 0x2a, 0x2a, 0x7f, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x21, 0x00, 0x00,
-+ 0x08, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xe8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x01, 0x06, 0x3c, 0x04, 0x04, 0x7f, 0x04, 0x04,
-+ 0x3f, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x14, 0x22, 0x5d, 0x00, 0x7f,
-+ 0x10, 0x1e, 0x22, 0x02, 0x02, 0x0c, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x02, 0x3c, 0x06, 0x19, 0x64, 0x04, 0x7f,
-+ 0x0c, 0x0e, 0x15, 0x25, 0x44, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x22, 0x12, 0x15, 0x7e, 0x14, 0x15, 0x14, 0x7f,
-+ 0x14, 0x14, 0x14, 0x24, 0x25, 0x46, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x68, 0x58, 0x8c, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x2a, 0x2a, 0x54, 0x54, 0x2a, 0x2a,
-+ 0x00, 0x7f, 0x08, 0x08, 0x0f, 0x78, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x22, 0x22,
-+ 0x3e, 0x14, 0x14, 0x14, 0x24, 0x43, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x08, 0x1c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x7f, 0x49, 0x49, 0x7f,
-+ 0x4c, 0x1a, 0x19, 0x29, 0x48, 0x08, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x0c, 0x12, 0x22, 0x7f, 0x01,
-+ 0x3d, 0x25, 0x25, 0x3d, 0x21, 0x03, 0x00, 0x00,
-+ 0x08, 0x48, 0xc8, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x10, 0x1f,
-+ 0x2b, 0x4b, 0x15, 0x25, 0x09, 0x16, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x3e, 0x2a, 0x36, 0x2a, 0x2a,
-+ 0x26, 0x00, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x18, 0x00, 0xf8, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2a, 0x3e, 0x00, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x14, 0x1e, 0x70, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x7f, 0x15, 0x75, 0x15, 0x35,
-+ 0x5c, 0x0e, 0x15, 0x24, 0x44, 0x04, 0x00, 0x00,
-+ 0x88, 0x28, 0x28, 0xe8, 0x28, 0xe8, 0x28, 0x68,
-+ 0xe8, 0x28, 0x28, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x12, 0x12, 0x7f, 0x12, 0x14, 0x0a, 0x11, 0x1f,
-+ 0x20, 0x5f, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x08, 0x48, 0xc8, 0x48, 0x48, 0x48, 0x48, 0xc8,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x24, 0x49, 0x24, 0x3f, 0x24, 0x3f, 0x24, 0x3f,
-+ 0x04, 0x7f, 0x0e, 0x15, 0x64, 0x04, 0x00, 0x00,
-+ 0x88, 0x28, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0x28, 0xe8, 0x28, 0x08, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x14, 0x7f, 0x55, 0x7f, 0x00, 0x3e,
-+ 0x00, 0x7f, 0x2a, 0x29, 0x49, 0x18, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x0a, 0x11, 0x3f, 0x40, 0x3f, 0x2d,
-+ 0x3f, 0x12, 0x1a, 0x15, 0x24, 0x48, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x08, 0x88, 0x98, 0x00, 0x00,
-+ 0x04, 0x04, 0x0a, 0x11, 0x3f, 0x40, 0x3f, 0x2d,
-+ 0x3f, 0x12, 0x12, 0x2d, 0x25, 0x49, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0xa8, 0x68, 0x68, 0x28,
-+ 0x38, 0x28, 0x4c, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x0a, 0x11, 0x3f, 0x40, 0x3f, 0x2d,
-+ 0x3f, 0x12, 0x12, 0x2d, 0x25, 0x49, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0x28, 0x68, 0x68, 0xa8, 0xa8,
-+ 0x28, 0x28, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x3e, 0x49, 0x3e, 0x2a,
-+ 0x2a, 0x3e, 0x14, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xc8, 0x48,
-+ 0x68, 0x58, 0x8c, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x21, 0x3e, 0x32, 0x5e,
-+ 0x10, 0x3f, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0a, 0x7f, 0x2e, 0x2e, 0x3f, 0x51,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x08, 0xe8, 0xa8, 0x28, 0xa8, 0xe8, 0x68, 0x28,
-+ 0x28, 0x28, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x7c, 0x28, 0x2a, 0x2a, 0x7e, 0x12,
-+ 0x1e, 0x70, 0x10, 0x11, 0x21, 0x42, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0xa8, 0xa8, 0xa8, 0xfc, 0x90,
-+ 0x90, 0xfc, 0x90, 0x10, 0x10, 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,
-+ 0x10, 0x10, 0x7f, 0x2a, 0x2a, 0x2a, 0x7e, 0x12,
-+ 0x1e, 0x72, 0x12, 0x14, 0x24, 0x49, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0xa8, 0xa8, 0xa8, 0xfc, 0x90,
-+ 0x90, 0xfc, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1e, 0x23, 0x22, 0x7a, 0x2a,
-+ 0x2a, 0x2a, 0x3a, 0x22, 0x03, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7e, 0x12, 0x12, 0x13, 0x22, 0x4c, 0x00,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3f, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x08, 0x3e, 0x00,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3f, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x1f, 0x21, 0x02, 0x7f, 0x06,
-+ 0x0a, 0x1f, 0x62, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0xf8, 0x08, 0x80, 0xfc, 0x40,
-+ 0x20, 0xf0, 0x2c, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x2a, 0x2a, 0x55, 0x54, 0x2a, 0x2a,
-+ 0x00, 0x7f, 0x08, 0x08, 0x0e, 0x79, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x00, 0x3f, 0x22, 0x22, 0x3e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x49, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x3e, 0x22,
-+ 0x3f, 0x22, 0x3e, 0x22, 0x3f, 0x61, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x40, 0x40,
-+ 0xf8, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x0c, 0x2a, 0x2a, 0x59, 0x14, 0x22, 0x3f,
-+ 0x22, 0x5f, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x20, 0x30, 0xa8, 0xa8, 0x60, 0x50, 0x88, 0xfc,
-+ 0x08, 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x08, 0x7f, 0x3e, 0x22,
-+ 0x3e, 0x3e, 0x22, 0x3e, 0x12, 0x61, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x2a, 0x54, 0x2a, 0x3e, 0x2b, 0x3e, 0x2a, 0x3e,
-+ 0x08, 0x7e, 0x1c, 0x2a, 0x49, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x23, 0x7e, 0x23, 0x3e,
-+ 0x22, 0x3e, 0x3e, 0x20, 0x3e, 0x21, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x40, 0x40, 0xf8, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x2b, 0x5d, 0x2b, 0x4d, 0x1a, 0x61,
-+ 0x09, 0x34, 0x0a, 0x34, 0x09, 0x32, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x06, 0x38, 0x7f, 0x08, 0x7f, 0x6b, 0x5d, 0x7f,
-+ 0x08, 0x7f, 0x08, 0x7e, 0x3a, 0x55, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x3f, 0x25, 0x2f, 0x2a, 0x2f,
-+ 0x2a, 0x2f, 0x3f, 0x33, 0x3f, 0x50, 0x00, 0x00,
-+ 0x20, 0xa0, 0x20, 0xa0, 0x78, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xe8, 0x68, 0xc8, 0xd8, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x77, 0x55, 0x77, 0x24, 0x3f,
-+ 0x24, 0x7e, 0x24, 0x3e, 0x24, 0x3f, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x10, 0x10, 0x20, 0x40,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x12, 0x12, 0x2e, 0x45,
-+ 0x04, 0x08, 0x10, 0x01, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x48, 0x48, 0x48, 0xc8,
-+ 0x48, 0xa8, 0x88, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0f, 0x10, 0x11, 0x39, 0x57,
-+ 0x13, 0x14, 0x18, 0x1f, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x48, 0x48,
-+ 0x48, 0xc8, 0x48, 0xc8, 0x48, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x10, 0x10, 0x3f, 0x52, 0x12,
-+ 0x1f, 0x12, 0x12, 0x1f, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48, 0x48,
-+ 0xc8, 0x48, 0x48, 0xc8, 0x48, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x12, 0x3f, 0x42, 0x1f, 0x12,
-+ 0x1f, 0x12, 0x1f, 0x12, 0x12, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0xe8, 0x08, 0xc8, 0x48,
-+ 0xc8, 0x48, 0xc8, 0x48, 0xc8, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x3f, 0x4f, 0x08, 0x0f,
-+ 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0xc8, 0x88, 0x88, 0x88,
-+ 0xc8, 0x48, 0xc8, 0x48, 0xc8, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x14, 0x12, 0x3f, 0x40, 0x7e,
-+ 0x10, 0x1e, 0x22, 0x02, 0x02, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x13, 0x1c,
-+ 0x70, 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x10, 0x20, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x04, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x27, 0x24, 0x27, 0x24, 0x27,
-+ 0x24, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x90, 0xf0, 0x90, 0xf0,
-+ 0x90, 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x24, 0x35, 0x2b, 0x29, 0x21,
-+ 0x25, 0x25, 0x29, 0x29, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0xa0, 0xf8, 0x20, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x27, 0x24, 0x3f, 0x27, 0x24,
-+ 0x27, 0x27, 0x27, 0x2c, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x90, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0xf0, 0x18, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x21, 0x27, 0x38, 0x27, 0x25,
-+ 0x27, 0x22, 0x25, 0x29, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0x40, 0xf0, 0x08, 0x70, 0x50,
-+ 0x70, 0x20, 0x50, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x20, 0x23, 0x22, 0x23, 0x20, 0x2f,
-+ 0x29, 0x2f, 0x29, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0x78,
-+ 0x48, 0x78, 0x48, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x3f, 0x04, 0x04, 0x08, 0x11, 0x21,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xc0, 0x40, 0x44, 0x44, 0x3c, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x7f, 0x11,
-+ 0x11, 0x11, 0x11, 0x21, 0x21, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x7f, 0x11, 0x11,
-+ 0x11, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x01, 0x09, 0x09, 0x08,
-+ 0x7f, 0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x20, 0x20, 0x20,
-+ 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x21,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x01, 0x21, 0x13, 0x12, 0x07, 0x1a, 0x13, 0x22,
-+ 0x23, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x20, 0xf8, 0x40, 0xf0, 0x40, 0xf0, 0x40,
-+ 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x01,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x80, 0x40, 0x20,
-+ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x09, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x13, 0x12,
-+ 0x12, 0x12, 0x12, 0x22, 0x22, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10,
-+ 0x10, 0x10, 0x60, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x1e, 0x12, 0x12, 0x32, 0x2a, 0x4c,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0xb0, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x21, 0x49, 0x0c, 0x12, 0x11,
-+ 0x3f, 0x52, 0x12, 0x12, 0x1e, 0x10, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x1f, 0x02, 0x7f, 0x04, 0x08,
-+ 0x17, 0x64, 0x04, 0x05, 0x04, 0x03, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0xf0, 0x80, 0xfc, 0x40, 0x20,
-+ 0xd0, 0x4c, 0x40, 0x80, 0x10, 0xf0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x13, 0x12, 0x12, 0x12, 0x1f, 0x12,
-+ 0x13, 0x13, 0x25, 0x25, 0x49, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x90, 0xa8, 0x28, 0xd0, 0x14,
-+ 0x24, 0x08, 0x10, 0x24, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x14, 0x17, 0x14, 0x17,
-+ 0x14, 0x14, 0x17, 0x23, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x88, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x28, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x1f, 0x17, 0x10, 0x13, 0x12, 0x13, 0x13,
-+ 0x12, 0x13, 0x11, 0x27, 0x20, 0x4f, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x80, 0xf0, 0x10, 0xf0, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0x20, 0xe0, 0x38, 0x00, 0x00,
-+ 0x00, 0x1f, 0x18, 0x14, 0x15, 0x1f, 0x12, 0x1a,
-+ 0x1a, 0x1f, 0x1a, 0x22, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0x20, 0xfc, 0x54, 0x98,
-+ 0x90, 0x90, 0xb0, 0x28, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x1f, 0x15, 0x15, 0x1f, 0x15, 0x17, 0x15,
-+ 0x17, 0x15, 0x1f, 0x25, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x10, 0xe0, 0x40, 0x7c, 0x50,
-+ 0x50, 0x50, 0xd0, 0x50, 0x90, 0x90, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x17, 0x16, 0x1a, 0x1f, 0x18,
-+ 0x1f, 0x1d, 0x1d, 0x2f, 0x28, 0x49, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xa0, 0xfc, 0xc8, 0xa8,
-+ 0xa8, 0x90, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
-+ 0x04, 0x04, 0x08, 0x10, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x10, 0x08, 0xf8, 0x04, 0x04, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x08, 0x15, 0x7e, 0x04, 0x18,
-+ 0x63, 0x0c, 0x01, 0x0e, 0x00, 0x1f, 0x00, 0x00,
-+ 0x00, 0x40, 0xf0, 0x10, 0x28, 0xfc, 0x40, 0xb0,
-+ 0x0c, 0x40, 0x90, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x5f, 0x10, 0x1f, 0x17, 0x1f,
-+ 0x02, 0x7f, 0x1a, 0x64, 0x19, 0x07, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0xf0, 0x10, 0xd0, 0xf0, 0xf0,
-+ 0x00, 0xfc, 0xb0, 0xcc, 0x20, 0xd0, 0x00, 0x00,
-+ 0x12, 0x1f, 0x24, 0x7f, 0x24, 0x3e, 0x24, 0x3f,
-+ 0x20, 0x1f, 0x02, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x48, 0xfc, 0x90, 0xf8, 0x90, 0xf8, 0x90, 0xfc,
-+ 0x80, 0xf0, 0x60, 0x80, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x05, 0x39, 0x21, 0x3d, 0x21, 0x21, 0x3f, 0x01,
-+ 0x3f, 0x04, 0x02, 0x01, 0x06, 0x78, 0x00, 0x00,
-+ 0x00, 0x78, 0x08, 0x78, 0x08, 0x08, 0xf8, 0x00,
-+ 0xf0, 0x20, 0x40, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x3f, 0x24,
-+ 0x3f, 0x0f, 0x02, 0x01, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf8, 0x48,
-+ 0xf8, 0xe0, 0x40, 0x80, 0xc0, 0x38, 0x00, 0x00,
-+ 0x13, 0x17, 0x54, 0x5b, 0x33, 0x1b, 0x2a, 0x23,
-+ 0x40, 0x1f, 0x04, 0x03, 0x06, 0x38, 0x00, 0x00,
-+ 0x90, 0xd4, 0x34, 0xb8, 0xd0, 0x98, 0xa4, 0xc4,
-+ 0x00, 0xe0, 0x40, 0x80, 0xc0, 0x38, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x79, 0x49, 0x42, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x00, 0x78, 0x48, 0x49, 0x49, 0x49, 0x49,
-+ 0x49, 0x79, 0x4a, 0x42, 0x04, 0x08, 0x00, 0x00,
-+ 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x00, 0x78, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x79, 0x49, 0x42, 0x04, 0x08, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xa0,
-+ 0xa0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x48, 0x48, 0x48, 0x4f, 0x48,
-+ 0x48, 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x49, 0x4a, 0x4a, 0x4c,
-+ 0x4f, 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4a, 0x4a, 0x4a, 0x4b, 0x48,
-+ 0x48, 0x48, 0x79, 0x4a, 0x44, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x60,
-+ 0xa0, 0xa0, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x49, 0x49, 0x49, 0x49, 0x49,
-+ 0x49, 0x49, 0x7a, 0x42, 0x44, 0x00, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4f, 0x48, 0x49, 0x49, 0x49,
-+ 0x49, 0x79, 0x49, 0x42, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x00, 0xe0, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x48, 0x49, 0x49, 0x49,
-+ 0x4f, 0x79, 0x49, 0x41, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0xe0, 0x60, 0xa0, 0xa0, 0x20, 0x60, 0xa0,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x49, 0x4f, 0x48, 0x48,
-+ 0x48, 0x48, 0x79, 0x49, 0x42, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x90, 0x88, 0x3c, 0xe4, 0xa0, 0xa0,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x00, 0x78, 0x4b, 0x4a, 0x4a, 0x4a, 0x4a,
-+ 0x4a, 0x4b, 0x7a, 0x4a, 0x42, 0x02, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xa8,
-+ 0x98, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x4a, 0x4a, 0x4f, 0x48,
-+ 0x48, 0x48, 0x79, 0x49, 0x42, 0x04, 0x00, 0x00,
-+ 0x60, 0x20, 0x20, 0x20, 0x10, 0x10, 0xf8, 0x94,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x02, 0x01, 0x06, 0x78,
-+ 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x40, 0x80, 0x60, 0x1c,
-+ 0xe0, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x49, 0x49, 0x49, 0x49,
-+ 0x79, 0x4a, 0x42, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x88,
-+ 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x48, 0x48, 0x4f, 0x48,
-+ 0x48, 0x49, 0x79, 0x42, 0x44, 0x00, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0xc0, 0x44, 0x64, 0xe8, 0xf0,
-+ 0xe0, 0x50, 0x50, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x4b, 0x4a, 0x4a, 0x4a,
-+ 0x4a, 0x4b, 0x7a, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xc8, 0x48, 0x48, 0x48,
-+ 0x48, 0xc8, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x12, 0x34, 0x4c, 0x0d, 0x13,
-+ 0x60, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x60, 0x50, 0x88, 0x08, 0xfc,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4f, 0x48, 0x48, 0x4a, 0x49,
-+ 0x48, 0x48, 0x78, 0x48, 0x41, 0x07, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x50, 0x90, 0x90,
-+ 0xa0, 0x60, 0x50, 0x88, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
-+ 0x4a, 0x4a, 0x7a, 0x4c, 0x47, 0x08, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0,
-+ 0xa0, 0x90, 0xd0, 0xa8, 0xf8, 0x14, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4a, 0x4b, 0x4a, 0x4a,
-+ 0x4a, 0x7b, 0x4a, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x48,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x28, 0x2f, 0x28, 0x28, 0x2e, 0x38,
-+ 0x60, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x80, 0x88, 0x90, 0xe0, 0x80, 0x84, 0x84, 0x7c,
-+ 0x00, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x07,
-+ 0x04, 0x04, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0xc0,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4a, 0x4b, 0x4a, 0x4a,
-+ 0x4b, 0x7a, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48,
-+ 0xf8, 0x48, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x49, 0x49, 0x49, 0x49,
-+ 0x49, 0x49, 0x79, 0x49, 0x47, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x72, 0x52, 0x5f, 0x55, 0x55, 0x55,
-+ 0x5d, 0x53, 0x72, 0x52, 0x44, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0xc8, 0x48, 0x48, 0x30,
-+ 0x30, 0x10, 0xb0, 0xa8, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x02, 0x7a, 0x4a, 0x4a, 0x4b, 0x4a, 0x48,
-+ 0x4a, 0x4a, 0x7a, 0x4a, 0x43, 0x02, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x40,
-+ 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x49, 0x4b, 0x4d, 0x49,
-+ 0x49, 0x49, 0x79, 0x49, 0x41, 0x01, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0x08, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4a, 0x4a, 0x4d, 0x49, 0x49,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0x28, 0x28,
-+ 0xe8, 0x30, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x48, 0x4f, 0x48, 0x48,
-+ 0x4b, 0x78, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x00, 0x1f, 0x00, 0x7f,
-+ 0x04, 0x07, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xe0, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x10, 0x17, 0x10, 0x17,
-+ 0x14, 0x14, 0x14, 0x27, 0x24, 0x40, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0xc8, 0x28, 0xa8,
-+ 0xb0, 0x90, 0xb4, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x49, 0x4f, 0x48, 0x48,
-+ 0x4b, 0x78, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0x88, 0x3c, 0xc4, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x49, 0x49, 0x4b, 0x4c, 0x48,
-+ 0x48, 0x78, 0x48, 0x40, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x08, 0x14, 0x94, 0x90,
-+ 0x60, 0x60, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x49, 0x4f, 0x49, 0x49, 0x49,
-+ 0x49, 0x7f, 0x49, 0x41, 0x02, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x20,
-+ 0x20, 0xfc, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x49, 0x4b, 0x4c, 0x48,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x02, 0x04, 0x00, 0x19, 0x62,
-+ 0x0f, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x44, 0x48, 0xb0, 0x10, 0x08,
-+ 0xe4, 0x20, 0x20, 0x20, 0xe0, 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, 0x1e, 0x12, 0x12, 0x12, 0x12, 0x1e, 0x1a,
-+ 0x18, 0x14, 0x15, 0x22, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0xf8, 0x60,
-+ 0x50, 0x88, 0x08, 0x00, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x4b, 0x4a, 0x4a, 0x4a,
-+ 0x4b, 0x7b, 0x4a, 0x42, 0x03, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0x38, 0x38, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4c, 0x4b, 0x48, 0x48,
-+ 0x4f, 0x48, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x30, 0xc0, 0x40, 0x7c,
-+ 0xc0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x48, 0x4f, 0x48, 0x48,
-+ 0x49, 0x4e, 0x78, 0x48, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x50, 0xfc, 0x40, 0x88,
-+ 0x90, 0xe0, 0x80, 0x88, 0x88, 0x78, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x09, 0x09, 0x09, 0x3f, 0x20,
-+ 0x27, 0x24, 0x24, 0x27, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0x20, 0xf8, 0x08,
-+ 0xc8, 0x48, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x7a, 0x4c, 0x48, 0x48, 0x49, 0x4b,
-+ 0x4d, 0x79, 0x49, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x78, 0x00, 0x00, 0x80, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x11, 0x1f, 0x00, 0x7f,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x01, 0x7f, 0x49, 0x49, 0x4f, 0x49, 0x49,
-+ 0x49, 0x7f, 0x49, 0x41, 0x01, 0x03, 0x00, 0x00,
-+ 0xa0, 0x28, 0x24, 0x24, 0x20, 0xfc, 0x28, 0x28,
-+ 0x90, 0x10, 0x34, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x01, 0x78, 0x4b, 0x48, 0x4f, 0x49, 0x4a,
-+ 0x4b, 0x7e, 0x4a, 0x42, 0x02, 0x00, 0x00, 0x00,
-+ 0x10, 0xa0, 0xe0, 0x90, 0x80, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x48, 0x48, 0x48, 0x58, 0x40, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x4b, 0x49, 0x49, 0x4f,
-+ 0x48, 0x7b, 0x4a, 0x42, 0x03, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf0, 0x10, 0x10, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x4b, 0x4a, 0x4b, 0x4a, 0x4b,
-+ 0x4a, 0x79, 0x48, 0x41, 0x02, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x40, 0x80, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x48, 0x4f, 0x48, 0x49,
-+ 0x4b, 0x7c, 0x4f, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x80, 0x88, 0xe8, 0x90, 0x90, 0xfc, 0x40, 0xf8,
-+ 0x30, 0x40, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x01, 0x01,
-+ 0x7f, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x20, 0x10,
-+ 0xfc, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x48, 0x4b, 0x4a, 0x4a, 0x4b,
-+ 0x4a, 0x7a, 0x4b, 0x42, 0x02, 0x02, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x49, 0x48, 0x48, 0x4f, 0x49,
-+ 0x49, 0x7f, 0x49, 0x41, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xf0, 0x40, 0x40, 0xfc, 0x10,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4f, 0x4a, 0x4a, 0x4a, 0x4b,
-+ 0x4a, 0x7a, 0x4c, 0x44, 0x08, 0x13, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xe8, 0x28, 0x44, 0xa4, 0x90,
-+ 0x90, 0x80, 0xa0, 0x90, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4a, 0x4a, 0x4b, 0x4a,
-+ 0x4a, 0x7a, 0x4c, 0x44, 0x0b, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x72, 0x57, 0x55, 0x59, 0x5f, 0x51,
-+ 0x55, 0x75, 0x55, 0x45, 0x07, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0xe8, 0x28, 0x28, 0xe8, 0x28,
-+ 0xe8, 0x28, 0x28, 0xf0, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4c, 0x49, 0x4a, 0x48,
-+ 0x4b, 0x78, 0x48, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa0, 0x24, 0x1c, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0f, 0x18, 0x1f, 0x28, 0x4f, 0x08, 0x0f,
-+ 0x00, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0xfc, 0x40, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x07, 0x7c, 0x4a, 0x49, 0x4a, 0x4c, 0x4f,
-+ 0x4c, 0x7a, 0x49, 0x41, 0x02, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0xa8, 0x10, 0xa8, 0xc8, 0xf8,
-+ 0xc8, 0xa8, 0x30, 0x90, 0xa8, 0x44, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x48, 0x4b, 0x4a, 0x4b, 0x4a,
-+ 0x4b, 0x78, 0x4f, 0x40, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x7a, 0x4a, 0x4c, 0x49, 0x4a, 0x48,
-+ 0x4a, 0x7a, 0x4c, 0x41, 0x02, 0x0c, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xd0, 0xa0, 0x10, 0x50, 0x40,
-+ 0x48, 0xc8, 0xb0, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x4a, 0x4c, 0x4b, 0x4a,
-+ 0x4a, 0x7b, 0x4a, 0x42, 0x03, 0x02, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x08, 0x10, 0xe0, 0x38, 0x08,
-+ 0x08, 0xb8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x4e, 0x48, 0x4b, 0x48,
-+ 0x48, 0x78, 0x4d, 0x45, 0x09, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xec, 0x00, 0xf8, 0x10,
-+ 0xa0, 0x50, 0x48, 0x04, 0x14, 0xf0, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x4b, 0x4a, 0x4a, 0x4b, 0x4a,
-+ 0x4a, 0x7b, 0x4c, 0x44, 0x09, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x50,
-+ 0x48, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x01, 0x7f, 0x49, 0x49, 0x4f, 0x49, 0x4b,
-+ 0x4b, 0x7d, 0x45, 0x09, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x80, 0x38, 0x28, 0x28, 0xe8, 0x28, 0xa8,
-+ 0xa8, 0x78, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4b, 0x48, 0x4f, 0x48, 0x49,
-+ 0x4e, 0x79, 0x4e, 0x41, 0x06, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xe0, 0x20, 0xfc, 0x88, 0xc8,
-+ 0xf0, 0x60, 0xd0, 0x48, 0x44, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4c, 0x48, 0x49, 0x4a,
-+ 0x48, 0x7b, 0x4d, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x88, 0xf0, 0x90, 0xa0, 0x60,
-+ 0x90, 0xfc, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x79, 0x49, 0x4b, 0x4c, 0x48, 0x49,
-+ 0x4f, 0x79, 0x49, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0x20, 0xa0, 0x60, 0x98,
-+ 0xf4, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x70, 0x57, 0x54, 0x57, 0x54, 0x57,
-+ 0x56, 0x76, 0x57, 0x4a, 0x08, 0x10, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0xc8, 0x28, 0xa8,
-+ 0xb0, 0x90, 0xb4, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x4a, 0x4b, 0x48, 0x49,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x3f, 0x04, 0x02, 0x3f, 0x21, 0x5f, 0x11,
-+ 0x11, 0x01, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x80, 0xfc, 0x08, 0xf0, 0x10,
-+ 0x30, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x01, 0x7f, 0x49, 0x49, 0x4f, 0x49, 0x49,
-+ 0x4b, 0x7b, 0x4d, 0x49, 0x01, 0x01, 0x00, 0x00,
-+ 0x50, 0x90, 0x10, 0x14, 0x34, 0xf8, 0x50, 0x90,
-+ 0x50, 0x70, 0x28, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x00, 0x02, 0x7a, 0x4b, 0x48, 0x4f, 0x48, 0x4b,
-+ 0x4a, 0x7a, 0x4a, 0x42, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x40, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x02, 0x02, 0x77, 0x54, 0x57, 0x54, 0x57, 0x54,
-+ 0x54, 0x77, 0x54, 0x47, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0x38, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0x28, 0xa8, 0x30, 0xa0, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x00, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x49, 0x48, 0x4b, 0x4a, 0x4c,
-+ 0x4b, 0x7a, 0x4a, 0x42, 0x02, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x48, 0x40,
-+ 0xf8, 0x48, 0x48, 0x48, 0x58, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x48, 0x4b, 0x4b, 0x4a, 0x4b,
-+ 0x4a, 0x7b, 0x4a, 0x42, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x28, 0xa8, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x48, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x71, 0x52, 0x57, 0x58, 0x57, 0x54,
-+ 0x56, 0x75, 0x56, 0x45, 0x04, 0x05, 0x00, 0x00,
-+ 0x80, 0x80, 0x40, 0x20, 0xf0, 0x08, 0xac, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x51, 0x57, 0x55, 0x55, 0x57,
-+ 0x51, 0x73, 0x53, 0x45, 0x09, 0x01, 0x00, 0x00,
-+ 0x08, 0x08, 0xe8, 0x28, 0xe8, 0x68, 0x68, 0xe8,
-+ 0x28, 0xa8, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x49, 0x49, 0x49, 0x48, 0x4b,
-+ 0x4a, 0x7c, 0x48, 0x40, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xa0, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4a, 0x4b, 0x4a, 0x4b,
-+ 0x4a, 0x7b, 0x4a, 0x45, 0x05, 0x08, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x00, 0xfc, 0xa4, 0x54, 0x54, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4b, 0x4a, 0x4b, 0x4a,
-+ 0x4b, 0x78, 0x4f, 0x40, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x88, 0xfc, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x00, 0x7b, 0x48, 0x49, 0x48, 0x4f, 0x49,
-+ 0x49, 0x7a, 0x4a, 0x44, 0x0b, 0x00, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x4b, 0x4a, 0x4b, 0x4b, 0x4a,
-+ 0x4b, 0x79, 0x4b, 0x44, 0x01, 0x0e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x20, 0xc0, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4f, 0x48, 0x49, 0x4e, 0x48,
-+ 0x4b, 0x7a, 0x4b, 0x42, 0x03, 0x02, 0x00, 0x00,
-+ 0x80, 0xf8, 0x90, 0xfc, 0xd8, 0xe0, 0x88, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x02, 0x7a, 0x4b, 0x48, 0x4f, 0x48, 0x4b,
-+ 0x4a, 0x7b, 0x4a, 0x40, 0x00, 0x0f, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x80, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0x50, 0x48, 0x7c, 0x84, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x48, 0x4a, 0x4a, 0x4a, 0x4a,
-+ 0x4a, 0x7a, 0x4a, 0x43, 0x01, 0x0e, 0x00, 0x00,
-+ 0x18, 0xe0, 0x04, 0xfc, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0xfc, 0x98, 0x04, 0x00, 0x00,
-+ 0x00, 0x07, 0x74, 0x54, 0x54, 0x54, 0x54, 0x55,
-+ 0x55, 0x75, 0x55, 0x44, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x68, 0xf8, 0x68, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x52, 0x52, 0x5f, 0x52, 0x5f,
-+ 0x52, 0x73, 0x54, 0x44, 0x08, 0x13, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0x20, 0x7c, 0xc8, 0x48, 0xa8,
-+ 0x28, 0x90, 0x90, 0xa8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x49, 0x48, 0x4f, 0x49, 0x49,
-+ 0x49, 0x79, 0x49, 0x41, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x02, 0x02, 0x7a, 0x4f, 0x4a, 0x4a, 0x4b, 0x4a,
-+ 0x4a, 0x7a, 0x4c, 0x44, 0x08, 0x13, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xbc, 0x40, 0x60, 0xbc, 0xd0,
-+ 0x90, 0xfc, 0xb0, 0xa8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x52, 0x5f, 0x5a, 0x5a, 0x5a,
-+ 0x7f, 0x57, 0x46, 0x0a, 0x12, 0x02, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x20, 0xfc, 0xd4, 0x98, 0x90,
-+ 0x90, 0x30, 0xa8, 0xa8, 0x44, 0x84, 0x00, 0x00,
-+ 0x00, 0x00, 0x77, 0x54, 0x54, 0x57, 0x54, 0x55,
-+ 0x55, 0x75, 0x55, 0x4a, 0x08, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0x90, 0xfc, 0x90, 0xd8,
-+ 0xf8, 0xf8, 0xfc, 0xbc, 0xd4, 0x90, 0x00, 0x00,
-+ 0x00, 0x04, 0x73, 0x52, 0x58, 0x54, 0x54, 0x50,
-+ 0x5e, 0x72, 0x53, 0x42, 0x05, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0xfc, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x49, 0x4b, 0x4a, 0x4f, 0x49,
-+ 0x49, 0x79, 0x49, 0x40, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0xfc, 0x08, 0xfc, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1e, 0x12, 0x12, 0x1e, 0x00, 0x3f, 0x01,
-+ 0x7f, 0x00, 0x1e, 0x12, 0x1e, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0xf0, 0x00, 0xf8, 0x00,
-+ 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x90, 0x00, 0x00,
-+ 0x05, 0x16, 0x2c, 0x12, 0x3f, 0x20, 0x4f, 0x08,
-+ 0x0f, 0x02, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x28, 0x70, 0xb0, 0x48, 0xfc, 0x08, 0xe0, 0x20,
-+ 0xe0, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x05, 0x75, 0x55, 0x57, 0x5c, 0x51, 0x5f,
-+ 0x52, 0x73, 0x52, 0x43, 0x04, 0x08, 0x00, 0x00,
-+ 0x20, 0x24, 0xf8, 0x20, 0xa4, 0xfc, 0x20, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x05, 0x05, 0x75, 0x5f, 0x55, 0x57, 0x55, 0x57,
-+ 0x55, 0x7f, 0x55, 0x45, 0x08, 0x11, 0x00, 0x00,
-+ 0x08, 0x10, 0x60, 0xc0, 0x40, 0x7c, 0x50, 0x50,
-+ 0x50, 0xd0, 0x50, 0x90, 0x90, 0x10, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x52, 0x57, 0x54, 0x57, 0x54,
-+ 0x57, 0x72, 0x5f, 0x42, 0x02, 0x03, 0x00, 0x00,
-+ 0x00, 0x38, 0xe8, 0x28, 0xa8, 0xb8, 0xa8, 0xa8,
-+ 0xb8, 0x28, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x02, 0x02, 0x73, 0x56, 0x5a, 0x5f, 0x52, 0x52,
-+ 0x52, 0x77, 0x50, 0x45, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0xa8, 0xa8, 0xfc, 0xa8, 0xa8,
-+ 0xa8, 0xfc, 0x00, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x49, 0x4f, 0x49, 0x49, 0x49,
-+ 0x49, 0x79, 0x48, 0x45, 0x05, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x20, 0xfc, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0xc0, 0x28, 0x14, 0xf4, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x4b, 0x4b, 0x4d, 0x49, 0x4b,
-+ 0x48, 0x7f, 0x4a, 0x42, 0x04, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0xb0, 0x78, 0x54, 0x10, 0xf8,
-+ 0x00, 0xfc, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x00, 0x07, 0x70, 0x5f, 0x50, 0x57, 0x55, 0x57,
-+ 0x54, 0x77, 0x54, 0x47, 0x05, 0x09, 0x00, 0x00,
-+ 0x80, 0xf8, 0x88, 0xfc, 0x88, 0xf8, 0xa8, 0xb8,
-+ 0x88, 0xf8, 0x88, 0xb8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x02, 0x02, 0x7b, 0x4d, 0x48, 0x48, 0x4f, 0x49,
-+ 0x49, 0x79, 0x4a, 0x44, 0x1f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x88, 0x00, 0xfc, 0x50,
-+ 0x50, 0x58, 0xe4, 0x44, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x48, 0x4b, 0x4a, 0x4b,
-+ 0x48, 0x7f, 0x48, 0x41, 0x06, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xb8, 0xa8, 0xb8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x01, 0x07, 0x79, 0x48, 0x4f, 0x49, 0x49, 0x49,
-+ 0x4b, 0x7a, 0x4a, 0x42, 0x02, 0x02, 0x00, 0x00,
-+ 0x10, 0xfc, 0x50, 0x40, 0xfc, 0xf0, 0x10, 0xf0,
-+ 0xf8, 0x08, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4c, 0x4a, 0x4a, 0x4c, 0x4b,
-+ 0x4a, 0x7f, 0x48, 0x47, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xa8, 0xa4, 0x94, 0x70, 0xf8,
-+ 0xa8, 0xfc, 0x00, 0xfc, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x49, 0x49, 0x49, 0x4b,
-+ 0x4b, 0x7a, 0x4b, 0x47, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0xf0, 0xf8,
-+ 0xf8, 0x48, 0xf8, 0xfc, 0x10, 0x10, 0x00, 0x00,
-+ 0x01, 0x06, 0x76, 0x55, 0x5f, 0x51, 0x52, 0x57,
-+ 0x59, 0x77, 0x55, 0x43, 0x03, 0x0c, 0x00, 0x00,
-+ 0x04, 0xf4, 0xb4, 0xb4, 0x74, 0x94, 0x94, 0xf4,
-+ 0x34, 0xd4, 0x54, 0x84, 0xc4, 0x0c, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4b, 0x4b, 0x4d, 0x49, 0x49,
-+ 0x49, 0x78, 0x4b, 0x42, 0x05, 0x08, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0xf8, 0x50, 0xf0, 0x50,
-+ 0xf0, 0xa0, 0xf0, 0x78, 0xc0, 0x7c, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4b, 0x4b, 0x4d, 0x49, 0x49,
-+ 0x49, 0x7f, 0x4a, 0x42, 0x05, 0x08, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0xf8, 0x50, 0xf0, 0x50,
-+ 0xf0, 0xfc, 0x48, 0x78, 0xc0, 0x7c, 0x00, 0x00,
-+ 0x01, 0x0f, 0x71, 0x55, 0x54, 0x5d, 0x55, 0x55,
-+ 0x5d, 0x75, 0x50, 0x45, 0x04, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xd0, 0x14, 0xd8, 0x50, 0x54,
-+ 0xd4, 0x4c, 0x00, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x17, 0x13, 0x6a, 0x2b, 0x13, 0x2a, 0x7b, 0x13,
-+ 0x21, 0x3f, 0x27, 0x24, 0x27, 0x20, 0x00, 0x00,
-+ 0xf8, 0xa8, 0xb0, 0xb0, 0xa8, 0x28, 0xb8, 0xa0,
-+ 0x00, 0xf8, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x4a, 0x4b, 0x4a, 0x4b,
-+ 0x4a, 0x7c, 0x4f, 0x43, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8,
-+ 0xa8, 0xc4, 0xfc, 0x20, 0xe0, 0x18, 0x00, 0x00,
-+ 0x1e, 0x12, 0x1e, 0x3f, 0x20, 0x2f, 0x22, 0x3f,
-+ 0x29, 0x2f, 0x2f, 0x29, 0x3f, 0x41, 0x00, 0x00,
-+ 0x78, 0x48, 0x78, 0xfc, 0x20, 0xa0, 0x20, 0xfc,
-+ 0x48, 0xa8, 0x30, 0xb0, 0x48, 0x84, 0x00, 0x00,
-+ 0x1e, 0x12, 0x1e, 0x7f, 0x02, 0x1f, 0x1f, 0x13,
-+ 0x1f, 0x0c, 0x7e, 0x12, 0x1e, 0x12, 0x00, 0x00,
-+ 0xf0, 0x90, 0xf0, 0xfc, 0x00, 0xf0, 0x90, 0xf0,
-+ 0xf0, 0x60, 0xfc, 0x90, 0xf0, 0x90, 0x00, 0x00,
-+ 0x00, 0x07, 0x74, 0x5f, 0x55, 0x57, 0x57, 0x54,
-+ 0x57, 0x77, 0x54, 0x47, 0x07, 0x04, 0x00, 0x00,
-+ 0x18, 0xf0, 0x88, 0xfc, 0x28, 0xf8, 0x88, 0x88,
-+ 0xfc, 0xc8, 0x28, 0xa8, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x03, 0x79, 0x49, 0x49, 0x4b, 0x48, 0x4f,
-+ 0x4a, 0x7b, 0x4b, 0x42, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xf0, 0xf0, 0xf8, 0x10, 0xfc,
-+ 0xa8, 0xb8, 0xb8, 0xac, 0xf8, 0x88, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x55, 0x55, 0x57, 0x5a, 0x52,
-+ 0x5f, 0x77, 0x56, 0x4a, 0x12, 0x02, 0x00, 0x00,
-+ 0x28, 0x28, 0xa8, 0x7c, 0x68, 0xa8, 0xbc, 0x28,
-+ 0xa8, 0x3c, 0xa8, 0xa8, 0x3c, 0x20, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x52, 0x5f, 0x5a, 0x5f, 0x5a,
-+ 0x5f, 0x72, 0x5f, 0x42, 0x02, 0x02, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x7c, 0xd4, 0xfc, 0xd4, 0xfc,
-+ 0xa8, 0x7c, 0x88, 0x7c, 0x28, 0x18, 0x00, 0x00,
-+ 0x01, 0x0f, 0x73, 0x57, 0x52, 0x5f, 0x57, 0x5f,
-+ 0x53, 0x7e, 0x53, 0x4f, 0x01, 0x07, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xa0, 0xf8, 0xa8, 0xe8, 0xbc,
-+ 0xac, 0x44, 0xf0, 0xfc, 0x10, 0xf8, 0x00, 0x00,
-+ 0x00, 0x07, 0x75, 0x55, 0x57, 0x55, 0x55, 0x57,
-+ 0x55, 0x75, 0x57, 0x46, 0x05, 0x09, 0x00, 0x00,
-+ 0x30, 0x50, 0x48, 0xfc, 0xac, 0xf4, 0xfc, 0x00,
-+ 0x78, 0x48, 0x78, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x0f, 0x08, 0x7f, 0x5b, 0x5b, 0x5f, 0x5d, 0x5f,
-+ 0x5b, 0x7b, 0x4e, 0x0b, 0x10, 0x27, 0x00, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x58, 0x58, 0xf8, 0x28, 0xf8,
-+ 0xf8, 0xe8, 0xa8, 0xe8, 0xa8, 0xf0, 0x00, 0x00,
-+ 0x03, 0x0e, 0x73, 0x5e, 0x53, 0x5c, 0x52, 0x5f,
-+ 0x55, 0x76, 0x57, 0x45, 0x06, 0x07, 0x00, 0x00,
-+ 0x80, 0x78, 0xa8, 0x28, 0xc8, 0x98, 0xf0, 0xfc,
-+ 0x28, 0xd8, 0xf8, 0x28, 0xd8, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x22, 0x22, 0x24, 0x2c, 0x34,
-+ 0x24, 0x24, 0x24, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x88, 0x98, 0xa8, 0xc8, 0x88,
-+ 0x98, 0x98, 0x78, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x22, 0x2c, 0x37, 0x20, 0x2f,
-+ 0x21, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x88, 0x68, 0xd8, 0x08, 0xe8,
-+ 0x28, 0x28, 0xc8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x29, 0x21, 0x2f, 0x21,
-+ 0x21, 0x22, 0x24, 0x28, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x98, 0x78, 0x08, 0xe8, 0x08,
-+ 0xe8, 0x28, 0x28, 0xc8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3f, 0x22, 0x27, 0x26, 0x2b,
-+ 0x32, 0x23, 0x22, 0x22, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xe8, 0x28, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x68, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x2f, 0x21, 0x2f, 0x22, 0x3f,
-+ 0x27, 0x24, 0x27, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0x08, 0xc8, 0x48, 0xf8,
-+ 0xc8, 0x48, 0xc8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x27, 0x21, 0x2f, 0x24, 0x22,
-+ 0x2f, 0x21, 0x27, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xc8, 0x08, 0xe8, 0x48, 0x88,
-+ 0xe8, 0x08, 0xc8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x37, 0x22, 0x3f, 0x24, 0x2f,
-+ 0x34, 0x25, 0x24, 0x23, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xd8, 0x88, 0xf8, 0x48, 0xe8,
-+ 0x58, 0x88, 0x28, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x3f, 0x20, 0x2e, 0x2a,
-+ 0x2e, 0x23, 0x3c, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0xa8, 0xf8, 0x88, 0xa8, 0xa8,
-+ 0x58, 0x78, 0xb8, 0x18, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x27, 0x22, 0x2f, 0x27, 0x27,
-+ 0x27, 0x24, 0x2f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xc8, 0x48, 0xe8, 0xc8, 0xc8,
-+ 0xe8, 0x48, 0xe8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x27, 0x24, 0x2f, 0x28, 0x2f, 0x2f,
-+ 0x28, 0x2f, 0x26, 0x38, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0x48, 0xe8, 0x28, 0xe8, 0xe8,
-+ 0x28, 0xe8, 0x68, 0x18, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x2f, 0x27, 0x25, 0x27, 0x25,
-+ 0x27, 0x2f, 0x20, 0x2f, 0x22, 0x3f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0xc8, 0x48, 0xc8, 0x48,
-+ 0xe8, 0xe8, 0x48, 0xe8, 0x48, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x27, 0x24, 0x27, 0x21, 0x3f, 0x2f,
-+ 0x2b, 0x2a, 0x2b, 0x2f, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0x48, 0xc8, 0x08, 0xf8, 0xe8,
-+ 0xa8, 0xa8, 0xa8, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x09, 0x15, 0x25, 0x7f, 0x00,
-+ 0x1f, 0x17, 0x14, 0x17, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x50, 0x90, 0xfc, 0x00,
-+ 0xf0, 0xd0, 0x50, 0xd0, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2f, 0x2a, 0x2f, 0x3f, 0x27, 0x24,
-+ 0x27, 0x3e, 0x27, 0x2c, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0xc8, 0x48,
-+ 0xd8, 0xa8, 0x48, 0x38, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x10, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10,
-+ 0x14, 0x19, 0x61, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0xa0,
-+ 0xa0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x13, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10,
-+ 0x14, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x60, 0x50, 0x48,
-+ 0x48, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x12, 0x7e, 0x12, 0x12, 0x12,
-+ 0x16, 0x1a, 0x62, 0x03, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x11, 0x7e, 0x12, 0x14, 0x10,
-+ 0x14, 0x18, 0x61, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x44, 0x48, 0x50, 0xc0,
-+ 0xa0, 0xa0, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x11,
-+ 0x15, 0x1a, 0x62, 0x04, 0x08, 0x00, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x12, 0x7e, 0x12, 0x12, 0x12,
-+ 0x16, 0x1a, 0x62, 0x02, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x13, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x11,
-+ 0x16, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x40, 0x60, 0xd0, 0x48,
-+ 0x44, 0x44, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x17, 0x7d, 0x11, 0x11, 0x11,
-+ 0x15, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x05, 0x3d, 0x05, 0x0d,
-+ 0x35, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x48, 0x50, 0x60, 0x48,
-+ 0x38, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x08, 0x0b, 0x18, 0x28, 0x49, 0x09,
-+ 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x50, 0x48, 0x5c, 0xe0, 0x20, 0x10, 0x14, 0x0c,
-+ 0x04, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x12, 0x7e, 0x12, 0x13, 0x13,
-+ 0x16, 0x1a, 0x64, 0x04, 0x09, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x50, 0x40, 0xf8, 0x08,
-+ 0x90, 0x90, 0x60, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x11, 0x7d, 0x13, 0x15, 0x11,
-+ 0x15, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0x10, 0xfc, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x13, 0x7e, 0x17, 0x12, 0x12,
-+ 0x17, 0x1a, 0x62, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xc8, 0x48, 0x48,
-+ 0xc8, 0x70, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x10, 0x7c, 0x11, 0x10, 0x10,
-+ 0x14, 0x18, 0x61, 0x00, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x50, 0x90, 0xa0, 0x68,
-+ 0x48, 0x90, 0x30, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x13,
-+ 0x16, 0x1a, 0x62, 0x02, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf4,
-+ 0x44, 0x48, 0x30, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x10, 0x11, 0x12, 0x7c, 0x10, 0x11, 0x13,
-+ 0x15, 0x19, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x80, 0xf8, 0x00, 0x00, 0x80, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x13, 0x10, 0x10, 0x7c, 0x13, 0x10, 0x10,
-+ 0x17, 0x18, 0x60, 0x00, 0x07, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x50, 0x88, 0xfc, 0x44, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x10, 0x10, 0x13, 0x7c, 0x10, 0x10, 0x10,
-+ 0x17, 0x18, 0x61, 0x01, 0x02, 0x04, 0x00, 0x00,
-+ 0x08, 0x88, 0x90, 0xfc, 0x90, 0x90, 0x90, 0x90,
-+ 0xfc, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x10, 0x7c, 0x13, 0x10, 0x13,
-+ 0x14, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0xfc,
-+ 0x40, 0x70, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x13, 0x7c, 0x10, 0x11, 0x12,
-+ 0x10, 0x1f, 0x60, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x50, 0x88, 0xfc, 0x84, 0x80, 0xf8, 0x40,
-+ 0x40, 0xfc, 0xc0, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x10, 0x11, 0x16, 0x7f, 0x12, 0x12, 0x13,
-+ 0x16, 0x1a, 0x63, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x10, 0x7f, 0x12, 0x12, 0x13,
-+ 0x16, 0x1a, 0x63, 0x02, 0x02, 0x02, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x11, 0x7d, 0x12, 0x10, 0x10,
-+ 0x17, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x48, 0x44, 0x44, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x11, 0x7c, 0x10, 0x13, 0x10,
-+ 0x17, 0x19, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x44, 0xa4, 0x18, 0x90, 0xe0, 0x90, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1e, 0x10, 0x1e, 0x12, 0x02,
-+ 0x7f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0x90, 0x80,
-+ 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x11, 0x17, 0x11, 0x7c, 0x10, 0x10, 0x11,
-+ 0x15, 0x1b, 0x65, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xa0, 0xa0, 0xa4, 0x28,
-+ 0x30, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x11, 0x7d, 0x11, 0x12, 0x14,
-+ 0x10, 0x1f, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x10, 0x98, 0x64, 0x44,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x7e, 0x13, 0x12, 0x12,
-+ 0x13, 0x1e, 0x64, 0x04, 0x08, 0x11, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0xa8, 0xc8, 0xc8, 0x98, 0x00, 0x00,
-+ 0x00, 0x17, 0x10, 0x13, 0x7e, 0x12, 0x13, 0x12,
-+ 0x14, 0x1b, 0x60, 0x00, 0x0f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0x48,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x11, 0x11, 0x11, 0x7d, 0x11, 0x13, 0x12,
-+ 0x16, 0x1a, 0x62, 0x02, 0x02, 0x02, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x70, 0x50, 0x50, 0xf8, 0x08,
-+ 0xe8, 0xa8, 0xa8, 0xe8, 0x88, 0x18, 0x00, 0x00,
-+ 0x01, 0x11, 0x13, 0x15, 0x7d, 0x11, 0x11, 0x11,
-+ 0x17, 0x1a, 0x63, 0x05, 0x09, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0xfc, 0x00, 0xf8, 0x48, 0x48, 0xb0, 0x00, 0x00,
-+ 0x08, 0x09, 0x11, 0x11, 0x30, 0x57, 0x10, 0x13,
-+ 0x14, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x40, 0xfc, 0xe0, 0x58,
-+ 0x44, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x12, 0x7e, 0x13, 0x12, 0x13,
-+ 0x16, 0x1b, 0x62, 0x05, 0x05, 0x08, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x00, 0xfc, 0xa4, 0x54, 0x54, 0x18, 0x00, 0x00,
-+ 0x08, 0x0c, 0x2a, 0x2a, 0x59, 0x14, 0x22, 0x3f,
-+ 0x21, 0x5f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x30, 0xa8, 0xa8, 0x60, 0x50, 0x88, 0xfc,
-+ 0x08, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x4a, 0x25, 0x21, 0x0f, 0x12, 0x23,
-+ 0x21, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x68, 0xfc, 0x68, 0xfc,
-+ 0x30, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x36, 0x22, 0x36, 0x22, 0x23, 0x3e, 0x2b,
-+ 0x08, 0x3e, 0x08, 0x08, 0x0e, 0x73, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x94, 0x14, 0x0c, 0xf8,
-+ 0x88, 0x90, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x15, 0x7d, 0x15, 0x17, 0x15,
-+ 0x15, 0x1d, 0x67, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x90, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x7f, 0x10, 0x17, 0x10,
-+ 0x14, 0x1c, 0x64, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0x00, 0xfc, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x7f,
-+ 0x0a, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x90, 0x10,
-+ 0x10, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x2a, 0x3e, 0x2b, 0x3e, 0x08, 0x3e,
-+ 0x0c, 0x71, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xfc, 0x28, 0x30, 0x20,
-+ 0x60, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x2f, 0x29, 0x2f, 0x79, 0x2f, 0x28, 0x2b,
-+ 0x2a, 0x3b, 0x6a, 0x0b, 0x0a, 0x08, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x78, 0x48, 0x78, 0x08, 0xe8,
-+ 0x28, 0xe8, 0x28, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0x17, 0x7c, 0x14, 0x17, 0x14,
-+ 0x16, 0x1e, 0x6b, 0x08, 0x1f, 0x00, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xfc, 0xb8, 0xc8, 0x78, 0xa0,
-+ 0xa8, 0xa8, 0xb8, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x11, 0x17, 0x10, 0x7f, 0x12, 0x13, 0x13,
-+ 0x16, 0x1b, 0x60, 0x0f, 0x01, 0x00, 0x00, 0x00,
-+ 0x60, 0x10, 0xfc, 0xa0, 0xf8, 0xb8, 0x38, 0xf8,
-+ 0x08, 0xf8, 0x10, 0xfc, 0x10, 0xb0, 0x00, 0x00,
-+ 0x00, 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12,
-+ 0x17, 0x18, 0x6f, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0xe8, 0x58, 0xe8, 0xf8, 0xe8,
-+ 0x58, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x17, 0x10, 0x13, 0x7e, 0x13, 0x10, 0x13,
-+ 0x17, 0x18, 0x63, 0x0d, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0x58,
-+ 0x58, 0xc8, 0x28, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x10, 0x17, 0x11, 0x7d, 0x12, 0x17, 0x10,
-+ 0x17, 0x1a, 0x62, 0x02, 0x03, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0xd8, 0x64, 0xfc, 0x00,
-+ 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x17, 0x11, 0x10, 0x7d, 0x10, 0x17, 0x10,
-+ 0x15, 0x1f, 0x61, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x10, 0xfc, 0x50, 0x48, 0xf8, 0x50, 0xfc, 0x50,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x29, 0x3a, 0x25, 0x25, 0x39,
-+ 0x21, 0x21, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x20, 0xf8, 0xf8, 0x08, 0xf8,
-+ 0xf8, 0x18, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x10, 0x14, 0x65, 0x1a, 0x14, 0x7c,
-+ 0x09, 0x11, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0xfc, 0x90, 0xf8, 0xf8, 0x90,
-+ 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2f, 0x2e, 0x2f, 0x2f, 0x28, 0x2f,
-+ 0x2f, 0x49, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x98, 0x94, 0xfc, 0x90, 0xb0, 0xa8,
-+ 0xc8, 0x84, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0e, 0x3f, 0x2d, 0x52, 0x2c, 0x1e, 0x73,
-+ 0x1e, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x50, 0x20, 0x50, 0x88,
-+ 0x04, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x13, 0x10, 0x17, 0x7c, 0x13, 0x10, 0x17,
-+ 0x16, 0x1a, 0x67, 0x02, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xa8, 0x94, 0xf8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x13, 0x7e, 0x12, 0x13, 0x12,
-+ 0x16, 0x1a, 0x62, 0x04, 0x04, 0x0b, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0xfc, 0x90, 0xf0, 0xfc, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x3e, 0x2a,
-+ 0x3e, 0x2b, 0x3f, 0x1f, 0x01, 0x7f, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xf8, 0xa8,
-+ 0xf8, 0xa8, 0xf8, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x13, 0x12, 0x12, 0x7e, 0x12, 0x12, 0x12,
-+ 0x17, 0x1a, 0x65, 0x05, 0x08, 0x13, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0xa8, 0xf8, 0xf8, 0x20, 0xf8,
-+ 0xfc, 0xe8, 0x74, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x11, 0x7f, 0x10, 0x17, 0x14,
-+ 0x17, 0x1b, 0x61, 0x07, 0x00, 0x03, 0x00, 0x00,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0xf8, 0x40, 0xfc, 0x48,
-+ 0x58, 0x58, 0xf0, 0xfc, 0x90, 0xf8, 0x00, 0x00,
-+ 0x00, 0x17, 0x13, 0x12, 0x7f, 0x10, 0x17, 0x13,
-+ 0x10, 0x1f, 0x61, 0x0f, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0xb8, 0xa8, 0xb8, 0xa0, 0xfc, 0xf8,
-+ 0xa0, 0xfc, 0x48, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x3e, 0x14, 0x7f, 0x3e, 0x22, 0x3e, 0x3e,
-+ 0x26, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x80, 0xf8, 0xf8, 0x08, 0xf8, 0xf0, 0xb8, 0x9c,
-+ 0x7c, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x24, 0x24, 0x24, 0x3c, 0x27, 0x04, 0x04,
-+ 0x7c, 0x24, 0x24, 0x24, 0x47, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x00, 0x3f, 0x22, 0x5e,
-+ 0x10, 0x1e, 0x12, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x88, 0xf0,
-+ 0x10, 0xf0, 0x90, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x00, 0x3f, 0x20, 0x5f,
-+ 0x0f, 0x08, 0x0f, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x08, 0xf0,
-+ 0xe0, 0x20, 0xe0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x17, 0x10, 0x11, 0x7d, 0x12, 0x14, 0x13,
-+ 0x16, 0x1b, 0x62, 0x03, 0x02, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x50, 0x70, 0xc0, 0x3c, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x3f, 0x20, 0x5f, 0x02,
-+ 0x1e, 0x10, 0x1e, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0xfc, 0x08, 0xf0, 0x80,
-+ 0xf0, 0x10, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x00, 0x7f, 0x0f, 0x01,
-+ 0x0f, 0x7f, 0x1e, 0x13, 0x1e, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0xe8, 0x00,
-+ 0xe0, 0xfc, 0x10, 0xfc, 0x90, 0x30, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x07, 0x04, 0x0c, 0x14, 0x22,
-+ 0x02, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x02, 0x22, 0x22, 0x17, 0x14, 0x08, 0x18, 0x24,
-+ 0x02, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x40, 0x40,
-+ 0x80, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x03, 0x0c, 0x7f, 0x12, 0x14, 0x0f, 0x08, 0x0f,
-+ 0x0f, 0x08, 0x0f, 0x3c, 0x03, 0x7c, 0x00, 0x00,
-+ 0xc0, 0x80, 0xf0, 0x90, 0x50, 0xe0, 0x20, 0xe0,
-+ 0xe0, 0x20, 0xe0, 0x40, 0x80, 0x78, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x7f, 0x01, 0x03,
-+ 0x0c, 0x32, 0x01, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xfc, 0x00, 0xf0,
-+ 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x49, 0x01,
-+ 0x06, 0x1a, 0x01, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x70, 0x70, 0xa8, 0x24, 0xf0,
-+ 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x2a, 0x3e, 0x2b, 0x3e, 0x08, 0x7e,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x50, 0x20, 0x50, 0x9c,
-+ 0x24, 0x68, 0x98, 0x10, 0x20, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x01, 0x01, 0x01, 0x7f,
-+ 0x01, 0x03, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x10, 0xfc,
-+ 0x00, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x01, 0x1f, 0x01, 0x01, 0x01, 0x7f, 0x03,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
-+ 0x80, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x02, 0x04, 0x19, 0x61,
-+ 0x01, 0x1f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c,
-+ 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x04, 0x1f, 0x60, 0x1f,
-+ 0x02, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0xf0, 0x0c, 0xf0,
-+ 0x00, 0xe0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x09, 0x09, 0x09, 0x15, 0x15,
-+ 0x23, 0x02, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x20, 0x20, 0x50, 0x48,
-+ 0x88, 0x80, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x08, 0x04, 0x04, 0x7f, 0x00,
-+ 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x20, 0x20, 0x40, 0xfc, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x12, 0x12, 0x24, 0x09,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x50, 0x48, 0x48, 0xc0,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x03, 0x0c, 0x70, 0x1f, 0x12, 0x12, 0x14,
-+ 0x11, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0xf0, 0x90, 0xb0, 0x70,
-+ 0x10, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x05, 0x19, 0x6f, 0x01,
-+ 0x1f, 0x01, 0x0f, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0xec, 0x00,
-+ 0xf0, 0x00, 0xe0, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x22, 0x0e, 0x01, 0x03,
-+ 0x1f, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x30, 0xe0, 0x10, 0x08, 0x48, 0x40, 0xa0, 0x10,
-+ 0xf0, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x24, 0x24, 0x3c, 0x05, 0x7c, 0x24, 0x24, 0x45,
-+ 0x01, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x00,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x02, 0x02, 0x7f, 0x09, 0x1f, 0x61, 0x1f, 0x02,
-+ 0x0f, 0x74, 0x07, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0xf0, 0x4c, 0xf8, 0x40,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x07, 0x10, 0x2f, 0x42, 0x1f, 0x12, 0x14, 0x1f,
-+ 0x10, 0x1f, 0x01, 0x7f, 0x0c, 0x70, 0x00, 0x00,
-+ 0xe0, 0x20, 0xf0, 0x8c, 0xf0, 0xb0, 0x70, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xfc, 0x60, 0x1c, 0x00, 0x00,
-+ 0x02, 0x04, 0x1f, 0x13, 0x15, 0x13, 0x1f, 0x13,
-+ 0x15, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x90, 0x50, 0x90, 0xf0, 0x90,
-+ 0x50, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x24, 0x24, 0x3f, 0x25, 0x04, 0x7f, 0x25, 0x24,
-+ 0x44, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0x20, 0xd0, 0xfc, 0x10, 0x90,
-+ 0x30, 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x0c, 0x7f, 0x13, 0x12,
-+ 0x13, 0x17, 0x15, 0x17, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x30, 0xfc, 0xe0, 0x20,
-+ 0xe0, 0x70, 0x50, 0x70, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x13, 0x12,
-+ 0x3e, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x13, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0x08, 0x88, 0x48,
-+ 0x48, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x24, 0x24, 0x24, 0x3f, 0x24, 0x04, 0x7c,
-+ 0x15, 0x15, 0x14, 0x24, 0x25, 0x46, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x90,
-+ 0x10, 0xa0, 0x60, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x10, 0x17, 0x30, 0x50, 0x17,
-+ 0x11, 0x11, 0x13, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x80, 0x80, 0xfc,
-+ 0x10, 0x10, 0xe0, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x12, 0x12, 0x31, 0x50, 0x17,
-+ 0x11, 0x11, 0x13, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0x00, 0xf8, 0x80, 0xfc,
-+ 0x10, 0x10, 0xe0, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x25,
-+ 0x79, 0x49, 0x0d, 0x15, 0x21, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x24, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0a, 0x13, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0x88, 0xf8, 0x88, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x13, 0x12,
-+ 0x3e, 0x24, 0x06, 0x0b, 0x11, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xc8, 0xa8, 0xa8, 0xfc, 0x88,
-+ 0xc8, 0xa8, 0xa8, 0xfc, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3d, 0x24, 0x06, 0x08, 0x11, 0x26, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x28, 0xf8, 0xa0,
-+ 0xfc, 0x24, 0x78, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x02,
-+ 0x7f, 0x04, 0x0f, 0x11, 0x06, 0x38, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00,
-+ 0xfc, 0x40, 0x40, 0xc0, 0x20, 0x10, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x08, 0x7e, 0x12, 0x13, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0b, 0x11, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x11, 0x7d, 0x27, 0x25, 0x25,
-+ 0x79, 0x49, 0x0d, 0x15, 0x21, 0x41, 0x00, 0x00,
-+ 0x80, 0x8c, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xfc,
-+ 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x12, 0x11, 0x7d, 0x24, 0x24, 0x25,
-+ 0x7a, 0x48, 0x0d, 0x15, 0x22, 0x44, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xa0, 0xb0, 0xa8,
-+ 0xa8, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x10, 0x7c, 0x27, 0x24, 0x24,
-+ 0x78, 0x4b, 0x0c, 0x14, 0x20, 0x41, 0x00, 0x00,
-+ 0x60, 0xa8, 0xa4, 0xa4, 0xa0, 0xfc, 0xa8, 0xa8,
-+ 0xd8, 0x90, 0x94, 0xac, 0xcc, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x24, 0x25, 0x25,
-+ 0x75, 0x49, 0x0d, 0x15, 0x25, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x49, 0x29, 0x22, 0x0c, 0x10, 0x20, 0x27,
-+ 0x02, 0x7f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x54, 0xd4, 0x60, 0xc0, 0x00,
-+ 0x00, 0xfc, 0x40, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x12, 0x7f, 0x2a, 0x2a, 0x2f,
-+ 0x2a, 0x72, 0x12, 0x1c, 0x27, 0x48, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xa8,
-+ 0xa4, 0xa4, 0xa4, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x13,
-+ 0x3c, 0x04, 0x06, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3c, 0x05, 0x06, 0x0a, 0x10, 0x23, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x20, 0xfc, 0x24, 0x44, 0x84, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x15, 0x7e, 0x2e, 0x2d, 0x2d,
-+ 0x75, 0x55, 0x1f, 0x2c, 0x24, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x11, 0x7e, 0x24, 0x25, 0x24,
-+ 0x78, 0x08, 0x0c, 0x10, 0x27, 0x40, 0x00, 0x00,
-+ 0x08, 0x30, 0xc8, 0x24, 0x24, 0x18, 0xe0, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x11, 0x7e, 0x24, 0x24, 0x25,
-+ 0x6b, 0x18, 0x0c, 0x14, 0x21, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x04, 0x88, 0xb8, 0xe8, 0x68,
-+ 0x68, 0xf0, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x12, 0x7b, 0x2a, 0x2a, 0x2b,
-+ 0x6a, 0x12, 0x13, 0x1c, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xc8, 0xc8, 0xa8,
-+ 0xb0, 0x90, 0xb0, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x1e, 0x12, 0x1e, 0x12, 0x7f,
-+ 0x02, 0x7f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c,
-+ 0x00, 0xfc, 0x40, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x7e, 0x12, 0x12, 0x12,
-+ 0x3a, 0x24, 0x07, 0x0a, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0xa8, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x50, 0x90, 0xfc, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x49, 0x08,
-+ 0x02, 0x7f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x70, 0x70, 0xa8, 0x24, 0x20,
-+ 0x00, 0xfc, 0x40, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x7f, 0x2a, 0x2a, 0x2a,
-+ 0x6a, 0x12, 0x1a, 0x14, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x00, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x24,
-+ 0x6b, 0x1a, 0x0e, 0x12, 0x2f, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x68, 0x98, 0x08, 0xf8, 0x00,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x08, 0x7e, 0x13, 0x12, 0x12,
-+ 0x3c, 0x24, 0x06, 0x0b, 0x10, 0x20, 0x00, 0x00,
-+ 0x50, 0xfc, 0x50, 0xf8, 0x50, 0xfc, 0x20, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xfc, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x10, 0x7f, 0x2a, 0x2a, 0x2b,
-+ 0x29, 0x72, 0x11, 0x1a, 0x20, 0x43, 0x00, 0x00,
-+ 0x00, 0xb8, 0x88, 0x88, 0xb8, 0x20, 0x20, 0xb8,
-+ 0x98, 0xa8, 0x98, 0xa8, 0x88, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x7b, 0x2a, 0x2a, 0x2b,
-+ 0x28, 0x73, 0x11, 0x18, 0x20, 0x47, 0x00, 0x00,
-+ 0xc0, 0x58, 0x48, 0x48, 0x58, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x10, 0xa0, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x25,
-+ 0x75, 0x08, 0x0d, 0x16, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xf8, 0x20, 0xf8, 0x20,
-+ 0xfc, 0x54, 0x2c, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x10, 0x7c, 0x27, 0x24, 0x24,
-+ 0x78, 0x08, 0x0d, 0x16, 0x22, 0x44, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xb8, 0xa0, 0xfc, 0x80, 0xf8,
-+ 0x80, 0xfc, 0x54, 0xac, 0xac, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x7a, 0x2a, 0x2a, 0x2b,
-+ 0x2b, 0x73, 0x13, 0x1a, 0x23, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x68, 0x68, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x13, 0x7a, 0x2d, 0x29, 0x29,
-+ 0x28, 0x73, 0x1a, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xfc, 0x08, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xf8, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x17, 0x79, 0x2f, 0x2d, 0x2d,
-+ 0x2f, 0x73, 0x13, 0x1d, 0x29, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xd0, 0x3c, 0xe8, 0x68, 0x68,
-+ 0xd8, 0x98, 0x50, 0x58, 0x28, 0x44, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x13, 0x7a, 0x2a, 0x2b, 0x28,
-+ 0x29, 0x70, 0x17, 0x19, 0x22, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0x00,
-+ 0xf0, 0x00, 0xfc, 0x50, 0x48, 0xc0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x13, 0x7a, 0x2b, 0x2a, 0x2a,
-+ 0x2a, 0x72, 0x12, 0x1a, 0x22, 0x43, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x08, 0xe8,
-+ 0xa8, 0xe8, 0xa8, 0xe8, 0xa8, 0x78, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x13, 0x7a, 0x2b, 0x2a, 0x2a,
-+ 0x2b, 0x72, 0x12, 0x1b, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x48, 0x48,
-+ 0xf8, 0xe8, 0xd8, 0x58, 0x48, 0x58, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x13, 0x7c, 0x25, 0x26, 0x24,
-+ 0x7b, 0x0a, 0x0e, 0x12, 0x22, 0x42, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xf8, 0xa0, 0xf0, 0xa8, 0xe4,
-+ 0xf8, 0x08, 0xe8, 0xa8, 0xe8, 0x98, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x13, 0x7c, 0x2b, 0x2a, 0x2b,
-+ 0x2a, 0x73, 0x18, 0x17, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0x00, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x21, 0x3e, 0x32, 0x5e,
-+ 0x02, 0x7f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0x50, 0xfc, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x40, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x01, 0x7d, 0x55, 0x55, 0x7f, 0x56, 0x7e, 0x12,
-+ 0x7f, 0x15, 0x15, 0x26, 0x26, 0x4c, 0x00, 0x00,
-+ 0x00, 0x7c, 0x54, 0x54, 0xfc, 0xd4, 0xfc, 0x90,
-+ 0xfc, 0x14, 0x94, 0xa4, 0x24, 0x4c, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x15, 0x7f, 0x2d, 0x2f, 0x29,
-+ 0x2f, 0x71, 0x12, 0x1a, 0x24, 0x48, 0x00, 0x00,
-+ 0x08, 0xc8, 0x48, 0x48, 0xfc, 0x54, 0xd4, 0x14,
-+ 0xd4, 0x78, 0x48, 0x48, 0x54, 0xe4, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x13, 0x7d, 0x26, 0x24, 0x27,
-+ 0x24, 0x78, 0x08, 0x14, 0x20, 0x43, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0xf8, 0x50, 0x60, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x11, 0x7d, 0x25, 0x25, 0x27,
-+ 0x7a, 0x0b, 0x0f, 0x17, 0x21, 0x46, 0x00, 0x00,
-+ 0x40, 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0xf0, 0xf8,
-+ 0x48, 0xf8, 0xf8, 0xfc, 0x10, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x11, 0x7f, 0x2d, 0x2d, 0x2f,
-+ 0x2b, 0x73, 0x15, 0x19, 0x29, 0x41, 0x00, 0x00,
-+ 0x00, 0x3c, 0xd4, 0x14, 0xec, 0x7c, 0x64, 0xfc,
-+ 0x24, 0xbc, 0x64, 0x3c, 0x18, 0x64, 0x00, 0x00,
-+ 0x10, 0x17, 0x13, 0x12, 0x7b, 0x28, 0x2b, 0x29,
-+ 0x28, 0x77, 0x11, 0x1f, 0x29, 0x43, 0x00, 0x00,
-+ 0x40, 0xfc, 0xb8, 0xa8, 0xb8, 0xa0, 0xf8, 0xf0,
-+ 0xa0, 0xfc, 0xc8, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x12, 0x12, 0x13, 0x15, 0x78, 0x2f, 0x2a, 0x2e,
-+ 0x2a, 0x76, 0x12, 0x1e, 0x23, 0x4e, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xe8, 0x68, 0x20, 0xfc, 0xa0, 0xe8,
-+ 0xa8, 0xd0, 0xd4, 0xac, 0xcc, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x13, 0x7b, 0x2d, 0x29, 0x29,
-+ 0x2f, 0x73, 0x13, 0x1d, 0x29, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x58, 0x50, 0x78, 0x48,
-+ 0xf8, 0x48, 0xf8, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
-+ 0x0f, 0x71, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x20, 0x40, 0x80, 0x00, 0x30, 0xc0,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x04, 0x08, 0x08, 0x1f, 0x20,
-+ 0x40, 0x01, 0x7f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x78, 0x08, 0x08, 0xe8, 0x70,
-+ 0x80, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x1e, 0x11, 0x11, 0x2f, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x30, 0xe0, 0x10, 0x08, 0x08, 0xe0, 0x40, 0x80,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x3f, 0x20, 0x4f, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x08, 0xe0, 0x40,
-+ 0x80, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x12, 0x12, 0x3c, 0x06, 0x19, 0x6f,
-+ 0x00, 0x01, 0x7f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x50, 0x20, 0xd0, 0x0c, 0xe0,
-+ 0xc0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7c, 0x07, 0x08, 0x0a, 0x11, 0x10, 0x14,
-+ 0x18, 0x70, 0x11, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x50, 0x90, 0xa0, 0x68,
-+ 0x48, 0x90, 0x30, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x00, 0x3f, 0x22, 0x3f, 0x00,
-+ 0x3e, 0x04, 0x0e, 0x78, 0x09, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf0, 0x50, 0x50, 0xd0,
-+ 0x50, 0x70, 0xb4, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x04, 0x7f, 0x0a, 0x34, 0x0a, 0x3f, 0x01,
-+ 0x1f, 0x00, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x28, 0xd0, 0x28, 0xfc, 0x04,
-+ 0xf0, 0xc0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x37, 0x2d, 0x2d, 0x3f, 0x3f, 0x2d,
-+ 0x2d, 0x2d, 0x7d, 0x16, 0x14, 0x24, 0x00, 0x00,
-+ 0x04, 0x78, 0x58, 0x54, 0x94, 0x00, 0x7c, 0x08,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x1a, 0x11, 0x1e, 0x12, 0x1d, 0x12, 0x3f,
-+ 0x20, 0x4f, 0x00, 0x3f, 0x01, 0x03, 0x00, 0x00,
-+ 0x80, 0xf0, 0x10, 0xf0, 0x90, 0x70, 0x90, 0xfc,
-+ 0x08, 0xe0, 0xc0, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x02, 0x03, 0x0c, 0x77,
-+ 0x00, 0x01, 0x7f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x80, 0x80, 0x60, 0xdc,
-+ 0x80, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3d, 0x04, 0x0b, 0x0b, 0x15, 0x10, 0x1f,
-+ 0x70, 0x13, 0x12, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x58, 0x50, 0x40, 0xfc,
-+ 0x80, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x3f, 0x20, 0x20,
-+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x04, 0x08,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x22, 0x42, 0x02, 0x02,
-+ 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x04, 0x08, 0x00, 0x10, 0x60,
-+ 0x80, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x3f, 0x51, 0x1f, 0x10,
-+ 0x10, 0x1f, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x04, 0xf8, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x5f, 0x10, 0x17, 0x10, 0x1f,
-+ 0x12, 0x12, 0x12, 0x22, 0x23, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x80, 0x48, 0x50, 0x20, 0x90, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x47, 0x18, 0x7f, 0x11, 0x11,
-+ 0x1f, 0x12, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xc0, 0x80, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x90, 0xa0, 0x94, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x20, 0x3e, 0x40, 0x7f, 0x14,
-+ 0x14, 0x14, 0x14, 0x25, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x44, 0x78, 0x40, 0xf8, 0x88,
-+ 0x50, 0x30, 0x70, 0x88, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x44, 0x08, 0x0f, 0x18,
-+ 0x2f, 0x48, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0x40, 0x80, 0xf8, 0x80,
-+ 0xf0, 0x80, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x00, 0x7f, 0x11, 0x19, 0x27, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x64, 0x25, 0x3c, 0x27,
-+ 0x04, 0x7c, 0x15, 0x16, 0x24, 0x44, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x40, 0xf8, 0x40, 0xfc,
-+ 0xe0, 0xd0, 0x50, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x65, 0x24, 0x3d, 0x24,
-+ 0x07, 0x7c, 0x15, 0x15, 0x25, 0x45, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x08, 0xf8, 0x40, 0xf0, 0x90,
-+ 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x3f, 0x27, 0x45, 0x7f, 0x09, 0x0f, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe8, 0x20, 0xfc, 0x40, 0xc0, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x25, 0x64, 0x27, 0x3c, 0x25, 0x07,
-+ 0x7e, 0x15, 0x14, 0x14, 0x24, 0x47, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x10, 0xfc, 0x10, 0xf0, 0xfc,
-+ 0x08, 0xf0, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x5f, 0x04, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x01, 0x7f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf0, 0x40, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x00, 0xfc, 0xc0, 0x38, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x5e, 0x0a, 0x16, 0x0b, 0x12,
-+ 0x0c, 0x77, 0x01, 0x06, 0x01, 0x0e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x50, 0xb0, 0x50, 0x80,
-+ 0xe0, 0x5c, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x5c, 0x10, 0x1e, 0x10, 0x1f,
-+ 0x08, 0x1f, 0x65, 0x12, 0x12, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x48, 0xa8, 0xa8, 0x30, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x5f, 0x12, 0x1f, 0x7f, 0x0f,
-+ 0x08, 0x0f, 0x0c, 0x74, 0x07, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x90, 0xf0, 0xfc, 0xe0,
-+ 0x20, 0xe0, 0x88, 0x50, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x3e, 0x49, 0x3f, 0x0e, 0x38, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x08, 0x0f, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x20, 0xfc, 0xa8, 0xf8, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0x20, 0xe0, 0x38, 0x00, 0x00,
-+ 0x01, 0x3f, 0x3e, 0x48, 0x3f, 0x0e, 0x39, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x08, 0x0f, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0xf8, 0xb0, 0xa8, 0x68, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0x20, 0xe0, 0x38, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x22, 0x22, 0x3e,
-+ 0x14, 0x14, 0x14, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x34, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x24, 0x24, 0x24, 0x3d, 0x26, 0x04, 0x7c,
-+ 0x17, 0x15, 0x14, 0x24, 0x44, 0x04, 0x00, 0x00,
-+ 0x40, 0x78, 0x88, 0xd0, 0x30, 0xa0, 0xd0, 0x90,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x01, 0x3f, 0x00, 0x7f, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf8, 0x48, 0xfc, 0x40, 0xc0, 0x00, 0x00,
-+ 0x0a, 0x4a, 0x2a, 0x2b, 0x7f, 0x11, 0x0a, 0x3f,
-+ 0x04, 0x3f, 0x04, 0x04, 0x07, 0x78, 0x00, 0x00,
-+ 0x08, 0x88, 0x88, 0x08, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x1f, 0x11, 0x21, 0x49, 0x09,
-+ 0x11, 0x11, 0x21, 0x41, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x20, 0x10,
-+ 0x10, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x12, 0x12, 0x3f, 0x12, 0x1e, 0x12, 0x1e, 0x13,
-+ 0x7f, 0x2c, 0x2d, 0x33, 0x20, 0x1f, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa8, 0xa4, 0x2c,
-+ 0x68, 0x30, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01, 0x02, 0x02,
-+ 0x02, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x14, 0x12, 0x12, 0x7e, 0x15, 0x14, 0x14,
-+ 0x14, 0x14, 0x14, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0x50, 0x90, 0x20, 0x28, 0x48,
-+ 0x90, 0x10, 0x20, 0x44, 0x84, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x1f,
-+ 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xfc, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x14, 0x14, 0x14,
-+ 0x17, 0x14, 0x14, 0x24, 0x27, 0x5c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x48, 0x40, 0x44,
-+ 0xc8, 0x70, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x14, 0x17,
-+ 0x14, 0x14, 0x15, 0x24, 0x27, 0x44, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0x80, 0x88, 0xf8,
-+ 0x88, 0x88, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x14, 0x12, 0x12,
-+ 0x1f, 0x11, 0x12, 0x24, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0x90, 0x90, 0xa0,
-+ 0xfc, 0xc0, 0xa0, 0x90, 0x8c, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x14, 0x17,
-+ 0x14, 0x17, 0x14, 0x27, 0x23, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x12, 0x15, 0x1a,
-+ 0x13, 0x14, 0x1c, 0x24, 0x24, 0x47, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x12, 0x11, 0x17, 0x11,
-+ 0x11, 0x1f, 0x11, 0x22, 0x24, 0x48, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x10, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x13, 0x10, 0x1f, 0x10,
-+ 0x17, 0x11, 0x13, 0x3e, 0x22, 0x46, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0xe0, 0x40, 0xf8, 0x80,
-+ 0xfc, 0x08, 0x10, 0xfc, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x16, 0x16, 0x17, 0x15,
-+ 0x17, 0x17, 0x1d, 0x27, 0x21, 0x4f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0xb0, 0xb0, 0xf0, 0x50,
-+ 0xf0, 0xf8, 0x48, 0xc8, 0x68, 0xf0, 0x00, 0x00,
-+ 0x01, 0x01, 0x21, 0x21, 0x21, 0x21, 0x21, 0x3f,
-+ 0x21, 0x22, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x54, 0x54, 0x54, 0x54, 0x54,
-+ 0x54, 0x54, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x84, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x7f,
-+ 0x02, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x55, 0x55, 0x56, 0x55, 0x54,
-+ 0x54, 0x54, 0x7c, 0x45, 0x41, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf0, 0x20,
-+ 0x40, 0x80, 0x80, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x00, 0x3f, 0x04, 0x04, 0x07,
-+ 0x04, 0x0a, 0x09, 0x10, 0x23, 0x4c, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xc0, 0x40, 0x40, 0xf0,
-+ 0x10, 0x20, 0x40, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x3f, 0x21, 0x02, 0x04, 0x18,
-+ 0x67, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0xf8, 0x08, 0x80, 0x40, 0x30,
-+ 0xcc, 0x00, 0xc0, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x07, 0x04, 0x18, 0x6f, 0x02, 0x02, 0x0c, 0x30,
-+ 0x01, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0xc0, 0x40, 0x30, 0xec, 0x20, 0x20, 0x20, 0xc0,
-+ 0x00, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x00, 0x7f, 0x02, 0x3f,
-+ 0x04, 0x04, 0x0f, 0x08, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0xf8,
-+ 0x40, 0x40, 0x80, 0xe0, 0x10, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x54, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7d, 0x45, 0x41, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7d, 0x46, 0x43, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x10, 0x50, 0x94, 0x0c, 0xec, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7d, 0x45, 0x41, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x55, 0x55, 0x56, 0x54, 0x57,
-+ 0x54, 0x54, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x50, 0x48, 0x48, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7d, 0x45, 0x41, 0x06, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x28, 0x20, 0xfc,
-+ 0x20, 0x20, 0x10, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x54, 0x57, 0x54, 0x54, 0x54,
-+ 0x57, 0x7c, 0x45, 0x41, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x90, 0x98, 0xe4, 0x90, 0x90, 0x90,
-+ 0xfc, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x54, 0x54, 0x54, 0x54, 0x55,
-+ 0x55, 0x55, 0x7d, 0x45, 0x41, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x3f, 0x21, 0x02, 0x04, 0x1f,
-+ 0x60, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0xf8, 0x08, 0x80, 0x40, 0xf0,
-+ 0x0c, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x54, 0x54, 0x57, 0x54, 0x54,
-+ 0x57, 0x55, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x20, 0x06, 0x38, 0x08, 0x7f,
-+ 0x08, 0x0e, 0x78, 0x08, 0x09, 0x18, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x08, 0x50, 0x48, 0x40, 0xfc,
-+ 0x48, 0x48, 0x30, 0x74, 0x8c, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x55, 0x55, 0x55, 0x56, 0x56,
-+ 0x54, 0x54, 0x7c, 0x45, 0x42, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x50, 0x50, 0xe8, 0x44,
-+ 0x44, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x57, 0x55, 0x7c, 0x44, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x40, 0x80, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x56, 0x54, 0x55, 0x55, 0x55,
-+ 0x55, 0x7d, 0x45, 0x41, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x01, 0x0f, 0x08, 0x0f, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x2a, 0x25, 0x40, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xe0, 0x20, 0xe0, 0xe0,
-+ 0x00, 0xfc, 0xf8, 0x88, 0x48, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x56, 0x54, 0x54, 0x54, 0x55,
-+ 0x57, 0x55, 0x7d, 0x45, 0x41, 0x01, 0x00, 0x00,
-+ 0xa0, 0x90, 0x08, 0x48, 0x40, 0xa0, 0xa0, 0x10,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x00, 0x3f, 0x09, 0x7f, 0x09,
-+ 0x09, 0x3f, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xf8, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7d, 0x46, 0x43, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x00, 0x3f, 0x24, 0x22, 0x3f,
-+ 0x21, 0x29, 0x29, 0x2f, 0x28, 0x20, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xf8, 0x48, 0x88, 0xf8,
-+ 0x08, 0x28, 0x28, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x01, 0x3f, 0x08, 0x04, 0x7f,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xf8, 0x20, 0x40, 0xfc,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x3f, 0x22, 0x04, 0x1f, 0x61,
-+ 0x1f, 0x09, 0x05, 0x05, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0xf8, 0x88, 0x40, 0xf0, 0x0c,
-+ 0xf0, 0x20, 0x20, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x7e, 0x47, 0x45, 0x09, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0x04, 0xfc, 0x20, 0xa8, 0xa8,
-+ 0xf8, 0x20, 0x24, 0x24, 0xfc, 0x04, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x20, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1e, 0x10, 0x1c, 0x70, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x08, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x98, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x3f, 0x24, 0x04, 0x0f, 0x08,
-+ 0x1f, 0x28, 0x4f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0xf8, 0x48, 0x80, 0xf8, 0x80,
-+ 0xf0, 0x80, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x56, 0x55, 0x54, 0x57,
-+ 0x54, 0x55, 0x7c, 0x44, 0x40, 0x00, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0x04, 0xf8, 0x48, 0xfc,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x57, 0x54, 0x54, 0x55, 0x56,
-+ 0x54, 0x55, 0x7e, 0x44, 0x41, 0x0e, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0xa4, 0x5c, 0x40,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x3f, 0x22, 0x04, 0x1f, 0x60,
-+ 0x1f, 0x12, 0x1f, 0x12, 0x12, 0x10, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0xf8, 0x88, 0x40, 0xf0, 0x0c,
-+ 0xf0, 0x90, 0xf0, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x55, 0x57, 0x54, 0x57, 0x56,
-+ 0x56, 0x57, 0x7e, 0x46, 0x42, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x01, 0x21, 0x21, 0x3f, 0x24, 0x24, 0x7f, 0x24,
-+ 0x25, 0x3c, 0x24, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x00, 0x08, 0x08, 0xf8, 0x48, 0x40, 0x7c, 0xa8,
-+ 0x30, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x01, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x88, 0x00, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x54,
-+ 0x57, 0x56, 0x7e, 0x47, 0x42, 0x02, 0x00, 0x00,
-+ 0x00, 0xf0, 0x50, 0xf0, 0x50, 0x50, 0xf0, 0x40,
-+ 0xf8, 0x68, 0x58, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7d, 0x46, 0x42, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0x28, 0xf8, 0x00, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x02, 0x1f, 0x11, 0x1f, 0x11,
-+ 0x1f, 0x12, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0xb0, 0xa8, 0xfc, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x04, 0x7f, 0x01, 0x1f, 0x01,
-+ 0x7f, 0x08, 0x0f, 0x11, 0x3f, 0x40, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x40, 0xfc, 0x00, 0xf0, 0x00,
-+ 0xfc, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x54, 0x57, 0x56, 0x56, 0x57,
-+ 0x55, 0x56, 0x7d, 0x46, 0x40, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x40, 0x40, 0xf8,
-+ 0x98, 0xe8, 0x98, 0xe8, 0x88, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x56, 0x56, 0x56, 0x56, 0x57,
-+ 0x57, 0x57, 0x7f, 0x46, 0x43, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x68, 0x68, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x08, 0x7f, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x2a, 0x3e, 0x09, 0x7f, 0x0a, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x08, 0x30, 0xc0, 0x80, 0xfc,
-+ 0x90, 0x90, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x57, 0x54, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7c, 0x47, 0x40, 0x00, 0x00, 0x00,
-+ 0x40, 0xf8, 0x20, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x57, 0x55, 0x57, 0x55, 0x55,
-+ 0x56, 0x7f, 0x44, 0x40, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xb8, 0x10, 0xfc,
-+ 0x00, 0xfc, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x54, 0x55, 0x56, 0x55, 0x55,
-+ 0x55, 0x7d, 0x45, 0x40, 0x03, 0x00, 0x00, 0x00,
-+ 0xe0, 0x68, 0x50, 0x94, 0xf8, 0x08, 0xf4, 0x10,
-+ 0x10, 0xf0, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x10, 0x13, 0x54, 0x55, 0x54, 0x57, 0x54,
-+ 0x57, 0x57, 0x7d, 0x47, 0x41, 0x03, 0x00, 0x00,
-+ 0x08, 0x90, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xa8,
-+ 0x24, 0xfc, 0xa8, 0x14, 0x2c, 0xc4, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x54, 0x55, 0x57, 0x54, 0x57,
-+ 0x56, 0x7f, 0x45, 0x41, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xb8,
-+ 0xa8, 0xb8, 0x10, 0x90, 0xa8, 0x44, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x08, 0x2b, 0x17, 0x18, 0x2b,
-+ 0x4b, 0x18, 0x2b, 0x4a, 0x0b, 0x32, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x18, 0x94, 0xd4, 0x7c, 0x90,
-+ 0x90, 0x10, 0xb0, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x00, 0x3c, 0x27, 0x28, 0x33,
-+ 0x29, 0x25, 0x25, 0x3b, 0x20, 0x27, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x40, 0xf8, 0x90, 0x60, 0x9c,
-+ 0xf0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x24, 0x38, 0x22, 0x1e, 0x21,
-+ 0x3e, 0x48, 0x7e, 0x08, 0x15, 0x62, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x00, 0xf8, 0x50, 0x20, 0xfc,
-+ 0x28, 0xa0, 0xb8, 0xa0, 0x60, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x55, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x7f, 0x44, 0x41, 0x02, 0x00, 0x00,
-+ 0x40, 0xd8, 0x68, 0x48, 0xf8, 0x28, 0x68, 0xf8,
-+ 0x68, 0x68, 0xfc, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x54, 0x55, 0x55, 0x55, 0x57,
-+ 0x54, 0x57, 0x7d, 0x45, 0x40, 0x03, 0x00, 0x00,
-+ 0x70, 0xa0, 0xf8, 0x88, 0xf8, 0xb0, 0xe4, 0x5c,
-+ 0xe0, 0xf0, 0x50, 0xf4, 0xac, 0x1c, 0x00, 0x00,
-+ 0x01, 0x21, 0x3f, 0x0c, 0x39, 0x7f, 0x1d, 0x2b,
-+ 0x49, 0x7e, 0x14, 0x3c, 0x0d, 0x32, 0x00, 0x00,
-+ 0x00, 0x08, 0xf8, 0x40, 0xf0, 0x50, 0xf0, 0x50,
-+ 0xf0, 0xd0, 0xe8, 0xfc, 0x44, 0x3c, 0x00, 0x00,
-+ 0x21, 0x3f, 0x24, 0x3b, 0x1e, 0x5e, 0x52, 0x5e,
-+ 0x5e, 0x52, 0x5e, 0x3e, 0x14, 0x63, 0x00, 0x00,
-+ 0x08, 0xf8, 0x00, 0xfc, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x48, 0x84, 0x00, 0x00,
-+ 0x13, 0x1f, 0x68, 0x13, 0x2b, 0x7c, 0x3b, 0x56,
-+ 0x13, 0x01, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x90, 0xd8, 0x68, 0x90, 0xa8, 0x7c, 0xb8, 0xd4,
-+ 0x90, 0x00, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x21, 0x3f, 0x1e, 0x12, 0x1e, 0x3f, 0x2f, 0x24,
-+ 0x3f, 0x29, 0x2f, 0x2f, 0x3f, 0x41, 0x00, 0x00,
-+ 0x08, 0xf8, 0xf0, 0x90, 0xf0, 0xfc, 0x20, 0x20,
-+ 0xfc, 0x48, 0xb0, 0x90, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x11, 0x11, 0x22, 0x44,
-+ 0x22, 0x11, 0x11, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0x88, 0x10, 0x10, 0x20, 0x40,
-+ 0x20, 0x10, 0x10, 0x88, 0x88, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x09, 0x09, 0x09, 0x09, 0x0d,
-+ 0x13, 0x13, 0x21, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x20, 0x20, 0x20, 0x20, 0x60,
-+ 0x50, 0x88, 0x08, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x20, 0x20, 0x3f, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10,
-+ 0x00, 0x00, 0x04, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x14, 0x14,
-+ 0x17, 0x14, 0x14, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x00, 0xf0, 0x90, 0x90,
-+ 0xf0, 0x10, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x10, 0x1e, 0x71, 0x01,
-+ 0x1f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0x80, 0x64, 0x1c, 0x04,
-+ 0xf0, 0x10, 0x10, 0x10, 0xe0, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x00, 0x7f, 0x00, 0x0f, 0x00, 0x3f,
-+ 0x21, 0x5f, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xfc, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x08, 0xf0, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x56, 0x54, 0x57,
-+ 0x54, 0x58, 0x50, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x12, 0x12, 0x3c, 0x06, 0x19,
-+ 0x7f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c,
-+ 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x01,
-+ 0x3f, 0x21, 0x21, 0x21, 0x21, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00,
-+ 0x0a, 0x0a, 0x7f, 0x0a, 0x0b, 0x10, 0x3f, 0x21,
-+ 0x5f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xfc, 0xa0, 0xa8, 0x18, 0xfc, 0x08,
-+ 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x55, 0x57, 0x55, 0x55,
-+ 0x55, 0x55, 0x59, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x90, 0x90, 0xa0, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x59, 0x12, 0x13, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xfc, 0x50, 0x58,
-+ 0xe8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x54, 0x55, 0x55, 0x55,
-+ 0x54, 0x55, 0x59, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x55, 0x59, 0x10, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x55, 0x55, 0x55, 0x55,
-+ 0x54, 0x57, 0x58, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xfc, 0x00, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x57, 0x56, 0x57, 0x57,
-+ 0x57, 0x56, 0x5b, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0x58, 0xf8, 0x48, 0xd8, 0x58,
-+ 0xe8, 0x78, 0xb8, 0x58, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x57, 0x56,
-+ 0x57, 0x55, 0x58, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xf8, 0xa8,
-+ 0xf8, 0xf0, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7d, 0x55, 0x57, 0x54, 0x57,
-+ 0x56, 0x57, 0x5a, 0x13, 0x12, 0x10, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xe8, 0x68, 0xa0, 0xfc, 0x20, 0xe8,
-+ 0x68, 0xd8, 0x50, 0xd4, 0x2c, 0x44, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x55, 0x55, 0x55, 0x55,
-+ 0x55, 0x54, 0x5b, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0xa0, 0xfc, 0xf0, 0x50, 0xf0, 0x50,
-+ 0xf0, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x2a, 0x49, 0x7f, 0x5d, 0x55, 0x5d, 0x41,
-+ 0x3f, 0x21, 0x21, 0x21, 0x21, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x88, 0x50, 0x30, 0xcc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00,
-+ 0x08, 0x3e, 0x09, 0x7e, 0x08, 0x3e, 0x0f, 0x71,
-+ 0x1f, 0x11, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x90, 0x50, 0x10, 0x30, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x7f, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x04, 0x04, 0x04, 0x7f,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x01, 0x01, 0x1a, 0x06, 0x01, 0x00,
-+ 0x00, 0x01, 0x02, 0x04, 0x3f, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0x00, 0x10, 0x10, 0x20, 0x20, 0xc0,
-+ 0x80, 0x20, 0x10, 0x78, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x16, 0x16, 0x1a, 0x12,
-+ 0x11, 0x17, 0x10, 0x21, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xfc, 0x68, 0xec, 0xec, 0xa0,
-+ 0x10, 0x20, 0xd0, 0x08, 0xfc, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x11, 0x1f, 0x10, 0x17,
-+ 0x10, 0x10, 0x1f, 0x20, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0x40, 0xf8, 0x80, 0xf0,
-+ 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x14, 0x17, 0x14, 0x17,
-+ 0x14, 0x17, 0x13, 0x22, 0x24, 0x48, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0x88, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0x28, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x12, 0x1f, 0x12, 0x13,
-+ 0x16, 0x16, 0x1a, 0x32, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x78, 0xc8, 0x48, 0x78,
-+ 0xc8, 0xf8, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x13, 0x13, 0x13,
-+ 0x12, 0x13, 0x11, 0x27, 0x20, 0x4f, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xfc, 0x80, 0xf0, 0xf0, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0x20, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x17, 0x15, 0x17, 0x15,
-+ 0x17, 0x14, 0x15, 0x26, 0x24, 0x43, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x78, 0x50, 0x50, 0x7c,
-+ 0x50, 0x10, 0x30, 0x34, 0xd4, 0x8c, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x12, 0x17, 0x15, 0x17, 0x15,
-+ 0x17, 0x14, 0x15, 0x26, 0x24, 0x43, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x70, 0x50, 0x54, 0x8c,
-+ 0xf8, 0x48, 0x50, 0x20, 0xd0, 0x8c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x11, 0x16, 0x11, 0x16,
-+ 0x13, 0x1c, 0x13, 0x21, 0x20, 0x47, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0x98, 0xe8, 0x98, 0xe8,
-+ 0x70, 0xdc, 0x60, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x13, 0x1f, 0x10, 0x17,
-+ 0x14, 0x17, 0x24, 0x27, 0x43, 0x0c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xf8, 0xe0, 0xfc, 0x80, 0xf0,
-+ 0x90, 0xf0, 0x90, 0xf0, 0x30, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x15, 0x15, 0x1f, 0x15, 0x17, 0x15,
-+ 0x17, 0x15, 0x3f, 0x25, 0x44, 0x08, 0x00, 0x00,
-+ 0x80, 0xfc, 0x08, 0x70, 0xc0, 0x40, 0x7c, 0x50,
-+ 0x50, 0x50, 0xd0, 0x50, 0x90, 0x90, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x17, 0x10, 0x17,
-+ 0x14, 0x17, 0x14, 0x23, 0x23, 0x4c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x08, 0xc8, 0x08, 0xfc, 0x08, 0xc8,
-+ 0xa8, 0xa8, 0x88, 0x08, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x17, 0x14, 0x17, 0x14, 0x17, 0x17,
-+ 0x1f, 0x12, 0x14, 0x3b, 0x20, 0x5f, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0xf0,
-+ 0xfc, 0x28, 0xb8, 0xe0, 0x80, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x19, 0x16, 0x17, 0x19,
-+ 0x17, 0x14, 0x1f, 0x21, 0x21, 0x46, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xd4, 0x24, 0x18, 0x7c, 0x50,
-+ 0x54, 0x8c, 0xf8, 0x50, 0x30, 0xcc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x13, 0x16, 0x1a, 0x1f,
-+ 0x12, 0x12, 0x17, 0x25, 0x24, 0x48, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0x00, 0xfc, 0xa8, 0xa8, 0xfc,
-+ 0xa8, 0xa8, 0xfc, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x29, 0x32, 0x2f, 0x2a,
-+ 0x2f, 0x2a, 0x2f, 0x28, 0x28, 0x51, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0x78, 0x28, 0x28, 0xd8, 0xb0,
-+ 0xb0, 0xfc, 0xd0, 0xfc, 0x90, 0x90, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x17, 0x15, 0x15, 0x15,
-+ 0x17, 0x10, 0x13, 0x3f, 0x26, 0x58, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf8, 0xf0, 0xd0, 0x50, 0xd0,
-+ 0xf0, 0xe0, 0x80, 0xfc, 0xb0, 0x8c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x14, 0x17, 0x15, 0x15,
-+ 0x15, 0x15, 0x25, 0x2b, 0x4a, 0x17, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf0, 0xfc, 0xe8, 0x78, 0xf0, 0x50,
-+ 0xf0, 0x50, 0xf0, 0xf8, 0xa8, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x35, 0x2a, 0x2f, 0x29, 0x2f,
-+ 0x20, 0x2f, 0x2a, 0x2f, 0x28, 0x47, 0x00, 0x00,
-+ 0x80, 0xfc, 0xa8, 0x28, 0xbc, 0x68, 0x68, 0xbc,
-+ 0x28, 0xbc, 0xa8, 0xa8, 0x7c, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x3f, 0x29, 0x2f, 0x29, 0x2f, 0x29,
-+ 0x3f, 0x3f, 0x25, 0x2f, 0x25, 0x4f, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xfc, 0x20, 0xfc, 0xb4, 0xfc,
-+ 0x00, 0xfc, 0x28, 0xd4, 0xcc, 0x38, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x3f, 0x2a, 0x2b, 0x2f, 0x2b,
-+ 0x2e, 0x2a, 0x2f, 0x3a, 0x23, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xfc, 0x20, 0xfc, 0x54, 0xfc,
-+ 0x20, 0x58, 0xd4, 0xc4, 0x48, 0x38, 0x00, 0x00,
-+ 0x00, 0x3c, 0x04, 0x08, 0x08, 0x10, 0x3c, 0x04,
-+ 0x24, 0x28, 0x18, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x78, 0x08, 0x10, 0x13, 0x22, 0x7a, 0x0b,
-+ 0x4a, 0x32, 0x13, 0x2a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x7f, 0x04, 0x04,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x02, 0x02, 0x04, 0x3f, 0x04,
-+ 0x04, 0x7f, 0x04, 0x08, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x20, 0x10, 0xf8, 0x48,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x24, 0x24, 0x3c, 0x07, 0x7c, 0x24, 0x25, 0x44,
-+ 0x04, 0x7f, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x03, 0x07, 0x7f, 0x2a, 0x1c, 0x7e, 0x1d,
-+ 0x2a, 0x49, 0x04, 0x7f, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0xfc, 0x28, 0xd0, 0x28, 0xfc,
-+ 0xa8, 0x24, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x03, 0x07, 0x7f, 0x2a, 0x1c, 0x7f, 0x1c,
-+ 0x2a, 0x48, 0x04, 0x7f, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0xfc, 0x50, 0x88, 0xfc, 0x48,
-+ 0x48, 0x98, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x00, 0x07, 0x78, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x10, 0x10, 0x0c, 0xf0, 0x80, 0x80, 0x40,
-+ 0x40, 0x20, 0x24, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x34, 0x0d, 0x1a, 0x6a, 0x09, 0x7e,
-+ 0x18, 0x1c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x18, 0x14, 0x14, 0xfc, 0x10, 0x10, 0xf0, 0x50,
-+ 0x50, 0x54, 0x4c, 0x6c, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x10, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0xf8,
-+ 0x08, 0x08, 0x10, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x12, 0x3a, 0x06, 0x19, 0x6f,
-+ 0x00, 0x0f, 0x08, 0x1f, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0xe0,
-+ 0x20, 0xe0, 0x00, 0xf0, 0x10, 0xe0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x09, 0x09, 0x79, 0x49, 0x41, 0x41,
-+ 0x79, 0x49, 0x09, 0x0f, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x7b, 0x0a, 0x0a, 0x7a, 0x4b, 0x42, 0x7a,
-+ 0x4a, 0x0b, 0x0a, 0x0c, 0x14, 0x69, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0xa8,
-+ 0xa8, 0xb8, 0xa8, 0xc8, 0xc8, 0x98, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x0b, 0x7a, 0x4b, 0x40, 0x7f,
-+ 0x48, 0x0b, 0x0a, 0x0b, 0x0a, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xc8, 0x48, 0xc8, 0x18, 0xfc,
-+ 0x08, 0xc8, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x7b, 0x0a, 0x0b, 0x78, 0x4b, 0x42, 0x7b,
-+ 0x4a, 0x0b, 0x08, 0x0f, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0x00, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x09, 0x0e, 0x7b, 0x4a, 0x43, 0x7a,
-+ 0x4b, 0x0a, 0x0b, 0x0a, 0x0b, 0x32, 0x00, 0x00,
-+ 0x00, 0xfc, 0x58, 0x44, 0xf8, 0xd8, 0xf8, 0xd8,
-+ 0x68, 0xd8, 0xf8, 0xd8, 0x68, 0x58, 0x00, 0x00,
-+ 0x13, 0x6f, 0x2b, 0x17, 0x7f, 0x3a, 0x57, 0x1f,
-+ 0x00, 0x0f, 0x08, 0x1f, 0x10, 0x00, 0x00, 0x00,
-+ 0x90, 0xe8, 0xa8, 0x94, 0xfc, 0xb8, 0xd4, 0xe0,
-+ 0x20, 0xe0, 0x00, 0xf0, 0x10, 0xe0, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x12, 0x12, 0x24, 0x4f, 0x00,
-+ 0x0f, 0x08, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x50, 0x48, 0xc4, 0xe4, 0x20,
-+ 0xe0, 0x00, 0xf0, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x07, 0x04, 0x04, 0x04, 0x04,
-+ 0x0f, 0x08, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x20, 0x20,
-+ 0xe0, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x03, 0x04, 0x0f, 0x00, 0x7f, 0x01, 0x07,
-+ 0x79, 0x06, 0x39, 0x06, 0x38, 0x03, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0x80, 0xfc, 0x00, 0x48,
-+ 0xd0, 0xe0, 0xa0, 0x90, 0x8c, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x08, 0x3e, 0x08, 0x0e, 0x78,
-+ 0x1f, 0x00, 0x7f, 0x00, 0x1f, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x20,
-+ 0xf0, 0x10, 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x02, 0x07, 0x0f, 0x7f, 0x00, 0x3f, 0x2f, 0x49,
-+ 0x0f, 0x09, 0x0f, 0x7f, 0x0d, 0x31, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0xfc, 0x00, 0xfc, 0xe8, 0x20,
-+ 0xe0, 0x20, 0xe0, 0xfc, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x01,
-+ 0x02, 0x04, 0x00, 0x00, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x90, 0x10,
-+ 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3e, 0x22,
-+ 0x3e, 0x22, 0x12, 0x14, 0x1e, 0x70, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x28, 0x48, 0x90, 0x14, 0x24,
-+ 0x48, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x00, 0x01,
-+ 0x03, 0x05, 0x09, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x80, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x10, 0x17, 0x24, 0x08, 0x08, 0x18,
-+ 0x28, 0x48, 0x08, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x12, 0x22, 0x2a, 0x4b, 0x14, 0x14, 0x38,
-+ 0x53, 0x10, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x11, 0x15, 0x25, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x13, 0x14, 0x24, 0x4b, 0x0a, 0x1a,
-+ 0x2b, 0x4a, 0x08, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xa0,
-+ 0xfc, 0xa4, 0xa4, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x22, 0x4a, 0x0a, 0x12, 0x12, 0x32,
-+ 0x52, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x11, 0x15, 0x25, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x09, 0x0e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf4,
-+ 0x44, 0x48, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x22, 0x4a, 0x0c, 0x12, 0x12, 0x30,
-+ 0x53, 0x10, 0x10, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x48, 0x90, 0x48, 0x48, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x09, 0x09, 0x11, 0x15, 0x26, 0x4b, 0x0d, 0x19,
-+ 0x29, 0x49, 0x09, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xe8, 0x28, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x11, 0x11, 0x21, 0x4a, 0x0a, 0x14, 0x10, 0x32,
-+ 0x52, 0x12, 0x12, 0x15, 0x14, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xa8, 0xa4, 0x44, 0x40, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x22, 0x4a, 0x0a, 0x12, 0x17, 0x30,
-+ 0x52, 0x12, 0x12, 0x13, 0x14, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x4f, 0x08, 0x10, 0x17, 0x30,
-+ 0x50, 0x1f, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xbc, 0xa0, 0xa0, 0xb8, 0xa0,
-+ 0xa0, 0xbc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x27, 0x49, 0x09, 0x13, 0x12, 0x34,
-+ 0x50, 0x10, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x50, 0x58, 0xe4, 0x44,
-+ 0xe0, 0xd0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x11, 0x15, 0x25, 0x49, 0x09, 0x18,
-+ 0x2f, 0x48, 0x0b, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00,
-+ 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x21, 0x4e, 0x09, 0x11, 0x17, 0x31,
-+ 0x52, 0x17, 0x10, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0x60, 0x40, 0x80, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x12, 0x27, 0x4c, 0x0f, 0x14, 0x17, 0x32,
-+ 0x5f, 0x12, 0x13, 0x12, 0x14, 0x19, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0xa0, 0xfc, 0xc8, 0xa8, 0x28,
-+ 0xb0, 0x10, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x18, 0x37, 0x34, 0x31, 0x50,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x90,
-+ 0x90, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x19, 0x36, 0x34, 0x30, 0x57,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x19, 0x35, 0x35, 0x37, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x13, 0x3a, 0x36, 0x34, 0x50,
-+ 0x10, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x44, 0x48, 0x60, 0x60,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x01, 0x1f, 0x01, 0x7f, 0x02, 0x04, 0x1a,
-+ 0x62, 0x0b, 0x0a, 0x12, 0x22, 0x06, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30,
-+ 0x0c, 0x20, 0x90, 0x48, 0x48, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x27, 0x24, 0x27, 0x27, 0x24,
-+ 0x27, 0x3f, 0x01, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0xf0, 0x10,
-+ 0xf0, 0xfc, 0x00, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x01, 0x04, 0x08, 0x10, 0x6f, 0x02, 0x04, 0x18,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0xc0, 0x40, 0x20, 0x10, 0xec, 0x20, 0x20, 0xc0,
-+ 0x00, 0x90, 0x88, 0x04, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x18, 0x34, 0x34, 0x31, 0x57, 0x10,
-+ 0x13, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x90, 0x88, 0x1c, 0xe4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1b, 0x35, 0x35, 0x32, 0x56,
-+ 0x1a, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x00, 0x20, 0x20, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x3b, 0x34, 0x34, 0x50, 0x13,
-+ 0x12, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x3b, 0x36, 0x34, 0x53, 0x12,
-+ 0x12, 0x12, 0x13, 0x12, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x08, 0xc8, 0x48,
-+ 0x48, 0x48, 0xc8, 0x48, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x1a, 0x36, 0x37, 0x32, 0x52, 0x12,
-+ 0x12, 0x12, 0x14, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x80, 0x88,
-+ 0x90, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x11, 0x11, 0x21, 0x41, 0x01,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xf0, 0x00,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x12, 0x2e, 0x45, 0x08, 0x01,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0x48, 0x88, 0xc8, 0x30,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x11, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x18, 0x34, 0x37, 0x32, 0x52,
-+ 0x13, 0x12, 0x10, 0x10, 0x11, 0x12, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa0, 0xa0,
-+ 0xfc, 0xa4, 0xa4, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x19, 0x35, 0x36, 0x30, 0x57,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x50, 0x48, 0x48, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1b, 0x36, 0x36, 0x32, 0x57,
-+ 0x10, 0x10, 0x10, 0x11, 0x12, 0x1c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xfc,
-+ 0x40, 0xc0, 0xa0, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x19, 0x34, 0x34, 0x33, 0x50,
-+ 0x11, 0x11, 0x12, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0xc0, 0x48, 0x68, 0xf0, 0xe0,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x08, 0x0b, 0x10, 0x10, 0x37, 0x50, 0x10, 0x13,
-+ 0x11, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x19, 0x35, 0x36, 0x30, 0x50,
-+ 0x11, 0x17, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0xa0, 0x60, 0x60, 0x90,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x17, 0x10, 0x30, 0x51, 0x12, 0x14,
-+ 0x11, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xe0, 0xe0, 0x50, 0x48, 0x44,
-+ 0x40, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x1b, 0x34, 0x36, 0x39, 0x54,
-+ 0x15, 0x16, 0x17, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x48, 0x48, 0xa8, 0xa8,
-+ 0x68, 0x28, 0xe8, 0x28, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x18, 0x34, 0x35, 0x32, 0x52,
-+ 0x1f, 0x12, 0x12, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x88, 0x88, 0x08, 0x30, 0x10,
-+ 0xfc, 0x94, 0x94, 0xa4, 0xa4, 0xcc, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x13, 0x12, 0x12, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x90, 0x50, 0x50,
-+ 0x10, 0xa0, 0xa0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x12, 0x19, 0x35, 0x34, 0x37, 0x50,
-+ 0x10, 0x10, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x50, 0x40, 0xfc, 0xa0,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x02, 0x04, 0x18, 0x61, 0x06,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x50, 0xa0, 0x10, 0x0c,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x18, 0x34, 0x37, 0x30, 0x50,
-+ 0x17, 0x11, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x18, 0x37, 0x36, 0x32, 0x52,
-+ 0x12, 0x12, 0x12, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x80, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x19, 0x36, 0x37, 0x32, 0x53,
-+ 0x12, 0x13, 0x12, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xc8, 0x48, 0xc8,
-+ 0x48, 0xc8, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x18, 0x34, 0x37, 0x30, 0x50,
-+ 0x13, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1a, 0x37, 0x36, 0x32, 0x52,
-+ 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xe8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x01, 0x7f,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0x00, 0xfc,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1a, 0x37, 0x34, 0x33, 0x52,
-+ 0x13, 0x12, 0x13, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x36, 0x37, 0x30, 0x53,
-+ 0x10, 0x10, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x31, 0x51,
-+ 0x11, 0x17, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xfc, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1a, 0x36, 0x37, 0x32, 0x52,
-+ 0x12, 0x13, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x48, 0xe8,
-+ 0xd8, 0x58, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x10, 0x3b, 0x36, 0x36, 0x53,
-+ 0x12, 0x10, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xc8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x1a, 0x34, 0x37, 0x32, 0x53,
-+ 0x12, 0x13, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1b, 0x34, 0x34, 0x31, 0x52,
-+ 0x10, 0x11, 0x12, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x50, 0x88, 0xfc, 0xa4, 0xa0, 0x24, 0x9c,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x14, 0x37, 0x32, 0x35, 0x50,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x08, 0xf0, 0x20,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x1a, 0x37, 0x36, 0x32, 0x53,
-+ 0x12, 0x10, 0x10, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0xe0, 0xd0, 0x54, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x34, 0x37, 0x32, 0x52,
-+ 0x13, 0x12, 0x12, 0x12, 0x12, 0x11, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8, 0x48, 0x48,
-+ 0xf8, 0x08, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x19, 0x35, 0x37, 0x31, 0x53,
-+ 0x13, 0x15, 0x19, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x48, 0xa8, 0x28, 0x28, 0x28, 0xe8, 0x28, 0xa8,
-+ 0x68, 0x68, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x19, 0x34, 0x34, 0x31, 0x56,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0x40, 0xb0, 0x0c,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1e, 0x10, 0x1e, 0x02, 0x7f,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0x80, 0xfc,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x13, 0x18, 0x17, 0x34, 0x31, 0x36, 0x51,
-+ 0x10, 0x10, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0xf0,
-+ 0x20, 0x40, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x01, 0x3f, 0x01, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf8, 0x00, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x1b, 0x34, 0x37, 0x31, 0x53,
-+ 0x15, 0x11, 0x11, 0x11, 0x11, 0x10, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xf8, 0xa0, 0xfc, 0x10, 0xf8,
-+ 0x14, 0x10, 0x60, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x19, 0x35, 0x35, 0x32, 0x54,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x10, 0x98, 0x64, 0x44,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x18, 0x34, 0x35, 0x31, 0x52,
-+ 0x10, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0xe0, 0xa0, 0xa4, 0x24, 0x1c, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x34, 0x37, 0x30, 0x53,
-+ 0x10, 0x17, 0x11, 0x13, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x80, 0xfc, 0x10, 0xe0, 0xd0, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1a, 0x36, 0x36, 0x32, 0x52,
-+ 0x12, 0x12, 0x12, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xe8, 0x48, 0xe8, 0x48,
-+ 0xe8, 0xa8, 0xa8, 0xe8, 0x88, 0x18, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x31, 0x57,
-+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x48, 0x28, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x13, 0x1a, 0x36, 0x37, 0x32, 0x53,
-+ 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0xc8, 0xf8, 0x48, 0xf8,
-+ 0x88, 0x88, 0xe8, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x31, 0x50,
-+ 0x13, 0x12, 0x12, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x50, 0x50, 0xb0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x34, 0x35, 0x30, 0x57,
-+ 0x10, 0x10, 0x11, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x80, 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x12, 0x11, 0x24, 0x4a, 0x08, 0x11, 0x32, 0x52,
-+ 0x10, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0x78, 0x00, 0x00, 0xfc, 0x10, 0x10, 0x10,
-+ 0x30, 0x00, 0x88, 0x84, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x19, 0x35, 0x35, 0x31, 0x50,
-+ 0x13, 0x10, 0x11, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x1f, 0x0f, 0x02, 0x7f, 0x0f, 0x14, 0x67,
-+ 0x04, 0x07, 0x21, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0xe0, 0x80, 0xfc, 0xe0, 0x50, 0xcc,
-+ 0x40, 0xc0, 0x08, 0x84, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x19, 0x35, 0x37, 0x31, 0x51,
-+ 0x13, 0x13, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x50, 0x90, 0x10, 0x14, 0x34, 0xf8, 0x50, 0x90,
-+ 0x50, 0x50, 0x28, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x10, 0x12, 0x12, 0x12, 0x3b, 0x34, 0x37, 0x50,
-+ 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x80,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x36, 0x37, 0x31, 0x51,
-+ 0x13, 0x14, 0x13, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x40, 0x40,
-+ 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x1a, 0x37, 0x34, 0x31, 0x51,
-+ 0x11, 0x11, 0x11, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf8, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x1a, 0x35, 0x35, 0x32, 0x50,
-+ 0x10, 0x11, 0x15, 0x15, 0x19, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0xa8, 0xa8, 0x68, 0x58, 0xb0,
-+ 0x80, 0x50, 0x48, 0x14, 0x14, 0xf0, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x1c, 0x3f, 0x3c, 0x37, 0x54,
-+ 0x14, 0x17, 0x13, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0x28, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x11, 0x11, 0x12, 0x1a, 0x35, 0x35, 0x30, 0x53,
-+ 0x12, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x28, 0x28, 0x50, 0x50, 0x28, 0x68, 0x80, 0xf8,
-+ 0x28, 0xc8, 0x68, 0x98, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x29, 0x3f, 0x24, 0x3b,
-+ 0x61, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x48, 0x30, 0x30, 0xc8,
-+ 0x04, 0x10, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x11, 0x11, 0x12, 0x1d, 0x35, 0x35, 0x31, 0x51,
-+ 0x10, 0x11, 0x16, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x80, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x06, 0x38, 0x3e, 0x22, 0x3f, 0x3e, 0x3e, 0x23,
-+ 0x4c, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x94, 0xfc, 0x90, 0x60, 0xb0,
-+ 0x0c, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x1a, 0x35, 0x34, 0x37, 0x54,
-+ 0x12, 0x12, 0x17, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xf0, 0xb0,
-+ 0xb0, 0xd0, 0xf4, 0xcc, 0xac, 0x84, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3f, 0x22, 0x5e,
-+ 0x00, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x70, 0x50, 0x54, 0x8c, 0xf8, 0x48, 0x30, 0xd8,
-+ 0x04, 0x10, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x1a, 0x37, 0x36, 0x33, 0x52,
-+ 0x10, 0x11, 0x11, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xc8,
-+ 0xd0, 0x50, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x1f, 0x34, 0x37, 0x30, 0x57,
-+ 0x10, 0x13, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x48, 0xb0, 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc,
-+ 0xa8, 0xf8, 0xb0, 0xa8, 0xa4, 0xa0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x17, 0x17, 0x14, 0x27, 0x24,
-+ 0x59, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0xf0, 0x10, 0xf0, 0xb0,
-+ 0x8c, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x18, 0x34, 0x36, 0x32, 0x52,
-+ 0x12, 0x12, 0x12, 0x13, 0x11, 0x16, 0x00, 0x00,
-+ 0x10, 0x64, 0x84, 0xf8, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0xfc, 0x98, 0x04, 0x00, 0x00,
-+ 0x22, 0x14, 0x7f, 0x08, 0x2a, 0x2a, 0x3e, 0x09,
-+ 0x13, 0x20, 0x04, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x08,
-+ 0x18, 0x80, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x19, 0x36, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x12, 0x13, 0x15, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x08, 0xf4, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x37, 0x32, 0x53,
-+ 0x12, 0x10, 0x17, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x13, 0x08, 0x4b, 0x22, 0x23, 0x0a, 0x13, 0x22,
-+ 0x22, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0xf0, 0xa0, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x48,
-+ 0x58, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x36, 0x33, 0x50,
-+ 0x17, 0x10, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x1f, 0x34, 0x37, 0x35, 0x57,
-+ 0x14, 0x13, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x24, 0xa8, 0x98, 0x90, 0x68, 0x84,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x36, 0x37, 0x32, 0x53,
-+ 0x12, 0x13, 0x14, 0x17, 0x18, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x48, 0x68, 0xd0, 0x50, 0x4c, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x19, 0x35, 0x36, 0x37, 0x50,
-+ 0x11, 0x17, 0x10, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0x90, 0xf8, 0x10, 0x18, 0xa4, 0xfc, 0xa0,
-+ 0x50, 0xac, 0x48, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x7f,
-+ 0x08, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x08, 0xf0, 0x80, 0xfc, 0x90, 0x90, 0x90, 0x10,
-+ 0x10, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x11, 0x3f, 0x3d, 0x37, 0x55,
-+ 0x17, 0x11, 0x17, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x04, 0x38, 0xe0, 0x20, 0xe0, 0x7c, 0xe8, 0x68,
-+ 0xe8, 0x28, 0xe8, 0x48, 0x48, 0x88, 0x00, 0x00,
-+ 0x11, 0x11, 0x22, 0x4c, 0x0a, 0x12, 0x33, 0x54,
-+ 0x18, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x10, 0x10, 0xa8, 0x44, 0x40, 0x78, 0x40, 0xc0,
-+ 0x3c, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x1a, 0x35, 0x36, 0x34, 0x51,
-+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x98, 0xa8, 0xd8, 0xa8, 0xc8, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x13, 0x15, 0x39, 0x35, 0x35, 0x51,
-+ 0x17, 0x11, 0x13, 0x14, 0x11, 0x12, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0xfc, 0x00, 0xf8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x19, 0x34, 0x37, 0x33, 0x50,
-+ 0x16, 0x12, 0x12, 0x12, 0x15, 0x18, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x88, 0x88, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x37, 0x32, 0x53,
-+ 0x10, 0x17, 0x10, 0x17, 0x11, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xfc, 0x10, 0xfc, 0x10, 0xb0, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x17, 0x39, 0x3f, 0x35, 0x57,
-+ 0x15, 0x17, 0x11, 0x17, 0x11, 0x17, 0x00, 0x00,
-+ 0x50, 0x90, 0x10, 0xd0, 0x3c, 0xd4, 0x54, 0xd4,
-+ 0x54, 0xd4, 0x14, 0xe4, 0xe4, 0x4c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x25, 0x3f, 0x27, 0x3a,
-+ 0x23, 0x3f, 0x01, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xf0, 0x40, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0xf8, 0x00, 0xa8, 0x24, 0xe4, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x37, 0x30, 0x53,
-+ 0x10, 0x17, 0x11, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x00, 0xf8,
-+ 0x00, 0xfc, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x1d, 0x3c, 0x3f, 0x34, 0x55,
-+ 0x17, 0x16, 0x17, 0x1a, 0x1b, 0x12, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x58, 0x00, 0x00,
-+ 0x01, 0x7f, 0x1f, 0x0f, 0x08, 0x0f, 0x04, 0x7f,
-+ 0x0f, 0x08, 0x0f, 0x25, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0xe0, 0x20, 0xe0, 0x40, 0xfc,
-+ 0xe0, 0x20, 0xe0, 0x08, 0xa4, 0xe4, 0x00, 0x00,
-+ 0x08, 0x7f, 0x2a, 0x2a, 0x5d, 0x1c, 0x2a, 0x4b,
-+ 0x01, 0x04, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xfc, 0x20, 0x30, 0x48, 0x84,
-+ 0x00, 0x90, 0x88, 0x24, 0x24, 0xe0, 0x00, 0x00,
-+ 0x02, 0x3c, 0x09, 0x7e, 0x08, 0x3e, 0x22, 0x3e,
-+ 0x20, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x88, 0x88, 0xfc, 0x88, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x88, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x35, 0x35, 0x30, 0x57,
-+ 0x11, 0x11, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x40, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0x50, 0x48, 0xc8, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x1b, 0x37, 0x35, 0x31, 0x51,
-+ 0x11, 0x11, 0x10, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xf8,
-+ 0x20, 0xfc, 0x00, 0xa8, 0x54, 0x54, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x34, 0x37, 0x32, 0x53,
-+ 0x12, 0x13, 0x10, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0x00, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x0b, 0x10, 0x17, 0x31, 0x53, 0x1d, 0x11,
-+ 0x11, 0x11, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa0, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x58, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x23, 0x12, 0x13, 0x03, 0x0a, 0x13, 0x25,
-+ 0x24, 0x09, 0x04, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xf0, 0xf0, 0x40, 0xfc, 0x54,
-+ 0xac, 0x18, 0x80, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x36, 0x37, 0x32, 0x53,
-+ 0x12, 0x12, 0x12, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x48, 0xf8,
-+ 0xa8, 0x48, 0x68, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x12, 0x12, 0x13, 0x1e, 0x36, 0x37, 0x32, 0x52,
-+ 0x12, 0x17, 0x10, 0x15, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0xa8, 0xa8, 0xfc, 0xa8, 0xa8,
-+ 0xa8, 0xfc, 0x00, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x34, 0x37, 0x30, 0x57,
-+ 0x11, 0x17, 0x10, 0x13, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x1a, 0x37, 0x36, 0x33, 0x52,
-+ 0x13, 0x10, 0x17, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0xe8, 0x58, 0xe8, 0xf8, 0xe8,
-+ 0x58, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x15, 0x1e, 0x14, 0x14,
-+ 0x14, 0x14, 0x20, 0x2a, 0x4a, 0x11, 0x00, 0x00,
-+ 0x80, 0xfc, 0x90, 0xfc, 0x90, 0xf8, 0x90, 0xf8,
-+ 0x90, 0xfc, 0x80, 0x48, 0x14, 0xf4, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x37, 0x30, 0x57,
-+ 0x17, 0x11, 0x1f, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0x5c,
-+ 0x5c, 0xc8, 0x28, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x12, 0x13, 0x14, 0x19, 0x37, 0x3d, 0x3d, 0x57,
-+ 0x15, 0x15, 0x17, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x00, 0xbc, 0x94, 0x14, 0xe4, 0x4c, 0x68, 0xe8,
-+ 0x7c, 0x48, 0xfc, 0x48, 0x48, 0xc8, 0x00, 0x00,
-+ 0x14, 0x7f, 0x1c, 0x3f, 0x2a, 0x3e, 0x7f, 0x3e,
-+ 0x0f, 0x71, 0x04, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x88, 0x88,
-+ 0x30, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x19, 0x34, 0x37, 0x32, 0x53,
-+ 0x10, 0x17, 0x10, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xb8, 0xa8, 0xb8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x1b, 0x36, 0x36, 0x33, 0x53,
-+ 0x12, 0x12, 0x14, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0xa8, 0x98, 0x70, 0xfc,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x17, 0x7a, 0x11, 0x3f, 0x3b, 0x35, 0x59,
-+ 0x13, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x10, 0xd0, 0xbc, 0x10, 0xf8, 0xb8, 0x34, 0x54,
-+ 0x10, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x11, 0x11, 0x1b, 0x36,
-+ 0x37, 0x52, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x10, 0x20, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x1b, 0x36, 0x36, 0x32, 0x53,
-+ 0x13, 0x10, 0x17, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8,
-+ 0xf0, 0x40, 0xfc, 0xf0, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x1b, 0x36, 0x37, 0x33, 0x50,
-+ 0x17, 0x10, 0x13, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0x40,
-+ 0xfc, 0x80, 0xf8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x11, 0x0f, 0x49, 0x21, 0x27, 0x0f, 0x15, 0x15,
-+ 0x26, 0x24, 0x01, 0x24, 0x24, 0x43, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xf0, 0xfc, 0x74, 0x54, 0x54,
-+ 0xec, 0x44, 0x00, 0x88, 0x24, 0xe4, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x11, 0x3f, 0x3d, 0x35, 0x57,
-+ 0x13, 0x13, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0x3c, 0xd4, 0x14, 0xec, 0x7c, 0x64, 0xfc,
-+ 0x24, 0xbc, 0x64, 0x7c, 0x28, 0x44, 0x00, 0x00,
-+ 0x12, 0x12, 0x13, 0x1d, 0x38, 0x3f, 0x32, 0x56,
-+ 0x12, 0x16, 0x12, 0x16, 0x13, 0x1e, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xe8, 0x68, 0x20, 0xfc, 0xa0, 0xe8,
-+ 0xa8, 0xd0, 0xd4, 0xac, 0xcc, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x19, 0x3f, 0x32, 0x36, 0x52,
-+ 0x16, 0x12, 0x16, 0x12, 0x13, 0x1e, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0x28, 0xfc, 0xa0, 0xe8, 0xa8,
-+ 0xd8, 0x90, 0xd4, 0xac, 0xcc, 0x04, 0x00, 0x00,
-+ 0x10, 0x7c, 0x13, 0x38, 0x7c, 0x45, 0x7e, 0x00,
-+ 0x3c, 0x24, 0x3d, 0x25, 0x1e, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa8, 0x30, 0x30, 0x48, 0xc4,
-+ 0x20, 0x20, 0x48, 0x44, 0x54, 0x30, 0x00, 0x00,
-+ 0x11, 0x17, 0x11, 0x1b, 0x36, 0x37, 0x31, 0x51,
-+ 0x13, 0x15, 0x19, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xb8, 0xa8, 0xb8, 0x20, 0xfc,
-+ 0x20, 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x1b, 0x37, 0x36, 0x33, 0x51,
-+ 0x11, 0x13, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xb8, 0xa8, 0xb8, 0x20,
-+ 0xfc, 0x20, 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x19, 0x35, 0x37, 0x30, 0x57,
-+ 0x12, 0x13, 0x13, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xf0, 0xf0, 0xf8, 0x10, 0xfc,
-+ 0xa8, 0xb8, 0xb8, 0xac, 0xf8, 0x88, 0x00, 0x00,
-+ 0x13, 0x1f, 0x68, 0x13, 0x2b, 0x7c, 0x3b, 0x56,
-+ 0x13, 0x01, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x90, 0xd8, 0x68, 0x90, 0xa8, 0x7c, 0xb8, 0xd4,
-+ 0x90, 0x00, 0x88, 0xa4, 0x24, 0xe0, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x03, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x08, 0x08, 0xfc, 0x80, 0x88, 0x88,
-+ 0x50, 0x60, 0xe4, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x12, 0x14, 0x18, 0x61, 0x06, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x18, 0x14,
-+ 0x12, 0x12, 0x10, 0x20, 0x21, 0x46, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10,
-+ 0x1f, 0x10, 0x10, 0x20, 0x21, 0x46, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x88, 0x88, 0x48,
-+ 0x50, 0x30, 0x24, 0x54, 0x8c, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x00, 0x00, 0x01, 0x1e, 0x01,
-+ 0x7f, 0x00, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00,
-+ 0x20, 0x10, 0xfc, 0x90, 0x64, 0xb4, 0x2c, 0x10,
-+ 0xfc, 0x90, 0x60, 0xe4, 0x1c, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x1f, 0x10, 0x1f, 0x1f, 0x10,
-+ 0x1f, 0x01, 0x7f, 0x00, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0xf0, 0x10,
-+ 0xf0, 0x08, 0xfc, 0xb0, 0xe4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x0f, 0x08, 0x0f, 0x0f, 0x08,
-+ 0x3f, 0x21, 0x5f, 0x00, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0x20,
-+ 0xfc, 0x28, 0xf8, 0xa0, 0xe4, 0x1c, 0x00, 0x00,
-+ 0x12, 0x12, 0x7f, 0x12, 0x1e, 0x12, 0x1e, 0x12,
-+ 0x7f, 0x2a, 0x2b, 0x31, 0x20, 0x1f, 0x00, 0x00,
-+ 0x28, 0x24, 0xa4, 0x3c, 0xe0, 0x28, 0x28, 0x28,
-+ 0xb0, 0x10, 0x34, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x7f, 0x12, 0x1f, 0x32,
-+ 0x3f, 0x52, 0x1f, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0xfc, 0x40, 0xa8, 0x28,
-+ 0xb8, 0x10, 0x94, 0x2c, 0xcc, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x19, 0x2a, 0x5d, 0x2a, 0x4c, 0x16,
-+ 0x69, 0x34, 0x09, 0x32, 0x0c, 0x70, 0x00, 0x00,
-+ 0x30, 0xa8, 0xa8, 0xa0, 0xbc, 0xe0, 0xa8, 0x28,
-+ 0x10, 0x10, 0x34, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x77, 0x55, 0x77, 0x00, 0x3e, 0x2a, 0x3e,
-+ 0x2a, 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0x20, 0x3c, 0xe0, 0x28, 0x28,
-+ 0x18, 0x10, 0x34, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x04, 0x07, 0x3f, 0x2b, 0x3d, 0x27, 0x3f, 0x20,
-+ 0x2f, 0x29, 0x2f, 0x2a, 0x27, 0x5c, 0x00, 0x00,
-+ 0x30, 0x28, 0xa8, 0x20, 0x3c, 0xe0, 0x28, 0x28,
-+ 0x18, 0x10, 0x34, 0x4c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x19, 0x2a, 0x5d, 0x2a, 0x5a, 0x1f,
-+ 0x24, 0x7f, 0x24, 0x3f, 0x24, 0x3f, 0x00, 0x00,
-+ 0x30, 0xa8, 0xa8, 0xa0, 0xbc, 0xe0, 0xa8, 0xa8,
-+ 0x18, 0x10, 0x14, 0x2c, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f,
-+ 0x19, 0x19, 0x2f, 0x29, 0x49, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+ 0x80, 0x80, 0x84, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x7c, 0x10, 0x10, 0x13, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x1f, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x11, 0x11, 0x10, 0x14,
-+ 0x18, 0x70, 0x10, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x48, 0x28, 0x30, 0x90, 0xa0,
-+ 0x60, 0x40, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x12, 0x11, 0x14,
-+ 0x18, 0x70, 0x11, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
-+ 0xd0, 0xb0, 0x1c, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x12, 0x12, 0x16,
-+ 0x1a, 0x72, 0x12, 0x14, 0x14, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x88,
-+ 0x88, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7c, 0x10, 0x10, 0x13, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x10, 0x17,
-+ 0x18, 0x70, 0x11, 0x12, 0x14, 0x38, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf0, 0x90, 0x90, 0x90, 0xfc,
-+ 0x80, 0xc0, 0x40, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x10, 0x13, 0x10, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x13, 0x30, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0x7c, 0xc8, 0x48, 0x50,
-+ 0x30, 0x20, 0x54, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x17, 0x10, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x60, 0x40, 0xfc, 0x48, 0x50,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x15,
-+ 0x19, 0x71, 0x12, 0x12, 0x14, 0x38, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x50, 0x50, 0x48, 0x48, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x10, 0x11, 0x10, 0x14,
-+ 0x18, 0x70, 0x13, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x90, 0x50, 0x50, 0x10, 0x10, 0x90, 0x90,
-+ 0x1c, 0x70, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x10, 0x15,
-+ 0x19, 0x71, 0x12, 0x12, 0x14, 0x39, 0x00, 0x00,
-+ 0x90, 0x88, 0x88, 0xfc, 0x80, 0x90, 0x90, 0xd0,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x10, 0x14,
-+ 0x18, 0x70, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x60, 0x50,
-+ 0x48, 0x48, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x15,
-+ 0x1a, 0x70, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x60, 0x60, 0xd0, 0x48,
-+ 0x44, 0x44, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x16, 0x12, 0x12, 0x15,
-+ 0x19, 0x72, 0x12, 0x1f, 0x10, 0x30, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x78, 0xa8, 0xa8, 0x28,
-+ 0x28, 0xa8, 0xa8, 0xc8, 0x48, 0x98, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x11, 0x11, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x12, 0x12, 0x13, 0x16,
-+ 0x1a, 0x73, 0x12, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x7f, 0x12, 0x12, 0x3c, 0x06, 0x19, 0x60,
-+ 0x0f, 0x1f, 0x01, 0x3f, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x50, 0x20, 0xd0, 0x0c, 0xe0,
-+ 0x00, 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x70, 0x0f, 0x08, 0x0f, 0x01,
-+ 0x0f, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x80, 0xe0, 0x1c, 0xe0, 0x20, 0xe0, 0xc0,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x12, 0x13, 0x12, 0x16,
-+ 0x1a, 0x72, 0x12, 0x14, 0x14, 0x38, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0xa0,
-+ 0x60, 0x30, 0x28, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7f, 0x12, 0x12, 0x13, 0x16,
-+ 0x1a, 0x72, 0x12, 0x14, 0x14, 0x38, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0xa4, 0x9c, 0x70, 0xf8,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x14,
-+ 0x1b, 0x72, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x02, 0x05, 0x38, 0x08, 0x08, 0x3e, 0x08, 0x08,
-+ 0x0e, 0x79, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x12, 0x11, 0x10, 0x14,
-+ 0x1b, 0x70, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x50, 0x48, 0x48, 0xf0, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x13, 0x12, 0x16, 0x16,
-+ 0x1a, 0x72, 0x12, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x13, 0x12, 0x16,
-+ 0x1b, 0x70, 0x10, 0x10, 0x11, 0x32, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa0, 0xa0,
-+ 0xfc, 0xa4, 0xa4, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x17, 0x16,
-+ 0x1a, 0x72, 0x12, 0x13, 0x12, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x48, 0x28, 0x28, 0xfc, 0x08,
-+ 0x88, 0x48, 0x48, 0xfc, 0x08, 0x30, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7e, 0x17, 0x12, 0x12, 0x16,
-+ 0x1a, 0x72, 0x12, 0x14, 0x14, 0x38, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x78, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xc8, 0x98, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x12, 0x11, 0x15,
-+ 0x18, 0x70, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x10, 0x10, 0x10, 0x10,
-+ 0xa0, 0xa0, 0xa0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x13, 0x14, 0x10, 0x14,
-+ 0x19, 0x77, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0x20, 0xa0, 0x40, 0xa0,
-+ 0xf8, 0x14, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x10, 0x11, 0x14,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x17, 0x11, 0x11, 0x15,
-+ 0x19, 0x77, 0x11, 0x11, 0x12, 0x34, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x20,
-+ 0x20, 0xfc, 0x20, 0x10, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x11, 0x12, 0x14, 0x15,
-+ 0x19, 0x72, 0x14, 0x10, 0x10, 0x31, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x98, 0x98, 0xa8, 0xc8, 0x98,
-+ 0x98, 0xa8, 0xc8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x17, 0x10, 0x14,
-+ 0x1b, 0x70, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x0a, 0x0d, 0x3a, 0x0c, 0x3a, 0x0c, 0x39, 0x00,
-+ 0x0f, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x88, 0x30, 0xe0,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x7c, 0x13, 0x10, 0x10, 0x15,
-+ 0x19, 0x72, 0x14, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x20, 0x40, 0xc8, 0xe8, 0xf0, 0x50,
-+ 0x50, 0x48, 0x44, 0xc0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x11, 0x11, 0x12, 0x16,
-+ 0x1a, 0x73, 0x12, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x08, 0x10,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x13, 0x10, 0x13, 0x16,
-+ 0x1b, 0x72, 0x13, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x11, 0x11, 0x11, 0x16,
-+ 0x1a, 0x70, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x50, 0x50, 0x58, 0xe4,
-+ 0x44, 0x60, 0xa0, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x10, 0x17,
-+ 0x18, 0x70, 0x17, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x13, 0x10,
-+ 0x1f, 0x71, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0x58, 0x48, 0x58, 0x48, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12, 0x10,
-+ 0x18, 0x73, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x11, 0x11, 0x12, 0x16,
-+ 0x1a, 0x72, 0x12, 0x12, 0x12, 0x33, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x20, 0x20, 0x38, 0x48, 0x68,
-+ 0x98, 0x50, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x11, 0x13, 0x14,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x90, 0x10, 0xfc, 0x08,
-+ 0xe8, 0x28, 0x28, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x11, 0x16, 0x7c, 0x14, 0x17, 0x15, 0x15,
-+ 0x1d, 0x75, 0x15, 0x19, 0x19, 0x31, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0x40, 0x7c, 0xa4, 0xa8, 0x20,
-+ 0x20, 0x30, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x7e, 0x13, 0x12, 0x12, 0x17,
-+ 0x1a, 0x72, 0x13, 0x16, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xc8, 0xc8, 0xa8,
-+ 0xb0, 0x90, 0xb0, 0xc8, 0x88, 0x84, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x11, 0x11, 0x17, 0x11,
-+ 0x19, 0x73, 0x10, 0x10, 0x17, 0x30, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xf8, 0x50, 0x50, 0xfc, 0x50,
-+ 0x50, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x28, 0x3e, 0x48, 0x7f, 0x08, 0x3e, 0x2a, 0x2e,
-+ 0x07, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x08, 0xd8,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7e, 0x15, 0x11, 0x12, 0x17,
-+ 0x18, 0x72, 0x12, 0x13, 0x12, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0x08, 0xe8, 0x88, 0xe8,
-+ 0x88, 0xa8, 0xa8, 0xe8, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x13, 0x12, 0x13, 0x16,
-+ 0x1b, 0x70, 0x17, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x14, 0x17, 0x10, 0x16,
-+ 0x1a, 0x72, 0x12, 0x13, 0x14, 0x38, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0xfc, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x13, 0x16,
-+ 0x1a, 0x72, 0x13, 0x12, 0x10, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xb8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x30, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12, 0x16,
-+ 0x1a, 0x72, 0x12, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x13, 0x12, 0x1e,
-+ 0x73, 0x12, 0x14, 0x14, 0x1b, 0x3c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x48, 0x40,
-+ 0xfc, 0x40, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x10, 0x17, 0x10, 0x14,
-+ 0x1b, 0x70, 0x13, 0x10, 0x13, 0x30, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0xe0, 0x20, 0xfc, 0x40, 0xe8,
-+ 0x68, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x11, 0x11, 0x16, 0x10,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x20, 0x24, 0xf8, 0x20, 0x20, 0xe4, 0x5c, 0x80,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x13, 0x13, 0x12, 0x16,
-+ 0x1b, 0x70, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x58, 0xd8, 0xe8,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x11, 0x10, 0x12, 0x7d, 0x11, 0x12, 0x11, 0x14,
-+ 0x18, 0x73, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0xd0, 0x54, 0xa4, 0xa8, 0x10, 0x08, 0xf4, 0x40,
-+ 0x40, 0xf8, 0xa0, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x12, 0x12, 0x7e, 0x13, 0x10, 0x17, 0x10,
-+ 0x1b, 0x72, 0x12, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x40,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x17, 0x10, 0x13, 0x14,
-+ 0x18, 0x77, 0x10, 0x11, 0x16, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0xa0, 0x40, 0xfc, 0xc8, 0x50, 0xc0,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x17, 0x11, 0x12,
-+ 0x1a, 0x73, 0x12, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xfc, 0x40, 0x58,
-+ 0x48, 0x58, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x7e, 0x13, 0x12, 0x12, 0x17,
-+ 0x1a, 0x72, 0x13, 0x16, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xa8,
-+ 0xa4, 0xa4, 0xa4, 0xb8, 0xa0, 0xa0, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x17, 0x14,
-+ 0x1e, 0x75, 0x16, 0x15, 0x14, 0x35, 0x00, 0x00,
-+ 0xc0, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x11, 0x11, 0x17, 0x12,
-+ 0x1f, 0x30, 0x52, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x80, 0xf0, 0x90, 0x60, 0x40, 0x80, 0xf8, 0x40,
-+ 0xfc, 0x40, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x5f, 0x0f, 0x02, 0x3f, 0x08,
-+ 0x17, 0x6f, 0x01, 0x3f, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0xf0, 0xe0, 0x80, 0xf8, 0xe0,
-+ 0x10, 0xec, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x10, 0x17, 0x10, 0x17,
-+ 0x1a, 0x77, 0x12, 0x17, 0x12, 0x32, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa0, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xfc, 0x48, 0xfc, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x10, 0x13, 0x7c, 0x11, 0x10, 0x17, 0x11,
-+ 0x19, 0x72, 0x14, 0x18, 0x17, 0x30, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x13, 0x12, 0x12, 0x17,
-+ 0x19, 0x72, 0x15, 0x12, 0x14, 0x33, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xb8, 0x20, 0x20, 0xb8,
-+ 0x98, 0xa8, 0xd8, 0xa8, 0xc8, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x12, 0x15, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x13, 0x15, 0x31, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x08, 0xf4, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x7d, 0x11, 0x17, 0x10, 0x17,
-+ 0x1a, 0x73, 0x13, 0x12, 0x17, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0xf0, 0xf0, 0xfc, 0x10, 0xfc,
-+ 0xa8, 0xb8, 0xb8, 0xac, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x11, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00,
-+ 0xfc, 0x00, 0xfc, 0xa4, 0xe4, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x10, 0x17,
-+ 0x19, 0x72, 0x15, 0x12, 0x14, 0x31, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x98, 0xa8, 0xd8, 0xa8, 0xc8, 0x98, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x13, 0x12, 0x17,
-+ 0x1a, 0x70, 0x17, 0x11, 0x10, 0x30, 0x00, 0x00,
-+ 0x50, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x10, 0x12, 0x12, 0x7f, 0x12, 0x10, 0x11, 0x15,
-+ 0x1b, 0x75, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x98, 0xa0, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x3e, 0x08, 0x7f, 0x14, 0x7f, 0x3f, 0x08,
-+ 0x07, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0xd4, 0xb4, 0x0c, 0x60,
-+ 0x80, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x13, 0x12, 0x17,
-+ 0x18, 0x73, 0x10, 0x17, 0x11, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x50, 0xf8, 0x10, 0xfc, 0x10, 0xb0, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x7a, 0x15, 0x12, 0x14, 0x11,
-+ 0x1e, 0x71, 0x10, 0x11, 0x10, 0x33, 0x00, 0x00,
-+ 0x00, 0xf8, 0x98, 0xa8, 0xd8, 0xa8, 0xc8, 0x20,
-+ 0x50, 0xac, 0x48, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x11, 0x12, 0x13, 0x7f, 0x12, 0x17, 0x15, 0x1d,
-+ 0x71, 0x11, 0x11, 0x11, 0x11, 0x36, 0x00, 0x00,
-+ 0xb8, 0x68, 0xb8, 0x78, 0xa8, 0xfc, 0xf8, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0xa4, 0x3c, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x12, 0x13, 0x12, 0x17,
-+ 0x1a, 0x77, 0x13, 0x12, 0x14, 0x38, 0x00, 0x00,
-+ 0x84, 0x88, 0xb0, 0xe0, 0xa0, 0xbc, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0x28, 0xc8, 0x48, 0x88, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x11, 0x17, 0x11, 0x11,
-+ 0x1e, 0x73, 0x10, 0x10, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xfc, 0x10, 0xfc,
-+ 0x00, 0xf8, 0xa0, 0xa0, 0x24, 0x1c, 0x00, 0x00,
-+ 0x11, 0x12, 0x11, 0x7d, 0x12, 0x17, 0x11, 0x17,
-+ 0x1c, 0x77, 0x15, 0x11, 0x11, 0x36, 0x00, 0x00,
-+ 0xd0, 0x54, 0xa4, 0x18, 0x08, 0x74, 0x50, 0x54,
-+ 0x8c, 0xf8, 0x48, 0x30, 0x28, 0xc4, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x13, 0x17, 0x11, 0x15,
-+ 0x19, 0x71, 0x11, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa4, 0x18, 0xf8, 0x14, 0xf0,
-+ 0x10, 0xf0, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x11, 0x15, 0x13, 0x79, 0x12, 0x14, 0x13, 0x12,
-+ 0x1c, 0x73, 0x10, 0x10, 0x11, 0x32, 0x00, 0x00,
-+ 0x10, 0x54, 0xb4, 0x18, 0xa8, 0x44, 0xfc, 0x48,
-+ 0x40, 0xf8, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x12, 0x13, 0x17,
-+ 0x1b, 0x74, 0x12, 0x12, 0x14, 0x30, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0x20, 0xe8, 0x28, 0xd0, 0x54,
-+ 0xec, 0x44, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x12, 0x13, 0x16,
-+ 0x1b, 0x72, 0x13, 0x14, 0x15, 0x38, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x78, 0xc8, 0x38, 0xfc, 0x68,
-+ 0xb8, 0x70, 0xb8, 0x58, 0x94, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7f, 0x12, 0x12, 0x13, 0x17,
-+ 0x18, 0x77, 0x14, 0x15, 0x14, 0x34, 0x00, 0x00,
-+ 0x40, 0xa0, 0x58, 0xfc, 0xa8, 0x68, 0x98, 0xf8,
-+ 0x40, 0xfc, 0xa4, 0xf4, 0x14, 0x0c, 0x00, 0x00,
-+ 0x10, 0x17, 0x13, 0x7e, 0x12, 0x12, 0x13, 0x15,
-+ 0x19, 0x71, 0x11, 0x11, 0x17, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x10, 0x13, 0x10, 0x17,
-+ 0x19, 0x77, 0x10, 0x13, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x14, 0x12, 0x12, 0x79, 0x14, 0x12, 0x13, 0x10,
-+ 0x1e, 0x72, 0x13, 0x12, 0x15, 0x38, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3f, 0x20, 0x3e, 0x52, 0x1e,
-+ 0x07, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xf8, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x12, 0x17, 0x13, 0x10,
-+ 0x1b, 0x72, 0x13, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0x40,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12, 0x16,
-+ 0x1b, 0x72, 0x13, 0x12, 0x12, 0x32, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x88, 0xe8,
-+ 0xa8, 0x48, 0xf8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x0a, 0x13, 0x1a, 0x13, 0x18, 0x12, 0x7f, 0x08,
-+ 0x17, 0x6f, 0x01, 0x3f, 0x01, 0x03, 0x00, 0x00,
-+ 0x30, 0x90, 0x30, 0x90, 0xb0, 0x90, 0xfc, 0xe0,
-+ 0x10, 0xec, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x06, 0x1b, 0x12, 0x1b, 0x12, 0x1a, 0x12, 0x7f,
-+ 0x09, 0x17, 0x61, 0x1f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xb0, 0x10, 0xb0, 0x90, 0xb0, 0x90, 0xfc,
-+ 0x20, 0xd0, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x2f, 0x21, 0x7e, 0x2a, 0x2a, 0x36, 0x22,
-+ 0x33, 0x62, 0x23, 0x22, 0x24, 0x68, 0x00, 0x00,
-+ 0x80, 0xfc, 0x48, 0xb8, 0xa8, 0xa8, 0xb4, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x11, 0x11, 0x11, 0x17,
-+ 0x1d, 0x70, 0x11, 0x10, 0x11, 0x37, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0xf8, 0x90, 0xf8, 0x40, 0xf0, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x10, 0x11, 0x17, 0x14,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x31, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x90, 0x88, 0x1c, 0xe4, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x10, 0x17, 0x11, 0x14,
-+ 0x19, 0x77, 0x13, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x00, 0xfc, 0xe8, 0x40,
-+ 0xf0, 0xfc, 0x88, 0xfc, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x14, 0x11, 0x17,
-+ 0x19, 0x71, 0x11, 0x11, 0x11, 0x36, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0xf8, 0x58, 0xe4, 0xf4, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x20, 0x2f, 0x2a, 0x7f, 0x2f, 0x2a, 0x2f, 0x2b,
-+ 0x32, 0x63, 0x23, 0x23, 0x21, 0x6e, 0x00, 0x00,
-+ 0x40, 0xfc, 0x80, 0x78, 0xfc, 0xb4, 0xfc, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf4, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x14, 0x17, 0x15, 0x79, 0x10, 0x17, 0x10, 0x17,
-+ 0x1c, 0x77, 0x14, 0x17, 0x14, 0x35, 0x00, 0x00,
-+ 0x20, 0xfc, 0x50, 0x18, 0xa0, 0xfc, 0x00, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x13, 0x12, 0x16,
-+ 0x1a, 0x72, 0x12, 0x14, 0x14, 0x3b, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0xfc, 0xf0, 0xfc, 0x20, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x24, 0x27, 0x2b, 0x7f, 0x2b, 0x2d, 0x2f, 0x28,
-+ 0x3f, 0x62, 0x2f, 0x23, 0x24, 0x68, 0x00, 0x00,
-+ 0x80, 0xf8, 0x68, 0xe8, 0x70, 0xf0, 0xe8, 0x68,
-+ 0xe4, 0x24, 0xe4, 0x38, 0xa0, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x14, 0x1f, 0x10,
-+ 0x1f, 0x74, 0x17, 0x17, 0x14, 0x35, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x20, 0xa8, 0xf0, 0x64,
-+ 0x9c, 0xa0, 0xa8, 0xb0, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x10, 0x13, 0x7d, 0x1a, 0x36, 0x51, 0x13, 0x7f,
-+ 0x05, 0x1f, 0x6f, 0x3f, 0x01, 0x03, 0x00, 0x00,
-+ 0x90, 0x90, 0x7c, 0xb0, 0xd8, 0x94, 0x50, 0xfc,
-+ 0xc0, 0x30, 0xec, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x12, 0x12, 0x15, 0x7d, 0x12, 0x13, 0x15, 0x17,
-+ 0x18, 0x77, 0x10, 0x11, 0x16, 0x30, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xb4, 0xe8, 0xac, 0xb4, 0xfc,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x17, 0x13, 0x7a, 0x13, 0x10, 0x13, 0x11,
-+ 0x18, 0x77, 0x10, 0x17, 0x11, 0x33, 0x00, 0x00,
-+ 0x40, 0xfc, 0xb8, 0xa8, 0xb8, 0xa0, 0xf8, 0xf0,
-+ 0xa0, 0xfc, 0xc8, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x12, 0x13, 0x11, 0x7f, 0x12, 0x17, 0x13, 0x12,
-+ 0x1b, 0x77, 0x15, 0x17, 0x15, 0x35, 0x00, 0x00,
-+ 0x48, 0xf8, 0x20, 0xf8, 0x40, 0xf0, 0xf0, 0x40,
-+ 0xf8, 0xf8, 0x58, 0xf8, 0x48, 0xd8, 0x00, 0x00,
-+ 0x11, 0x17, 0x11, 0x7f, 0x11, 0x12, 0x15, 0x1d,
-+ 0x71, 0x11, 0x11, 0x11, 0x11, 0x36, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0xb0, 0x48, 0xf4, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x25, 0x2f, 0x25, 0x7f, 0x2f, 0x2a, 0x2f, 0x22,
-+ 0x3f, 0x62, 0x2f, 0x23, 0x24, 0x68, 0x00, 0x00,
-+ 0x28, 0xa8, 0x28, 0x7c, 0xd0, 0xd0, 0xfc, 0x50,
-+ 0xd0, 0x7c, 0xd0, 0x50, 0xfc, 0x40, 0x00, 0x00,
-+ 0x13, 0x6f, 0x2b, 0x17, 0x7c, 0x3b, 0x56, 0x13,
-+ 0x0f, 0x1f, 0x01, 0x7f, 0x01, 0x03, 0x00, 0x00,
-+ 0x90, 0xe8, 0xa8, 0x94, 0x7c, 0xb8, 0xd4, 0xe0,
-+ 0x80, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x13, 0x12, 0x13, 0x7f, 0x13, 0x11, 0x13, 0x16,
-+ 0x1a, 0x73, 0x13, 0x10, 0x10, 0x37, 0x00, 0x00,
-+ 0xb8, 0xa8, 0xb8, 0xb8, 0xb8, 0x20, 0xfc, 0xf0,
-+ 0xf0, 0xfc, 0xf0, 0xa0, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x04, 0x02,
-+ 0x02, 0x01, 0x00, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x20,
-+ 0x20, 0x40, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x0f, 0x0c, 0x14, 0x22,
-+ 0x02, 0x01, 0x01, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x10, 0x11, 0x1d, 0x26, 0x24,
-+ 0x04, 0x04, 0x04, 0x08, 0x08, 0x33, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x24, 0x25, 0x25, 0x26, 0x24, 0x24,
-+ 0x26, 0x3c, 0x64, 0x04, 0x05, 0x06, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0c, 0x14, 0x15, 0x35, 0x56, 0x14,
-+ 0x14, 0x14, 0x14, 0x14, 0x10, 0x13, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x54, 0x55, 0x55, 0x7e, 0x54,
-+ 0x54, 0x54, 0x7c, 0x44, 0x01, 0x06, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x10, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x14, 0x12, 0x26, 0x65, 0x14,
-+ 0x0c, 0x0c, 0x0a, 0x12, 0x20, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x90, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x7f,
-+ 0x08, 0x0e, 0x12, 0x12, 0x22, 0x4d, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x50, 0x50,
-+ 0x60, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2b, 0x2a, 0x3e,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x3e, 0x49, 0x08, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x1b, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0x40, 0xf8, 0x88, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x3e, 0x49, 0x0a, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x1b, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x90, 0x90, 0x90, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x2a, 0x29, 0x49, 0x08, 0x7f, 0x41, 0x5d,
-+ 0x55, 0x55, 0x5d, 0x55, 0x41, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0xc8, 0xc8, 0x48, 0x48,
-+ 0x30, 0x30, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x2a, 0x29, 0x49, 0x08, 0x7f, 0x49, 0x6b,
-+ 0x6b, 0x6b, 0x6b, 0x49, 0x49, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0xc8, 0xc8, 0x48, 0x48,
-+ 0x30, 0x30, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x00, 0x3e, 0x22, 0x3e, 0x00,
-+ 0x7f, 0x41, 0x5d, 0x55, 0x5d, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0x3c, 0x20, 0x20, 0xf8, 0x48, 0x48,
-+ 0x28, 0x30, 0x10, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x04, 0x3f, 0x25, 0x7f, 0x25, 0x3f, 0x3f, 0x25,
-+ 0x3f, 0x08, 0x7f, 0x12, 0x1e, 0x71, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x48, 0xc8, 0x48, 0x50,
-+ 0x30, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x3f, 0x40, 0x77, 0x55,
-+ 0x77, 0x12, 0x12, 0x2d, 0x25, 0x49, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0xc8, 0xc8, 0x28, 0x28,
-+ 0x30, 0x10, 0x30, 0x48, 0x88, 0x04, 0x00, 0x00,
-+ 0x49, 0x2a, 0x7f, 0x49, 0x5d, 0x6b, 0x4b, 0x00,
-+ 0x7f, 0x08, 0x1e, 0x72, 0x0c, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x7c, 0xc8, 0x30, 0x30, 0xcc, 0x00,
-+ 0xfc, 0x88, 0xb0, 0xc4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x13, 0x1f, 0x68, 0x13, 0x2b, 0x7f, 0x3a, 0x57,
-+ 0x12, 0x07, 0x3c, 0x03, 0x0e, 0x70, 0x00, 0x00,
-+ 0x90, 0xd8, 0x68, 0x90, 0xa8, 0xfc, 0xb8, 0xd4,
-+ 0x10, 0xf8, 0x40, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x1e, 0x24, 0x7e, 0x2a, 0x2a, 0x3e, 0x2a,
-+ 0x2a, 0x3e, 0x23, 0x22, 0x22, 0x46, 0x00, 0x00,
-+ 0x10, 0x90, 0x50, 0x50, 0x10, 0x90, 0x50, 0x50,
-+ 0x1c, 0x70, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x12, 0x12, 0x7f, 0x12, 0x1e, 0x12, 0x1e, 0x12,
-+ 0x7f, 0x2a, 0x2b, 0x33, 0x20, 0x1f, 0x00, 0x00,
-+ 0x10, 0x90, 0x50, 0x50, 0x10, 0x90, 0x50, 0x50,
-+ 0x1c, 0x70, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x08, 0x10, 0x1e, 0x32,
-+ 0x32, 0x52, 0x13, 0x1f, 0x12, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x12, 0x5b, 0x6d, 0x52, 0x6d, 0x7f, 0x7f, 0x5b,
-+ 0x6d, 0x52, 0x6d, 0x7f, 0x7f, 0x40, 0x00, 0x00,
-+ 0x08, 0x70, 0x40, 0x40, 0x40, 0x7c, 0x50, 0x50,
-+ 0x50, 0x50, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x11, 0x12, 0x1c, 0x14,
-+ 0x14, 0x15, 0x24, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf8, 0xa8, 0xa8,
-+ 0xa8, 0xfc, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x12, 0x13, 0x1c, 0x14,
-+ 0x14, 0x14, 0x24, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0x20, 0xfc, 0x20, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x04, 0x02, 0x3f, 0x21, 0x41,
-+ 0x3f, 0x01, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x40, 0x80, 0xfc, 0x08, 0x00,
-+ 0xf8, 0x00, 0xf0, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x13, 0x10, 0x1c, 0x15,
-+ 0x14, 0x14, 0x27, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0xe0, 0x40, 0x78, 0xc0,
-+ 0x40, 0x7c, 0xc0, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x11, 0x12, 0x1c, 0x14,
-+ 0x15, 0x14, 0x24, 0x24, 0x45, 0x18, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xa0, 0xa0, 0xf8, 0xa0,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x13, 0x10, 0x1c, 0x17,
-+ 0x14, 0x15, 0x25, 0x25, 0x45, 0x1a, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0xfc, 0x50, 0x98, 0xe8,
-+ 0x10, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x10, 0x11, 0x1c, 0x14,
-+ 0x17, 0x14, 0x24, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x80, 0xfc, 0x18, 0xe8, 0xb0, 0xfc, 0x70, 0xa8,
-+ 0xfc, 0xa8, 0xf8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7c, 0x13, 0x10, 0x1c, 0x17,
-+ 0x14, 0x14, 0x24, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x18, 0xe8, 0x28, 0xb0, 0xfc, 0x70, 0xa8, 0x24,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x7f, 0x01,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x21, 0x21, 0x21, 0x3f, 0x21,
-+ 0x01, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x80,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x00, 0x3f,
-+ 0x01, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x00, 0x7f,
-+ 0x01, 0x3f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x00, 0x1f,
-+ 0x10, 0x10, 0x11, 0x21, 0x26, 0x58, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x80, 0x80, 0xc0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x01, 0x7f,
-+ 0x04, 0x04, 0x02, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x40, 0x40, 0x80, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x61, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4b, 0x4a, 0x7a, 0x4a,
-+ 0x4a, 0x4a, 0x7a, 0x4c, 0x44, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x80, 0x88,
-+ 0x90, 0xe0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x00, 0x3c, 0x05, 0x05, 0x7e, 0x0e,
-+ 0x0d, 0x15, 0x14, 0x24, 0x44, 0x0c, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x48, 0x48,
-+ 0x78, 0x48, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x02, 0x3c,
-+ 0x22, 0x22, 0x2e, 0x72, 0x04, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x7f,
-+ 0x08, 0x0f, 0x12, 0x22, 0x04, 0x09, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x01, 0x3f,
-+ 0x22, 0x7f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xf8, 0x40, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x7a, 0x49, 0x49, 0x48, 0x7f, 0x48,
-+ 0x48, 0x48, 0x79, 0x49, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x50, 0x40, 0xfc, 0xa0,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x14, 0x3e, 0x02, 0x7f, 0x00,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x50, 0xf8, 0x08, 0xfc, 0x00,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x02, 0x12,
-+ 0x0a, 0x0a, 0x1c, 0x64, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x90, 0x90,
-+ 0xe0, 0xa0, 0x90, 0x94, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x01, 0x78, 0x4b, 0x48, 0x4f, 0x79, 0x4b,
-+ 0x4e, 0x4a, 0x7a, 0x4a, 0x02, 0x00, 0x00, 0x00,
-+ 0x08, 0xd0, 0x70, 0x88, 0x80, 0xfc, 0x40, 0xf8,
-+ 0x48, 0x48, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x1f, 0x0f, 0x01, 0x3f,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x7f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0xf0, 0xe0, 0x00, 0xf8,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x48, 0x4b, 0x48, 0x78, 0x4f,
-+ 0x48, 0x49, 0x79, 0x49, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x4a, 0x4c, 0x7f, 0x48,
-+ 0x4b, 0x4a, 0x7a, 0x4a, 0x03, 0x02, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x3f, 0x20,
-+ 0x2f, 0x20, 0x3f, 0x24, 0x26, 0x5c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xf8, 0x00,
-+ 0xf0, 0x00, 0xfc, 0x90, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x00, 0x3f,
-+ 0x20, 0x3e, 0x24, 0x24, 0x38, 0x43, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x88, 0xfc,
-+ 0x80, 0x48, 0x50, 0x24, 0xd4, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x0e, 0x78, 0x09, 0x1a,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x10, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x4f, 0x49, 0x49, 0x7b, 0x4b,
-+ 0x4b, 0x4d, 0x7d, 0x49, 0x01, 0x01, 0x00, 0x00,
-+ 0x04, 0x08, 0x30, 0xe0, 0x20, 0xbc, 0x68, 0x68,
-+ 0x28, 0x28, 0x48, 0x48, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x02, 0x7e,
-+ 0x02, 0x3e, 0x02, 0x0e, 0x74, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x80, 0xfc,
-+ 0x80, 0xf8, 0x80, 0xfc, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x0f, 0x3f, 0x21, 0x7f,
-+ 0x0f, 0x0f, 0x09, 0x0f, 0x7f, 0x01, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xfc, 0x08, 0xf8,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x49, 0x48, 0x4b, 0x7a, 0x4a,
-+ 0x4a, 0x4f, 0x78, 0x48, 0x03, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x50, 0x40, 0xf8, 0x48, 0x48,
-+ 0x48, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4f, 0x48, 0x4b, 0x7a, 0x4b,
-+ 0x4a, 0x4b, 0x78, 0x4f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4f, 0x48, 0x79, 0x49,
-+ 0x49, 0x49, 0x79, 0x48, 0x07, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf8, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x49, 0x49, 0x49, 0x78, 0x4f,
-+ 0x49, 0x4b, 0x7c, 0x49, 0x02, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0x28, 0x48, 0xb0, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4d, 0x49, 0x49, 0x79, 0x49,
-+ 0x48, 0x4f, 0x78, 0x48, 0x01, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xfc, 0x00, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x3e, 0x22, 0x3f, 0x3e, 0x26, 0x39, 0x1f,
-+ 0x04, 0x07, 0x04, 0x07, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0xfc, 0x30, 0xd4, 0x0c, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x23, 0x13, 0x11, 0x01, 0x73,
-+ 0x15, 0x11, 0x11, 0x19, 0x27, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0xf8, 0x10, 0xfc, 0x20,
-+ 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x4f, 0x49, 0x4f, 0x79, 0x49,
-+ 0x4e, 0x4b, 0x78, 0x40, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xbc, 0x10, 0xbc,
-+ 0x00, 0xf8, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x48, 0x4b, 0x4a, 0x7b, 0x48,
-+ 0x4f, 0x48, 0x79, 0x4f, 0x01, 0x03, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x3c, 0xc8, 0xe8, 0xa8, 0x28,
-+ 0xf0, 0x90, 0x98, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x08, 0x2a, 0x49, 0x7f, 0x49, 0x5d, 0x6b, 0x49,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x48, 0x30, 0x30, 0xc8,
-+ 0xf4, 0x10, 0xf0, 0x10, 0xf0, 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,
-+ 0x01, 0x07, 0x79, 0x4b, 0x49, 0x49, 0x7f, 0x49,
-+ 0x49, 0x4b, 0x78, 0x4f, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xf8, 0x50, 0x50, 0xfc, 0x50,
-+ 0x50, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x07, 0x7a, 0x49, 0x4b, 0x4d, 0x79, 0x49,
-+ 0x49, 0x49, 0x79, 0x42, 0x04, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xb0, 0x18, 0xf4, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x49, 0x4b, 0x4a, 0x7d, 0x49,
-+ 0x4a, 0x48, 0x7b, 0x48, 0x00, 0x07, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x10, 0xfc, 0x68, 0x98, 0xf4,
-+ 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x07, 0x79, 0x4b, 0x4a, 0x4c, 0x7f, 0x48,
-+ 0x4f, 0x48, 0x7b, 0x48, 0x07, 0x00, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xfc, 0xe8, 0x00, 0xfc, 0xc8,
-+ 0x68, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x4a, 0x4b, 0x7a, 0x4a,
-+ 0x4a, 0x4a, 0x7c, 0x44, 0x08, 0x03, 0x00, 0x00,
-+ 0x40, 0xfc, 0x90, 0xfc, 0xf0, 0xfc, 0x20, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4b, 0x4a, 0x4a, 0x7a, 0x4a,
-+ 0x4a, 0x4a, 0x7a, 0x44, 0x07, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x00, 0x20, 0x20, 0x20,
-+ 0x40, 0x50, 0x88, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x78, 0x49, 0x4f, 0x4b, 0x79, 0x4f,
-+ 0x4b, 0x4d, 0x7f, 0x47, 0x04, 0x01, 0x00, 0x00,
-+ 0x90, 0xf8, 0x40, 0xf0, 0xfc, 0xa8, 0x24, 0xfc,
-+ 0xa8, 0x28, 0xd0, 0xb4, 0xcc, 0x84, 0x00, 0x00,
-+ 0x1f, 0x17, 0x1f, 0x01, 0x7f, 0x1e, 0x12, 0x1e,
-+ 0x3f, 0x0f, 0x7f, 0x0c, 0x77, 0x1c, 0x00, 0x00,
-+ 0xf0, 0xd0, 0xf0, 0x00, 0xfc, 0xf0, 0x90, 0xf0,
-+ 0xf8, 0xe0, 0xfc, 0x90, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20,
-+ 0x20, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0x90, 0x10,
-+ 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x11, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x00,
-+ 0x20, 0x10, 0xf0, 0x10, 0xd0, 0x10, 0x10, 0xf8,
-+ 0x10, 0xa0, 0xc0, 0x44, 0x34, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x12, 0x07,
-+ 0x19, 0x71, 0x12, 0x14, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x08, 0x88, 0x48, 0x08, 0xe8, 0x30, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x24,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x20, 0x24, 0x24, 0x24, 0x24, 0xfc, 0x24, 0x20,
-+ 0x24, 0x24, 0x24, 0x24, 0xfc, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4f, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x48, 0x28, 0x30, 0x10, 0xc8, 0x04, 0x00, 0x00,
-+ 0x04, 0x3f, 0x04, 0x07, 0x07, 0x04, 0x7f, 0x08,
-+ 0x17, 0x64, 0x07, 0x07, 0x08, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xc0, 0xc0, 0x40, 0xfc, 0x20,
-+ 0xd0, 0x48, 0xc4, 0xc0, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x25, 0x25, 0x3e, 0x27, 0x24,
-+ 0x3f, 0x24, 0x27, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0xfc, 0x08, 0xf0, 0xfc, 0xc8,
-+ 0x68, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x01, 0x39, 0x2f, 0x2a, 0x2a, 0x3f, 0x28, 0x2b,
-+ 0x3a, 0x2b, 0x2a, 0x2b, 0x2a, 0x5a, 0x00, 0x00,
-+ 0x20, 0x3c, 0xe0, 0xb8, 0x88, 0xf8, 0x20, 0xb8,
-+ 0xa0, 0xb8, 0xa0, 0xbc, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x4f, 0x15, 0x7f,
-+ 0x14, 0x3e, 0x2a, 0x3e, 0x7f, 0x09, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0xe8, 0x70, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x18, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x01, 0x09, 0x09, 0x09,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x01, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0xfc, 0x00, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x11, 0x11, 0x11,
-+ 0x11, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0x10,
-+ 0x60, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x04, 0x08, 0x10, 0x21, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x78, 0x08, 0x08, 0x70, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x09, 0x08, 0x08, 0x7e, 0x08, 0x0c, 0x1a, 0x1a,
-+ 0x18, 0x28, 0x29, 0x49, 0x0a, 0x0c, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xe0,
-+ 0xa0, 0xa0, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x49, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x1c, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x1d, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0x7c, 0xc0, 0x40, 0x20,
-+ 0x20, 0x20, 0x14, 0x14, 0x0c, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7e, 0x12, 0x1a, 0x36, 0x36,
-+ 0x32, 0x52, 0x52, 0x13, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x49, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x78, 0x48, 0x48,
-+ 0x88, 0x88, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x7f, 0x03, 0x05, 0x09, 0x11,
-+ 0x61, 0x01, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x80, 0x40, 0x20, 0x10,
-+ 0x0c, 0x00, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x03, 0x05, 0x19, 0x61, 0x04,
-+ 0x08, 0x11, 0x61, 0x02, 0x04, 0x1f, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x40,
-+ 0x30, 0x08, 0x04, 0x20, 0x70, 0x88, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7e, 0x08, 0x1f, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x60, 0x20, 0xfc, 0x24, 0x28,
-+ 0x30, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa4, 0x2c, 0x28,
-+ 0x70, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x7d, 0x11, 0x1a, 0x37, 0x34,
-+ 0x30, 0x50, 0x51, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0xe0, 0xa0, 0xa0, 0x10, 0x10, 0x08, 0xf4, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x0a, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x18, 0x37, 0x34,
-+ 0x30, 0x50, 0x51, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x50, 0x90, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x28, 0x49, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x12, 0x1a, 0x36, 0x36,
-+ 0x32, 0x52, 0x52, 0x14, 0x14, 0x19, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0x80, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0x28, 0x28, 0x28,
-+ 0xe8, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x1d, 0x1a, 0x1b,
-+ 0x2a, 0x28, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0xf8,
-+ 0x48, 0x48, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x01, 0x1f, 0x19, 0x15, 0x15,
-+ 0x1f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x00, 0xf0, 0x50, 0x50, 0x90,
-+ 0xf0, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x28, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x00, 0x90, 0x88, 0x04, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1a, 0x37, 0x36,
-+ 0x32, 0x52, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x70, 0x90, 0x20, 0x20,
-+ 0x50, 0x88, 0x04, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x11, 0x3a, 0x35, 0x35,
-+ 0x51, 0x51, 0x11, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0xe8, 0x28,
-+ 0x28, 0xe8, 0x28, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x1e, 0x1a, 0x1a,
-+ 0x28, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x40, 0x40, 0x78, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x4a, 0x0a, 0x0c, 0x08, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0x60,
-+ 0x30, 0x28, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x0f, 0x09, 0x08, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x10, 0x10, 0xd4, 0x0c, 0xec, 0x04, 0x00, 0x00,
-+ 0x10, 0x12, 0x12, 0x7e, 0x12, 0x1b, 0x36, 0x34,
-+ 0x32, 0x52, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x40,
-+ 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x12, 0x1b, 0x35, 0x35,
-+ 0x31, 0x51, 0x51, 0x11, 0x11, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xe8, 0x28, 0x28,
-+ 0xe8, 0x30, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x11, 0x19, 0x37, 0x35,
-+ 0x31, 0x51, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0x88, 0xfc, 0x08, 0x48, 0x28,
-+ 0x28, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x12, 0x39, 0x35,
-+ 0x34, 0x50, 0x50, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x10, 0x10, 0x10, 0x10,
-+ 0x90, 0xa0, 0xa0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x0a, 0x0b, 0x0c, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x50, 0x70, 0x58, 0xf8, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x13, 0x13, 0x3a, 0x37,
-+ 0x35, 0x51, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0xa0, 0x10, 0xe8, 0xfc, 0x58, 0xe8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3e, 0x08, 0x08, 0x7f, 0x08, 0x09, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1a, 0x36, 0x36,
-+ 0x32, 0x52, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0x20, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x11, 0x1a, 0x34, 0x35,
-+ 0x31, 0x52, 0x54, 0x10, 0x10, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x98, 0x98, 0xa8, 0xc8, 0x98,
-+ 0x98, 0xa8, 0xc8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x22, 0x54, 0x0f, 0x18, 0x61,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x90, 0x90, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x19, 0x36, 0x37,
-+ 0x30, 0x50, 0x51, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x90, 0xf8, 0x04, 0xf8,
-+ 0x80, 0xf0, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x08, 0x1f, 0x1a, 0x1a,
-+ 0x29, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x50, 0xfc, 0x40, 0xfc,
-+ 0x80, 0xf8, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x1f, 0x34, 0x34,
-+ 0x33, 0x50, 0x50, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x50, 0x88, 0xfc, 0x44, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x11, 0x1f, 0x34, 0x35,
-+ 0x31, 0x51, 0x51, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0x18, 0xe4, 0x00, 0x50,
-+ 0x50, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x10, 0x18, 0x35, 0x35,
-+ 0x33, 0x55, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x80, 0xf8, 0x08, 0x10,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1a, 0x1b,
-+ 0x2a, 0x2b, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x50, 0x88, 0xfc, 0xa4, 0xa0, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x12, 0x7d, 0x11, 0x18, 0x37, 0x34,
-+ 0x30, 0x53, 0x50, 0x10, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x50, 0x40, 0xf8, 0x08,
-+ 0x08, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x13, 0x1a, 0x36, 0x37,
-+ 0x32, 0x52, 0x53, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x34, 0x37,
-+ 0x30, 0x50, 0x57, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x0f, 0x0f, 0x08, 0x0f, 0x0f, 0x08, 0x0f,
-+ 0x09, 0x01, 0x7f, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xe0, 0xe0, 0x20, 0xe0, 0xf8, 0x00, 0xf0,
-+ 0x10, 0x60, 0xfc, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x12, 0x1c, 0x37, 0x34,
-+ 0x31, 0x51, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x29, 0x4a, 0x08, 0x09, 0x0e, 0x00, 0x00,
-+ 0x40, 0x50, 0x98, 0xe4, 0xa0, 0xa4, 0x5c, 0x40,
-+ 0xf0, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1a, 0x36, 0x36,
-+ 0x32, 0x52, 0x54, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0xfc, 0x00, 0xf8, 0xa8, 0xa8,
-+ 0xf8, 0x88, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0d, 0x16, 0x14, 0x37, 0x54,
-+ 0x17, 0x14, 0x15, 0x16, 0x14, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0xa0, 0x60, 0xdc, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x7a, 0x17, 0x1a, 0x3a, 0x37,
-+ 0x32, 0x52, 0x54, 0x14, 0x18, 0x13, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xa8,
-+ 0xa4, 0xa4, 0xa4, 0xb8, 0xa0, 0x20, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x7d, 0x12, 0x1a, 0x37, 0x31,
-+ 0x35, 0x55, 0x52, 0x12, 0x15, 0x18, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0xf8, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x17, 0x11, 0x38, 0x35,
-+ 0x37, 0x50, 0x53, 0x12, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0xfc, 0xe8, 0x40, 0xf0,
-+ 0xfc, 0x08, 0xfc, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x19, 0x35, 0x35,
-+ 0x31, 0x57, 0x51, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0xfc, 0x10, 0x10, 0x10,
-+ 0x10, 0xfc, 0x10, 0x08, 0x04, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x11, 0x1a, 0x35, 0x34,
-+ 0x30, 0x53, 0x50, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xc8, 0x24, 0x24, 0x00, 0xf8, 0x10,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x49, 0x07,
-+ 0x04, 0x06, 0x05, 0x09, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x70, 0x70, 0xa8, 0x24, 0xc0,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x19, 0x34, 0x34,
-+ 0x33, 0x52, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x40, 0x80,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x2a, 0x4b, 0x08, 0x7f,
-+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0xfc,
-+ 0x00, 0xc0, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x10, 0x1b, 0x36, 0x36,
-+ 0x33, 0x52, 0x50, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa0, 0xa0, 0xa0, 0xb8, 0x08, 0x08,
-+ 0xb8, 0xa8, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x11, 0x19, 0x35, 0x34,
-+ 0x30, 0x50, 0x53, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x80,
-+ 0x9c, 0xe0, 0x80, 0x88, 0x88, 0x78, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x17, 0x10, 0x38, 0x37,
-+ 0x35, 0x51, 0x53, 0x15, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0xfc, 0x90, 0x90, 0xf0,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x11, 0x19, 0x34, 0x37,
-+ 0x30, 0x50, 0x57, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x10, 0x60, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x04, 0x3f, 0x04, 0x07, 0x04, 0x07, 0x04, 0x7f,
-+ 0x09, 0x1f, 0x63, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xc0, 0x40, 0xc0, 0x40, 0xfc,
-+ 0x20, 0xf0, 0x8c, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7e, 0x14, 0x12, 0x39, 0x37,
-+ 0x35, 0x51, 0x52, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x88, 0xa8, 0xa8, 0xc8, 0xf8,
-+ 0xc8, 0xa8, 0xa8, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x2a, 0x2a,
-+ 0x2e, 0x0c, 0x1c, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xb8, 0x30, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1a, 0x37, 0x36,
-+ 0x32, 0x52, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x68, 0x58, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7f, 0x10, 0x1b, 0x34, 0x35,
-+ 0x36, 0x53, 0x50, 0x10, 0x11, 0x12, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xf8, 0x40, 0xfc, 0xa0, 0x50,
-+ 0x4c, 0xf8, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x7c, 0x14, 0x1f, 0x3c, 0x35,
-+ 0x35, 0x55, 0x55, 0x15, 0x14, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0xc8, 0xf8, 0x48, 0x58,
-+ 0x58, 0x58, 0xf8, 0x18, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x14, 0x18, 0x35, 0x36,
-+ 0x33, 0x50, 0x50, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa0, 0xa4, 0x1c, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x0f, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x20,
-+ 0x24, 0xf8, 0x20, 0x24, 0xe4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x09, 0x1d, 0x1b, 0x1b,
-+ 0x29, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x20, 0x10, 0xd4, 0x0c,
-+ 0xfc, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x08, 0x1c, 0x1b, 0x1a,
-+ 0x28, 0x2b, 0x48, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x34, 0xcc, 0x54,
-+ 0x7c, 0xc8, 0x30, 0x14, 0x6c, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7f, 0x0a, 0x1c, 0x1a, 0x1b,
-+ 0x28, 0x28, 0x48, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xf8, 0x00, 0xfc,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x10, 0x12, 0x13, 0x7e, 0x12, 0x1b, 0x34, 0x35,
-+ 0x32, 0x50, 0x51, 0x16, 0x10, 0x17, 0x00, 0x00,
-+ 0x20, 0x28, 0xc8, 0x68, 0x98, 0xf8, 0xa0, 0x24,
-+ 0x9c, 0xf0, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x11, 0x17, 0x39, 0x35,
-+ 0x37, 0x53, 0x55, 0x19, 0x11, 0x13, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x24, 0x24, 0xe8, 0x28, 0x18,
-+ 0x90, 0x50, 0x68, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x10, 0x1f, 0x34, 0x37,
-+ 0x30, 0x50, 0x51, 0x10, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x40, 0xfc,
-+ 0x90, 0x90, 0xe0, 0x30, 0xc8, 0x08, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x13, 0x1d, 0x31, 0x7f,
-+ 0x01, 0x1f, 0x13, 0x1d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x90, 0x60, 0x10, 0xfc,
-+ 0x00, 0xf0, 0x90, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x13, 0x18, 0x37, 0x36,
-+ 0x31, 0x51, 0x50, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x48,
-+ 0x68, 0x70, 0xd0, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x7f, 0x15, 0x19, 0x3f, 0x35,
-+ 0x35, 0x51, 0x52, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0xe8, 0x28, 0x28, 0xe8, 0x28,
-+ 0x28, 0xa8, 0x68, 0x78, 0x28, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x13, 0x1a, 0x37, 0x36,
-+ 0x33, 0x50, 0x57, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x01,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x39, 0x34,
-+ 0x34, 0x50, 0x52, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xf0, 0x20,
-+ 0x40, 0xa0, 0xa8, 0x84, 0x94, 0x70, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x12, 0x1a, 0x36, 0x36,
-+ 0x33, 0x52, 0x54, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x48, 0x48, 0x48, 0xfc, 0xc8,
-+ 0xa8, 0xa8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x7f, 0x10, 0x1a, 0x36, 0x35,
-+ 0x31, 0x51, 0x51, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xfc, 0xa0, 0xa8, 0xa8, 0xa8,
-+ 0xb0, 0xb0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x36, 0x36,
-+ 0x32, 0x52, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x12, 0x1a, 0x37, 0x36,
-+ 0x32, 0x57, 0x50, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8,
-+ 0xa8, 0xfc, 0xa0, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x7d, 0x12, 0x17, 0x39, 0x35,
-+ 0x37, 0x51, 0x51, 0x11, 0x17, 0x10, 0x00, 0x00,
-+ 0x08, 0xc8, 0x28, 0xa8, 0xa8, 0xe8, 0x68, 0x28,
-+ 0xe8, 0x28, 0x28, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x3b, 0x36,
-+ 0x36, 0x53, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x11, 0x19, 0x36, 0x36,
-+ 0x33, 0x52, 0x52, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x9c, 0xf4, 0x54, 0x64, 0x98,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x09, 0x09, 0x09, 0x7f, 0x09, 0x19, 0x1f, 0x1a,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x20, 0x24, 0xe8, 0x30, 0x20, 0xe4, 0x3c, 0x40,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x11, 0x19, 0x37, 0x36,
-+ 0x32, 0x52, 0x53, 0x12, 0x10, 0x11, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0xe8, 0x28, 0x38, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7d, 0x11, 0x17, 0x39, 0x35,
-+ 0x37, 0x53, 0x55, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x50, 0x90, 0x10, 0x14, 0x34, 0xf8, 0x58, 0x90,
-+ 0x50, 0x50, 0x28, 0x28, 0x44, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x10, 0x1f, 0x35, 0x35,
-+ 0x31, 0x51, 0x51, 0x11, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x1c, 0xf0, 0x10, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x79, 0x17, 0x11, 0x39, 0x37,
-+ 0x35, 0x57, 0x50, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x24, 0xe4, 0x24, 0xc4, 0x18,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x1a, 0x37, 0x34,
-+ 0x37, 0x50, 0x51, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x48,
-+ 0xe8, 0xf0, 0x50, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x10, 0x1f, 0x34, 0x34,
-+ 0x31, 0x57, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x50, 0xfc, 0x60, 0x90,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7d, 0x11, 0x19, 0x35, 0x35,
-+ 0x37, 0x52, 0x52, 0x13, 0x13, 0x12, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xfc, 0xa0, 0xa8, 0x18, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x10, 0x1b, 0x36, 0x34,
-+ 0x33, 0x52, 0x52, 0x12, 0x12, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x48, 0x40,
-+ 0xf8, 0x48, 0x48, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x10, 0x1f, 0x34, 0x37,
-+ 0x30, 0x53, 0x50, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0xf8, 0x10, 0xf0, 0x20, 0xfc, 0xc8, 0x68,
-+ 0xb0, 0x70, 0xa8, 0x24, 0x20, 0xc0, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x11, 0x17, 0x39, 0x35,
-+ 0x37, 0x53, 0x55, 0x19, 0x11, 0x13, 0x00, 0x00,
-+ 0x10, 0xd0, 0x90, 0x7c, 0x10, 0xd0, 0x78, 0xb8,
-+ 0x38, 0x54, 0x54, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x7e, 0x13, 0x1a, 0x36, 0x37,
-+ 0x32, 0x52, 0x53, 0x16, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xa8,
-+ 0xa4, 0xe4, 0xa4, 0xb8, 0xa0, 0xa0, 0x00, 0x00,
-+ 0x11, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x3f, 0x3c,
-+ 0x36, 0x55, 0x56, 0x15, 0x14, 0x15, 0x00, 0x00,
-+ 0xc0, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x13, 0x12, 0x38, 0x37,
-+ 0x34, 0x50, 0x50, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0x48, 0x40, 0xfc,
-+ 0x40, 0x78, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x13, 0x1b, 0x36, 0x36,
-+ 0x33, 0x50, 0x51, 0x16, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x58, 0xd8, 0xe8,
-+ 0xf8, 0xe0, 0x50, 0x4c, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x17, 0x18, 0x35, 0x37,
-+ 0x30, 0x53, 0x50, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xfc, 0xa0, 0x10, 0xe8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7d, 0x11, 0x19, 0x35, 0x34,
-+ 0x37, 0x50, 0x51, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x70, 0x00, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1b, 0x37, 0x34,
-+ 0x33, 0x52, 0x52, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x68, 0x98, 0x08, 0xf8, 0x00,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2c, 0x49, 0x14, 0x22, 0x3f, 0x21,
-+ 0x5f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x20, 0xa4, 0xa8, 0x30, 0x48, 0x88, 0xfc, 0x08,
-+ 0xf0, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x12, 0x1b, 0x36, 0x37,
-+ 0x31, 0x51, 0x51, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x50, 0x50, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x12, 0x12, 0x7f, 0x10, 0x1f, 0x34, 0x35,
-+ 0x31, 0x51, 0x51, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7c, 0x11, 0x19, 0x35, 0x34,
-+ 0x33, 0x52, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x08, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7f, 0x08, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x09, 0x0e, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x1b, 0x36, 0x35,
-+ 0x31, 0x51, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x78, 0x48, 0xfc, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x10, 0x17, 0x7c, 0x13, 0x18, 0x37, 0x35,
-+ 0x31, 0x52, 0x54, 0x18, 0x17, 0x10, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x7f, 0x04, 0x1f, 0x04, 0x7f,
-+ 0x09, 0x1f, 0x63, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x40, 0xf0, 0x40, 0xfc,
-+ 0x20, 0xf0, 0x8c, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x22, 0x14, 0x7f, 0x08, 0x2a, 0x2a, 0x3e, 0x09,
-+ 0x11, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x18,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x36, 0x37,
-+ 0x32, 0x53, 0x54, 0x14, 0x17, 0x14, 0x00, 0x00,
-+ 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xfc, 0x94, 0x94, 0xf4, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x34, 0x37,
-+ 0x31, 0x56, 0x51, 0x16, 0x10, 0x11, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x98, 0xe8, 0x98, 0xe8, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x3e, 0x32, 0x2b, 0x2f, 0x7a, 0x2a, 0x47,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0xf0, 0x90, 0x94, 0x0c, 0xf8, 0x90, 0x60, 0x9c,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x13, 0x1a, 0x37, 0x36,
-+ 0x33, 0x52, 0x52, 0x13, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0x50, 0xdc, 0x50, 0xdc, 0x70,
-+ 0xdc, 0x50, 0x90, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x1a, 0x37, 0x34,
-+ 0x32, 0x52, 0x54, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0x40,
-+ 0x48, 0x48, 0xd0, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x12, 0x1b, 0x36, 0x37,
-+ 0x32, 0x50, 0x57, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x11, 0x19, 0x35, 0x35,
-+ 0x30, 0x57, 0x50, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xfc, 0x00, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x10, 0x1b, 0x36, 0x37,
-+ 0x30, 0x50, 0x50, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x48, 0xf8,
-+ 0x40, 0x78, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x15, 0x19, 0x36, 0x34,
-+ 0x31, 0x53, 0x55, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x10, 0x48, 0x48, 0xa0,
-+ 0x10, 0xf8, 0x14, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1a, 0x37, 0x34,
-+ 0x33, 0x52, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0xbc, 0x14, 0x94, 0x54, 0xe4, 0x2c, 0x40,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7d, 0x10, 0x1f, 0x34, 0x37,
-+ 0x32, 0x53, 0x52, 0x13, 0x12, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x00, 0xf8,
-+ 0x48, 0xf8, 0x48, 0xfc, 0x44, 0x3c, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x7c, 0x13, 0x12, 0x3b, 0x34,
-+ 0x37, 0x50, 0x51, 0x17, 0x11, 0x13, 0x00, 0x00,
-+ 0x00, 0x38, 0xe8, 0x28, 0xb0, 0xb0, 0xa8, 0x28,
-+ 0xa4, 0xa4, 0xa4, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x11, 0x11, 0x6b, 0x2a, 0x13, 0x1a, 0x2e, 0x77,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0xe8, 0xa8, 0x90, 0x98, 0xac, 0xf4,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x12, 0x19, 0x36, 0x35,
-+ 0x36, 0x51, 0x50, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x00, 0xfc, 0xcc, 0x54, 0xec, 0x54, 0x64, 0xb0,
-+ 0x4c, 0xa0, 0x48, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x11, 0x17, 0x11, 0x7d, 0x13, 0x1a, 0x37, 0x34,
-+ 0x33, 0x50, 0x53, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xe0, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x17, 0x11, 0x7f, 0x12, 0x1b, 0x35, 0x35,
-+ 0x33, 0x53, 0x55, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xb8, 0xa8, 0xb8, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x13, 0x1a, 0x37, 0x34,
-+ 0x33, 0x50, 0x53, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x40,
-+ 0x58, 0x40, 0x58, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x12, 0x13, 0x14, 0x7d, 0x17, 0x15, 0x3d, 0x3f,
-+ 0x35, 0x55, 0x57, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x08, 0xe8, 0x98, 0x18, 0xc8, 0x68, 0x58, 0xd8,
-+ 0x4c, 0x78, 0xc8, 0x48, 0x48, 0xc8, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x7f,
-+ 0x09, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x90, 0x10,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x12, 0x7c, 0x11, 0x19, 0x36, 0x36,
-+ 0x36, 0x52, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x48, 0x48, 0x48, 0x48, 0xb4, 0xa4, 0x00, 0x20,
-+ 0xa0, 0xb8, 0xa0, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x11, 0x17, 0x39, 0x35,
-+ 0x34, 0x51, 0x57, 0x11, 0x11, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0,
-+ 0xc8, 0x48, 0x30, 0x10, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1a, 0x36, 0x37,
-+ 0x33, 0x53, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x68, 0x68, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x12, 0x1a, 0x36, 0x36,
-+ 0x33, 0x52, 0x55, 0x15, 0x1a, 0x11, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xa8, 0xe8, 0xa8,
-+ 0xe8, 0x90, 0xd0, 0xb4, 0xac, 0xc4, 0x00, 0x00,
-+ 0x12, 0x14, 0x12, 0x7f, 0x12, 0x1b, 0x36, 0x37,
-+ 0x30, 0x57, 0x50, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x48, 0x90, 0x48, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x17, 0x13, 0x7e, 0x13, 0x1a, 0x37, 0x34,
-+ 0x37, 0x50, 0x57, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x50,
-+ 0xf8, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x7f, 0x11, 0x3a, 0x34, 0x57, 0x51,
-+ 0x13, 0x7f, 0x01, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x90, 0x90, 0x7c, 0x90, 0xb8, 0xb8, 0x54, 0x94,
-+ 0x10, 0xfc, 0x00, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7e, 0x14, 0x12, 0x3a, 0x34,
-+ 0x35, 0x56, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x98, 0x50, 0xa8, 0xa4, 0xd4,
-+ 0xf0, 0x40, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7c, 0x12, 0x1a, 0x34, 0x35,
-+ 0x36, 0x53, 0x52, 0x13, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0xfc, 0x98, 0x50, 0xa8, 0xa4, 0xd4, 0xf0,
-+ 0x40, 0xf8, 0x48, 0xf8, 0x58, 0xe4, 0x00, 0x00,
-+ 0x11, 0x10, 0x13, 0x7c, 0x11, 0x18, 0x37, 0x34,
-+ 0x31, 0x50, 0x57, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0xc0,
-+ 0xc8, 0x68, 0xf0, 0x50, 0x4c, 0xc0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x37, 0x36,
-+ 0x33, 0x50, 0x57, 0x11, 0x10, 0x17, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0xf8, 0x48,
-+ 0xf8, 0x80, 0xfc, 0x90, 0x70, 0x88, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7f, 0x12, 0x1a, 0x37, 0x36,
-+ 0x33, 0x52, 0x53, 0x16, 0x10, 0x10, 0x00, 0x00,
-+ 0x20, 0xe0, 0x20, 0xe0, 0xbc, 0xe8, 0xe8, 0xa8,
-+ 0xb0, 0x90, 0xb0, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7f, 0x12, 0x1b, 0x35, 0x35,
-+ 0x31, 0x51, 0x51, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xfc, 0x50, 0xf0, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x10, 0x19, 0x35, 0x35,
-+ 0x30, 0x57, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x00, 0xf0, 0x10, 0xf0,
-+ 0xa0, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x19, 0x37, 0x36,
-+ 0x33, 0x52, 0x53, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc, 0x80,
-+ 0xf8, 0xa8, 0xa8, 0x90, 0xe8, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x11, 0x19, 0x35, 0x34,
-+ 0x33, 0x52, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0xa8, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x10, 0x1b, 0x34, 0x35,
-+ 0x36, 0x53, 0x56, 0x13, 0x16, 0x11, 0x00, 0x00,
-+ 0x30, 0xc0, 0xf0, 0x80, 0xf8, 0x88, 0x78, 0x98,
-+ 0x60, 0xb8, 0x60, 0xbc, 0x64, 0xdc, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x7d, 0x16, 0x17, 0x3d, 0x3d,
-+ 0x35, 0x55, 0x56, 0x14, 0x14, 0x14, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0x78, 0x90, 0xfc, 0x00, 0x78,
-+ 0x48, 0x78, 0x48, 0x78, 0x48, 0x58, 0x00, 0x00,
-+ 0x11, 0x10, 0x12, 0x7d, 0x11, 0x1b, 0x34, 0x35,
-+ 0x31, 0x51, 0x51, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0xd0, 0x50, 0xa8, 0xa8, 0x10, 0xf8, 0x04, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7f, 0x13, 0x1a, 0x37, 0x36,
-+ 0x33, 0x50, 0x53, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x11, 0x1b, 0x35, 0x35,
-+ 0x36, 0x57, 0x50, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xb8, 0x10, 0xfc,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7f, 0x11, 0x18, 0x37, 0x34,
-+ 0x31, 0x50, 0x57, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0xa0, 0xa8, 0xb0, 0xfc, 0x10, 0xa0, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x36, 0x37,
-+ 0x32, 0x53, 0x52, 0x15, 0x15, 0x18, 0x00, 0x00,
-+ 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x00, 0xfc, 0xa4, 0x54, 0x04, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7f, 0x12, 0x1b, 0x36, 0x37,
-+ 0x32, 0x52, 0x55, 0x15, 0x19, 0x11, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0xa8, 0x58, 0x40, 0xfc,
-+ 0xf0, 0xf0, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7f, 0x10, 0x19, 0x35, 0x35,
-+ 0x31, 0x51, 0x50, 0x12, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x48, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x1e, 0x23, 0x7a, 0x2a, 0x3b,
-+ 0x0d, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x90, 0x50, 0x20, 0x50, 0x8c,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x11, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x35, 0x37,
-+ 0x31, 0x51, 0x52, 0x12, 0x14, 0x11, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xbc, 0xe8, 0xe8, 0x28, 0xe8,
-+ 0x10, 0x90, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x13, 0x14, 0x3b, 0x36,
-+ 0x37, 0x51, 0x51, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xb8, 0xa8,
-+ 0xb8, 0x10, 0x10, 0xa8, 0x64, 0x44, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x7d, 0x11, 0x1a, 0x37, 0x34,
-+ 0x33, 0x52, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x50, 0xe8, 0xfc, 0x00,
-+ 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3f, 0x20, 0x3f, 0x52, 0x1f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xfc, 0x20, 0x20,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3e, 0x22, 0x3f, 0x3e, 0x32,
-+ 0x5f, 0x01, 0x7f, 0x07, 0x79, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xf8, 0x50, 0xfc, 0x20, 0xf8,
-+ 0x20, 0x00, 0xfc, 0xc0, 0x3c, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x7f, 0x14, 0x17, 0x3d, 0x3f,
-+ 0x34, 0x53, 0x52, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x20, 0xe0, 0x20, 0xbc, 0xc0, 0x80, 0x38, 0xc0,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x12, 0x1b, 0x36, 0x36,
-+ 0x32, 0x52, 0x52, 0x13, 0x13, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0xa8, 0xfc, 0xf8, 0xe8,
-+ 0xb8, 0xf8, 0x50, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x10, 0x1b, 0x34, 0x35,
-+ 0x33, 0x55, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0xcc, 0x74, 0xcc, 0x74, 0x90, 0xfc,
-+ 0x20, 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x11, 0x12, 0x3b, 0x36,
-+ 0x37, 0x50, 0x57, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xa8, 0x94, 0x70, 0xf8, 0xa8,
-+ 0xfc, 0x00, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7d, 0x11, 0x12, 0x39, 0x37,
-+ 0x35, 0x51, 0x51, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0xf8, 0x50, 0x60, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x88, 0x04, 0x00, 0x00,
-+ 0x11, 0x17, 0x11, 0x7f, 0x12, 0x15, 0x3f, 0x34,
-+ 0x37, 0x50, 0x53, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xfc, 0x08, 0xf0, 0xfc, 0xc8,
-+ 0x68, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x11, 0x11, 0x16, 0x7e, 0x11, 0x19, 0x36, 0x37,
-+ 0x31, 0x55, 0x55, 0x15, 0x19, 0x11, 0x00, 0x00,
-+ 0x10, 0x3c, 0xa8, 0xf8, 0x08, 0xfc, 0xa0, 0xf4,
-+ 0x34, 0xd8, 0xb8, 0xd4, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x36, 0x34,
-+ 0x37, 0x55, 0x57, 0x15, 0x17, 0x14, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00,
-+ 0xfc, 0x54, 0xfc, 0x54, 0xfc, 0x44, 0x00, 0x00,
-+ 0x12, 0x12, 0x15, 0x7f, 0x12, 0x15, 0x3f, 0x34,
-+ 0x37, 0x50, 0x51, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xac, 0xe8, 0xb4, 0xfc, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x14, 0x13, 0x7d, 0x13, 0x13, 0x3d, 0x34,
-+ 0x37, 0x50, 0x51, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x40, 0x84, 0xf4, 0x18, 0xf8, 0x14, 0xf4, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x12, 0x1b, 0x36, 0x36,
-+ 0x32, 0x52, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0xe8, 0xa8,
-+ 0xe8, 0x48, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x7c, 0x17, 0x15, 0x3e, 0x3c,
-+ 0x34, 0x55, 0x55, 0x19, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x90, 0xfc, 0xf0, 0xd8, 0x94,
-+ 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x13, 0x12, 0x3b, 0x36,
-+ 0x34, 0x57, 0x50, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xb8, 0xa8, 0xb8, 0xa8,
-+ 0x44, 0xfc, 0x90, 0xe0, 0x70, 0x88, 0x00, 0x00,
-+ 0x11, 0x12, 0x13, 0x7e, 0x13, 0x1a, 0x37, 0x31,
-+ 0x33, 0x55, 0x50, 0x13, 0x10, 0x10, 0x00, 0x00,
-+ 0x98, 0xe8, 0x98, 0xe8, 0xb8, 0xa8, 0xfc, 0x70,
-+ 0xc8, 0xf4, 0x40, 0xf8, 0x40, 0xc0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x14, 0x3e, 0x22, 0x3f, 0x3e, 0x22,
-+ 0x3f, 0x01, 0x7f, 0x07, 0x79, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xf8, 0x50, 0xfc, 0x20, 0xf8,
-+ 0x20, 0x00, 0xfc, 0xc0, 0x3c, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x12, 0x17, 0x3b, 0x34,
-+ 0x37, 0x55, 0x55, 0x15, 0x17, 0x15, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0x40,
-+ 0xfc, 0xb4, 0xb4, 0xb4, 0xfc, 0xb4, 0x00, 0x00,
-+ 0x13, 0x1f, 0x68, 0x13, 0x2b, 0x7f, 0x3a, 0x57,
-+ 0x11, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x90, 0xd8, 0x68, 0x90, 0xa8, 0xfc, 0xb8, 0xd4,
-+ 0x10, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x7f, 0x17, 0x15, 0x3f, 0x37,
-+ 0x36, 0x53, 0x53, 0x13, 0x11, 0x1e, 0x00, 0x00,
-+ 0x20, 0xfc, 0x40, 0xb8, 0xfc, 0x74, 0xfc, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf4, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x12, 0x7f, 0x17, 0x3d, 0x57, 0x3f, 0x2a, 0x7b,
-+ 0x36, 0x2b, 0x3f, 0x26, 0x38, 0x1f, 0x00, 0x00,
-+ 0x10, 0xfc, 0xd0, 0x78, 0xd4, 0xfc, 0x88, 0x90,
-+ 0xe8, 0x90, 0xe4, 0x08, 0xb0, 0xc0, 0x00, 0x00,
-+ 0x14, 0x1f, 0x14, 0x7f, 0x1b, 0x1f, 0x35, 0x3f,
-+ 0x3d, 0x57, 0x57, 0x15, 0x17, 0x14, 0x00, 0x00,
-+ 0x80, 0xf8, 0xa8, 0xe8, 0x78, 0xe8, 0x38, 0xe8,
-+ 0x28, 0xb8, 0xb0, 0x54, 0xd4, 0x8c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0c, 0x12, 0x7d, 0x20, 0x3f, 0x28,
-+ 0x48, 0x7f, 0x08, 0x14, 0x23, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x02, 0x34, 0x1c, 0x6a, 0x08, 0x7f, 0x11, 0x28,
-+ 0x7e, 0x2a, 0x2a, 0x2e, 0x29, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x41, 0x21, 0x0a, 0x14, 0x20, 0x21,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x50, 0x60, 0x90, 0x0c,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x0c, 0x12, 0x22, 0x7f, 0x02,
-+ 0x3a, 0x2a, 0x2a, 0x3a, 0x02, 0x07, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x1e, 0x20, 0x7e, 0x23, 0x3e,
-+ 0x22, 0x3e, 0x3e, 0x20, 0x3e, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x11, 0x1f,
-+ 0x29, 0x6d, 0x2b, 0x33, 0x3d, 0x27, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x03, 0x3c, 0x08, 0x7f, 0x08, 0x18, 0x6b, 0x49,
-+ 0x49, 0x6b, 0x49, 0x49, 0x7f, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x12, 0x34, 0x7f, 0x14, 0x3f, 0x15, 0x7f, 0x15,
-+ 0x3f, 0x16, 0x35, 0x35, 0x54, 0x15, 0x00, 0x00,
-+ 0x40, 0x40, 0xc0, 0x40, 0x7c, 0xa4, 0xa8, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x40, 0x5e, 0x52, 0x5e, 0x40, 0x7f,
-+ 0x6d, 0x6d, 0x7f, 0x40, 0x7f, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x7c, 0xa4, 0xa8, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x3f, 0x5e, 0x12, 0x1f, 0x7f,
-+ 0x1b, 0x2d, 0x5b, 0x2d, 0x49, 0x1b, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x07, 0x04, 0x3f, 0x2b, 0x3d, 0x27, 0x2a,
-+ 0x3b, 0x3b, 0x3b, 0x2a, 0x4f, 0x39, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xc0, 0x7c, 0xa4, 0xa8, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x0a, 0x11, 0x3f, 0x40, 0x3f, 0x2d,
-+ 0x3f, 0x12, 0x1a, 0x17, 0x24, 0x49, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x18, 0x29, 0x2e, 0x28, 0x3f, 0x22, 0x2a, 0x3b,
-+ 0x2a, 0x2a, 0x7f, 0x0a, 0x11, 0x61, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xfc, 0xe4, 0xa8, 0xb0,
-+ 0xa0, 0xa0, 0xd0, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x77, 0x55, 0x77, 0x3f, 0x24,
-+ 0x7f, 0x24, 0x3f, 0x24, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0xa4, 0x28, 0x30,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x3e, 0x22, 0x3f, 0x20, 0x3e, 0x22, 0x3f,
-+ 0x09, 0x2e, 0x28, 0x28, 0x2e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xfc, 0x08, 0xf8, 0x00, 0xfc,
-+ 0x28, 0xf8, 0xa8, 0xa8, 0xb8, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x02, 0x02, 0x03, 0x04, 0x04, 0x0a,
-+ 0x11, 0x21, 0x00, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf0, 0x10, 0x10, 0x20,
-+ 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x10, 0x1e, 0x13, 0x32, 0x2b,
-+ 0x4c, 0x04, 0x08, 0x10, 0x20, 0x47, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x88, 0x08, 0x30, 0xf8,
-+ 0x88, 0x90, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x10, 0x1e, 0x22, 0x33, 0x4a,
-+ 0x0c, 0x04, 0x08, 0x11, 0x22, 0x44, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0x40, 0xfc, 0x40,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x1f, 0x22, 0x32, 0x4b,
-+ 0x0c, 0x04, 0x09, 0x10, 0x20, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0x28, 0x44, 0x80,
-+ 0x10, 0x60, 0x88, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x11, 0x1d, 0x25, 0x25, 0x57,
-+ 0x18, 0x08, 0x10, 0x11, 0x22, 0x44, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x11, 0x1d, 0x26, 0x27, 0x54,
-+ 0x18, 0x0f, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x48, 0x24, 0x04, 0xf8, 0x10,
-+ 0x60, 0xfc, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x13, 0x1c, 0x24, 0x25, 0x54,
-+ 0x08, 0x0b, 0x10, 0x10, 0x20, 0x43, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x54,
-+ 0x7c, 0xc8, 0x50, 0x34, 0xdc, 0x04, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x11, 0x1c, 0x24, 0x27, 0x54,
-+ 0x19, 0x09, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0x90, 0xa0, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7d, 0x11, 0x11, 0x1c, 0x25, 0x25, 0x55,
-+ 0x19, 0x09, 0x11, 0x11, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x01, 0x7f, 0x11, 0x13, 0x1d, 0x25, 0x25, 0x57,
-+ 0x19, 0x09, 0x12, 0x14, 0x21, 0x42, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x11, 0x1c, 0x27, 0x26, 0x57,
-+ 0x19, 0x09, 0x11, 0x10, 0x27, 0x40, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x00, 0xfc, 0x08, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x13, 0x1c, 0x27, 0x26, 0x57,
-+ 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x40, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0x00, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x15, 0x1d, 0x26, 0x25, 0x57,
-+ 0x19, 0x09, 0x11, 0x11, 0x21, 0x46, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0xf8, 0x50, 0x60, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x02, 0x7e, 0x13, 0x15, 0x38, 0x2f, 0x2a, 0x6e,
-+ 0x5a, 0x1e, 0x12, 0x16, 0x23, 0x4e, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xe8, 0x68, 0x20, 0xfc, 0xa0, 0xe8,
-+ 0xa8, 0xd0, 0xd4, 0x9c, 0xec, 0x44, 0x00, 0x00,
-+ 0x01, 0x7d, 0x17, 0x11, 0x3f, 0x2a, 0x2e, 0x6a,
-+ 0x5e, 0x1a, 0x16, 0x13, 0x2e, 0x40, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0x28, 0xfc, 0xa0, 0xe8, 0xa8,
-+ 0xe8, 0xd0, 0x94, 0xec, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x08, 0x08, 0x10, 0x60, 0x3f,
-+ 0x08, 0x04, 0x02, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xc0, 0x40, 0x44, 0x44, 0x3c, 0x00, 0xe0,
-+ 0x20, 0x40, 0x80, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x06, 0x38, 0x20, 0x3e, 0x22, 0x3e, 0x23, 0x3f,
-+ 0x20, 0x3e, 0x22, 0x22, 0x22, 0x4f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x94, 0x94, 0x8c, 0x00, 0xf8,
-+ 0x88, 0x50, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3f, 0x22, 0x5d,
-+ 0x00, 0x1c, 0x14, 0x16, 0x24, 0x4b, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x54, 0x8c, 0xf8,
-+ 0x88, 0x50, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x40, 0x5e, 0x52, 0x5e, 0x41, 0x7f,
-+ 0x6d, 0x6d, 0x7f, 0x40, 0x7f, 0x41, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x94, 0x0c, 0xf8,
-+ 0x48, 0x50, 0x30, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x11, 0x11, 0x7f, 0x11,
-+ 0x11, 0x11, 0x11, 0x3f, 0x20, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10,
-+ 0x10, 0x10, 0x10, 0xfc, 0x20, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x20, 0x7e, 0x33, 0x2a, 0x7f,
-+ 0x32, 0x2a, 0x3f, 0x22, 0x05, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x30, 0x48, 0xfc, 0x04, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xac, 0x2c, 0x04, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x23, 0x41, 0x0e, 0x70, 0x1f,
-+ 0x03, 0x3e, 0x03, 0x7e, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0x10, 0x18, 0x64, 0x84, 0x00, 0xe0, 0x00,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x08, 0x73, 0x10, 0x1e, 0x71, 0x11, 0x1c,
-+ 0x71, 0x16, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x50, 0x48, 0xf8, 0x40, 0x48, 0x68, 0x70, 0xd0,
-+ 0x48, 0x44, 0x40, 0xc4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x3f, 0x20,
-+ 0x4f, 0x03, 0x1e, 0x03, 0x3e, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0xfc, 0xc8,
-+ 0x00, 0xf0, 0x00, 0xf8, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x0f, 0x03, 0x1e, 0x03, 0x3e, 0x01, 0x06,
-+ 0x38, 0x0e, 0x38, 0x0f, 0x79, 0x0f, 0x00, 0x00,
-+ 0xc0, 0x00, 0xe0, 0x00, 0xf0, 0x08, 0xf8, 0x18,
-+ 0xe0, 0x38, 0xe0, 0x3c, 0xe4, 0x3c, 0x00, 0x00,
-+ 0x04, 0x09, 0x71, 0x12, 0x1c, 0x71, 0x12, 0x1d,
-+ 0x71, 0x12, 0x10, 0x11, 0x12, 0x0f, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0x60, 0x90, 0x50, 0x48, 0x48,
-+ 0x50, 0x60, 0x90, 0x14, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x26, 0x36, 0x37, 0x24,
-+ 0x27, 0x21, 0x2f, 0x21, 0x3f, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xfc, 0xb0, 0xb4, 0x2c, 0x60,
-+ 0x80, 0xf0, 0x00, 0xfc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x3f, 0x2e, 0x2a, 0x2e, 0x3f, 0x1f,
-+ 0x11, 0x1f, 0x1f, 0x11, 0x1f, 0x70, 0x00, 0x00,
-+ 0x08, 0xd0, 0xe0, 0xa0, 0xb8, 0xe0, 0xa0, 0x20,
-+ 0x3c, 0xe0, 0x20, 0x24, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x12, 0x7f, 0x42, 0x42, 0x43,
-+ 0x42, 0x46, 0x3e, 0x02, 0x03, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x48, 0x40, 0xfc,
-+ 0x40, 0x20, 0x24, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x3f, 0x40, 0x3f, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xe0, 0x00, 0xf0, 0x10,
-+ 0x10, 0x10, 0x14, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x3f, 0x40, 0x3f, 0x0f,
-+ 0x10, 0x7f, 0x04, 0x08, 0x10, 0x63, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xf0, 0x10,
-+ 0x90, 0xf0, 0x94, 0x8c, 0x8c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x3f, 0x40, 0x3f, 0x1f,
-+ 0x12, 0x1f, 0x15, 0x18, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xe0, 0x00, 0xf0, 0xd0,
-+ 0x50, 0xd0, 0x54, 0xcc, 0xcc, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x10, 0x3f, 0x40, 0x3f, 0x12,
-+ 0x0a, 0x3f, 0x07, 0x0a, 0x32, 0x02, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x00, 0xe0, 0x00, 0xf0, 0x50,
-+ 0x90, 0xd0, 0x14, 0x8c, 0x4c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x7d,
-+ 0x05, 0x09, 0x09, 0x11, 0x61, 0x03, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x00, 0x88, 0x88,
-+ 0x50, 0x60, 0x20, 0x10, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x42, 0x22, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x23, 0x22, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0xf8, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x20, 0x23, 0x00, 0x08,
-+ 0x08, 0x10, 0x10, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x40, 0x20, 0x20, 0x03, 0x08,
-+ 0x08, 0x10, 0x10, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x22, 0x23, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x24, 0x24, 0x28, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x40, 0x21, 0x21, 0x01, 0x09,
-+ 0x0b, 0x12, 0x10, 0x20, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf0, 0x10, 0x10, 0x10,
-+ 0xf0, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x42, 0x22, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x2f, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x20, 0x20, 0x02, 0x0a,
-+ 0x0a, 0x14, 0x14, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0x80, 0x80, 0x80, 0x88, 0x84,
-+ 0x84, 0x80, 0x80, 0x88, 0x88, 0x78, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x20, 0x03, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x48,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x09, 0x41, 0x22, 0x22, 0x07, 0x08,
-+ 0x08, 0x10, 0x11, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0xe0, 0x20, 0x20, 0x10, 0x10, 0x08, 0xf4, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x22, 0x03, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x24, 0x27, 0x2c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x41, 0x22, 0x24, 0x00, 0x0b,
-+ 0x09, 0x10, 0x10, 0x20, 0x21, 0x2e, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x70, 0x00, 0xf8,
-+ 0x08, 0x90, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x27, 0x20, 0x00, 0x08,
-+ 0x09, 0x11, 0x12, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0xe0, 0xe0,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0a, 0x42, 0x27, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0x50, 0xfc, 0x50, 0x50, 0x50,
-+ 0x50, 0x70, 0x50, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x43, 0x22, 0x22, 0x02, 0x0a,
-+ 0x0f, 0x10, 0x10, 0x20, 0x23, 0x2c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x48,
-+ 0xfc, 0x40, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x41, 0x27, 0x24, 0x04, 0x0f,
-+ 0x0d, 0x11, 0x11, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x30, 0x48, 0x48, 0x5c, 0xe4, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x20, 0x00, 0x0b,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0f, 0x0d, 0x45, 0x25, 0x25, 0x05, 0x0d,
-+ 0x0e, 0x16, 0x14, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x58,
-+ 0x58, 0x38, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0f, 0x0c, 0x44, 0x24, 0x24, 0x04, 0x0c,
-+ 0x0d, 0x15, 0x16, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x88, 0x88, 0x88, 0x88, 0xc8,
-+ 0x48, 0x28, 0x18, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x22, 0x23, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x24, 0x24, 0x28, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x00, 0x00, 0xfc, 0x20, 0xe0,
-+ 0x30, 0x28, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x21, 0x21, 0x01, 0x09,
-+ 0x09, 0x11, 0x11, 0x21, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x25, 0x21, 0x01, 0x09,
-+ 0x09, 0x11, 0x11, 0x21, 0x21, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x00, 0x00, 0x08, 0x30,
-+ 0xc0, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x20, 0x20, 0x00, 0x0b,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x22, 0x03, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x20, 0x27, 0x00, 0x08,
-+ 0x08, 0x10, 0x12, 0x23, 0x24, 0x28, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xf8, 0x08, 0x10,
-+ 0x10, 0x20, 0x40, 0x80, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x02, 0x0b,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x2e, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x48, 0x40, 0xfc,
-+ 0x20, 0x20, 0x10, 0x14, 0xcc, 0x04, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x41, 0x21, 0x22, 0x00, 0x0f,
-+ 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x50, 0x48, 0x48, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x22, 0x23, 0x02, 0x0a,
-+ 0x0b, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x23, 0x20, 0x03, 0x0a,
-+ 0x0b, 0x12, 0x10, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xfc, 0x44, 0x58, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x12, 0x11, 0x21, 0x48, 0x0c, 0x12, 0x12, 0x30,
-+ 0x51, 0x11, 0x12, 0x12, 0x14, 0x14, 0x00, 0x00,
-+ 0x00, 0x78, 0x00, 0x00, 0x00, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x43, 0x22, 0x24, 0x0e, 0x15,
-+ 0x14, 0x25, 0x26, 0x47, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0x48, 0x68, 0xa8,
-+ 0xa8, 0x68, 0x28, 0xe8, 0x28, 0x30, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x43, 0x22, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x21, 0x23, 0x04, 0x08,
-+ 0x0b, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0a, 0x41, 0x21, 0x20, 0x07, 0x08,
-+ 0x08, 0x10, 0x11, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x50, 0x40, 0xfc, 0xa0,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x22, 0x24, 0x07, 0x08,
-+ 0x08, 0x11, 0x11, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x41, 0x22, 0x23, 0x06, 0x0b,
-+ 0x0a, 0x13, 0x12, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xf8, 0x08, 0xc8, 0x48, 0xc8,
-+ 0x48, 0xc8, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x41, 0x2f, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x17, 0x11, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0x28, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x78, 0x28, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x41, 0x27, 0x25, 0x05, 0x0d,
-+ 0x0d, 0x16, 0x16, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x58,
-+ 0x58, 0x38, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0f, 0x0a, 0x42, 0x23, 0x24, 0x04, 0x0e,
-+ 0x09, 0x11, 0x11, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x08, 0xc8, 0x28, 0x28, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0x28, 0x28, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x27, 0x20, 0x00, 0x0f,
-+ 0x08, 0x10, 0x11, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf8, 0x00, 0x00, 0xfc,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x20, 0x03, 0x0a,
-+ 0x0b, 0x12, 0x13, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x24, 0x20, 0x07, 0x08,
-+ 0x09, 0x11, 0x12, 0x24, 0x28, 0x23, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x80, 0x80, 0xfc, 0x80,
-+ 0x20, 0x20, 0x50, 0x48, 0xfc, 0x84, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x21, 0x21, 0x02, 0x0c,
-+ 0x09, 0x13, 0x14, 0x20, 0x21, 0x2e, 0x00, 0x00,
-+ 0x40, 0x50, 0x98, 0xe4, 0x20, 0x24, 0x9c, 0xf0,
-+ 0x10, 0x20, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x21, 0x21, 0x01, 0x0a,
-+ 0x0c, 0x10, 0x10, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x50, 0x50, 0x58, 0xe4,
-+ 0x44, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0a, 0x4f, 0x22, 0x22, 0x02, 0x0a,
-+ 0x0b, 0x1e, 0x12, 0x22, 0x22, 0x27, 0x00, 0x00,
-+ 0x08, 0x10, 0x60, 0xc0, 0x40, 0x7c, 0x50, 0xd0,
-+ 0x50, 0x50, 0x50, 0x90, 0x90, 0x10, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x41, 0x22, 0x22, 0x07, 0x09,
-+ 0x0d, 0x15, 0x12, 0x23, 0x24, 0x28, 0x00, 0x00,
-+ 0x04, 0x08, 0x70, 0x10, 0x10, 0x50, 0x5c, 0x50,
-+ 0x50, 0x50, 0x50, 0x3c, 0x80, 0x7c, 0x00, 0x00,
-+ 0x12, 0x09, 0x09, 0x47, 0x20, 0x23, 0x02, 0x0b,
-+ 0x0a, 0x10, 0x11, 0x22, 0x2c, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf8, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xc4, 0xc4, 0x44, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x20, 0x17, 0x10, 0x43, 0x2f, 0x23, 0x00, 0x13,
-+ 0x1f, 0x20, 0x27, 0x45, 0x47, 0x40, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xf0, 0xfc, 0xe8, 0x80, 0xf0,
-+ 0xfc, 0x10, 0xfc, 0x50, 0x30, 0x30, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x02, 0x08,
-+ 0x0b, 0x10, 0x10, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x48, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x41, 0x21, 0x22, 0x07, 0x0a,
-+ 0x0b, 0x12, 0x13, 0x22, 0x20, 0x20, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0x50, 0x48, 0xfc, 0x48,
-+ 0xf8, 0x48, 0xf8, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x0c, 0x0a, 0x43, 0x27, 0x21, 0x01, 0x0f,
-+ 0x09, 0x11, 0x12, 0x24, 0x28, 0x20, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0x28, 0xe8, 0x28, 0x28, 0xe8,
-+ 0x28, 0xa8, 0x68, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0b, 0x42, 0x22, 0x22, 0x03, 0x0a,
-+ 0x0a, 0x12, 0x13, 0x26, 0x24, 0x28, 0x00, 0x00,
-+ 0x08, 0x48, 0x58, 0xd8, 0xe8, 0x48, 0xf8, 0x48,
-+ 0xe8, 0xd8, 0x58, 0x48, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x1f, 0x11, 0x41, 0x29, 0x2e, 0x0a, 0x1a,
-+ 0x19, 0x2e, 0x28, 0x49, 0x4f, 0x48, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xa8, 0xa8, 0xc8, 0xc8,
-+ 0xa8, 0xa8, 0x98, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x47, 0x21, 0x21, 0x01, 0x09,
-+ 0x09, 0x17, 0x10, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0xfc, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xfc, 0x00, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x41, 0x23, 0x24, 0x00, 0x0b,
-+ 0x08, 0x12, 0x11, 0x21, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x44, 0x40, 0xf8,
-+ 0x40, 0x48, 0x48, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x23, 0x22, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xe8,
-+ 0xa8, 0xa8, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x09, 0x08, 0x43, 0x27, 0x20, 0x01, 0x09,
-+ 0x0b, 0x15, 0x19, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x10, 0xe0, 0xd0, 0x48, 0xfc, 0x80, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x41, 0x21, 0x21, 0x02, 0x0c,
-+ 0x08, 0x17, 0x10, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x10, 0x18, 0xa4, 0x44,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x22, 0x12, 0x12, 0x4f, 0x22, 0x23, 0x06, 0x16,
-+ 0x16, 0x2a, 0x2a, 0x42, 0x43, 0x42, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0xd0, 0x48, 0x48, 0xa4, 0xa0,
-+ 0x20, 0x30, 0x48, 0x58, 0xe4, 0x04, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x42, 0x24, 0x23, 0x02, 0x0a,
-+ 0x0a, 0x12, 0x12, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xf8, 0x08, 0xe8,
-+ 0xa8, 0xa8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x24, 0x23, 0x00, 0x0f,
-+ 0x08, 0x13, 0x10, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x44, 0x04, 0xf8, 0x48, 0xfc,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x20, 0x27, 0x00, 0x0b,
-+ 0x08, 0x17, 0x10, 0x21, 0x20, 0x27, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x40, 0xfc, 0x90, 0xe0, 0x70, 0x88, 0x00, 0x00,
-+ 0x22, 0x12, 0x12, 0x4f, 0x22, 0x23, 0x06, 0x16,
-+ 0x16, 0x2a, 0x2a, 0x52, 0x43, 0x42, 0x00, 0x00,
-+ 0x08, 0x10, 0x60, 0xc0, 0x40, 0x7c, 0xd0, 0xd0,
-+ 0x50, 0x50, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x47, 0x20, 0x20, 0x03, 0x08,
-+ 0x08, 0x17, 0x10, 0x20, 0x20, 0x27, 0x00, 0x00,
-+ 0x90, 0x88, 0xfc, 0x90, 0x50, 0x64, 0x9c, 0xa4,
-+ 0xfc, 0x90, 0x50, 0x24, 0xdc, 0x04, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x25, 0x20, 0x00, 0x0f,
-+ 0x08, 0x11, 0x11, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf0, 0x00, 0x00, 0xfc,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0a, 0x42, 0x2f, 0x22, 0x02, 0x0b,
-+ 0x0a, 0x12, 0x14, 0x24, 0x28, 0x33, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0xd0, 0x88, 0x24, 0x90,
-+ 0x90, 0xc0, 0xa0, 0x90, 0x88, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x27, 0x21, 0x01, 0x0a,
-+ 0x0c, 0x13, 0x10, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x20, 0x24, 0x5c,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x41, 0x23, 0x24, 0x03, 0x0a,
-+ 0x0a, 0x13, 0x12, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x11, 0x09, 0x09, 0x43, 0x22, 0x22, 0x07, 0x0a,
-+ 0x0a, 0x13, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x0c, 0x47, 0x24, 0x27, 0x04, 0x0b,
-+ 0x0a, 0x13, 0x12, 0x23, 0x22, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x47, 0x25, 0x25, 0x06, 0x0f,
-+ 0x08, 0x17, 0x10, 0x20, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0x58, 0x38, 0xf8,
-+ 0x80, 0xf8, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x21, 0x27, 0x00, 0x0b,
-+ 0x0a, 0x12, 0x13, 0x22, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0x10, 0xfc, 0x08, 0xc8,
-+ 0x48, 0x48, 0xc8, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x20, 0x11, 0x12, 0x4f, 0x25, 0x25, 0x05, 0x16,
-+ 0x14, 0x2f, 0x20, 0x41, 0x46, 0x58, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0xf8, 0x48, 0x58, 0x58, 0x38,
-+ 0x88, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x25, 0x20, 0x07, 0x08,
-+ 0x09, 0x11, 0x12, 0x24, 0x28, 0x23, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x44, 0xf4, 0x80, 0xfc, 0x80,
-+ 0xf8, 0x48, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x23, 0x22, 0x03, 0x08,
-+ 0x0f, 0x10, 0x13, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00,
-+ 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x47, 0x20, 0x23, 0x02, 0x0b,
-+ 0x0a, 0x13, 0x10, 0x27, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x40, 0x21, 0x26, 0x01, 0x09,
-+ 0x09, 0x11, 0x11, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x20, 0x11, 0x1e, 0x42, 0x22, 0x2f, 0x02, 0x17,
-+ 0x16, 0x2a, 0x2a, 0x52, 0x42, 0x43, 0x00, 0x00,
-+ 0xa0, 0x20, 0x20, 0x24, 0x64, 0xe8, 0x70, 0xa0,
-+ 0xb0, 0xb0, 0x50, 0x48, 0x88, 0x04, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x21, 0x21, 0x01, 0x08,
-+ 0x0f, 0x10, 0x11, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x70, 0x00, 0xf8, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x23, 0x22, 0x03, 0x08,
-+ 0x0f, 0x10, 0x11, 0x22, 0x2c, 0x20, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x44,
-+ 0xe4, 0xe8, 0x50, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x10, 0x0a, 0x0a, 0x42, 0x23, 0x20, 0x07, 0x08,
-+ 0x0b, 0x12, 0x12, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x80,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x41, 0x21, 0x21, 0x00, 0x0b,
-+ 0x0a, 0x17, 0x10, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x08, 0xf8, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x09, 0x0f, 0x41, 0x21, 0x27, 0x01, 0x09,
-+ 0x09, 0x17, 0x11, 0x22, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0xfc, 0x10, 0x10, 0x7c, 0x90, 0x10, 0x7c,
-+ 0x90, 0x10, 0x7c, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x20, 0x1f, 0x19, 0x49, 0x2f, 0x29, 0x09, 0x1f,
-+ 0x19, 0x29, 0x2f, 0x49, 0x40, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x70, 0x68, 0x68, 0xa4, 0x2c,
-+ 0x28, 0x70, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x41, 0x27, 0x25, 0x05, 0x0d,
-+ 0x0d, 0x15, 0x15, 0x25, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x00, 0xf8, 0x28, 0x28, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x28, 0xf8, 0x08, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x28, 0x17, 0x11,
-+ 0x12, 0x23, 0x2e, 0x42, 0x42, 0x47, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x20, 0xf8, 0xa8, 0x28, 0x28,
-+ 0x28, 0xa8, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x22, 0x1f, 0x12, 0x43, 0x20, 0x2f, 0x08, 0x1e,
-+ 0x1a, 0x2a, 0x2d, 0x48, 0x48, 0x48, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xe0, 0x80, 0xf8, 0x88, 0xe8,
-+ 0xa8, 0xa8, 0xd8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x11, 0x08, 0x08, 0x41, 0x23, 0x2c, 0x07, 0x0c,
-+ 0x0e, 0x15, 0x16, 0x25, 0x24, 0x25, 0x00, 0x00,
-+ 0xc0, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x12, 0x0a, 0x0a, 0x42, 0x2f, 0x22, 0x02, 0x0b,
-+ 0x0a, 0x12, 0x12, 0x24, 0x24, 0x2b, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x3c, 0xc0, 0xf8, 0x08, 0x90,
-+ 0x90, 0xfc, 0x90, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x2a, 0x0a, 0x1f,
-+ 0x12, 0x27, 0x26, 0x4a, 0x52, 0x42, 0x00, 0x00,
-+ 0x08, 0x28, 0xe8, 0x28, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0x28, 0x28, 0xa8, 0x88, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x24, 0x21, 0x00, 0x08,
-+ 0x0b, 0x10, 0x17, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x18, 0xf0, 0x88, 0x44, 0x54, 0x90, 0xa0, 0x50,
-+ 0xf8, 0x48, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x40, 0x27, 0x20, 0x01, 0x0f,
-+ 0x08, 0x13, 0x12, 0x22, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0xf8,
-+ 0x08, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x02, 0x09,
-+ 0x09, 0x17, 0x10, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x48, 0x48,
-+ 0x50, 0xfc, 0xa0, 0xa0, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x0f, 0x0c, 0x47, 0x24, 0x25, 0x06, 0x0d,
-+ 0x0e, 0x15, 0x16, 0x25, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x88, 0xd8, 0xd8, 0x68,
-+ 0xe8, 0x58, 0x58, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x24, 0x23, 0x01, 0x08,
-+ 0x0f, 0x10, 0x13, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0x40, 0xf8, 0x10, 0xa0,
-+ 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x27, 0x05, 0x09,
-+ 0x0f, 0x10, 0x17, 0x21, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x00, 0xfc, 0x28, 0xd0,
-+ 0x1c, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x28, 0x14, 0x15, 0x4f, 0x22, 0x2a, 0x0a, 0x1a,
-+ 0x1f, 0x2a, 0x22, 0x42, 0x44, 0x49, 0x00, 0x00,
-+ 0x80, 0xb8, 0x28, 0xe8, 0x28, 0xb8, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0x48, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x41, 0x22, 0x25, 0x01, 0x09,
-+ 0x09, 0x12, 0x13, 0x25, 0x29, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x08, 0xf4, 0x10, 0xf0,
-+ 0xf0, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x0a, 0x0a, 0x43, 0x22, 0x23, 0x02, 0x08,
-+ 0x0b, 0x11, 0x10, 0x20, 0x21, 0x2e, 0x00, 0x00,
-+ 0x40, 0x58, 0x48, 0x58, 0x48, 0x58, 0x48, 0x40,
-+ 0xf8, 0x10, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x42, 0x24, 0x20, 0x03, 0x0a,
-+ 0x0a, 0x13, 0x12, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0x24, 0x80, 0x38, 0x08,
-+ 0x08, 0xb8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x27, 0x24, 0x3f, 0x25, 0x26,
-+ 0x3d, 0x24, 0x24, 0x27, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xf8, 0xa0, 0xfc, 0x50, 0x48,
-+ 0x54, 0xd0, 0xe0, 0x50, 0x48, 0xc0, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x44, 0x25, 0x24, 0x07, 0x14,
-+ 0x15, 0x24, 0x25, 0x49, 0x49, 0x51, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48,
-+ 0xf8, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x23, 0x02, 0x0b,
-+ 0x0a, 0x10, 0x17, 0x21, 0x20, 0x20, 0x00, 0x00,
-+ 0x50, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x41, 0x20, 0x27, 0x04, 0x08,
-+ 0x0f, 0x10, 0x10, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x48, 0x40,
-+ 0xfc, 0x40, 0x78, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x45, 0x21, 0x21, 0x01, 0x09,
-+ 0x08, 0x17, 0x10, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xfc, 0x00, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x23, 0x3c, 0x20, 0x22, 0x1e, 0x08, 0x0a,
-+ 0x7a, 0x1c, 0x2c, 0x2a, 0x49, 0x1b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x49, 0x29, 0x2f, 0x09, 0x1f,
-+ 0x18, 0x2f, 0x28, 0x4f, 0x48, 0x49, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x50, 0x50, 0x50, 0xfc, 0x20,
-+ 0x30, 0x30, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x23, 0x01, 0x13,
-+ 0x16, 0x1b, 0x23, 0x22, 0x43, 0x42, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xb8, 0xa8, 0xb8, 0x20, 0xfc,
-+ 0x40, 0xf8, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x20, 0x1f, 0x10, 0x47, 0x24, 0x27, 0x05, 0x15,
-+ 0x15, 0x27, 0x26, 0x4b, 0x4a, 0x51, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0xf8, 0x48, 0xf8, 0x04, 0xfc, 0x00, 0x00,
-+ 0x20, 0x17, 0x10, 0x4f, 0x20, 0x27, 0x00, 0x17,
-+ 0x10, 0x27, 0x25, 0x45, 0x47, 0x45, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x50, 0x90, 0x10, 0x10,
-+ 0xfc, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x0f, 0x09, 0x42, 0x2f, 0x22, 0x02, 0x0b,
-+ 0x08, 0x11, 0x1f, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0xfc, 0x10, 0x08, 0xf4, 0x10, 0x10, 0xf0,
-+ 0xc8, 0x28, 0x30, 0x10, 0xc8, 0x04, 0x00, 0x00,
-+ 0x24, 0x24, 0x3f, 0x04, 0x7f, 0x15, 0x24, 0x45,
-+ 0x01, 0x7f, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0xf0, 0x90, 0xfc, 0x90, 0x30,
-+ 0x08, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x41, 0x21, 0x22, 0x07, 0x08,
-+ 0x0b, 0x1d, 0x10, 0x21, 0x20, 0x23, 0x00, 0x00,
-+ 0x40, 0x90, 0xf8, 0x10, 0x98, 0x64, 0xfc, 0xa0,
-+ 0x50, 0xac, 0x48, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x2a, 0x0a, 0x1f,
-+ 0x13, 0x26, 0x26, 0x4a, 0x52, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0x20, 0xfc, 0xe4, 0xa8, 0xb0,
-+ 0x20, 0xa0, 0xd0, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x25, 0x15, 0x1f, 0x45, 0x25, 0x28, 0x0f, 0x18,
-+ 0x17, 0x24, 0x24, 0x44, 0x44, 0x40, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0xd4, 0x0c, 0xfc, 0x88,
-+ 0xf0, 0x90, 0x90, 0x90, 0xe0, 0x80, 0x00, 0x00,
-+ 0x20, 0x1e, 0x12, 0x42, 0x2e, 0x28, 0x08, 0x1f,
-+ 0x1a, 0x22, 0x22, 0x42, 0x42, 0x4d, 0x00, 0x00,
-+ 0x00, 0xf8, 0x80, 0xf0, 0x80, 0xf0, 0x80, 0xfc,
-+ 0xa8, 0xa8, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x22, 0x12, 0x12, 0x45, 0x25, 0x2d, 0x15, 0x15,
-+ 0x15, 0x25, 0x25, 0x45, 0x45, 0x44, 0x00, 0x00,
-+ 0x20, 0x20, 0x7c, 0x48, 0xb0, 0x30, 0xec, 0x20,
-+ 0xfc, 0x70, 0x70, 0xa8, 0x24, 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,
-+ 0x11, 0x0f, 0x08, 0x43, 0x20, 0x27, 0x03, 0x09,
-+ 0x08, 0x17, 0x10, 0x21, 0x26, 0x20, 0x00, 0x00,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xf0, 0xc0,
-+ 0x68, 0xe8, 0xd0, 0x48, 0x44, 0xc0, 0x00, 0x00,
-+ 0x20, 0x1f, 0x14, 0x47, 0x24, 0x25, 0x07, 0x10,
-+ 0x1f, 0x28, 0x29, 0x4f, 0x48, 0x48, 0x00, 0x00,
-+ 0x80, 0xfc, 0x50, 0x50, 0xd0, 0x30, 0xf0, 0x80,
-+ 0xf8, 0xc8, 0x28, 0xd8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x40, 0x27, 0x24, 0x06, 0x0d,
-+ 0x0e, 0x15, 0x15, 0x26, 0x27, 0x24, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf8, 0xa8, 0x68, 0x68,
-+ 0xd8, 0xc8, 0xa8, 0x58, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x47, 0x21, 0x27, 0x01, 0x09,
-+ 0x0e, 0x17, 0x10, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xbc, 0x10, 0xbc,
-+ 0x00, 0xfc, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x20, 0x17, 0x14, 0x47, 0x25, 0x24, 0x07, 0x14,
-+ 0x17, 0x24, 0x29, 0x4f, 0x51, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0xf0, 0x60, 0xfc, 0x40,
-+ 0xf8, 0x88, 0x90, 0x7c, 0x10, 0x30, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2a, 0x2a, 0x0a, 0x13,
-+ 0x12, 0x23, 0x22, 0x43, 0x44, 0x48, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xd8, 0xdc, 0x94, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x20, 0x12, 0x12, 0x42, 0x22, 0x2f, 0x02, 0x1a,
-+ 0x1b, 0x2a, 0x2a, 0x4b, 0x4e, 0x58, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x10, 0x50,
-+ 0xdc, 0x50, 0x50, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x20, 0x1f, 0x12, 0x4a, 0x26, 0x24, 0x0b, 0x12,
-+ 0x1b, 0x2a, 0x2a, 0x4b, 0x4e, 0x58, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xe8, 0xa8, 0xc8, 0xb0, 0x10,
-+ 0xdc, 0x50, 0x50, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x47, 0x20, 0x23, 0x07, 0x09,
-+ 0x09, 0x16, 0x17, 0x21, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0, 0xb8, 0x28,
-+ 0xb8, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x22, 0x1f, 0x1a, 0x4a, 0x2f, 0x26, 0x07, 0x1a,
-+ 0x13, 0x22, 0x23, 0x42, 0x43, 0x42, 0x00, 0x00,
-+ 0x10, 0xfc, 0x50, 0x50, 0xfc, 0xb0, 0x34, 0x4c,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x26, 0x16, 0x1f, 0x4a, 0x3f, 0x25, 0x05, 0x15,
-+ 0x1b, 0x22, 0x23, 0x42, 0x43, 0x42, 0x00, 0x00,
-+ 0x30, 0x30, 0xfc, 0x50, 0xfc, 0x30, 0xb4, 0x4c,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x23, 0x01, 0x09,
-+ 0x09, 0x11, 0x11, 0x27, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x22, 0x1a, 0x1a, 0x4a, 0x2f, 0x20, 0x0f, 0x10,
-+ 0x1f, 0x22, 0x2f, 0x42, 0x43, 0x5c, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xbc, 0x48, 0xe8, 0xa8,
-+ 0xb0, 0x10, 0x90, 0x28, 0xc8, 0x84, 0x00, 0x00,
-+ 0x10, 0x0b, 0x09, 0x47, 0x23, 0x22, 0x03, 0x0a,
-+ 0x0b, 0x10, 0x13, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x41, 0x2f, 0x20, 0x01, 0x0e,
-+ 0x0b, 0x12, 0x13, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x4c,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x11, 0x09, 0x0f, 0x41, 0x27, 0x20, 0x07, 0x0c,
-+ 0x0f, 0x14, 0x12, 0x22, 0x23, 0x2c, 0x00, 0x00,
-+ 0x10, 0x10, 0xe0, 0x28, 0xc8, 0x10, 0xd0, 0x64,
-+ 0xc4, 0x88, 0x88, 0xd0, 0x20, 0x40, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x43, 0x22, 0x22, 0x03, 0x08,
-+ 0x0b, 0x12, 0x13, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xb8, 0xa8, 0xa8, 0xb8, 0xa0,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x20, 0x17, 0x14, 0x47, 0x24, 0x27, 0x04, 0x17,
-+ 0x14, 0x27, 0x25, 0x4a, 0x4c, 0x50, 0x00, 0x00,
-+ 0x40, 0xfc, 0xd8, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc,
-+ 0xa8, 0xf8, 0xb0, 0xa8, 0xa4, 0xa0, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x44, 0x23, 0x23, 0x0d, 0x09,
-+ 0x09, 0x11, 0x12, 0x22, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0x10, 0xf8, 0x14, 0xf0,
-+ 0x10, 0xf0, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x23, 0x22, 0x03, 0x0a,
-+ 0x0b, 0x10, 0x17, 0x20, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0xe8, 0x58, 0xe8, 0xf8, 0xe8,
-+ 0x58, 0x40, 0xfc, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x22, 0x12, 0x1f, 0x42, 0x2f, 0x29, 0x0f, 0x19,
-+ 0x1f, 0x22, 0x3f, 0x42, 0x42, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0xb0, 0x50, 0x48, 0xfc, 0x20, 0x20,
-+ 0xfc, 0x20, 0xa0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x41, 0x20, 0x27, 0x04, 0x0f,
-+ 0x08, 0x17, 0x10, 0x21, 0x26, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xbc, 0xa4, 0xbc,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x20, 0x23, 0x00, 0x0f,
-+ 0x09, 0x17, 0x10, 0x23, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x20, 0x13, 0x1c, 0x47, 0x24, 0x27, 0x04, 0x17,
-+ 0x14, 0x24, 0x25, 0x49, 0x49, 0x51, 0x00, 0x00,
-+ 0x80, 0xf0, 0x40, 0xfc, 0xa4, 0x1c, 0xf0, 0xfc,
-+ 0xf0, 0xf0, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x0b, 0x09, 0x07, 0x41, 0x23, 0x22, 0x0b,
-+ 0x0a, 0x13, 0x12, 0x23, 0x21, 0x2e, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0xfc, 0x10, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x43, 0x22, 0x27, 0x03, 0x08,
-+ 0x0b, 0x1c, 0x13, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0xa0,
-+ 0xf8, 0x04, 0xf8, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x20, 0x1f, 0x11, 0x4f, 0x25, 0x25, 0x07, 0x1a,
-+ 0x13, 0x22, 0x23, 0x42, 0x44, 0x48, 0x00, 0x00,
-+ 0x80, 0xfc, 0x48, 0xb0, 0xa8, 0xa8, 0xb8, 0x14,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x43, 0x22, 0x23, 0x01, 0x0e,
-+ 0x0b, 0x12, 0x17, 0x23, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x10, 0xe8,
-+ 0x30, 0xa8, 0xfc, 0x48, 0xa4, 0xa4, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x42, 0x25, 0x21, 0x02, 0x09,
-+ 0x0f, 0x11, 0x11, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0xe8, 0x10, 0x48, 0xa8, 0xf0,
-+ 0x1c, 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x20, 0x1f, 0x12, 0x4c, 0x2f, 0x29, 0x0e, 0x1b,
-+ 0x1c, 0x29, 0x2e, 0x4b, 0x4c, 0x48, 0x00, 0x00,
-+ 0x00, 0xfc, 0xb0, 0x88, 0xf8, 0x98, 0xe8, 0xa8,
-+ 0xd8, 0x98, 0xe8, 0xa8, 0xd8, 0x98, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x45, 0x22, 0x24, 0x03, 0x0a,
-+ 0x0f, 0x10, 0x13, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xa8, 0x94, 0x74, 0xf8, 0xa8,
-+ 0xfc, 0x00, 0xf8, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x45, 0x22, 0x24, 0x01, 0x0f,
-+ 0x09, 0x11, 0x11, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0xf0, 0x58, 0xe4, 0xf8, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x22, 0x13, 0x12, 0x47, 0x24, 0x2c, 0x05, 0x14,
-+ 0x14, 0x24, 0x25, 0x44, 0x44, 0x45, 0x00, 0x00,
-+ 0x50, 0x54, 0xd8, 0xfc, 0x88, 0x50, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x11, 0x0f, 0x09, 0x43, 0x22, 0x24, 0x07, 0x08,
-+ 0x0f, 0x10, 0x13, 0x20, 0x23, 0x20, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xfc, 0xe8, 0x00, 0xfc, 0xc8,
-+ 0x68, 0xf0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x47, 0x22, 0x23, 0x02, 0x0b,
-+ 0x08, 0x13, 0x1e, 0x29, 0x25, 0x24, 0x00, 0x00,
-+ 0x40, 0xfc, 0x88, 0x38, 0x08, 0xb8, 0x08, 0xf8,
-+ 0x80, 0xfc, 0xa4, 0x54, 0x04, 0x18, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x47, 0x21, 0x27, 0x00, 0x0b,
-+ 0x0f, 0x12, 0x13, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x40, 0xfc, 0x28, 0xc8, 0x50, 0xfc, 0xe0, 0x58,
-+ 0xfc, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x20, 0x1f, 0x19, 0x49, 0x2f, 0x29, 0x09, 0x1f,
-+ 0x19, 0x29, 0x2f, 0x46, 0x49, 0x51, 0x00, 0x00,
-+ 0x50, 0x48, 0x5c, 0xe8, 0x28, 0x34, 0xcc, 0x54,
-+ 0x5c, 0xe8, 0x28, 0x14, 0x6c, 0x84, 0x00, 0x00,
-+ 0x20, 0x17, 0x14, 0x47, 0x24, 0x27, 0x0f, 0x12,
-+ 0x1f, 0x26, 0x39, 0x42, 0x4c, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xf8, 0x20,
-+ 0xfc, 0xb0, 0xcc, 0xb0, 0x88, 0x80, 0x00, 0x00,
-+ 0x11, 0x0f, 0x08, 0x41, 0x27, 0x21, 0x02, 0x0d,
-+ 0x09, 0x11, 0x11, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x10, 0xfc, 0x40, 0xf0, 0xfc, 0x10, 0xe8, 0xf4,
-+ 0x10, 0xf0, 0xf8, 0x50, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x22, 0x1f, 0x1d, 0x4b, 0x3e, 0x22, 0x05, 0x1f,
-+ 0x12, 0x2f, 0x2a, 0x47, 0x43, 0x4e, 0x00, 0x00,
-+ 0x08, 0xc8, 0x68, 0x68, 0xe8, 0x28, 0x28, 0xe8,
-+ 0x28, 0xe8, 0xa8, 0x08, 0x88, 0x18, 0x00, 0x00,
-+ 0x20, 0x10, 0x17, 0x44, 0x27, 0x24, 0x05, 0x15,
-+ 0x15, 0x25, 0x25, 0x4a, 0x4a, 0x54, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0xe8, 0x88, 0x78, 0xf0, 0x50,
-+ 0xf0, 0x50, 0xf8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x20, 0x1f, 0x12, 0x41, 0x27, 0x24, 0x07, 0x1e,
-+ 0x1b, 0x2f, 0x2b, 0x4e, 0x4a, 0x57, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0xf0, 0x10, 0xf0, 0xb8,
-+ 0xe8, 0x68, 0x78, 0xbc, 0xec, 0x44, 0x00, 0x00,
-+ 0x24, 0x14, 0x1f, 0x44, 0x2e, 0x2b, 0x0f, 0x1a,
-+ 0x1e, 0x25, 0x3e, 0x45, 0x44, 0x44, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0xf8, 0x48,
-+ 0xd8, 0x68, 0xd8, 0x68, 0x48, 0xd8, 0x00, 0x00,
-+ 0x22, 0x12, 0x1b, 0x44, 0x24, 0x2b, 0x02, 0x16,
-+ 0x17, 0x2a, 0x2a, 0x42, 0x42, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0x50, 0xfc, 0x50, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x20, 0x17, 0x15, 0x44, 0x27, 0x25, 0x06, 0x14,
-+ 0x15, 0x25, 0x25, 0x49, 0x4f, 0x50, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x90, 0xfc, 0xf8, 0xd4, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x20, 0x10, 0x17, 0x44, 0x27, 0x25, 0x05, 0x15,
-+ 0x15, 0x25, 0x27, 0x4a, 0x57, 0x40, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0xc8, 0x78, 0xf0, 0x50, 0xf0,
-+ 0x50, 0xf0, 0xf8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x22, 0x1f, 0x12, 0x47, 0x20, 0x3f, 0x07, 0x1a,
-+ 0x1e, 0x2f, 0x28, 0x4e, 0x4a, 0x52, 0x00, 0x00,
-+ 0x20, 0xfc, 0xa0, 0xf0, 0x90, 0xfc, 0xf0, 0xa8,
-+ 0xb8, 0xf8, 0x88, 0xb8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x20, 0x1f, 0x12, 0x43, 0x2f, 0x29, 0x09, 0x1f,
-+ 0x1b, 0x23, 0x23, 0x43, 0x43, 0x4d, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0x24, 0xfc, 0x6c, 0xfc, 0x6c,
-+ 0xb4, 0x6c, 0xfc, 0x6c, 0xb4, 0x2c, 0x00, 0x00,
-+ 0x20, 0x1f, 0x19, 0x4f, 0x29, 0x2f, 0x0f, 0x1b,
-+ 0x1b, 0x2a, 0x2b, 0x49, 0x4e, 0x48, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x78, 0x48, 0xf8, 0xf8, 0xe8,
-+ 0xe8, 0xa8, 0xe8, 0xc8, 0xb8, 0x98, 0x00, 0x00,
-+ 0x22, 0x12, 0x13, 0x44, 0x27, 0x28, 0x0f, 0x1b,
-+ 0x1b, 0x2f, 0x24, 0x44, 0x4b, 0x52, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xa0, 0xfc, 0x48, 0xe8, 0x68,
-+ 0x68, 0xd0, 0x90, 0xa8, 0x68, 0x44, 0x00, 0x00,
-+ 0x20, 0x1f, 0x10, 0x4f, 0x2d, 0x2f, 0x09, 0x1f,
-+ 0x19, 0x2f, 0x2b, 0x4a, 0x53, 0x6c, 0x00, 0x00,
-+ 0x00, 0x7c, 0x00, 0x78, 0xe8, 0xfc, 0x40, 0xf8,
-+ 0x48, 0xf8, 0xc8, 0x70, 0xc4, 0x3c, 0x00, 0x00,
-+ 0x24, 0x17, 0x1a, 0x44, 0x2e, 0x25, 0x0f, 0x1d,
-+ 0x17, 0x20, 0x27, 0x47, 0x48, 0x40, 0x00, 0x00,
-+ 0xc8, 0xec, 0x14, 0xc8, 0xdc, 0xe8, 0x3c, 0xec,
-+ 0xf0, 0x10, 0xf0, 0xf8, 0x08, 0xf0, 0x00, 0x00,
-+ 0x01, 0x03, 0x0d, 0x34, 0x02, 0x07, 0x79, 0x09,
-+ 0x09, 0x11, 0x22, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xa0, 0xc0, 0x00, 0x08, 0x08,
-+ 0x10, 0x20, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0a, 0x2a, 0x2c, 0x28, 0x49,
-+ 0x08, 0x0c, 0x12, 0x12, 0x21, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa8, 0xa4, 0x2c,
-+ 0x68, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x16, 0x36, 0x3a, 0x32, 0x52,
-+ 0x12, 0x1a, 0x16, 0x26, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x16, 0x36, 0x3b, 0x32, 0x52,
-+ 0x12, 0x1a, 0x16, 0x26, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xb8, 0x38, 0x18, 0xe8,
-+ 0xa8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x0b, 0x2b, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x0a, 0x2d, 0x29, 0x2a, 0x48,
-+ 0x08, 0x0c, 0x12, 0x12, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x40, 0x40, 0x78, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x0a, 0x2b, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x68,
-+ 0x98, 0x98, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x0a, 0x2d, 0x29, 0x2b, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x28, 0x28,
-+ 0xe8, 0x30, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x0b, 0x2b, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xf8, 0x48, 0x48,
-+ 0x68, 0x98, 0x98, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x10, 0x17, 0x30, 0x50, 0x11, 0x12,
-+ 0x14, 0x10, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xe0, 0xe0, 0x50, 0x48,
-+ 0x44, 0x40, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0x0f, 0x00, 0x01, 0x3f, 0x05, 0x09, 0x11,
-+ 0x63, 0x1f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x88, 0x48, 0x50, 0x20, 0x10,
-+ 0x0c, 0xf0, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x0a, 0x2a, 0x2d, 0x28, 0x48,
-+ 0x0b, 0x0c, 0x12, 0x12, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x50, 0x20, 0xd8,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x09, 0x09, 0x7f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x1a, 0x15, 0x24, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x00, 0xf8, 0x48, 0x28, 0x08, 0x70, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x0b, 0x2e, 0x28, 0x2f, 0x4b,
-+ 0x08, 0x0d, 0x12, 0x13, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x4c, 0xf8,
-+ 0x40, 0xf0, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x0b, 0x2b, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x47, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xf8, 0x20,
-+ 0x24, 0xf8, 0x20, 0x24, 0xe4, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x0b, 0x2a, 0x2c, 0x2b, 0x48,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0x90, 0xa0, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x16, 0x37, 0x3a, 0x32, 0x53,
-+ 0x12, 0x1f, 0x14, 0x24, 0x21, 0x46, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0x40, 0xf8, 0xa8, 0xb8, 0x18,
-+ 0x48, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x2b, 0x29, 0x29, 0x2b, 0x22,
-+ 0x3f, 0x20, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x40, 0x44,
-+ 0x44, 0x3c, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0x2f, 0x2a, 0x2f, 0x29, 0x29, 0x2f, 0x2a,
-+ 0x2f, 0x48, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x78, 0x48, 0x40, 0x44,
-+ 0xc4, 0x3c, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x27, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x24, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x28, 0x28, 0xe8,
-+ 0x28, 0x08, 0x30, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2c, 0x55, 0x22, 0x3f, 0x20, 0x5f,
-+ 0x02, 0x02, 0x1f, 0x02, 0x02, 0x02, 0x00, 0x00,
-+ 0x20, 0xa8, 0xb0, 0x50, 0x88, 0xfc, 0x08, 0xf0,
-+ 0x10, 0x10, 0xd4, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x0b, 0x2b, 0x2d, 0x29, 0x48,
-+ 0x0b, 0x08, 0x15, 0x14, 0x23, 0x40, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00,
-+ 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x0b, 0x2a, 0x2d, 0x28, 0x4b,
-+ 0x08, 0x0c, 0x12, 0x11, 0x22, 0x45, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0x04, 0xf8, 0x40, 0xfc,
-+ 0x40, 0xf8, 0xc8, 0x30, 0x70, 0x8c, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x0b, 0x2b, 0x2d, 0x28, 0x4b,
-+ 0x09, 0x0d, 0x16, 0x14, 0x21, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xfc,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x1f, 0x15, 0x13, 0x1f,
-+ 0x01, 0x3f, 0x01, 0x7f, 0x24, 0x42, 0x00, 0x00,
-+ 0x30, 0xc0, 0x00, 0xfc, 0xf0, 0x50, 0x90, 0xf0,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x88, 0x44, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x17, 0x37, 0x3b, 0x32, 0x53,
-+ 0x10, 0x1b, 0x14, 0x27, 0x22, 0x44, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xf8, 0x58, 0xe8, 0xf8,
-+ 0x40, 0xf8, 0x40, 0xfc, 0xa8, 0x54, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x0b, 0x2b, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0c, 0x12, 0x12, 0x24, 0x40, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xa8, 0x84, 0x94, 0x70, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x0b, 0x2a, 0x2d, 0x29, 0x49,
-+ 0x09, 0x0d, 0x13, 0x13, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x2e, 0x3f, 0x36, 0x55,
-+ 0x2d, 0x09, 0x09, 0x12, 0x0c, 0x70, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0xfc, 0x48, 0xa8, 0x28, 0x08,
-+ 0x18, 0x10, 0x10, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x3e, 0x08, 0x7f, 0x08, 0x7f, 0x08, 0x0e,
-+ 0x12, 0x23, 0x4c, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x90, 0x50, 0x50, 0x20,
-+ 0x50, 0x88, 0x04, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x17, 0x36, 0x3b, 0x32, 0x52,
-+ 0x12, 0x1a, 0x16, 0x26, 0x23, 0x42, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0xe8, 0xa8,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x68, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x0f, 0x08, 0x0f, 0x04,
-+ 0x7f, 0x0f, 0x08, 0x0f, 0x24, 0x42, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0xe0, 0x20, 0xe0, 0x40,
-+ 0xfc, 0xe0, 0x20, 0xe0, 0x88, 0x44, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x14, 0x36, 0x3f, 0x30, 0x53,
-+ 0x12, 0x1b, 0x16, 0x27, 0x22, 0x40, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0xa8, 0xa0, 0xfc, 0x20, 0xe8,
-+ 0x58, 0xd0, 0x54, 0xec, 0x4c, 0x84, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x17, 0x35, 0x3b, 0x31, 0x51,
-+ 0x16, 0x1b, 0x14, 0x24, 0x21, 0x46, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xb8, 0x10, 0xfc,
-+ 0x00, 0xfc, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x14, 0x37, 0x3a, 0x33, 0x50,
-+ 0x13, 0x18, 0x15, 0x27, 0x21, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0x20, 0xfc, 0xc8, 0xa8, 0x28,
-+ 0xb0, 0x90, 0xd0, 0x28, 0x48, 0x84, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x15, 0x37, 0x38, 0x31, 0x52,
-+ 0x17, 0x1a, 0x17, 0x26, 0x23, 0x42, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0x50, 0xfc, 0xe0, 0x50, 0x48,
-+ 0xfc, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x16, 0x35, 0x3b, 0x35, 0x51,
-+ 0x11, 0x19, 0x15, 0x25, 0x22, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0x10, 0xf8, 0x14, 0xf0,
-+ 0x10, 0xf0, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x16, 0x37, 0x3a, 0x33, 0x52,
-+ 0x12, 0x1b, 0x17, 0x24, 0x21, 0x46, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0xe8, 0x58, 0xe8, 0xf8, 0xe8,
-+ 0xd8, 0x48, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x11, 0x16, 0x15, 0x14, 0x3f, 0x3c, 0x34, 0x57,
-+ 0x11, 0x1b, 0x15, 0x25, 0x21, 0x46, 0x00, 0x00,
-+ 0x00, 0x38, 0xa8, 0xa8, 0xac, 0xac, 0xc4, 0xf8,
-+ 0x28, 0xa8, 0x10, 0x10, 0xa8, 0x44, 0x00, 0x00,
-+ 0x12, 0x11, 0x11, 0x14, 0x36, 0x39, 0x31, 0x57,
-+ 0x11, 0x19, 0x15, 0x25, 0x22, 0x44, 0x00, 0x00,
-+ 0x30, 0x50, 0x48, 0x84, 0xfc, 0x24, 0xf4, 0x38,
-+ 0xd8, 0x34, 0xd4, 0x10, 0xe0, 0x7c, 0x00, 0x00,
-+ 0x12, 0x11, 0x11, 0x15, 0x36, 0x39, 0x31, 0x57,
-+ 0x11, 0x19, 0x15, 0x25, 0x22, 0x44, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x48, 0x50, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0xa0, 0x7c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x17, 0x34, 0x3b, 0x30, 0x57,
-+ 0x12, 0x1c, 0x17, 0x22, 0x22, 0x47, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xa8, 0x54, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x7a, 0x1e, 0x6c, 0x1a, 0x6a,
-+ 0x31, 0x09, 0x09, 0x12, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf4, 0x34, 0xd8, 0x34, 0xd4,
-+ 0x60, 0x10, 0x10, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x10, 0x17, 0x12, 0x15, 0x36, 0x34, 0x3a, 0x53,
-+ 0x16, 0x1f, 0x17, 0x26, 0x23, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xd8, 0xa8, 0xc8, 0x20, 0xf8,
-+ 0x40, 0xf0, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x12, 0x12, 0x15, 0x17, 0x36, 0x3d, 0x37, 0x50,
-+ 0x17, 0x10, 0x19, 0x26, 0x24, 0x40, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xac, 0xe8, 0xb4, 0xfc, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x14, 0x3f, 0x3d, 0x35, 0x55,
-+ 0x15, 0x15, 0x1f, 0x26, 0x2a, 0x57, 0x00, 0x00,
-+ 0x80, 0xf8, 0xfc, 0xc8, 0x78, 0xf0, 0x50, 0xf0,
-+ 0x50, 0xf0, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00,
-+ 0x10, 0x17, 0x14, 0x1f, 0x3c, 0x37, 0x37, 0x55,
-+ 0x15, 0x15, 0x1d, 0x2c, 0x27, 0x44, 0x00, 0x00,
-+ 0x00, 0xbc, 0xa4, 0xbc, 0xa4, 0xfc, 0xfc, 0xf4,
-+ 0x54, 0xf4, 0xf4, 0xe4, 0x54, 0x4c, 0x00, 0x00,
-+ 0x0f, 0x15, 0x1f, 0x1e, 0x17, 0x3f, 0x24, 0x7f,
-+ 0x0e, 0x35, 0x7f, 0x15, 0x6a, 0x1c, 0x00, 0x00,
-+ 0xf0, 0xd0, 0xf0, 0xf0, 0xd0, 0xfc, 0x28, 0xfc,
-+ 0x70, 0xac, 0xfc, 0x30, 0xcc, 0x70, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x11, 0x21, 0x5f, 0x01, 0x7f,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x30, 0xe0, 0x10, 0x08, 0x08, 0xf0, 0x10, 0xfc,
-+ 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x06, 0x3a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
-+ 0x2a, 0x29, 0x29, 0x28, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x80,
-+ 0x84, 0x84, 0x7c, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x10, 0x2f, 0x42, 0x7f, 0x04,
-+ 0x07, 0x0a, 0x09, 0x10, 0x23, 0x5c, 0x00, 0x00,
-+ 0x30, 0xe0, 0x10, 0x88, 0xf8, 0x00, 0xfc, 0x00,
-+ 0xf0, 0x20, 0x40, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x11, 0x2f, 0x48, 0x0f, 0x08,
-+ 0x08, 0x0f, 0x15, 0x1a, 0x2a, 0x50, 0x00, 0x00,
-+ 0x30, 0xe0, 0x10, 0x08, 0xe8, 0x20, 0xf0, 0x10,
-+ 0x10, 0xfc, 0x24, 0x94, 0x04, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x01, 0x06, 0x38, 0x04, 0x04,
-+ 0x02, 0x02, 0x01, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x20, 0x40, 0x80, 0x60, 0x10, 0x40, 0x40, 0x40,
-+ 0x80, 0x80, 0x00, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x04, 0x05, 0x65, 0x19, 0x09, 0x15, 0x21, 0x45,
-+ 0x25, 0x19, 0x09, 0x15, 0x27, 0x40, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x04, 0x07, 0x04, 0x00, 0x3f,
-+ 0x02, 0x02, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x24, 0x24, 0x24, 0x3f, 0x24, 0x04, 0x7c,
-+ 0x15, 0x15, 0x16, 0x24, 0x24, 0x44, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x40, 0xe0, 0xe0,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x28, 0x2f, 0x29, 0x3b, 0x2c, 0x0f, 0x78,
-+ 0x2b, 0x2a, 0x2a, 0x2a, 0x2b, 0x4a, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x58, 0xe4, 0xfc, 0x00,
-+ 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x24, 0x24, 0x24, 0x25, 0x3e, 0x20, 0x21, 0x3c,
-+ 0x24, 0x27, 0x24, 0x24, 0x25, 0x44, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x54,
-+ 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x04, 0x00, 0x00,
-+ 0x28, 0x2f, 0x29, 0x2b, 0x3e, 0x23, 0x23, 0x39,
-+ 0x29, 0x29, 0x29, 0x29, 0x29, 0x4e, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0xf8, 0xa8, 0x38, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x29, 0x29, 0x3f, 0x29, 0x29, 0x49,
-+ 0x0f, 0x79, 0x0b, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0xd0, 0x14, 0x0c, 0xfc, 0x04, 0x00, 0x00,
-+ 0x08, 0x0b, 0x28, 0x28, 0x3f, 0x28, 0x28, 0x4b,
-+ 0x0c, 0x79, 0x09, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x7f, 0x1d, 0x1a, 0x2a, 0x49,
-+ 0x11, 0x1f, 0x21, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0xa8, 0x28, 0x48, 0x88, 0x30,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x3c, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x49,
-+ 0x11, 0x1f, 0x21, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x08, 0x48, 0x48, 0x48, 0x48, 0x48, 0x08, 0x18,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x09, 0x0f, 0x11, 0x3f, 0x01, 0x09, 0x28,
-+ 0x3e, 0x28, 0x4f, 0x79, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0xf8, 0x00, 0x20, 0xa0,
-+ 0xf8, 0xa0, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x2b, 0x28, 0x3d, 0x29, 0x29, 0x48,
-+ 0x0f, 0x7a, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x08, 0xe8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2c, 0x49, 0x14, 0x22, 0x3f, 0x29,
-+ 0x4f, 0x11, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x20, 0xa8, 0xb0, 0x20, 0x50, 0x88, 0xfc, 0x08,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x29, 0x2b, 0x3e, 0x2b, 0x2b, 0x49,
-+ 0x0d, 0x79, 0x09, 0x09, 0x09, 0x0e, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0xf8, 0xb8, 0x18, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x08, 0x0b, 0x28, 0x29, 0x3f, 0x29, 0x28, 0x4b,
-+ 0x0d, 0x7a, 0x0b, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x90, 0xfc, 0x40, 0xf8, 0xfc, 0xe8, 0xa4, 0xfc,
-+ 0xe8, 0xa8, 0xd8, 0xd4, 0x6c, 0xc4, 0x00, 0x00,
-+ 0x04, 0x44, 0x28, 0x10, 0x37, 0x48, 0x08, 0x18,
-+ 0x28, 0x49, 0x09, 0x0a, 0x34, 0x18, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0xfc, 0xc0, 0xc0, 0xc0,
-+ 0xc0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x04, 0x44, 0x28, 0x10, 0x37, 0x48, 0x08, 0x18,
-+ 0x28, 0x49, 0x0a, 0x0c, 0x30, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x60, 0x60, 0xa0,
-+ 0xa0, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x47, 0x28, 0x10, 0x30, 0x48, 0x0b, 0x18,
-+ 0x28, 0x48, 0x08, 0x08, 0x3f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x48, 0x30, 0x13, 0x32, 0x4a, 0x0a, 0x1b,
-+ 0x2a, 0x48, 0x08, 0x08, 0x30, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x48, 0x30, 0x11, 0x31, 0x49, 0x0a, 0x1a,
-+ 0x28, 0x48, 0x08, 0x09, 0x32, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x48, 0x48, 0x50, 0x60, 0x40, 0x60,
-+ 0x60, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x12, 0x33, 0x4a, 0x0a, 0x1b,
-+ 0x2a, 0x48, 0x08, 0x08, 0x30, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x44, 0x2b, 0x10, 0x30, 0x4b, 0x0a, 0x1a,
-+ 0x2b, 0x4a, 0x08, 0x09, 0x32, 0x14, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xa0,
-+ 0xfc, 0xa4, 0xa4, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x48, 0x31, 0x11, 0x33, 0x4c, 0x08, 0x19,
-+ 0x2f, 0x4a, 0x0a, 0x0a, 0x33, 0x12, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0x20, 0xc0, 0xc0, 0x30,
-+ 0xfc, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x45, 0x29, 0x11, 0x31, 0x49, 0x09, 0x19,
-+ 0x29, 0x49, 0x09, 0x09, 0x31, 0x17, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf4,
-+ 0x44, 0x28, 0x30, 0x10, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0x37, 0x11, 0x31, 0x4b, 0x0d, 0x18,
-+ 0x28, 0x48, 0x08, 0x09, 0x32, 0x1c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x08, 0x14, 0x14, 0xa0,
-+ 0xa0, 0x40, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x48, 0x30, 0x17, 0x31, 0x49, 0x09, 0x1a,
-+ 0x2c, 0x48, 0x08, 0x09, 0x32, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x50, 0x50, 0x50, 0xe8,
-+ 0x44, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x12, 0x33, 0x48, 0x0b, 0x1a,
-+ 0x2b, 0x4a, 0x0b, 0x0a, 0x32, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x15, 0x16, 0x34, 0x57, 0x14,
-+ 0x14, 0x17, 0x14, 0x14, 0x11, 0x16, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x90, 0x60, 0xe0, 0x1c, 0x50,
-+ 0x48, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x04, 0x44, 0x2b, 0x10, 0x30, 0x49, 0x0f, 0x18,
-+ 0x29, 0x49, 0x09, 0x09, 0x30, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xa0, 0x10, 0xfc, 0x08,
-+ 0xe8, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x12, 0x33, 0x4a, 0x0a, 0x1b,
-+ 0x28, 0x48, 0x08, 0x09, 0x32, 0x14, 0x00, 0x00,
-+ 0x80, 0x38, 0x08, 0x08, 0xb8, 0x08, 0x08, 0xf8,
-+ 0xa0, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x4f, 0x30, 0x13, 0x30, 0x4f, 0x08, 0x1b,
-+ 0x2a, 0x4a, 0x0b, 0x0a, 0x32, 0x12, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x49, 0x31, 0x11, 0x31, 0x49, 0x09, 0x18,
-+ 0x2b, 0x4a, 0x0b, 0x0a, 0x33, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x48, 0x37, 0x11, 0x31, 0x4a, 0x0c, 0x18,
-+ 0x2f, 0x48, 0x08, 0x08, 0x30, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x10, 0xa8, 0x44, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x09, 0x49, 0x31, 0x12, 0x33, 0x4e, 0x0a, 0x1a,
-+ 0x2b, 0x4b, 0x0a, 0x0a, 0x32, 0x13, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xfc, 0x80, 0xf8, 0xa0,
-+ 0x20, 0xfc, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x4a, 0x32, 0x13, 0x30, 0x4f, 0x08, 0x1b,
-+ 0x2a, 0x4a, 0x0a, 0x0a, 0x32, 0x12, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x40, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x13, 0x32, 0x4b, 0x09, 0x19,
-+ 0x2a, 0x4d, 0x08, 0x08, 0x3f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x40, 0xf8,
-+ 0x40, 0xf0, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x13, 0x32, 0x4b, 0x08, 0x1f,
-+ 0x29, 0x49, 0x09, 0x09, 0x31, 0x16, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00, 0xfc,
-+ 0x48, 0x28, 0x30, 0x10, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x12, 0x32, 0x4f, 0x0c, 0x1b,
-+ 0x2a, 0x4b, 0x0a, 0x0b, 0x32, 0x12, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x90, 0xfc, 0x08, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x24, 0x24, 0x3f, 0x25, 0x04, 0x7f, 0x25, 0x24,
-+ 0x45, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0xf8, 0x50, 0x20, 0xd0, 0xfc, 0x10, 0xb0,
-+ 0x20, 0x10, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x09, 0x4f, 0x31, 0x13, 0x32, 0x4b, 0x0a, 0x1b,
-+ 0x28, 0x4f, 0x08, 0x08, 0x31, 0x16, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2e, 0x2c, 0x3f, 0x04, 0x3f,
-+ 0x04, 0x07, 0x78, 0x15, 0x2a, 0x40, 0x00, 0x00,
-+ 0x10, 0x98, 0x94, 0x94, 0x90, 0xfc, 0x10, 0x90,
-+ 0x10, 0x90, 0x28, 0x28, 0xc4, 0x84, 0x00, 0x00,
-+ 0x10, 0x57, 0x36, 0x25, 0x35, 0x57, 0x15, 0x17,
-+ 0x37, 0x37, 0x57, 0x19, 0x1a, 0x34, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0x50, 0x90, 0xfc, 0x34, 0x58,
-+ 0x58, 0xd0, 0x30, 0x28, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x48, 0x31, 0x16, 0x33, 0x4b, 0x0a, 0x1b,
-+ 0x29, 0x49, 0x09, 0x09, 0x31, 0x11, 0x00, 0x00,
-+ 0x40, 0xa0, 0xf0, 0x0c, 0xf8, 0x58, 0xe8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x13, 0x31, 0x49, 0x0a, 0x1f,
-+ 0x2a, 0x4b, 0x08, 0x08, 0x37, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x00, 0xf8, 0x88, 0xe8,
-+ 0xa8, 0xe8, 0xa8, 0xf8, 0x18, 0x30, 0x00, 0x00,
-+ 0x08, 0x4b, 0x32, 0x16, 0x32, 0x4c, 0x0b, 0x1a,
-+ 0x2b, 0x48, 0x0f, 0x08, 0x30, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xa8, 0x94, 0x70, 0xf8, 0xa8,
-+ 0xf8, 0x00, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x77, 0x55, 0x77, 0x3f, 0x25, 0x3f, 0x25, 0x3f,
-+ 0x7f, 0x00, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0x24, 0x20, 0xfc, 0x20, 0x20,
-+ 0xa0, 0x30, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x0a, 0x4c, 0x32, 0x13, 0x32, 0x4b, 0x0b, 0x1b,
-+ 0x2a, 0x4b, 0x0a, 0x0a, 0x33, 0x16, 0x00, 0x00,
-+ 0x48, 0x90, 0x48, 0xf8, 0xe8, 0xa8, 0xf8, 0x68,
-+ 0xd8, 0x68, 0xd8, 0x4c, 0x6c, 0x44, 0x00, 0x00,
-+ 0x04, 0x07, 0x3f, 0x2d, 0x37, 0x3f, 0x2f, 0x29,
-+ 0x2f, 0x3f, 0x36, 0x3f, 0x32, 0x52, 0x00, 0x00,
-+ 0x20, 0xa8, 0xa4, 0x24, 0x20, 0xfc, 0x20, 0x20,
-+ 0x30, 0xb0, 0xd0, 0xc8, 0x88, 0x84, 0x00, 0x00,
-+ 0x12, 0x52, 0x2f, 0x22, 0x3f, 0x5a, 0x1a, 0x3f,
-+ 0x32, 0x57, 0x16, 0x1a, 0x12, 0x62, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0x48, 0xf8, 0xc8, 0xf8, 0xc8,
-+ 0x78, 0x48, 0xf8, 0x30, 0x48, 0x88, 0x00, 0x00,
-+ 0x02, 0x02, 0x7a, 0x12, 0x1f, 0x12, 0x7a, 0x12,
-+ 0x12, 0x12, 0x1c, 0x64, 0x08, 0x13, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x38, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x7d, 0x12, 0x12, 0x17, 0x7a, 0x12,
-+ 0x12, 0x12, 0x1a, 0x62, 0x02, 0x02, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0x24, 0x3c, 0xe0, 0x20, 0x20,
-+ 0x20, 0x10, 0x14, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x7d, 0x11, 0x12, 0x14, 0x7c, 0x11,
-+ 0x11, 0x11, 0x1a, 0x64, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0xfc, 0x48, 0x50, 0x40, 0x60,
-+ 0x50, 0x48, 0x44, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x12, 0x12, 0x12, 0x7f, 0x12,
-+ 0x12, 0x12, 0x1a, 0x64, 0x05, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x50, 0x40, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x11, 0x11, 0x11, 0x7d, 0x11,
-+ 0x11, 0x11, 0x1d, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x07, 0x7d, 0x11, 0x11, 0x11, 0x7d, 0x11,
-+ 0x11, 0x11, 0x19, 0x67, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x07, 0x7c, 0x17, 0x14, 0x14, 0x7f, 0x16,
-+ 0x16, 0x16, 0x1e, 0x66, 0x08, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x90, 0x90, 0xf0, 0xb0,
-+ 0xb0, 0xb0, 0xb4, 0xec, 0x8c, 0x84, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x11, 0x13, 0x14, 0x7c, 0x11,
-+ 0x17, 0x12, 0x1a, 0x62, 0x03, 0x02, 0x00, 0x00,
-+ 0x80, 0x80, 0xf0, 0x10, 0x20, 0xc0, 0xc0, 0x30,
-+ 0xfc, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x07, 0x7c, 0x13, 0x12, 0x12, 0x7f, 0x10,
-+ 0x13, 0x12, 0x1f, 0x62, 0x03, 0x02, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xb8, 0xa8, 0xa8, 0xb8, 0xa0,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x7d, 0x11, 0x11, 0x11, 0x7d, 0x11,
-+ 0x11, 0x11, 0x1d, 0x61, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0x08, 0xf8,
-+ 0x24, 0x24, 0x18, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x14, 0x17, 0x14, 0x7c, 0x17,
-+ 0x14, 0x15, 0x1c, 0x65, 0x06, 0x18, 0x00, 0x00,
-+ 0x00, 0x38, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xe8,
-+ 0x64, 0xa4, 0xa4, 0x78, 0x60, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x13, 0x12, 0x12, 0x7f, 0x12,
-+ 0x12, 0x12, 0x1c, 0x64, 0x09, 0x12, 0x00, 0x00,
-+ 0x40, 0x78, 0x40, 0xfc, 0x48, 0x78, 0xc8, 0x38,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x03, 0x7c, 0x10, 0x11, 0x10, 0x7c, 0x17,
-+ 0x10, 0x11, 0x1d, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0xf0, 0x90, 0x90, 0xfc,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x17, 0x10, 0x10, 0x7f, 0x10,
-+ 0x10, 0x11, 0x1f, 0x61, 0x02, 0x04, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xbc, 0xa0, 0xa0, 0xbc, 0xa0,
-+ 0xa0, 0xbc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x02, 0x01, 0x7d, 0x14, 0x12, 0x12, 0x7d, 0x11,
-+ 0x11, 0x12, 0x1e, 0x64, 0x05, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x30, 0x48, 0x78, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x07, 0x7c, 0x14, 0x17, 0x14, 0x7c, 0x17,
-+ 0x14, 0x14, 0x1f, 0x64, 0x04, 0x04, 0x00, 0x00,
-+ 0x00, 0xb8, 0x88, 0x88, 0xb8, 0x88, 0x00, 0xf8,
-+ 0x48, 0x28, 0xb0, 0x10, 0x28, 0xc4, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x17, 0x10, 0x13, 0x7e, 0x13,
-+ 0x12, 0x13, 0x18, 0x67, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7e, 0x08, 0x3e, 0x08, 0x7e, 0x02, 0x01,
-+ 0x05, 0x14, 0x14, 0x25, 0x46, 0x1b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x20, 0x20,
-+ 0x50, 0x48, 0x84, 0x14, 0x10, 0xf0, 0x00, 0x00,
-+ 0x02, 0x02, 0x7c, 0x12, 0x12, 0x10, 0x7f, 0x12,
-+ 0x13, 0x12, 0x1a, 0x63, 0x03, 0x02, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0x48, 0x48, 0x80, 0xf8, 0x28,
-+ 0xa8, 0x48, 0xa8, 0x18, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x12, 0x12, 0x12, 0x7d, 0x11,
-+ 0x11, 0x11, 0x1d, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0x08, 0xe8, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x00, 0x7c, 0x11, 0x13, 0x14, 0x7f, 0x14,
-+ 0x16, 0x15, 0x1e, 0x65, 0x04, 0x05, 0x00, 0x00,
-+ 0xc0, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x08, 0x0a, 0x2a, 0x2c, 0x55, 0x22, 0x3f, 0x20,
-+ 0x7f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x28, 0xa8, 0xb0, 0x50, 0x88, 0xfc, 0x08,
-+ 0xf8, 0x00, 0xf0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x12, 0x13, 0x12, 0x7e, 0x13,
-+ 0x10, 0x10, 0x1d, 0x61, 0x02, 0x0c, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xd0, 0xd0, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x01, 0x7d, 0x12, 0x17, 0x12, 0x7f, 0x12,
-+ 0x13, 0x12, 0x1b, 0x60, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x44, 0xfc, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0xb0, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x13, 0x12, 0x13, 0x7e, 0x13,
-+ 0x12, 0x10, 0x1e, 0x65, 0x09, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x24, 0x94, 0x54, 0x44, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0x03, 0x7e, 0x11, 0x11, 0x10, 0x7f, 0x10,
-+ 0x17, 0x12, 0x1e, 0x62, 0x03, 0x02, 0x00, 0x00,
-+ 0x38, 0xc8, 0x48, 0x50, 0x20, 0x40, 0xf8, 0x40,
-+ 0xfc, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x07, 0x7d, 0x11, 0x13, 0x12, 0x7f, 0x10,
-+ 0x13, 0x10, 0x1d, 0x60, 0x07, 0x00, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xf0, 0xf8, 0x48, 0xf8, 0x40,
-+ 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x7d, 0x10, 0x17, 0x11, 0x7d, 0x11,
-+ 0x11, 0x15, 0x18, 0x67, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x02, 0x7d, 0x17, 0x11, 0x10, 0x7f, 0x10,
-+ 0x11, 0x10, 0x1f, 0x60, 0x01, 0x06, 0x00, 0x00,
-+ 0xa0, 0xa8, 0xb0, 0xfc, 0x10, 0xa0, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xfc, 0x60, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3e, 0x21, 0x3e, 0x53, 0x1e,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x00, 0xf0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x7e, 0x13, 0x12, 0x13, 0x7d, 0x11,
-+ 0x11, 0x15, 0x19, 0x67, 0x00, 0x07, 0x00, 0x00,
-+ 0x80, 0xf0, 0x20, 0xf8, 0xa8, 0xf8, 0x10, 0xf0,
-+ 0xf0, 0x10, 0xf8, 0x10, 0xe0, 0x1c, 0x00, 0x00,
-+ 0x01, 0x07, 0x7a, 0x12, 0x17, 0x10, 0x7f, 0x14,
-+ 0x17, 0x14, 0x1f, 0x64, 0x04, 0x05, 0x00, 0x00,
-+ 0x20, 0xfc, 0xa0, 0xb8, 0xc8, 0x38, 0xa0, 0xb8,
-+ 0xa0, 0xb8, 0xa0, 0xb8, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x00, 0x07, 0x7c, 0x17, 0x17, 0x14, 0x7f, 0x13,
-+ 0x14, 0x17, 0x18, 0x61, 0x00, 0x07, 0x00, 0x00,
-+ 0x00, 0xbc, 0xa4, 0xbc, 0xbc, 0xa4, 0xbc, 0x28,
-+ 0xc4, 0xfc, 0x90, 0xd0, 0x78, 0x84, 0x00, 0x00,
-+ 0x00, 0x04, 0x7a, 0x12, 0x10, 0x10, 0x7f, 0x11,
-+ 0x11, 0x13, 0x1c, 0x60, 0x01, 0x0e, 0x00, 0x00,
-+ 0x84, 0x44, 0x48, 0x10, 0x80, 0x80, 0xfc, 0x10,
-+ 0x10, 0xa0, 0x60, 0x50, 0x88, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x19, 0x25, 0x5f, 0x01, 0x7f,
-+ 0x11, 0x1d, 0x25, 0x06, 0x06, 0x1d, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x50, 0x70, 0x58, 0x78, 0xc4, 0x00, 0x00,
-+ 0x10, 0x10, 0x7f, 0x2b, 0x2b, 0x2b, 0x7f, 0x13,
-+ 0x1f, 0x73, 0x15, 0x15, 0x2f, 0x48, 0x00, 0x00,
-+ 0x50, 0x90, 0xfc, 0xa8, 0xa8, 0xa8, 0xfc, 0x90,
-+ 0x90, 0x7c, 0xd0, 0xd0, 0x30, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x1e, 0x13, 0x12, 0x1a,
-+ 0x16, 0x16, 0x12, 0x16, 0x1a, 0x61, 0x00, 0x00,
-+ 0x20, 0xa0, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x1e, 0x12, 0x1b, 0x16,
-+ 0x16, 0x12, 0x12, 0x16, 0x1a, 0x61, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x24, 0x04, 0xfc, 0x00, 0x00,
-+ 0x07, 0x04, 0x19, 0x61, 0x02, 0x1f, 0x00, 0x7f,
-+ 0x04, 0x07, 0x05, 0x08, 0x0f, 0x70, 0x00, 0x00,
-+ 0xc0, 0x40, 0x30, 0x8c, 0x60, 0x90, 0x00, 0xfc,
-+ 0x00, 0xe0, 0x20, 0xa4, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x10, 0x1e, 0x12, 0x1a, 0x16,
-+ 0x16, 0x12, 0x12, 0x16, 0x1a, 0x61, 0x00, 0x00,
-+ 0x20, 0x2c, 0xf0, 0x20, 0xa8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0x20, 0x28, 0x1c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x1e, 0x13, 0x1a, 0x16,
-+ 0x16, 0x12, 0x13, 0x16, 0x1a, 0x61, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x48, 0x88, 0xfc, 0x48, 0x48,
-+ 0x48, 0x88, 0x30, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x10, 0x1e, 0x13, 0x1a, 0x16,
-+ 0x17, 0x12, 0x12, 0x16, 0x1a, 0x61, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x78, 0xc0, 0x40, 0x7c,
-+ 0xc0, 0x40, 0x44, 0x3c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x10, 0x1e, 0x12, 0x1a, 0x16,
-+ 0x16, 0x12, 0x12, 0x16, 0x1a, 0x61, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0x88, 0xf8, 0x88, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x01, 0x79, 0x02, 0x1c, 0x61, 0x06, 0x7f,
-+ 0x08, 0x0f, 0x0a, 0x11, 0x1f, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0xd0, 0x20, 0x18, 0xfc,
-+ 0x00, 0xe0, 0x20, 0x24, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x14, 0x7f, 0x55, 0x55, 0x7f, 0x49,
-+ 0x08, 0x7f, 0x08, 0x08, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x78, 0x48, 0x68, 0x58,
-+ 0x58, 0x48, 0x48, 0x5c, 0x6c, 0x84, 0x00, 0x00,
-+ 0x02, 0x3c, 0x08, 0x7e, 0x1d, 0x2a, 0x48, 0x7f,
-+ 0x04, 0x07, 0x05, 0x08, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0x50, 0x48, 0x84, 0xfc,
-+ 0x00, 0xe0, 0x20, 0xa4, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x21, 0x21, 0x3d, 0x25, 0x35, 0x2d,
-+ 0x2d, 0x26, 0x26, 0x2d, 0x34, 0x63, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x40, 0x5e, 0x52, 0x5e, 0x40, 0x7f,
-+ 0x6d, 0x6d, 0x7f, 0x40, 0x7f, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x78, 0x48, 0x68, 0x58,
-+ 0x58, 0x48, 0x4c, 0x5c, 0x64, 0x84, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x0a,
-+ 0x7f, 0x04, 0x7f, 0x24, 0x14, 0x0d, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x78, 0x48, 0x68, 0x58,
-+ 0x58, 0x48, 0x4c, 0x5c, 0x64, 0x84, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x12, 0x1f, 0x3f, 0x20,
-+ 0x5f, 0x04, 0x3f, 0x09, 0x0f, 0x70, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x90, 0xf0, 0xfc, 0x08,
-+ 0xf0, 0x00, 0xe0, 0x24, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x01, 0x7f, 0x08, 0x32, 0x0d, 0x0a, 0x7e, 0x04,
-+ 0x08, 0x3f, 0x04, 0x3f, 0x09, 0x7e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0xfc, 0x90, 0xf8, 0xf8, 0x90,
-+ 0xfc, 0xf8, 0x00, 0xe4, 0x24, 0x9c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3f, 0x20, 0x3e, 0x52, 0x1e,
-+ 0x7f, 0x04, 0x07, 0x09, 0x0f, 0x78, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x00, 0xe0, 0x24, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x08,
-+ 0x7f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xfc, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x3e, 0x2a, 0x3f, 0x2b, 0x3e,
-+ 0x6a, 0x28, 0x11, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xfc, 0x20, 0x20, 0xf8,
-+ 0x20, 0x20, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x03, 0x01, 0x3f, 0x21, 0x3f,
-+ 0x21, 0x21, 0x3f, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x60, 0x80, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0x08, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x11, 0x1f, 0x00,
-+ 0x7f, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x00,
-+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x21, 0x11, 0x10, 0x00, 0x3f, 0x21, 0x21,
-+ 0x3f, 0x21, 0x21, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x10, 0x20, 0x40, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x54, 0x54, 0x55, 0x7e, 0x54,
-+ 0x54, 0x54, 0x7d, 0x45, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xa8, 0xa4,
-+ 0xa0, 0xa0, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x57, 0x54, 0x54, 0x7c, 0x54,
-+ 0x57, 0x54, 0x7d, 0x45, 0x02, 0x04, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0xfc, 0x90, 0x90, 0x90, 0x90,
-+ 0xfc, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x57, 0x54, 0x54, 0x7c, 0x57,
-+ 0x54, 0x54, 0x7c, 0x45, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x54, 0x55, 0x56, 0x7c, 0x57,
-+ 0x54, 0x54, 0x7f, 0x44, 0x00, 0x07, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0x28, 0xc4, 0x10,
-+ 0x20, 0xc8, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x00, 0x3e, 0x2a, 0x2a,
-+ 0x3e, 0x2a, 0x2a, 0x2a, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x30, 0x48, 0x48, 0x7c, 0x84, 0x04, 0x00, 0x00,
-+ 0x02, 0x02, 0x04, 0x3f, 0x01, 0x7f, 0x04, 0x18,
-+ 0x7f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xc0, 0x70, 0x88, 0x00, 0xfc, 0x40, 0x30,
-+ 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x57, 0x54, 0x54, 0x7d, 0x55,
-+ 0x57, 0x55, 0x7d, 0x45, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xc0, 0xc8, 0x48, 0x50,
-+ 0x20, 0x20, 0x10, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x54, 0x54, 0x57, 0x7c, 0x54,
-+ 0x57, 0x55, 0x7c, 0x44, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x10, 0x10,
-+ 0xfc, 0x10, 0x90, 0x90, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x02, 0x07,
-+ 0x3c, 0x03, 0x7f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf0,
-+ 0x40, 0x80, 0xfc, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x1f, 0x7f, 0x01, 0x1f, 0x0f, 0x7f, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x1f, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0x10, 0xf0, 0xe0, 0xfc, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x55, 0x57, 0x54, 0x7c, 0x57,
-+ 0x54, 0x55, 0x7d, 0x46, 0x04, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x44, 0x40, 0xfc,
-+ 0x40, 0x50, 0x48, 0x44, 0x44, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x54, 0x54, 0x55, 0x7f, 0x54,
-+ 0x55, 0x55, 0x7d, 0x45, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xa0, 0x10, 0xfc, 0x08,
-+ 0xe8, 0x28, 0xe8, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x11, 0x09, 0x3f, 0x20, 0x4f, 0x08, 0x0f, 0x00,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x10, 0x20, 0xfc, 0x08, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x05, 0x05, 0x3d, 0x21, 0x3d, 0x27,
-+ 0x15, 0x3d, 0x15, 0x1d, 0x65, 0x1b, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xfc,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xfc, 0x00, 0x00,
-+ 0x00, 0x03, 0x7c, 0x55, 0x57, 0x55, 0x7c, 0x55,
-+ 0x57, 0x54, 0x7f, 0x46, 0x03, 0x02, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0xfc, 0xe8, 0x40, 0xf0,
-+ 0xfc, 0x08, 0xfc, 0xa8, 0x98, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x54, 0x55, 0x54, 0x7f, 0x54,
-+ 0x57, 0x55, 0x7d, 0x46, 0x04, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x90,
-+ 0xfc, 0x90, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x0f, 0x09, 0x0f, 0x0f, 0x3e, 0x2a, 0x3e, 0x3e,
-+ 0x3f, 0x3f, 0x4f, 0x0f, 0x08, 0x7f, 0x00, 0x00,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0xf8, 0xa8, 0xf8, 0xf8,
-+ 0xfc, 0xe8, 0xe0, 0xe0, 0x20, 0xfc, 0x00, 0x00,
-+ 0x0f, 0x09, 0x0f, 0x0f, 0x3e, 0x2a, 0x3e, 0x3f,
-+ 0x3f, 0x22, 0x47, 0x06, 0x09, 0x7f, 0x00, 0x00,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0xf8, 0xa8, 0xf8, 0xf8,
-+ 0xfc, 0x08, 0xe0, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x0f, 0x09, 0x0f, 0x0f, 0x38, 0x0e, 0x30, 0x3f,
-+ 0x2f, 0x4f, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0x38, 0xe0, 0x18, 0xfc,
-+ 0xe8, 0xe0, 0xe0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2f, 0x08, 0x18,
-+ 0x28, 0x48, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x00, 0x00, 0xfc, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x29, 0x09, 0x1a,
-+ 0x2c, 0x48, 0x10, 0x11, 0x26, 0x58, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0x80, 0xf0, 0x10, 0x20,
-+ 0x20, 0x40, 0xc0, 0x20, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2a, 0x0a, 0x1a,
-+ 0x2a, 0x4a, 0x12, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0x40, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x28, 0x09, 0x1b,
-+ 0x2d, 0x49, 0x11, 0x11, 0x22, 0x44, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0x40, 0xa0, 0x10, 0x28,
-+ 0x24, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2f, 0x08, 0x18,
-+ 0x28, 0x49, 0x11, 0x12, 0x24, 0x58, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x90, 0x88, 0xfc, 0x80, 0xc0,
-+ 0xc0, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x4a, 0x2a, 0x2f, 0x0a, 0x1a,
-+ 0x2a, 0x4a, 0x12, 0x12, 0x24, 0x49, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xb8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0x80, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x29, 0x2f, 0x09, 0x19,
-+ 0x29, 0x49, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0x10, 0xfc, 0x10, 0x10,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2f, 0x08, 0x18,
-+ 0x2b, 0x48, 0x10, 0x10, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0x40, 0xfc, 0x40, 0x90,
-+ 0x90, 0x60, 0x50, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x51, 0x31, 0x35, 0x15, 0x15,
-+ 0x35, 0x55, 0x15, 0x25, 0x27, 0x5c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x20, 0x20, 0x20, 0x24, 0xe8,
-+ 0x30, 0x20, 0x20, 0xe4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0a, 0x1b,
-+ 0x2a, 0x4b, 0x12, 0x12, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0a, 0x1b,
-+ 0x2a, 0x4a, 0x13, 0x10, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x29, 0x0e, 0x18,
-+ 0x2b, 0x4c, 0x10, 0x13, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf0, 0x10, 0xa0, 0xc0,
-+ 0x30, 0xcc, 0x20, 0x80, 0x60, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x29, 0x2b, 0x0c, 0x1b,
-+ 0x2a, 0x4b, 0x12, 0x12, 0x22, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0x00, 0xf8, 0x08, 0xc8,
-+ 0x48, 0xc8, 0x70, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x2f, 0x28, 0x0b, 0x18, 0x2b,
-+ 0x4a, 0x0f, 0x14, 0x10, 0x23, 0x4c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x40, 0xfc, 0x44, 0xb8, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x28, 0x29, 0x0f, 0x18,
-+ 0x28, 0x4b, 0x10, 0x10, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xc0, 0xa0, 0x10, 0xfc, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x28, 0x2f, 0x08, 0x1b,
-+ 0x28, 0x48, 0x1f, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xfc, 0x40, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2f, 0x2a, 0x0a, 0x1c,
-+ 0x2a, 0x4b, 0x10, 0x10, 0x2f, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xfc, 0x48, 0x48, 0x90,
-+ 0x48, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x28, 0x2f, 0x08, 0x1b,
-+ 0x28, 0x49, 0x15, 0x15, 0x29, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0x40, 0xfc, 0x40, 0xf8,
-+ 0x40, 0x20, 0x28, 0x04, 0x14, 0xf0, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2f, 0x28, 0x09, 0x1e,
-+ 0x28, 0x4b, 0x12, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xfc, 0x60, 0xd8, 0x44,
-+ 0x40, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x50, 0x37, 0x35, 0x16, 0x16,
-+ 0x35, 0x55, 0x15, 0x26, 0x24, 0x44, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xfc, 0x08, 0xe8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x4b, 0x28, 0x2f, 0x09, 0x1e,
-+ 0x28, 0x4f, 0x11, 0x13, 0x20, 0x47, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xf0, 0x40, 0xfc, 0xf0, 0x4c,
-+ 0xc0, 0xfc, 0x20, 0xe0, 0xd0, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x1f, 0x50, 0x37, 0x34, 0x17, 0x14,
-+ 0x35, 0x55, 0x15, 0x24, 0x27, 0x44, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xe8, 0x28, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2f, 0x29, 0x09, 0x1b,
-+ 0x2c, 0x48, 0x1f, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x40, 0xfc, 0x10, 0x10, 0x28,
-+ 0xc4, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2a, 0x2a, 0x0c, 0x19,
-+ 0x2e, 0x4a, 0x12, 0x14, 0x23, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x48, 0x48, 0x50, 0xb0, 0x4c,
-+ 0x48, 0x48, 0x50, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0b, 0x1a,
-+ 0x2b, 0x48, 0x11, 0x17, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x80, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xa0, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x29, 0x2f, 0x09, 0x1b,
-+ 0x2b, 0x4b, 0x13, 0x15, 0x29, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0x10, 0xfc, 0x10, 0xb8,
-+ 0xb8, 0xb8, 0xdc, 0x5c, 0x90, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x49, 0x29, 0x2f, 0x09, 0x1b,
-+ 0x2b, 0x4b, 0x15, 0x15, 0x29, 0x41, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x10, 0x10, 0xfc, 0x10, 0xb8,
-+ 0xb8, 0x78, 0x54, 0x94, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x50, 0x37, 0x34, 0x17, 0x17, 0x36,
-+ 0x56, 0x17, 0x14, 0x28, 0x2f, 0x50, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf0, 0x70, 0x90, 0xf0, 0xb0,
-+ 0xb0, 0xf0, 0xac, 0xfc, 0x14, 0x04, 0x00, 0x00,
-+ 0x00, 0x0f, 0x4b, 0x2a, 0x2b, 0x0a, 0x1b, 0x2f,
-+ 0x4a, 0x0b, 0x15, 0x19, 0x22, 0x45, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x4b, 0x29, 0x2b, 0x0c, 0x1f,
-+ 0x2e, 0x4d, 0x16, 0x15, 0x24, 0x45, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xc0, 0x20, 0xf0, 0x0c, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x2b, 0x2a, 0x0a, 0x1b, 0x2b,
-+ 0x48, 0x0b, 0x12, 0x12, 0x3f, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf0, 0x90, 0xd0, 0x30, 0xf0,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x28, 0x2b, 0x0a, 0x1b, 0x2a,
-+ 0x4a, 0x0a, 0x17, 0x14, 0x28, 0x50, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0x78, 0xfc, 0x78, 0xc8, 0x38,
-+ 0xf8, 0x80, 0xfc, 0x80, 0xf8, 0x80, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x2f, 0x28, 0x0f, 0x19, 0x2f,
-+ 0x49, 0x09, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0x5c, 0x40, 0xbc, 0x10, 0xfc,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x28, 0x29, 0x0f, 0x19, 0x29,
-+ 0x49, 0x09, 0x13, 0x13, 0x25, 0x49, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xa0, 0xf0, 0xfc, 0x10, 0xf0,
-+ 0xf0, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x51, 0x32, 0x37, 0x14, 0x16, 0x35,
-+ 0x5f, 0x16, 0x16, 0x26, 0x2a, 0x51, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0x38, 0xa8, 0xa8, 0xac, 0xc4,
-+ 0xf8, 0xa8, 0xa8, 0x90, 0xa8, 0xc4, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x4b, 0x2b, 0x2a, 0x0f, 0x18,
-+ 0x2b, 0x4a, 0x13, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0x78, 0x28, 0xa8, 0xd8, 0x80,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x2b, 0x28, 0x0f, 0x19, 0x29,
-+ 0x49, 0x09, 0x11, 0x17, 0x20, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0xa0, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x4b, 0x2a, 0x2b, 0x0a, 0x1b, 0x28,
-+ 0x4b, 0x08, 0x1f, 0x11, 0x26, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x90,
-+ 0x30, 0xc8, 0xfc, 0x58, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x0f, 0x48, 0x2b, 0x2f, 0x0b, 0x18, 0x2b,
-+ 0x4b, 0x08, 0x17, 0x11, 0x20, 0x47, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0xfc, 0xf8, 0x40, 0xf8,
-+ 0xf8, 0x40, 0xfc, 0x90, 0x70, 0x88, 0x00, 0x00,
-+ 0x00, 0x1f, 0x50, 0x37, 0x34, 0x17, 0x14, 0x37,
-+ 0x55, 0x15, 0x15, 0x25, 0x25, 0x45, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0xc8, 0xf8, 0xc8, 0xf8,
-+ 0xe8, 0x28, 0xe8, 0x28, 0xe8, 0x38, 0x00, 0x00,
-+ 0x00, 0x0f, 0x49, 0x2c, 0x2b, 0x0e, 0x1f, 0x29,
-+ 0x4f, 0x0c, 0x17, 0x11, 0x21, 0x46, 0x00, 0x00,
-+ 0x80, 0xfc, 0xd0, 0xd4, 0x24, 0x18, 0x74, 0x54,
-+ 0x9c, 0xf8, 0x48, 0x30, 0x30, 0xcc, 0x00, 0x00,
-+ 0x00, 0x0f, 0x49, 0x2d, 0x2d, 0x0a, 0x1c, 0x2f,
-+ 0x4c, 0x0f, 0x10, 0x11, 0x22, 0x4c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x54, 0xb4, 0x58, 0xa8, 0xc4, 0xfc,
-+ 0x88, 0xf8, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x50, 0x37, 0x34, 0x17, 0x16, 0x37,
-+ 0x56, 0x16, 0x1f, 0x2a, 0x32, 0x44, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0x68, 0xec, 0xac, 0xc4,
-+ 0xb8, 0xa8, 0xf0, 0x90, 0x68, 0x44, 0x00, 0x00,
-+ 0x00, 0x0f, 0x49, 0x2f, 0x2b, 0x0a, 0x1b, 0x2a,
-+ 0x4b, 0x0f, 0x14, 0x14, 0x27, 0x44, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0xfc, 0x54, 0x7c, 0x8c, 0x0c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x4a, 0x2a, 0x2b, 0x0a, 0x19, 0x2a,
-+ 0x4b, 0x0d, 0x1f, 0x13, 0x24, 0x48, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xfc, 0x28, 0x90, 0xfc, 0x14,
-+ 0xd8, 0x5c, 0xd0, 0x70, 0xd0, 0x8c, 0x00, 0x00,
-+ 0x00, 0x0f, 0x49, 0x2f, 0x28, 0x0b, 0x1f, 0x29,
-+ 0x4b, 0x0d, 0x11, 0x11, 0x21, 0x47, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0x40, 0xf8, 0xfc, 0x50,
-+ 0xf8, 0x14, 0xf0, 0xf8, 0x70, 0x88, 0x00, 0x00,
-+ 0x00, 0x0f, 0x4b, 0x28, 0x2f, 0x0f, 0x1b, 0x2b,
-+ 0x4e, 0x0b, 0x13, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x40, 0xfc, 0x58, 0x58, 0xf8,
-+ 0x20, 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x52, 0x3f, 0x32, 0x1f, 0x1a, 0x3a,
-+ 0x5f, 0x17, 0x16, 0x2a, 0x32, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0x28, 0xd8, 0xf8, 0xc8,
-+ 0xf8, 0x78, 0xc8, 0xf8, 0x28, 0xc4, 0x00, 0x00,
-+ 0x00, 0x1f, 0x51, 0x3e, 0x32, 0x12, 0x1f, 0x32,
-+ 0x57, 0x16, 0x1a, 0x32, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xf8, 0x70, 0xfc, 0xf8, 0x48,
-+ 0x78, 0xf8, 0xc8, 0x78, 0x28, 0xc4, 0x00, 0x00,
-+ 0x00, 0x1f, 0x50, 0x37, 0x37, 0x15, 0x17, 0x35,
-+ 0x57, 0x14, 0x15, 0x29, 0x2f, 0x50, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xfc, 0xb8, 0x10, 0xfc, 0x98,
-+ 0x74, 0x40, 0x78, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x52, 0x37, 0x39, 0x1f, 0x1a, 0x3f,
-+ 0x5a, 0x1f, 0x15, 0x2a, 0x2a, 0x50, 0x00, 0x00,
-+ 0x80, 0xfc, 0x48, 0xa8, 0x30, 0xfc, 0x90, 0xb8,
-+ 0x90, 0xfc, 0x90, 0xd0, 0xd0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x55, 0x3a, 0x35, 0x17, 0x14, 0x37,
-+ 0x5f, 0x1a, 0x1f, 0x28, 0x28, 0x47, 0x00, 0x00,
-+ 0x80, 0xfc, 0x68, 0xa8, 0x7c, 0xa8, 0xe8, 0xbc,
-+ 0xa8, 0xbc, 0xa8, 0x28, 0xbc, 0xa0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x54, 0x37, 0x34, 0x13, 0x1b, 0x3b,
-+ 0x5b, 0x1a, 0x1b, 0x2f, 0x22, 0x4c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0x7c, 0x90, 0xb8, 0xa8, 0xb8,
-+ 0xa8, 0xb8, 0xa8, 0xf8, 0x98, 0x64, 0x00, 0x00,
-+ 0x00, 0x00, 0x0f, 0x01, 0x22, 0x12, 0x0c, 0x08,
-+ 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x20, 0x20, 0xc8, 0x88, 0x50, 0x20,
-+ 0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x1e, 0x02, 0x24, 0x14, 0x08, 0x1f, 0x21, 0x41,
-+ 0x3f, 0x01, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x90, 0x90, 0x64, 0x44, 0x28, 0xf0, 0x08, 0x04,
-+ 0xf8, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x1e, 0x02, 0x24, 0x18, 0x1c, 0x64, 0x04, 0x3d,
-+ 0x23, 0x3c, 0x24, 0x04, 0x08, 0x33, 0x00, 0x00,
-+ 0x90, 0x94, 0x64, 0x28, 0xf8, 0xa4, 0xa8, 0x18,
-+ 0xf0, 0x90, 0xa0, 0x40, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x02, 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x20,
-+ 0x10, 0x11, 0x1e, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08,
-+ 0x30, 0xc0, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00,
-+ 0x01, 0x02, 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x24,
-+ 0x04, 0x04, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x88,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x11, 0x21, 0x79, 0x49, 0x49, 0x79, 0x49,
-+ 0x49, 0x4a, 0x7a, 0x44, 0x09, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x88, 0x88, 0x50,
-+ 0x50, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x01, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x01, 0x7f,
-+ 0x02, 0x05, 0x19, 0x6f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xfc,
-+ 0x80, 0x40, 0x30, 0xec, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x27, 0x79, 0x49, 0x4a, 0x7d, 0x49,
-+ 0x48, 0x48, 0x78, 0x48, 0x03, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0x08, 0x14, 0x14, 0x10,
-+ 0xa0, 0xa0, 0x40, 0xa0, 0x18, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x23, 0x7a, 0x4d, 0x48, 0x78, 0x4f,
-+ 0x48, 0x78, 0x48, 0x01, 0x06, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf0, 0x00, 0x00, 0xfc,
-+ 0xa0, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x11, 0x21, 0x79, 0x4a, 0x4c, 0x7f, 0x48,
-+ 0x49, 0x49, 0x79, 0x49, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x1c, 0x1a, 0x28, 0x4a, 0x0d,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x90, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x12, 0x22, 0x7b, 0x48, 0x4f, 0x78, 0x4b,
-+ 0x4a, 0x4b, 0x79, 0x48, 0x07, 0x00, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x00, 0xf8,
-+ 0x08, 0xf8, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x2a, 0x2c, 0x29, 0x3e, 0x32,
-+ 0x2a, 0x24, 0x24, 0x2a, 0x32, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x84, 0xf4, 0x94, 0x94,
-+ 0xf4, 0x98, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x7d, 0x14, 0x15, 0x2b, 0x48,
-+ 0x1e, 0x32, 0x4c, 0x0d, 0x13, 0x62, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0xa8, 0xb0, 0xa0, 0xf8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x7f, 0x08, 0x3e, 0x2a, 0x3e,
-+ 0x2a, 0x3e, 0x08, 0x7f, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0xa8, 0xb0, 0xa0, 0xf8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x2b, 0x2c, 0x28, 0x3e, 0x32,
-+ 0x2a, 0x24, 0x24, 0x2b, 0x32, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xfc, 0x20, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x1e, 0x2a, 0x6e, 0x3e, 0x2a, 0x14, 0x1e,
-+ 0x2a, 0x6e, 0x3e, 0x2a, 0x12, 0x25, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0xa8, 0xb0, 0xa0, 0xf8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x01, 0x7f, 0x01, 0x01, 0x03,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x02, 0x04, 0x3f, 0x00,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x40, 0x70, 0x88, 0x00,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x1f, 0x60, 0x0f, 0x08, 0x0f,
-+ 0x00, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xe0, 0x20, 0xe0,
-+ 0x00, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x7f, 0x01, 0x01, 0x1e, 0x02, 0x7f, 0x01,
-+ 0x1e, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x20, 0xfc, 0x60, 0xc4, 0xb4, 0xec, 0x20, 0xc4,
-+ 0x34, 0xfc, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x1f, 0x01, 0x7f, 0x14,
-+ 0x22, 0x5f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0xf0, 0x00, 0xfc, 0x90,
-+ 0x48, 0xf4, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x09, 0x31, 0x27, 0x3b, 0x23, 0x3d, 0x29, 0x23,
-+ 0x1f, 0x12, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xb8, 0x88, 0x78, 0x28, 0x08,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x11, 0x1f, 0x10, 0x17, 0x14,
-+ 0x17, 0x14, 0x17, 0x2f, 0x29, 0x5f, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0xe8, 0x10, 0xf0, 0xf0, 0x90,
-+ 0xf0, 0x90, 0xf0, 0xf8, 0x48, 0xfc, 0x00, 0x00,
-+ 0x11, 0x09, 0x41, 0x21, 0x0f, 0x11, 0x13, 0x24,
-+ 0x21, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0xfc, 0x00, 0xfc, 0xa4,
-+ 0x58, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x23, 0x13, 0x43, 0x2f, 0x13,
-+ 0x2d, 0x42, 0x1f, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0xd0, 0xf0, 0xfc, 0xf8,
-+ 0x48, 0xb0, 0xf0, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x01, 0x79, 0x4a, 0x4c, 0x7b, 0x48, 0x48,
-+ 0x79, 0x49, 0x48, 0x78, 0x48, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0x10, 0x08, 0xf4, 0x80, 0xf0,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4b, 0x4a, 0x7a, 0x48, 0x48,
-+ 0x78, 0x48, 0x49, 0x7a, 0x4c, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x48, 0x40, 0x60, 0x60,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x49, 0x79, 0x4a, 0x4a,
-+ 0x7c, 0x48, 0x48, 0x78, 0x49, 0x0e, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x50, 0x48, 0x44, 0x4c, 0x48,
-+ 0x50, 0xd0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x4a, 0x4a, 0x7a, 0x4a, 0x4a,
-+ 0x7b, 0x4a, 0x4a, 0x78, 0x48, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x78, 0x48, 0x48, 0x48,
-+ 0xf8, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4f, 0x48, 0x7a, 0x49, 0x48,
-+ 0x78, 0x48, 0x48, 0x79, 0x4f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x50, 0x90, 0xa0,
-+ 0x60, 0x60, 0x90, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4b, 0x7a, 0x4a, 0x4a,
-+ 0x7a, 0x4a, 0x4a, 0x7c, 0x4c, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x88, 0x80, 0x88,
-+ 0xb0, 0xc0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x11, 0x1e, 0x0f, 0x27, 0x24, 0x27, 0x24,
-+ 0x27, 0x24, 0x27, 0x3f, 0x0c, 0x70, 0x00, 0x00,
-+ 0x30, 0xc0, 0x08, 0xf8, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x17, 0x78, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x48, 0x70, 0x44, 0x44, 0x3c, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4a, 0x4a, 0x7a, 0x4a, 0x4a,
-+ 0x7a, 0x4a, 0x4a, 0x7a, 0x4b, 0x0c, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0x90, 0x94, 0xf8, 0x90, 0x90,
-+ 0x90, 0x90, 0xb0, 0xd4, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4b, 0x48, 0x78, 0x4f, 0x48,
-+ 0x78, 0x49, 0x4a, 0x7c, 0x48, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x09, 0x0f, 0x12, 0x7f, 0x08, 0x1f, 0x68,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x20, 0xf0, 0x90, 0xfc, 0x20, 0xf0, 0x2c,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x4f, 0x49, 0x79, 0x4b, 0x4c,
-+ 0x78, 0x4f, 0x48, 0x78, 0x48, 0x00, 0x00, 0x00,
-+ 0x40, 0x60, 0x90, 0xe8, 0x48, 0x40, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x00, 0x78, 0x4b, 0x48, 0x7b, 0x4a, 0x4b,
-+ 0x7a, 0x48, 0x49, 0x7a, 0x4c, 0x00, 0x00, 0x00,
-+ 0x10, 0x90, 0xa0, 0xf8, 0x48, 0xf8, 0x40, 0xfc,
-+ 0xc4, 0xc4, 0x44, 0x58, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4a, 0x4a, 0x7a, 0x4b, 0x4a,
-+ 0x7a, 0x4a, 0x4a, 0x7c, 0x4f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x4a, 0x7a, 0x4b, 0x4a,
-+ 0x78, 0x48, 0x49, 0x79, 0x4a, 0x0c, 0x00, 0x00,
-+ 0x80, 0x38, 0x08, 0xb8, 0x08, 0x08, 0xf8, 0xa8,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x07, 0x78, 0x4b, 0x48, 0x7f, 0x48, 0x4b,
-+ 0x78, 0x4a, 0x4a, 0x7b, 0x4c, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x48, 0x40, 0x7c, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x7b, 0x48, 0x49, 0x78, 0x4f, 0x48, 0x7b,
-+ 0x4a, 0x4a, 0x7b, 0x4a, 0x02, 0x02, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x4a, 0x4b, 0x7a, 0x4b, 0x4a,
-+ 0x78, 0x49, 0x4f, 0x78, 0x48, 0x00, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x88,
-+ 0xa0, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x2f, 0x49, 0x12, 0x04, 0x1f,
-+ 0x68, 0x0f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0xfc, 0xe8, 0x20, 0x90, 0x40, 0xf0,
-+ 0x2c, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x3f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x04, 0x3f, 0x01, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x40, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x7b, 0x48, 0x48, 0x7f, 0x48, 0x48,
-+ 0x79, 0x4f, 0x49, 0x79, 0x49, 0x01, 0x00, 0x00,
-+ 0x80, 0x88, 0xf8, 0x90, 0xa0, 0xfc, 0x50, 0x88,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4d, 0x48, 0x7b, 0x48, 0x4f,
-+ 0x78, 0x4b, 0x4a, 0x7a, 0x4b, 0x02, 0x00, 0x00,
-+ 0x40, 0xfc, 0x58, 0xe0, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x40, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x79, 0x49, 0x4a, 0x7a, 0x4a, 0x4a, 0x7a,
-+ 0x4a, 0x4a, 0x7a, 0x4b, 0x01, 0x06, 0x00, 0x00,
-+ 0x08, 0x34, 0xc4, 0xfc, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0xfc, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4d, 0x49, 0x79, 0x49, 0x49,
-+ 0x78, 0x4f, 0x48, 0x78, 0x49, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x40, 0xfc, 0x00, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x7a, 0x49, 0x4b, 0x7a, 0x4d, 0x49, 0x79,
-+ 0x49, 0x48, 0x7b, 0x48, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x48, 0x50, 0xfc, 0x08, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x77, 0x51, 0x51, 0x70, 0x57, 0x54,
-+ 0x77, 0x55, 0x55, 0x76, 0x54, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xf0, 0x40, 0xfc, 0x44,
-+ 0x74, 0x54, 0x54, 0xec, 0x44, 0x4c, 0x00, 0x00,
-+ 0x00, 0x07, 0x72, 0x5f, 0x54, 0x74, 0x57, 0x54,
-+ 0x77, 0x54, 0x57, 0x7c, 0x50, 0x00, 0x00, 0x00,
-+ 0x20, 0xa0, 0x20, 0xe0, 0xbc, 0xe8, 0xa8, 0xa8,
-+ 0xa8, 0x90, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x4b, 0x4f, 0x7b, 0x4a, 0x4b,
-+ 0x7a, 0x4b, 0x4a, 0x7b, 0x49, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xf8, 0xfc, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x7a, 0x49, 0x4b, 0x7a, 0x4d, 0x4a,
-+ 0x78, 0x49, 0x4e, 0x78, 0x49, 0x0e, 0x00, 0x00,
-+ 0x18, 0xe4, 0x48, 0x30, 0xfc, 0x48, 0xa8, 0x94,
-+ 0xf0, 0xf8, 0x90, 0x60, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x3e, 0x22, 0x3e, 0x3e, 0x22, 0x3e, 0x08, 0x0f,
-+ 0x18, 0x2f, 0x4f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0xf8, 0x88, 0xf8, 0xf8, 0x88, 0xf8, 0x40, 0xf8,
-+ 0x80, 0xf0, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x49, 0x4b, 0x7c, 0x4b, 0x4a,
-+ 0x7a, 0x4b, 0x49, 0x79, 0x4a, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xb8, 0xa8,
-+ 0xa8, 0xb8, 0x10, 0x98, 0x64, 0x44, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x3e, 0x22, 0x3e, 0x17, 0x7f,
-+ 0x10, 0x1f, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x48, 0x30, 0xd8, 0xf4,
-+ 0x10, 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x4b, 0x4a, 0x7a, 0x4b, 0x4b,
-+ 0x7a, 0x4a, 0x4a, 0x7c, 0x4c, 0x08, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0xa8, 0x98, 0x70, 0xfc,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x07, 0x79, 0x4b, 0x4a, 0x7c, 0x4f, 0x48,
-+ 0x7f, 0x49, 0x4e, 0x79, 0x4e, 0x00, 0x00, 0x00,
-+ 0x10, 0xfc, 0x10, 0xfc, 0xe8, 0x00, 0xfc, 0xc8,
-+ 0x68, 0xf0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x3e, 0x22, 0x3e, 0x3e, 0x22, 0x3e, 0x0f, 0x1b,
-+ 0x6b, 0x0f, 0x3f, 0x04, 0x03, 0x7c, 0x00, 0x00,
-+ 0xf8, 0x88, 0xf8, 0xf8, 0x88, 0xf8, 0xf8, 0xe0,
-+ 0xe0, 0xf8, 0xe0, 0x40, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x07, 0x17, 0x17, 0x17, 0x1f, 0x7f,
-+ 0x1c, 0x5d, 0x5d, 0x5d, 0x7f, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xfc,
-+ 0x70, 0x70, 0x70, 0x70, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x07, 0x74, 0x57, 0x57, 0x77, 0x57, 0x56,
-+ 0x77, 0x55, 0x57, 0x79, 0x48, 0x17, 0x00, 0x00,
-+ 0x00, 0xfc, 0x04, 0xfc, 0x58, 0x58, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0xf4, 0xf4, 0x7c, 0x98, 0x00, 0x00,
-+ 0x00, 0x3f, 0x12, 0x0c, 0x04, 0x7f, 0x0d, 0x0e,
-+ 0x14, 0x14, 0x24, 0x44, 0x04, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xf4, 0x00, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x02, 0x04, 0x3f, 0x08, 0x0f, 0x11,
-+ 0x21, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x40, 0x30, 0xc8, 0x00, 0xf8, 0x00,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x1f, 0x28, 0x28, 0x49, 0x7e,
-+ 0x09, 0x0c, 0x12, 0x12, 0x20, 0x43, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20,
-+ 0xfc, 0x48, 0xc8, 0x30, 0x68, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x08, 0x08, 0x10, 0x1e, 0x32,
-+ 0x52, 0x12, 0x12, 0x1e, 0x13, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x7e, 0x12, 0x12, 0x13, 0x3e, 0x2a, 0x6a,
-+ 0x2a, 0x2a, 0x39, 0x28, 0x20, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xa8, 0x28, 0x28, 0x28, 0x28,
-+ 0xa8, 0xa8, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x11, 0x11, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x25, 0x21, 0x06, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x13, 0x12, 0x3a, 0x2b, 0x6a,
-+ 0x2a, 0x2a, 0x3a, 0x2c, 0x24, 0x0b, 0x00, 0x00,
-+ 0x20, 0xfc, 0x50, 0xfc, 0x50, 0x70, 0xfc, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x10, 0x10, 0x3c, 0x24, 0x64,
-+ 0x24, 0x24, 0x3c, 0x24, 0x23, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x13, 0x12, 0x3a, 0x2a, 0x6a,
-+ 0x2a, 0x2b, 0x3d, 0x25, 0x29, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x34, 0xfc, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x10, 0x10, 0x3f, 0x24, 0x64,
-+ 0x27, 0x24, 0x3c, 0x24, 0x27, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x10, 0x10, 0x3c, 0x25, 0x66,
-+ 0x24, 0x27, 0x3c, 0x24, 0x20, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x90, 0x90, 0x98, 0x64, 0x64,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x7c, 0x13, 0x10, 0x10, 0x3c, 0x24, 0x65,
-+ 0x27, 0x25, 0x3d, 0x25, 0x21, 0x01, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0x90, 0xa0, 0xa4, 0x28,
-+ 0x30, 0x20, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x42, 0x23, 0x0a, 0x12, 0x24, 0x2b,
-+ 0x7f, 0x04, 0x1f, 0x68, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xf8, 0x90, 0x60, 0xf0, 0x0c,
-+ 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x12, 0x12, 0x3b, 0x2a, 0x6a,
-+ 0x2b, 0x2a, 0x3a, 0x2c, 0x24, 0x09, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xa8, 0xa8, 0xb8, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0xa8, 0xc8, 0xc8, 0x98, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x11, 0x10, 0x3c, 0x27, 0x64,
-+ 0x25, 0x25, 0x3d, 0x25, 0x21, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0x90, 0xa0, 0xfc, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x11, 0x10, 0x3f, 0x26, 0x65,
-+ 0x25, 0x24, 0x3d, 0x26, 0x20, 0x00, 0x00, 0x00,
-+ 0x80, 0xf0, 0x10, 0xe0, 0x20, 0xfc, 0x68, 0x68,
-+ 0x50, 0xd0, 0x48, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x11, 0x3d, 0x24, 0x64,
-+ 0x25, 0x27, 0x3d, 0x25, 0x21, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x80, 0xf8,
-+ 0x48, 0x68, 0x98, 0xe8, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7e, 0x10, 0x10, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x24, 0x21, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x08, 0xf8, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7c, 0x13, 0x10, 0x10, 0x3c, 0x24, 0x64,
-+ 0x27, 0x25, 0x3d, 0x25, 0x21, 0x01, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x90,
-+ 0xfc, 0x50, 0x54, 0x8c, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x7a, 0x14, 0x12, 0x12, 0x38, 0x2b, 0x6a,
-+ 0x2b, 0x2a, 0x3a, 0x2b, 0x23, 0x02, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0x48, 0x48, 0x80, 0xf8, 0x28,
-+ 0xa8, 0x48, 0xa8, 0x18, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x10, 0x17, 0x3c, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x24, 0x27, 0x00, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x00, 0xfc, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x11, 0x3f, 0x26, 0x65,
-+ 0x25, 0x25, 0x3d, 0x25, 0x21, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x70, 0x50, 0xfc, 0x08, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x7c, 0x13, 0x10, 0x11, 0x3c, 0x27, 0x64,
-+ 0x24, 0x25, 0x3d, 0x26, 0x27, 0x00, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x80,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7d, 0x11, 0x12, 0x16, 0x39, 0x29, 0x6a,
-+ 0x2f, 0x28, 0x39, 0x2a, 0x24, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0xbc, 0xa8, 0xa8, 0xfc, 0x48, 0x48,
-+ 0xfc, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x7d, 0x11, 0x11, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x25, 0x3e, 0x22, 0x04, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x50, 0x50, 0xf8, 0x50,
-+ 0x50, 0xfc, 0xa8, 0x90, 0xe8, 0x84, 0x00, 0x00,
-+ 0x00, 0x7f, 0x11, 0x11, 0x11, 0x3d, 0x25, 0x65,
-+ 0x25, 0x24, 0x3f, 0x22, 0x22, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x20, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x54, 0x2c, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x00, 0x7e, 0x13, 0x11, 0x10, 0x3f, 0x26, 0x64,
-+ 0x27, 0x24, 0x3c, 0x24, 0x21, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x10, 0xa0, 0xfc, 0x48, 0x40,
-+ 0xfc, 0x40, 0x78, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x07, 0x1c, 0x67, 0x04, 0x7e,
-+ 0x10, 0x1e, 0x32, 0x53, 0x1e, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xfc,
-+ 0x40, 0x78, 0xc8, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x3f, 0x2a, 0x3e, 0x21,
-+ 0x7f, 0x04, 0x1f, 0x68, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x8c, 0xf8, 0x50, 0x70, 0x8c,
-+ 0xf8, 0x00, 0xf0, 0x10, 0xf0, 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, 0x7f, 0x10, 0x11, 0x10, 0x3f, 0x25, 0x65,
-+ 0x25, 0x25, 0x3d, 0x25, 0x21, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x11, 0x11, 0x3d, 0x25, 0x65,
-+ 0x24, 0x27, 0x3c, 0x27, 0x20, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xfc, 0x10, 0xfc, 0x90, 0x70, 0x00, 0x00,
-+ 0x00, 0x7f, 0x10, 0x17, 0x11, 0x3f, 0x29, 0x69,
-+ 0x2e, 0x2f, 0x38, 0x28, 0x21, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xbc, 0x10, 0xbc,
-+ 0x00, 0xfc, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x01, 0x7e, 0x12, 0x11, 0x11, 0x3f, 0x24, 0x65,
-+ 0x25, 0x25, 0x3c, 0x24, 0x27, 0x00, 0x00, 0x00,
-+ 0xd0, 0x54, 0xa4, 0xa8, 0x10, 0xf8, 0x04, 0xf8,
-+ 0x08, 0xf8, 0x90, 0x60, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x13, 0x12, 0x3b, 0x2a, 0x6b,
-+ 0x2a, 0x28, 0x3f, 0x28, 0x21, 0x06, 0x00, 0x00,
-+ 0x40, 0xf8, 0xe8, 0x58, 0xe8, 0xf8, 0xe8, 0x58,
-+ 0x48, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x01, 0x7f, 0x10, 0x13, 0x10, 0x3f, 0x28, 0x6f,
-+ 0x2f, 0x29, 0x39, 0x2f, 0x21, 0x03, 0x00, 0x00,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0xa8, 0x24,
-+ 0xfc, 0x28, 0x98, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x02, 0x7d, 0x13, 0x12, 0x15, 0x39, 0x29, 0x68,
-+ 0x2b, 0x2a, 0x3b, 0x2a, 0x23, 0x02, 0x00, 0x00,
-+ 0x48, 0x50, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x7c, 0x17, 0x14, 0x13, 0x3a, 0x2b, 0x6d,
-+ 0x29, 0x2f, 0x3b, 0x2a, 0x24, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x28, 0x90, 0x90, 0x7c, 0x94, 0x58,
-+ 0x50, 0xdc, 0x50, 0xf0, 0x50, 0x8c, 0x00, 0x00,
-+ 0x10, 0x12, 0x7d, 0x1a, 0x36, 0x51, 0x12, 0x7f,
-+ 0x04, 0x1f, 0x62, 0x0f, 0x34, 0x07, 0x00, 0x00,
-+ 0x90, 0x90, 0x7c, 0x90, 0xb8, 0x54, 0x90, 0xfc,
-+ 0x20, 0xf0, 0x0c, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0x02, 0x7e, 0x13, 0x15, 0x12, 0x3a, 0x2d, 0x6f,
-+ 0x28, 0x2f, 0x38, 0x29, 0x26, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0xec, 0xb4, 0xe8, 0xa8, 0xf4, 0x5c,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7f, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x01, 0x7e, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xe8, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7f, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2b, 0x49, 0x08, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0xa0, 0xa0, 0xfc, 0xa0, 0x90,
-+ 0x90, 0xb4, 0xcc, 0x0c, 0xf4, 0x04, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x21, 0x3f, 0x20, 0x0f,
-+ 0x00, 0x7f, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x08, 0xf8, 0x08, 0xe0,
-+ 0x00, 0xfc, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7f, 0x08, 0x2b, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0xa0, 0xa0, 0x3c, 0x20,
-+ 0x20, 0x3c, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7f, 0x08, 0x2a, 0x2a,
-+ 0x2b, 0x2b, 0x2a, 0x28, 0x48, 0x09, 0x00, 0x00,
-+ 0x20, 0x10, 0x50, 0x48, 0x48, 0xc8, 0xd8, 0xd4,
-+ 0x54, 0x64, 0x60, 0x48, 0xc8, 0x38, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7f, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x29, 0x4a, 0x0c, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0xfc, 0x40, 0x48, 0x68,
-+ 0x68, 0xb0, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x03, 0x7e, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2b, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0,
-+ 0x90, 0x90, 0xfc, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7e, 0x09, 0x2b, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2b, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x78, 0x88, 0xf0, 0x10, 0xfc, 0x20, 0xb4,
-+ 0xb8, 0x70, 0xa8, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x01, 0x3d, 0x03, 0x01, 0x7f, 0x11, 0x37, 0x35,
-+ 0x34, 0x37, 0x34, 0x34, 0x51, 0x16, 0x00, 0x00,
-+ 0x00, 0x78, 0xa8, 0x28, 0xa8, 0xa8, 0x48, 0x98,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x00, 0x7f, 0x08, 0x2a, 0x2a,
-+ 0x2b, 0x2a, 0x2a, 0x2b, 0x48, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x50, 0x94,
-+ 0x4c, 0x70, 0xd0, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x00, 0x7e, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2b, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x50, 0xfc, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x7d, 0x15, 0x15, 0x2d, 0x50,
-+ 0x1f, 0x10, 0x1f, 0x15, 0x25, 0x49, 0x00, 0x00,
-+ 0x00, 0xfc, 0x98, 0x70, 0x50, 0x50, 0xe8, 0x14,
-+ 0xf0, 0x10, 0xf0, 0x50, 0x30, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x01, 0x7e, 0x08, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x2b, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xdc, 0x54, 0xdc, 0x00, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x03, 0x7e, 0x13, 0x34, 0x37,
-+ 0x35, 0x35, 0x35, 0x30, 0x57, 0x10, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x00, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x03, 0x02, 0x7f, 0x10, 0x37, 0x35,
-+ 0x34, 0x37, 0x34, 0x37, 0x51, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0xb8, 0xa8, 0xb8, 0xa0, 0xf8, 0xf0,
-+ 0xa0, 0xfc, 0xc8, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x1f, 0x11, 0x11, 0x1f, 0x01,
-+ 0x3f, 0x21, 0x21, 0x3f, 0x20, 0x20, 0x00, 0x00,
-+ 0x38, 0xc0, 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x48, 0x68, 0x98, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x1f, 0x01,
-+ 0x3f, 0x21, 0x21, 0x3f, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x48, 0x68, 0x98, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x7f, 0x01, 0x1f, 0x01, 0x7f, 0x01,
-+ 0x1f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x70, 0x80, 0xfc, 0x00, 0xf0, 0x10, 0xfc, 0x10,
-+ 0xf0, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x03, 0x05, 0x39, 0x09, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x0b, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7e, 0x08, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xfc,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x80, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x09, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x48, 0xfc, 0x40, 0x48, 0x68,
-+ 0x68, 0xb0, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x09, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x09, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x49, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00, 0xf8,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x09, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x0b, 0x08, 0x7e, 0x0c, 0x1a,
-+ 0x1a, 0x28, 0x4b, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0,
-+ 0x90, 0x90, 0xfc, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x02, 0x04, 0x39, 0x08, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x02, 0x05, 0x39, 0x09, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x0a, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x08,
-+ 0xe8, 0xa8, 0xa8, 0xe8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x1f, 0x17, 0x14, 0x17, 0x1f, 0x00,
-+ 0x1f, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0xd0, 0x50, 0xd0, 0xf0, 0x60,
-+ 0x80, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x1f, 0x17, 0x14, 0x17, 0x1f, 0x00,
-+ 0x1f, 0x00, 0x7f, 0x0d, 0x31, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0xd0, 0x50, 0xd0, 0xf0, 0x00,
-+ 0xf0, 0x00, 0xfc, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x09, 0x7e, 0x0c, 0x1a,
-+ 0x1a, 0x28, 0x49, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x18, 0xf0, 0xa8, 0xa4, 0x04, 0x20, 0xf8, 0xa8,
-+ 0xf8, 0xa8, 0xfc, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x02, 0x04, 0x39, 0x09, 0x0a, 0x7e, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x08, 0x30, 0xc8, 0x24, 0x24, 0x40, 0xb8, 0x08,
-+ 0x08, 0xb8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x08, 0x0f, 0x3f, 0x27, 0x24,
-+ 0x27, 0x1f, 0x7f, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0xf8, 0xc8, 0x48,
-+ 0xf8, 0xc0, 0xfc, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x02, 0x05, 0x39, 0x09, 0x09, 0x7f, 0x08, 0x1d,
-+ 0x1a, 0x2a, 0x4b, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xa0, 0x24,
-+ 0x5c, 0xf0, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x02, 0x04, 0x39, 0x09, 0x0a, 0x7e, 0x09, 0x1c,
-+ 0x1a, 0x2b, 0x4a, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x90, 0xa8, 0x24, 0x50,
-+ 0x88, 0xfc, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x02, 0x05, 0x38, 0x08, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1b, 0x2a, 0x48, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x20, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x28,
-+ 0xf4, 0x40, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x02, 0x05, 0x39, 0x09, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x49, 0x0b, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x20, 0xac, 0xac, 0x20,
-+ 0x60, 0x78, 0xa0, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x08, 0x77, 0x11, 0x11, 0x7e, 0x17, 0x38,
-+ 0x37, 0x56, 0x52, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x50, 0xe8, 0xfc, 0x00,
-+ 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x09, 0x71, 0x11, 0x17, 0x7c, 0x13, 0x3a,
-+ 0x37, 0x56, 0x53, 0x16, 0x14, 0x1b, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0xfc, 0x28, 0xfc, 0x20,
-+ 0xe8, 0xd8, 0xb4, 0xdc, 0xac, 0x44, 0x00, 0x00,
-+ 0x04, 0x09, 0x71, 0x13, 0x10, 0x7d, 0x11, 0x3b,
-+ 0x34, 0x55, 0x50, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x08, 0xf0, 0x48, 0xf4, 0x40, 0xf0, 0xf8, 0xfc,
-+ 0x08, 0xf8, 0x40, 0xa8, 0x94, 0x70, 0x00, 0x00,
-+ 0x04, 0x09, 0x76, 0x13, 0x12, 0x7f, 0x13, 0x3f,
-+ 0x37, 0x54, 0x53, 0x17, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xf8, 0xa8, 0xb8, 0xa0, 0xbc,
-+ 0xbc, 0xac, 0xb4, 0xbc, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x0f, 0x73, 0x12, 0x13, 0x7c, 0x13, 0x39,
-+ 0x34, 0x57, 0x50, 0x17, 0x11, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0xb8, 0xa8, 0xb8, 0xa0, 0xf8, 0xf0,
-+ 0xa0, 0xfc, 0xc8, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x4c, 0x30, 0x1f, 0x00,
-+ 0x1f, 0x10, 0x3f, 0x20, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0xf0, 0x10,
-+ 0xf0, 0x00, 0xf8, 0x08, 0x08, 0xf0, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x4c, 0x34, 0x04, 0x3f,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0x40, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x4c, 0x30, 0x08, 0x0a,
-+ 0x73, 0x14, 0x0c, 0x0a, 0x1f, 0x62, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0x40, 0x40,
-+ 0xf8, 0x48, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x49, 0x32, 0x1f, 0x11,
-+ 0x17, 0x1e, 0x11, 0x16, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x48, 0x48, 0x38, 0xf0, 0x10,
-+ 0xd0, 0x50, 0x90, 0x50, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x24, 0x48, 0x32, 0x02, 0x32,
-+ 0x0a, 0x0e, 0x74, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0xf8, 0x88, 0xb0,
-+ 0xc0, 0xb0, 0x88, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x4c, 0x30, 0x1f, 0x02, 0x7f,
-+ 0x02, 0x1f, 0x07, 0x1c, 0x67, 0x04, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x88, 0x78, 0xf0, 0x10, 0xfc,
-+ 0x10, 0xf0, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x4c, 0x35, 0x05, 0x0f,
-+ 0x11, 0x7f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0x00, 0xf0,
-+ 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x22, 0x4c, 0x30, 0x0f, 0x09,
-+ 0x09, 0x3f, 0x27, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x88, 0x88, 0x78, 0xe0, 0xe0,
-+ 0x20, 0xf8, 0xc8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x01, 0x3f, 0x29, 0x77, 0x3f, 0x1f, 0x12, 0x1e,
-+ 0x3e, 0x22, 0x3e, 0x3e, 0x22, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x28, 0xd8, 0xf8, 0xf0, 0x90, 0xf0,
-+ 0xf8, 0x88, 0xf8, 0xf8, 0x84, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x4c, 0x32, 0x07, 0x3a, 0x0b,
-+ 0x7f, 0x09, 0x7f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x88, 0x78, 0xf0, 0x60, 0x80,
-+ 0xf0, 0x00, 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x3f, 0x25, 0x7f, 0x09, 0x7f, 0x0f, 0x0f,
-+ 0x09, 0x0f, 0x7f, 0x06, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0x20, 0xfc, 0xe0, 0xe0,
-+ 0x20, 0xe0, 0xfc, 0x40, 0xe0, 0x10, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x4c, 0x38, 0x3e, 0x22, 0x3e,
-+ 0x3f, 0x08, 0x7f, 0x0e, 0x12, 0x67, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x88, 0x78, 0x40, 0x7c, 0x88,
-+ 0x48, 0x50, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x59, 0x1e, 0x10, 0x1e, 0x1f,
-+ 0x11, 0x1d, 0x1d, 0x11, 0x1d, 0x73, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x78, 0xf0, 0x10, 0xf0, 0xf0,
-+ 0x10, 0xd0, 0xd4, 0x0c, 0xcc, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x4c, 0x30, 0x3c, 0x27, 0x38,
-+ 0x2b, 0x25, 0x26, 0x39, 0x20, 0x27, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x78, 0x40, 0xf8, 0x90, 0xe0,
-+ 0x5c, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x00, 0x00,
-+ 0x20, 0x17, 0x14, 0x4b, 0x20, 0x27, 0x00, 0x77,
-+ 0x10, 0x13, 0x10, 0x13, 0x2c, 0x43, 0x00, 0x00,
-+ 0x40, 0xfc, 0xac, 0x3c, 0xa0, 0xfc, 0xc8, 0xe8,
-+ 0xf0, 0x70, 0xa8, 0x28, 0xc0, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3f, 0x26, 0x59, 0x7f, 0x0f, 0x3f, 0x2c,
-+ 0x3f, 0x1f, 0x1f, 0x17, 0x1f, 0x78, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x78, 0xfc, 0xe0, 0xf8, 0xe8,
-+ 0xf8, 0xf0, 0xd0, 0xf0, 0xf0, 0x1c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x26, 0x58, 0x06, 0x7a, 0x2a, 0x1c,
-+ 0x7e, 0x19, 0x1d, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x78, 0x20, 0x3c, 0xf8, 0xa8,
-+ 0xd8, 0xfc, 0x54, 0xfc, 0x04, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x02, 0x22, 0x13, 0x12,
-+ 0x14, 0x14, 0x06, 0x18, 0x60, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x02, 0x22, 0x13, 0x12,
-+ 0x14, 0x14, 0x06, 0x18, 0x60, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x04, 0x24, 0x15, 0x16,
-+ 0x14, 0x18, 0x0e, 0x18, 0x61, 0x02, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x50, 0x88, 0x88, 0xfc, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x04, 0x24, 0x15, 0x14,
-+ 0x14, 0x19, 0x0e, 0x18, 0x60, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x40, 0x40, 0x78, 0xc0, 0x40,
-+ 0x7c, 0xc0, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x04, 0x24, 0x14, 0x15,
-+ 0x15, 0x09, 0x0f, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7f, 0x06, 0x24, 0x15, 0x14,
-+ 0x14, 0x18, 0x0e, 0x18, 0x60, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0x00, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x02, 0x22, 0x12, 0x12,
-+ 0x14, 0x14, 0x06, 0x18, 0x63, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x08, 0x88, 0x48, 0x48,
-+ 0x50, 0x50, 0x10, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x08, 0x7e, 0x05, 0x25, 0x15, 0x15,
-+ 0x15, 0x09, 0x0f, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x08, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x05, 0x24, 0x14, 0x14,
-+ 0x15, 0x09, 0x0e, 0x18, 0x60, 0x03, 0x00, 0x00,
-+ 0x20, 0x20, 0x30, 0x48, 0xf4, 0x84, 0xf8, 0xa0,
-+ 0x20, 0xfc, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x7e, 0x04, 0x24, 0x14, 0x14,
-+ 0x14, 0x08, 0x0e, 0x19, 0x62, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x7f, 0x05, 0x25, 0x14, 0x14,
-+ 0x15, 0x0b, 0x0f, 0x19, 0x61, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x80, 0xf8,
-+ 0x48, 0x68, 0x98, 0xf8, 0x08, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x0a, 0x4a, 0x2a, 0x2a,
-+ 0x2a, 0x32, 0x16, 0x1c, 0x67, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1e, 0x29, 0x45, 0x01, 0x3f, 0x01,
-+ 0x0d, 0x03, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x20, 0x10, 0x00, 0xe0, 0x20,
-+ 0x20, 0x20, 0xa0, 0x64, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x08, 0x0f, 0x12,
-+ 0x22, 0x44, 0x08, 0x11, 0x02, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x48,
-+ 0x48, 0x88, 0x88, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x00, 0x0f, 0x09,
-+ 0x09, 0x09, 0x11, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x18, 0xe0, 0x20,
-+ 0x20, 0x20, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x00, 0x1f, 0x11,
-+ 0x11, 0x1f, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x08, 0x08, 0x7e,
-+ 0x0a, 0x0a, 0x12, 0x12, 0x22, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x01, 0x01, 0x01,
-+ 0x01, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xfc, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x09, 0x09, 0x1f,
-+ 0x11, 0x2f, 0x41, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0x00, 0xf8,
-+ 0x00, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x02, 0x02, 0x04,
-+ 0x7f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0x60, 0x38,
-+ 0xc4, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x10, 0x09, 0x49,
-+ 0x21, 0x25, 0x09, 0x11, 0x21, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x08,
-+ 0x08, 0x08, 0x30, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x01, 0x01, 0x7f,
-+ 0x03, 0x05, 0x19, 0x67, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0x00, 0xfc,
-+ 0x80, 0x40, 0x30, 0xcc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x08, 0x0f, 0x11,
-+ 0x21, 0x7f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x00,
-+ 0x00, 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x20, 0x2f, 0x20,
-+ 0x27, 0x20, 0x2f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0x00, 0xf8, 0x80,
-+ 0xf0, 0x80, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x20, 0x2f, 0x20,
-+ 0x27, 0x20, 0x2f, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0x00, 0xf8, 0x80,
-+ 0xf0, 0x90, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x00, 0x3f, 0x04,
-+ 0x04, 0x7f, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x40,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x04, 0x0f, 0x10,
-+ 0x6f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf8, 0x08,
-+ 0x88, 0x88, 0x88, 0x88, 0x88, 0xb0, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x1f, 0x01, 0x7f,
-+ 0x01, 0x1f, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0xf0, 0x10, 0xfc,
-+ 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x02, 0x04, 0x18,
-+ 0x6f, 0x01, 0x0f, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x80, 0x40, 0x30,
-+ 0xec, 0x00, 0xe0, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x09, 0x0f, 0x11,
-+ 0x7f, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xf0, 0x00,
-+ 0xfc, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x7b, 0x08, 0x11,
-+ 0x3d, 0x49, 0x29, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x1c, 0xf0, 0x20, 0x3c,
-+ 0x20, 0x20, 0x20, 0xfc, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x02, 0x3f, 0x20, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x01, 0x7f, 0x09,
-+ 0x09, 0x16, 0x22, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xfc, 0x20,
-+ 0x30, 0xc8, 0x88, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x29, 0x4f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x20, 0xe0, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x09, 0x09, 0x12,
-+ 0x34, 0x50, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xfc, 0x40,
-+ 0x7c, 0x40, 0x7c, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x08, 0x08, 0x14,
-+ 0x35, 0x56, 0x14, 0x14, 0x14, 0x13, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x80, 0x80, 0xfc,
-+ 0x90, 0x90, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x00, 0x1f, 0x10,
-+ 0x1e, 0x12, 0x12, 0x12, 0x2c, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x90, 0xfc, 0x88,
-+ 0x48, 0x50, 0x34, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x09, 0x09,
-+ 0x0d, 0x13, 0x23, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0xf8, 0x20, 0x20,
-+ 0x30, 0x48, 0x88, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x09, 0x09, 0x7f,
-+ 0x09, 0x0d, 0x19, 0x69, 0x09, 0x19, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x10, 0x10, 0xfc,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x20, 0x2f, 0x21,
-+ 0x3f, 0x27, 0x39, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf8, 0x28, 0xc8, 0x08,
-+ 0xf8, 0xc8, 0x38, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x1e, 0x60, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x88, 0x90, 0xe4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x10, 0x13, 0x7e, 0x12,
-+ 0x12, 0x1a, 0x72, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xfc, 0x20, 0xf8,
-+ 0xa8, 0xa8, 0xb8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x01, 0x3f, 0x22, 0x4c,
-+ 0x30, 0x0f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x00, 0xfc, 0x88, 0x88,
-+ 0x78, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x04, 0x06, 0x09,
-+ 0x1f, 0x60, 0x1f, 0x11, 0x1f, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x08, 0x48, 0x48,
-+ 0xc8, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x01, 0x00, 0x1f,
-+ 0x02, 0x7f, 0x01, 0x00, 0x03, 0x3c, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x18, 0xfc, 0x10, 0xe0, 0xb4,
-+ 0x4c, 0xf8, 0x20, 0xc4, 0xb4, 0x0c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x5f, 0x00, 0x7f, 0x1f, 0x3f,
-+ 0x21, 0x5f, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xf0, 0x10, 0xfc, 0xf0, 0xfc,
-+ 0x08, 0xf0, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x11, 0x3f, 0x41,
-+ 0x7f, 0x01, 0x1f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x18, 0xf0, 0x08, 0xf4, 0x10,
-+ 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x03, 0x0c, 0x3f, 0x01,
-+ 0x7f, 0x01, 0x1f, 0x01, 0x01, 0x03, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xe0, 0x80, 0xf0, 0x10,
-+ 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3d, 0x25, 0x25, 0x3d,
-+ 0x25, 0x3d, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf8, 0x08, 0x30, 0xf8,
-+ 0x48, 0x48, 0x30, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x20, 0x2f, 0x24,
-+ 0x26, 0x29, 0x22, 0x2c, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0x80, 0xf8, 0x90,
-+ 0xb0, 0x48, 0x20, 0x18, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x47, 0x0f, 0x08, 0x0f, 0x0f,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xe0, 0x20, 0xe0, 0xe0,
-+ 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x09, 0x08, 0x17, 0x11,
-+ 0x31, 0x52, 0x17, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf0, 0x10, 0xfc, 0x00,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x12, 0x12, 0x7f,
-+ 0x12, 0x1f, 0x12, 0x12, 0x1e, 0x13, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0x40, 0x40, 0xfc,
-+ 0xa4, 0x28, 0x70, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x00, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x17, 0x14, 0x17, 0x24, 0x41, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x50, 0xfc, 0x48, 0xc8,
-+ 0x48, 0xb0, 0xb4, 0xb4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x47, 0x04, 0x0f, 0x7f, 0x03,
-+ 0x7d, 0x07, 0x39, 0x06, 0x38, 0x03, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xe0, 0x40, 0xc0, 0xfc, 0x88,
-+ 0xd0, 0xe0, 0xa0, 0x90, 0x8c, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x1f, 0x04, 0x7f,
-+ 0x0f, 0x0f, 0x09, 0x7f, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x48, 0xf8, 0xf0, 0x40, 0xfc,
-+ 0xe0, 0xe0, 0x20, 0xfc, 0x20, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x1f, 0x28, 0x45, 0x09, 0x3e, 0x22,
-+ 0x3e, 0x20, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0x20, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xb8, 0x20, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x45, 0x7f, 0x0f, 0x08, 0x7f,
-+ 0x08, 0x0f, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0xe0, 0x20, 0xfc,
-+ 0x20, 0xe8, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x45, 0x7f, 0x3f, 0x08, 0x7f,
-+ 0x08, 0x3f, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0xf8, 0x20, 0xfc,
-+ 0x20, 0xf8, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x47, 0x3f, 0x26, 0x21, 0x2e,
-+ 0x3f, 0x10, 0x1f, 0x10, 0x1e, 0x70, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf8, 0x48, 0xc8, 0x28,
-+ 0xf8, 0x88, 0x90, 0xe4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x7f, 0x04, 0x3f, 0x24,
-+ 0x3f, 0x01, 0x7f, 0x07, 0x79, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xfc, 0x40, 0xf8, 0x48,
-+ 0xf8, 0x00, 0xfc, 0xc0, 0x3c, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x49, 0x7e, 0x14, 0x7f, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x40, 0x7c, 0x78, 0x08, 0x78,
-+ 0x40, 0x78, 0x78, 0x78, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x45, 0x3f, 0x1f, 0x7f, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf8, 0xf0, 0xfc, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x08, 0x08, 0x7f, 0x08,
-+ 0x0f, 0x13, 0x12, 0x22, 0x44, 0x1f, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x80, 0xfc, 0x80, 0xf8,
-+ 0x20, 0xfc, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3f, 0x24, 0x3f, 0x24,
-+ 0x3f, 0x24, 0x2e, 0x2a, 0x2e, 0x41, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x90, 0x90, 0xa8, 0xc8,
-+ 0x90, 0xa4, 0x84, 0x88, 0x90, 0xa0, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x5f, 0x11, 0x1f, 0x11, 0x1f,
-+ 0x7f, 0x09, 0x3f, 0x01, 0x3f, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0xfc, 0x20, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x10, 0x0b, 0x40, 0x27,
-+ 0x03, 0x71, 0x13, 0x10, 0x2c, 0x43, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x90, 0xf0, 0xa0, 0xe0, 0x5c,
-+ 0xf8, 0xf0, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x13, 0x48, 0x22, 0x15,
-+ 0x23, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0xf0, 0x98, 0x94, 0x14,
-+ 0x60, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x25, 0x4f, 0x09, 0x7f, 0x0f, 0x0f,
-+ 0x09, 0x0f, 0x7f, 0x0e, 0x01, 0x3e, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xe0, 0x20, 0xfc, 0xe0, 0xe0,
-+ 0x20, 0xe0, 0xfc, 0x40, 0xe0, 0x10, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x7f, 0x01, 0x09, 0x09, 0x7f,
-+ 0x07, 0x04, 0x0f, 0x2a, 0x25, 0x40, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0xf0, 0x00, 0xf8, 0x48, 0x28, 0x30, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x4f, 0x09, 0x0f, 0x7f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xe0, 0x20, 0xe0, 0xfc, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x7f, 0x04, 0x07, 0x7f, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x1f, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0xd0, 0xf8, 0x40, 0xc0, 0xfc, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x60, 0x18, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x7e, 0x14, 0x7f, 0x0e, 0x14,
-+ 0x7f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xf8, 0x50, 0xfc, 0x30, 0xd4,
-+ 0xfc, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x7f, 0x1f, 0x12, 0x1f, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xfc, 0xf0, 0x90, 0xf0, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x25, 0x43, 0x0c, 0x7f, 0x12, 0x1d,
-+ 0x17, 0x11, 0x11, 0x13, 0x22, 0x43, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xe0, 0x80, 0xfc, 0x24, 0xfc,
-+ 0xf8, 0xe0, 0xe0, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0x10, 0x1f, 0x25, 0x5f, 0x01, 0x7f, 0x1f, 0x15,
-+ 0x1d, 0x11, 0x1f, 0x1d, 0x25, 0x45, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xf0, 0x10, 0xfc, 0xf0, 0x50,
-+ 0x70, 0x10, 0xf0, 0x70, 0x50, 0x50, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x02, 0x0c, 0x77, 0x00,
-+ 0x1e, 0x12, 0x1e, 0x0c, 0x12, 0x61, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x10, 0x80, 0x60, 0xdc, 0x00,
-+ 0xf0, 0x90, 0xf0, 0x60, 0x90, 0x08, 0x00, 0x00,
-+ 0x10, 0x1f, 0x25, 0x7f, 0x1f, 0x7f, 0x1f, 0x01,
-+ 0x1f, 0x7f, 0x1e, 0x13, 0x1e, 0x10, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xfc, 0xf0, 0xfc, 0xe8, 0x00,
-+ 0xe0, 0xfc, 0x10, 0xfc, 0x90, 0x30, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x7f, 0x24, 0x3e, 0x3f, 0x24,
-+ 0x3f, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x40, 0x7c, 0x80, 0x00, 0x78,
-+ 0x00, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x5f, 0x15, 0x7f, 0x1f, 0x1f,
-+ 0x15, 0x1f, 0x7f, 0x1a, 0x06, 0x39, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x20, 0x20, 0xfc, 0x48, 0xc8,
-+ 0x28, 0x30, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x4d, 0x09, 0x7e, 0x13, 0x1c,
-+ 0x14, 0x14, 0x14, 0x27, 0x24, 0x5b, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x90, 0xfc, 0x90, 0xfc, 0x90,
-+ 0xf0, 0xf0, 0x90, 0xfc, 0x90, 0x08, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x51, 0x13, 0x7e, 0x12, 0x17,
-+ 0x13, 0x1e, 0x73, 0x12, 0x13, 0x32, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x40, 0xbc, 0x94, 0xe4, 0x58,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x1f, 0x28, 0x45, 0x3e, 0x27, 0x24, 0x3f,
-+ 0x25, 0x3f, 0x24, 0x27, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x50, 0x48, 0xfc, 0xa0, 0xfc,
-+ 0x50, 0x58, 0xe4, 0x50, 0x4c, 0xc0, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x41, 0x3f, 0x24, 0x27, 0x3d,
-+ 0x27, 0x3c, 0x27, 0x25, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x50, 0xf8, 0xa4, 0xfc, 0x50,
-+ 0xac, 0xd0, 0xf8, 0x54, 0x48, 0x48, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x49, 0x7f, 0x08, 0x3e, 0x2a,
-+ 0x2a, 0x3e, 0x1c, 0x2a, 0x48, 0x09, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0xf8, 0x48, 0x98, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0x48, 0x84, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x52, 0x12, 0x2d, 0x7f, 0x0a,
-+ 0x3b, 0x3b, 0x0a, 0x3b, 0x0f, 0x78, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x40, 0x50, 0x48, 0xfc, 0x28,
-+ 0xa8, 0xb0, 0x10, 0xb4, 0xcc, 0x84, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x44, 0x3f, 0x04, 0x7f, 0x0a,
-+ 0x3b, 0x3b, 0x0a, 0x3b, 0x0f, 0x70, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x40, 0xd0, 0x48, 0xfc, 0x28,
-+ 0xa8, 0xb0, 0x14, 0xb4, 0xcc, 0x84, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x46, 0x0c, 0x77, 0x3b, 0x2a,
-+ 0x3b, 0x3f, 0x24, 0x3f, 0x24, 0x24, 0x00, 0x00,
-+ 0x40, 0x7c, 0xa0, 0x90, 0x60, 0xdc, 0xb8, 0xa8,
-+ 0xb8, 0xf8, 0x48, 0xf8, 0x48, 0x58, 0x00, 0x00,
-+ 0x10, 0x1f, 0x24, 0x49, 0x7f, 0x26, 0x3a, 0x37,
-+ 0x3e, 0x7f, 0x4d, 0x7f, 0x41, 0x43, 0x00, 0x00,
-+ 0x40, 0x7c, 0x90, 0x48, 0x50, 0x7c, 0xd0, 0x78,
-+ 0x50, 0x78, 0x50, 0x50, 0x7c, 0x40, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x11, 0x55, 0x35, 0x39, 0x11, 0x7d, 0x11, 0x39,
-+ 0x35, 0x55, 0x51, 0x11, 0x11, 0x16, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x08, 0x4b, 0x2a, 0x2c, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x49, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x02, 0x1f, 0x15, 0x13, 0x1f, 0x13, 0x1d, 0x1f,
-+ 0x00, 0x7f, 0x08, 0x0f, 0x10, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x50, 0x90, 0xf0, 0x90, 0x50, 0xf0,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xe0, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x09, 0x7f, 0x08, 0x1c,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x7c, 0x01, 0x02, 0x0c, 0x71, 0x13, 0x09,
-+ 0x09, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x48, 0xc0, 0x30, 0x2c, 0x20,
-+ 0x40, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x57, 0x34, 0x38, 0x10, 0x7f, 0x12, 0x3a,
-+ 0x36, 0x56, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x80, 0xf8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x57, 0x36, 0x3a, 0x13, 0x7e, 0x12, 0x3a,
-+ 0x36, 0x56, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0xe8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x4b, 0x2a, 0x2c, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x40, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x4b, 0x2a, 0x2d, 0x09, 0x7f, 0x09, 0x1d,
-+ 0x1b, 0x2b, 0x48, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x80, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0e, 0x08, 0x1f, 0x72, 0x0c, 0x73, 0x11,
-+ 0x09, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x50, 0x20, 0xd0, 0x0c, 0x10,
-+ 0x20, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x40, 0x2a, 0x12, 0x25, 0x22, 0x11,
-+ 0x09, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x98, 0x94, 0x14, 0x60, 0x10,
-+ 0x20, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x08, 0x7f, 0x08, 0x1c,
-+ 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8,
-+ 0xa4, 0xa8, 0x90, 0x90, 0xe8, 0x04, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2b, 0x2c, 0x08, 0x7e, 0x09, 0x1e,
-+ 0x1a, 0x2b, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x90, 0x90, 0xd8, 0x24, 0x24,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2a, 0x2c, 0x09, 0x7e, 0x08, 0x1d,
-+ 0x1a, 0x2a, 0x48, 0x09, 0x0a, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0xf8, 0x00, 0x00, 0xfc,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x10, 0x54, 0x37, 0x38, 0x10, 0x7c, 0x11, 0x39,
-+ 0x37, 0x55, 0x51, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xa0, 0xa0, 0x24, 0x28,
-+ 0x30, 0x60, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x10, 0x55, 0x34, 0x38, 0x13, 0x7c, 0x13, 0x38,
-+ 0x34, 0x57, 0x50, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xfc, 0xe8, 0x30, 0x60,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2b, 0x2c, 0x08, 0x7e, 0x08, 0x1c,
-+ 0x1b, 0x2b, 0x49, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x90,
-+ 0xfc, 0x50, 0x54, 0x8c, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x4a, 0x2b, 0x2d, 0x0b, 0x7e, 0x09, 0x1c,
-+ 0x1b, 0x2a, 0x48, 0x0b, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0xfc, 0x40, 0xe4, 0x68,
-+ 0xb0, 0x70, 0xa8, 0x24, 0x20, 0xc0, 0x00, 0x00,
-+ 0x10, 0x57, 0x34, 0x38, 0x13, 0x7e, 0x12, 0x3a,
-+ 0x36, 0x56, 0x52, 0x14, 0x14, 0x18, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0x00, 0xfc, 0x00, 0xf8, 0xa8,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xa8, 0x98, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x16, 0x16, 0x1a, 0x14,
-+ 0x12, 0x1f, 0x11, 0x26, 0x38, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0xb8, 0xbc, 0x54, 0x90,
-+ 0xa0, 0xfc, 0xc0, 0xb0, 0x8c, 0x80, 0x00, 0x00,
-+ 0x10, 0x54, 0x37, 0x38, 0x11, 0x7f, 0x11, 0x39,
-+ 0x35, 0x54, 0x53, 0x10, 0x11, 0x16, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x3d, 0x0b, 0x3f, 0x3b, 0x0d, 0x31, 0x7f, 0x0f,
-+ 0x08, 0x0f, 0x3f, 0x24, 0x3f, 0x21, 0x00, 0x00,
-+ 0x78, 0x48, 0xf8, 0xb8, 0x48, 0x30, 0xfc, 0xe0,
-+ 0x20, 0xe0, 0xf8, 0x58, 0xf8, 0x18, 0x00, 0x00,
-+ 0x10, 0x57, 0x34, 0x3b, 0x13, 0x7d, 0x10, 0x3b,
-+ 0x34, 0x57, 0x52, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xfc, 0x58, 0xf8, 0x40, 0xfc,
-+ 0x80, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x57, 0x36, 0x3b, 0x12, 0x7e, 0x12, 0x3a,
-+ 0x36, 0x57, 0x53, 0x15, 0x15, 0x19, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x34, 0xfc, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0x39, 0x08, 0x09, 0x14, 0x23, 0x48, 0x2a,
-+ 0x1d, 0x7e, 0x1c, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0x68, 0xd8, 0x68, 0x50, 0xfc,
-+ 0x90, 0xf8, 0xf8, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x2b, 0x2a, 0x3f, 0x4a, 0x7f, 0x4a, 0x2a,
-+ 0x1d, 0x7e, 0x1c, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0x68, 0xd8, 0x68, 0x50, 0xfc,
-+ 0x90, 0xf8, 0xf8, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7d,
-+ 0x08, 0x2a, 0x29, 0x29, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7d,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x10, 0x90, 0x50,
-+ 0x50, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0d, 0x12, 0x7d,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x4b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x50, 0x48, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x15, 0x65, 0x19, 0x19, 0x25, 0x7d,
-+ 0x11, 0x39, 0x35, 0x35, 0x51, 0x16, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x20, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x03, 0x0d, 0x71, 0x02,
-+ 0x1e, 0x03, 0x7f, 0x05, 0x09, 0x31, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x40, 0x80, 0x60, 0x1c, 0x40,
-+ 0xa0, 0x18, 0xe4, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x1a, 0x1a, 0x26, 0x7e,
-+ 0x12, 0x1a, 0x36, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x15, 0x0d, 0x13, 0x7f,
-+ 0x0d, 0x2b, 0x2b, 0x29, 0x4b, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x00, 0x20, 0x20, 0x20,
-+ 0x20, 0x30, 0x48, 0x58, 0xe4, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x1c, 0x1a, 0x29, 0x49, 0x02,
-+ 0x1e, 0x03, 0x7f, 0x05, 0x09, 0x31, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x40,
-+ 0xa0, 0x18, 0xe4, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0xa8, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0x80, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x09, 0x2d, 0x2b, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x90, 0x88, 0xf4, 0x04,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x0d, 0x0c, 0x13, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x00, 0x00, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xa8, 0xa4, 0x24, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x0d, 0x0c, 0x12, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2b, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x50, 0x30, 0xdc, 0x10,
-+ 0xf8, 0x90, 0x90, 0xfc, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0x24, 0xa4, 0xa8, 0x20, 0xfc, 0x50,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x15, 0x65, 0x1a, 0x18, 0x24, 0x7d,
-+ 0x13, 0x19, 0x35, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x80, 0xf8, 0x00, 0x00, 0x80, 0xfc, 0x90, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x28, 0xc8, 0x50, 0x30, 0x48, 0xfc,
-+ 0x24, 0xb0, 0xa8, 0xa4, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x64, 0x1b, 0x18, 0x24, 0x7c,
-+ 0x13, 0x38, 0x35, 0x35, 0x52, 0x10, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0x24, 0xfc, 0xa0, 0xa8, 0xe8,
-+ 0xa8, 0x90, 0x14, 0x2c, 0x4c, 0x84, 0x00, 0x00,
-+ 0x08, 0x7e, 0x12, 0x12, 0x3c, 0x04, 0x1b, 0x62,
-+ 0x1c, 0x03, 0x7f, 0x05, 0x09, 0x31, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x40,
-+ 0xa0, 0x18, 0xe4, 0x40, 0x30, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x73, 0x15, 0x0d, 0x13, 0x7f,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x4b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x48,
-+ 0x48, 0x30, 0x24, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xfc, 0x50, 0x50, 0x50, 0xfc,
-+ 0x50, 0x50, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x15, 0x0c, 0x12, 0x7e,
-+ 0x0d, 0x2a, 0x2a, 0x28, 0x4b, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xa8, 0x50, 0xa8, 0xa8, 0x00,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x08, 0xf0, 0x20, 0xfc, 0x70, 0xa8, 0x24, 0xf0,
-+ 0x50, 0x50, 0x9c, 0x84, 0x04, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x16, 0x14, 0x37, 0x54, 0x15,
-+ 0x14, 0x17, 0x15, 0x15, 0x12, 0x10, 0x00, 0x00,
-+ 0x80, 0xfc, 0x90, 0x60, 0xf0, 0x4c, 0x50, 0xb0,
-+ 0x48, 0xfc, 0x50, 0x48, 0x48, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0d, 0x12, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x09, 0x00, 0x00,
-+ 0x08, 0x10, 0xe8, 0xa4, 0x94, 0x20, 0x20, 0xfc,
-+ 0x48, 0x48, 0xf0, 0x10, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x09, 0x2d, 0x2b, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x20, 0x40,
-+ 0xfc, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x64, 0x29, 0x18, 0x25, 0x7e,
-+ 0x18, 0x35, 0x35, 0x32, 0x54, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xc8, 0xa8, 0x30, 0x40,
-+ 0xa0, 0xa8, 0x84, 0x84, 0x90, 0x70, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x60, 0x50, 0x88, 0xfc, 0x08,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7e, 0x00, 0x3f, 0x22, 0x3e, 0x23, 0x22,
-+ 0x4e, 0x01, 0x7f, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0x50, 0x60, 0x90, 0x4c,
-+ 0xc0, 0x30, 0xc8, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0xa8, 0xa4, 0xfc, 0x20, 0xfc, 0x50, 0x88,
-+ 0xf4, 0x90, 0x90, 0xb4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x0c, 0x0d, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x08, 0x10, 0xe8, 0xa4, 0x94, 0x10, 0x20, 0x20,
-+ 0xfc, 0x70, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x12, 0x12, 0x14, 0x66, 0x1a, 0x18, 0x27, 0x7e,
-+ 0x12, 0x3b, 0x36, 0x36, 0x53, 0x12, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0x48, 0x48, 0x00, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2b, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x3c, 0x20, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2d, 0x2a, 0x2a, 0x48, 0x09, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xe8, 0x28, 0x34, 0xcc, 0x50,
-+ 0x5c, 0xe8, 0x28, 0x14, 0x6c, 0x84, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x2b, 0x1a, 0x26, 0x7f,
-+ 0x18, 0x34, 0x36, 0x32, 0x54, 0x10, 0x00, 0x00,
-+ 0x80, 0xf8, 0x48, 0xf8, 0xa8, 0x68, 0x98, 0xf8,
-+ 0x40, 0xa8, 0xa4, 0x84, 0x90, 0x70, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x1b, 0x1a, 0x27, 0x7e,
-+ 0x1a, 0x36, 0x36, 0x32, 0x54, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x65, 0x1b, 0x19, 0x26, 0x7f,
-+ 0x10, 0x3a, 0x36, 0x37, 0x52, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x88, 0xf8,
-+ 0x88, 0xa8, 0xa8, 0xe8, 0x28, 0x30, 0x00, 0x00,
-+ 0x08, 0x11, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x09,
-+ 0x7e, 0x4a, 0x4a, 0x4a, 0x4f, 0x08, 0x00, 0x00,
-+ 0x0c, 0xf0, 0x20, 0xc8, 0x50, 0x30, 0x48, 0xfc,
-+ 0x24, 0xb0, 0xa8, 0xa4, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x64, 0x19, 0x1b, 0x24, 0x7f,
-+ 0x12, 0x3b, 0x36, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x65, 0x19, 0x19, 0x25, 0x7d,
-+ 0x19, 0x35, 0x35, 0x32, 0x53, 0x16, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x20, 0x20,
-+ 0xfc, 0x20, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x73, 0x16, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xf0, 0x90, 0x90, 0xf0,
-+ 0x80, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x67, 0x2a, 0x1b, 0x26, 0x7f,
-+ 0x13, 0x3b, 0x37, 0x33, 0x54, 0x18, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xe8, 0x28, 0xe8,
-+ 0x50, 0x54, 0xdc, 0x6c, 0x44, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0f, 0x12, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x4b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xfc, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x09, 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0xa8, 0xa8, 0xfc, 0xa8, 0xb8, 0x80, 0xfc, 0x20,
-+ 0xfc, 0x70, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x2b, 0x1a, 0x26, 0x7f,
-+ 0x12, 0x3a, 0x37, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0x80, 0x70, 0x50, 0x54, 0xd4, 0x4c, 0x80, 0xf8,
-+ 0x48, 0x28, 0xb0, 0x10, 0x28, 0xc4, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x69, 0x2a, 0x1a, 0x27, 0x7d,
-+ 0x17, 0x39, 0x35, 0x31, 0x56, 0x10, 0x00, 0x00,
-+ 0x20, 0xe0, 0x20, 0x20, 0xbc, 0xc8, 0x68, 0x28,
-+ 0xe8, 0x10, 0x50, 0xa8, 0x48, 0x84, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x2b, 0x1a, 0x26, 0x7f,
-+ 0x12, 0x3a, 0x37, 0x36, 0x50, 0x10, 0x00, 0x00,
-+ 0x10, 0x90, 0x90, 0xb8, 0xb8, 0xb4, 0xd4, 0xd4,
-+ 0xb8, 0x88, 0x90, 0xa0, 0x40, 0x80, 0x00, 0x00,
-+ 0x10, 0x11, 0x15, 0x65, 0x29, 0x19, 0x25, 0x7d,
-+ 0x13, 0x39, 0x35, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x20, 0xfc, 0x10, 0xcc,
-+ 0xfc, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x67, 0x2a, 0x1b, 0x26, 0x7f,
-+ 0x13, 0x3b, 0x37, 0x34, 0x55, 0x1a, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0x20, 0xe8, 0xa8, 0xe8,
-+ 0x58, 0x50, 0x94, 0xec, 0x2c, 0x44, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x65, 0x2a, 0x18, 0x24, 0x7d,
-+ 0x13, 0x39, 0x35, 0x35, 0x53, 0x10, 0x00, 0x00,
-+ 0xf0, 0x10, 0x90, 0xf8, 0x04, 0xb0, 0x90, 0x08,
-+ 0xfc, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1e, 0x52, 0x5e, 0x52, 0x5e, 0x52, 0x5f,
-+ 0x40, 0x7e, 0x2c, 0x2a, 0x4b, 0x08, 0x00, 0x00,
-+ 0x04, 0xf8, 0x20, 0xc8, 0x50, 0x30, 0x48, 0xfc,
-+ 0x24, 0xb0, 0xa8, 0xa4, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x66, 0x2c, 0x1b, 0x25, 0x7c,
-+ 0x13, 0x38, 0x37, 0x34, 0x50, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x48, 0x40, 0xf8, 0x10, 0xa0,
-+ 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7f,
-+ 0x0c, 0x2a, 0x2b, 0x2a, 0x4f, 0x08, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xfc, 0x20, 0xf8, 0x20, 0xfc,
-+ 0x80, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x12, 0x6a, 0x2d, 0x19, 0x25, 0x7e,
-+ 0x16, 0x3a, 0x36, 0x36, 0x53, 0x12, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0x50, 0xb8, 0xa4, 0x24, 0xa0,
-+ 0xa0, 0xb8, 0xa0, 0xe0, 0x20, 0x1c, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x2a, 0x1b, 0x26, 0x7e,
-+ 0x13, 0x3a, 0x37, 0x34, 0x58, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x00, 0xfc, 0xa8, 0xf0,
-+ 0x9c, 0x10, 0xfc, 0x90, 0x50, 0x30, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x64, 0x29, 0x1b, 0x24, 0x7f,
-+ 0x11, 0x39, 0x35, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0x90, 0x68, 0xfc, 0x00, 0xfc,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x12, 0x11, 0x15, 0x64, 0x2a, 0x19, 0x25, 0x7c,
-+ 0x13, 0x39, 0x35, 0x35, 0x52, 0x14, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0x48, 0x78, 0x40, 0x78,
-+ 0x48, 0x48, 0x78, 0x48, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x39, 0x29, 0x2a, 0x2f, 0x39, 0x2a, 0x2d,
-+ 0x38, 0x2f, 0x29, 0x29, 0x2a, 0x58, 0x00, 0x00,
-+ 0x40, 0x50, 0xf8, 0xa4, 0xfc, 0x50, 0x58, 0xb4,
-+ 0x48, 0xfc, 0x50, 0x48, 0x48, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x67, 0x28, 0x1b, 0x24, 0x7c,
-+ 0x13, 0x39, 0x34, 0x35, 0x50, 0x13, 0x00, 0x00,
-+ 0x00, 0xfc, 0xcc, 0x74, 0xcc, 0x74, 0x44, 0xa0,
-+ 0x70, 0x9c, 0x68, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x69, 0x2f, 0x14, 0x2c, 0x7f,
-+ 0x15, 0x39, 0x35, 0x35, 0x51, 0x16, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x20, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0x30, 0x28, 0xfc, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x16, 0x16, 0x1a, 0x11,
-+ 0x17, 0x10, 0x1f, 0x22, 0x2c, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0xb8, 0xbc, 0xd4, 0x20,
-+ 0x60, 0x98, 0xe4, 0xb0, 0x88, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x72, 0x14, 0x0c, 0x13, 0x7f,
-+ 0x09, 0x2d, 0x2a, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc, 0x54,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x6b, 0x2a, 0x1b, 0x24, 0x7d,
-+ 0x10, 0x3b, 0x35, 0x35, 0x52, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x00, 0xf0,
-+ 0x00, 0xfc, 0x50, 0x48, 0x48, 0xc0, 0x00, 0x00,
-+ 0x10, 0x12, 0x16, 0x67, 0x28, 0x1b, 0x26, 0x7e,
-+ 0x13, 0x3a, 0x37, 0x34, 0x54, 0x19, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0xf8, 0x00, 0xb8, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0xb8, 0xa8, 0xc8, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x0a, 0x73, 0x14, 0x0c, 0x12, 0x7e,
-+ 0x08, 0x2d, 0x2a, 0x2a, 0x48, 0x09, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xfc, 0xa8, 0xf8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x48, 0xf0, 0x28, 0xc4, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x2a, 0x1b, 0x24, 0x7d,
-+ 0x10, 0x3b, 0x35, 0x35, 0x52, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x90, 0xb0,
-+ 0x48, 0xf4, 0x50, 0x48, 0x48, 0x40, 0x00, 0x00,
-+ 0x12, 0x11, 0x15, 0x64, 0x2a, 0x19, 0x25, 0x7c,
-+ 0x13, 0x39, 0x35, 0x35, 0x52, 0x14, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xfc, 0x20, 0xe0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x13, 0x14, 0x67, 0x2b, 0x1b, 0x24, 0x7d,
-+ 0x10, 0x3b, 0x34, 0x34, 0x53, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xfc, 0x58, 0xf8, 0x40, 0xf8,
-+ 0x00, 0xfc, 0x50, 0x88, 0xf4, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x2a, 0x1b, 0x26, 0x7e,
-+ 0x12, 0x3a, 0x36, 0x36, 0x53, 0x12, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0xe8, 0xa8,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x68, 0x08, 0x00, 0x00,
-+ 0x12, 0x12, 0x17, 0x6a, 0x2f, 0x18, 0x2b, 0x7e,
-+ 0x13, 0x3a, 0x37, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xe0, 0xa0, 0xfc, 0x48, 0xa8, 0xa8,
-+ 0xa8, 0x90, 0x90, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x14, 0x67, 0x29, 0x1b, 0x25, 0x7d,
-+ 0x13, 0x3b, 0x34, 0x34, 0x51, 0x12, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xb8, 0x10, 0xfc,
-+ 0x00, 0xfc, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x09, 0x0a, 0x72, 0x17, 0x0c, 0x12, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x18, 0xe8, 0xa8, 0x70, 0xfc, 0x70, 0xa8, 0x24,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x73, 0x14, 0x0d, 0x12, 0x7e,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x54, 0x88, 0xfc, 0x88, 0xf8,
-+ 0x88, 0xf8, 0xa8, 0xa4, 0x24, 0x60, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x28, 0x1b, 0x24, 0x7f,
-+ 0x11, 0x3f, 0x34, 0x37, 0x50, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x14, 0x65, 0x2a, 0x1b, 0x27, 0x7e,
-+ 0x13, 0x39, 0x35, 0x35, 0x51, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x08, 0xfc, 0x58, 0xe8,
-+ 0xf8, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x29, 0x1a, 0x26, 0x7f,
-+ 0x12, 0x3a, 0x37, 0x36, 0x50, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xb8, 0xa0, 0xb8, 0xa8, 0xb8,
-+ 0xa8, 0xa8, 0xb8, 0xa4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x12, 0x17, 0x66, 0x2a, 0x1b, 0x27, 0x7e,
-+ 0x13, 0x3a, 0x37, 0x37, 0x53, 0x12, 0x00, 0x00,
-+ 0x90, 0xd8, 0x68, 0xd0, 0xa8, 0xf8, 0xfc, 0xd8,
-+ 0x68, 0x90, 0x68, 0xf8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x14, 0x67, 0x2b, 0x1f, 0x24, 0x7f,
-+ 0x10, 0x3b, 0x36, 0x36, 0x52, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x58, 0x58, 0x40, 0xfc,
-+ 0x40, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x17, 0x68, 0x2f, 0x12, 0x2a, 0x7d,
-+ 0x11, 0x39, 0x35, 0x35, 0x52, 0x14, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa4, 0xf8, 0xe8, 0xf8, 0xe4,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x0b, 0x72, 0x14, 0x0c, 0x13, 0x7e,
-+ 0x0c, 0x2a, 0x2a, 0x28, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x50, 0x70, 0x8c, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x0b, 0x73, 0x14, 0x0d, 0x12, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x20, 0xfc, 0x08, 0xfc, 0xa8, 0x70, 0x78, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0x88, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x7d, 0x2e, 0x2a, 0x29, 0x7e, 0x13,
-+ 0x1d, 0x75, 0x15, 0x25, 0x29, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x7c, 0xa8, 0xa8, 0x28, 0xfc, 0xd0,
-+ 0x10, 0xfc, 0x50, 0x50, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x2a, 0x1b, 0x26, 0x7f,
-+ 0x18, 0x37, 0x36, 0x32, 0x57, 0x10, 0x00, 0x00,
-+ 0x10, 0xd0, 0x90, 0xdc, 0x60, 0xc0, 0xb8, 0xc0,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x15, 0x67, 0x29, 0x19, 0x27, 0x7c,
-+ 0x13, 0x3a, 0x36, 0x37, 0x52, 0x10, 0x00, 0x00,
-+ 0x00, 0x7c, 0x10, 0xd0, 0x38, 0x28, 0xb8, 0x28,
-+ 0xb8, 0xa8, 0xb8, 0xa8, 0xa4, 0x44, 0x00, 0x00,
-+ 0x11, 0x13, 0x15, 0x67, 0x29, 0x1a, 0x25, 0x7d,
-+ 0x11, 0x39, 0x35, 0x35, 0x50, 0x13, 0x00, 0x00,
-+ 0x10, 0xb8, 0x10, 0xfc, 0x10, 0xa8, 0xf4, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x10, 0x17, 0x11, 0x67, 0x2a, 0x1b, 0x27, 0x7f,
-+ 0x11, 0x39, 0x35, 0x35, 0x51, 0x16, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0xf8, 0xb8, 0x38, 0xf8, 0xf0,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x66, 0x2a, 0x1a, 0x26, 0x7e,
-+ 0x13, 0x3a, 0x37, 0x34, 0x54, 0x1b, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xf8,
-+ 0xfc, 0xa8, 0x74, 0xf8, 0x20, 0xfc, 0x00, 0x00,
-+ 0x11, 0x11, 0x15, 0x67, 0x2a, 0x1a, 0x24, 0x7e,
-+ 0x19, 0x35, 0x35, 0x32, 0x54, 0x10, 0x00, 0x00,
-+ 0x00, 0x7c, 0x10, 0xd0, 0xb8, 0x68, 0xf8, 0xa8,
-+ 0xb8, 0xa8, 0x78, 0x68, 0x24, 0x44, 0x00, 0x00,
-+ 0x10, 0x13, 0x16, 0x67, 0x2b, 0x1a, 0x27, 0x7d,
-+ 0x12, 0x3b, 0x34, 0x35, 0x50, 0x13, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xb8, 0xa8, 0xb8, 0xa8,
-+ 0x44, 0xfc, 0x90, 0xe0, 0x70, 0x88, 0x00, 0x00,
-+ 0x10, 0x11, 0x17, 0x65, 0x29, 0x19, 0x25, 0x7f,
-+ 0x10, 0x3b, 0x35, 0x35, 0x50, 0x17, 0x00, 0x00,
-+ 0xf0, 0x20, 0xf8, 0xf8, 0xe4, 0x38, 0xe4, 0x5c,
-+ 0xf0, 0xf0, 0x50, 0xf8, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x12, 0x12, 0x13, 0x6d, 0x2f, 0x1a, 0x2e, 0x7a,
-+ 0x16, 0x3a, 0x3e, 0x33, 0x56, 0x10, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xa8, 0x68, 0xfc, 0xa0, 0xe8, 0xa8,
-+ 0xe8, 0xd0, 0x90, 0xf4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x11, 0x11, 0x17, 0x69, 0x2f, 0x1a, 0x2e, 0x7a,
-+ 0x16, 0x3a, 0x3e, 0x33, 0x56, 0x10, 0x00, 0x00,
-+ 0x20, 0x30, 0xe8, 0x28, 0xfc, 0xa0, 0xe8, 0xa8,
-+ 0xe8, 0xd0, 0x90, 0xf4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x01, 0x3f, 0x0f, 0x7f, 0x0f, 0x7f, 0x1f, 0x2e,
-+ 0x2f, 0x2e, 0x2e, 0x3f, 0x2a, 0x49, 0x00, 0x00,
-+ 0x00, 0xf8, 0xe0, 0xfc, 0xe0, 0xfc, 0xe0, 0xdc,
-+ 0xf8, 0xd0, 0x28, 0xfc, 0x58, 0x94, 0x00, 0x00,
-+ 0x10, 0x17, 0x15, 0x6f, 0x2f, 0x15, 0x2f, 0x7d,
-+ 0x19, 0x35, 0x35, 0x31, 0x50, 0x17, 0x00, 0x00,
-+ 0x20, 0xbc, 0x40, 0xf8, 0xfc, 0x74, 0xfc, 0xf0,
-+ 0xf0, 0xf0, 0x10, 0xf4, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x10, 0x11, 0x1e, 0x28, 0x48, 0x7f, 0x08, 0x2a,
-+ 0x2a, 0x2a, 0x2a, 0x3e, 0x23, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x1e, 0x28, 0x48, 0x7f, 0x08, 0x2b,
-+ 0x2a, 0x2a, 0x2a, 0x3e, 0x23, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x28, 0x28, 0x28, 0xfc,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 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,
-+ 0x10, 0x10, 0x11, 0x3f, 0x29, 0x49, 0x7f, 0x09,
-+ 0x2d, 0x2d, 0x2d, 0x3e, 0x26, 0x24, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x58, 0xe8, 0x38, 0x18, 0xe8,
-+ 0xa8, 0x70, 0xfc, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x3e, 0x14, 0x66,
-+ 0x0f, 0x11, 0x7f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0xf8, 0x50, 0x8c,
-+ 0xf0, 0x00, 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x0f, 0x09, 0x0f, 0x0f, 0x3e, 0x3e, 0x2a,
-+ 0x3e, 0x0f, 0x7f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xf8, 0xf8, 0xa8,
-+ 0xf8, 0xe0, 0xfc, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x3f, 0x2b, 0x48, 0x7f, 0x0b,
-+ 0x2d, 0x2c, 0x2f, 0x3c, 0x24, 0x23, 0x00, 0x00,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0xf8, 0x40, 0xfc, 0x78,
-+ 0xd8, 0xf0, 0xfc, 0x90, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x3f, 0x29, 0x49, 0x7e, 0x09,
-+ 0x2f, 0x2d, 0x2d, 0x3d, 0x25, 0x21, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0xf8, 0x68, 0xf8, 0x90, 0xfc,
-+ 0x20, 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x44, 0x44, 0x44, 0x66, 0x55, 0x48,
-+ 0x4c, 0x4c, 0x53, 0x51, 0x62, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x88,
-+ 0xc8, 0xc8, 0x28, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x44, 0x08, 0x10, 0x1f, 0x01,
-+ 0x01, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x88, 0x78, 0x00, 0xf0, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x22, 0x22, 0x3f, 0x21, 0x27,
-+ 0x24, 0x24, 0x24, 0x23, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0xf8, 0x08, 0xe8,
-+ 0x08, 0x08, 0x08, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3f, 0x00, 0x7f, 0x00,
-+ 0x01, 0x07, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x00, 0xfc, 0x80,
-+ 0x80, 0x60, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3f, 0x21, 0x01, 0x7f,
-+ 0x01, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0xfc,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x00, 0x1f, 0x10, 0x1f,
-+ 0x11, 0x1f, 0x10, 0x10, 0x1f, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x00, 0xf8, 0x80, 0x44, 0x34, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x02, 0x7f, 0x09, 0x1f,
-+ 0x69, 0x0f, 0x09, 0x0f, 0x09, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0xfc, 0x20, 0xf0,
-+ 0x2c, 0xe0, 0x20, 0xe8, 0x08, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x01, 0x01, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3f, 0x08, 0x08, 0x7f,
-+ 0x1c, 0x1a, 0x2a, 0x49, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x20, 0x20, 0xfc,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x00, 0x1c, 0x7f, 0x00,
-+ 0x1c, 0x1c, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x10, 0x10, 0xfc, 0x10,
-+ 0x90, 0x50, 0x50, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x10, 0x14, 0x64, 0x19,
-+ 0x15, 0x7f, 0x2d, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0xf0, 0x90, 0xf0, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x14, 0x7e, 0x3e, 0x22,
-+ 0x3e, 0x3e, 0x22, 0x26, 0x24, 0x42, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x90, 0xe0, 0x88, 0x78,
-+ 0x90, 0xe0, 0x88, 0x78, 0x88, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x7f, 0x0f, 0x08, 0x0f,
-+ 0x0f, 0x7f, 0x1f, 0x69, 0x09, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0xfc, 0xe0, 0x20, 0xe0,
-+ 0xe0, 0xfc, 0xf0, 0x2c, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x14, 0x7f, 0x14, 0x1c,
-+ 0x3e, 0x2a, 0x3e, 0x7f, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0xfc, 0xa0, 0xf8, 0xa0,
-+ 0xf8, 0xa0, 0xfc, 0xd4, 0x6c, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x14, 0x7f, 0x14, 0x1c,
-+ 0x3f, 0x2a, 0x3e, 0x7f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x20, 0xf8, 0x60, 0x90,
-+ 0xfc, 0xe8, 0xa8, 0xe8, 0x88, 0x18, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x04, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x04, 0x04, 0x3f, 0x01, 0x01, 0x1f, 0x01,
-+ 0x01, 0x7f, 0x00, 0x24, 0x22, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x00, 0x00, 0xf0, 0x00,
-+ 0x00, 0xfc, 0x00, 0x88, 0x44, 0x44, 0x00, 0x00,
-+ 0x08, 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x08,
-+ 0x0f, 0x11, 0x2f, 0x42, 0x3f, 0x00, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00,
-+ 0xe0, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x22, 0x12, 0x14, 0x7f, 0x08, 0x08, 0x3e, 0x08,
-+ 0x0e, 0x78, 0x10, 0x11, 0x27, 0x40, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0xa0, 0xa0, 0xa0, 0xfc, 0x90,
-+ 0x90, 0x94, 0xcc, 0x8c, 0xf4, 0x04, 0x00, 0x00,
-+ 0x22, 0x12, 0x14, 0x7f, 0x08, 0x09, 0x3e, 0x09,
-+ 0x0e, 0x78, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x00, 0xf8,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x7f, 0x1f, 0x07, 0x1c, 0x67,
-+ 0x04, 0x3f, 0x1f, 0x01, 0x7f, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0xf0, 0xf8, 0x08, 0xf8,
-+ 0x40, 0xf8, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x22, 0x12, 0x14, 0x7f, 0x08, 0x08, 0x3e, 0x08,
-+ 0x0f, 0x79, 0x11, 0x11, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x40, 0xfc,
-+ 0x24, 0x64, 0x94, 0xf4, 0x04, 0x18, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x06, 0x38,
-+ 0x7f, 0x1a, 0x7f, 0x1e, 0x02, 0x0d, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x50, 0x48,
-+ 0xfc, 0x28, 0x28, 0x14, 0x6c, 0x84, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x1f, 0x7f, 0x24, 0x4a, 0x3f,
-+ 0x0f, 0x7f, 0x01, 0x7f, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0xfc, 0x88, 0x64, 0xf8,
-+ 0xe0, 0xfc, 0x00, 0xfc, 0x60, 0x1c, 0x00, 0x00,
-+ 0x04, 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x24, 0x42,
-+ 0x3f, 0x0f, 0x01, 0x7f, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x88, 0x44,
-+ 0xf8, 0xe0, 0x00, 0xfc, 0x60, 0x1c, 0x00, 0x00,
-+ 0x44, 0x2b, 0x7f, 0x12, 0x12, 0x3a, 0x13, 0x1d,
-+ 0x71, 0x11, 0x21, 0x21, 0x47, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x1f, 0x1f, 0x10, 0x1f, 0x3a,
-+ 0x2f, 0x3b, 0x29, 0x3f, 0x29, 0x59, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0xf0, 0x10, 0xf0, 0xb8,
-+ 0xe8, 0xa8, 0x38, 0xec, 0x2c, 0x44, 0x00, 0x00,
-+ 0x08, 0x3f, 0x01, 0x1f, 0x7f, 0x01, 0x19, 0x7f,
-+ 0x19, 0x19, 0x3d, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x20, 0xf8, 0x00, 0xf0, 0xfc, 0x00, 0x30, 0xfc,
-+ 0x30, 0x30, 0x78, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x11, 0x12, 0x7c, 0x24,
-+ 0x15, 0x1a, 0x08, 0x14, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0xd8, 0x68, 0x48, 0xd8, 0xd8,
-+ 0x68, 0x48, 0x48, 0xd8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3e, 0x0a, 0x36, 0x0a, 0x32, 0x02, 0x3f,
-+ 0x04, 0x09, 0x31, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0xd8, 0x28, 0xc8, 0x00, 0xc0,
-+ 0x44, 0x3c, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7d, 0x09, 0x4a, 0x2c, 0x28,
-+ 0x29, 0x11, 0x1a, 0x64, 0x00, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x98, 0x98, 0xa8, 0xc8, 0x98,
-+ 0x98, 0xa8, 0xc8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x70, 0x0f, 0x08, 0x0f, 0x00,
-+ 0x7f, 0x0a, 0x36, 0x0a, 0x32, 0x06, 0x00, 0x00,
-+ 0x00, 0x80, 0xe0, 0x1c, 0xe0, 0x20, 0xe0, 0x00,
-+ 0xf8, 0x28, 0xd8, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x44, 0x27, 0x28, 0x7c, 0x12, 0x11, 0x3d, 0x10,
-+ 0x19, 0x72, 0x14, 0x10, 0x20, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xc8, 0xa8, 0xa8, 0x88,
-+ 0x98, 0xa8, 0xc8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x04, 0x7c, 0x04, 0x3c, 0x04, 0x7c, 0x08, 0x7f,
-+ 0x06, 0x1a, 0x67, 0x1a, 0x63, 0x06, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf8, 0x80, 0xfc, 0x80, 0xf8,
-+ 0x18, 0x68, 0x98, 0x68, 0x88, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x3e, 0x3a, 0x26, 0x3a, 0x26, 0x26,
-+ 0x7f, 0x0a, 0x36, 0x0a, 0x32, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x08, 0x48, 0x48, 0x48, 0x48, 0x18,
-+ 0xf8, 0x28, 0xd8, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x3e, 0x22, 0x3f, 0x20, 0x3e,
-+ 0x2e, 0x7f, 0x6e, 0x2e, 0x2e, 0x26, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xd8, 0xd8, 0x68, 0x48, 0xd8,
-+ 0xd8, 0x68, 0x48, 0x48, 0x48, 0xd8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2e, 0x34, 0x3f, 0x2c, 0x32, 0x3f,
-+ 0x3e, 0x0a, 0x36, 0x0a, 0x32, 0x06, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x8c, 0xf8, 0x50, 0x30, 0xcc,
-+ 0xf8, 0x28, 0xd8, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x08, 0x3d, 0x08, 0x7e, 0x25, 0x7e, 0x24, 0x3e,
-+ 0x41, 0x7e, 0x14, 0x14, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0xd8, 0x68, 0x48, 0xd8, 0xd8,
-+ 0x68, 0x48, 0x48, 0xdc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x06, 0x7b, 0x2a, 0x1c, 0x7f, 0x1c, 0x1a, 0x29,
-+ 0x7e, 0x2a, 0x3e, 0x2a, 0x3f, 0x22, 0x00, 0x00,
-+ 0x00, 0xf4, 0x78, 0xb8, 0xb4, 0xac, 0xa4, 0xf4,
-+ 0xb8, 0xb8, 0xb4, 0xac, 0x2c, 0x24, 0x00, 0x00,
-+ 0x02, 0x1f, 0x02, 0x7f, 0x03, 0x0f, 0x72, 0x01,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0xe0, 0x40, 0xfc, 0x30, 0xc8, 0x08, 0xf8,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x02, 0x1f, 0x02, 0x7f, 0x03, 0x0f, 0x72, 0x01,
-+ 0x1f, 0x03, 0x3e, 0x03, 0x7e, 0x01, 0x00, 0x00,
-+ 0x10, 0xe0, 0x40, 0xfc, 0x30, 0xc8, 0x08, 0xf8,
-+ 0x80, 0xf0, 0x00, 0xfc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x02, 0x1f, 0x02, 0x7f, 0x03, 0x0f, 0x71, 0x3f,
-+ 0x02, 0x3f, 0x0f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x10, 0xe0, 0x40, 0xfc, 0x30, 0xc4, 0xfc, 0xf8,
-+ 0x20, 0xf8, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x01, 0x7f,
-+ 0x03, 0x05, 0x19, 0x61, 0x01, 0x01, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc,
-+ 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x0e, 0x78, 0x08, 0x3e, 0x09, 0x7e, 0x08,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x20, 0x30, 0x48, 0x58, 0xe4, 0x04, 0x00, 0x00,
-+ 0x08, 0x0e, 0x78, 0x08, 0x3e, 0x08, 0x7f, 0x08,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x0e, 0x78, 0x08, 0x3e, 0x08, 0x7e, 0x08,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0xf0, 0x90, 0x80,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x1f, 0x72, 0x12, 0x3b, 0x12, 0x7e, 0x1b,
-+ 0x36, 0x36, 0x53, 0x16, 0x10, 0x11, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0xc8, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x0f, 0x79, 0x09, 0x3f, 0x09, 0x7f, 0x0d,
-+ 0x1b, 0x1b, 0x29, 0x4a, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x00, 0xfc, 0x54, 0x78,
-+ 0xcc, 0xfc, 0x48, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x12, 0x1e, 0x12, 0x12, 0x1f,
-+ 0x12, 0x12, 0x1e, 0x72, 0x03, 0x02, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x24, 0xa4, 0xa8, 0xb0, 0x20,
-+ 0x30, 0x50, 0x50, 0x88, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x24, 0x3c, 0x24, 0x24, 0x3c,
-+ 0x24, 0x24, 0x3c, 0x64, 0x07, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xa0, 0xb8, 0xa0, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x2a, 0x2a, 0x3a, 0x2a, 0x2a, 0x3a,
-+ 0x2a, 0x2b, 0x3e, 0x68, 0x09, 0x0a, 0x00, 0x00,
-+ 0x80, 0x38, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xb8, 0xa0, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x24, 0x3d, 0x27, 0x24, 0x3f,
-+ 0x24, 0x24, 0x3c, 0x64, 0x04, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xa0, 0x10, 0xf8, 0x04, 0xf8,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x24, 0x3c, 0x25, 0x24, 0x3c,
-+ 0x24, 0x24, 0x3c, 0x64, 0x04, 0x04, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x7f, 0x25, 0x25, 0x3d, 0x25, 0x24, 0x3f,
-+ 0x24, 0x24, 0x3c, 0x64, 0x04, 0x04, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x12, 0x1e, 0x1e, 0x12, 0x1f, 0x72,
-+ 0x03, 0x09, 0x35, 0x09, 0x31, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x48, 0x30, 0x70, 0x88, 0x44,
-+ 0x90, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x10, 0x1e, 0x28, 0x7f, 0x0c, 0x12, 0x20, 0x7f,
-+ 0x08, 0x0f, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0xfc,
-+ 0x20, 0xe0, 0xe0, 0x3c, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x7e, 0x25, 0x25, 0x3e, 0x25, 0x24, 0x3c,
-+ 0x24, 0x24, 0x3c, 0x64, 0x05, 0x06, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xfc, 0x20, 0xa0,
-+ 0xb8, 0xa0, 0xa0, 0xe0, 0x20, 0x1c, 0x00, 0x00,
-+ 0x01, 0x7d, 0x2e, 0x2a, 0x39, 0x2a, 0x2f, 0x38,
-+ 0x28, 0x2f, 0x38, 0x68, 0x09, 0x0a, 0x00, 0x00,
-+ 0x10, 0x10, 0xe8, 0xa8, 0x10, 0xa8, 0xfc, 0x44,
-+ 0x90, 0xfc, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x09, 0x31, 0x0a, 0x15, 0x71, 0x12, 0x14, 0x7f,
-+ 0x08, 0x0f, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x10, 0x90, 0x68, 0x44, 0x78, 0xc0, 0x7c, 0xfc,
-+ 0x20, 0xe0, 0xe0, 0x3c, 0xe0, 0x20, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x3e, 0x2a, 0x3e, 0x21,
-+ 0x5f, 0x0f, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x70, 0x50, 0x54, 0x8c, 0xf8, 0x50, 0x30, 0xcc,
-+ 0xf8, 0xe0, 0xe0, 0x38, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x25, 0x25, 0x3d, 0x25, 0x25, 0x3d,
-+ 0x24, 0x25, 0x3d, 0x66, 0x04, 0x04, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0x78, 0xa8, 0x68, 0x98, 0xf8,
-+ 0x40, 0xa8, 0xa4, 0x84, 0x90, 0x70, 0x00, 0x00,
-+ 0x00, 0x3f, 0x04, 0x07, 0x07, 0x3f, 0x00, 0x7f,
-+ 0x12, 0x1e, 0x1e, 0x12, 0x7f, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xc0, 0xc0, 0xc0, 0x40, 0xfc,
-+ 0x90, 0xf0, 0xf0, 0x90, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x2a, 0x2d, 0x3a, 0x2c, 0x2b, 0x3a,
-+ 0x2f, 0x28, 0x3f, 0x68, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x48, 0xa8, 0x94, 0x70, 0xf8, 0xa8,
-+ 0xfc, 0x00, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7c, 0x2f, 0x38, 0x3b, 0x2a, 0x3b, 0x68,
-+ 0x7f, 0x28, 0x7a, 0x3a, 0x6c, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0xa8, 0xf8, 0x00,
-+ 0xfc, 0x40, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x1f, 0x01,
-+ 0x1f, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0, 0x00,
-+ 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x20, 0x26, 0x38, 0x22, 0x1f, 0x10, 0x1e, 0x28,
-+ 0x7e, 0x08, 0x15, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x20, 0x3c, 0x21, 0x3c, 0x20, 0x7e,
-+ 0x10, 0x18, 0x25, 0x2a, 0x72, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x1f, 0x15, 0x1d,
-+ 0x11, 0x1f, 0x11, 0x1d, 0x25, 0x45, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0, 0x50, 0x70,
-+ 0x10, 0xf0, 0x10, 0x70, 0x50, 0x50, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x24, 0x3c, 0x24, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3f, 0x20, 0x20, 0x1f, 0x00, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0xf8, 0x00, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x24, 0x3f, 0x24, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0xf8, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x3c, 0x24, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x68,
-+ 0x98, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x20, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0x08, 0xe8, 0x08, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x24, 0x3c, 0x24, 0x24,
-+ 0x3c, 0x24, 0x24, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x40, 0x60, 0x60,
-+ 0x60, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x09, 0x09, 0x17, 0x61, 0x00, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0xf8, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x25, 0x3e, 0x24, 0x24,
-+ 0x3c, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x40, 0x40, 0x7c, 0x40,
-+ 0x40, 0x7c, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x27, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0xd4, 0x14, 0x0c, 0xfc, 0x04, 0x00, 0x00,
-+ 0x01, 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x00, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x24, 0x3c, 0x24, 0x25,
-+ 0x3e, 0x24, 0x24, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x40, 0x60, 0xd0, 0x48,
-+ 0x44, 0x44, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x26, 0x3f, 0x24, 0x24,
-+ 0x3f, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0x50, 0x48, 0x44, 0xf8, 0x40, 0x40,
-+ 0xfc, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x24, 0x3f, 0x24, 0x24,
-+ 0x3d, 0x25, 0x26, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x20, 0x20, 0xc0, 0x48, 0xe8, 0xf0, 0xe0,
-+ 0x50, 0x50, 0x48, 0x44, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x25, 0x3e, 0x24, 0x27,
-+ 0x3c, 0x24, 0x24, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0x10, 0xe8, 0x04, 0xf8,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x26, 0x25, 0x25, 0x3c, 0x27, 0x24,
-+ 0x3c, 0x24, 0x25, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0x48, 0x48, 0x50, 0x60, 0x40, 0xfc, 0xa0,
-+ 0xa0, 0xa0, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x25, 0x3d, 0x24, 0x24,
-+ 0x3d, 0x24, 0x24, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xa8, 0x50, 0x50, 0xa8, 0x00,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x15, 0x16, 0x34, 0x57, 0x14,
-+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x90, 0x60, 0xf0, 0x0c, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x10, 0x1f, 0x14, 0x37, 0x2c,
-+ 0x5f, 0x10, 0x1f, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x00, 0xfc, 0x90, 0x60, 0x1c,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x24, 0x3d, 0x25, 0x27,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0xa0, 0x38, 0x48, 0x68,
-+ 0xd0, 0x50, 0x20, 0x50, 0x88, 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, 0x3f, 0x24, 0x28, 0x29, 0x32, 0x28, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x80, 0xfc, 0x80, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0x2b, 0x2a, 0x3a, 0x2b, 0x2a,
-+ 0x3a, 0x2f, 0x28, 0x28, 0x29, 0x5a, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8,
-+ 0xa8, 0xfc, 0xa0, 0x90, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3c, 0x24, 0x27, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x50, 0x90, 0xfc, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x24, 0x3c, 0x27, 0x24,
-+ 0x3c, 0x27, 0x24, 0x25, 0x25, 0x4e, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xbc, 0xa0, 0xa0, 0xbc, 0xa0,
-+ 0xe0, 0xbc, 0xa0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x38, 0x2b, 0x2a, 0x2a, 0x3a, 0x2a, 0x2b,
-+ 0x3a, 0x2a, 0x2a, 0x2c, 0x2c, 0x58, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x48, 0x48, 0x88, 0xfc, 0xc8,
-+ 0xa8, 0xa8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x01, 0x3c, 0x24, 0x27, 0x24, 0x3c, 0x24, 0x27,
-+ 0x3c, 0x24, 0x24, 0x25, 0x25, 0x4e, 0x00, 0x00,
-+ 0x08, 0x88, 0x90, 0xfc, 0x90, 0x90, 0x90, 0xfc,
-+ 0x90, 0x90, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x38, 0x2f, 0x29, 0x2a, 0x3a, 0x2f, 0x29,
-+ 0x3d, 0x2d, 0x2b, 0x2b, 0x2c, 0x58, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0xe0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3c, 0x25, 0x25, 0x26, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xa8, 0xa4, 0x84, 0x90, 0x70, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x24, 0x24,
-+ 0x3d, 0x26, 0x25, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0xa0, 0xa0,
-+ 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x24, 0x3c, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0xa8, 0xa8, 0x50, 0x50, 0xa8, 0x40, 0xf8, 0x28,
-+ 0xe8, 0x28, 0x58, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3d, 0x26, 0x26, 0x27, 0x3e, 0x26, 0x27,
-+ 0x3e, 0x24, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0x58, 0x48, 0x48, 0x58, 0x48, 0x48, 0x58,
-+ 0x48, 0x60, 0xa0, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x24,
-+ 0x3d, 0x25, 0x25, 0x25, 0x27, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0x28, 0x58, 0x88, 0xf8, 0x00,
-+ 0xf8, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3b, 0x28, 0x29, 0x29, 0x39, 0x28, 0x2b,
-+ 0x3a, 0x2b, 0x2a, 0x2a, 0x2a, 0x5a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0xa8, 0x38, 0xe8, 0x48, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x24, 0x27, 0x25, 0x24, 0x4c, 0x00, 0x00,
-+ 0x50, 0xfc, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x48,
-+ 0x58, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x25, 0x24, 0x3f, 0x26, 0x27,
-+ 0x3c, 0x24, 0x24, 0x24, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xfc, 0x48, 0xfc,
-+ 0x40, 0x78, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x7e, 0x11, 0x1e, 0x14, 0x24, 0x39, 0x4f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0xfc, 0x20, 0xe8, 0x90, 0xe8, 0x84, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x26, 0x25, 0x3e, 0x24, 0x25,
-+ 0x3e, 0x25, 0x24, 0x25, 0x24, 0x4f, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xd8, 0xa8, 0xc8, 0x40, 0xb0,
-+ 0x4c, 0xa0, 0x48, 0x90, 0x60, 0x80, 0x00, 0x00,
-+ 0x00, 0x3b, 0x2a, 0x2a, 0x2b, 0x3a, 0x2b, 0x2b,
-+ 0x3b, 0x2a, 0x2b, 0x2a, 0x2b, 0x5a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x38, 0x28, 0xf8, 0x28, 0xe8, 0x78,
-+ 0xf8, 0x68, 0xb8, 0x58, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x26, 0x3f, 0x27, 0x24,
-+ 0x3d, 0x24, 0x27, 0x24, 0x25, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0x00,
-+ 0xf8, 0x08, 0xfc, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x26, 0x24, 0x3d, 0x27, 0x24,
-+ 0x3d, 0x24, 0x25, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa8, 0xa4, 0x1c, 0xf8, 0x90,
-+ 0xf8, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x26, 0x27, 0x3c, 0x24, 0x27,
-+ 0x3c, 0x25, 0x24, 0x24, 0x27, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x08, 0xfc, 0x50, 0x88, 0xf4,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x27, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3f, 0x25, 0x25, 0x26, 0x25, 0x4c, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0xfc, 0x00, 0xf8, 0xa8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x00, 0x38, 0x2f, 0x2b, 0x28, 0x3f, 0x2b, 0x2a,
-+ 0x3b, 0x2b, 0x2a, 0x2b, 0x29, 0x5a, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0xe0, 0x20, 0xe0, 0xe0, 0x50,
-+ 0xd0, 0xd4, 0x4c, 0xcc, 0x84, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x24, 0x27, 0x3c, 0x25, 0x26,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x18, 0xe8, 0x48, 0xd0, 0xfc, 0xe0, 0x50, 0x4c,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x24, 0x3f, 0x25, 0x25,
-+ 0x3e, 0x24, 0x27, 0x24, 0x24, 0x4c, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0xd0, 0x40, 0xfc, 0x50, 0x50,
-+ 0xe8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x26, 0x27, 0x3f, 0x26, 0x27,
-+ 0x3d, 0x25, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0x40, 0xa0, 0xf0, 0x08, 0xfc, 0x58, 0xe8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x02, 0x3d, 0x25, 0x24, 0x26, 0x3d, 0x25, 0x24,
-+ 0x3f, 0x25, 0x25, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x78, 0x90, 0xfc, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x48, 0xd8, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x27, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3d, 0x25, 0x25, 0x26, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0x54, 0x8c, 0x70, 0xfc,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x3f, 0x2a, 0x3f, 0x52,
-+ 0x3f, 0x10, 0x1f, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x9c, 0xf8, 0x50, 0x30, 0xcc,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3f, 0x3e, 0x32, 0x5e, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xf8, 0x20, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x15, 0x1e, 0x14, 0x14,
-+ 0x13, 0x12, 0x13, 0x23, 0x22, 0x42, 0x00, 0x00,
-+ 0x80, 0xfc, 0x90, 0xfc, 0xf8, 0xf8, 0x90, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x27, 0x3c, 0x27, 0x26,
-+ 0x3e, 0x27, 0x25, 0x25, 0x26, 0x4c, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xb8, 0xa8,
-+ 0xa8, 0xb8, 0x10, 0x98, 0x64, 0x44, 0x00, 0x00,
-+ 0x00, 0x38, 0x2f, 0x28, 0x2f, 0x3a, 0x2b, 0x2c,
-+ 0x39, 0x29, 0x29, 0x29, 0x2a, 0x5c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa4, 0xf8, 0xe8, 0xf8, 0x44,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3b, 0x28, 0x2b, 0x2a, 0x3f, 0x2b, 0x28,
-+ 0x3b, 0x28, 0x2b, 0x2a, 0x2a, 0x5a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0x40,
-+ 0xf8, 0x80, 0xf8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x28, 0x29, 0x3f, 0x29, 0x29,
-+ 0x3b, 0x2d, 0x28, 0x2a, 0x2a, 0x5c, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xe0, 0x10, 0xf4, 0xb8, 0xb0,
-+ 0xf4, 0xac, 0x00, 0xa8, 0x54, 0x54, 0x00, 0x00,
-+ 0x02, 0x3a, 0x2c, 0x2a, 0x2b, 0x3a, 0x2a, 0x2b,
-+ 0x3b, 0x2a, 0x2b, 0x2a, 0x2b, 0x5e, 0x00, 0x00,
-+ 0x48, 0x48, 0x90, 0x48, 0xf8, 0x68, 0xe8, 0xf8,
-+ 0x68, 0xd8, 0x68, 0xd8, 0x6c, 0xc4, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x25, 0x25, 0x3d, 0x25, 0x25,
-+ 0x3c, 0x27, 0x25, 0x25, 0x25, 0x4d, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xfc, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0xf8, 0x48, 0x68, 0x98, 0xf8, 0x30, 0x00, 0x00,
-+ 0x00, 0x38, 0x2b, 0x2a, 0x2b, 0x3a, 0x2a, 0x2a,
-+ 0x3a, 0x2a, 0x2b, 0x2b, 0x2d, 0x5b, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x68, 0xb8, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3f, 0x29, 0x28, 0x2d, 0x3d, 0x2f, 0x29,
-+ 0x3f, 0x2b, 0x2b, 0x2d, 0x2a, 0x5c, 0x00, 0x00,
-+ 0x10, 0xfc, 0x18, 0x14, 0xfc, 0x10, 0xf4, 0xd4,
-+ 0xf8, 0xb8, 0xf4, 0xdc, 0xec, 0x44, 0x00, 0x00,
-+ 0x13, 0x6f, 0x13, 0x2b, 0x7f, 0x3a, 0x57, 0x01,
-+ 0x3f, 0x22, 0x2d, 0x22, 0x2c, 0x20, 0x00, 0x00,
-+ 0x90, 0xe8, 0x90, 0xa8, 0xfc, 0xb8, 0xd4, 0x00,
-+ 0xf8, 0xc8, 0x28, 0xc8, 0x28, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x2f, 0x28, 0x2f, 0x3d, 0x2f, 0x0c,
-+ 0x7c, 0x2f, 0x2d, 0x57, 0x14, 0x20, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xc8, 0x48, 0xc8, 0xa8,
-+ 0xb0, 0xb0, 0x14, 0xf4, 0x4c, 0x84, 0x00, 0x00,
-+ 0x01, 0x1f, 0x0f, 0x0f, 0x08, 0x0f, 0x3f, 0x2f,
-+ 0x42, 0x1f, 0x0f, 0x01, 0x3f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0xe0, 0xe0, 0x20, 0xe0, 0xfc, 0xe8,
-+ 0x40, 0xf0, 0xe0, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x7c, 0x13, 0x18, 0x25, 0x7c, 0x13, 0x11,
-+ 0x7e, 0x13, 0x10, 0x1d, 0x62, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0xa0, 0xfc, 0x30,
-+ 0xc8, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x01, 0x05, 0x39, 0x21, 0x21, 0x3d, 0x21, 0x21,
-+ 0x3d, 0x21, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x00, 0x78, 0x08, 0x08, 0x78, 0x08, 0x08,
-+ 0x78, 0x88, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x02, 0x1c, 0x10, 0x1e, 0x10, 0x10, 0x1f, 0x12,
-+ 0x02, 0x7f, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x50,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x3f, 0x01, 0x1f, 0x02, 0x7f, 0x04, 0x1a,
-+ 0x6c, 0x08, 0x0e, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x80, 0xfc, 0x40, 0x30,
-+ 0xec, 0x20, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x02, 0x3c, 0x3e, 0x20, 0x3f, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0xf8, 0x08, 0xf8, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0xf8, 0x08, 0x08, 0x70, 0x00, 0x00,
-+ 0x0a, 0x32, 0x23, 0x22, 0x3b, 0x20, 0x3a, 0x22,
-+ 0x22, 0x7f, 0x00, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0x38, 0x88, 0x08, 0xb8, 0x88, 0xb8, 0x88,
-+ 0x88, 0xfc, 0x00, 0x60, 0x18, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x1f, 0x71, 0x1f, 0x1f, 0x1f,
-+ 0x02, 0x1c, 0x1e, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc0, 0xf8, 0x00, 0xe0, 0xe0, 0xf8,
-+ 0x00, 0xf0, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x18, 0x6f, 0x01, 0x01, 0x3f,
-+ 0x01, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0x30, 0xec, 0x00, 0x00, 0xf8,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x02, 0x04, 0x38, 0x08, 0x08, 0x7f, 0x08, 0x08,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0xa0, 0xa0, 0xa0, 0xfc, 0xa0,
-+ 0xa0, 0x90, 0x94, 0xac, 0xcc, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x3f, 0x49, 0x09, 0x7f,
-+ 0x09, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1a, 0x16, 0x17, 0x1f,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x23, 0x46, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x50, 0x88, 0x88, 0x24, 0x20,
-+ 0x20, 0x50, 0x48, 0x98, 0xe4, 0x04, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x13, 0x1a, 0x16, 0x16, 0x1f,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x23, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x40, 0x40, 0x78, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x09, 0x1e, 0x12, 0x1a, 0x16, 0x16, 0x1f,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x22, 0x46, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1a, 0x16, 0x16, 0x1f,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x22, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x09, 0x1e, 0x12, 0x1b, 0x16, 0x17, 0x1e,
-+ 0x72, 0x1b, 0x1a, 0x2a, 0x22, 0x46, 0x00, 0x00,
-+ 0x0c, 0xf0, 0xa8, 0xa4, 0x24, 0x10, 0xf8, 0x10,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x12, 0x1b, 0x16, 0x16, 0x1e,
-+ 0x72, 0x1a, 0x1b, 0x2b, 0x22, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0xf8, 0x04, 0xf8, 0xf8, 0x88,
-+ 0xf8, 0x80, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x10, 0x3d, 0x25, 0x35, 0x2d, 0x2d, 0x3f,
-+ 0x64, 0x37, 0x34, 0x34, 0x25, 0x4e, 0x00, 0x00,
-+ 0x40, 0xc0, 0x58, 0x48, 0xd8, 0x48, 0xd8, 0x48,
-+ 0x40, 0xf8, 0x90, 0x60, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x11, 0x3c, 0x27, 0x36, 0x2d, 0x2d, 0x3e,
-+ 0x65, 0x34, 0x37, 0x34, 0x25, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0xd8, 0xd8, 0x40,
-+ 0xf8, 0x08, 0xfc, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x13, 0x3c, 0x27, 0x36, 0x2f, 0x2e, 0x3f,
-+ 0x65, 0x35, 0x35, 0x35, 0x25, 0x4d, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x08, 0x1e, 0x13, 0x1a, 0x16, 0x16, 0x1e,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x23, 0x46, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x09, 0x10, 0x3f, 0x24, 0x35, 0x2c, 0x2f, 0x3c,
-+ 0x65, 0x37, 0x34, 0x37, 0x24, 0x4d, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x68,
-+ 0xa4, 0xfc, 0xe8, 0x94, 0xec, 0x84, 0x00, 0x00,
-+ 0x08, 0x10, 0x3f, 0x25, 0x35, 0x2e, 0x2f, 0x3c,
-+ 0x67, 0x36, 0x36, 0x36, 0x27, 0x4e, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x50, 0x50, 0xe8, 0xfc, 0x00,
-+ 0xf8, 0xe8, 0xa8, 0xe8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x13, 0x3c, 0x27, 0x36, 0x2c, 0x2f, 0x3c,
-+ 0x67, 0x34, 0x37, 0x34, 0x27, 0x4c, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0xfc, 0xe8, 0x00, 0xfc, 0x48,
-+ 0xe8, 0xb0, 0x70, 0xa8, 0x24, 0xc0, 0x00, 0x00,
-+ 0x08, 0x10, 0x3f, 0x25, 0x35, 0x2d, 0x2d, 0x3d,
-+ 0x66, 0x35, 0x35, 0x35, 0x25, 0x4d, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xf8, 0x48, 0xf8, 0xf8, 0xa8,
-+ 0x54, 0xf8, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x10, 0x3d, 0x25, 0x35, 0x2d, 0x2d, 0x3d,
-+ 0x65, 0x35, 0x35, 0x36, 0x26, 0x4d, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x68, 0xb8, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xf8, 0xe8, 0xe8, 0xfc, 0x00, 0x00,
-+ 0x04, 0x09, 0x1e, 0x12, 0x1a, 0x16, 0x16, 0x1f,
-+ 0x72, 0x1a, 0x1a, 0x2a, 0x23, 0x47, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x1c, 0x3e, 0x2a, 0x3e, 0x08,
-+ 0x3e, 0x08, 0x7e, 0x14, 0x22, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0xa4,
-+ 0xa4, 0xa8, 0x90, 0x90, 0xe8, 0x84, 0x00, 0x00,
-+ 0x5b, 0x7f, 0x5b, 0x7f, 0x7f, 0x5b, 0x7f, 0x00,
-+ 0x7f, 0x3e, 0x22, 0x3e, 0x16, 0x78, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0x88, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
-+ 0x3e, 0x2a, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x08, 0x08, 0x04,
-+ 0x04, 0x02, 0x01, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x20, 0x20, 0x20, 0x40,
-+ 0x40, 0x80, 0x00, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x1f, 0x10,
-+ 0x22, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x00, 0xf8, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x7f, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x1f, 0x00, 0x7f,
-+ 0x04, 0x04, 0x04, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x00, 0xfc,
-+ 0x80, 0x80, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x07, 0x04, 0x04, 0x08,
-+ 0x3f, 0x04, 0x02, 0x03, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xc0, 0x48, 0x48, 0x38,
-+ 0xe0, 0x40, 0x80, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x12, 0x72, 0x1f, 0x12, 0x0c, 0x38,
-+ 0x0f, 0x12, 0x72, 0x1f, 0x04, 0x38, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xc8, 0x48, 0x30, 0x00,
-+ 0xf8, 0x48, 0x48, 0xc8, 0x48, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x07, 0x04, 0x08, 0x10,
-+ 0x7f, 0x02, 0x02, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xc0, 0x40, 0x20, 0x10,
-+ 0xec, 0x20, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x04, 0x10, 0x12, 0x11,
-+ 0x11, 0x10, 0x10, 0x16, 0x18, 0x63, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x30, 0x28, 0xc4, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xf0, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x0f, 0x10, 0x2f,
-+ 0x48, 0x08, 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x11, 0x7f, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0x10, 0xfc, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xe0, 0x20, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x06, 0x03, 0x0c, 0x32, 0x03,
-+ 0x0e, 0x71, 0x01, 0x00, 0x01, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xe0, 0x40, 0x80, 0x80,
-+ 0x60, 0x1c, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x0f, 0x0a, 0x09, 0x7f,
-+ 0x12, 0x11, 0x11, 0x3f, 0x20, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xe0, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0xf8, 0x40, 0x80, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x10, 0x1f, 0x20, 0x4f, 0x09,
-+ 0x08, 0x7f, 0x12, 0x11, 0x3f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x00, 0xe0, 0x20,
-+ 0xa0, 0xfc, 0x20, 0x20, 0xf8, 0xc0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x09, 0x49, 0x21,
-+ 0x21, 0x09, 0x11, 0x11, 0x21, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0x08,
-+ 0x08, 0x30, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x17, 0x10,
-+ 0x31, 0x50, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x10, 0x10, 0xfc, 0x10,
-+ 0x10, 0x90, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x09, 0x09, 0x11,
-+ 0x21, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x20, 0x10, 0x08,
-+ 0x08, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x0f, 0x10, 0x2f,
-+ 0x48, 0x0f, 0x08, 0x08, 0x08, 0x07, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0x88,
-+ 0x88, 0x88, 0xb0, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x06, 0x38, 0x24, 0x24,
-+ 0x24, 0x24, 0x3c, 0x64, 0x08, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x10, 0x10, 0x1f,
-+ 0x10, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x7f, 0x01,
-+ 0x3f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xfc, 0x00,
-+ 0xf8, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x01, 0x3f, 0x00,
-+ 0x08, 0x04, 0x04, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x00, 0xf8, 0x20,
-+ 0x20, 0x40, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x3f, 0x21, 0x2f,
-+ 0x21, 0x22, 0x24, 0x28, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0xe8,
-+ 0x08, 0x88, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x00, 0x3f, 0x20, 0x27,
-+ 0x24, 0x24, 0x27, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0xc8,
-+ 0x48, 0x48, 0xc8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x03, 0x3c, 0x03,
-+ 0x06, 0x7f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xe0, 0x40, 0x80,
-+ 0x60, 0xfc, 0x20, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x32, 0x12,
-+ 0x0c, 0x04, 0x0c, 0x12, 0x7f, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x20, 0x20, 0xc8, 0x48,
-+ 0x30, 0x10, 0x30, 0x48, 0xf4, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x09, 0x09, 0x1f, 0x21,
-+ 0x7f, 0x03, 0x05, 0x19, 0x61, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x00, 0xf0, 0x00,
-+ 0xfc, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x0f, 0x10, 0x2f,
-+ 0x48, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7e, 0x12,
-+ 0x12, 0x3a, 0x24, 0x06, 0x1a, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x88, 0x88,
-+ 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x7f, 0x02, 0x0f,
-+ 0x08, 0x18, 0x6f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x20, 0x40, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x02, 0x04, 0x18, 0x6f,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x40, 0x30, 0xec,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x10, 0x17,
-+ 0x30, 0x50, 0x10, 0x10, 0x13, 0x1c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x50, 0x48, 0x40, 0xfc,
-+ 0x40, 0x60, 0xa0, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x08, 0x4b, 0x22,
-+ 0x22, 0x0a, 0x12, 0x12, 0x21, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xfc, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x03, 0x0e, 0x31,
-+ 0x01, 0x0f, 0x74, 0x04, 0x07, 0x04, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x20, 0x40,
-+ 0x80, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x01, 0x06, 0x18,
-+ 0x00, 0x7f, 0x12, 0x12, 0x22, 0x4d, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0x10, 0x60,
-+ 0x00, 0xf8, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x17, 0x10,
-+ 0x32, 0x51, 0x11, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x80, 0xf8, 0x10,
-+ 0x10, 0x20, 0x20, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x78, 0x0b, 0x10, 0x3a,
-+ 0x0a, 0x4a, 0x32, 0x11, 0x2c, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x18, 0xe0, 0x40, 0x40,
-+ 0x78, 0x40, 0x40, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x06, 0x38, 0x08, 0x7f,
-+ 0x08, 0x0e, 0x78, 0x08, 0x0b, 0x18, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x50, 0x48, 0x40, 0xfc,
-+ 0x48, 0x30, 0x20, 0xd4, 0x0c, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x02, 0x04, 0x1f, 0x60,
-+ 0x1f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x40, 0xf0, 0x0c,
-+ 0xe0, 0x40, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x7f, 0x09, 0x09,
-+ 0x15, 0x23, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x20, 0x30,
-+ 0x48, 0x88, 0x80, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x7f, 0x08, 0x11, 0x33,
-+ 0x08, 0x3f, 0x01, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x88, 0x10, 0x30,
-+ 0x88, 0xf8, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x13, 0x12, 0x13, 0x10,
-+ 0x1f, 0x01, 0x7f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf0, 0x10, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x09, 0x49, 0x22,
-+ 0x22, 0x0c, 0x10, 0x10, 0x21, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x50, 0x48, 0x44,
-+ 0x4c, 0xd0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3c, 0x24, 0x25, 0x3c,
-+ 0x24, 0x3c, 0x24, 0x26, 0x39, 0x62, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0xf8, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x24, 0x24, 0x3c, 0x27,
-+ 0x04, 0x7c, 0x14, 0x14, 0x27, 0x44, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0xfc,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x02, 0x04, 0x1f, 0x61,
-+ 0x1f, 0x01, 0x05, 0x19, 0x61, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x40, 0xf0, 0x0c,
-+ 0xf0, 0x00, 0x40, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x02, 0x1f, 0x11, 0x11,
-+ 0x1f, 0x11, 0x03, 0x05, 0x19, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x10, 0x10,
-+ 0xf0, 0x10, 0x40, 0x24, 0x24, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x00, 0x0f, 0x08,
-+ 0x08, 0x0f, 0x04, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xe0, 0x20,
-+ 0x20, 0xe0, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x02, 0x0e, 0x05,
-+ 0x18, 0x61, 0x24, 0x24, 0x44, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0x10, 0x90,
-+ 0x60, 0x00, 0x88, 0x84, 0x24, 0xe0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x01, 0x7f, 0x05,
-+ 0x19, 0x6f, 0x02, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x70, 0xc0, 0x00, 0xfc, 0x40,
-+ 0x30, 0xcc, 0x40, 0x70, 0x10, 0xe0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x06, 0x38, 0x08, 0x7f,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x08, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0x48, 0x08, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x1f, 0x11, 0x10, 0x1e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf8, 0x10, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x7f, 0x05, 0x1f,
-+ 0x69, 0x0f, 0x09, 0x0f, 0x09, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x40, 0xf0,
-+ 0x2c, 0xe0, 0x20, 0xe8, 0x08, 0xf8, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x3f, 0x20, 0x4f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x08, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x7f, 0x1f, 0x11, 0x1f, 0x01,
-+ 0x3f, 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1f, 0x10, 0x1f, 0x10,
-+ 0x1f, 0x10, 0x1e, 0x10, 0x1e, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x98, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x0e, 0x08, 0x7f,
-+ 0x08, 0x2c, 0x2a, 0x2a, 0x48, 0x19, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x48, 0x48,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x04, 0x0a,
-+ 0x31, 0x01, 0x7f, 0x01, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x20, 0x50,
-+ 0x88, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7e, 0x08,
-+ 0x1d, 0x1a, 0x2a, 0x48, 0x0b, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x70, 0x10, 0x90, 0x88,
-+ 0x44, 0x40, 0x50, 0x88, 0xfc, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x1f, 0x01, 0x7f, 0x01,
-+ 0x1f, 0x7f, 0x04, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xe0, 0x20, 0xfc, 0x20,
-+ 0xe0, 0xfc, 0x40, 0xc0, 0x60, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x01, 0x1f, 0x01, 0x7f,
-+ 0x1f, 0x11, 0x1f, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xf0, 0x00, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x00, 0x7f, 0x00, 0x0f,
-+ 0x3f, 0x21, 0x5f, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xfc, 0x20, 0xe0,
-+ 0xfc, 0x08, 0xf0, 0x10, 0x30, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x7f, 0x09, 0x08, 0x0e, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x00, 0xe0, 0x00, 0xe0,
-+ 0x00, 0xfc, 0x10, 0xa0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x0b, 0x4a, 0x22,
-+ 0x23, 0x0a, 0x12, 0x12, 0x24, 0x2b, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xfc, 0x48, 0x50,
-+ 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x02, 0x02, 0x3e, 0x02,
-+ 0x3e, 0x03, 0x7e, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x80, 0xf8, 0x80,
-+ 0xf8, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x13, 0x09, 0x49, 0x22,
-+ 0x20, 0x0f, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x50, 0x48, 0x48,
-+ 0x40, 0xfc, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x11, 0x09, 0x4a, 0x27,
-+ 0x20, 0x0b, 0x12, 0x12, 0x22, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x08, 0xc8,
-+ 0x48, 0xc8, 0x70, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x1e, 0x12, 0x1a, 0x16,
-+ 0x12, 0x1a, 0x16, 0x12, 0x22, 0x47, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x78, 0x48, 0x68, 0x58,
-+ 0x48, 0x68, 0x58, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x01, 0x7f, 0x02, 0x04,
-+ 0x1c, 0x64, 0x3f, 0x04, 0x08, 0x30, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x80, 0x40,
-+ 0x70, 0x4c, 0xf8, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x05, 0x19, 0x11, 0x1d,
-+ 0x11, 0x1d, 0x12, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x70, 0x10, 0x70,
-+ 0x10, 0x70, 0x90, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x10, 0x0b, 0x48, 0x27, 0x21,
-+ 0x16, 0x11, 0x23, 0x24, 0x41, 0x4e, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x24,
-+ 0x9c, 0xf0, 0x20, 0xc0, 0xb0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7f, 0x08,
-+ 0x1c, 0x1a, 0x2a, 0x49, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x20, 0x20, 0xfc, 0x20,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3e, 0x22, 0x3e, 0x20,
-+ 0x3e, 0x20, 0x3e, 0x20, 0x20, 0x23, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x08, 0xf8, 0x00,
-+ 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x06, 0x38, 0x08, 0x7e,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x48, 0x28, 0x28, 0x88,
-+ 0x48, 0x4c, 0x38, 0xc8, 0x08, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1e, 0x12, 0x1e, 0x00, 0x1f,
-+ 0x00, 0x7f, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x90, 0xf0, 0x00, 0xf0,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xe0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0f, 0x08, 0x0f, 0x3e, 0x22, 0x3e,
-+ 0x0f, 0x7f, 0x08, 0x0f, 0x10, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0xe0, 0x20, 0xe0, 0xf8, 0x88, 0xf8,
-+ 0xe0, 0xfc, 0x00, 0xf0, 0x10, 0xe0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3f, 0x20, 0x5e, 0x01,
-+ 0x7e, 0x14, 0x14, 0x14, 0x24, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xfc, 0x18, 0x10, 0xfc,
-+ 0x90, 0x50, 0x50, 0x14, 0x34, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x21, 0x7f, 0x0f, 0x09,
-+ 0x0f, 0x09, 0x0f, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x08, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7f, 0x08,
-+ 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0x78, 0x48, 0x48,
-+ 0x78, 0x48, 0x78, 0x88, 0x88, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x06, 0x1f, 0x72, 0x1f, 0x0c, 0x34,
-+ 0x0f, 0x12, 0x72, 0x1f, 0x0c, 0x70, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xc8, 0x48, 0x30,
-+ 0xf8, 0x48, 0x48, 0xc8, 0x48, 0x38, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x06, 0x1c, 0x10, 0x1e, 0x11,
-+ 0x1f, 0x10, 0x1e, 0x70, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x94, 0x94, 0x0c,
-+ 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x04, 0x3f,
-+ 0x21, 0x4f, 0x09, 0x09, 0x09, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x40, 0xfc,
-+ 0x08, 0xe0, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x11, 0x3d, 0x25,
-+ 0x25, 0x3d, 0x25, 0x25, 0x3d, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x48, 0x48,
-+ 0xf8, 0x08, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x09, 0x09, 0x11, 0x10,
-+ 0x37, 0x50, 0x11, 0x16, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf0, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x09, 0x0f, 0x09, 0x0f,
-+ 0x01, 0x3f, 0x21, 0x21, 0x2e, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xe0,
-+ 0x00, 0xf8, 0x48, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x10, 0x14, 0x64, 0x19,
-+ 0x16, 0x7e, 0x2c, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0x80, 0xf8, 0x08,
-+ 0x88, 0x48, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7f, 0x08,
-+ 0x0e, 0x13, 0x12, 0x22, 0x42, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x80, 0xfc, 0x20, 0xb8,
-+ 0xe8, 0xa8, 0xb8, 0xa4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x08, 0x09, 0x09, 0x3f,
-+ 0x20, 0x27, 0x24, 0x27, 0x24, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0, 0x20, 0xf8,
-+ 0x08, 0xc8, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x05, 0x19, 0x62, 0x1f, 0x00,
-+ 0x3e, 0x0a, 0x36, 0x0a, 0x32, 0x06, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xc0, 0x30, 0x4c, 0xe0, 0x00,
-+ 0xf8, 0x28, 0xd8, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x04, 0x19,
-+ 0x60, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x40, 0x30,
-+ 0x8c, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x06, 0x0c, 0x7f, 0x1f, 0x02, 0x7f,
-+ 0x02, 0x1f, 0x06, 0x1a, 0x62, 0x02, 0x00, 0x00,
-+ 0x40, 0xfc, 0x60, 0xc0, 0xfc, 0xf0, 0x90, 0xfc,
-+ 0x90, 0xf0, 0xc0, 0xb0, 0x8c, 0x80, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x01, 0x7f, 0x0f, 0x08, 0x0f,
-+ 0x3f, 0x20, 0x27, 0x24, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xfc, 0xe0, 0x20, 0xe0,
-+ 0xf8, 0x08, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x08, 0x7f, 0x06,
-+ 0x24, 0x14, 0x18, 0x1e, 0x70, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xc0, 0x80, 0xf8, 0x08, 0xe8,
-+ 0xa8, 0xa8, 0xe8, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x25, 0x25,
-+ 0x2b, 0x31, 0x2f, 0x21, 0x5f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x20, 0x20,
-+ 0x50, 0x88, 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x1f, 0x01, 0x7f, 0x07, 0x1e,
-+ 0x63, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x40, 0xfc, 0x50, 0xe0, 0x40, 0xfc, 0xe0, 0x08,
-+ 0xf8, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3e, 0x02, 0x3e, 0x20,
-+ 0x3e, 0x0a, 0x36, 0x0a, 0x32, 0x06, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x08, 0xf8, 0x80,
-+ 0xf8, 0x28, 0xd8, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0c, 0x08, 0x15, 0x16, 0x34,
-+ 0x57, 0x14, 0x14, 0x14, 0x14, 0x11, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xc0, 0xfc, 0x90, 0x60, 0xd0,
-+ 0x2c, 0xc0, 0x30, 0xc8, 0x30, 0xc0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x17, 0x10, 0x1f, 0x12,
-+ 0x13, 0x1e, 0x3f, 0x22, 0x41, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xf0, 0x00, 0xfc, 0x48,
-+ 0xb0, 0x2c, 0xfc, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x01, 0x1f, 0x7f, 0x04,
-+ 0x1f, 0x6f, 0x03, 0x0d, 0x31, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xf0, 0xfc, 0xc0,
-+ 0x30, 0xec, 0xc0, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x22, 0x3f, 0x22, 0x23,
-+ 0x20, 0x2f, 0x28, 0x28, 0x48, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc0, 0xfc, 0x20, 0xfc, 0x20, 0xe0,
-+ 0x80, 0xf8, 0x88, 0x88, 0xb0, 0x80, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x01, 0x1f, 0x12, 0x11, 0x16,
-+ 0x1f, 0x10, 0x1e, 0x10, 0x1e, 0x70, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x50, 0x90, 0x50,
-+ 0xf0, 0x98, 0xe0, 0x80, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x04, 0x3f, 0x21,
-+ 0x7f, 0x01, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x40, 0xfc, 0x08,
-+ 0xf8, 0x00, 0xf0, 0x10, 0x10, 0x60, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0f, 0x19, 0x66, 0x14, 0x1f,
-+ 0x60, 0x1f, 0x01, 0x09, 0x31, 0x03, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x78, 0x90, 0x60, 0x30, 0xcc,
-+ 0x00, 0xf0, 0x00, 0x30, 0x08, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x01, 0x3f, 0x28, 0x4f, 0x10,
-+ 0x13, 0x32, 0x53, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xfc, 0x08, 0xf8, 0x80,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x7f, 0x1f, 0x11, 0x1f, 0x1f,
-+ 0x01, 0x3f, 0x00, 0x7f, 0x04, 0x02, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xf0, 0x10, 0xf0, 0xf0,
-+ 0x10, 0xf8, 0x20, 0xfc, 0x20, 0x60, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x01, 0x1f, 0x12, 0x12, 0x1f,
-+ 0x12, 0x12, 0x1f, 0x20, 0x2a, 0x51, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf8, 0x40, 0x40, 0xf0,
-+ 0x40, 0x40, 0xf8, 0x00, 0x48, 0x24, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x02, 0x17, 0x29, 0x7e, 0x04,
-+ 0x19, 0x6e, 0x01, 0x0e, 0x01, 0x1e, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x80, 0xd0, 0x28, 0xfc, 0x40,
-+ 0xb0, 0x4c, 0x90, 0x60, 0x80, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x00, 0x7f, 0x0a, 0x0c, 0x29,
-+ 0x2e, 0x29, 0x29, 0x2d, 0x3a, 0x64, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x20, 0xfc, 0x20, 0x48, 0xfc,
-+ 0x00, 0x50, 0x50, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x08, 0x09, 0x7e, 0x08,
-+ 0x0f, 0x13, 0x12, 0x22, 0x42, 0x0d, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xc0, 0x80, 0xfc, 0x80, 0xf8,
-+ 0x20, 0xfc, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0a, 0x7f, 0x0a, 0x33, 0x3f,
-+ 0x21, 0x5f, 0x11, 0x11, 0x11, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xa0, 0xfc, 0xa4, 0x9c, 0xfc,
-+ 0x08, 0xf0, 0x10, 0x10, 0x60, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x14, 0x1f, 0x10, 0x3f, 0x4f, 0x08,
-+ 0x0f, 0x1f, 0x1f, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x08, 0xe8, 0x88, 0x88,
-+ 0x88, 0xc8, 0xc8, 0x48, 0xc8, 0x30, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3e, 0x0a, 0x36, 0x0b, 0x32,
-+ 0x0d, 0x76, 0x01, 0x0e, 0x01, 0x1e, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x28, 0xd8, 0x28, 0xc8,
-+ 0x60, 0x5c, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x08, 0x7f, 0x08, 0x3e, 0x2a,
-+ 0x2a, 0x2e, 0x1c, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x20, 0xfc, 0x20, 0xf8, 0xa8,
-+ 0xa8, 0xb8, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x12, 0x09, 0x3f, 0x28,
-+ 0x4e, 0x12, 0x2a, 0x05, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0x70, 0x90, 0x20, 0x40, 0xfc, 0x28,
-+ 0xf8, 0xa0, 0xa0, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x1f, 0x01, 0x7f, 0x08, 0x3e,
-+ 0x0e, 0x71, 0x3f, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x00, 0xfc, 0x20, 0xf8,
-+ 0x20, 0xfc, 0xf8, 0x80, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x7f, 0x1f, 0x12, 0x1f, 0x0f,
-+ 0x0f, 0x08, 0x0f, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xf0, 0x90, 0xf0, 0xe0,
-+ 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x00, 0x7f, 0x1f, 0x3e,
-+ 0x08, 0x3e, 0x7f, 0x08, 0x04, 0x00, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xfc, 0xf0, 0xf8,
-+ 0x88, 0xf8, 0xfc, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x14, 0x14, 0x23, 0x1a, 0x35,
-+ 0x55, 0x0d, 0x7f, 0x05, 0x19, 0x61, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xb0, 0x48, 0xc0, 0x68, 0xd4,
-+ 0x54, 0x30, 0xfc, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x09, 0x09, 0x09, 0x3f, 0x08,
-+ 0x08, 0x2e, 0x28, 0x2e, 0x39, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x00, 0xf0, 0x00, 0xf8, 0x20,
-+ 0xa0, 0xb8, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x08, 0x69, 0x13, 0x14, 0x2b,
-+ 0x4a, 0x1b, 0x2b, 0x4a, 0x0b, 0x32, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xf8, 0xa4, 0xf8,
-+ 0xa8, 0x38, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x13, 0x0a, 0x4a, 0x23, 0x23,
-+ 0x10, 0x17, 0x25, 0x25, 0x4f, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x90, 0xd0, 0x30, 0xf0,
-+ 0x00, 0xf8, 0x28, 0x28, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x7e, 0x10, 0x1f, 0x14,
-+ 0x27, 0x58, 0x0b, 0x10, 0x27, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xa0, 0xa0, 0xb8, 0xa0,
-+ 0xb8, 0xa0, 0xb8, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x09, 0x06, 0x1f, 0x7f, 0x19, 0x15,
-+ 0x1f, 0x0f, 0x08, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xc0, 0xf0, 0xfc, 0x30, 0x50,
-+ 0xf0, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x7f, 0x1f, 0x1f, 0x11, 0x1f,
-+ 0x7f, 0x1f, 0x1f, 0x11, 0x1f, 0x7f, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0xf0, 0xf0, 0x10, 0xf0,
-+ 0xfc, 0xf0, 0xf0, 0x10, 0xf0, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x0f, 0x12, 0x3f, 0x55, 0x1f,
-+ 0x15, 0x1f, 0x15, 0x2a, 0x2a, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x08, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x48, 0xc8, 0x88, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x12, 0x1f, 0x3f, 0x20,
-+ 0x7f, 0x1e, 0x72, 0x0c, 0x18, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x90, 0xf0, 0xfc, 0x08,
-+ 0xf8, 0x98, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x1f, 0x01, 0x7f, 0x1f, 0x15,
-+ 0x1d, 0x1f, 0x11, 0x1d, 0x25, 0x45, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x10, 0xfc, 0xf0, 0x50,
-+ 0x70, 0xf0, 0x10, 0x70, 0x50, 0x50, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x09, 0x0d, 0x13, 0x7f,
-+ 0x1f, 0x17, 0x14, 0x17, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x20, 0x30, 0x48, 0xfc,
-+ 0xf0, 0xd0, 0x50, 0xd0, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x0c, 0x10, 0x3d, 0x24, 0x3c,
-+ 0x21, 0x3c, 0x25, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x60, 0x20, 0xfc, 0x88, 0x50,
-+ 0xfc, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x1f, 0x15, 0x7f, 0x1f, 0x1f,
-+ 0x15, 0x1f, 0x7f, 0x1a, 0x06, 0x39, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x20, 0x20, 0xfc, 0x48, 0xc8,
-+ 0x28, 0x30, 0x90, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x22, 0x2a, 0x4a, 0x1f, 0x10,
-+ 0x2f, 0x60, 0x27, 0x25, 0x29, 0x30, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x20, 0xa0, 0xa0, 0xfc, 0x48,
-+ 0xa8, 0x30, 0x10, 0xb0, 0x48, 0x84, 0x00, 0x00,
-+ 0x04, 0x04, 0x7f, 0x04, 0x3c, 0x25, 0x24, 0x3c,
-+ 0x21, 0x3c, 0x65, 0x24, 0x3c, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x60, 0x20, 0xfc, 0x88, 0x50,
-+ 0xfc, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x14, 0x08, 0x7f, 0x0a,
-+ 0x0c, 0x08, 0x08, 0x08, 0x08, 0x19, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x58, 0x84, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x01, 0x3f, 0x2d, 0x4d,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x1f, 0x10, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x00, 0xfc, 0x68, 0x60,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x06, 0x39, 0x08, 0x7f, 0x08,
-+ 0x1d, 0x1a, 0x29, 0x48, 0x08, 0x0b, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x40, 0xfc, 0xa4,
-+ 0x5c, 0x70, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x0e, 0x78, 0x08, 0x3f, 0x08,
-+ 0x7e, 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x50, 0x50, 0xf8, 0x50, 0xfc, 0x00,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x7f, 0x02, 0x7d, 0x15, 0x2d,
-+ 0x49, 0x0f, 0x08, 0x0f, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x88, 0x70, 0x50, 0xf8,
-+ 0x24, 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x00, 0x2f, 0x28, 0x3f, 0x0d,
-+ 0x7f, 0x2c, 0x2f, 0x55, 0x17, 0x24, 0x00, 0x00,
-+ 0x40, 0xfc, 0x50, 0x48, 0xfc, 0x40, 0xc8, 0x48,
-+ 0xa8, 0xb0, 0x90, 0x34, 0xcc, 0x84, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x3f, 0x1f, 0x08, 0x0f, 0x3f,
-+ 0x2f, 0x42, 0x0f, 0x1f, 0x01, 0x3f, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xf0, 0x20, 0xe0, 0xfc,
-+ 0xe8, 0x40, 0xf0, 0xf0, 0x00, 0xf8, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x0e, 0x73, 0x55, 0x29, 0x19,
-+ 0x6d, 0x14, 0x6c, 0x14, 0x65, 0x1a, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0xa0, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x0b, 0x7c, 0x08, 0x3e, 0x08,
-+ 0x7e, 0x1d, 0x1b, 0x2b, 0x49, 0x09, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0x20, 0xfc, 0x34, 0xfc, 0x04, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x3e, 0x7f, 0x2d, 0x5f, 0x0e,
-+ 0x39, 0x1f, 0x7f, 0x02, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0x50, 0xd0, 0x74, 0x94,
-+ 0x0c, 0xf0, 0xfc, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x04, 0x7f, 0x15, 0x6b, 0x2a, 0x13, 0x2a, 0x7f,
-+ 0x01, 0x7f, 0x03, 0x0d, 0x71, 0x01, 0x00, 0x00,
-+ 0x40, 0xfc, 0x50, 0xe8, 0xa8, 0x90, 0xa8, 0xfc,
-+ 0x00, 0xfc, 0x80, 0x60, 0x1c, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x06, 0x38, 0x09, 0x7e, 0x1d, 0x6a,
-+ 0x0e, 0x19, 0x65, 0x07, 0x39, 0x03, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc0, 0xf8, 0x28, 0x48, 0x88, 0xb0,
-+ 0x40, 0x30, 0x4c, 0xc0, 0x38, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3c, 0x00, 0x7e, 0x00, 0x3c,
-+ 0x3c, 0x01, 0x3f, 0x25, 0x3d, 0x21, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0xfc, 0x44, 0x64, 0x94, 0xf4, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x11, 0x15, 0x65, 0x19, 0x15,
-+ 0x7e, 0x09, 0x2d, 0x2b, 0x4b, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x68, 0x98, 0xf8,
-+ 0x00, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x06, 0x38, 0x09, 0x7e, 0x08,
-+ 0x1c, 0x1a, 0x2a, 0x49, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0x70, 0xa0, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0x00, 0xa8, 0x54, 0x54, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x09, 0x28, 0x2e, 0x28, 0x7f,
-+ 0x28, 0x2a, 0x5a, 0x04, 0x18, 0x63, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xfc, 0x20, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x09, 0x7e, 0x08, 0x3f, 0x2a,
-+ 0x3e, 0x1c, 0x1a, 0x2a, 0x48, 0x09, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x98, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0x58, 0x84, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3e, 0x22, 0x3e, 0x3e, 0x24,
-+ 0x27, 0x2f, 0x37, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x88, 0xf8, 0xf8, 0x88,
-+ 0xe8, 0xc8, 0xc8, 0x88, 0xe8, 0x18, 0x00, 0x00,
-+ 0x04, 0x7f, 0x05, 0x01, 0x1f, 0x11, 0x1e, 0x17,
-+ 0x14, 0x17, 0x17, 0x2f, 0x29, 0x5f, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0xfc, 0xc8, 0xf8, 0xf0,
-+ 0x90, 0xf0, 0xf0, 0xf8, 0x48, 0xfc, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x3e, 0x14, 0x7e, 0x00, 0x3c,
-+ 0x24, 0x3c, 0x24, 0x3c, 0x24, 0x2c, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc0, 0xfc, 0xf8, 0x08, 0xf8, 0x80,
-+ 0xf8, 0xf8, 0x80, 0xfc, 0x84, 0x7c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x0f, 0x12, 0x3f, 0x55, 0x1f,
-+ 0x15, 0x1f, 0x16, 0x2b, 0x2b, 0x40, 0x00, 0x00,
-+ 0x40, 0xfc, 0xc8, 0x48, 0x50, 0xfc, 0x20, 0xf8,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0c, 0x0a, 0x72, 0x14, 0x0d, 0x13,
-+ 0x7f, 0x0d, 0x2a, 0x2a, 0x48, 0x0b, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf8, 0x88, 0xf8, 0xf8, 0xfc, 0x54,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x04, 0x7f, 0x04, 0x3f, 0x24, 0x3f, 0x14, 0x74,
-+ 0x1b, 0x7e, 0x2c, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x90, 0xfc,
-+ 0x90, 0xf8, 0xf8, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x11, 0x11, 0x11,
-+ 0x1f, 0x11, 0x11, 0x21, 0x21, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x08, 0x10, 0x1c, 0xe0,
-+ 0x00, 0x00, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x1f, 0x10, 0x17,
-+ 0x14, 0x14, 0x24, 0x24, 0x40, 0x00, 0x00, 0x00,
-+ 0x78, 0x80, 0x80, 0xfc, 0x80, 0xfc, 0x80, 0xf8,
-+ 0x88, 0x88, 0x88, 0xb0, 0x80, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x1f, 0x11, 0x1f, 0x10, 0x10,
-+ 0x1f, 0x12, 0x11, 0x20, 0x23, 0x5c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0xe8, 0x08, 0xf8, 0x80,
-+ 0xfc, 0x20, 0x40, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3d, 0x01, 0x7f, 0x11,
-+ 0x1d, 0x25, 0x05, 0x0a, 0x0a, 0x35, 0x00, 0x00,
-+ 0x40, 0x78, 0x40, 0xfc, 0x48, 0x70, 0xc4, 0x3c,
-+ 0x50, 0x50, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x08, 0x0f, 0x3f, 0x2f, 0x39, 0x27, 0x2a, 0x2f,
-+ 0x3a, 0x2f, 0x2f, 0x2a, 0x4f, 0x08, 0x00, 0x00,
-+ 0x00, 0x78, 0xa0, 0x20, 0x20, 0xfc, 0x40, 0xc0,
-+ 0x78, 0x48, 0x08, 0x08, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x03, 0x3c, 0x04, 0x3f, 0x24,
-+ 0x24, 0x3f, 0x25, 0x04, 0x07, 0x78, 0x00, 0x00,
-+ 0x00, 0xe0, 0xa0, 0x20, 0x20, 0x20, 0xa0, 0xa0,
-+ 0xa0, 0xa0, 0x14, 0x94, 0x4c, 0x44, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x7c, 0x55, 0x55, 0x55, 0x7d,
-+ 0x55, 0x18, 0x14, 0x1e, 0x62, 0x01, 0x00, 0x00,
-+ 0x08, 0xe8, 0x28, 0x28, 0xe8, 0x08, 0x08, 0xe8,
-+ 0x28, 0x28, 0x28, 0x28, 0x28, 0xc8, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2b, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x50, 0x88, 0x88, 0x24, 0x20,
-+ 0x20, 0x30, 0x48, 0x58, 0xe4, 0x04, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x02, 0x7f, 0x01, 0x1f,
-+ 0x11, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0xf0,
-+ 0x10, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x08, 0x48, 0x28, 0x28, 0x88, 0x48, 0x48, 0x0c,
-+ 0x38, 0xc8, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x60, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xd8,
-+ 0xd8, 0x88, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0d, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x88, 0x88, 0x88, 0xfc, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0e, 0x71, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x74, 0x00, 0xfc,
-+ 0x24, 0x24, 0x24, 0x38, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x3f, 0x2b, 0x2b, 0x2b, 0x3f,
-+ 0x29, 0x0d, 0x0b, 0x0f, 0x73, 0x05, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x34, 0xfc, 0x04, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x3f, 0x2b, 0x2b, 0x2b, 0x3f,
-+ 0x29, 0x0d, 0x0b, 0x0f, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x7d, 0x11, 0x11, 0x11, 0x1e, 0x64, 0x01,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x90, 0x54, 0x54, 0x0c, 0x00,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x04, 0x7f, 0x05, 0x19, 0x6f,
-+ 0x09, 0x09, 0x0f, 0x09, 0x01, 0x3e, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x40, 0x30, 0xec,
-+ 0x20, 0x20, 0xe0, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2a, 0x2b, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x03, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x48, 0x94, 0x54, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2b, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x72, 0x00, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc, 0x70,
-+ 0x70, 0xa8, 0xa8, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0b, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x24, 0x28, 0xfc, 0x10, 0x60,
-+ 0x4c, 0xf0, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7c, 0x55, 0x55, 0x57, 0x7c,
-+ 0x52, 0x1a, 0x15, 0x1d, 0x62, 0x04, 0x00, 0x00,
-+ 0x04, 0x88, 0xf0, 0x90, 0x10, 0x5c, 0xd0, 0xd0,
-+ 0xd0, 0xd0, 0x3c, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0e, 0x71, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0xe8, 0x60, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0b, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x00, 0x38, 0xa8, 0xa8, 0xa8, 0xb8, 0x80, 0xf8,
-+ 0xa8, 0x28, 0xfc, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x08, 0x0f, 0x12, 0x3f,
-+ 0x52, 0x1f, 0x12, 0x03, 0x7c, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x00, 0xf8, 0x08, 0xc8,
-+ 0x48, 0xc8, 0x48, 0xe8, 0x28, 0x70, 0x00, 0x00,
-+ 0x00, 0x1f, 0x17, 0x10, 0x1f, 0x14, 0x27, 0x79,
-+ 0x0f, 0x09, 0x0f, 0x09, 0x01, 0x3e, 0x00, 0x00,
-+ 0x00, 0xf8, 0xf0, 0x00, 0xfc, 0x90, 0x60, 0x1c,
-+ 0xe0, 0x20, 0xe0, 0x20, 0xf0, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0e, 0x71, 0x02, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x48, 0x88, 0xfc, 0x88, 0x88,
-+ 0xf8, 0x50, 0x50, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7d, 0x08, 0x3d, 0x15, 0x08, 0x1e, 0x61,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x0c, 0xf0, 0x20, 0x3c, 0x20, 0xfc, 0x00, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x28, 0x0d, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0xa8, 0xa4, 0x04, 0xf8, 0x10,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3f,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x72, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x20, 0xfc,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x98, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x54, 0x57, 0x54, 0x7d,
-+ 0x51, 0x1a, 0x14, 0x1c, 0x60, 0x00, 0x00, 0x00,
-+ 0x48, 0x88, 0xa8, 0xa8, 0xa8, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xe8, 0xa8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x29, 0x0e, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x40, 0xfc,
-+ 0x54, 0x54, 0x94, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x56, 0x54, 0x54, 0x7d,
-+ 0x57, 0x18, 0x14, 0x1e, 0x61, 0x02, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x80, 0xf8, 0xe8, 0x68,
-+ 0x68, 0xf8, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2b, 0x3e,
-+ 0x29, 0x0e, 0x0a, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0xa8, 0xa4, 0x24, 0xf8, 0x50, 0xfc, 0x88,
-+ 0xf4, 0x90, 0x90, 0xb4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7f, 0x54, 0x55, 0x55, 0x7d,
-+ 0x52, 0x1a, 0x14, 0x1c, 0x64, 0x00, 0x00, 0x00,
-+ 0x84, 0x88, 0xb0, 0xe0, 0xa0, 0xbc, 0xe8, 0xe8,
-+ 0xa8, 0xa8, 0xc8, 0xc8, 0x88, 0x88, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x55, 0x55, 0x55, 0x7d,
-+ 0x55, 0x19, 0x15, 0x1e, 0x62, 0x04, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xe8, 0xa8, 0xe8, 0xa8, 0x08, 0x18, 0x00, 0x00,
-+ 0x02, 0x3e, 0x02, 0x1e, 0x03, 0x7e, 0x04, 0x09,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x40, 0x7c, 0x40, 0x78, 0x40, 0x7c, 0x40, 0x40,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3f,
-+ 0x29, 0x0d, 0x0b, 0x0f, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x3f, 0x2b, 0x2b, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x24, 0xfc, 0x24, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2b, 0x3f,
-+ 0x29, 0x0d, 0x0b, 0x0f, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0xf0, 0xd0, 0xd0, 0xf8, 0x08,
-+ 0xe8, 0xa8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x54, 0x57, 0x54, 0x7d,
-+ 0x51, 0x1a, 0x16, 0x1c, 0x60, 0x00, 0x00, 0x00,
-+ 0x48, 0xa8, 0x98, 0x98, 0x88, 0xe8, 0x98, 0x98,
-+ 0xcc, 0xb8, 0xa8, 0x88, 0x88, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x29, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x40, 0xfc,
-+ 0xa4, 0xb4, 0xcc, 0xfc, 0x84, 0x18, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x57, 0x55, 0x55, 0x7f,
-+ 0x52, 0x1a, 0x17, 0x1e, 0x60, 0x01, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0x28, 0xe8, 0x38, 0x28, 0xa8,
-+ 0xb8, 0xa8, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x29, 0x0c, 0x0a, 0x0e, 0x73, 0x00, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x02, 0x3f, 0x02, 0x04, 0x08, 0x3e,
-+ 0x2a, 0x2a, 0x3e, 0x2a, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe4, 0x14, 0x0c, 0x24, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x0c, 0x0b, 0x0e, 0x70, 0x07, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x55, 0x55, 0x55, 0x7d,
-+ 0x51, 0x19, 0x17, 0x1f, 0x65, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0x68, 0x68, 0xf8, 0x68, 0x68, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x55, 0x56, 0x57, 0x7e,
-+ 0x53, 0x1a, 0x17, 0x1e, 0x62, 0x02, 0x00, 0x00,
-+ 0xe0, 0x20, 0x50, 0x90, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7d, 0x57, 0x55, 0x55, 0x7d,
-+ 0x51, 0x19, 0x15, 0x1e, 0x62, 0x05, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x3c, 0xc0, 0x7c, 0x08, 0xd0,
-+ 0x50, 0x7c, 0x50, 0x50, 0x50, 0xb0, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3e, 0x2a, 0x2a, 0x2a, 0x3f,
-+ 0x28, 0x0d, 0x0a, 0x0e, 0x71, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00, 0xfc,
-+ 0x80, 0xfc, 0x54, 0x94, 0x24, 0x58, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x54, 0x55, 0x56, 0x7f,
-+ 0x52, 0x1b, 0x16, 0x1c, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xb8, 0xa0, 0xb8, 0xa8, 0xb8,
-+ 0xa8, 0xb8, 0xa8, 0xa0, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2c, 0x49, 0x14, 0x22, 0x3f, 0x21,
-+ 0x5f, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x20, 0xa8, 0xb0, 0x30, 0x48, 0x88, 0xfc, 0x08,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x09, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0d, 0x0a, 0x0f, 0x70, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x20, 0xfc, 0x00, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x13, 0x7e, 0x56, 0x57, 0x56, 0x7f,
-+ 0x52, 0x1b, 0x16, 0x1e, 0x63, 0x0c, 0x00, 0x00,
-+ 0x00, 0x38, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8, 0xa8,
-+ 0x64, 0xa4, 0xb8, 0xe0, 0x60, 0x20, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7f, 0x08, 0x7f, 0x0e, 0x12, 0x67,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0x90, 0x50, 0x20, 0x50, 0x8c,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2b, 0x2a, 0x2a, 0x3f,
-+ 0x28, 0x0c, 0x0a, 0x0e, 0x71, 0x00, 0x00, 0x00,
-+ 0x18, 0xe8, 0xa8, 0x70, 0xfc, 0x70, 0xa8, 0x24,
-+ 0x40, 0x28, 0xc4, 0xd4, 0x50, 0x30, 0x00, 0x00,
-+ 0x01, 0x03, 0x1e, 0x01, 0x07, 0x78, 0x03, 0x08,
-+ 0x3e, 0x2a, 0x3e, 0x2a, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0x60, 0x9c, 0x80, 0x60,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x2b, 0x0c, 0x0b, 0x0e, 0x70, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xa8, 0x54, 0x20, 0xd8,
-+ 0x74, 0x20, 0xfc, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x09, 0x08, 0x09, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x29, 0x0d, 0x0b, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x24, 0xa8, 0xfc, 0x08, 0xf8, 0x88, 0xf8, 0x20,
-+ 0xfc, 0x24, 0x24, 0x24, 0x38, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x08, 0x3f, 0x2a, 0x2a,
-+ 0x3e, 0x28, 0x0a, 0x0f, 0x71, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x04, 0x3f, 0x04, 0x7f, 0x2b, 0x2a, 0x56, 0x21,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x7e, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x28, 0x90, 0x68, 0x84,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x04, 0x00, 0x00,
-+ 0x08, 0x3e, 0x09, 0x7f, 0x14, 0x7f, 0x3e, 0x09,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x3e, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0xd0, 0x74, 0x94, 0x0c,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3f, 0x2b, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0a, 0x0e, 0x73, 0x00, 0x00, 0x00,
-+ 0x20, 0x24, 0xa8, 0xfc, 0x08, 0xf8, 0x88, 0xf8,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0f, 0x08, 0x0f, 0x0f, 0x02, 0x7f,
-+ 0x09, 0x1f, 0x69, 0x0f, 0x01, 0x3e, 0x00, 0x00,
-+ 0x40, 0xfc, 0xe0, 0x20, 0xe0, 0xe0, 0x00, 0xfc,
-+ 0x20, 0xf0, 0x2c, 0xe0, 0xf0, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0c, 0x0b, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x20, 0xfc, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0d, 0x0a, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xfc, 0xa8, 0xf8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x50, 0xf0, 0x78, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x29, 0x0d, 0x0a, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x88, 0xdc, 0x88, 0xfc,
-+ 0x00, 0xfc, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x01, 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x3e, 0x08,
-+ 0x3e, 0x2a, 0x3e, 0x2a, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x08, 0x20,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2b, 0x2a, 0x2a, 0x3f,
-+ 0x28, 0x0c, 0x0a, 0x0f, 0x70, 0x00, 0x00, 0x00,
-+ 0x18, 0xe8, 0xa8, 0x70, 0xfc, 0x70, 0xa8, 0x24,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x11, 0x11, 0x12, 0x7c, 0x57, 0x56, 0x56, 0x7f,
-+ 0x52, 0x1a, 0x17, 0x1c, 0x64, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x54, 0x94, 0xec, 0xc8, 0xd8, 0xdc,
-+ 0xe8, 0xc8, 0xfc, 0x48, 0x48, 0xc8, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x56, 0x57, 0x55, 0x7f,
-+ 0x53, 0x1f, 0x16, 0x1f, 0x62, 0x00, 0x00, 0x00,
-+ 0x10, 0xd0, 0x50, 0xd0, 0x7c, 0xf4, 0x18, 0xd0,
-+ 0x50, 0x50, 0xe8, 0xe8, 0x44, 0xc4, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7f, 0x55, 0x55, 0x55, 0x7d,
-+ 0x51, 0x19, 0x16, 0x1e, 0x64, 0x00, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0x54, 0x9c, 0x78, 0xfc,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x13, 0x11, 0x7d, 0x55, 0x55, 0x57, 0x7c,
-+ 0x51, 0x18, 0x14, 0x1c, 0x63, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x5c, 0xd4, 0xd4, 0x54, 0xdc, 0x58,
-+ 0xe0, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x09, 0x08, 0x09, 0x3f, 0x2a, 0x2a, 0x2a, 0x3e,
-+ 0x29, 0x0d, 0x0b, 0x0f, 0x71, 0x01, 0x00, 0x00,
-+ 0x24, 0xa8, 0xfc, 0x08, 0xf0, 0x90, 0xf0, 0x00,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2b, 0x2a, 0x2a, 0x3f,
-+ 0x28, 0x0c, 0x0b, 0x0e, 0x71, 0x02, 0x00, 0x00,
-+ 0x50, 0xfc, 0x50, 0x20, 0xfc, 0x50, 0xa8, 0xfc,
-+ 0x20, 0xa8, 0xfc, 0x88, 0x08, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x3e, 0x2a, 0x2b, 0x2a, 0x3e,
-+ 0x29, 0x0c, 0x0b, 0x0e, 0x70, 0x01, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x20, 0xfc, 0x50, 0x88,
-+ 0x54, 0x50, 0xfc, 0x50, 0x90, 0x10, 0x00, 0x00,
-+ 0x10, 0x11, 0x12, 0x7c, 0x55, 0x56, 0x55, 0x7d,
-+ 0x52, 0x1b, 0x14, 0x1c, 0x63, 0x00, 0x00, 0x00,
-+ 0x90, 0xf4, 0xf8, 0x90, 0x68, 0x44, 0xfc, 0x28,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3e, 0x2b, 0x2a, 0x2a, 0x3e,
-+ 0x28, 0x0d, 0x0a, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x50, 0xfc, 0x50, 0xfc, 0xa0, 0xf8, 0xf8, 0xa0,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x3f, 0x2b, 0x2b, 0x2b, 0x3f,
-+ 0x28, 0x0d, 0x0b, 0x0f, 0x71, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xfc, 0x28, 0xac, 0xac, 0xfc,
-+ 0x20, 0xfc, 0x54, 0x54, 0x54, 0x0c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x0f, 0x7f, 0x07, 0x1c, 0x67, 0x07,
-+ 0x08, 0x3e, 0x2a, 0x3e, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0xe0, 0xfc, 0xc0, 0x70, 0xcc, 0xc0,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0x38, 0xc4, 0x00, 0x00,
-+ 0x04, 0x07, 0x0f, 0x7f, 0x07, 0x3b, 0x1d, 0x3e,
-+ 0x0b, 0x3e, 0x2a, 0x3e, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0xfc, 0x90, 0xe0, 0xb0, 0x8c,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0x38, 0xc4, 0x00, 0x00,
-+ 0x01, 0x0f, 0x09, 0x0f, 0x3f, 0x08, 0x3e, 0x3e,
-+ 0x0e, 0x71, 0x1f, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xf0, 0xf8, 0x20, 0xf8, 0xf8,
-+ 0x38, 0xc4, 0xf0, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x14, 0x7f, 0x1e, 0x6f, 0x0f, 0x08,
-+ 0x0f, 0x3e, 0x2a, 0x3e, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0xfc, 0x74, 0xec, 0xe0, 0x20,
-+ 0xe0, 0xf8, 0xa8, 0xf8, 0x38, 0xc4, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x0f, 0x3f, 0x2f, 0x47, 0x3a,
-+ 0x0b, 0x3e, 0x2a, 0x3e, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0xe0, 0xfc, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0xf8, 0xa8, 0xf8, 0x38, 0xc4, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x3f, 0x2f, 0x47, 0x1c, 0x67,
-+ 0x08, 0x3e, 0x2a, 0x3e, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0xfc, 0xf8, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0x38, 0xc4, 0x00, 0x00,
-+ 0x13, 0x17, 0x6b, 0x17, 0x7c, 0x3b, 0x36, 0x53,
-+ 0x1f, 0x11, 0x1f, 0x11, 0x01, 0x3e, 0x00, 0x00,
-+ 0x90, 0xd4, 0xa8, 0x98, 0x7c, 0xb8, 0xd4, 0x94,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x10, 0x3f, 0x2d, 0x2d, 0x2d, 0x2d,
-+ 0x2d, 0x2d, 0x2f, 0x3c, 0x61, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0xfc, 0x48,
-+ 0x48, 0x48, 0xc8, 0x48, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x10, 0x3f, 0x2d, 0x2d, 0x2d, 0x2d,
-+ 0x2d, 0x2d, 0x2f, 0x3c, 0x61, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x68,
-+ 0x58, 0x4c, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x12, 0x12, 0x22, 0x4f, 0x0a, 0x12, 0x1c, 0x35,
-+ 0x53, 0x13, 0x14, 0x1f, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0xc0, 0x00, 0xfc, 0x90, 0x10,
-+ 0x10, 0x10, 0x90, 0x50, 0x50, 0x30, 0x00, 0x00,
-+ 0x10, 0x1f, 0x22, 0x4f, 0x0a, 0x12, 0x1f, 0x30,
-+ 0x57, 0x14, 0x14, 0x17, 0x14, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x80, 0x80, 0xbc, 0xd0, 0x10,
-+ 0x90, 0x90, 0x90, 0x90, 0x90, 0x30, 0x00, 0x00,
-+ 0x11, 0x17, 0x22, 0x4f, 0x0f, 0x14, 0x17, 0x3f,
-+ 0x51, 0x17, 0x15, 0x15, 0x15, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xe0, 0xc0, 0x7c, 0xc8, 0xe8,
-+ 0x08, 0xc8, 0x48, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x10, 0x1e, 0x2a, 0x4e, 0x1e, 0x1a, 0x2e, 0x27,
-+ 0x6c, 0x37, 0x27, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xe0, 0xe0, 0xbc, 0xe8, 0xe8,
-+ 0x88, 0xc8, 0xc8, 0x88, 0xe8, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7e, 0x04, 0x05, 0x09, 0x1e,
-+ 0x2a, 0x49, 0x08, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x28, 0x48, 0x90, 0x10, 0x24,
-+ 0x44, 0x88, 0x08, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x7f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x02, 0x0c, 0x74, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x88, 0x88, 0x50, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x02, 0x0c, 0x77, 0x00, 0x1f, 0x00, 0x01,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0x80, 0x60, 0xdc, 0x00, 0xf0, 0x20, 0x40,
-+ 0xfc, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x04, 0x18, 0x6f, 0x08, 0x08,
-+ 0x0f, 0x06, 0x7c, 0x04, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x60, 0x18, 0xe4, 0x20, 0x20,
-+ 0xe0, 0x88, 0x50, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7c, 0x08, 0x0a, 0x13, 0x3c,
-+ 0x54, 0x12, 0x10, 0x10, 0x11, 0x10, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0x8c, 0xf0, 0x10, 0x10, 0x10, 0x10, 0xfc,
-+ 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xa8,
-+ 0xa8, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x08, 0x0a, 0x12, 0x3d,
-+ 0x54, 0x12, 0x10, 0x10, 0x11, 0x12, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xfc,
-+ 0x40, 0x60, 0xa0, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x08, 0x0b, 0x12, 0x3d,
-+ 0x54, 0x12, 0x11, 0x10, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0x40, 0x60, 0xa0, 0x90, 0x28, 0x44, 0x90,
-+ 0x20, 0x48, 0x90, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x10, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0x10, 0xf0, 0x10, 0x10,
-+ 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x08, 0x0b, 0x12, 0x3c,
-+ 0x54, 0x12, 0x11, 0x12, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0x80, 0xfc, 0x20, 0x20, 0xb0,
-+ 0xa8, 0xa8, 0x24, 0x24, 0x20, 0x60, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08, 0x08, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x08, 0x0a, 0x12, 0x3d,
-+ 0x54, 0x12, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x20, 0xa8, 0xa4, 0x24, 0xf8, 0x20, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x13, 0x3d,
-+ 0x55, 0x13, 0x11, 0x11, 0x11, 0x10, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x28, 0x28,
-+ 0xe8, 0x30, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x02, 0x7f, 0x03, 0x0d, 0x73,
-+ 0x01, 0x7f, 0x03, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0x80, 0xfc, 0x30, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x07, 0x04, 0x7f, 0x09, 0x08, 0x1f, 0x01,
-+ 0x01, 0x7f, 0x03, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0xfc, 0x10, 0x90, 0xfc, 0x60,
-+ 0x00, 0xfc, 0x88, 0x50, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7c, 0x08, 0x0b, 0x12, 0x3c,
-+ 0x55, 0x12, 0x10, 0x10, 0x13, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x40, 0x40,
-+ 0xf8, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x15, 0x39,
-+ 0x55, 0x15, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0xa0, 0xa8, 0xa4, 0x24, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x50, 0x50, 0x88, 0x88, 0x04, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7c, 0x08, 0x0b, 0x12, 0x3d,
-+ 0x54, 0x12, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0xfc,
-+ 0x40, 0x70, 0x48, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7e, 0x08, 0x08, 0x15, 0x39,
-+ 0x57, 0x15, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0xb8, 0x00, 0x00, 0x80, 0xfc, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x0c, 0x74, 0x07, 0x38, 0x3f,
-+ 0x24, 0x28, 0x37, 0x24, 0x27, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x50, 0x60, 0x30, 0x0c, 0xf8,
-+ 0x98, 0x78, 0xc8, 0x48, 0xc8, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x39, 0x07, 0x19, 0x63, 0x01,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x10, 0xfc, 0x08, 0xb0, 0x60, 0x18, 0x04, 0x00,
-+ 0xfc, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x10, 0x7c, 0x0b, 0x08, 0x13, 0x3c,
-+ 0x54, 0x13, 0x12, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xfc, 0x48, 0xf8, 0x80,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x24, 0x24, 0x3f, 0x04, 0x7c, 0x25, 0x45, 0x01,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x00, 0x00,
-+ 0xfc, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x7f, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x7f,
-+ 0x11, 0x63, 0x0c, 0x74, 0x07, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xfc,
-+ 0x30, 0x28, 0xc4, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x13, 0x7c, 0x08, 0x0b, 0x14, 0x18,
-+ 0x37, 0x54, 0x10, 0x10, 0x13, 0x10, 0x00, 0x00,
-+ 0x90, 0x90, 0xf0, 0x90, 0x90, 0xf8, 0x94, 0x94,
-+ 0xf0, 0x90, 0x90, 0xf0, 0x90, 0x10, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x0b, 0x12, 0x3c,
-+ 0x55, 0x12, 0x14, 0x11, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x80, 0xfc,
-+ 0x54, 0x54, 0x94, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x02, 0x7e, 0x02, 0x3e, 0x03, 0x7e, 0x04, 0x09,
-+ 0x7f, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x40, 0x7c, 0x40, 0x78, 0x40, 0x7c, 0x40, 0x40,
-+ 0xfc, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7d, 0x09, 0x0b, 0x13, 0x1d,
-+ 0x34, 0x52, 0x13, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x50, 0x90, 0xfc, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x0a, 0x0b, 0x16, 0x3a,
-+ 0x56, 0x17, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xd8, 0xd8,
-+ 0xd8, 0x68, 0x48, 0x48, 0x48, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x08, 0x0b, 0x14, 0x19,
-+ 0x34, 0x57, 0x10, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8,
-+ 0x40, 0xfc, 0x90, 0xe0, 0x70, 0x88, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x08, 0x0b, 0x15, 0x19,
-+ 0x35, 0x55, 0x10, 0x13, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x0a, 0x0b, 0x16, 0x1b,
-+ 0x36, 0x56, 0x17, 0x1a, 0x12, 0x12, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0xa8, 0xa8, 0xf8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x7d, 0x09, 0x0b, 0x15, 0x39,
-+ 0x55, 0x15, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0xf8, 0xc8, 0x48, 0x48, 0x78, 0x20, 0xfc,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x7f, 0x04, 0x38, 0x20, 0x3d, 0x20, 0x3d,
-+ 0x21, 0x03, 0x0c, 0x74, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x88, 0xf8, 0xfc, 0x70, 0xac,
-+ 0x20, 0x10, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7d, 0x09, 0x0b, 0x15, 0x38,
-+ 0x57, 0x12, 0x12, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x50, 0x50, 0xb0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x0b, 0x0a, 0x16, 0x3b,
-+ 0x56, 0x17, 0x12, 0x14, 0x18, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x00, 0xfc, 0xa8, 0xf0, 0x8c,
-+ 0x10, 0xfc, 0x90, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x12, 0x11, 0x11, 0x7c, 0x0a, 0x09, 0x15, 0x38,
-+ 0x57, 0x15, 0x11, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x7c, 0x44,
-+ 0x58, 0x48, 0x74, 0xc4, 0xc0, 0x3c, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7e, 0x0a, 0x0a, 0x16, 0x1a,
-+ 0x36, 0x52, 0x15, 0x15, 0x1a, 0x11, 0x00, 0x00,
-+ 0x18, 0xe0, 0x38, 0x20, 0xfc, 0xb8, 0xe4, 0x9c,
-+ 0xf0, 0xd0, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x20, 0x27, 0x21, 0x79, 0x17, 0x14, 0x2c, 0x37,
-+ 0x6d, 0x29, 0x21, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x20, 0x30, 0x48, 0xfc, 0x24, 0xf8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0x30, 0x28, 0xf4, 0x04, 0x00, 0x00,
-+ 0x01, 0x7f, 0x1e, 0x12, 0x1e, 0x04, 0x3f, 0x1f,
-+ 0x04, 0x7f, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0x90, 0xf0, 0x40, 0xf8, 0xf0,
-+ 0x40, 0xfc, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x7f, 0x08, 0x3e, 0x7f, 0x2d, 0x4b, 0x3e,
-+ 0x0e, 0x31, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf0, 0x50, 0xd0, 0x70, 0x54,
-+ 0x94, 0x8c, 0x90, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7d, 0x0a, 0x09, 0x16, 0x18,
-+ 0x35, 0x55, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xfc, 0xcc, 0x54, 0xec, 0x54, 0x64, 0x80,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x7f, 0x09, 0x09, 0x15, 0x39,
-+ 0x55, 0x17, 0x10, 0x11, 0x10, 0x13, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x48, 0xf8, 0xf8, 0x48,
-+ 0xf8, 0xfc, 0x90, 0xe0, 0x70, 0x88, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x08, 0x0b, 0x15, 0x19,
-+ 0x35, 0x55, 0x10, 0x17, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0x00, 0xf0, 0x50, 0xf0,
-+ 0x50, 0xf0, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x12, 0x11, 0x7d, 0x09, 0x0b, 0x15, 0x19,
-+ 0x35, 0x54, 0x17, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0x20, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x12, 0x11, 0x13, 0x7e, 0x09, 0x0b, 0x15, 0x18,
-+ 0x37, 0x56, 0x13, 0x12, 0x13, 0x12, 0x00, 0x00,
-+ 0x48, 0x50, 0xfc, 0x08, 0xf0, 0x10, 0xf0, 0x00,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3e, 0x21, 0x3e, 0x53, 0x1e,
-+ 0x11, 0x7f, 0x06, 0x7c, 0x07, 0x38, 0x00, 0x00,
-+ 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x20, 0xfc, 0x20,
-+ 0x20, 0xfc, 0x90, 0x60, 0x30, 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,
-+ 0x10, 0x13, 0x10, 0x7f, 0x0a, 0x0b, 0x17, 0x1b,
-+ 0x34, 0x57, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xfc, 0x48, 0x58, 0x58, 0xf8,
-+ 0x80, 0xf8, 0xa8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x7f, 0x0a, 0x0b, 0x16, 0x3b,
-+ 0x54, 0x17, 0x12, 0x12, 0x17, 0x10, 0x00, 0x00,
-+ 0x10, 0xd0, 0x90, 0xdc, 0x60, 0xc0, 0xb8, 0xc0,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x11, 0x11, 0x11, 0x7f, 0x09, 0x09, 0x17, 0x18,
-+ 0x37, 0x56, 0x12, 0x13, 0x12, 0x10, 0x00, 0x00,
-+ 0x00, 0x7c, 0x10, 0xe0, 0x38, 0x28, 0xf8, 0x28,
-+ 0xb8, 0xa8, 0xb8, 0x98, 0xa4, 0x44, 0x00, 0x00,
-+ 0x10, 0x17, 0x10, 0x7f, 0x0a, 0x0b, 0x14, 0x1b,
-+ 0x36, 0x57, 0x12, 0x12, 0x14, 0x18, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x28, 0xfc,
-+ 0x28, 0xa8, 0x10, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x10, 0x7f, 0x0a, 0x0e, 0x17, 0x19,
-+ 0x37, 0x57, 0x13, 0x15, 0x11, 0x11, 0x00, 0x00,
-+ 0x00, 0xb8, 0x28, 0xe8, 0xb8, 0xa8, 0xf8, 0x28,
-+ 0xf8, 0xb0, 0x70, 0x34, 0x54, 0x8c, 0x00, 0x00,
-+ 0x20, 0x27, 0x24, 0x7f, 0x14, 0x17, 0x2c, 0x37,
-+ 0x6d, 0x2d, 0x25, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xbc, 0xa4, 0xbc, 0xa4, 0xbc, 0x44, 0xfc,
-+ 0xf4, 0xf4, 0xf4, 0xe4, 0x5c, 0x4c, 0x00, 0x00,
-+ 0x10, 0x11, 0x12, 0x7f, 0x0b, 0x0a, 0x17, 0x19,
-+ 0x36, 0x55, 0x10, 0x13, 0x10, 0x10, 0x00, 0x00,
-+ 0x80, 0xf8, 0xe8, 0x38, 0xb8, 0xa8, 0xfc, 0x30,
-+ 0xc8, 0xf4, 0x40, 0xf8, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x04, 0x3f, 0x24, 0x24, 0x24,
-+ 0x27, 0x24, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0xc8, 0x48, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x3f, 0x24, 0x27, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x7f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xc8, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x3f, 0x27, 0x08, 0x3e, 0x22,
-+ 0x3e, 0x3f, 0x7f, 0x1e, 0x22, 0x4d, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0xc8, 0x40, 0x40, 0xfc,
-+ 0x90, 0x90, 0x60, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x3f, 0x27, 0x14, 0x7f, 0x1c,
-+ 0x3e, 0x2a, 0x3e, 0x7f, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0xc8, 0xfc, 0xa0, 0xf8,
-+ 0xf8, 0xa0, 0xfc, 0xd4, 0x6c, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x11, 0x21, 0x4f, 0x08, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x38, 0xd0, 0x08, 0x04, 0xe4, 0x20, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x10, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x7d, 0x45,
-+ 0x45, 0x44, 0x7c, 0x45, 0x02, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0xf0, 0x10,
-+ 0xf0, 0xa0, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x08, 0x2a, 0x2a, 0x2a, 0x2a,
-+ 0x3f, 0x5d, 0x48, 0x0e, 0x71, 0x06, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x3f, 0x0a, 0x0a, 0x7f, 0x0c, 0x12,
-+ 0x3e, 0x52, 0x1e, 0x12, 0x1f, 0x12, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x0e, 0x06, 0x09, 0x10, 0x3f, 0x40, 0x3a, 0x2a,
-+ 0x3a, 0x2d, 0x3d, 0x2a, 0x2a, 0x2a, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xc8, 0xf8, 0x48, 0xf8, 0xc8,
-+ 0xf8, 0x30, 0x30, 0xb4, 0xd4, 0x8c, 0x00, 0x00,
-+ 0x08, 0x2a, 0x2a, 0x3e, 0x00, 0x7f, 0x00, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x14, 0x1e, 0x61, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x3e, 0x14, 0x7f, 0x08, 0x3e,
-+ 0x2a, 0x3e, 0x2a, 0x7f, 0x22, 0x27, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2a, 0x3e,
-+ 0x08, 0x3e, 0x08, 0x3e, 0x0c, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x50, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x04, 0x1b, 0x12, 0x1a, 0x19, 0x12, 0x3f, 0x2f,
-+ 0x48, 0x0f, 0x0f, 0x0f, 0x06, 0x78, 0x00, 0x00,
-+ 0x80, 0x70, 0x90, 0xb0, 0x30, 0x90, 0xfc, 0xe8,
-+ 0x20, 0xe0, 0xe0, 0xe4, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x7e, 0x49, 0x7e, 0x7d, 0x49, 0x7f, 0x4f,
-+ 0x08, 0x0f, 0x0f, 0x0f, 0x06, 0x78, 0x00, 0x00,
-+ 0x80, 0xfc, 0x00, 0xf8, 0xfc, 0x54, 0xfc, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0xe4, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x7f, 0x57, 0x7f, 0x3e, 0x22,
-+ 0x3e, 0x3e, 0x22, 0x3e, 0x14, 0x63, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x30, 0x30, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x77, 0x55, 0x77, 0x14, 0x3f,
-+ 0x64, 0x3f, 0x3f, 0x24, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x30, 0x30, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x10, 0x1e, 0x25, 0x49, 0x3f, 0x2b, 0x2b, 0x3f,
-+ 0x2b, 0x3f, 0x23, 0x23, 0x23, 0x46, 0x00, 0x00,
-+ 0x08, 0x30, 0xd0, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0x50, 0x70, 0x58, 0x78, 0x94, 0x04, 0x00, 0x00,
-+ 0x08, 0x2f, 0x28, 0x2f, 0x72, 0x07, 0x18, 0x6f,
-+ 0x09, 0x0f, 0x09, 0x0f, 0x10, 0x20, 0x00, 0x00,
-+ 0x80, 0x98, 0xe4, 0x84, 0x7c, 0xc0, 0x80, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x30, 0x00, 0x00,
-+ 0x10, 0x1e, 0x24, 0x48, 0x3e, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x3e, 0x23, 0x22, 0x23, 0x46, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0xa0, 0xa0, 0xfc, 0xa0, 0xa0,
-+ 0x90, 0xf4, 0x8c, 0x0c, 0xf4, 0x04, 0x00, 0x00,
-+ 0x10, 0x1e, 0x24, 0x49, 0x3e, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x3f, 0x22, 0x22, 0x22, 0x46, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xfc, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x1e, 0x24, 0x49, 0x3e, 0x2a, 0x2a, 0x3e,
-+ 0x2b, 0x3e, 0x23, 0x22, 0x23, 0x46, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xf0, 0x90, 0xf0, 0x90, 0xf0,
-+ 0xfc, 0xf8, 0x68, 0xa8, 0x48, 0x30, 0x00, 0x00,
-+ 0x10, 0x1f, 0x25, 0x49, 0x3e, 0x2a, 0x2b, 0x3f,
-+ 0x2b, 0x3f, 0x22, 0x22, 0x23, 0x46, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0xf8, 0x80, 0xf8, 0x48, 0xf8,
-+ 0x58, 0xf8, 0x68, 0x78, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x3e, 0x00, 0x7f, 0x00, 0x3e, 0x00, 0x3e,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x28, 0x24,
-+ 0x24, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3f, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3d, 0x24, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x10, 0x20,
-+ 0x40, 0x80, 0x00, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x01, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3f, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3d, 0x03, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0x24, 0x28, 0x28, 0x30,
-+ 0x60, 0x20, 0x24, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x10, 0x90, 0x90, 0x90, 0xfc, 0x30,
-+ 0x30, 0x50, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0x68,
-+ 0xa8, 0x98, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0x28, 0x28, 0x28,
-+ 0xe8, 0x28, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3f, 0x24, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0xf0, 0x90, 0x90,
-+ 0xf0, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0x48, 0x88, 0xf4, 0x04,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x27, 0x24, 0x3f, 0x24, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x10, 0xd0, 0x14, 0x0c, 0xec, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3f, 0x0f, 0x00, 0x7f, 0x0f,
-+ 0x0f, 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0xe0, 0x00, 0xfc, 0xe0,
-+ 0xe0, 0x00, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3c, 0x01, 0x3e,
-+ 0x00, 0x3d, 0x24, 0x24, 0x3c, 0x25, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xa0, 0xa4, 0x24, 0xa8,
-+ 0xb0, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x26, 0x3e, 0x24, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x20, 0xfc, 0x00, 0x78, 0x48,
-+ 0x48, 0x70, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x26, 0x26, 0x3c, 0x24, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3f, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0xe8, 0x28, 0xe8,
-+ 0x28, 0xe8, 0x28, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3e, 0x03, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x26, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0x20, 0x20, 0xfc, 0x70,
-+ 0x70, 0xa8, 0x28, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0x7e, 0x01, 0x39, 0x00, 0x39,
-+ 0x06, 0x38, 0x29, 0x29, 0x3a, 0x2c, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xa0, 0xa8, 0xa8, 0xb0, 0xb0, 0xa8,
-+ 0xa4, 0xa4, 0x20, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x01, 0x3c, 0x03, 0x3c,
-+ 0x00, 0x3d, 0x26, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x40, 0x58, 0xe0, 0x40, 0xf8, 0x40, 0xfc, 0xe0,
-+ 0xe0, 0x50, 0x48, 0x44, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x02, 0x3c, 0x00, 0x3f,
-+ 0x01, 0x3d, 0x25, 0x27, 0x3c, 0x24, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0xc8, 0xa8, 0xfc,
-+ 0x48, 0x28, 0x28, 0xfc, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0x7f, 0x00, 0x3a, 0x02, 0x3f,
-+ 0x02, 0x3a, 0x2a, 0x2a, 0x3c, 0x28, 0x00, 0x00,
-+ 0x28, 0x24, 0x24, 0xfc, 0x20, 0xa8, 0xa8, 0xe8,
-+ 0xb8, 0x90, 0x94, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x38, 0x02, 0x7d, 0x01, 0x3f, 0x00, 0x39,
-+ 0x01, 0x3a, 0x2c, 0x28, 0x38, 0x2b, 0x00, 0x00,
-+ 0x80, 0xfc, 0x90, 0x10, 0x10, 0x10, 0xfc, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x01, 0x3e, 0x03, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xfc, 0x20, 0x20, 0xfc, 0x20,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x02, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3b, 0x00, 0x7d, 0x01, 0x39, 0x01, 0x39,
-+ 0x02, 0x3a, 0x2c, 0x28, 0x3f, 0x28, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x50, 0x50, 0x50, 0x50, 0x50,
-+ 0xe8, 0xe4, 0x44, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x25, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xf8, 0x10, 0xfc, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x02, 0x3d, 0x00, 0x3f,
-+ 0x00, 0x3d, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0x04, 0xf8, 0x48, 0xfc,
-+ 0x48, 0xf8, 0x48, 0x40, 0x40, 0xc0, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3d, 0x00, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x88, 0x30, 0x40, 0xb8,
-+ 0x08, 0xb8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7f, 0x02, 0x3d, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xfc, 0x20, 0xa0,
-+ 0xb8, 0xa0, 0xa0, 0xe0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7c, 0x03, 0x3f, 0x02, 0x3e,
-+ 0x03, 0x3c, 0x25, 0x26, 0x3c, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x58, 0xd8, 0xe8,
-+ 0xf8, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3c, 0x01, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x48, 0x50, 0xfc, 0x00,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x03, 0x3c,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x20, 0x24, 0xf8, 0x20, 0x24, 0xe4, 0x3c, 0x40,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x00, 0x3c, 0x00, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xdc, 0x54, 0xdc, 0x00, 0xf8, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7f, 0x00, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x10, 0xf8, 0x90, 0xfc, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7f, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x25, 0x26, 0x3e, 0x24, 0x00, 0x00,
-+ 0x20, 0x3c, 0x20, 0xfc, 0x38, 0xe4, 0x1c, 0x00,
-+ 0x7c, 0x40, 0xfc, 0x40, 0x7c, 0x40, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7f, 0x03, 0x3c, 0x00, 0x3c,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3f, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0xfc, 0x00, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x00, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x24, 0x27, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3b, 0x02, 0x7f, 0x02, 0x3b, 0x03, 0x3b,
-+ 0x03, 0x3a, 0x2a, 0x2c, 0x3f, 0x28, 0x00, 0x00,
-+ 0x00, 0xf0, 0x30, 0xd0, 0x90, 0xf0, 0xb0, 0xb0,
-+ 0xf0, 0x90, 0xb4, 0xfc, 0x1c, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x7f, 0x02, 0x3b, 0x02, 0x3b,
-+ 0x02, 0x3f, 0x2a, 0x2a, 0x3a, 0x2a, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3b, 0x02, 0x7e, 0x03, 0x3a, 0x02, 0x3b,
-+ 0x02, 0x38, 0x28, 0x29, 0x3a, 0x2c, 0x00, 0x00,
-+ 0xc0, 0x58, 0x48, 0x48, 0x58, 0x48, 0x48, 0xf8,
-+ 0x48, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3d, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x3d,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x24, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0xe8, 0xa8, 0xe8, 0x18, 0xfc,
-+ 0x08, 0xe8, 0xa8, 0xe8, 0x08, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x5f, 0x0f, 0x7f, 0x04, 0x1f,
-+ 0x6f, 0x07, 0x07, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0xf8, 0xe0, 0xfc, 0x40, 0xf0,
-+ 0xec, 0xc0, 0xc0, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7f, 0x00, 0x3c, 0x00, 0x3d,
-+ 0x03, 0x3d, 0x25, 0x25, 0x3f, 0x24, 0x00, 0x00,
-+ 0xf0, 0x90, 0x08, 0xf4, 0x00, 0xf0, 0x90, 0x08,
-+ 0xfc, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7d, 0x02, 0x3c, 0x00, 0x3c,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3f, 0x24, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0xf8, 0x44, 0xf0, 0x10, 0x60,
-+ 0xf8, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3d, 0x01, 0x7f, 0x01, 0x3d, 0x00, 0x3d,
-+ 0x02, 0x3c, 0x27, 0x24, 0x3c, 0x27, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xa4, 0x5c,
-+ 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x38, 0x00, 0x7e, 0x02, 0x3a, 0x04, 0x38,
-+ 0x03, 0x3a, 0x2a, 0x2a, 0x3f, 0x28, 0x00, 0x00,
-+ 0x40, 0x28, 0xa8, 0x90, 0x98, 0xa4, 0xd4, 0xf0,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x01, 0x7e, 0x00, 0x3d, 0x01, 0x3e,
-+ 0x01, 0x3c, 0x24, 0x24, 0x3c, 0x25, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x50, 0xfc, 0x28, 0x20,
-+ 0xfc, 0x20, 0x38, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7e, 0x00, 0x3f, 0x00, 0x3d,
-+ 0x03, 0x3c, 0x25, 0x25, 0x3d, 0x25, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xb0, 0xe0, 0x80, 0xf8, 0x20,
-+ 0xfc, 0x20, 0x28, 0x28, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3b, 0x02, 0x7e, 0x02, 0x3a, 0x02, 0x3b,
-+ 0x03, 0x3b, 0x2b, 0x2a, 0x3b, 0x2a, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x00, 0xf8,
-+ 0x68, 0x68, 0xf8, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x1d, 0x0b, 0x3f, 0x2a, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x80, 0x80, 0xf8, 0x08, 0xe8, 0xf8, 0x08, 0xe8,
-+ 0xe8, 0x08, 0xe8, 0xa8, 0xe8, 0x30, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x3f, 0x2a, 0x3e, 0x23, 0x47,
-+ 0x3f, 0x07, 0x07, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x70, 0x50, 0x94, 0xfc, 0x90, 0x60, 0x9c, 0xc0,
-+ 0xf8, 0xc0, 0xc0, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x00, 0x38, 0x07, 0x7d, 0x00, 0x3b, 0x02, 0x3b,
-+ 0x02, 0x3a, 0x2a, 0x2a, 0x3a, 0x2a, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x10, 0xa0, 0xf8, 0x48, 0xf8,
-+ 0x48, 0xe8, 0xa8, 0xe8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x3c, 0x01, 0x3d,
-+ 0x01, 0x3d, 0x24, 0x24, 0x3c, 0x27, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc, 0x54,
-+ 0xfc, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x03, 0x7e, 0x01, 0x3d, 0x01, 0x3d,
-+ 0x01, 0x3c, 0x27, 0x24, 0x3d, 0x26, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf8, 0x08, 0xf8, 0x08,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x38, 0x07, 0x7c, 0x03, 0x39, 0x07, 0x39,
-+ 0x03, 0x38, 0x2f, 0x28, 0x38, 0x28, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xfc, 0xa0, 0xf8, 0x50, 0xfc, 0x50,
-+ 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3b, 0x01, 0x7d, 0x03, 0x39, 0x01, 0x39,
-+ 0x01, 0x3a, 0x2a, 0x2d, 0x39, 0x2a, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0xe4, 0x20, 0xf0, 0x10,
-+ 0xfc, 0x04, 0xd4, 0x6c, 0x44, 0x18, 0x00, 0x00,
-+ 0x01, 0x39, 0x06, 0x7e, 0x01, 0x3a, 0x07, 0x38,
-+ 0x03, 0x39, 0x29, 0x2a, 0x3a, 0x2c, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xd4, 0x48, 0xd4, 0xfc, 0x50,
-+ 0xfc, 0x28, 0xa8, 0x94, 0x2c, 0xc4, 0x00, 0x00,
-+ 0x00, 0x3b, 0x00, 0x7c, 0x07, 0x38, 0x03, 0x38,
-+ 0x03, 0x3a, 0x2b, 0x2a, 0x3a, 0x2a, 0x00, 0x00,
-+ 0x00, 0xf0, 0xa0, 0x40, 0xfc, 0xc8, 0x50, 0xc0,
-+ 0xf8, 0xb8, 0xf8, 0xa8, 0xe8, 0x18, 0x00, 0x00,
-+ 0x01, 0x38, 0x02, 0x7d, 0x01, 0x3a, 0x05, 0x39,
-+ 0x01, 0x39, 0x29, 0x28, 0x3f, 0x28, 0x00, 0x00,
-+ 0xc8, 0x68, 0xb4, 0x94, 0xf8, 0x08, 0xf4, 0x10,
-+ 0x10, 0xf0, 0x10, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3b, 0x02, 0x7e, 0x03, 0x39, 0x01, 0x3a,
-+ 0x05, 0x39, 0x29, 0x29, 0x39, 0x29, 0x00, 0x00,
-+ 0x88, 0xfc, 0xa8, 0xa8, 0xfc, 0xd8, 0xac, 0x4c,
-+ 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x01, 0x39, 0x07, 0x79, 0x07, 0x39, 0x02, 0x3c,
-+ 0x01, 0x39, 0x29, 0x29, 0x39, 0x29, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x10, 0xfc, 0x10, 0xa8, 0x44,
-+ 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x7f, 0x02, 0x3b, 0x01, 0x39,
-+ 0x01, 0x39, 0x29, 0x2f, 0x38, 0x28, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x38, 0x03, 0x7f, 0x02, 0x3b, 0x02, 0x3b,
-+ 0x02, 0x3a, 0x2a, 0x2a, 0x3c, 0x28, 0x00, 0x00,
-+ 0x40, 0xf8, 0x20, 0xfc, 0x54, 0x8c, 0x70, 0xfc,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x39, 0x01, 0x7d, 0x00, 0x3b, 0x02, 0x3b,
-+ 0x00, 0x3f, 0x28, 0x29, 0x3e, 0x28, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xb8, 0xa8, 0xb8,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3f, 0x3e, 0x33, 0x5e, 0x0f,
-+ 0x7f, 0x07, 0x07, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xfc, 0x20, 0xe0,
-+ 0xfc, 0xc0, 0xc0, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3b, 0x02, 0x7f, 0x00, 0x3b, 0x00, 0x3f,
-+ 0x01, 0x3f, 0x28, 0x2b, 0x38, 0x28, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x10, 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3a, 0x01, 0x79, 0x04, 0x3b, 0x02, 0x38,
-+ 0x06, 0x3a, 0x2a, 0x2a, 0x3d, 0x28, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0x20, 0xfc, 0xf0, 0x90,
-+ 0xf0, 0xf8, 0x88, 0xf8, 0x80, 0xfc, 0x00, 0x00,
-+ 0x06, 0x1b, 0x13, 0x1c, 0x1e, 0x12, 0x7f, 0x17,
-+ 0x3f, 0x47, 0x07, 0x0f, 0x08, 0x0f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0xf0, 0xf0, 0x90, 0xfc, 0xd0,
-+ 0xf8, 0xc4, 0xc0, 0xe0, 0x20, 0xe0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x7f, 0x02, 0x3b, 0x03, 0x39,
-+ 0x01, 0x39, 0x29, 0x29, 0x39, 0x2e, 0x00, 0x00,
-+ 0x40, 0xfc, 0xf0, 0xf8, 0xa8, 0x38, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x00, 0x38, 0x07, 0x7c, 0x01, 0x3f, 0x01, 0x3b,
-+ 0x05, 0x39, 0x28, 0x2a, 0x3a, 0x2c, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xfc, 0xa0, 0xf0, 0x14, 0xf8, 0xb0,
-+ 0xf4, 0xac, 0x00, 0xa8, 0x54, 0x54, 0x00, 0x00,
-+ 0x14, 0x17, 0x28, 0x3f, 0x68, 0x2b, 0x3c, 0x2b,
-+ 0x28, 0x3f, 0x2a, 0x2b, 0x3e, 0x20, 0x00, 0x00,
-+ 0x14, 0x94, 0x28, 0xfc, 0x68, 0xa8, 0x3c, 0xa8,
-+ 0x28, 0xbc, 0xa8, 0xa8, 0xbc, 0x20, 0x00, 0x00,
-+ 0x00, 0x38, 0x07, 0x7d, 0x01, 0x39, 0x01, 0x3b,
-+ 0x00, 0x3b, 0x29, 0x29, 0x38, 0x2f, 0x00, 0x00,
-+ 0x40, 0xf8, 0xf0, 0x10, 0xf4, 0xb8, 0xe4, 0x7c,
-+ 0xa0, 0xf0, 0x50, 0xf4, 0xac, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x03, 0x7e, 0x03, 0x38, 0x07, 0x3b,
-+ 0x00, 0x3f, 0x29, 0x2f, 0x39, 0x2e, 0x00, 0x00,
-+ 0x40, 0xfc, 0xb8, 0xa8, 0xb8, 0xa0, 0xfc, 0xf8,
-+ 0xa0, 0xfc, 0xa8, 0x30, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x02, 0x3a, 0x02, 0x7d, 0x07, 0x3a, 0x06, 0x3a,
-+ 0x06, 0x3a, 0x2e, 0x2b, 0x3e, 0x28, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xa8, 0x68, 0xfc, 0xa0, 0xe8, 0xa8,
-+ 0xe8, 0xd0, 0x94, 0xfc, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x7f, 0x02, 0x3b, 0x00, 0x39,
-+ 0x03, 0x3d, 0x29, 0x29, 0x39, 0x29, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xb8, 0xa8, 0xb8, 0x90, 0xfc,
-+ 0x20, 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x03, 0x3b, 0x05, 0x7f, 0x03, 0x3b, 0x05, 0x39,
-+ 0x01, 0x39, 0x29, 0x29, 0x39, 0x2e, 0x00, 0x00,
-+ 0x30, 0xb8, 0x50, 0xfc, 0x30, 0xb4, 0x4c, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x14, 0x12, 0x22, 0x48, 0x08, 0x14, 0x13, 0x22,
-+ 0x7e, 0x22, 0x22, 0x3f, 0x22, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x30,
-+ 0x30, 0x50, 0x90, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x08, 0x3f, 0x2a, 0x7e, 0x09, 0x3e, 0x08, 0x7f,
-+ 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x50, 0x48, 0x88, 0xa0, 0x20, 0x50, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x02, 0x3e, 0x29, 0x49, 0x0a, 0x32, 0x0c, 0x0a,
-+ 0x3f, 0x08, 0x7f, 0x0c, 0x12, 0x60, 0x00, 0x00,
-+ 0x50, 0x48, 0x88, 0x20, 0x20, 0x50, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x11, 0x11, 0x1f, 0x00, 0x7f, 0x00, 0x0f,
-+ 0x08, 0x0f, 0x04, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0x10, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0xe0,
-+ 0x20, 0xe0, 0x40, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x01, 0x3d, 0x26, 0x24, 0x24, 0x3d,
-+ 0x27, 0x14, 0x18, 0x1c, 0x61, 0x02, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x80, 0xb8, 0xe8, 0x68,
-+ 0x68, 0xf8, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x3e, 0x24, 0x3f, 0x3f,
-+ 0x0f, 0x08, 0x0f, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x50, 0x20, 0xd0, 0x0c, 0xf8,
-+ 0xe0, 0x20, 0xe0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x25, 0x2f, 0x25, 0x2f, 0x2f, 0x25, 0x3f, 0x7f,
-+ 0x0f, 0x08, 0x0f, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x48, 0xe8, 0x48, 0xe8, 0xe8, 0x48, 0xf8, 0xfc,
-+ 0xe0, 0x20, 0xe0, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x02, 0x0e, 0x73, 0x05, 0x19,
-+ 0x62, 0x04, 0x18, 0x60, 0x01, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x48, 0x48, 0x50, 0xa0,
-+ 0xa0, 0x90, 0x88, 0x84, 0x00, 0x00, 0x00, 0x00,
-+ 0x09, 0x09, 0x1f, 0x02, 0x7f, 0x04, 0x1f, 0x63,
-+ 0x3d, 0x06, 0x39, 0x06, 0x38, 0x03, 0x00, 0x00,
-+ 0x20, 0x10, 0xf8, 0x80, 0xfc, 0x40, 0xf0, 0x1c,
-+ 0x90, 0xa0, 0xe0, 0x98, 0x84, 0x00, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x10, 0x32, 0x4b, 0x1c, 0x2c,
-+ 0x4a, 0x1b, 0x2a, 0x48, 0x08, 0x30, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x50, 0xfc, 0x30, 0x48,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x00, 0x03, 0x3c, 0x02, 0x03, 0x7c, 0x01,
-+ 0x06, 0x38, 0x01, 0x06, 0x38, 0x01, 0x00, 0x00,
-+ 0x40, 0x80, 0x88, 0x50, 0x60, 0x80, 0x80, 0x40,
-+ 0x60, 0xa0, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00,
-+ 0x04, 0x18, 0x6a, 0x24, 0x1b, 0x70, 0x08, 0x1c,
-+ 0x64, 0x0c, 0x15, 0x66, 0x04, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x10, 0xfc, 0x30, 0x30, 0x50,
-+ 0x50, 0x90, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x04, 0x19, 0x6a, 0x24, 0x18, 0x68, 0x0d, 0x14,
-+ 0x65, 0x0d, 0x15, 0x65, 0x05, 0x19, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x88, 0x30, 0x00,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x18, 0x6a, 0x24, 0x19, 0x6a, 0x0c, 0x15,
-+ 0x66, 0x0d, 0x15, 0x65, 0x05, 0x19, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x88, 0x90, 0x60, 0x60, 0x90,
-+ 0x0c, 0xf8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x09, 0x11, 0x6d, 0x29, 0x13, 0x72, 0x1e, 0x2a,
-+ 0x4a, 0x1a, 0x2b, 0x4a, 0x0a, 0x32, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x70, 0x70,
-+ 0xa8, 0xa8, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x19, 0x6a, 0x24, 0x18, 0x68, 0x0c, 0x14,
-+ 0x64, 0x0c, 0x14, 0x64, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x40, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x04, 0x19, 0x6b, 0x25, 0x19, 0x69, 0x0d, 0x15,
-+ 0x64, 0x0d, 0x14, 0x64, 0x07, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x19, 0x6b, 0x25, 0x19, 0x69, 0x0d, 0x15,
-+ 0x64, 0x0c, 0x14, 0x64, 0x05, 0x1a, 0x00, 0x00,
-+ 0x40, 0xb8, 0x08, 0x08, 0xb8, 0x08, 0x08, 0xf8,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x04, 0x18, 0x6b, 0x25, 0x19, 0x69, 0x0d, 0x15,
-+ 0x65, 0x0d, 0x15, 0x65, 0x05, 0x1e, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x28, 0xe8, 0x58, 0x88, 0xf8,
-+ 0x24, 0xf8, 0x20, 0x24, 0xe4, 0x1c, 0x00, 0x00,
-+ 0x05, 0x19, 0x6b, 0x25, 0x19, 0x69, 0x0d, 0x15,
-+ 0x65, 0x0d, 0x15, 0x65, 0x05, 0x1e, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x24, 0xe8, 0x30, 0x20,
-+ 0x20, 0x20, 0x24, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x04, 0x1b, 0x68, 0x25, 0x19, 0x69, 0x0d, 0x15,
-+ 0x64, 0x0f, 0x14, 0x64, 0x05, 0x1e, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0xf8, 0x08, 0xf8, 0x08, 0xf8,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x23, 0x3e, 0x22,
-+ 0x22, 0x3e, 0x14, 0x12, 0x23, 0x42, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0x40, 0x7c, 0xc8, 0x48, 0x50,
-+ 0x30, 0x20, 0x54, 0x94, 0x0c, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x1f, 0x10, 0x17, 0x14, 0x17,
-+ 0x14, 0x17, 0x24, 0x27, 0x43, 0x1c, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x80, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x10, 0xf0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x70, 0x0f, 0x00, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0x80, 0xe0, 0x1c, 0xe0, 0x40, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3f, 0x22,
-+ 0x22, 0x3e, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0x48, 0x88, 0xf4, 0x04,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x2f, 0x28, 0x2e, 0x78, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x80, 0x98, 0xe0, 0x84, 0x7c, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x7f, 0x1f, 0x00, 0x7f, 0x1f, 0x11,
-+ 0x1f, 0x1f, 0x11, 0x1f, 0x19, 0x60, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0x40, 0xc0, 0x40, 0x40,
-+ 0x20, 0x20, 0x14, 0x14, 0x0c, 0x84, 0x00, 0x00,
-+ 0x00, 0x1f, 0x00, 0x7f, 0x00, 0x1f, 0x11, 0x1f,
-+ 0x11, 0x1f, 0x11, 0x1f, 0x19, 0x60, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x40, 0x40, 0x40,
-+ 0x20, 0x20, 0x14, 0x14, 0x0c, 0x84, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x3c, 0x27, 0x3c, 0x24,
-+ 0x24, 0x3c, 0x19, 0x15, 0x22, 0x44, 0x00, 0x00,
-+ 0x08, 0x30, 0xc0, 0x40, 0x40, 0xf8, 0x08, 0x10,
-+ 0x10, 0x20, 0x40, 0x80, 0x40, 0x3c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x04, 0x3f, 0x24, 0x3f, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x1f, 0x05, 0x7f, 0x04, 0x0f, 0x08, 0x0f,
-+ 0x08, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf0, 0x40, 0xfc, 0x40, 0xe0, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3c, 0x24, 0x3d, 0x24,
-+ 0x24, 0x3f, 0x18, 0x14, 0x24, 0x43, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x54,
-+ 0x7c, 0xc8, 0x30, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x01, 0x7f, 0x1f, 0x3f, 0x24, 0x3f, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf0, 0xf8, 0x48, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x09, 0x17, 0x25, 0x19, 0x6f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0xa8, 0x48, 0x30, 0xec, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x3f, 0x24, 0x7f, 0x1f, 0x04, 0x7f, 0x0f,
-+ 0x18, 0x6f, 0x0f, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xfc, 0xf0, 0x40, 0xfc, 0xe0,
-+ 0x30, 0xec, 0xe0, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x27, 0x24, 0x3f, 0x24, 0x3f, 0x24,
-+ 0x27, 0x3d, 0x19, 0x16, 0x24, 0x40, 0x00, 0x00,
-+ 0x48, 0xb0, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc, 0xa8,
-+ 0xf8, 0xb0, 0xb0, 0xa8, 0xa4, 0xa0, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x25, 0x3d, 0x25, 0x3d, 0x25,
-+ 0x25, 0x3c, 0x1b, 0x15, 0x24, 0x40, 0x00, 0x00,
-+ 0x50, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48, 0xf8,
-+ 0x48, 0x10, 0xfc, 0x10, 0x90, 0x30, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7f, 0x14, 0x7f, 0x3e, 0x09, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0xd4, 0xb4, 0x0c, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7e, 0x09, 0x7f, 0x1e, 0x27, 0x4f,
-+ 0x08, 0x0f, 0x0f, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0x50, 0x70, 0x8c, 0xe0,
-+ 0x20, 0xe0, 0xe0, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x14, 0x1f, 0x25, 0x7f, 0x16, 0x25, 0x4f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0xa0, 0xf8, 0x20, 0xfc, 0x50, 0x94, 0xec, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x08, 0x7f, 0x12, 0x0d, 0x1d, 0x63, 0x0f, 0x08,
-+ 0x0f, 0x0f, 0x08, 0x0f, 0x06, 0x38, 0x00, 0x00,
-+ 0xd4, 0xfc, 0x70, 0x50, 0x74, 0x8c, 0xe4, 0x20,
-+ 0xe0, 0xe0, 0x20, 0xe0, 0x60, 0x18, 0x00, 0x00,
-+ 0x01, 0x7f, 0x08, 0x07, 0x1f, 0x10, 0x1f, 0x3b,
-+ 0x2a, 0x3b, 0x2b, 0x3b, 0x2b, 0x5c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0xf0, 0x10, 0xf0, 0xb8,
-+ 0xa8, 0xb8, 0xb8, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x25, 0x3d, 0x25, 0x3d, 0x25,
-+ 0x25, 0x3d, 0x1a, 0x16, 0x24, 0x40, 0x00, 0x00,
-+ 0x40, 0xf0, 0x20, 0xfc, 0x54, 0x8c, 0x70, 0xfc,
-+ 0x70, 0x70, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x27, 0x3d, 0x24, 0x3f, 0x25,
-+ 0x26, 0x3d, 0x19, 0x15, 0x27, 0x40, 0x00, 0x00,
-+ 0x40, 0xf8, 0x48, 0xfc, 0xf8, 0x40, 0xfc, 0xa8,
-+ 0x54, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x3e, 0x15, 0x1d, 0x3f, 0x5f, 0x17,
-+ 0x14, 0x17, 0x17, 0x17, 0x22, 0x4c, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x50, 0x78, 0xf4, 0xf0, 0xd0,
-+ 0x50, 0xd0, 0xd0, 0xd0, 0x90, 0x50, 0x00, 0x00,
-+ 0x00, 0x38, 0x2d, 0x2d, 0x3d, 0x2f, 0x39, 0x2f,
-+ 0x2d, 0x3d, 0x15, 0x1a, 0x2a, 0x44, 0x00, 0x00,
-+ 0x18, 0x14, 0xfc, 0x10, 0xf4, 0xd4, 0xf4, 0xb8,
-+ 0xf8, 0xdc, 0xfc, 0x9c, 0x24, 0x44, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3d, 0x25, 0x3d, 0x25,
-+ 0x25, 0x3d, 0x1a, 0x16, 0x27, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0x20, 0x20, 0xf8, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x0f, 0x08, 0x0f, 0x0f, 0x0f, 0x18, 0x3e,
-+ 0x22, 0x3e, 0x3e, 0x3e, 0x14, 0x63, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xe0, 0x30, 0xf8,
-+ 0x88, 0xf8, 0xf8, 0xf8, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x25, 0x3d, 0x25, 0x3d, 0x24,
-+ 0x24, 0x3c, 0x18, 0x14, 0x24, 0x43, 0x00, 0x00,
-+ 0x20, 0xfc, 0xf8, 0xfc, 0x54, 0x9c, 0xfc, 0xf8,
-+ 0x88, 0xf8, 0xf8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x08, 0x7f, 0x14, 0x36,
-+ 0x36, 0x35, 0x55, 0x14, 0x24, 0x4c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x80, 0xf8, 0xc8,
-+ 0xa8, 0xb0, 0x90, 0xb0, 0xc8, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x08, 0x08, 0x7f, 0x14, 0x36,
-+ 0x37, 0x35, 0x55, 0x14, 0x24, 0x4c, 0x00, 0x00,
-+ 0x40, 0x48, 0xf8, 0x50, 0x50, 0xfc, 0x50, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x01, 0x7f, 0x08, 0x04,
-+ 0x04, 0x10, 0x1b, 0x14, 0x23, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0x00, 0xfc, 0x20, 0x20,
-+ 0x40, 0x80, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x08, 0x7f, 0x08, 0x28,
-+ 0x2e, 0x29, 0x38, 0x28, 0x46, 0x41, 0x00, 0x00,
-+ 0x10, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x9c,
-+ 0xf0, 0x90, 0x10, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x08, 0x08, 0x7f, 0x08, 0x28,
-+ 0x2e, 0x28, 0x38, 0x28, 0x47, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x24, 0x40, 0x90,
-+ 0x24, 0xc8, 0x10, 0x60, 0x80, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x3e, 0x09, 0x08, 0x7f, 0x08, 0x28,
-+ 0x2e, 0x28, 0x38, 0x28, 0x46, 0x41, 0x00, 0x00,
-+ 0x20, 0xa8, 0xa4, 0x24, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0x88, 0x98, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x23, 0x3e, 0x08, 0x29, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x38, 0x61, 0x06, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x38, 0x63, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xa0, 0xbc, 0xa0, 0xa0,
-+ 0xa0, 0xa0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x08, 0x29, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x38, 0x61, 0x06, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x01, 0x3d, 0x25, 0x27, 0x3d, 0x09, 0x29, 0x2d,
-+ 0x29, 0x29, 0x2e, 0x3a, 0x64, 0x09, 0x00, 0x00,
-+ 0x00, 0x00, 0x1c, 0xd4, 0x54, 0x54, 0x54, 0x54,
-+ 0x54, 0x54, 0x54, 0x5c, 0x54, 0x80, 0x00, 0x00,
-+ 0x00, 0x7b, 0x4a, 0x4a, 0x7a, 0x12, 0x57, 0x5e,
-+ 0x52, 0x52, 0x5e, 0x72, 0x42, 0x02, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xfc, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x3e, 0x08, 0x28, 0x2f,
-+ 0x29, 0x2a, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x80, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x09, 0x2b, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x38, 0x61, 0x06, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3d, 0x09, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2e, 0x3a, 0x65, 0x0e, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x28, 0x20, 0x20, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x23, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x28, 0x28, 0x2f, 0x3a, 0x64, 0x0b, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x48, 0x48, 0xc8,
-+ 0xb0, 0xb0, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x27, 0x3d, 0x09, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2e, 0x3a, 0x64, 0x08, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x20, 0xfc, 0x00, 0x78, 0x48,
-+ 0x48, 0x70, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x09, 0x09, 0x0f, 0x71, 0x02, 0x1f,
-+ 0x10, 0x1f, 0x09, 0x09, 0x15, 0x63, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x90, 0x54, 0x54, 0x0c, 0xf0,
-+ 0x10, 0xf0, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x63, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0xa4,
-+ 0xa4, 0xa8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x09, 0x29, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x38, 0x61, 0x02, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc, 0x50,
-+ 0x50, 0x50, 0x90, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x09, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2e, 0x3a, 0x64, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0xfc, 0x04,
-+ 0xf4, 0x94, 0xf4, 0x94, 0x04, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x22, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x39, 0x62, 0x00, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x28, 0x08, 0x2e,
-+ 0x28, 0x28, 0x28, 0x2e, 0x38, 0x63, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8,
-+ 0xa4, 0xa8, 0x90, 0xb0, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x09, 0x28, 0x2e,
-+ 0x28, 0x28, 0x2f, 0x39, 0x62, 0x04, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20, 0xa0,
-+ 0xb8, 0xa0, 0xa0, 0x60, 0x30, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x29, 0x28, 0x2e, 0x39, 0x62, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xf8, 0x20,
-+ 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x09, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2e, 0x3a, 0x64, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x28, 0x20, 0xfc,
-+ 0x20, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x23, 0x3e, 0x08, 0x29, 0x2e,
-+ 0x28, 0x29, 0x2e, 0x38, 0x60, 0x03, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x54,
-+ 0x7c, 0xc8, 0x30, 0x24, 0xdc, 0x04, 0x00, 0x00,
-+ 0x01, 0x3d, 0x25, 0x25, 0x3d, 0x0a, 0x28, 0x2f,
-+ 0x28, 0x28, 0x2f, 0x39, 0x62, 0x04, 0x00, 0x00,
-+ 0x00, 0x00, 0x38, 0xe8, 0xa8, 0xa8, 0xa8, 0xe8,
-+ 0xa8, 0xa8, 0x68, 0x78, 0x28, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3f, 0x28, 0x09, 0x2e,
-+ 0x28, 0x29, 0x28, 0x2e, 0x39, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xfc, 0x68, 0xa0, 0x60,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x22, 0x3e, 0x08, 0x28, 0x2e,
-+ 0x28, 0x28, 0x2e, 0x38, 0x63, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x28, 0x0b, 0x2e,
-+ 0x2b, 0x2a, 0x2b, 0x2e, 0x3a, 0x62, 0x00, 0x00,
-+ 0xe0, 0x60, 0x90, 0x08, 0xf4, 0x00, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x22, 0x3e, 0x28, 0x08, 0x2e,
-+ 0x28, 0x28, 0x2b, 0x2c, 0x38, 0x63, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xfc, 0x44, 0x84, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3e, 0x09, 0x28, 0x2e,
-+ 0x29, 0x28, 0x2f, 0x38, 0x61, 0x06, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0x54, 0x90, 0x60, 0x50,
-+ 0xf8, 0x40, 0xfc, 0xa0, 0x10, 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,
-+ 0x01, 0x3f, 0x24, 0x7f, 0x1f, 0x04, 0x7f, 0x0f,
-+ 0x14, 0x67, 0x09, 0x09, 0x17, 0x61, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xf8, 0xf0, 0x40, 0xfc, 0xe0,
-+ 0x50, 0xcc, 0x00, 0xe0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x01, 0x3c, 0x27, 0x24, 0x3d, 0x08, 0x2b, 0x2c,
-+ 0x28, 0x28, 0x2f, 0x3a, 0x67, 0x00, 0x00, 0x00,
-+ 0x10, 0xa0, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x80,
-+ 0xf8, 0xa0, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x25, 0x3e, 0x09, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2f, 0x3b, 0x65, 0x01, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0xf0, 0x08, 0xf4, 0x10, 0xf0,
-+ 0xf0, 0x00, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x3c, 0x29, 0x0b, 0x2f,
-+ 0x29, 0x29, 0x29, 0x2f, 0x39, 0x61, 0x00, 0x00,
-+ 0x40, 0x58, 0x40, 0x58, 0xa0, 0x10, 0xf8, 0x14,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3e, 0x28, 0x09, 0x2f,
-+ 0x29, 0x29, 0x29, 0x2f, 0x39, 0x61, 0x00, 0x00,
-+ 0x18, 0xf0, 0x48, 0x24, 0x24, 0x40, 0xb8, 0x08,
-+ 0x08, 0xb8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x13, 0x1f, 0x17, 0x1a, 0x22,
-+ 0x4f, 0x08, 0x0f, 0x09, 0x17, 0x21, 0x00, 0x00,
-+ 0x50, 0xfc, 0x48, 0xa8, 0xf0, 0x30, 0xd4, 0x0c,
-+ 0xe4, 0x20, 0xe0, 0xf0, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x26, 0x3c, 0x08, 0x29, 0x2f,
-+ 0x2b, 0x29, 0x29, 0x2f, 0x39, 0x61, 0x00, 0x00,
-+ 0xa8, 0xa8, 0x28, 0x54, 0xd4, 0x90, 0x10, 0x50,
-+ 0x5c, 0x50, 0x50, 0xb0, 0x90, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x25, 0x3d, 0x09, 0x29, 0x2d,
-+ 0x29, 0x29, 0x2e, 0x3b, 0x65, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x50, 0xfc, 0x50, 0x50,
-+ 0x70, 0x50, 0x00, 0xa8, 0x54, 0x54, 0x00, 0x00,
-+ 0x00, 0x3e, 0x23, 0x23, 0x3e, 0x28, 0x08, 0x2f,
-+ 0x28, 0x28, 0x28, 0x2d, 0x3a, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xf8, 0x00, 0xfc,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x24, 0x3c, 0x28, 0x0b, 0x2e,
-+ 0x2b, 0x2a, 0x2a, 0x2f, 0x3a, 0x62, 0x00, 0x00,
-+ 0xa0, 0xa0, 0xfc, 0xa0, 0xe0, 0x40, 0xf8, 0x48,
-+ 0xf8, 0xd8, 0xd8, 0x68, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x3f, 0x26, 0x27, 0x3e, 0x2b, 0x09, 0x2f,
-+ 0x29, 0x2b, 0x28, 0x2f, 0x38, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x50, 0xfc,
-+ 0x50, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x27, 0x26, 0x3e, 0x0b, 0x2a, 0x2f,
-+ 0x2b, 0x2b, 0x2f, 0x3c, 0x65, 0x0a, 0x00, 0x00,
-+ 0x00, 0xfc, 0x30, 0xb0, 0xd0, 0xfc, 0xb4, 0xf8,
-+ 0xd0, 0xd0, 0x98, 0xa8, 0x24, 0x44, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x26, 0x3d, 0x29, 0x09, 0x2f,
-+ 0x29, 0x28, 0x2b, 0x2c, 0x38, 0x60, 0x00, 0x00,
-+ 0xf0, 0x90, 0xf8, 0x64, 0xf8, 0x78, 0x98, 0xf8,
-+ 0xf8, 0x10, 0xfc, 0x90, 0x50, 0x30, 0x00, 0x00,
-+ 0x00, 0x3e, 0x25, 0x27, 0x3d, 0x08, 0x2b, 0x2c,
-+ 0x29, 0x28, 0x2f, 0x38, 0x61, 0x06, 0x00, 0x00,
-+ 0xa0, 0xa8, 0xb0, 0xfc, 0x10, 0xa0, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xfc, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x09, 0x29, 0x2f,
-+ 0x28, 0x29, 0x2e, 0x38, 0x63, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xdc, 0x54, 0xdc,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x3d, 0x28, 0x0b, 0x2e,
-+ 0x28, 0x2b, 0x28, 0x2e, 0x38, 0x60, 0x00, 0x00,
-+ 0x90, 0xfc, 0x90, 0x48, 0xf8, 0x50, 0xfc, 0x50,
-+ 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3c, 0x09, 0x29, 0x2f,
-+ 0x29, 0x29, 0x2e, 0x38, 0x63, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0xf8, 0x80, 0xfc, 0x44, 0xf4,
-+ 0x54, 0xf4, 0x54, 0x7c, 0x8c, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3f, 0x3e, 0x32, 0x5e, 0x1f,
-+ 0x08, 0x0f, 0x09, 0x09, 0x17, 0x21, 0x00, 0x00,
-+ 0x20, 0xf8, 0x50, 0xfc, 0x20, 0xf8, 0x20, 0xe0,
-+ 0x20, 0xe0, 0x00, 0xf0, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x3e, 0x0b, 0x2c, 0x2f,
-+ 0x29, 0x29, 0x2f, 0x39, 0x62, 0x04, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa8, 0xf0, 0xe8, 0xf8, 0x64, 0x10,
-+ 0xf0, 0x10, 0xf0, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x25, 0x3f, 0x29, 0x08, 0x2f,
-+ 0x2b, 0x28, 0x2b, 0x2e, 0x3b, 0x62, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0xfc, 0xe8, 0x40, 0xf0,
-+ 0xfc, 0x08, 0xfc, 0xc8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x25, 0x3d, 0x2a, 0x09, 0x2f,
-+ 0x29, 0x29, 0x2f, 0x39, 0x61, 0x06, 0x00, 0x00,
-+ 0x48, 0xb0, 0x20, 0xfc, 0x68, 0x48, 0xf0, 0x10,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x90, 0x08, 0x00, 0x00,
-+ 0x02, 0x7a, 0x4f, 0x49, 0x7f, 0x15, 0x56, 0x5f,
-+ 0x57, 0x51, 0x5f, 0x72, 0x44, 0x08, 0x00, 0x00,
-+ 0x80, 0x78, 0xe8, 0xa8, 0xf0, 0xf0, 0xe8, 0xe8,
-+ 0xe4, 0x24, 0xe4, 0xb8, 0x60, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x26, 0x26, 0x3e, 0x0a, 0x2a, 0x2e,
-+ 0x2b, 0x2a, 0x2f, 0x3c, 0x6b, 0x00, 0x00, 0x00,
-+ 0x20, 0xfc, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xf8,
-+ 0xfc, 0xac, 0xfc, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x26, 0x27, 0x3e, 0x2b, 0x0a, 0x2e,
-+ 0x2b, 0x2a, 0x2a, 0x2e, 0x3a, 0x62, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x68, 0xf8,
-+ 0xa8, 0xf8, 0xf8, 0xa8, 0xf8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x27, 0x3e, 0x2b, 0x0b, 0x2e,
-+ 0x2a, 0x2b, 0x2a, 0x2e, 0x3a, 0x62, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xb8, 0xa8, 0xb8, 0xb8, 0x68,
-+ 0xf8, 0xf8, 0xf8, 0xa8, 0xf8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x24, 0x3c, 0x09, 0x28, 0x2f,
-+ 0x2a, 0x2b, 0x2f, 0x3b, 0x66, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x90, 0xf0, 0xf0, 0xf0, 0x10, 0xfc,
-+ 0xa8, 0xb8, 0xb8, 0xb8, 0xe8, 0x88, 0x00, 0x00,
-+ 0x08, 0x11, 0x3c, 0x24, 0x3d, 0x25, 0x3d, 0x27,
-+ 0x7d, 0x0d, 0x14, 0x64, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x10, 0x00, 0xf8,
-+ 0x08, 0x08, 0x08, 0x08, 0x10, 0x60, 0x00, 0x00,
-+ 0x08, 0x10, 0x3c, 0x27, 0x3c, 0x24, 0x3d, 0x27,
-+ 0x7e, 0x0d, 0x14, 0x64, 0x04, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xe0, 0xe0, 0x50, 0x50,
-+ 0x48, 0xf4, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x13, 0x3e, 0x27, 0x3e, 0x27, 0x3c, 0x27,
-+ 0x7d, 0x0d, 0x15, 0x64, 0x07, 0x0c, 0x00, 0x00,
-+ 0xa0, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x00, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x11, 0x3c, 0x24, 0x3c, 0x25, 0x3e, 0x26,
-+ 0x7f, 0x0c, 0x15, 0x66, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0xe0, 0xa0, 0xb8, 0xa8, 0x08, 0x70, 0x40,
-+ 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x40, 0x00, 0x00,
-+ 0x09, 0x10, 0x3f, 0x24, 0x3d, 0x24, 0x3f, 0x26,
-+ 0x7c, 0x0f, 0x14, 0x64, 0x05, 0x0e, 0x00, 0x00,
-+ 0x10, 0xa0, 0xf8, 0x40, 0xf0, 0x40, 0xfc, 0x40,
-+ 0x40, 0xfc, 0x40, 0xa0, 0x10, 0x0c, 0x00, 0x00,
-+ 0x08, 0x13, 0x3a, 0x2a, 0x3a, 0x2b, 0x3b, 0x2f,
-+ 0x7b, 0x1b, 0x2d, 0x4d, 0x09, 0x19, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xa8, 0xb0, 0x7c, 0xd0, 0x78,
-+ 0x50, 0x78, 0x50, 0x50, 0x7c, 0x40, 0x00, 0x00,
-+ 0x08, 0x13, 0x3a, 0x2a, 0x3b, 0x2b, 0x3b, 0x2f,
-+ 0x7b, 0x1a, 0x2d, 0x4d, 0x0a, 0x18, 0x00, 0x00,
-+ 0x40, 0xfc, 0xa8, 0xfc, 0xd0, 0x78, 0x78, 0x50,
-+ 0x7c, 0x40, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x09, 0x0a, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xc8, 0xc8, 0xc8,
-+ 0xd8, 0xc0, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x7f,
-+ 0x01, 0x31, 0x0c, 0x06, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0xfc,
-+ 0x00, 0x18, 0x60, 0xc0, 0x30, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3f, 0x2b,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7e, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x24, 0xc0, 0x10,
-+ 0x20, 0xc4, 0x08, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x09, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7e, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x28, 0x24, 0x24, 0xfc, 0x20, 0x20, 0xe0, 0xa0,
-+ 0x90, 0x90, 0xb4, 0xcc, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x08, 0x3e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x30, 0x48, 0xf4, 0x24, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2b, 0x3e, 0x2a,
-+ 0x3f, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x08, 0x3f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa8, 0xa8, 0x50, 0xa8, 0xa8, 0x00,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x0b, 0x7f, 0x09, 0x3d, 0x2d, 0x3d, 0x2d,
-+ 0x3d, 0x09, 0x7f, 0x0b, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0x50, 0xd0, 0x50, 0x50, 0xd0,
-+ 0x50, 0x50, 0xd4, 0x54, 0x54, 0x4c, 0x00, 0x00,
-+ 0x08, 0x0b, 0x7f, 0x09, 0x3f, 0x2b, 0x3f, 0x2b,
-+ 0x3f, 0x09, 0x7f, 0x0b, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x68, 0x68, 0xe8,
-+ 0x50, 0x50, 0xd8, 0x68, 0x44, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x09, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x78, 0x90, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0x50, 0x50, 0x94, 0x14, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x09, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0xa8, 0xa8, 0x50, 0x50, 0xa8, 0xa8, 0x00, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x09, 0x3e, 0x2a, 0x3f, 0x2b,
-+ 0x3e, 0x09, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x68, 0x90, 0xd8, 0x24, 0xf8,
-+ 0x68, 0x68, 0x90, 0x90, 0x68, 0x44, 0x00, 0x00,
-+ 0x10, 0x13, 0x7c, 0x10, 0x7f, 0x56, 0x7f, 0x56,
-+ 0x7e, 0x13, 0x7e, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0xf8, 0xd8,
-+ 0xd8, 0x68, 0x48, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x10, 0x13, 0x7c, 0x10, 0x7f, 0x56, 0x7f, 0x57,
-+ 0x7f, 0x13, 0x7f, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x58, 0x58,
-+ 0x58, 0xf8, 0x18, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x3e, 0x08, 0x7f, 0x14, 0x23, 0x5f, 0x0f,
-+ 0x09, 0x0f, 0x09, 0x0f, 0x7f, 0x01, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x50, 0x88, 0xf4, 0xe0,
-+ 0x20, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x09, 0x7e, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x50,
-+ 0xf8, 0x24, 0xf8, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x09, 0x7f, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xf0, 0x90, 0x90, 0xf0, 0x00,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x09, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x0b, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xf0, 0x90, 0xf0, 0x90, 0xf0,
-+ 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x09, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x09, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x24, 0x64, 0xd8, 0x50, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x3f, 0x5e, 0x7f, 0x3e,
-+ 0x2a, 0x3e, 0x2a, 0x3e, 0x7f, 0x09, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x50, 0x54, 0x94, 0x0c, 0xf8,
-+ 0x48, 0x50, 0x30, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x09, 0x3f, 0x2b, 0x3f, 0x2b,
-+ 0x3f, 0x09, 0x7f, 0x0a, 0x0c, 0x09, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xf8, 0x50, 0xf8, 0x50,
-+ 0x50, 0xfc, 0xa8, 0x90, 0xe8, 0x84, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x09, 0x3f, 0x2b, 0x3f, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xfc, 0x28, 0xac, 0xac, 0x00,
-+ 0xf8, 0x08, 0xfc, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x09, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x28, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0x38, 0xe8, 0xfc, 0x90, 0x50, 0x30, 0x00, 0x00,
-+ 0x10, 0x10, 0x7f, 0x12, 0x7f, 0x56, 0x7e, 0x57,
-+ 0x7f, 0x13, 0x7f, 0x15, 0x15, 0x1a, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0x24, 0xe8, 0x30, 0x64, 0xa4, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x09, 0x3e, 0x2a, 0x3f, 0x2a,
-+ 0x3f, 0x09, 0x7f, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x50, 0xf8, 0x54, 0x70,
-+ 0xfc, 0x04, 0x74, 0x54, 0x74, 0x0c, 0x00, 0x00,
-+ 0x10, 0x10, 0x7f, 0x12, 0x7f, 0x56, 0x7f, 0x57,
-+ 0x7d, 0x10, 0x7e, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0x28, 0xe8, 0x10, 0xd4, 0x6c,
-+ 0xc4, 0x40, 0xa8, 0x84, 0x94, 0x70, 0x00, 0x00,
-+ 0x10, 0x13, 0x7c, 0x13, 0x7e, 0x57, 0x7f, 0x57,
-+ 0x7c, 0x13, 0x7e, 0x12, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xfc, 0x48, 0x58, 0x58, 0xfc,
-+ 0x80, 0xf8, 0xa8, 0xa8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x12, 0x12, 0x7d, 0x15, 0x7a, 0x5a, 0x7d, 0x5f,
-+ 0x78, 0x17, 0x78, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xb4, 0xe8, 0xa8, 0xf4, 0x5c,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x13, 0x7e, 0x13, 0x7f, 0x56, 0x7f, 0x56,
-+ 0x7e, 0x12, 0x7e, 0x14, 0x17, 0x18, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0xb0, 0xfc, 0xd0, 0xb8, 0x94,
-+ 0x20, 0xb8, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x7f, 0x12, 0x7f, 0x57, 0x7f, 0x57,
-+ 0x7f, 0x13, 0x7f, 0x15, 0x15, 0x1b, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x68, 0xb8, 0xf0, 0x50, 0xf0,
-+ 0x50, 0xf0, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00,
-+ 0x01, 0x7f, 0x01, 0x1f, 0x10, 0x1f, 0x01, 0x3f,
-+ 0x08, 0x7f, 0x01, 0x3f, 0x01, 0x01, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x20, 0xfc, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x1e, 0x13, 0x12, 0x12, 0x1e, 0x13, 0x10,
-+ 0x3e, 0x33, 0x52, 0x1e, 0x12, 0x10, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x48, 0x50, 0xfc, 0x20,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x24, 0x15, 0x19, 0x7f, 0x09,
-+ 0x0e, 0x78, 0x09, 0x12, 0x10, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0xe0, 0xe0, 0x50, 0x48, 0x44, 0x40, 0x00, 0x00,
-+ 0x03, 0x3e, 0x29, 0x3f, 0x4a, 0x04, 0x3f, 0x2b,
-+ 0x3f, 0x3f, 0x2b, 0x25, 0x3b, 0x23, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x48, 0x28, 0x30, 0xfc, 0x10,
-+ 0x10, 0xfc, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x10, 0x13, 0x7c, 0x2f, 0x28, 0x2b, 0x7c, 0x13,
-+ 0x1c, 0x73, 0x12, 0x23, 0x22, 0x40, 0x00, 0x00,
-+ 0x10, 0x90, 0x7c, 0xe8, 0x28, 0xa8, 0x7c, 0x90,
-+ 0x10, 0xfc, 0x90, 0x90, 0x90, 0x10, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x20, 0x10, 0x17, 0x00, 0x70,
-+ 0x10, 0x10, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x23, 0x12, 0x12, 0x02, 0x73,
-+ 0x12, 0x10, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48, 0xf8,
-+ 0x48, 0x40, 0x40, 0x40, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x22, 0x12, 0x12, 0x02, 0x72,
-+ 0x12, 0x12, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0x08, 0xe8, 0xa8, 0xa8, 0xe8,
-+ 0xa8, 0x08, 0x08, 0x18, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x20, 0x10, 0x11, 0x02, 0x71,
-+ 0x11, 0x11, 0x11, 0x11, 0x2c, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x30, 0x00, 0xf8,
-+ 0x08, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x20, 0x10, 0x13, 0x02, 0x02, 0x73, 0x12,
-+ 0x12, 0x13, 0x12, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0xf8, 0x48,
-+ 0x48, 0xf8, 0x08, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x22, 0x12, 0x12, 0x43, 0x24, 0x24, 0x0a, 0x71,
-+ 0x11, 0x12, 0x14, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xa0, 0xb0, 0xa8, 0xa4, 0x24,
-+ 0x20, 0x20, 0x20, 0x20, 0x00, 0xfc, 0x00, 0x00,
-+ 0x20, 0x17, 0x11, 0x42, 0x27, 0x22, 0x03, 0x73,
-+ 0x12, 0x13, 0x13, 0x12, 0x2a, 0x47, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x44, 0xfc, 0xd8, 0x68, 0xf8,
-+ 0xd8, 0x68, 0xf8, 0x48, 0x58, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x22, 0x12, 0x12, 0x02, 0x72,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xe8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xe8, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x22, 0x13, 0x12, 0x02, 0x73,
-+ 0x15, 0x15, 0x19, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xf8,
-+ 0x08, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x27, 0x10, 0x12, 0x02, 0x74,
-+ 0x18, 0x11, 0x11, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0xa0, 0xb0, 0xa8, 0xa4,
-+ 0xa4, 0x20, 0x20, 0x60, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x20, 0x13, 0x12, 0x02, 0x72,
-+ 0x13, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xf8, 0xa8, 0xb8, 0xb8,
-+ 0x18, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x27, 0x10, 0x12, 0x01, 0x71,
-+ 0x11, 0x16, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x50, 0x48, 0x48, 0xfc, 0x40, 0x48, 0x48, 0x70,
-+ 0xd0, 0x48, 0x48, 0xc0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x20, 0x17, 0x12, 0x42, 0x24, 0x22, 0x00, 0x73,
-+ 0x10, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x48, 0x48, 0x90, 0x48, 0x00, 0xf8,
-+ 0x40, 0x40, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x09, 0x27, 0x11, 0x11, 0x02, 0x74,
-+ 0x11, 0x12, 0x10, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0xa0, 0x18, 0xe4, 0x20, 0x24, 0x9c, 0xf0,
-+ 0x90, 0x60, 0xd0, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x22, 0x15, 0x11, 0x01, 0x71,
-+ 0x11, 0x11, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0x44, 0xf4, 0x10, 0xf0, 0x10,
-+ 0xf0, 0x10, 0x10, 0x30, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x21, 0x11, 0x10, 0x03, 0x70,
-+ 0x11, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0x10, 0xf0, 0x00, 0xf8, 0x40,
-+ 0xf0, 0x40, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x21, 0x11, 0x16, 0x42, 0x26, 0x2b, 0x03, 0x75,
-+ 0x19, 0x11, 0x11, 0x1e, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x28, 0x68, 0x70, 0xa0, 0x20,
-+ 0x50, 0x50, 0x88, 0x04, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x20, 0x13, 0x12, 0x03, 0x72,
-+ 0x13, 0x12, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xf8, 0x48, 0x48, 0x58, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x09, 0x22, 0x10, 0x10, 0x01, 0x73,
-+ 0x15, 0x11, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0xa0, 0x90, 0x08, 0x48, 0x40, 0xa0, 0x10, 0xf8,
-+ 0x14, 0x10, 0xf0, 0x10, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x27, 0x10, 0x11, 0x02, 0x77,
-+ 0x10, 0x11, 0x10, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xfc, 0xe0, 0x50, 0x48, 0xfc,
-+ 0x90, 0xd0, 0x70, 0x88, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x08, 0x27, 0x11, 0x11, 0x02, 0x74,
-+ 0x11, 0x10, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x20, 0x24, 0x5c, 0x40,
-+ 0xf0, 0x40, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x0b, 0x20, 0x17, 0x11, 0x00, 0x77,
-+ 0x10, 0x13, 0x10, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xa0, 0xfc,
-+ 0x40, 0xf8, 0x40, 0x40, 0x00, 0xfc, 0x00, 0x00,
-+ 0x22, 0x11, 0x11, 0x47, 0x21, 0x21, 0x0f, 0x71,
-+ 0x11, 0x12, 0x14, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x23, 0x12, 0x13, 0x01, 0x73,
-+ 0x16, 0x12, 0x13, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x48, 0xa8, 0x28, 0xf8, 0x10, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x22, 0x13, 0x12, 0x03, 0x72,
-+ 0x12, 0x13, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xb8, 0x88, 0x88, 0xb8, 0x00, 0xf8, 0x28,
-+ 0x10, 0x90, 0x28, 0x48, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x21, 0x11, 0x11, 0x00, 0x73,
-+ 0x10, 0x11, 0x10, 0x1f, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0x00, 0xf8,
-+ 0x40, 0xf0, 0x40, 0xfc, 0x00, 0xfc, 0x00, 0x00,
-+ 0x11, 0x09, 0x0a, 0x27, 0x10, 0x13, 0x02, 0x73,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0xf0, 0x10, 0x08, 0xfc, 0xa0, 0xf8, 0xa8, 0x38,
-+ 0xe8, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x23, 0x12, 0x12, 0x02, 0x73,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xa8, 0xb8, 0x18,
-+ 0xe8, 0x08, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x08, 0x23, 0x12, 0x13, 0x02, 0x73,
-+ 0x12, 0x13, 0x13, 0x1c, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0xf8, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0,
-+ 0x10, 0xf0, 0x30, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x11, 0x08, 0x09, 0x23, 0x14, 0x13, 0x02, 0x73,
-+ 0x12, 0x13, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0xc0, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8, 0xd0,
-+ 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x08, 0x0f, 0x20, 0x13, 0x13, 0x02, 0x73,
-+ 0x12, 0x13, 0x12, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x18, 0xa8, 0xf8,
-+ 0x48, 0xf8, 0x48, 0x58, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x23, 0x10, 0x17, 0x01, 0x71,
-+ 0x11, 0x11, 0x17, 0x19, 0x27, 0x41, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa0, 0xfc, 0xf0, 0x50,
-+ 0xf0, 0x50, 0xfc, 0x10, 0x30, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x22, 0x12, 0x12, 0x02, 0x72,
-+ 0x15, 0x15, 0x1a, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x18, 0xe0, 0x38, 0xfc, 0xa8, 0xb8, 0xe4, 0x9c,
-+ 0x50, 0x54, 0x54, 0x8c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x11, 0x0b, 0x09, 0x27, 0x11, 0x17, 0x01, 0x71,
-+ 0x12, 0x12, 0x14, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0xa0, 0x20, 0xfc, 0x48, 0xe8, 0x18, 0x90,
-+ 0x98, 0xa8, 0xc4, 0x84, 0x00, 0xfc, 0x00, 0x00,
-+ 0x20, 0x17, 0x15, 0x45, 0x27, 0x25, 0x05, 0x77,
-+ 0x15, 0x15, 0x19, 0x1b, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x64, 0xb4, 0x38, 0xd8, 0x38,
-+ 0xd4, 0x14, 0x10, 0x60, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x08, 0x27, 0x11, 0x17, 0x01, 0x76,
-+ 0x13, 0x10, 0x11, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf0, 0x40, 0xfc, 0x10, 0xb8, 0x90, 0x3c,
-+ 0xf8, 0xa0, 0x24, 0x1c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x02, 0x39, 0x29, 0x2c, 0x32, 0x33, 0x28, 0x2f,
-+ 0x25, 0x25, 0x25, 0x39, 0x22, 0x24, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x78, 0x90, 0xfc, 0x78, 0x48,
-+ 0x78, 0x78, 0x48, 0x58, 0x80, 0x7c, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x23, 0x12, 0x13, 0x03, 0x72,
-+ 0x12, 0x15, 0x17, 0x18, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x20, 0xac, 0xac, 0xa0,
-+ 0xf8, 0x20, 0xfc, 0x20, 0x20, 0xfc, 0x00, 0x00,
-+ 0x22, 0x13, 0x14, 0x49, 0x27, 0x25, 0x07, 0x75,
-+ 0x17, 0x14, 0x14, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0x28, 0xd8, 0xb0, 0xb8, 0xd0,
-+ 0xfc, 0x90, 0x90, 0x90, 0x00, 0xfc, 0x00, 0x00,
-+ 0x20, 0x10, 0x17, 0x44, 0x27, 0x24, 0x07, 0x74,
-+ 0x17, 0x14, 0x1b, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x80, 0xf0, 0xfc, 0xe8, 0x90, 0x70, 0xf8, 0xc8,
-+ 0x68, 0xb0, 0x68, 0xa4, 0xc0, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0f, 0x08, 0x21, 0x11, 0x11, 0x01, 0x71,
-+ 0x13, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf0, 0x50, 0xf0, 0x50, 0xf0,
-+ 0xf8, 0x68, 0xf8, 0x08, 0x18, 0xfc, 0x00, 0x00,
-+ 0x11, 0x0f, 0x0c, 0x27, 0x14, 0x17, 0x02, 0x7f,
-+ 0x13, 0x12, 0x14, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xbc, 0xc8, 0xc8, 0x28, 0xd0,
-+ 0x98, 0xa8, 0xc4, 0x84, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x21, 0x11, 0x11, 0x03, 0x72,
-+ 0x15, 0x17, 0x10, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf0, 0x10, 0xf0, 0xf0, 0xf0, 0xfc, 0xa8,
-+ 0x78, 0xfc, 0xf0, 0x10, 0x60, 0xfc, 0x00, 0x00,
-+ 0x10, 0x09, 0x09, 0x21, 0x11, 0x11, 0x03, 0x72,
-+ 0x15, 0x17, 0x11, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf0, 0x10, 0xd0, 0xd0, 0xf0, 0xfc, 0xe8,
-+ 0x10, 0xfc, 0x10, 0xf0, 0x00, 0xfc, 0x00, 0x00,
-+ 0x10, 0x0b, 0x0a, 0x23, 0x12, 0x1d, 0x03, 0x72,
-+ 0x17, 0x13, 0x15, 0x19, 0x26, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x28, 0x7c, 0x50, 0xfc,
-+ 0xd0, 0x7c, 0xd0, 0x7c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x0f, 0x78, 0x0a, 0x2a, 0x2a, 0x2a,
-+ 0x3e, 0x2a, 0x08, 0x0a, 0x0c, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x12, 0x12, 0x12, 0x12, 0x7f, 0x12, 0x12, 0x12,
-+ 0x1e, 0x12, 0x12, 0x12, 0x1e, 0x12, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0xd0, 0x60, 0x50, 0x50,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x01, 0x06, 0x38, 0x20, 0x20, 0x3f, 0x24, 0x24,
-+ 0x24, 0x24, 0x27, 0x38, 0x60, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x7e, 0x12, 0x12, 0x12, 0x22, 0x4c, 0x00,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x00, 0x7e, 0x08,
-+ 0x08, 0x3e, 0x08, 0x08, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x88, 0x88, 0xc8, 0xb0, 0x80, 0x80, 0x00, 0x00,
-+ 0x14, 0x12, 0x22, 0x48, 0x08, 0x14, 0x12, 0x22,
-+ 0x7e, 0x22, 0x22, 0x3e, 0x22, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x88, 0x88, 0xc8, 0xb0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x00, 0x1f, 0x10, 0x1f, 0x13, 0x12,
-+ 0x13, 0x17, 0x14, 0x27, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x08, 0xf8, 0xe0, 0x20,
-+ 0xe0, 0xf0, 0x90, 0xf4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x03, 0x3c, 0x32, 0x29, 0x29, 0x40, 0x3e, 0x04,
-+ 0x08, 0x0e, 0x78, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x90, 0x90, 0xa0, 0x90, 0x88,
-+ 0x88, 0x88, 0xc8, 0xb0, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x77, 0x55, 0x55, 0x77, 0x00, 0x3e, 0x00,
-+ 0x7f, 0x10, 0x1e, 0x22, 0x02, 0x0c, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x10, 0x1f, 0x29, 0x6b, 0x3f, 0x29, 0x0e, 0x10,
-+ 0x1f, 0x29, 0x6b, 0x3f, 0x29, 0x16, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x7f, 0x08, 0x3f, 0x21,
-+ 0x2f, 0x2b, 0x2f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0xd0, 0x60, 0x50, 0x48,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x77, 0x55, 0x77, 0x00, 0x3e, 0x2a, 0x3e,
-+ 0x2a, 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x50, 0x50, 0x60, 0x50, 0x48,
-+ 0x48, 0x48, 0x48, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x04, 0x25, 0x16, 0x7f, 0x0e, 0x15, 0x75, 0x1f,
-+ 0x2d, 0x6d, 0x1f, 0x11, 0x21, 0x41, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0xd0, 0x50, 0x60, 0xd0, 0xc8,
-+ 0x48, 0x48, 0xc8, 0x70, 0x40, 0x40, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x80, 0xfc, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x2f,
-+ 0x33, 0x31, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0xa0, 0x20, 0x20, 0xfc, 0xa8, 0x20, 0x20,
-+ 0x30, 0x30, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf0, 0x50, 0x50, 0x54, 0x94, 0x0c, 0xf8,
-+ 0x48, 0x50, 0x30, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x48, 0xc8, 0x48, 0x48, 0xfc, 0x48, 0x48, 0x48,
-+ 0x78, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x08, 0xb0, 0xe0, 0x20, 0x20, 0xfc, 0x70, 0x70,
-+ 0x70, 0xa8, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0xa0, 0x38, 0x48, 0xd0, 0x30, 0x20, 0x40,
-+ 0xf8, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x28, 0xc8, 0x30, 0x28, 0xfc, 0x04, 0x78,
-+ 0x48, 0x78, 0x48, 0x78, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x2f,
-+ 0x37, 0x33, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x78, 0x08, 0xf0,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x37, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x50, 0xd0, 0x50, 0xf8, 0x50, 0x50, 0xfc, 0x00,
-+ 0x78, 0x48, 0x78, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2d, 0x2d, 0x37,
-+ 0x33, 0x23, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x48, 0x48, 0x68, 0xb4, 0x24,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3f, 0x2e, 0x2e, 0x37,
-+ 0x37, 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90, 0xd8, 0xf8,
-+ 0xb8, 0xd4, 0xd4, 0x90, 0x90, 0x90, 0x00, 0x00,
-+ 0x00, 0x7e, 0x18, 0x19, 0x7e, 0x5a, 0x5a, 0x7e,
-+ 0x67, 0x47, 0x7f, 0x43, 0x7f, 0x42, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf0, 0x90, 0xf0, 0x00,
-+ 0xf8, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2e, 0x35, 0x3f, 0x2a, 0x3f, 0x7f,
-+ 0x02, 0x1f, 0x14, 0x1f, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0x70, 0x54, 0x9c, 0xf8, 0x70, 0xd8, 0xfc,
-+ 0x80, 0xf0, 0xd0, 0xf0, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0d, 0x3e, 0x2e, 0x2e, 0x36,
-+ 0x37, 0x22, 0x3e, 0x22, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0xfc, 0x50, 0xf8, 0x00, 0xa8, 0xa8, 0xac,
-+ 0x04, 0xf8, 0xe8, 0xe8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0d, 0x3e, 0x2f, 0x2e, 0x36,
-+ 0x37, 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0x68, 0xd8, 0x68, 0x20, 0xd0,
-+ 0x2c, 0xd0, 0x20, 0xc8, 0x30, 0xc0, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0c, 0x0c, 0x3e, 0x2e, 0x2e, 0x36,
-+ 0x36, 0x22, 0x3e, 0x23, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0x38, 0xfc, 0xb8, 0xe8, 0x98, 0xfc, 0xa0,
-+ 0xf4, 0xb8, 0xd8, 0x34, 0x54, 0x30, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0d, 0x0d, 0x3f, 0x2f, 0x2e, 0x37,
-+ 0x36, 0x22, 0x3e, 0x22, 0x3f, 0x22, 0x00, 0x00,
-+ 0x60, 0xf8, 0x68, 0xf8, 0x68, 0xf8, 0x00, 0xfc,
-+ 0xf8, 0x88, 0xf8, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0d, 0x0c, 0x3e, 0x2e, 0x2e, 0x36,
-+ 0x36, 0x22, 0x3f, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x18, 0xe0, 0xfc, 0x20, 0xf8, 0xb8, 0xe8, 0xf8,
-+ 0x20, 0xf8, 0xfc, 0x00, 0xe8, 0x54, 0x00, 0x00,
-+ 0x00, 0x7f, 0x0d, 0x0d, 0x3f, 0x2e, 0x2f, 0x36,
-+ 0x36, 0x23, 0x3e, 0x23, 0x3e, 0x23, 0x00, 0x00,
-+ 0x20, 0xfc, 0xdc, 0x54, 0xdc, 0x50, 0xfc, 0xf8,
-+ 0x50, 0xfc, 0x68, 0xd0, 0x68, 0x84, 0x00, 0x00,
-+ 0x1b, 0x12, 0x1b, 0x1b, 0x3f, 0x2f, 0x5f, 0x14,
-+ 0x1f, 0x1f, 0x07, 0x0f, 0x72, 0x0c, 0x00, 0x00,
-+ 0xb0, 0x90, 0xb0, 0xb0, 0xfc, 0xe8, 0xf0, 0xd0,
-+ 0xf0, 0xf0, 0xc0, 0xf0, 0x4c, 0xc0, 0x00, 0x00,
-+ 0x03, 0x7d, 0x49, 0x2a, 0x2c, 0x7f, 0x18, 0x1c,
-+ 0x1a, 0x29, 0x29, 0x48, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x02, 0x7d, 0x4b, 0x2b, 0x2c, 0x7f, 0x18, 0x1d,
-+ 0x1a, 0x2b, 0x28, 0x49, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0xf8, 0x40, 0xf8, 0x40, 0xfc,
-+ 0x90, 0xfc, 0x40, 0xf8, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7f, 0x1c, 0x2a, 0x5f, 0x17, 0x14,
-+ 0x17, 0x17, 0x1f, 0x20, 0x5f, 0x00, 0x00, 0x00,
-+ 0x40, 0x7c, 0xd0, 0x30, 0xcc, 0xf8, 0xf0, 0x90,
-+ 0xf0, 0xf0, 0xf8, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0x70, 0x10, 0x10, 0x50, 0x50, 0x50, 0x50,
-+ 0x90, 0x88, 0x88, 0x08, 0x04, 0x04, 0x00, 0x00,
-+ 0x04, 0x04, 0x09, 0x11, 0x02, 0x04, 0x1f, 0x61,
-+ 0x1f, 0x09, 0x05, 0x05, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x20, 0x10, 0x10, 0x80, 0x40, 0xf0, 0x0c,
-+ 0xf0, 0x20, 0x20, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x68,
-+ 0x58, 0x4c, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xc8, 0xa8, 0x90, 0x50, 0x50,
-+ 0x60, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xa8, 0xb8, 0xe8, 0xa8, 0xa8,
-+ 0xa8, 0xb8, 0xa0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0x08, 0xe8, 0x08,
-+ 0x28, 0xc8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1d, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x80, 0x80, 0xfc, 0x90, 0x90,
-+ 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xb0, 0xa8, 0xa8, 0x24, 0x2c,
-+ 0x68, 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0xa8, 0xa0,
-+ 0xa0, 0xa0, 0x90, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xc8, 0xc8, 0xa8,
-+ 0xb0, 0x90, 0xb0, 0x28, 0x48, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x28, 0x24, 0xfc, 0xa0, 0xa8, 0xa8, 0xa8,
-+ 0x98, 0x90, 0x94, 0xec, 0xac, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0x90, 0xfc, 0x90, 0x90, 0x90,
-+ 0xf0, 0x90, 0x90, 0x90, 0xf0, 0x90, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0x88, 0x88, 0x88,
-+ 0xf8, 0x88, 0x80, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x28, 0xc8, 0x50,
-+ 0x30, 0x20, 0x30, 0x48, 0xf4, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x40, 0x40, 0x48,
-+ 0x70, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x23, 0x5c, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1c, 0x18, 0x0e, 0x71, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x28, 0xf8, 0x20,
-+ 0xfc, 0x24, 0x58, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xf8, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x40, 0x80, 0xf8, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x11, 0x11, 0x22, 0x4a, 0x0f, 0x11, 0x17, 0x31,
-+ 0x55, 0x13, 0x13, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x00, 0x3c, 0x80, 0x40, 0xfc, 0x08, 0xc8, 0x08,
-+ 0x48, 0x88, 0x08, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xf8, 0xa0, 0x20, 0xfc, 0x70,
-+ 0x70, 0xa8, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0xe0, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x20, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x2a, 0x26, 0x7a, 0x12, 0x7e,
-+ 0x12, 0x57, 0x38, 0x31, 0x1d, 0x62, 0x00, 0x00,
-+ 0x40, 0x80, 0x38, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xa8, 0xb8, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7f,
-+ 0x09, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xa8, 0xa8, 0xa8, 0x74,
-+ 0x24, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x70, 0xa8, 0x24, 0xf0,
-+ 0x50, 0x5c, 0x94, 0x84, 0x04, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0xa8, 0xa4, 0x24, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0x20, 0x20, 0xfc, 0x80,
-+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x78, 0x00, 0x00,
-+ 0x10, 0x13, 0x18, 0x24, 0x27, 0x7e, 0x12, 0x7f,
-+ 0x12, 0x54, 0x38, 0x30, 0x1f, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xa0, 0xb8, 0x08, 0x08, 0xb8,
-+ 0xa8, 0xa0, 0xa0, 0xa0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x19, 0x25, 0x27, 0x7d, 0x11, 0x7d,
-+ 0x12, 0x54, 0x38, 0x31, 0x1e, 0x64, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x00, 0xf8, 0x68, 0x68,
-+ 0xe8, 0xb8, 0xa0, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0xf8,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0x48, 0xe8,
-+ 0xa8, 0xa8, 0xe8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0xa8, 0xa8, 0x50, 0x50, 0xa8, 0xa8, 0x00, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x50,
-+ 0x7c, 0xc8, 0x30, 0x64, 0x9c, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x0c, 0xf0, 0xa8, 0xa4, 0x04, 0xf8, 0x28, 0xfc,
-+ 0x28, 0xf8, 0x28, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x13, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x68, 0x90, 0xd0, 0x28, 0xf8,
-+ 0x48, 0x68, 0x90, 0x90, 0x68, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x09, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x71, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x20, 0x20, 0xfc, 0x20,
-+ 0x38, 0x28, 0x48, 0x48, 0x88, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x60, 0x60, 0xa4, 0xa8,
-+ 0xb0, 0xa0, 0xa0, 0xa4, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5c, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x70, 0x00, 0x00,
-+ 0x10, 0xf8, 0x14, 0x14, 0xfc, 0x50, 0x50, 0x70,
-+ 0x50, 0x50, 0x74, 0xcc, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xd8, 0x48, 0x00, 0xf8,
-+ 0x28, 0x28, 0xd0, 0x10, 0x28, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x18, 0x14, 0x27, 0x22, 0x7b, 0x12, 0x7f,
-+ 0x13, 0x57, 0x3b, 0x32, 0x1c, 0x64, 0x00, 0x00,
-+ 0x28, 0x24, 0x24, 0xfc, 0x20, 0xe8, 0x28, 0xe8,
-+ 0x50, 0x50, 0xf4, 0x2c, 0x4c, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x18, 0x25, 0x27, 0x78, 0x13, 0x7e,
-+ 0x13, 0x56, 0x3b, 0x32, 0x1e, 0x62, 0x00, 0x00,
-+ 0xc0, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xa8, 0xa8,
-+ 0xa8, 0xd0, 0xd0, 0xa8, 0xa8, 0xa8, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x24, 0x24, 0x78, 0x10, 0x7c,
-+ 0x13, 0x55, 0x39, 0x31, 0x1d, 0x61, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xf0, 0x90, 0xf0, 0x90,
-+ 0xfc, 0x50, 0x54, 0x8c, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x7c, 0x08, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x70, 0x00, 0x00,
-+ 0xf0, 0x90, 0x08, 0xfc, 0x00, 0xf0, 0x90, 0x08,
-+ 0xfc, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xfc, 0x04, 0x74, 0x54, 0x74, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0e, 0x73, 0x00, 0x00,
-+ 0x98, 0xe0, 0x84, 0x7c, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0xfc, 0xc8, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x5c, 0x09, 0x7c,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x58, 0x48, 0xa8, 0x20, 0x50,
-+ 0x88, 0xfc, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x12, 0x11, 0x19, 0x26, 0x25, 0x7d, 0x10, 0x7c,
-+ 0x13, 0x55, 0x39, 0x31, 0x1e, 0x64, 0x00, 0x00,
-+ 0x70, 0x10, 0x50, 0x48, 0x84, 0x78, 0x20, 0xfc,
-+ 0x20, 0x30, 0x48, 0x88, 0x80, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x12, 0x1f, 0x17, 0x27, 0x59,
-+ 0x0e, 0x77, 0x1f, 0x09, 0x3f, 0x00, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x48, 0xf8, 0x58, 0xe4, 0x3c,
-+ 0xe0, 0xdc, 0xf0, 0x20, 0xf8, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x1a, 0x27, 0x26, 0x7b, 0x12, 0x7f,
-+ 0x12, 0x55, 0x38, 0x30, 0x1f, 0x60, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xe8, 0x50, 0xd0, 0xa8, 0xc4,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x3e, 0x2a, 0x3e, 0x7f, 0x09,
-+ 0x06, 0x7b, 0x1f, 0x09, 0x3f, 0x00, 0x00, 0x00,
-+ 0x18, 0xe0, 0x80, 0xfc, 0x90, 0x90, 0x10, 0x10,
-+ 0xc0, 0xbc, 0xf0, 0x20, 0xf8, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x0b, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x08, 0x80, 0xfc, 0x20, 0x78,
-+ 0x48, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x10, 0x12, 0x1a, 0x26, 0x27, 0x7a, 0x10, 0x7c,
-+ 0x13, 0x56, 0x3a, 0x32, 0x1c, 0x60, 0x00, 0x00,
-+ 0xa0, 0xb8, 0xa8, 0xe8, 0xd0, 0xb0, 0xa8, 0xc8,
-+ 0xfc, 0xc8, 0xa8, 0xa8, 0x88, 0x98, 0x00, 0x00,
-+ 0x11, 0x11, 0x19, 0x25, 0x27, 0x79, 0x11, 0x7d,
-+ 0x11, 0x55, 0x3a, 0x32, 0x1c, 0x61, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x7c, 0xe0, 0x20, 0xbc, 0xd0,
-+ 0xfc, 0x90, 0xa8, 0xa8, 0xc4, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x5c, 0x09, 0x7f,
-+ 0x09, 0x2b, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc, 0x54,
-+ 0xfc, 0xf8, 0x88, 0x50, 0x70, 0x8c, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x18, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0x68, 0xd8, 0x68, 0x40, 0xa0,
-+ 0x30, 0xcc, 0x20, 0xc8, 0x30, 0xc0, 0x00, 0x00,
-+ 0x12, 0x11, 0x19, 0x24, 0x26, 0x79, 0x11, 0x7c,
-+ 0x13, 0x55, 0x39, 0x31, 0x1e, 0x64, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xa8, 0xf8, 0xa8,
-+ 0xf8, 0x20, 0xfc, 0x20, 0xa0, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2b, 0x1c, 0x18, 0x0e, 0x71, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xfc, 0xa8, 0xf8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x50, 0xd0, 0x30, 0xc8, 0x00, 0x00,
-+ 0x10, 0x13, 0x18, 0x27, 0x26, 0x7f, 0x12, 0x7c,
-+ 0x13, 0x54, 0x3a, 0x32, 0x1c, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xb8, 0x08, 0xb8, 0xa8, 0xa0,
-+ 0xfc, 0x40, 0xa8, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x10, 0x17, 0x18, 0x27, 0x26, 0x7b, 0x11, 0x7d,
-+ 0x11, 0x55, 0x39, 0x33, 0x1c, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0xf0, 0x10,
-+ 0xf0, 0x10, 0xf0, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x11, 0x11, 0x1f, 0x27, 0x26, 0x7a, 0x13, 0x7f,
-+ 0x10, 0x55, 0x3b, 0x31, 0x1d, 0x63, 0x00, 0x00,
-+ 0x20, 0x20, 0xe0, 0xa0, 0xbc, 0xe8, 0xe8, 0xa8,
-+ 0x90, 0xd0, 0x30, 0x28, 0x48, 0x84, 0x00, 0x00,
-+ 0x10, 0x11, 0x18, 0x27, 0x25, 0x7b, 0x11, 0x7d,
-+ 0x13, 0x57, 0x38, 0x30, 0x1d, 0x62, 0x00, 0x00,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x10, 0xb8, 0x10, 0xbc,
-+ 0x00, 0xfc, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x23, 0x5c, 0x08, 0x7f,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x70, 0x00, 0x00,
-+ 0x18, 0xe8, 0xa8, 0x70, 0xfc, 0x70, 0xa8, 0x24,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0f, 0x70, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x54, 0x88, 0xfc, 0x88, 0xf8,
-+ 0x88, 0xf8, 0xa8, 0xa4, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xfc, 0x54, 0xfc, 0x00, 0xfc, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x64, 0xd8, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7f,
-+ 0x08, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x20, 0xf8, 0xf8, 0x20, 0xfc,
-+ 0x00, 0xdc, 0x54, 0x74, 0x04, 0x0c, 0x00, 0x00,
-+ 0x11, 0x13, 0x19, 0x27, 0x24, 0x7b, 0x12, 0x7f,
-+ 0x13, 0x55, 0x3b, 0x31, 0x1f, 0x60, 0x00, 0x00,
-+ 0x30, 0xe8, 0x28, 0xfc, 0x20, 0xa8, 0xa8, 0xa8,
-+ 0xd8, 0x10, 0x94, 0xec, 0x4c, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x24, 0x27, 0x78, 0x13, 0x7e,
-+ 0x13, 0x56, 0x39, 0x31, 0x1e, 0x60, 0x00, 0x00,
-+ 0xa0, 0xb0, 0xe8, 0xa8, 0xfc, 0x20, 0xe8, 0x68,
-+ 0xd8, 0x50, 0x94, 0xec, 0x2c, 0x44, 0x00, 0x00,
-+ 0x09, 0x08, 0x15, 0x13, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x09, 0x2b, 0x1d, 0x19, 0x0f, 0x71, 0x00, 0x00,
-+ 0x24, 0xa8, 0xfc, 0x08, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xfc, 0x24, 0xfc, 0x24, 0xfc, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x13, 0x23, 0x5d, 0x09, 0x7e,
-+ 0x09, 0x2a, 0x1c, 0x19, 0x0c, 0x71, 0x00, 0x00,
-+ 0x50, 0x3c, 0xd4, 0xb4, 0x6c, 0x94, 0xfc, 0x54,
-+ 0xcc, 0x70, 0xd0, 0x20, 0x50, 0x8c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x29, 0x3e, 0x25, 0x3d, 0x29, 0x3f,
-+ 0x06, 0x7b, 0x1f, 0x09, 0x3f, 0x00, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0x00, 0xf8, 0x68, 0xf8, 0x00,
-+ 0xc0, 0xbc, 0xf0, 0x20, 0xf8, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x18, 0x25, 0x27, 0x79, 0x10, 0x7d,
-+ 0x13, 0x54, 0x3b, 0x32, 0x1f, 0x60, 0x00, 0x00,
-+ 0x40, 0xfc, 0x40, 0xf0, 0xfc, 0xe8, 0x40, 0xf0,
-+ 0xfc, 0x08, 0xfc, 0xc8, 0xa8, 0x18, 0x00, 0x00,
-+ 0x10, 0x13, 0x1a, 0x27, 0x26, 0x7a, 0x13, 0x7e,
-+ 0x12, 0x56, 0x3a, 0x32, 0x1c, 0x67, 0x00, 0x00,
-+ 0x20, 0xfc, 0x50, 0xfc, 0x50, 0x70, 0xfc, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x12, 0x12, 0x15, 0x2d, 0x26, 0x7a, 0x15, 0x7f,
-+ 0x10, 0x57, 0x38, 0x31, 0x1e, 0x60, 0x00, 0x00,
-+ 0x48, 0x88, 0xf4, 0xb4, 0xe8, 0xa8, 0xf4, 0x5c,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x26, 0x27, 0x7a, 0x12, 0x7e,
-+ 0x12, 0x56, 0x3a, 0x32, 0x1c, 0x65, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x68, 0xb8, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0x28, 0xd4, 0xcc, 0x38, 0x00, 0x00,
-+ 0x11, 0x11, 0x1a, 0x25, 0x27, 0x7a, 0x13, 0x7f,
-+ 0x13, 0x56, 0x3b, 0x32, 0x1f, 0x64, 0x00, 0x00,
-+ 0x50, 0x50, 0xa0, 0x50, 0xf8, 0xe8, 0x98, 0xf8,
-+ 0x68, 0xd8, 0x68, 0xdc, 0x64, 0x84, 0x00, 0x00,
-+ 0x10, 0x10, 0x1b, 0x26, 0x27, 0x7a, 0x12, 0x7e,
-+ 0x12, 0x56, 0x3b, 0x35, 0x1d, 0x67, 0x00, 0x00,
-+ 0x40, 0x78, 0xfc, 0x68, 0xb8, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xf8, 0x68, 0x68, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x22, 0x5c, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x19, 0x0f, 0x72, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8,
-+ 0x88, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x19, 0x27, 0x24, 0x7f, 0x15, 0x7f,
-+ 0x13, 0x56, 0x3b, 0x32, 0x1e, 0x62, 0x00, 0x00,
-+ 0x40, 0xa0, 0x10, 0xfc, 0x00, 0xfc, 0xb4, 0xfc,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x10, 0x17, 0x18, 0x27, 0x26, 0x7b, 0x10, 0x7d,
-+ 0x13, 0x55, 0x39, 0x31, 0x1d, 0x61, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xb8, 0xa8, 0xb8, 0x90, 0xfc,
-+ 0x20, 0xf8, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x13, 0x18, 0x24, 0x24, 0x7b, 0x10, 0x7f,
-+ 0x12, 0x57, 0x3b, 0x32, 0x1f, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0xf0, 0xf0, 0xf0, 0x10, 0xfc,
-+ 0xa8, 0xb8, 0xb8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x11, 0x11, 0x1a, 0x27, 0x25, 0x7a, 0x11, 0x7d,
-+ 0x11, 0x55, 0x39, 0x31, 0x1d, 0x66, 0x00, 0x00,
-+ 0x98, 0xfc, 0xa8, 0xfc, 0xd8, 0xac, 0xfc, 0x08,
-+ 0xf8, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x13, 0x22, 0x5d, 0x08, 0x7e,
-+ 0x08, 0x2a, 0x1c, 0x18, 0x0e, 0x73, 0x00, 0x00,
-+ 0x90, 0xf8, 0x90, 0xfc, 0xd0, 0x28, 0xfc, 0x88,
-+ 0xf8, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x1a, 0x27, 0x25, 0x79, 0x16, 0x7d,
-+ 0x12, 0x57, 0x39, 0x33, 0x1d, 0x61, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0x28, 0x50, 0xfc, 0x50,
-+ 0xf8, 0xd0, 0x78, 0xd0, 0x7c, 0x40, 0x00, 0x00,
-+ 0x13, 0x17, 0x6b, 0x17, 0x7f, 0x3a, 0x57, 0x11,
-+ 0x06, 0x7b, 0x1f, 0x09, 0x3f, 0x00, 0x00, 0x00,
-+ 0x90, 0xd4, 0xe8, 0x98, 0xfc, 0xb8, 0xd4, 0x10,
-+ 0xc0, 0xbc, 0xf0, 0x20, 0xf8, 0x00, 0x00, 0x00,
-+ 0x13, 0x12, 0x1b, 0x27, 0x27, 0x79, 0x13, 0x7d,
-+ 0x11, 0x55, 0x3b, 0x30, 0x1c, 0x63, 0x00, 0x00,
-+ 0xb8, 0xa8, 0xb8, 0xb8, 0xb8, 0xfc, 0xf8, 0xf8,
-+ 0x20, 0xfc, 0xf8, 0x90, 0x60, 0x9c, 0x00, 0x00,
-+ 0x2d, 0x7f, 0x12, 0x3f, 0x7f, 0x2b, 0x3b, 0x3f,
-+ 0x06, 0x7b, 0x1f, 0x09, 0x3f, 0x00, 0x00, 0x00,
-+ 0x70, 0xd0, 0x54, 0x8c, 0xf8, 0x50, 0xf0, 0x0c,
-+ 0xc0, 0xbc, 0xf0, 0x20, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x20,
-+ 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x08,
-+ 0xe8, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x2f,
-+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xe8,
-+ 0x08, 0x88, 0x48, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x29,
-+ 0x29, 0x29, 0x29, 0x2f, 0x28, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x28,
-+ 0x28, 0x28, 0x28, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x21,
-+ 0x2f, 0x22, 0x21, 0x22, 0x2c, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x08,
-+ 0xe8, 0x88, 0x08, 0x88, 0x68, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x21,
-+ 0x2f, 0x23, 0x25, 0x29, 0x23, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x28,
-+ 0xc8, 0x88, 0x48, 0x28, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x27,
-+ 0x25, 0x27, 0x25, 0x27, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xc8,
-+ 0x48, 0xc8, 0x48, 0xc8, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x3f,
-+ 0x21, 0x2f, 0x29, 0x29, 0x29, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xe8, 0x28, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x2f,
-+ 0x21, 0x27, 0x21, 0x21, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xe8,
-+ 0x08, 0xc8, 0x88, 0x48, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x27,
-+ 0x21, 0x2f, 0x27, 0x21, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xc8,
-+ 0x08, 0xe8, 0xc8, 0x08, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x22,
-+ 0x2f, 0x22, 0x2f, 0x22, 0x2c, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0x88,
-+ 0xe8, 0x88, 0xe8, 0x88, 0x48, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x27, 0x24,
-+ 0x27, 0x22, 0x27, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xc8, 0x48,
-+ 0xc8, 0x08, 0xc8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x24, 0x3f,
-+ 0x24, 0x27, 0x25, 0x29, 0x36, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x48, 0x48,
-+ 0xa8, 0xd8, 0x28, 0xc8, 0x28, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x23, 0x24,
-+ 0x29, 0x26, 0x26, 0x24, 0x27, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xc8, 0x48,
-+ 0x88, 0xc8, 0xc8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x21, 0x3f,
-+ 0x27, 0x2d, 0x37, 0x27, 0x25, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x08, 0xf8,
-+ 0xc8, 0x68, 0xd8, 0xc8, 0x28, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x20, 0x3f,
-+ 0x2e, 0x2a, 0x2e, 0x26, 0x39, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xc8, 0x68, 0xe8, 0x28, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x28, 0x25,
-+ 0x33, 0x28, 0x25, 0x25, 0x29, 0x29, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x68, 0x88,
-+ 0xf8, 0x88, 0xe8, 0x28, 0xe8, 0x38, 0x00, 0x00,
-+ 0x20, 0x1f, 0x19, 0x4f, 0x29, 0x2f, 0x08, 0x1b,
-+ 0x1f, 0x28, 0x2b, 0x4a, 0x4b, 0x4a, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x78, 0x48, 0x78, 0x68, 0x88,
-+ 0xf8, 0x88, 0xe8, 0x28, 0xe8, 0x38, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x27, 0x24, 0x27,
-+ 0x27, 0x27, 0x21, 0x2f, 0x22, 0x2c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0xc8, 0x48, 0xc8,
-+ 0xc8, 0xc8, 0x48, 0xe8, 0x88, 0x78, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x21, 0x27, 0x2f,
-+ 0x21, 0x27, 0x3b, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0x28, 0xc8, 0xe8,
-+ 0x48, 0xe8, 0xc8, 0x48, 0xc8, 0x58, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x21, 0x2f, 0x27,
-+ 0x25, 0x27, 0x27, 0x23, 0x2d, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0x08, 0xe8, 0xc8,
-+ 0x48, 0xc8, 0xc8, 0x88, 0x68, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x29, 0x26,
-+ 0x3f, 0x25, 0x2d, 0x2f, 0x24, 0x29, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x88,
-+ 0xf8, 0x68, 0x48, 0x48, 0xa8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x21, 0x27, 0x2f,
-+ 0x22, 0x2f, 0x27, 0x27, 0x2f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0x08, 0xc8, 0xe8,
-+ 0x48, 0xe8, 0xc8, 0x48, 0xe8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x27, 0x25, 0x27,
-+ 0x27, 0x25, 0x27, 0x2e, 0x2d, 0x30, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0xe8, 0x08, 0xc8,
-+ 0xc8, 0x08, 0xe8, 0xa8, 0x68, 0xd8, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x24, 0x3b,
-+ 0x26, 0x3f, 0x2a, 0x2e, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x48, 0xa8,
-+ 0x68, 0xf8, 0xa8, 0xe8, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x2e, 0x2a, 0x2e,
-+ 0x27, 0x25, 0x27, 0x27, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0xe8, 0xa8, 0xe8,
-+ 0xc8, 0x48, 0xc8, 0xc8, 0xf8, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x3e, 0x28, 0x25, 0x2b,
-+ 0x25, 0x23, 0x2d, 0x27, 0x24, 0x2b, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0xf8, 0x88, 0xc8, 0xe8,
-+ 0x48, 0xe8, 0xc8, 0xe8, 0x88, 0xf8, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x2e, 0x2b,
-+ 0x2e, 0x29, 0x2e, 0x3b, 0x2e, 0x28, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x48, 0xf8,
-+ 0xa8, 0xf8, 0x48, 0xf8, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x28, 0x30, 0x28, 0x27, 0x24,
-+ 0x24, 0x24, 0x38, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x30, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x3a, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x00, 0x78, 0x48, 0x48, 0x48,
-+ 0x48, 0x70, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x28, 0x30, 0x2b, 0x24, 0x24,
-+ 0x24, 0x24, 0x39, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0xa0, 0xa0,
-+ 0xa0, 0xa0, 0x24, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40,
-+ 0x40, 0x40, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x3a, 0x22, 0x24, 0x2b, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x28, 0x20, 0xf8, 0x88,
-+ 0x50, 0x50, 0x20, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x28, 0x30, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0x80, 0xf8, 0x08, 0x08,
-+ 0xf8, 0x08, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x2b, 0x30, 0x28, 0x25, 0x26,
-+ 0x24, 0x24, 0x38, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x80, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x00, 0x39, 0x28, 0x2a, 0x32, 0x32, 0x2a, 0x2a,
-+ 0x2a, 0x2a, 0x3a, 0x22, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xd8,
-+ 0x98, 0x88, 0x98, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x29, 0x31, 0x2a, 0x24, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x80, 0xf8, 0x88, 0x08, 0x08, 0x30, 0x40, 0xb8,
-+ 0x08, 0xb8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x2b, 0x31, 0x29, 0x25, 0x26,
-+ 0x24, 0x24, 0x38, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x50, 0x50, 0x50, 0xe8,
-+ 0x48, 0xa0, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x28, 0x33, 0x28, 0x25, 0x26,
-+ 0x24, 0x27, 0x38, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x30, 0xd0, 0x90, 0x90, 0xfc, 0x90, 0x10, 0x50,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x2b, 0x30, 0x2b, 0x25, 0x25,
-+ 0x26, 0x24, 0x38, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0xfc, 0x40, 0x58, 0x48, 0x48,
-+ 0xd4, 0xa4, 0xa0, 0x10, 0x08, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x28, 0x30, 0x2b, 0x24, 0x24,
-+ 0x24, 0x25, 0x3a, 0x20, 0x20, 0x23, 0x00, 0x00,
-+ 0x20, 0x20, 0xb8, 0xa0, 0xa0, 0xfc, 0x20, 0xa4,
-+ 0xa4, 0x28, 0x70, 0x20, 0xc0, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x27, 0x28, 0x31, 0x28, 0x27, 0x24,
-+ 0x27, 0x39, 0x22, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x90,
-+ 0xfc, 0x90, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x00, 0x3d, 0x24, 0x2b, 0x31, 0x29, 0x27, 0x25,
-+ 0x25, 0x27, 0x38, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x18, 0xe0, 0x40, 0xf8, 0x50, 0x50, 0xfc, 0x50,
-+ 0x50, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x2a, 0x33, 0x32, 0x2a, 0x2b,
-+ 0x2a, 0x2a, 0x3b, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0x80, 0xf8, 0xa8, 0xa8, 0xa8,
-+ 0xb0, 0x90, 0xb0, 0xa8, 0xc8, 0x84, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x29, 0x31, 0x29, 0x25, 0x24,
-+ 0x27, 0x24, 0x39, 0x20, 0x27, 0x20, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x00,
-+ 0xfc, 0x40, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x2a, 0x30, 0x28, 0x24, 0x25,
-+ 0x27, 0x25, 0x39, 0x21, 0x23, 0x20, 0x00, 0x00,
-+ 0xf0, 0x90, 0x08, 0xf4, 0x00, 0xf0, 0x90, 0x08,
-+ 0xfc, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x30, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x21, 0x21, 0x26, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x00, 0xf8, 0x08, 0xf8,
-+ 0x08, 0xf8, 0x08, 0xf8, 0x98, 0x04, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x29, 0x31, 0x29, 0x25, 0x25,
-+ 0x24, 0x24, 0x38, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0x48, 0xf8, 0x48, 0xf8,
-+ 0xd0, 0xd0, 0xe8, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0x29, 0x33, 0x34, 0x2b, 0x2a,
-+ 0x2a, 0x2b, 0x39, 0x21, 0x22, 0x24, 0x00, 0x00,
-+ 0x40, 0x40, 0xa0, 0x10, 0xf8, 0x04, 0xb8, 0xa8,
-+ 0xa8, 0xb8, 0x10, 0x98, 0x64, 0x44, 0x00, 0x00,
-+ 0x04, 0x3a, 0x2a, 0x29, 0x34, 0x32, 0x2b, 0x28,
-+ 0x2f, 0x2a, 0x3b, 0x22, 0x25, 0x28, 0x00, 0x00,
-+ 0x70, 0x50, 0x88, 0xfc, 0x20, 0x64, 0xb4, 0x58,
-+ 0xb8, 0x54, 0x94, 0x10, 0x60, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x2b, 0x30, 0x29, 0x25, 0x24,
-+ 0x27, 0x25, 0x38, 0x22, 0x22, 0x24, 0x00, 0x00,
-+ 0x18, 0xe8, 0x24, 0xf4, 0x40, 0xf0, 0xf8, 0x08,
-+ 0xfc, 0xf8, 0x48, 0xa4, 0x94, 0x70, 0x00, 0x00,
-+ 0x00, 0x3c, 0x25, 0x2a, 0x31, 0x29, 0x25, 0x25,
-+ 0x25, 0x25, 0x39, 0x23, 0x22, 0x24, 0x00, 0x00,
-+ 0x20, 0xa8, 0x6c, 0x34, 0xc0, 0xfc, 0x20, 0xf8,
-+ 0xf8, 0x20, 0xfc, 0x54, 0xac, 0x18, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x29, 0x31, 0x29, 0x24, 0x27,
-+ 0x24, 0x25, 0x3b, 0x20, 0x22, 0x24, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xf8, 0x08, 0xf8, 0x88, 0x74,
-+ 0x88, 0x54, 0xfc, 0x00, 0xa8, 0x54, 0x00, 0x00,
-+ 0x01, 0x39, 0x2f, 0x2a, 0x37, 0x30, 0x2b, 0x2a,
-+ 0x2b, 0x3a, 0x23, 0x22, 0x22, 0x22, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0xa0, 0xf8, 0x08, 0xb8, 0xa0,
-+ 0xb8, 0xb8, 0xa0, 0xb8, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x01, 0x01, 0x1f, 0x01, 0x7f, 0x01, 0x1f, 0x11,
-+ 0x09, 0x0b, 0x0d, 0x71, 0x01, 0x03, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x10, 0xfc, 0x10, 0xf0, 0x10,
-+ 0x90, 0xa0, 0x40, 0x30, 0x0c, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x1c, 0x1b, 0x2a, 0x48, 0x3e,
-+ 0x00, 0x7e, 0x2c, 0x2b, 0x4a, 0x18, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x28, 0xfc, 0x28, 0xf8, 0x28,
-+ 0xa4, 0x78, 0x70, 0xa8, 0x24, 0x60, 0x00, 0x00,
-+ 0x04, 0x04, 0x04, 0x0f, 0x08, 0x18, 0x2f, 0x48,
-+ 0x08, 0x0f, 0x08, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xfc, 0x40, 0x40, 0xf8, 0x40,
-+ 0x40, 0xf8, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3c, 0x24, 0x24, 0x3c, 0x25, 0x26, 0x3c,
-+ 0x24, 0x24, 0x26, 0x38, 0x60, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x04, 0x04, 0x0f, 0x08, 0x1f, 0x28, 0x4f, 0x08,
-+ 0x0f, 0x1e, 0x12, 0x13, 0x12, 0x10, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0x40, 0xf0, 0x40, 0xf0, 0x40,
-+ 0xfc, 0x78, 0x48, 0xc8, 0x48, 0x18, 0x00, 0x00,
-+ 0x10, 0x10, 0x10, 0x1e, 0x28, 0x49, 0x7f, 0x08,
-+ 0x08, 0x14, 0x12, 0x22, 0x40, 0x00, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x10, 0x14, 0x65, 0x29, 0x1b,
-+ 0x15, 0x1d, 0x65, 0x09, 0x11, 0x21, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x90, 0x90, 0xfc, 0x20, 0xf8,
-+ 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x10, 0x10, 0x11, 0x7f, 0x09, 0x0b, 0x15, 0x39,
-+ 0x54, 0x17, 0x10, 0x11, 0x16, 0x10, 0x00, 0x00,
-+ 0x90, 0xa0, 0xfc, 0x20, 0xf8, 0xf8, 0x20, 0xfc,
-+ 0x40, 0xfc, 0xe0, 0x50, 0x4c, 0x40, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x12, 0x12, 0x2d, 0x49, 0x08,
-+ 0x7f, 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x01, 0x3f, 0x3d, 0x5d, 0x05, 0x0f,
-+ 0x18, 0x6f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x00, 0xfc, 0x78, 0x70, 0x40, 0xf8,
-+ 0x80, 0xf0, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3f, 0x25, 0x25, 0x3f, 0x25, 0x3f, 0x25,
-+ 0x2f, 0x2b, 0x2f, 0x2b, 0x21, 0x43, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0x7c, 0xd0, 0xd0, 0x78, 0x50,
-+ 0x50, 0x78, 0x50, 0x50, 0x7c, 0x40, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x02, 0x07,
-+ 0x18, 0x6f, 0x08, 0x0f, 0x08, 0x07, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x00, 0xf0,
-+ 0x10, 0x90, 0x90, 0xe4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x05, 0x19,
-+ 0x6f, 0x08, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x60, 0x18,
-+ 0xe4, 0x20, 0xe0, 0xe0, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x00, 0x3d,
-+ 0x08, 0x3f, 0x12, 0x0c, 0x1e, 0x61, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x18, 0xe0,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x10,
-+ 0x4f, 0x20, 0x0b, 0x12, 0x22, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x40,
-+ 0xfc, 0x40, 0xf8, 0x48, 0x70, 0x40, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x03, 0x1c,
-+ 0x1e, 0x10, 0x1f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x00, 0xf0,
-+ 0xf0, 0x10, 0xf0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x01, 0x3f,
-+ 0x04, 0x7f, 0x3f, 0x0e, 0x03, 0x3c, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x00, 0xf8,
-+ 0x40, 0xfc, 0xf8, 0x40, 0xc0, 0x30, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x10,
-+ 0x48, 0x20, 0x0b, 0x12, 0x23, 0x22, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x40,
-+ 0x7c, 0x40, 0xf8, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x02,
-+ 0x3e, 0x02, 0x3e, 0x02, 0x7c, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x80,
-+ 0xf8, 0x80, 0xf8, 0x80, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x21, 0x5d, 0x1d, 0x08,
-+ 0x7f, 0x1c, 0x1a, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x08, 0x70, 0x70, 0x20,
-+ 0xfc, 0x70, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x04, 0x7f,
-+ 0x05, 0x0f, 0x09, 0x7f, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x40, 0xfc,
-+ 0x40, 0xe0, 0x20, 0xfc, 0xc0, 0x38, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x1e, 0x12,
-+ 0x3d, 0x0f, 0x0f, 0x09, 0x0f, 0x08, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0xf8, 0x48,
-+ 0x98, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x10, 0x0b,
-+ 0x46, 0x21, 0x0f, 0x10, 0x23, 0x20, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x18, 0xf0,
-+ 0x4c, 0xf0, 0xfc, 0x40, 0xf8, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x3f, 0x14,
-+ 0x7f, 0x1f, 0x1e, 0x1e, 0x12, 0x17, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x40, 0x7c,
-+ 0x90, 0x50, 0x20, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x1e, 0x12,
-+ 0x1e, 0x11, 0x3e, 0x53, 0x1e, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x20, 0xf8,
-+ 0x50, 0xfc, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x01, 0x7f,
-+ 0x3e, 0x15, 0x6d, 0x07, 0x0f, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0x00, 0xfc,
-+ 0xf8, 0x50, 0x7c, 0xe0, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x0d, 0x79,
-+ 0x2f, 0x79, 0x35, 0x1c, 0x67, 0x18, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0xf0, 0x50,
-+ 0xf0, 0xf0, 0xf8, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x1c, 0x7f,
-+ 0x1c, 0x1c, 0x3e, 0x23, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0xf8, 0x88,
-+ 0xf8, 0xf8, 0x7c, 0xd4, 0xfc, 0x98, 0x00, 0x00,
-+ 0x00, 0x3f, 0x08, 0x3e, 0x2a, 0x7f, 0x3e, 0x08,
-+ 0x3c, 0x01, 0x7e, 0x14, 0x3e, 0x43, 0x00, 0x00,
-+ 0x10, 0x10, 0xf8, 0x98, 0x7c, 0x18, 0xf8, 0xd4,
-+ 0x38, 0xb8, 0xd4, 0x94, 0xf0, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x3b, 0x2a,
-+ 0x3b, 0x3f, 0x09, 0x35, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0xb8, 0xa8,
-+ 0xb8, 0xf8, 0x30, 0x48, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x01, 0x3f, 0x3d, 0x5d, 0x3f, 0x2e,
-+ 0x3f, 0x2e, 0x35, 0x24, 0x24, 0x5f, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x78, 0x70, 0xfc, 0x70,
-+ 0xfc, 0x70, 0xa8, 0xf0, 0x80, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3e, 0x08, 0x3e, 0x2b, 0x7f, 0x3e, 0x08,
-+ 0x3d, 0x00, 0x7e, 0x15, 0x1e, 0x63, 0x00, 0x00,
-+ 0x0c, 0xf4, 0xa8, 0x50, 0xfc, 0x28, 0xd8, 0xf4,
-+ 0x44, 0x78, 0xc8, 0x30, 0x70, 0x8c, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3f, 0x08, 0x7f, 0x3f,
-+ 0x2a, 0x2a, 0x3e, 0x22, 0x22, 0x26, 0x00, 0x00,
-+ 0x18, 0xf0, 0xa8, 0xa4, 0x04, 0xf8, 0x28, 0xfc,
-+ 0x28, 0xf8, 0x28, 0x20, 0x20, 0x60, 0x00, 0x00,
-+ 0x09, 0x0f, 0x11, 0x7f, 0x0f, 0x08, 0x0f, 0x7e,
-+ 0x02, 0x3e, 0x03, 0x7c, 0x0c, 0x30, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xfc, 0xe0, 0x20, 0xe0, 0xfc,
-+ 0x80, 0xf8, 0x80, 0xfc, 0x80, 0x80, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x10, 0x3f, 0x2b, 0x2b, 0x2f,
-+ 0x2b, 0x2f, 0x2b, 0x2b, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0xc0, 0x40, 0x78, 0x88, 0xf8, 0x58, 0x58,
-+ 0x78, 0x50, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x08, 0x3f, 0x2a, 0x2a, 0x2e,
-+ 0x2a, 0x2e, 0x2a, 0x2a, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xf8, 0xc8, 0xf8, 0xc8,
-+ 0xf8, 0xb0, 0xb0, 0xd4, 0xd4, 0x8c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x17, 0x17, 0x1f, 0x2f, 0x4f, 0x09,
-+ 0x7f, 0x1f, 0x13, 0x13, 0x1f, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x18, 0x14, 0xfc, 0x90, 0xa8, 0xc4,
-+ 0xfc, 0xf0, 0x90, 0x90, 0xf0, 0x10, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1d, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x48,
-+ 0x48, 0x48, 0x88, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x14, 0x15, 0x7e, 0x14, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0xc8, 0xa8, 0xa8, 0x48, 0x50, 0x50,
-+ 0x20, 0x20, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x14, 0x15, 0x7e, 0x14, 0x1d, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0xc8, 0x48, 0x68,
-+ 0x58, 0x4c, 0xc8, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x15, 0x1d, 0x09, 0x3f, 0x2b,
-+ 0x3f, 0x09, 0x7f, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0xc0, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x68, 0x98,
-+ 0x98, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2b,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xfc,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x0b, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88,
-+ 0x88, 0xf8, 0x88, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x09, 0x0a, 0x09, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0xa8, 0xb0, 0xa0, 0xf8, 0xc8,
-+ 0xc8, 0xb0, 0x30, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x15, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x70,
-+ 0x70, 0xa8, 0x24, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x14, 0x15, 0x7e, 0x14, 0x1d, 0x09, 0x3f, 0x2b,
-+ 0x3f, 0x09, 0x7f, 0x09, 0x09, 0x09, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0x40, 0xf8, 0x48, 0x48, 0x68,
-+ 0x98, 0x98, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x09, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x7f, 0x09, 0x09, 0x0f, 0x72, 0x04, 0x7f,
-+ 0x07, 0x0f, 0x09, 0x0f, 0x7f, 0x01, 0x00, 0x00,
-+ 0x00, 0xf0, 0x90, 0x54, 0x54, 0x0c, 0x40, 0xfc,
-+ 0xc0, 0xe0, 0x20, 0xe0, 0xfc, 0x00, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x09, 0x3e, 0x2b,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0xfc,
-+ 0x60, 0x50, 0x50, 0x40, 0x40, 0x40, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x09, 0x3e, 0x2a,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x20, 0x24, 0xf8, 0x70, 0xa8, 0x24, 0x60, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x14, 0x14, 0x7e, 0x14, 0x1c, 0x08, 0x3e, 0x2a,
-+ 0x3f, 0x08, 0x7e, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x40, 0xfc,
-+ 0xa4, 0xb4, 0xcc, 0xfc, 0x84, 0x18, 0x00, 0x00,
-+ 0x28, 0x28, 0x7f, 0x28, 0x38, 0x13, 0x7c, 0x55,
-+ 0x7d, 0x12, 0x7e, 0x14, 0x10, 0x10, 0x00, 0x00,
-+ 0x50, 0x90, 0x90, 0x94, 0xb4, 0xf4, 0xb8, 0xd0,
-+ 0xd0, 0xe8, 0xa8, 0xa8, 0xc4, 0x84, 0x00, 0x00,
-+ 0x14, 0x15, 0x7e, 0x14, 0x1d, 0x08, 0x3e, 0x2b,
-+ 0x3e, 0x09, 0x7f, 0x08, 0x09, 0x08, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xfc, 0x68, 0xb0, 0x60,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x14, 0x14, 0x7f, 0x14, 0x1c, 0x08, 0x3e, 0x2b,
-+ 0x3e, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x20, 0x50, 0x88, 0xfc,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x28, 0x28, 0x7f, 0x28, 0x39, 0x11, 0x7d, 0x55,
-+ 0x7d, 0x11, 0x7e, 0x12, 0x14, 0x10, 0x00, 0x00,
-+ 0x90, 0x90, 0xfc, 0x90, 0xfc, 0x00, 0xf8, 0xa8,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xa8, 0x98, 0x00, 0x00,
-+ 0x2a, 0x29, 0x7d, 0x28, 0x3a, 0x11, 0x7d, 0x54,
-+ 0x7f, 0x11, 0x7d, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x50, 0xfc, 0x20,
-+ 0xf8, 0x20, 0xfc, 0x20, 0xa0, 0x7c, 0x00, 0x00,
-+ 0x2a, 0x29, 0x7d, 0x28, 0x3a, 0x11, 0x7d, 0x54,
-+ 0x7f, 0x11, 0x7d, 0x11, 0x12, 0x14, 0x00, 0x00,
-+ 0x00, 0xfc, 0x30, 0xfc, 0xb4, 0xfc, 0x20, 0xfc,
-+ 0x78, 0xd4, 0x70, 0x48, 0xb8, 0x7c, 0x00, 0x00,
-+ 0x28, 0x2f, 0x7c, 0x2b, 0x3a, 0x13, 0x7c, 0x57,
-+ 0x7e, 0x13, 0x7e, 0x12, 0x14, 0x14, 0x00, 0x00,
-+ 0xa0, 0xfc, 0xa0, 0xf8, 0xa8, 0xf8, 0x48, 0xfc,
-+ 0x48, 0x28, 0xb0, 0x94, 0x2c, 0x44, 0x00, 0x00,
-+ 0x01, 0x1f, 0x02, 0x7f, 0x00, 0x0f, 0x08, 0x0f,
-+ 0x00, 0x0f, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xfc, 0x00, 0xe0, 0x20, 0xe0,
-+ 0x40, 0xf8, 0x40, 0xfc, 0x40, 0x40, 0x00, 0x00,
-+ 0x08, 0x3e, 0x12, 0x7f, 0x01, 0x3e, 0x22, 0x3e,
-+ 0x04, 0x3e, 0x24, 0x7f, 0x04, 0x04, 0x00, 0x00,
-+ 0x18, 0xf0, 0xa8, 0xa4, 0x04, 0x20, 0xd8, 0x88,
-+ 0x88, 0xd8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x02, 0x02, 0x02, 0x3e, 0x02, 0x02, 0x3e, 0x02,
-+ 0x02, 0x3e, 0x02, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x78, 0x40,
-+ 0x40, 0x78, 0x40, 0x40, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x7f, 0x3e, 0x15, 0x2d, 0x51, 0x1f, 0x1f,
-+ 0x12, 0x16, 0x16, 0x16, 0x2f, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x50, 0x68, 0x14, 0xf0, 0xf0,
-+ 0x90, 0xd0, 0xd0, 0xd0, 0xf0, 0x10, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x3d, 0x15, 0x2d, 0x42, 0x3e,
-+ 0x02, 0x1e, 0x1e, 0x02, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x70, 0x50, 0xe8, 0x84, 0xf8,
-+ 0x80, 0xf0, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x01, 0x3f, 0x04, 0x7f, 0x00, 0x0f, 0x08,
-+ 0x0f, 0x08, 0x0f, 0x02, 0x0c, 0x70, 0x00, 0x00,
-+ 0x00, 0x00, 0xf8, 0x40, 0xfc, 0x00, 0xe0, 0x20,
-+ 0xe0, 0x20, 0xe0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x7e, 0x24, 0x14, 0x18, 0x7f, 0x00,
-+ 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0x48, 0x88, 0x30, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x24, 0x15, 0x19, 0x7e, 0x00,
-+ 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x00, 0x00,
-+ 0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0xe8, 0x08,
-+ 0x28, 0xc8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7f, 0x00, 0x1c, 0x14, 0x14,
-+ 0x14, 0x15, 0x15, 0x23, 0x20, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x1d, 0x04, 0x14, 0x12, 0x22, 0x49, 0x08,
-+ 0x08, 0x14, 0x16, 0x7a, 0x00, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x7f, 0x2a, 0x2a, 0x54, 0x2a, 0x2a, 0x00,
-+ 0x7e, 0x08, 0x08, 0x0e, 0x70, 0x03, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x24, 0x2e, 0x2a, 0x2a, 0x2a,
-+ 0x2e, 0x24, 0x24, 0x24, 0x3e, 0x23, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x08, 0x7f, 0x08, 0x08, 0x3e, 0x00,
-+ 0x3e, 0x22, 0x22, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x12, 0x3e, 0x40, 0x3e, 0x04,
-+ 0x08, 0x3e, 0x22, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x02, 0x3d, 0x08, 0x7f, 0x1c, 0x2a, 0x4a, 0x1c,
-+ 0x14, 0x14, 0x15, 0x16, 0x24, 0x43, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x3e, 0x2a, 0x3e, 0x08, 0x7f,
-+ 0x1c, 0x1a, 0x2a, 0x48, 0x08, 0x0b, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x14, 0x0c, 0x12, 0x3f, 0x24,
-+ 0x3a, 0x24, 0x39, 0x22, 0x4c, 0x33, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x2a, 0x3e, 0x2a, 0x3e, 0x08,
-+ 0x06, 0x35, 0x31, 0x54, 0x54, 0x0f, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x04, 0x7f, 0x3f, 0x2f, 0x2b, 0x2f, 0x3f, 0x1e,
-+ 0x12, 0x1e, 0x12, 0x1e, 0x0e, 0x71, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x21, 0x3f, 0x21, 0x3f, 0x12, 0x6d,
-+ 0x2d, 0x1b, 0x7f, 0x35, 0x2a, 0x4a, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0xf8, 0x30, 0xc8, 0x84, 0x00, 0x00,
-+ 0x08, 0x2f, 0x28, 0x7f, 0x2a, 0x5c, 0x1a, 0x6f,
-+ 0x09, 0x0f, 0x0f, 0x04, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0xf8, 0x88, 0xf8, 0xf8, 0xf8, 0xec,
-+ 0x20, 0xe0, 0xe0, 0x40, 0xfc, 0x40, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 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, 0x07, 0x3f, 0x2d, 0x37, 0x3f, 0x35, 0x3f,
-+ 0x3f, 0x20, 0x3f, 0x57, 0x17, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x90, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x30, 0xc8, 0x84, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x77, 0x55, 0x77, 0x14, 0x3f,
-+ 0x64, 0x3e, 0x3e, 0x24, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x30, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x09, 0x0f, 0x0f, 0x3f, 0x01, 0x7f,
-+ 0x2a, 0x3b, 0x3b, 0x2a, 0x7f, 0x08, 0x00, 0x00,
-+ 0x00, 0xfc, 0x10, 0x20, 0x78, 0x48, 0x78, 0xc8,
-+ 0xf8, 0xc8, 0xf8, 0xb0, 0xa8, 0xc4, 0x00, 0x00,
-+ 0x00, 0x7f, 0x01, 0x01, 0x01, 0x1f, 0x10, 0x1f,
-+ 0x17, 0x15, 0x17, 0x11, 0x2f, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0xc0, 0x20, 0x00, 0xf0, 0xd0, 0x10,
-+ 0xd0, 0x50, 0xd4, 0x6c, 0x9c, 0x04, 0x00, 0x00,
-+ 0x10, 0x13, 0x12, 0x13, 0x7e, 0x0b, 0x4b, 0x2b,
-+ 0x2b, 0x32, 0x1c, 0x64, 0x0b, 0x10, 0x00, 0x00,
-+ 0x00, 0xf0, 0x30, 0xd0, 0x90, 0xf0, 0xb0, 0xb0,
-+ 0xf0, 0xd0, 0xb4, 0xec, 0x1c, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x11, 0x1e, 0x14, 0x1f, 0x1d, 0x1d,
-+ 0x1f, 0x16, 0x15, 0x27, 0x38, 0x40, 0x00, 0x00,
-+ 0x20, 0xa0, 0xb0, 0xa8, 0xcc, 0xf4, 0x80, 0xf8,
-+ 0xc8, 0xc8, 0x78, 0xc4, 0xb4, 0x0c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x13, 0x1c, 0x14, 0x1f, 0x1d, 0x1d,
-+ 0x1f, 0x16, 0x15, 0x27, 0x38, 0x40, 0x00, 0x00,
-+ 0x00, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8,
-+ 0xfc, 0x98, 0x64, 0xc4, 0xb4, 0x0c, 0x00, 0x00,
-+ 0x00, 0x7f, 0x19, 0x7f, 0x5b, 0x7f, 0x01, 0x3d,
-+ 0x01, 0x7f, 0x2d, 0x2a, 0x4b, 0x1c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x18, 0xe8, 0x48, 0xf8, 0xd8, 0xd8,
-+ 0xf8, 0x6c, 0x5c, 0x74, 0x94, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x23, 0x3d, 0x29, 0x3f, 0x3b, 0x3b,
-+ 0x3f, 0x2d, 0x2a, 0x2f, 0x31, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x30, 0xfc, 0xb4, 0xfc, 0x78, 0x00,
-+ 0xfc, 0x58, 0x94, 0xb4, 0x64, 0x1c, 0x00, 0x00,
-+ 0x0c, 0x0b, 0x3f, 0x09, 0x15, 0x13, 0x35, 0x2f,
-+ 0x7f, 0x25, 0x37, 0x2a, 0x4b, 0x54, 0x00, 0x00,
-+ 0x00, 0xf8, 0x18, 0xe8, 0x48, 0xf8, 0xd8, 0xd8,
-+ 0xf8, 0x6c, 0x5c, 0x74, 0x94, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1f, 0x22, 0x7c, 0x24, 0x3c,
-+ 0x24, 0x3c, 0x3c, 0x20, 0x3e, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x3c, 0xe0, 0x20, 0xa8, 0xa8, 0xa8,
-+ 0xa8, 0xf8, 0xa8, 0x24, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x22, 0x7c, 0x25, 0x3c,
-+ 0x24, 0x3c, 0x3e, 0x20, 0x3f, 0x22, 0x00, 0x00,
-+ 0x08, 0x10, 0xe0, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x60, 0x50, 0x90, 0x08, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x1e, 0x22, 0x7c, 0x25, 0x3c,
-+ 0x24, 0x3c, 0x3e, 0x20, 0x3e, 0x23, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x48, 0x94, 0x54, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1f, 0x21, 0x7d, 0x25, 0x3d,
-+ 0x25, 0x3d, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x20, 0x40, 0xf8, 0x08, 0xe8, 0xa8, 0xa8,
-+ 0xa8, 0xe8, 0xa8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x23, 0x7e, 0x22, 0x3f,
-+ 0x22, 0x3e, 0x3e, 0x20, 0x3e, 0x23, 0x00, 0x00,
-+ 0x18, 0xf0, 0xa8, 0xa4, 0x04, 0x20, 0x20, 0xfc,
-+ 0x48, 0x48, 0xf0, 0x10, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x17, 0x1e, 0x23, 0x7d, 0x25, 0x3d,
-+ 0x25, 0x3d, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x40, 0xf8, 0x48, 0x48, 0xf8,
-+ 0x48, 0x48, 0xf8, 0x48, 0x48, 0x58, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x22, 0x7d, 0x24, 0x3d,
-+ 0x24, 0x3c, 0x3e, 0x21, 0x3e, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x20, 0xfc,
-+ 0x20, 0xb0, 0xa8, 0x24, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x23, 0x7e, 0x24, 0x3d,
-+ 0x25, 0x3d, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x80, 0xf8, 0x88, 0x88, 0x08, 0x30, 0x40, 0x98,
-+ 0x08, 0xd8, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x1e, 0x22, 0x7c, 0x25, 0x3c,
-+ 0x24, 0x3c, 0x3e, 0x20, 0x3f, 0x22, 0x00, 0x00,
-+ 0x50, 0x50, 0xfc, 0x50, 0x20, 0x20, 0xfc, 0x20,
-+ 0x38, 0x48, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1f, 0x22, 0x7c, 0x25, 0x3c,
-+ 0x24, 0x3d, 0x3e, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x50, 0x48, 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x54,
-+ 0x7c, 0xc8, 0x30, 0x74, 0x8c, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x23, 0x7c, 0x24, 0x3d,
-+ 0x24, 0x3c, 0x3f, 0x20, 0x3e, 0x21, 0x00, 0x00,
-+ 0x20, 0x24, 0xa4, 0xa8, 0x70, 0x50, 0x88, 0x24,
-+ 0xa4, 0xa8, 0x70, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x1f, 0x22, 0x7c, 0x24, 0x3c,
-+ 0x27, 0x3c, 0x3e, 0x21, 0x3f, 0x22, 0x00, 0x00,
-+ 0x90, 0x90, 0x20, 0xfc, 0x90, 0x90, 0x90, 0xd0,
-+ 0xbc, 0x90, 0x90, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x11, 0x11, 0x19, 0x27, 0x3d, 0x79, 0x2b, 0x3a,
-+ 0x2a, 0x3a, 0x3f, 0x22, 0x3c, 0x21, 0x00, 0x00,
-+ 0x00, 0x38, 0x28, 0xe8, 0x28, 0x38, 0xa8, 0xa8,
-+ 0xb8, 0xa8, 0xc8, 0x48, 0x88, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x09, 0x1e, 0x74, 0x19, 0x62, 0x0f,
-+ 0x77, 0x04, 0x07, 0x07, 0x07, 0x3c, 0x00, 0x00,
-+ 0x20, 0x50, 0xac, 0xd0, 0x68, 0x70, 0x80, 0xe0,
-+ 0xfc, 0x40, 0xc0, 0xd0, 0xe0, 0x38, 0x00, 0x00,
-+ 0x08, 0x08, 0x15, 0x1f, 0x23, 0x7d, 0x25, 0x3d,
-+ 0x24, 0x3c, 0x3f, 0x21, 0x3e, 0x24, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0xc8,
-+ 0xd0, 0xd0, 0x68, 0x7c, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x1f, 0x23, 0x7d, 0x27, 0x3c,
-+ 0x25, 0x3d, 0x3f, 0x21, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0xbc, 0x14, 0x94, 0x54, 0xd4, 0x2c, 0x40,
-+ 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x08, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x1f, 0x23, 0x7d, 0x25, 0x3c,
-+ 0x25, 0x3d, 0x3f, 0x21, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x68, 0x98, 0x18, 0xf8, 0x00,
-+ 0xf8, 0x68, 0x68, 0x68, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x1e, 0x22, 0x7c, 0x24, 0x3c,
-+ 0x25, 0x3c, 0x3e, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x50, 0xfc, 0x50, 0x70, 0xf8, 0xa8, 0xf8, 0x20,
-+ 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x22, 0x7c, 0x25, 0x3d,
-+ 0x25, 0x3c, 0x3e, 0x20, 0x3e, 0x23, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc, 0x54,
-+ 0xfc, 0xf8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x14, 0x1e, 0x23, 0x7d, 0x27, 0x3c,
-+ 0x24, 0x3c, 0x3e, 0x20, 0x3f, 0x20, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0xfc, 0x08, 0xfc, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x23, 0x7c, 0x24, 0x3c,
-+ 0x24, 0x3c, 0x3e, 0x20, 0x3e, 0x23, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0xfc, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x11, 0x11, 0x1a, 0x25, 0x3d, 0x7a, 0x2b, 0x38,
-+ 0x2b, 0x3b, 0x3e, 0x22, 0x3e, 0x24, 0x00, 0x00,
-+ 0x48, 0x48, 0xf4, 0xd4, 0x48, 0xd4, 0xfc, 0x48,
-+ 0xfc, 0x48, 0xa8, 0x34, 0xcc, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x1e, 0x23, 0x7c, 0x27, 0x3c,
-+ 0x24, 0x3f, 0x3f, 0x20, 0x3c, 0x23, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x20, 0xfc, 0x90, 0xfc, 0x90,
-+ 0xfc, 0x00, 0xfc, 0x50, 0x94, 0x0c, 0x00, 0x00,
-+ 0x08, 0x09, 0x15, 0x1f, 0x23, 0x7d, 0x24, 0x3c,
-+ 0x25, 0x3c, 0x3f, 0x20, 0x3e, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0xf8, 0x20, 0x64, 0xdc, 0x50,
-+ 0xf8, 0x50, 0xfc, 0x50, 0x88, 0x08, 0x00, 0x00,
-+ 0x1e, 0x12, 0x1e, 0x7f, 0x1e, 0x23, 0x0e, 0x0f,
-+ 0x77, 0x04, 0x07, 0x07, 0x06, 0x38, 0x00, 0x00,
-+ 0x38, 0xfc, 0xa8, 0xd8, 0xb0, 0x34, 0xcc, 0xe0,
-+ 0xdc, 0x40, 0xc0, 0xd0, 0xe0, 0x38, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x08, 0x7e, 0x0a, 0x0a, 0x0a,
-+ 0x0a, 0x0a, 0x12, 0x12, 0x22, 0x41, 0x00, 0x00,
-+ 0x88, 0x50, 0xfc, 0x40, 0xf8, 0x88, 0xf8, 0x88,
-+ 0xf8, 0x88, 0xf8, 0x8c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x24, 0x14, 0x18, 0x7f, 0x08, 0x11, 0x3d, 0x25,
-+ 0x3d, 0x25, 0x3c, 0x27, 0x3c, 0x24, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xfc, 0x20, 0xe8, 0x68, 0x68,
-+ 0xd0, 0x10, 0x74, 0xac, 0x4c, 0x84, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x48,
-+ 0x3e, 0x22, 0x3f, 0x22, 0x3e, 0x23, 0x00, 0x00,
-+ 0x80, 0x80, 0xfc, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x40, 0xf8, 0x90, 0x60, 0xf0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x24, 0x3e, 0x24, 0x3e, 0x24, 0x3f,
-+ 0x05, 0x3b, 0x2f, 0x2d, 0x42, 0x0d, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0x88, 0x50, 0x50, 0x70,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x03, 0x22, 0x13, 0x12, 0x03, 0x0a, 0x0b,
-+ 0x10, 0x16, 0x25, 0x25, 0x28, 0x00, 0x00, 0x00,
-+ 0x00, 0xf8, 0x40, 0xf0, 0x40, 0xf0, 0x40, 0xfc,
-+ 0x24, 0x94, 0x54, 0x44, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x88, 0x88, 0x50,
-+ 0x50, 0x30, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3d, 0x29, 0x3d, 0x29, 0x3f,
-+ 0x0b, 0x3f, 0x3f, 0x33, 0x45, 0x19, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0x68, 0x68, 0x68, 0x68, 0x78,
-+ 0xb8, 0x98, 0x08, 0x08, 0xf8, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0b, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xa0, 0x40, 0x60, 0x98, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x40, 0x40, 0x4c,
-+ 0x70, 0x40, 0x40, 0x40, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x29, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x50, 0x48, 0xf4, 0x04,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x7e, 0x12, 0x3a, 0x0c, 0x77, 0x04, 0x07,
-+ 0x07, 0x04, 0x07, 0x15, 0x12, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x30, 0xc8, 0xf4, 0x80, 0xe0,
-+ 0xe0, 0x80, 0xf8, 0x48, 0xa8, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x44, 0x1b, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x40, 0x50, 0x90, 0x60, 0x28,
-+ 0x48, 0x90, 0x10, 0x28, 0xc4, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3e, 0x28, 0x3e, 0x29, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x50, 0x48, 0x94, 0x54, 0x50,
-+ 0x60, 0x20, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0b, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x28, 0x3c, 0x28, 0x3c, 0x29, 0x3f,
-+ 0x0a, 0x3e, 0x3e, 0x33, 0x45, 0x1a, 0x00, 0x00,
-+ 0x08, 0x88, 0xa8, 0xa8, 0xa8, 0xf8, 0xf8, 0xa8,
-+ 0xa8, 0xa8, 0xa8, 0x28, 0x28, 0x08, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3f, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00, 0xf8,
-+ 0x20, 0xfc, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x28, 0x3f, 0x28, 0x3e, 0x28, 0x3f,
-+ 0x0b, 0x3e, 0x3e, 0x32, 0x44, 0x1b, 0x00, 0x00,
-+ 0x00, 0xf8, 0x08, 0xfc, 0x08, 0xf8, 0x00, 0xfc,
-+ 0x08, 0xf8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3f,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x00, 0xfc,
-+ 0x40, 0x78, 0x88, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3f, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x48, 0x48, 0x48, 0xfc, 0x48, 0x78, 0x48, 0x78,
-+ 0x48, 0xfc, 0x50, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x48, 0x48, 0x50, 0xfc, 0x90, 0x90, 0xf8, 0x90,
-+ 0x90, 0xf8, 0x90, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3e, 0x28, 0x3f,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x45, 0x1a, 0x00, 0x00,
-+ 0x88, 0x48, 0x50, 0xfc, 0x50, 0x50, 0x50, 0xfc,
-+ 0x50, 0x50, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3f, 0x3f, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x88, 0xf8, 0x80, 0xfc,
-+ 0xb4, 0xfc, 0xb4, 0xb4, 0xb4, 0x8c, 0x00, 0x00,
-+ 0x01, 0x3f, 0x22, 0x7f, 0x1f, 0x02, 0x7f, 0x0f,
-+ 0x17, 0x67, 0x05, 0x07, 0x1a, 0x25, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0xf8, 0xe0, 0x80, 0xfc, 0xf0,
-+ 0xd0, 0xcc, 0x00, 0xf0, 0x90, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3e, 0x2b, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0x50, 0xa0, 0x70, 0xac, 0xf8,
-+ 0xa8, 0xf8, 0xb0, 0x28, 0x3c, 0xc4, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3d, 0x29, 0x3d, 0x29, 0x3f,
-+ 0x0b, 0x3f, 0x3f, 0x33, 0x45, 0x19, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0x78, 0x48, 0x78, 0x00, 0xfc,
-+ 0xb4, 0xb4, 0xfc, 0x00, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x3e, 0x29, 0x3c, 0x29, 0x3f, 0x28, 0x3e,
-+ 0x0b, 0x3e, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x40, 0x90, 0xf8, 0x90, 0x68, 0xfc, 0x60, 0x90,
-+ 0x2c, 0xc0, 0x20, 0xc8, 0x30, 0xc0, 0x00, 0x00,
-+ 0x04, 0x7f, 0x0f, 0x08, 0x0f, 0x0f, 0x7f, 0x07,
-+ 0x1d, 0x67, 0x07, 0x07, 0x1a, 0x25, 0x00, 0x00,
-+ 0x40, 0xfc, 0xe0, 0x20, 0xe0, 0xe0, 0xfc, 0xc0,
-+ 0x30, 0xcc, 0xc0, 0xf8, 0x88, 0x70, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x29, 0x3f, 0x28, 0x3e,
-+ 0x0a, 0x3f, 0x3e, 0x32, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0xfc, 0x54, 0xfc, 0x00, 0xf8,
-+ 0x00, 0xfc, 0xa8, 0xa4, 0x24, 0x60, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3f, 0x3e, 0x32, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x50, 0xd0,
-+ 0x28, 0xfc, 0xa8, 0xa4, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3e, 0x29, 0x3e,
-+ 0x0b, 0x3f, 0x3f, 0x33, 0x45, 0x19, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xfc, 0x50, 0xf8, 0x54, 0x70,
-+ 0xfc, 0x74, 0x54, 0x74, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3f, 0x28, 0x3f, 0x28, 0x3e,
-+ 0x0b, 0x3f, 0x3e, 0x32, 0x42, 0x0d, 0x00, 0x00,
-+ 0x20, 0xf8, 0x20, 0xfc, 0x88, 0xdc, 0x88, 0xdc,
-+ 0x00, 0xfc, 0x50, 0x50, 0x94, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3f, 0x28, 0x3e, 0x28, 0x3f,
-+ 0x0a, 0x3f, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x00, 0xfc, 0x54, 0xfc, 0x20, 0xf8, 0x20, 0xfc,
-+ 0x50, 0xfc, 0x20, 0xf8, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x28, 0x3f, 0x28, 0x3f,
-+ 0x0b, 0x3f, 0x3e, 0x32, 0x45, 0x1a, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0xfc, 0x00, 0xf8,
-+ 0x68, 0xf8, 0x90, 0xd8, 0x24, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3d, 0x29, 0x3d, 0x2b, 0x3e,
-+ 0x0a, 0x3f, 0x3e, 0x32, 0x43, 0x0c, 0x00, 0x00,
-+ 0x00, 0xe0, 0x7c, 0xd4, 0xc8, 0x54, 0xe4, 0x50,
-+ 0x64, 0xb8, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x29, 0x3f, 0x29, 0x3f, 0x29, 0x3f,
-+ 0x0b, 0x3f, 0x3f, 0x33, 0x46, 0x19, 0x00, 0x00,
-+ 0x20, 0x38, 0xfc, 0x28, 0xd8, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xf8, 0xe8, 0xe8, 0xfc, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3e, 0x29, 0x3e, 0x28, 0x3e,
-+ 0x0a, 0x3e, 0x3e, 0x33, 0x42, 0x0d, 0x00, 0x00,
-+ 0x50, 0xd4, 0x58, 0xd4, 0x4c, 0xf8, 0xa8, 0xf8,
-+ 0xf8, 0x50, 0xf8, 0xfc, 0x48, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3f, 0x29, 0x3e, 0x29, 0x3e,
-+ 0x0a, 0x3f, 0x3e, 0x33, 0x44, 0x19, 0x00, 0x00,
-+ 0x20, 0xfc, 0xdc, 0x54, 0xdc, 0x50, 0xfc, 0xf8,
-+ 0x50, 0xfc, 0x68, 0x90, 0xe8, 0x84, 0x00, 0x00,
-+ 0x00, 0x3f, 0x28, 0x3d, 0x29, 0x3d, 0x28, 0x3e,
-+ 0x0b, 0x3e, 0x3e, 0x32, 0x42, 0x0c, 0x00, 0x00,
-+ 0x50, 0xfc, 0x50, 0xdc, 0x54, 0xdc, 0x50, 0xfc,
-+ 0x90, 0xf8, 0xf8, 0x90, 0xfc, 0x80, 0x00, 0x00,
-+ 0x00, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x15, 0x3f,
-+ 0x28, 0x3e, 0x3e, 0x3f, 0x3d, 0x57, 0x00, 0x00,
-+ 0x00, 0xe0, 0xc0, 0xc0, 0xf0, 0x90, 0x60, 0xfc,
-+ 0xa0, 0xf8, 0xf8, 0xfc, 0xf4, 0x58, 0x00, 0x00,
-+ 0x00, 0x3f, 0x29, 0x3f, 0x29, 0x3e, 0x29, 0x3f,
-+ 0x0b, 0x3f, 0x3f, 0x33, 0x46, 0x19, 0x00, 0x00,
-+ 0x00, 0xdc, 0xdc, 0xdc, 0x54, 0x20, 0xfc, 0x50,
-+ 0xf8, 0x58, 0xfc, 0xd8, 0xf4, 0x8c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x2e, 0x2a, 0x7f, 0x42, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x2e, 0x2a, 0x7e, 0x43, 0x3f,
-+ 0x22, 0x3e, 0x22, 0x3e, 0x22, 0x27, 0x00, 0x00,
-+ 0x00, 0x70, 0x50, 0x54, 0x54, 0x8c, 0x00, 0xf8,
-+ 0x48, 0x50, 0x30, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x2e, 0x2a, 0x7f, 0x42, 0x3e,
-+ 0x23, 0x3e, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xd0, 0x20, 0x50, 0x88,
-+ 0xfc, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x2e, 0x2a, 0x7f, 0x42, 0x3e,
-+ 0x22, 0x3f, 0x22, 0x3e, 0x22, 0x26, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x50,
-+ 0x90, 0xfc, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x2f, 0x2a, 0x7f, 0x42, 0x3e,
-+ 0x22, 0x3f, 0x22, 0x3e, 0x22, 0x27, 0x00, 0x00,
-+ 0x20, 0xf8, 0xa8, 0xfc, 0xa8, 0xf8, 0xf8, 0xa8,
-+ 0xf8, 0xfc, 0x50, 0xd0, 0x30, 0xc8, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x3d, 0x34, 0x7e, 0x45, 0x3f,
-+ 0x25, 0x3d, 0x25, 0x3c, 0x27, 0x2c, 0x00, 0x00,
-+ 0x00, 0xf8, 0x68, 0xf8, 0x80, 0xf8, 0x48, 0xf8,
-+ 0x58, 0xf8, 0x68, 0x78, 0x88, 0x30, 0x00, 0x00,
-+ 0x02, 0x3d, 0x25, 0x3c, 0x36, 0x7f, 0x45, 0x3c,
-+ 0x27, 0x3d, 0x25, 0x3d, 0x26, 0x2c, 0x00, 0x00,
-+ 0x20, 0xfc, 0x40, 0x78, 0x90, 0xfc, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0x48, 0xd8, 0x7c, 0x00, 0x00,
-+ 0x00, 0x3d, 0x25, 0x3d, 0x35, 0x7f, 0x42, 0x3f,
-+ 0x25, 0x3d, 0x25, 0x3c, 0x27, 0x2c, 0x00, 0x00,
-+ 0x60, 0xf8, 0x68, 0xf8, 0x68, 0xf8, 0x00, 0xfc,
-+ 0xf8, 0x08, 0xf8, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7e, 0x3c, 0x24, 0x3d, 0x01, 0x7f,
-+ 0x42, 0x5f, 0x56, 0x5e, 0x43, 0x46, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x00, 0xdc, 0x54, 0xdc,
-+ 0x20, 0xfc, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x10, 0x1e, 0x10, 0x1e, 0x10,
-+ 0x7f, 0x14, 0x12, 0x27, 0x79, 0x01, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x28, 0x48, 0x90, 0x10, 0x24,
-+ 0x44, 0x08, 0x08, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x09,
-+ 0x09, 0x0f, 0x79, 0x09, 0x08, 0x07, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x00,
-+ 0xf0, 0x10, 0x10, 0x64, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x01,
-+ 0x7f, 0x01, 0x01, 0x02, 0x0c, 0x30, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x00,
-+ 0xfc, 0x00, 0xf0, 0x10, 0x10, 0xe0, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x00,
-+ 0x0f, 0x1f, 0x02, 0x7f, 0x02, 0x01, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0xc0,
-+ 0x00, 0xf0, 0x00, 0xfc, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x01,
-+ 0x0f, 0x0f, 0x09, 0x7f, 0x08, 0x08, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x00,
-+ 0xe0, 0xe0, 0x20, 0xfc, 0x20, 0x60, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3d, 0x1f,
-+ 0x03, 0x0c, 0x7f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0xf0,
-+ 0x10, 0x60, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x01,
-+ 0x7f, 0x02, 0x05, 0x19, 0x66, 0x18, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xf0, 0x08,
-+ 0xfc, 0x20, 0x40, 0x80, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x1f,
-+ 0x04, 0x3f, 0x3f, 0x24, 0x18, 0x60, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0xf0,
-+ 0x90, 0xf0, 0xfc, 0x84, 0x98, 0x80, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x02,
-+ 0x0f, 0x7f, 0x08, 0x0f, 0x08, 0x07, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x00,
-+ 0xf0, 0x90, 0x90, 0xe4, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x02,
-+ 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x10, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x80,
-+ 0xf0, 0x90, 0xf0, 0x90, 0xf0, 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, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x01,
-+ 0x7f, 0x1f, 0x0f, 0x08, 0x0f, 0x08, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x00,
-+ 0xfc, 0xf0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x08,
-+ 0x7e, 0x18, 0x1d, 0x2a, 0x49, 0x08, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0x78,
-+ 0x88, 0xa4, 0x30, 0x48, 0xf4, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x16, 0x3f, 0x07,
-+ 0x07, 0x1f, 0x1f, 0x0f, 0x03, 0x3c, 0x00, 0x00,
-+ 0x10, 0x60, 0x90, 0x64, 0x98, 0x60, 0xc0, 0xc0,
-+ 0xc0, 0xf0, 0xf0, 0xe0, 0x80, 0x78, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x12, 0x3f, 0x0f,
-+ 0x71, 0x09, 0x31, 0x05, 0x19, 0x67, 0x00, 0x00,
-+ 0x10, 0x60, 0x88, 0x30, 0xc4, 0x18, 0xe0, 0xfc,
-+ 0xf0, 0x10, 0xf0, 0xf0, 0xf0, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x16, 0x3f, 0x0f,
-+ 0x7f, 0x07, 0x07, 0x7c, 0x07, 0x18, 0x00, 0x00,
-+ 0x10, 0x60, 0x90, 0x64, 0x98, 0xe0, 0xe0, 0xe0,
-+ 0xfc, 0xc0, 0xd8, 0xe0, 0x60, 0x1c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x16, 0x3f, 0x2f,
-+ 0x4b, 0x37, 0x3f, 0x07, 0x07, 0x3c, 0x00, 0x00,
-+ 0x10, 0x60, 0x90, 0x64, 0x18, 0xe0, 0xfc, 0xe8,
-+ 0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0x38, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1e, 0x1e, 0x7f, 0x16, 0x39, 0x04,
-+ 0x1f, 0x13, 0x1f, 0x1d, 0x1d, 0x73, 0x00, 0x00,
-+ 0x10, 0x60, 0x90, 0x64, 0x18, 0xe8, 0x30, 0x88,
-+ 0xf0, 0x90, 0xf0, 0xd4, 0xcc, 0x04, 0x00, 0x00,
-+ 0x00, 0x2e, 0x24, 0x2e, 0x24, 0x2e, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x00, 0xe8, 0x48, 0xe8, 0x48, 0xe8, 0x08, 0x08,
-+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x00, 0x2e, 0x24, 0x2e, 0x24, 0x2e, 0x21, 0x3f,
-+ 0x21, 0x2f, 0x29, 0x29, 0x29, 0x21, 0x00, 0x00,
-+ 0x00, 0xe8, 0x48, 0xe8, 0x48, 0xe8, 0x08, 0xf8,
-+ 0x08, 0xe8, 0x28, 0x28, 0xc8, 0x18, 0x00, 0x00,
-+ 0x00, 0x2e, 0x24, 0x2e, 0x24, 0x2e, 0x20, 0x22,
-+ 0x2f, 0x22, 0x3f, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xe8, 0x48, 0xe8, 0x48, 0xe8, 0x08, 0x88,
-+ 0xe8, 0x88, 0xf8, 0x88, 0x48, 0x58, 0x00, 0x00,
-+ 0x00, 0x2e, 0x24, 0x2e, 0x24, 0x2e, 0x22, 0x24,
-+ 0x26, 0x24, 0x27, 0x22, 0x24, 0x28, 0x00, 0x00,
-+ 0x00, 0xe8, 0x48, 0xe8, 0x48, 0xe8, 0x08, 0xc8,
-+ 0xc8, 0x48, 0xc8, 0x88, 0xa8, 0x78, 0x00, 0x00,
-+ 0x00, 0x2e, 0x24, 0x2e, 0x24, 0x2e, 0x20, 0x3f,
-+ 0x2f, 0x29, 0x2f, 0x2a, 0x27, 0x38, 0x00, 0x00,
-+ 0x00, 0xe8, 0x48, 0xe8, 0x48, 0xe8, 0x28, 0x28,
-+ 0xf8, 0xa8, 0x68, 0x28, 0x28, 0x78, 0x00, 0x00,
-+ 0x00, 0x2e, 0x24, 0x2e, 0x2e, 0x23, 0x3f, 0x2e,
-+ 0x3a, 0x3e, 0x3a, 0x3a, 0x3e, 0x39, 0x00, 0x00,
-+ 0x00, 0xe8, 0x48, 0xe8, 0xe8, 0x88, 0xe8, 0xe8,
-+ 0xf8, 0xb8, 0xf8, 0xf8, 0x98, 0xf8, 0x00, 0x00,
-+ 0x02, 0x21, 0x2c, 0x33, 0x29, 0x23, 0x2c, 0x3f,
-+ 0x28, 0x08, 0x0f, 0x08, 0x08, 0x07, 0x00, 0x00,
-+ 0x40, 0x48, 0xa8, 0x98, 0x48, 0x28, 0x88, 0xf8,
-+ 0x08, 0x70, 0x80, 0x04, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x7f, 0x00, 0x0f, 0x08, 0x0f, 0x00, 0x3f,
-+ 0x22, 0x2c, 0x37, 0x21, 0x21, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xe0, 0x20, 0xe0, 0x00, 0xf8,
-+ 0x88, 0x98, 0xf8, 0x08, 0x08, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x11, 0x3d, 0x25, 0x25, 0x3d, 0x25,
-+ 0x24, 0x24, 0x3d, 0x25, 0x06, 0x18, 0x00, 0x00,
-+ 0x40, 0x80, 0xf8, 0x48, 0xf8, 0x48, 0xf8, 0x48,
-+ 0xd0, 0xd0, 0x68, 0x78, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x2b, 0x3e, 0x2a, 0x3e, 0x18,
-+ 0x1a, 0x1a, 0x1d, 0x2f, 0x29, 0x47, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xfc, 0x40, 0x50, 0x50, 0x50,
-+ 0xa0, 0xa0, 0x50, 0x88, 0x04, 0xfc, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x7f, 0x1c, 0x1a, 0x2a, 0x48,
-+ 0x7e, 0x12, 0x3a, 0x04, 0x1b, 0x62, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0xa0,
-+ 0x68, 0x68, 0xb4, 0xbc, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x18,
-+ 0x1a, 0x1a, 0x1d, 0x2f, 0x28, 0x47, 0x00, 0x00,
-+ 0x00, 0xf8, 0xd8, 0xb8, 0xa8, 0xf8, 0xa8, 0xf8,
-+ 0xc8, 0xb8, 0x88, 0x9c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x11, 0x3e, 0x2b, 0x3f, 0x2b, 0x3f, 0x19,
-+ 0x1b, 0x1b, 0x1d, 0x2f, 0x28, 0x47, 0x00, 0x00,
-+ 0x00, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0xd8, 0xd8,
-+ 0xe8, 0x48, 0x48, 0x1c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x11, 0x3e, 0x2a, 0x3e, 0x2a, 0x3e, 0x19,
-+ 0x1d, 0x1d, 0x1b, 0x2f, 0x28, 0x47, 0x00, 0x00,
-+ 0x20, 0xfc, 0x98, 0xe8, 0xd8, 0xf8, 0x20, 0xfc,
-+ 0x54, 0xfc, 0x04, 0x0c, 0x04, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x17, 0x17, 0x1f, 0x1f, 0x1f, 0x19,
-+ 0x17, 0x17, 0x27, 0x21, 0x46, 0x38, 0x00, 0x00,
-+ 0x00, 0xfc, 0x18, 0x14, 0xfc, 0x90, 0xa8, 0xc4,
-+ 0xf0, 0xf0, 0xf0, 0xa8, 0xfc, 0x7c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0x38, 0x28,
-+ 0x28, 0x48, 0x48, 0x88, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x7c, 0xa0, 0xa0, 0x3c, 0x20,
-+ 0x20, 0x3c, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xa8, 0xa4, 0x24, 0x20, 0xfc,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xb0, 0x80, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0x20, 0x40, 0x40, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0x50, 0x20, 0x50, 0xc8,
-+ 0x24, 0x20, 0x00, 0xc0, 0x30, 0x08, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x88, 0x20, 0x20, 0xfc, 0x48,
-+ 0x48, 0xf0, 0x90, 0x38, 0xc4, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2f, 0x29, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0x78, 0x90, 0xfc, 0x80, 0xf8, 0xc8,
-+ 0xc8, 0xc8, 0xd8, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x80, 0x98, 0xe0, 0x80, 0x84, 0x7c, 0x00, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0x90, 0xfc, 0x90, 0xb8, 0xb8,
-+ 0xb8, 0xd4, 0xd4, 0x90, 0x90, 0x90, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x0c, 0xf0, 0x20, 0x28, 0xc8, 0x30, 0x30, 0x48,
-+ 0xf4, 0x20, 0xa8, 0xa4, 0x24, 0x20, 0x00, 0x00,
-+ 0x10, 0x49, 0x21, 0x0a, 0x14, 0x23, 0x27, 0x08,
-+ 0x3f, 0x09, 0x0f, 0x0f, 0x14, 0x22, 0x00, 0x00,
-+ 0x40, 0x50, 0x48, 0xd4, 0x64, 0x80, 0xc0, 0x80,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0x90, 0x48, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xa8, 0xa4, 0x24, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x88, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3f, 0x05, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x48, 0x88, 0xa8, 0xa8, 0xa8, 0xe8, 0xa8, 0xe8,
-+ 0xe8, 0xa8, 0xa8, 0x88, 0x88, 0x98, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2b, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x08, 0xd0, 0x70, 0xa8, 0x20, 0xfc, 0x60, 0xa0,
-+ 0xf8, 0xa8, 0xa8, 0xa8, 0xb8, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x50, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0xb8, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2f, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x40, 0xfc,
-+ 0x54, 0x54, 0x94, 0x24, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0x98, 0x88, 0xd8, 0x88, 0x88, 0xf8,
-+ 0x68, 0x60, 0xa0, 0xa4, 0x24, 0x1c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x90,
-+ 0x94, 0xf8, 0x90, 0x94, 0xd4, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x25, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0xa8, 0xa8, 0x50, 0x50, 0xa8, 0xa8, 0x00, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x05, 0x3a, 0x2e, 0x29, 0x42, 0x00, 0x00,
-+ 0x50, 0x50, 0x50, 0xdc, 0x50, 0x50, 0xdc, 0x50,
-+ 0x70, 0xdc, 0x90, 0x90, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2b, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x41, 0x00, 0x00,
-+ 0x20, 0x50, 0xf8, 0x90, 0x68, 0xfc, 0x60, 0xb0,
-+ 0xcc, 0x20, 0xc8, 0x10, 0x60, 0x80, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3b, 0x2f, 0x2a, 0x41, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0xa8, 0xe8, 0x84, 0x94, 0xc8,
-+ 0xc8, 0xc0, 0x50, 0x48, 0x44, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3b, 0x2f, 0x2a, 0x41, 0x00, 0x00,
-+ 0x20, 0x38, 0x20, 0xfc, 0xa8, 0xf8, 0xa4, 0x9c,
-+ 0xf0, 0xd0, 0x50, 0x54, 0x94, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x88, 0x74, 0x00, 0xf8, 0x10,
-+ 0x20, 0x58, 0xd4, 0xc4, 0x50, 0x30, 0x00, 0x00,
-+ 0x08, 0x09, 0x1f, 0x25, 0x7f, 0x2b, 0x3f, 0x2b,
-+ 0x3f, 0x05, 0x3b, 0x2f, 0x29, 0x41, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x48, 0xd8, 0x48, 0x00, 0xf8,
-+ 0x28, 0x28, 0xd0, 0x10, 0x28, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7f, 0x2b, 0x3f, 0x2b,
-+ 0x3f, 0x05, 0x3b, 0x2f, 0x2a, 0x42, 0x00, 0x00,
-+ 0x28, 0x24, 0x24, 0xfc, 0x20, 0xe8, 0x28, 0xe8,
-+ 0xb0, 0xf0, 0x94, 0x2c, 0x4c, 0x84, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2f, 0x29, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8, 0xf8, 0x20,
-+ 0x50, 0xd8, 0xc4, 0x54, 0x50, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x70, 0x50, 0x50, 0x88, 0xfc, 0x30, 0xf8, 0xb8,
-+ 0xd8, 0x88, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2a, 0x3f, 0x2a,
-+ 0x3e, 0x05, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0x20, 0xfc, 0x50,
-+ 0xf8, 0x8c, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0xa8, 0xa8, 0xfc, 0xa8, 0xb8, 0x80, 0xfc, 0x20,
-+ 0xfc, 0x70, 0x70, 0xa8, 0x24, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3b, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0xf8, 0x88, 0xf8, 0x88, 0xf8,
-+ 0x40, 0xf8, 0x50, 0x20, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2f, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x20, 0xf8, 0xb8, 0xe8, 0xf8,
-+ 0x70, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x10, 0x10, 0x1c, 0x2b, 0x7e, 0x2f, 0x3e, 0x2f,
-+ 0x3f, 0x0b, 0x3e, 0x3e, 0x35, 0x48, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xfc, 0x20, 0xe8, 0xa8, 0xe8,
-+ 0x78, 0x50, 0x94, 0xdc, 0x2c, 0x44, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0xa8, 0xa8, 0xd8, 0x88, 0xf8, 0x00,
-+ 0xf8, 0xe8, 0xe8, 0xe8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0x88, 0xf8, 0x88, 0xf8, 0x00,
-+ 0xf8, 0xe8, 0xe8, 0xe8, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x09, 0x1f, 0x25, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3f, 0x04, 0x3a, 0x2f, 0x28, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x54, 0x54, 0xfc, 0x20, 0xa8, 0xa8,
-+ 0x24, 0x70, 0xa8, 0x24, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x25, 0x7f, 0x2b, 0x3f, 0x2b,
-+ 0x3f, 0x05, 0x3b, 0x2f, 0x29, 0x40, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xd0, 0x7c, 0x74, 0xf4, 0x34,
-+ 0xf4, 0x74, 0x7c, 0xd0, 0x10, 0x10, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x25, 0x7f, 0x2b, 0x3f, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x94, 0x54, 0xf4, 0x2c, 0x40,
-+ 0xf8, 0xa8, 0xf8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x10, 0x11, 0x1c, 0x28, 0x7f, 0x2a, 0x3f, 0x2b,
-+ 0x3f, 0x05, 0x3f, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x10, 0xd0, 0x10, 0x3c, 0xf4, 0xb4, 0xfc, 0xf4,
-+ 0xf4, 0xfc, 0xb4, 0x90, 0x90, 0x90, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2f, 0x29, 0x42, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0xa0, 0xf8, 0xa8, 0xfc, 0xa8,
-+ 0xf8, 0xa8, 0xf0, 0x68, 0xa4, 0x60, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7f, 0x08, 0x7f, 0x1e, 0x26, 0x47,
-+ 0x3f, 0x09, 0x0f, 0x0f, 0x14, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0x7c, 0xc8, 0x28, 0x30, 0xc8, 0x84,
-+ 0xe0, 0x20, 0xe0, 0xe0, 0x90, 0x48, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7f, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x04, 0x3a, 0x2f, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xf8, 0x50, 0xfc, 0xf8, 0x88, 0xf8,
-+ 0x88, 0xf8, 0x20, 0xfc, 0x20, 0x20, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x25, 0x7f, 0x2b, 0x3e, 0x2a,
-+ 0x3e, 0x05, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x00, 0xfc, 0x50, 0xfc, 0x54, 0xfc, 0x00, 0xf8,
-+ 0x00, 0xfc, 0xa8, 0xa4, 0x24, 0x60, 0x00, 0x00,
-+ 0x08, 0x09, 0x1e, 0x24, 0x7e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x05, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x00, 0xf8, 0x88, 0xf8,
-+ 0x50, 0xfc, 0xf8, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x25, 0x7f, 0x2b, 0x3f, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x40, 0x00, 0x00,
-+ 0x40, 0x60, 0x90, 0xf8, 0xfc, 0xd8, 0x68, 0xf8,
-+ 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0x90, 0x00, 0x00,
-+ 0x08, 0x09, 0x1f, 0x25, 0x7f, 0x2b, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x29, 0x40, 0x00, 0x00,
-+ 0x60, 0xf8, 0x68, 0xf8, 0x68, 0xf8, 0x00, 0xfc,
-+ 0xf8, 0x88, 0xf8, 0x50, 0xfc, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x24, 0x7e, 0x2b, 0x3e, 0x2b,
-+ 0x3e, 0x04, 0x3a, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x88, 0x50, 0xfc, 0x20, 0xf8, 0xfc, 0xd0, 0xf8,
-+ 0x94, 0xf0, 0xf0, 0xa8, 0xd0, 0x0c, 0x00, 0x00,
-+ 0x08, 0x08, 0x1f, 0x25, 0x7f, 0x2b, 0x3f, 0x2b,
-+ 0x3f, 0x05, 0x3b, 0x2f, 0x2a, 0x41, 0x00, 0x00,
-+ 0x20, 0x38, 0xfc, 0x68, 0xd8, 0xf8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xf8, 0xe8, 0xe8, 0xfc, 0x00, 0x00,
-+ 0x01, 0x0f, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x15,
-+ 0x12, 0x20, 0x07, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xfc, 0xf8, 0x48,
-+ 0xa8, 0x30, 0xc0, 0x40, 0x44, 0x3c, 0x00, 0x00,
-+ 0x02, 0x1f, 0x10, 0x1f, 0x1f, 0x1f, 0x10, 0x1f,
-+ 0x10, 0x07, 0x04, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xe0, 0xe0, 0xfc, 0x00, 0xf8,
-+ 0x08, 0x88, 0xf0, 0x84, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x00, 0x39, 0x09, 0x09, 0x09, 0x19, 0x15,
-+ 0x15, 0x23, 0x20, 0x43, 0x02, 0x04, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0xa4, 0x54, 0x84, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x24, 0x24, 0x24, 0x7e, 0x0c, 0x0c,
-+ 0x14, 0x14, 0x24, 0x45, 0x05, 0x0e, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x12, 0x12, 0x14, 0x14, 0x1c,
-+ 0x14, 0x14, 0x24, 0x25, 0x45, 0x06, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xf8, 0x88, 0xf8, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x1f, 0x10, 0x13, 0x12, 0x13, 0x13, 0x13,
-+ 0x12, 0x13, 0x26, 0x25, 0x49, 0x10, 0x00, 0x00,
-+ 0x00, 0xfc, 0x80, 0xf0, 0x10, 0xf0, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0xa4, 0x54, 0x04, 0x18, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x22, 0x3e, 0x22, 0x3e, 0x3f,
-+ 0x20, 0x3f, 0x0d, 0x3d, 0x32, 0x4d, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x28, 0x28, 0x28, 0xfc,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x08, 0x3f, 0x2a, 0x48, 0x0c,
-+ 0x0c, 0x15, 0x16, 0x25, 0x41, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x3f, 0x22, 0x40, 0x1c, 0x04, 0x14,
-+ 0x14, 0x14, 0x22, 0x23, 0x41, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x01, 0x0f, 0x0a, 0x7f, 0x05, 0x1f, 0x64, 0x07,
-+ 0x07, 0x07, 0x07, 0x15, 0x12, 0x20, 0x00, 0x00,
-+ 0x00, 0xe0, 0x20, 0xfc, 0x40, 0xf0, 0x4c, 0xc0,
-+ 0xc0, 0xfc, 0xf8, 0x48, 0xa8, 0x30, 0x00, 0x00,
-+ 0x15, 0x0e, 0x19, 0x3f, 0x21, 0x4f, 0x08, 0x0f,
-+ 0x0f, 0x0f, 0x0f, 0x2a, 0x25, 0x40, 0x00, 0x00,
-+ 0xa8, 0x70, 0xc8, 0xfc, 0x08, 0xe0, 0x20, 0xe0,
-+ 0xe0, 0xfc, 0xf8, 0x48, 0x28, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x09, 0x09, 0x7f, 0x09, 0x09, 0x3d,
-+ 0x25, 0x25, 0x25, 0x3e, 0x22, 0x04, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x00, 0x06, 0x38, 0x28, 0x28, 0x3f, 0x28, 0x2a,
-+ 0x26, 0x26, 0x3a, 0x63, 0x3d, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x7e, 0x11, 0x19, 0x25, 0x7b, 0x09, 0x09,
-+ 0x3f, 0x09, 0x09, 0x0e, 0x72, 0x04, 0x00, 0x00,
-+ 0x40, 0x80, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xfc,
-+ 0x00, 0xfc, 0x54, 0xac, 0x84, 0x18, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x22, 0x3e, 0x23, 0x3e, 0x3f,
-+ 0x20, 0x3f, 0x0d, 0x3d, 0x31, 0x46, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x88, 0x40, 0x40, 0x4c,
-+ 0x70, 0x40, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x7c, 0x00, 0x7e,
-+ 0x12, 0x12, 0x12, 0x1d, 0x11, 0x12, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x14, 0x12, 0x22, 0x54,
-+ 0x0c, 0x08, 0x0c, 0x15, 0x21, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0xf0, 0x90, 0xf0, 0x90, 0xf0, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xbc, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x14, 0x12, 0x22, 0x7e, 0x00, 0x3e,
-+ 0x22, 0x22, 0x3e, 0x23, 0x21, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x0c, 0x12, 0x7d, 0x08, 0x28, 0x3e, 0x28,
-+ 0x48, 0x7f, 0x08, 0x09, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x11, 0x12, 0x27, 0x4c, 0x0f, 0x14, 0x17, 0x37,
-+ 0x54, 0x17, 0x13, 0x1f, 0x1c, 0x11, 0x00, 0x00,
-+ 0x00, 0x3c, 0x80, 0x80, 0x80, 0xbc, 0x88, 0xe8,
-+ 0x08, 0xc8, 0x48, 0x48, 0x48, 0x98, 0x00, 0x00,
-+ 0x00, 0x7e, 0x24, 0x24, 0x3c, 0x24, 0x24, 0x3c,
-+ 0x24, 0x24, 0x3c, 0x65, 0x05, 0x06, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x0c, 0x16, 0x75, 0x15, 0x14, 0x7f, 0x15, 0x15,
-+ 0x1e, 0x72, 0x17, 0x1b, 0x11, 0x31, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0x78, 0x48, 0x78, 0x7c,
-+ 0x40, 0x7c, 0x34, 0xf4, 0xc4, 0x18, 0x00, 0x00,
-+ 0x06, 0x38, 0x7f, 0x0c, 0x79, 0x1f, 0x04, 0x07,
-+ 0x07, 0x07, 0x07, 0x15, 0x12, 0x20, 0x00, 0x00,
-+ 0x50, 0x48, 0xfc, 0x70, 0xb4, 0xec, 0x20, 0xe0,
-+ 0xe0, 0xfc, 0xf8, 0x48, 0xa8, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x1e, 0x24, 0x7e, 0x2a, 0x2a, 0x3e,
-+ 0x2a, 0x3e, 0x22, 0x23, 0x23, 0x46, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x3e, 0x00, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x23, 0x23, 0x26, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x7f, 0x08, 0x2a, 0x2a, 0x2a, 0x2a, 0x3d,
-+ 0x4d, 0x48, 0x08, 0x0f, 0x71, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x22, 0x3e, 0x22, 0x3e, 0x22,
-+ 0x22, 0x3e, 0x18, 0x15, 0x25, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x14, 0x14, 0x14, 0x7f, 0x14, 0x14, 0x7f, 0x00,
-+ 0x3e, 0x22, 0x3e, 0x23, 0x3f, 0x22, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x7f, 0x00, 0x3c, 0x24, 0x3c, 0x00, 0x3e,
-+ 0x04, 0x0e, 0x78, 0x09, 0x09, 0x1a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x2a, 0x3e, 0x2a,
-+ 0x3e, 0x1c, 0x1a, 0x29, 0x49, 0x0a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x7f, 0x6b, 0x5d, 0x7f,
-+ 0x18, 0x1c, 0x2a, 0x49, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x10, 0x3e, 0x2a, 0x2a, 0x3e, 0x2a, 0x3e,
-+ 0x14, 0x24, 0x7e, 0x05, 0x05, 0x06, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x14, 0x17, 0x29, 0x2e,
-+ 0x72, 0x2c, 0x26, 0x2b, 0x31, 0x22, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x77, 0x55, 0x77, 0x00, 0x3c, 0x00, 0x7e,
-+ 0x10, 0x1c, 0x24, 0x05, 0x05, 0x1a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x7f, 0x08, 0x3e, 0x2a, 0x3e,
-+ 0x2a, 0x3e, 0x08, 0x7f, 0x09, 0x0a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x14, 0x7f, 0x1a, 0x29, 0x5f, 0x04,
-+ 0x07, 0x07, 0x07, 0x07, 0x15, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0xfc, 0x90, 0x60, 0x9c, 0xe0, 0x20,
-+ 0xe0, 0xe0, 0xfc, 0xf8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x0c, 0x24, 0x2a, 0x49, 0x14, 0x3e, 0x00, 0x7e,
-+ 0x36, 0x5a, 0x36, 0x5b, 0x13, 0x36, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x06, 0x3c, 0x2a, 0x49, 0x14, 0x3c, 0x08, 0x14,
-+ 0x3e, 0x08, 0x7e, 0x0d, 0x13, 0x62, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x1c, 0x14, 0x22, 0x3d, 0x40, 0x1c, 0x14, 0x22,
-+ 0x7f, 0x2e, 0x2e, 0x2f, 0x71, 0x02, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x3e, 0x22, 0x2e, 0x2a, 0x7f, 0x41, 0x3e,
-+ 0x22, 0x3e, 0x22, 0x3f, 0x23, 0x26, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x00, 0x7e, 0x12, 0x12, 0x7e, 0x48, 0x7e, 0x5a,
-+ 0x36, 0x5a, 0x36, 0x5b, 0x13, 0x6e, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x6b, 0x08, 0x6f, 0x14, 0x12, 0x3f, 0x52,
-+ 0x1e, 0x12, 0x1e, 0x13, 0x13, 0x16, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x13, 0x1c, 0x11, 0x0f, 0x2e, 0x2a, 0x2e, 0x2e,
-+ 0x2a, 0x2e, 0x3f, 0x2d, 0x13, 0x62, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x7f, 0x08, 0x3e, 0x22, 0x3e, 0x3e, 0x22,
-+ 0x3e, 0x00, 0x7f, 0x0d, 0x13, 0x62, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x10, 0x1e, 0x1a, 0x24, 0x54, 0x18, 0x7e, 0x28,
-+ 0x7f, 0x2a, 0x2a, 0x3f, 0x21, 0x22, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7f, 0x14, 0x7f, 0x3e, 0x09, 0x0f,
-+ 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x22, 0x00, 0x00,
-+ 0x40, 0x40, 0xf0, 0x50, 0xd4, 0xb4, 0x0c, 0xe0,
-+ 0xe0, 0xe0, 0xfc, 0xf8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x2a, 0x2a, 0x3f, 0x2a, 0x2e,
-+ 0x2a, 0x20, 0x3e, 0x57, 0x57, 0x21, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xec, 0xc4, 0x18, 0x00, 0x00,
-+ 0x00, 0x3f, 0x0a, 0x04, 0x7f, 0x1d, 0x64, 0x3f,
-+ 0x2d, 0x37, 0x2f, 0x2b, 0x2f, 0x23, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0xf8, 0x48, 0x78, 0x7c,
-+ 0x40, 0x7c, 0x34, 0xf4, 0xc4, 0x18, 0x00, 0x00,
-+ 0x12, 0x14, 0x3f, 0x68, 0x3e, 0x28, 0x3e, 0x28,
-+ 0x3f, 0x04, 0x3e, 0x2f, 0x29, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x06, 0x3a, 0x2a, 0x1c, 0x7f, 0x1c, 0x2a, 0x7e,
-+ 0x2a, 0x3e, 0x2a, 0x3f, 0x21, 0x22, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x55, 0x32, 0x3f, 0x62, 0x3e,
-+ 0x22, 0x3e, 0x2a, 0x29, 0x49, 0x1a, 0x00, 0x00,
-+ 0x20, 0x40, 0xf8, 0x88, 0xf8, 0x88, 0xf8, 0xfc,
-+ 0x80, 0xfc, 0x54, 0xac, 0x44, 0x18, 0x00, 0x00,
-+ 0x0a, 0x11, 0x1a, 0x19, 0x3f, 0x21, 0x4f, 0x0f,
-+ 0x08, 0x0f, 0x0f, 0x0f, 0x15, 0x22, 0x00, 0x00,
-+ 0xb0, 0x90, 0xb0, 0xb0, 0xfc, 0x08, 0xe0, 0xe0,
-+ 0x20, 0xe0, 0xfc, 0xf8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x00, 0x3b, 0x2a, 0x3b, 0x3b, 0x2a, 0x3b, 0x1b,
-+ 0x24, 0x7f, 0x0a, 0x1e, 0x0d, 0x31, 0x00, 0x00,
-+ 0x10, 0xa0, 0xb8, 0xa8, 0xb8, 0xa8, 0xb8, 0x3c,
-+ 0xa0, 0xbc, 0x34, 0xf4, 0xc4, 0x18, 0x00, 0x00,
-+ 0x14, 0x7f, 0x14, 0x77, 0x55, 0x77, 0x14, 0x3f,
-+ 0x68, 0x3e, 0x3e, 0x28, 0x3f, 0x21, 0x00, 0x00,
-+ 0x10, 0x20, 0x78, 0x48, 0x78, 0x48, 0x78, 0x7c,
-+ 0x40, 0x7c, 0x34, 0xfc, 0xc4, 0x18, 0x00, 0x00,
-+ 0x13, 0x17, 0x6b, 0x1b, 0x7f, 0x3a, 0x57, 0x1f,
-+ 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x22, 0x00, 0x00,
-+ 0x90, 0xd4, 0xe8, 0x98, 0xfc, 0xb8, 0xd4, 0xf0,
-+ 0xe0, 0xe0, 0xfc, 0xf8, 0x48, 0xb0, 0x00, 0x00,
-+ 0x01, 0x01, 0x01, 0x3f, 0x22, 0x21, 0x2c, 0x23,
-+ 0x38, 0x25, 0x23, 0x24, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x00, 0xf8, 0x48, 0x48, 0x68, 0x98,
-+ 0x98, 0x48, 0x28, 0x88, 0xf8, 0x08, 0x00, 0x00,
-+ 0x10, 0x10, 0x1e, 0x11, 0x7f, 0x57, 0x4f, 0x7b,
-+ 0x6f, 0x57, 0x73, 0x4b, 0x7e, 0x42, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0xfc, 0x20, 0xe8, 0x28, 0xe8,
-+ 0xb0, 0xf0, 0xb4, 0x2c, 0x4c, 0x04, 0x00, 0x00,
-+ 0x01, 0x3d, 0x2a, 0x3f, 0x26, 0x3f, 0x2b, 0x3f,
-+ 0x22, 0x1f, 0x12, 0x12, 0x7f, 0x00, 0x00, 0x00,
-+ 0x00, 0xfc, 0x7c, 0xf8, 0xd8, 0x78, 0xa8, 0xf8,
-+ 0x08, 0xf0, 0x90, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x01, 0x03, 0x0c, 0x71, 0x1f, 0x12, 0x1f, 0x12,
-+ 0x1f, 0x14, 0x17, 0x24, 0x27, 0x58, 0x00, 0x00,
-+ 0x00, 0xe0, 0x40, 0x80, 0xfc, 0x40, 0xf8, 0x48,
-+ 0xf8, 0x4c, 0xf0, 0x40, 0x44, 0x3c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x17, 0x17,
-+ 0x1c, 0x2f, 0x27, 0x40, 0x1f, 0x00, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x70, 0x44,
-+ 0xbc, 0xf8, 0xf0, 0x80, 0xfc, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x1f, 0x27, 0x47,
-+ 0x19, 0x09, 0x7f, 0x07, 0x79, 0x01, 0x00, 0x00,
-+ 0x80, 0xfc, 0x40, 0xf8, 0x48, 0xf8, 0x70, 0x44,
-+ 0x3c, 0x20, 0xfc, 0xc0, 0x3c, 0x00, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x12, 0x1f, 0x27, 0x5e, 0x07,
-+ 0x14, 0x17, 0x1f, 0x7f, 0x06, 0x78, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x48, 0xf8, 0x74, 0x3c, 0xe0,
-+ 0x20, 0xe0, 0xf0, 0xfc, 0x60, 0x1c, 0x00, 0x00,
-+ 0x04, 0x04, 0x3f, 0x2a, 0x3f, 0x2b, 0x2b, 0x3f,
-+ 0x34, 0x3d, 0x36, 0x54, 0x5d, 0x33, 0x00, 0x00,
-+ 0x48, 0x48, 0x48, 0xfc, 0x48, 0x78, 0x48, 0x78,
-+ 0x48, 0xfc, 0x50, 0x48, 0x84, 0x04, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x12, 0x1f, 0x23, 0x4e, 0x1f,
-+ 0x17, 0x1f, 0x13, 0x1d, 0x1f, 0x10, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x48, 0xf8, 0xe4, 0x3c, 0xf0,
-+ 0xd0, 0xf0, 0x90, 0x50, 0xf0, 0x10, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x12, 0x1f, 0x2f, 0x4e, 0x32,
-+ 0x1c, 0x1e, 0x10, 0x1f, 0x0c, 0x70, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x48, 0xf8, 0x70, 0x44, 0x3c,
-+ 0xf0, 0xf0, 0x10, 0xf0, 0x84, 0x7c, 0x00, 0x00,
-+ 0x00, 0x1f, 0x1f, 0x12, 0x1f, 0x27, 0x4e, 0x1e,
-+ 0x13, 0x1e, 0x1e, 0x7e, 0x1a, 0x66, 0x00, 0x00,
-+ 0x80, 0xfc, 0xf8, 0x48, 0xf8, 0x74, 0x3c, 0x10,
-+ 0xfc, 0x90, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x01, 0x01, 0x7f, 0x09, 0x19, 0x27, 0x05, 0x19,
-+ 0x63, 0x0e, 0x31, 0x01, 0x06, 0x38, 0x00, 0x00,
-+ 0x00, 0x00, 0xfc, 0x20, 0x30, 0xc8, 0x40, 0x30,
-+ 0xec, 0x20, 0x40, 0xc0, 0x20, 0x00, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x2a, 0x2a, 0x5d, 0x1a, 0x29,
-+ 0x4e, 0x12, 0x2c, 0x45, 0x1b, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x50, 0x50, 0x88, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x08, 0x7f, 0x10,
-+ 0x1e, 0x32, 0x4c, 0x05, 0x1b, 0x60, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0xfc, 0x20,
-+ 0x50, 0x50, 0x88, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x08, 0x09, 0x7f, 0x2a, 0x2a, 0x5d, 0x1c, 0x2a,
-+ 0x4e, 0x12, 0x2c, 0x44, 0x1a, 0x60, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0xa0, 0xb8, 0xa8, 0xa8, 0xa8,
-+ 0xf8, 0x88, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x2a, 0x2a, 0x5d, 0x1c, 0x2a,
-+ 0x4e, 0x12, 0x2c, 0x44, 0x1b, 0x60, 0x00, 0x00,
-+ 0x40, 0x40, 0x78, 0x88, 0xe8, 0xa8, 0xa8, 0xe8,
-+ 0xb0, 0x80, 0x84, 0x7c, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x17, 0x17, 0x1a, 0x11,
-+ 0x1f, 0x1f, 0x21, 0x3f, 0x42, 0x0c, 0x00, 0x00,
-+ 0x80, 0xfc, 0x10, 0xfc, 0x38, 0xbc, 0xd4, 0x40,
-+ 0x7c, 0x78, 0xc0, 0x7c, 0x40, 0x40, 0x00, 0x00,
-+ 0x0a, 0x11, 0x1a, 0x19, 0x3f, 0x24, 0x5f, 0x07,
-+ 0x7f, 0x0f, 0x0f, 0x09, 0x0f, 0x38, 0x00, 0x00,
-+ 0xb0, 0x90, 0xb0, 0xb0, 0xfc, 0x48, 0xf0, 0xc0,
-+ 0xfc, 0xe0, 0xe0, 0x20, 0xe0, 0x38, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x7f, 0x1c, 0x2a, 0x49, 0x0a,
-+ 0x0d, 0x79, 0x05, 0x07, 0x39, 0x03, 0x00, 0x00,
-+ 0x40, 0x40, 0xf8, 0x28, 0x48, 0x88, 0x30, 0x80,
-+ 0x60, 0x3c, 0xc0, 0x60, 0x18, 0x00, 0x00, 0x00,
-+ 0x06, 0x38, 0x08, 0x7f, 0x1c, 0x2a, 0x4d, 0x1c,
-+ 0x6b, 0x2e, 0x1c, 0x6b, 0x08, 0x18, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x20, 0x3c, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x06, 0x38, 0x09, 0x7f, 0x1c, 0x2a, 0x49, 0x1c,
-+ 0x2a, 0x6d, 0x1d, 0x6b, 0x09, 0x19, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x98, 0xe8, 0xb8, 0xc8, 0xf8,
-+ 0x20, 0xfc, 0x54, 0xec, 0x04, 0x0c, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2f, 0x2d, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x1a, 0x2d, 0x2d, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x50, 0x50, 0x88, 0x74, 0x00,
-+ 0xf0, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2f, 0x2d, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x1a, 0x2d, 0x2d, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xa8, 0xa8, 0xa8, 0xf8, 0xa8, 0x20,
-+ 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2f, 0x2d, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x1a, 0x2d, 0x2d, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0x3c, 0x20, 0x20, 0x20, 0xf8,
-+ 0x88, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3e, 0x2a, 0x2e, 0x3b, 0x3f, 0x08, 0x3e,
-+ 0x0c, 0x71, 0x1f, 0x2e, 0x2e, 0x40, 0x00, 0x00,
-+ 0x90, 0x90, 0x90, 0x90, 0x50, 0x7c, 0xd4, 0x94,
-+ 0xd4, 0x54, 0xe4, 0x24, 0x44, 0x98, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2f, 0x2d, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x1a, 0x2d, 0x2d, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0x20, 0x20, 0xf8, 0x00,
-+ 0xf8, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2f, 0x2d, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x1a, 0x2d, 0x2d, 0x40, 0x00, 0x00,
-+ 0x10, 0x10, 0xfc, 0x00, 0x78, 0x48, 0x48, 0x78,
-+ 0x10, 0x58, 0x54, 0x94, 0x10, 0x30, 0x00, 0x00,
-+ 0x09, 0x05, 0x3f, 0x27, 0x47, 0x1f, 0x19, 0x15,
-+ 0x1f, 0x3f, 0x01, 0x7f, 0x24, 0x42, 0x00, 0x00,
-+ 0x20, 0x40, 0xfc, 0xc8, 0xc0, 0xf0, 0x30, 0x50,
-+ 0xf0, 0xf8, 0x00, 0xfc, 0x88, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x35, 0x2f, 0x2d, 0x3f, 0x04, 0x3f,
-+ 0x06, 0x78, 0x1a, 0x2d, 0x2d, 0x40, 0x00, 0x00,
-+ 0x20, 0x20, 0xfc, 0x48, 0x30, 0xfc, 0x00, 0x78,
-+ 0x48, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x12, 0x1a, 0x2f, 0x5f, 0x1f, 0x1b, 0x2e, 0x6f,
-+ 0x2f, 0x22, 0x3f, 0x2f, 0x2b, 0x30, 0x00, 0x00,
-+ 0x20, 0xa0, 0xa0, 0xe0, 0xbc, 0xe8, 0xe8, 0xa8,
-+ 0x98, 0x10, 0xd8, 0xa8, 0xc4, 0x84, 0x00, 0x00,
-+ 0x00, 0x1f, 0x17, 0x17, 0x1f, 0x2f, 0x4f, 0x0f,
-+ 0x0d, 0x0f, 0x1f, 0x7f, 0x24, 0x42, 0x00, 0x00,
-+ 0x00, 0xfc, 0x14, 0x7c, 0x90, 0xb0, 0xc8, 0xe4,
-+ 0x60, 0xe0, 0xf0, 0xfc, 0x88, 0x44, 0x00, 0x00,
-+ 0x00, 0x3f, 0x2a, 0x2e, 0x3b, 0x3f, 0x09, 0x3e,
-+ 0x0c, 0x70, 0x1e, 0x2e, 0x28, 0x43, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0xfc, 0x5c, 0xfc, 0xf8,
-+ 0x88, 0xf8, 0xf8, 0xf8, 0xc8, 0x04, 0x00, 0x00,
-+ 0x02, 0x12, 0x0a, 0x7f, 0x11, 0x11, 0x3f, 0x51,
-+ 0x15, 0x15, 0x15, 0x19, 0x11, 0x11, 0x00, 0x00,
-+ 0x80, 0x90, 0xa0, 0xfc, 0x10, 0x08, 0xf4, 0x14,
-+ 0x50, 0x50, 0x50, 0x50, 0x10, 0x30, 0x00, 0x00,
-+ 0x14, 0x55, 0x36, 0x7f, 0x0a, 0x29, 0x7f, 0x2a,
-+ 0x3e, 0x3e, 0x3e, 0x2b, 0x2a, 0x27, 0x00, 0x00,
-+ 0x30, 0x28, 0x28, 0x20, 0xfc, 0x20, 0x28, 0x28,
-+ 0x68, 0x70, 0x90, 0x30, 0xc8, 0x04, 0x00, 0x00,
-+ 0x14, 0x55, 0x36, 0x7f, 0x0a, 0x29, 0x7f, 0x2a,
-+ 0x3e, 0x3e, 0x3e, 0x2a, 0x2a, 0x26, 0x00, 0x00,
-+ 0x28, 0x24, 0xfc, 0x20, 0xf8, 0xa8, 0xa8, 0xf8,
-+ 0xa8, 0xf8, 0xa8, 0xa8, 0xa8, 0x98, 0x00, 0x00,
-+ 0x00, 0x3f, 0x22, 0x3e, 0x02, 0x3e, 0x22, 0x3e,
-+ 0x22, 0x22, 0x3e, 0x22, 0x02, 0x01, 0x00, 0x00,
-+ 0x00, 0xf8, 0x88, 0xf8, 0x80, 0xf8, 0x88, 0xf8,
-+ 0x88, 0x88, 0xf8, 0x88, 0x04, 0xfc, 0x00, 0x00,
-+ 0x08, 0x3e, 0x7f, 0x08, 0x7f, 0x1e, 0x26, 0x5f,
-+ 0x1e, 0x3e, 0x3e, 0x22, 0x3e, 0x21, 0x00, 0x00,
-+ 0x20, 0x20, 0x7c, 0xc8, 0x30, 0x30, 0xcc, 0xf0,
-+ 0xf0, 0xf8, 0xf8, 0x88, 0xfc, 0xfc, 0x00, 0x00,
-+ 0x2a, 0x49, 0x7f, 0x5d, 0x6b, 0x49, 0x1f, 0x1e,
-+ 0x32, 0x22, 0x3a, 0x3a, 0x22, 0x01, 0x00, 0x00,
-+ 0x40, 0x7c, 0xc8, 0x28, 0x30, 0xcc, 0xf0, 0xf0,
-+ 0xf8, 0x88, 0xf8, 0xf8, 0x84, 0xfc, 0x00, 0x00,
-+ 0x08, 0x08, 0x7f, 0x08, 0x3e, 0x00, 0x3e, 0x22,
-+ 0x3e, 0x24, 0x15, 0x1f, 0x1a, 0x65, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xfc, 0xa8, 0xa0, 0xf8, 0xc8,
-+ 0xd0, 0xb0, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x1e, 0x12, 0x1e, 0x0f, 0x73,
-+ 0x06, 0x19, 0x07, 0x79, 0x00, 0x07, 0x00, 0x00,
-+ 0x20, 0xfc, 0x20, 0xf8, 0x50, 0x70, 0x8c, 0xe0,
-+ 0x40, 0x80, 0xe0, 0x9c, 0xc0, 0x00, 0x00, 0x00,
-+ 0x02, 0x11, 0x09, 0x08, 0x1f, 0x11, 0x11, 0x1f,
-+ 0x11, 0x11, 0x1f, 0x21, 0x21, 0x41, 0x00, 0x00,
-+ 0x10, 0x10, 0x20, 0x40, 0xf0, 0x10, 0x10, 0xf0,
-+ 0x10, 0x10, 0xf4, 0x0c, 0x0c, 0x04, 0x00, 0x00,
-+ 0x08, 0x36, 0x22, 0x36, 0x22, 0x3e, 0x2a, 0x2a,
-+ 0x3e, 0x2a, 0x3d, 0x29, 0x3e, 0x48, 0x00, 0x00,
-+ 0x20, 0x20, 0x20, 0xf8, 0xa8, 0xa8, 0xf8, 0xa8,
-+ 0xa8, 0xf8, 0x88, 0x04, 0xc4, 0x3c, 0x00, 0x00,
-+ 0x08, 0x1e, 0x12, 0x1e, 0x1e, 0x1e, 0x3f, 0x3f,
-+ 0x25, 0x3f, 0x7f, 0x12, 0x12, 0x22, 0x00, 0x00,
-+ 0x00, 0xf8, 0x20, 0x20, 0x20, 0x20, 0xfc, 0x20,
-+ 0x20, 0x20, 0xa0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x7f, 0x02, 0x7d, 0x15, 0x15, 0x2d, 0x48,
-+ 0x0f, 0x08, 0x0f, 0x08, 0x10, 0x20, 0x00, 0x00,
-+ 0x00, 0xfc, 0x88, 0x70, 0x50, 0x50, 0xe8, 0x24,
-+ 0xe0, 0x20, 0xe0, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x01, 0x09, 0x09, 0x09, 0x7f, 0x24, 0x2a, 0x33,
-+ 0x3f, 0x24, 0x2a, 0x33, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0x00, 0xf0, 0x00, 0xfc, 0x48, 0xa8, 0x28,
-+ 0xf8, 0x48, 0xa8, 0x28, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2a, 0x2a, 0x35,
-+ 0x3f, 0x2a, 0x2a, 0x35, 0x3f, 0x20, 0x00, 0x00,
-+ 0x20, 0x20, 0xa0, 0x20, 0xe4, 0xa4, 0xa8, 0xb0,
-+ 0xa0, 0xa0, 0xa0, 0xa4, 0xa4, 0x9c, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x40, 0x40, 0x40, 0x78, 0x88, 0xe8, 0xa8, 0xa8,
-+ 0xe8, 0xa8, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0xc8, 0x78, 0x48, 0x48,
-+ 0x78, 0x48, 0x48, 0x48, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xf8, 0x28, 0x28, 0xa8, 0x48, 0xb0, 0x00,
-+ 0x78, 0x48, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x20, 0x20, 0x50, 0x50, 0x88, 0x74, 0x00, 0xf8,
-+ 0x28, 0x28, 0x30, 0x20, 0x20, 0x20, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0xf8, 0x48, 0x48, 0x78,
-+ 0x64, 0x68, 0x50, 0x50, 0x68, 0x84, 0x00, 0x00,
-+ 0x08, 0x7f, 0x3e, 0x0e, 0x79, 0x09, 0x7f, 0x26,
-+ 0x29, 0x3f, 0x26, 0x29, 0x3f, 0x20, 0x00, 0x00,
-+ 0x00, 0xf8, 0x48, 0x88, 0x30, 0xf0, 0xfc, 0x48,
-+ 0xa8, 0xf8, 0x48, 0xa8, 0xf8, 0x08, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0x20, 0x20, 0xf8, 0x48, 0x48, 0xfc,
-+ 0x00, 0x78, 0x48, 0x48, 0x78, 0x48, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x48, 0xc8, 0x78, 0x10, 0x50,
-+ 0x5c, 0x50, 0x50, 0x70, 0x90, 0x0c, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0x78, 0x48, 0x78, 0xc0, 0x7c, 0x58, 0x54,
-+ 0x7c, 0x50, 0x7c, 0x90, 0xfc, 0x00, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x18, 0xe0, 0x20, 0xf8, 0xa8, 0xa8, 0xf8, 0x20,
-+ 0xfc, 0xd4, 0xfc, 0x84, 0x84, 0x8c, 0x00, 0x00,
-+ 0x04, 0x14, 0x17, 0x14, 0x7f, 0x2b, 0x2b, 0x35,
-+ 0x3f, 0x2b, 0x2b, 0x35, 0x3f, 0x21, 0x00, 0x00,
-+ 0x00, 0xfc, 0xb4, 0xfc, 0x00, 0x78, 0x00, 0xfc,
-+ 0x20, 0x38, 0x48, 0x08, 0x08, 0x30, 0x00, 0x00,
-+ 0x01, 0x02, 0x0f, 0x7f, 0x08, 0x0f, 0x3f, 0x12,
-+ 0x7f, 0x1e, 0x1e, 0x1e, 0x12, 0x16, 0x00, 0x00,
-+ 0x00, 0x80, 0xe0, 0xfc, 0x20, 0xe0, 0xf8, 0xf0,
-+ 0x10, 0xf0, 0xf0, 0xf0, 0xf4, 0x7c, 0x00, 0x00,
-+ 0x02, 0x07, 0x19, 0x7f, 0x12, 0x1e, 0x3a, 0x7e,
-+ 0x3a, 0x3a, 0x7e, 0x0a, 0x3a, 0x01, 0x00, 0x00,
-+ 0x00, 0xc0, 0x00, 0xf0, 0x90, 0xf0, 0x80, 0xf8,
-+ 0xd8, 0xa8, 0xd8, 0xfc, 0x84, 0xfc, 0x00, 0x00,
-+ 0x01, 0x02, 0x04, 0x1f, 0x60, 0x3b, 0x2a, 0x3b,
-+ 0x00, 0x1f, 0x12, 0x1f, 0x12, 0x12, 0x00, 0x00,
-+ 0x00, 0x80, 0x40, 0xf0, 0x0c, 0xb8, 0xa8, 0xb8,
-+ 0x00, 0xf0, 0x90, 0xf0, 0x90, 0xb0, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x01, 0x1f, 0x01, 0x3f, 0x08, 0x3e, 0x08, 0x0f,
-+ 0x70, 0x3f, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00,
-+ 0x00, 0xf0, 0x00, 0xf8, 0x20, 0xf8, 0x20, 0xfc,
-+ 0x00, 0xf8, 0x40, 0x44, 0x44, 0x3c, 0x00, 0x00,
-+ 0x08, 0x08, 0x08, 0x7f, 0x09, 0x19, 0x1d, 0x1b,
-+ 0x2b, 0x29, 0x49, 0x09, 0x08, 0x0b, 0x00, 0x00,
-+ 0x98, 0xe0, 0x84, 0x7c, 0x78, 0x48, 0x78, 0x48,
-+ 0x78, 0x48, 0x78, 0xfc, 0xd8, 0x04, 0x00, 0x00,
-+ 0x20, 0x10, 0x11, 0x46, 0x21, 0x2f, 0x02, 0x77,
-+ 0x12, 0x12, 0x13, 0x1a, 0x26, 0x41, 0x00, 0x00,
-+ 0x40, 0xf8, 0x90, 0x60, 0x80, 0xf8, 0x40, 0xfc,
-+ 0x48, 0x48, 0xf8, 0x08, 0x00, 0xfc, 0x00, 0x00,
-+ 0x00, 0x00, 0x7c, 0x11, 0x16, 0x10, 0x7f, 0x11,
-+ 0x12, 0x17, 0x1e, 0x62, 0x03, 0x02, 0x00, 0x00,
-+ 0x40, 0x78, 0xc8, 0x30, 0xa0, 0xc0, 0x00, 0xf8,
-+ 0x40, 0xfc, 0x48, 0x48, 0xf8, 0x08, 0x00, 0x00
-+};
-diff -Nur linux_c860_org/drivers/video/shepherdLogoMsg.c linux/drivers/video/shepherdLogoMsg.c
---- linux_c860_org/drivers/video/shepherdLogoMsg.c 2003-07-12 18:18:36.000000000 +0900
-+++ linux/drivers/video/shepherdLogoMsg.c 2004-06-10 21:09:11.000000000 +0900
-@@ -2,147 +2,257 @@
- #ifndef __initdata
- #define __initdata
- #endif
--static const int logo_msg_width __initdata = 20;
--static const int logo_msg_height __initdata = 140;
--static const unsigned short logo_msg_data[20*140] __initdata ={
-- 0xffff,0x3186,0x0000,0x0841,0x0841,0x0841,0x0841,0x0841,0x0841,0x0841,0x0861,0x0861,0x0841,0x0841,0x0841,0x0841,0x0841,0x0841,0x0841,0x18e3,
-- 0xffff,0x39e7,0x10a2,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x2104,0x18c3,0x0000,0x0000,0x18c3,0x2104,0x18e3,0x18e3,0x2104,0x18c3,0x0000,0x0861,
-- 0xad37,0x83f3,0x83f3,0x8bf3,0x8bf3,0x8bf3,0x8bf3,0x8bf3,0x8c33,0x7b91,0x0862,0x0862,0x7b90,0x8c33,0x8bf3,0x8bf3,0x8c33,0x7b91,0x1062,0x0841,
-- 0xb558,0xa4b6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4f7,0xa4d6,0x83f3,0x1082,0x1082,0x9454,0xa4d6,0xa4d6,0xa4f7,0xa4d6,0x83f3,0x1082,0x0841,
-- 0xf79e,0xf77e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xe73d,0x8c33,0x1082,0x18c3,0xd6ba,0xf79e,0xf79e,0xf79e,0xe73d,0x8c33,0x1082,0x0841,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xf79e,0x8c34,0x1082,0x0841,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x0841,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x0841,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xe71c,0xffff,0xffff,0xffff,0xf79e,0x9454,0x1082,0x0841,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x8c33,0x1082,0x10a2,0xce59,0xffff,0xffff,0xffff,0xf79e,0x83d2,0x0862,0x0841,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x9454,0x20e4,0x0000,0x3186,0xd69a,0xef7d,0xef7d,0xc639,0x18e4,0x0000,0x2104,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xa4d6,0x7bb1,0x3166,0x18c3,0x2124,0x2124,0x2124,0x2104,0x1062,0x20e4,0xbdf7,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xad37,0x9475,0x9cb5,0xb5b7,0x2965,0x10a2,0x1082,0x20e4,0x7370,0x9475,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73d,0xad37,0xa4d6,0xa4f7,0x9474,0x9454,0x9454,0x8c34,0xad17,0xe71d,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0xef3d,0xad17,0xa4b6,0xa4b6,0xad17,0xef3d,0xf7bf,0xffff,0xffff,
-- 0xffff,0xe71c,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xd69a,0xd69a,0xd69a,0xd69a,0xdefb,0xdefb,0xdefb,0xdefb,
-- 0xffff,0x39e7,0x1082,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x10a2,0x2124,
-- 0xf79e,0x39c7,0x1082,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x10a2,0x2124,
-- 0xb558,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c13,0x9454,0xdefb,
-- 0xb558,0x9cb6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4b6,0xa4f7,0xffff,
-- 0xf79e,0xf77e,0xf79e,0xf79e,0xef7e,0xd6ba,0xce7a,0xd69a,0xd69a,0xce7a,0xd6ba,0xef7e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf77e,0xf79e,0xffff,
-- 0xffff,0xffff,0xffff,0xf79e,0xce79,0x3186,0x10a2,0x2104,0x2104,0x10a2,0x3186,0xce79,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xce79,0x39e7,0x18e3,0x20e4,0x18c3,0x0000,0x0000,0x18c3,0x2104,0x18e3,0x39e7,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xe73c,0x31a6,0x0000,0x18e4,0x83f2,0x83f2,0x1062,0x0862,0x8c12,0xc618,0x2965,0x0000,0x39c7,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xb5b7,0x0841,0x18c3,0x83f2,0xa4d6,0x83f3,0x1082,0x1082,0x9454,0xa4d7,0x8c53,0x2124,0x1082,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf7be,0x2945,0x0841,0x83d1,0xef5e,0xef5d,0x8c33,0x1082,0x18c3,0xce7a,0xad17,0x9c75,0x83f2,0x1082,0x31a6,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xe73d,0x1082,0x1082,0xce7a,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xef5d,0xad17,0x8c34,0x18e3,0x10a2,0xdedb,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x1082,0x18c3,0xe71c,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xe73d,0x7bb1,0x0861,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x2105,0x1082,0xc638,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xe71c,0xffff,0xc639,0x18c3,0x0841,0xbdb7,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x7bb1,0x1082,0x2965,0xce79,0xf79e,0x8c33,0x1082,0x10a2,0xce59,0xd69a,0x2945,0x0000,0x2125,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xad38,0x9454,0x31a6,0x0000,0x3186,0xdefc,0x9454,0x1082,0x0000,0x18c3,0x18e3,0x0862,0x2104,0xbdb7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xe73d,0x9cb6,0x8412,0x2945,0x3186,0xdedb,0x9474,0x2105,0x18c3,0x1082,0x20e4,0x7370,0x9cd5,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf7be,0xad38,0x9475,0x9cb5,0xdefb,0xf79e,0xa4d6,0x83f3,0x8c33,0x8c33,0x8c33,0xad37,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xef5d,0xad17,0x9cb5,0xdedb,0xd69a,0x9cb5,0xa4d6,0xa4b6,0xad17,0xef3d,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xc638,0x3186,0x10a2,0x10a2,0x3186,0xc618,0xf77e,0xf79e,0xffdf,0xdefb,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xd69a,0x3186,0x0000,0x10a2,0x10a2,0x0000,0x31a6,0xd69a,0xffff,0xe71c,0x31a6,0x2965,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x39c7,0x0000,0x20e4,0x83f2,0x8c33,0x2966,0x0000,0x39c7,0xef5d,0xdedb,0x31a6,0x0861,0x3186,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xef5e,0x18a3,0x0841,0x7bb1,0xa4b6,0x9c75,0x8412,0x1082,0x18e3,0xd6ba,0xad37,0x9c95,0xb576,0x1082,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x1082,0x10a2,0xd69a,0xef5e,0xad37,0x8c13,0x18e4,0x10a2,0xc618,0xad38,0x9cb6,0x9494,0x18e3,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x2104,0x0861,0xc638,0xffff,0xef3d,0x9cb6,0x7b91,0x10a2,0x39c7,0xdefb,0xe71d,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x83f2,0x3186,0x2965,0xce79,0xf7be,0xad17,0x8c34,0x18e3,0x18c3,0xdefb,0xf79e,0x83d2,0x0861,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xad38,0x9cb6,0xad76,0x0861,0x2965,0xce59,0xd69b,0x7bb1,0x1082,0x10a2,0xce59,0xce59,0x20e4,0x0000,0x31a6,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xef5d,0x8c33,0x2125,0x0000,0x0000,0x18c3,0x2104,0x1082,0x0000,0x0000,0x18e3,0x18c3,0x0000,0x18e4,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x3186,0x0000,0x0862,0x18c3,0x10a2,0x1082,0x0861,0x1082,0x18c3,0x1082,0x0841,0x18c3,0x8c33,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xef5e,0x2125,0x18c3,0x7370,0x8c33,0x8c13,0x8c13,0x83d2,0x83d2,0x8c13,0x8c13,0x7bb2,0x9454,0xef3d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xad58,0x83f3,0x9454,0xa4d6,0xa4b6,0xa4b6,0xa4b6,0xa4d6,0xa4d6,0xa4b6,0x9cb6,0xad17,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xad37,0xad17,0xd67a,0xd67a,0xd69a,0xef5d,0xef7e,0xef7e,0xef5e,0xd69a,0xce7a,0xd67a,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0xdedb,0x4208,0x1082,0x39c7,0xe71c,0xffff,0xffff,0xce79,0x39c7,0x18c3,0x18c3,0x39c7,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xbdf7,0x10a2,0x0841,0x39c7,0xe71c,0xffff,0xe71c,0x31a6,0x0000,0x18c3,0x18c3,0x0000,0x3186,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf7be,0x2925,0x0861,0x83f2,0xdefc,0xffdf,0xffff,0xce5a,0x1082,0x0862,0x83d2,0x9453,0x2966,0x0000,0x39c7,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xe73d,0x1082,0x1082,0x9c95,0xf79e,0xffff,0xf79e,0x8c33,0x0862,0x1082,0x8c33,0x9c75,0x8412,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xad38,0x10a3,0x18c3,0xd6bb,0xffff,0xffff,0xdedb,0x2925,0x0000,0x31a6,0xd69a,0xad37,0x83f3,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x10a3,0x18c3,0xe71c,0xffff,0xffff,0xce5a,0x1082,0x0861,0xbdf7,0xffff,0xef3d,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x10a3,0x1082,0xce59,0xffff,0xf7be,0x8c33,0x0861,0x1082,0xd69a,0xffff,0xf79e,0x7bd1,0x0861,0x3166,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x2925,0x0000,0x3186,0xd69a,0xc639,0x20e4,0x0000,0x3186,0xe73c,0xffff,0xc618,0x18c3,0x0841,0xbdb7,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x83d2,0x2945,0x0000,0x18c3,0x18c3,0x0000,0x18e4,0xc618,0xffff,0xe73c,0x2966,0x0000,0x2125,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x9c75,0x8c33,0x3186,0x1082,0x0862,0x18e4,0x8c33,0xf79e,0xffff,0xce7a,0x18e4,0x18c3,0xbdb7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xef5d,0xad17,0x9475,0x8c54,0x8c33,0x83f3,0x9cb5,0xef5d,0xffff,0xf79e,0xad17,0x83f3,0x9c95,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xef5d,0xad37,0xa4b6,0xa4b6,0x9cb5,0xce7a,0xdefb,0xdefb,0xd69a,0x9c95,0xad17,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xf77e,0xdedb,0xbdf7,0x2965,0x10a2,0x2104,0x2104,0x10a2,0x2965,0xbdd7,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xce59,0x31a6,0x10a2,0x18e3,0x18c3,0x0000,0x0000,0x18c3,0x2104,0x10a2,0x31a6,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xe73c,0x39a7,0x0000,0x18e4,0x83f2,0x83f2,0x1062,0x0862,0x8c12,0xbdf8,0x2965,0x0000,0x39c7,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xb596,0x0841,0x18c3,0x83f2,0xa4d6,0x83f3,0x1082,0x1082,0x9454,0xa4d6,0x8c33,0x2125,0x1082,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf7be,0x2125,0x0841,0x83f2,0xef5e,0xef5d,0x8c33,0x1082,0x18c3,0xce7a,0xad17,0x9c75,0x8c12,0x1082,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xe73d,0x1082,0x1082,0xce7a,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xef5d,0xad17,0x8c34,0x18e3,0x10a2,0xdedb,0xffff,0xffff,0xffff,0xffff,
-- 0xad38,0x1082,0x18c3,0xe71c,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xef3d,0x7bb1,0x0861,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x2105,0x1082,0xc638,0xffff,0xf79e,0x8c33,0x1082,0x18c3,0xe71c,0xffff,0xc639,0x18c3,0x0841,0xbdb7,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x7bb1,0x1082,0x2965,0xce79,0xf79e,0x8c33,0x1082,0x10a2,0xce59,0xd69a,0x2945,0x0000,0x2125,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xad38,0x9454,0x31a6,0x0000,0x3186,0xdefc,0x9454,0x1082,0x0000,0x18c3,0x18e3,0x0862,0x2104,0xbdb7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xe73d,0x9cb6,0x8412,0x2945,0x3186,0xdedb,0x9474,0x2105,0x18c3,0x1082,0x20e4,0x7370,0x9cd5,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf7be,0xad38,0x9475,0x9494,0xd6bb,0xf77e,0xa4d6,0x83f3,0x8c33,0x8c33,0x8c33,0xad37,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xef5d,0xad17,0xad17,0xf7be,0xf7bf,0xb558,0xa4d6,0xa4b6,0xad17,0xef3d,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xf79e,0xf79e,0xffff,0xffff,0xf79e,0xf77e,0xf77e,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xdefb,0xffdf,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xef5d,0xce79,0x2945,0x2965,0xe71c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xe71c,0xce59,0x39c7,0x18e3,0x2124,0x10a2,0x39c7,0xe71c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xe71c,0xe71c,0xce59,0x3186,0x10a2,0x18e3,0x18e3,0x1082,0x18e4,0x83f2,0xdefb,0xffdf,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xe71c,0xe73c,0xce59,0x31a6,0x10a2,0x18e3,0x18e3,0x1082,0x20e4,0x83d2,0x9474,0x8c34,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x4208,0x18e3,0x2104,0x0020,0x10a2,0x2125,0x83d2,0x9454,0x8c33,0x9cb6,0xad17,0xef3d,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0x39e7,0x0861,0x0000,0x0862,0x734f,0x8c33,0x8c33,0x9cb5,0xef3d,0xf79e,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x9474,0x83d2,0x20e4,0x1082,0x2125,0x2945,0x10a2,0x2965,0xbdf7,0xe71c,0xdefb,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x9cb6,0x9475,0x8c34,0xc619,0xb596,0x2945,0x10a2,0x2104,0x2965,0x2124,0x18c3,0x31a6,0xc638,0xe73c,0xffdf,0xffff,0xffff,0xffff,0xffff,
-- 0xf7bf,0xef3d,0xad37,0xa4f7,0xad37,0xad17,0x9454,0x9494,0xd69b,0xb5b7,0x18c3,0x0000,0x0000,0x1082,0x39c7,0xe71c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xf79e,0xf79e,0xe71d,0xad17,0x9454,0x9454,0x9cb5,0x7bb1,0x1082,0x0000,0x0000,0x1082,0x39c7,0xe71c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xe73c,0xef5d,0xbdf7,0x2965,0x10a2,0x18e3,0x18a3,0x1082,0x0841,0x18e4,0x8412,0xdedb,0xffdf,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xef5d,0xce59,0x39e7,0x2945,0x39e7,0x2945,0x10a2,0x2945,0x7370,0x83d2,0x7bb2,0x8c13,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x4208,0x0861,0x0000,0x10a2,0x7390,0x8c13,0x8c34,0x9c95,0xa4d6,0xa4b6,0xad17,0xef3d,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf7bf,0x31a7,0x0861,0x1082,0x0020,0x1082,0x2925,0x8c33,0xce7a,0xd6bb,0xef5d,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x8413,0x83d2,0x7bb1,0x2945,0x1082,0x18c3,0x2104,0x18e3,0x31a6,0xce79,0xe73c,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0xa4b6,0xa4d6,0x9c95,0x9454,0x9cb5,0xbdb7,0x2965,0x10a2,0x18e3,0x18e3,0x10a2,0x3186,0xc638,0xe73c,0xffdf,0xffff,0xffff,0xffff,0xffff,
-- 0xf77e,0xf77e,0xe73d,0xad37,0x9cb6,0xa4d6,0xa4f7,0x9454,0x9c95,0xbdb7,0x2965,0x10a2,0x18e3,0x10a2,0x39c7,0xe71c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xf79e,0xf79e,0xef3d,0xad17,0xa4b6,0xa4d7,0xa4d6,0x8c33,0x9c95,0xb5b7,0x2104,0x2945,0xe71c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xffff,0xe71c,0xdefb,0xdedb,0xd6bb,0xf79e,0xef3d,0xad17,0xa4b6,0xa4d7,0xa4b6,0x9474,0xce59,0xffdf,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xce79,0x31a6,0x10a2,0x10a2,0x31a6,0xce79,0xffff,0xf79e,0xef7e,0xce39,0x9454,0xa4f7,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xce79,0x2965,0x0000,0x10a3,0x18c3,0x0000,0x3186,0xce79,0xffff,0xe71c,0x3186,0x2124,0xc5f8,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x39e7,0x0000,0x18e4,0x83d2,0x8c33,0x2945,0x0000,0x39e7,0xef5d,0xdedb,0x3186,0x0841,0x31a6,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xef5e,0x10a3,0x0841,0x7bd1,0xa4d6,0x9c75,0x83f2,0x1082,0x18e3,0xd6bb,0xad17,0x9495,0xad76,0x1082,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x1082,0x10a2,0xd67a,0xef5d,0xad17,0x8c13,0x2105,0x10a2,0xbdf7,0xad37,0x9c96,0x9c95,0x18e3,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x20e4,0x0862,0xce79,0xffff,0xef3d,0x9cb6,0x7bd1,0x10a2,0x3186,0xdedb,0xe71d,0x8c33,0x1082,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xa4f7,0x83d2,0x3186,0x31a6,0xce79,0xf7be,0xad37,0x8c34,0x18e3,0x18c3,0xdefb,0xf79e,0x83d2,0x0861,0x18c3,0xdefb,0xffff,0xffff,0xffff,0xffff,
-- 0xad37,0x9cb6,0xb576,0x0861,0x2965,0xce59,0xd6bb,0x7bb1,0x1082,0x10a2,0xce59,0xce59,0x20e4,0x0000,0x31a6,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xef3d,0x8c33,0x2925,0x0000,0x0000,0x18c3,0x2104,0x1062,0x0000,0x0000,0x18e3,0x18c3,0x0000,0x18e4,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x3186,0x0000,0x1082,0x2104,0x18c3,0x18c3,0x1082,0x10a3,0x18e3,0x18c3,0x0862,0x18e4,0x8c33,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xef5e,0x2125,0x18c3,0x7b91,0x9454,0x9454,0x8c33,0x83f2,0x83f2,0x8c33,0x8c33,0x83d2,0x9494,0xef3d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xad58,0x83f3,0x8c54,0xa4f7,0xa4d6,0xa4d6,0xa4d6,0xa4f7,0xa4f7,0xa4d6,0xa4b6,0xad37,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xad37,0xad17,0xef3d,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf77e,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0xd6bb,0xdedb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xe71c,0xffff,0xffff,0xe71c,0xdedb,0xdefb,
-- 0xffff,0x39e7,0x1082,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x10a2,0x31a6,0xe73c,0xe73c,0x31a6,0x0861,0x2124,
-- 0xf79e,0x39c7,0x1082,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x1082,0x31a6,0xe73c,0xdedb,0x31a6,0x0861,0x2124,
-- 0xb558,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x9474,0xd6bb,0xf79e,0xad37,0x8c13,0x8c53,0xdefb,
-- 0xb558,0x9cb6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4b6,0xad37,0xf7be,0xf7be,0xad37,0x9cb6,0xa4f7,0xffff,
-- 0xf79e,0xf77e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xef7e,0xd69a,0xdefb,0xffdf,0xf79e,0xf77e,0xf79e,0xffff,
-- 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x31a6,0x31a6,0xe73c,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xffff,0xe71c,0xdedb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xe73c,0xbdd7,0x10a2,0x10a2,0xc618,0xe73c,0xdedb,0xe71c,0xffdf,
-- 0xffff,0xce79,0x31a6,0x10a2,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x18e3,0x1082,0x0000,0x0020,0x18c3,0x18e3,0x10a2,0x31a6,0xe71c,
-- 0xffff,0x39c7,0x0000,0x18c3,0x18e3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x18c3,0x1082,0x0000,0x0020,0x18c3,0x18e3,0x1082,0x31a6,0xe71c,
-- 0xef5d,0x10a3,0x0861,0x7bb1,0x9454,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x8c33,0x9454,0x7370,0x0861,0x0861,0x7bb1,0x9454,0x9474,0xd6bb,0xffdf,
-- 0xb558,0x2105,0x20e4,0x9454,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0xa4d6,0x8c13,0x20e4,0x20e4,0x9454,0xa4b6,0xad37,0xf79e,0xffff,
-- 0xa4f7,0x8c33,0xce39,0xf77e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xf79e,0xe73d,0x9cb6,0x8c13,0xce39,0xf77e,0xf77e,0xf79e,0xffff,0xffff,
-- 0xb558,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xad37,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0xd6ba,0xdedb,0xe71c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x39e7,0x0841,0x31a6,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0x39c7,0x0841,0x31a6,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x8c13,0x9474,0xd6bb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x9c96,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0xef7e,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xe71c,0xdedb,0xe71c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x39e7,0x0841,0x31a6,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0x39c7,0x0841,0x31a6,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x8c13,0x9474,0xd6bb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x9c96,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0xef7e,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0xe71c,0xdedb,0xe71c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xffff,0x39e7,0x0841,0x31a6,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xf79e,0x41e8,0x1082,0x39e7,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb558,0x9c96,0xad37,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- 0xb578,0xa4b6,0xb558,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-- };
-+
-+static int logo_msg_width __initdata = 30;
-+static int logo_msg_height __initdata = 250;
-+static unsigned short logo_msg_data[] __initdata ={
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xad55,0x7bef,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0xc638,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x738e,0x0020,0x0000,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0x0020,0x528a,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x18c3,0x738e,0x9cf3,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x52aa,0x2104,0x0000,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0x1082,0x18e3,0xef3d,0xffff,0xffff,0xffff,0xffff,0xe73c,0xbdf7,0xdebb,0xffdf,0xffff,0xffff,0xffdf,0x6b6d,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xdebd,0xad17,0x0000,0x5a8c,0xef3e,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bb1,0xc5da,0xd67c,0xffbf,0xffff,0xef7d,0x0000,0x632c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xb558,0x0000,0x6b4e,0xf7bf,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x62ec,0xce1b,0xc5ba,0xce1b,0xffff,0xf7be,0x0000,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xc5fb,0xce1b,0xffff,0x18e3,0x2124,0xf79e,0xffff,0xffdf,0xf77e,0xef7d,0x2945,0x0000,0x10a2,0xe71c,0xdebd,0xc5ba,0xef1e,0x94b2,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xc5ba,0xdebd,0xffff,0x8c71,0x0000,0x2945,0x8430,0x9493,0x6b0e,0x2125,0x0000,0x94b2,0x0020,0x0841,0x526a,0x4209,0x3166,0x0000,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xc5ba,0xdedd,0xffff,0xffff,0x8430,0x0020,0x0000,0x0000,0x0000,0x0000,0x8410,0xffff,0xb596,0x18e3,0x0000,0x0000,0x0000,0x3186,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xcdfb,0xce1b,0xffff,0xffff,0xffff,0xe71c,0x9cd3,0x630d,0x6b4f,0xa4f6,0xffbf,0xffff,0xffff,0xffff,0xbdd8,0x9474,0xc5f9,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xce1b,0xe6fd,0xef3e,0xe6fd,0xce1b,0xc5ba,0xe71d,0xc5da,0xc5db,0xd67c,0xde9c,0xd63c,0xc5ba,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5da,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xe6dd,0xffff,0xef5e,0xcdfb,0xc5ba,0xc5ba,0xc5ba,0xce3b,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xef1e,0xe6dd,0xe71d,0xf79f,0xffff,0xffff,0xffff,0xffff,0xf79f,0xf77e,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x2124,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x4a69,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xf79f,0xffff,0xffff,0x4a69,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xce1b,0xce1b,0xffff,0x4208,0x632c,0x2945,0x0000,0x630c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x1082,0x0841,0xc618,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xd67c,0x2104,0x5aeb,0xe73c,0x2965,0x0000,0x39c7,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7bf,0xdebd,0xffff,0xffff,0xc618,0x0861,0x0861,0x94b2,0xffdf,0xffff,0xffff,0xd67c,0xc5ba,0x18e3,0x5aeb,0xffff,0xf79e,0x5aeb,0x0000,0x0861,0x8c71,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd67c,0xc5ba,0xe71d,0xffff,0xffff,0xc638,0x18e3,0x0000,0x18c3,0x6b6d,0x9494,0xc5fa,0xce1b,0x18c3,0x526a,0xffff,0xffff,0xffff,0xad55,0x10a2,0x0000,0x2124,0xef7d,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xc5fb,0xc5db,0xf77e,0xffff,0xffff,0xf79e,0x8410,0x18e3,0x0000,0x0000,0x0000,0x0861,0x0000,0x4209,0xd63c,0xffbf,0xffff,0xffff,0xef7d,0x738e,0x39c7,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xc5db,0xc5db,0xe71d,0xffff,0xffff,0xffff,0xffff,0xc618,0x6b0e,0x4209,0x2945,0x0000,0x4a6a,0xc5ba,0xc5db,0xe6fd,0xffff,0xffff,0xffff,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0x9cb5,0x8c13,0xcdfb,0xdebd,0xef5e,0xffdf,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x5aeb,0xef3e,0xc5fb,0xc5ba,0xce1b,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x528a,0xcdfb,0xc5ba,0xc5ba,0xc5ba,0xc5db,0xc5da,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffdf,0xdebd,0xd65c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x5aeb,0xffff,0xf77e,0xe6fd,0xd67c,0xce1b,0xc5ba,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xf7be,0x9492,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf79e,0xef5e,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xffff,0xbdf7,0x2124,0x0000,0x0841,0xef7d,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x528a,0xdefb,0xdefb,0xdefb,0xffdf,0xffff,0xce1b,0xde9c,0xffff,0x2104,0x5aeb,0xffff,0xffff,0x8410,0x0020,0x0020,0x6b4d,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x4a49,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5aeb,0xffdf,0x5acb,0x0000,0x18e3,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0xdefb,0x5aeb,0x4228,0x4228,0x4228,0x4228,0x4228,0x31a7,0x20e4,0x2104,0x2104,0x73ae,0x4a6a,0x0000,0x2946,0xbd79,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xd67c,0xf7bf,0xf7bf,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0xffff,0x6b4e,0x0000,0x3187,0xd65b,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd65c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xde9c,0xffff,0x9473,0x0000,0x2105,0xe73d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7bf,0xde9c,0xd65c,0xd65c,0xd65c,0xd65c,0xd65c,0xd65c,0xce1b,0xce1b,0xce1b,0xdebd,0xd67c,0x3166,0x0861,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xce1a,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xd69a,0xffff,0xffff,0xffff,0xef5e,0xc5ba,0xce3b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x4228,0xad55,0xffdf,0xd65c,0xc5fb,0xffbf,0xffff,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xce59,0x2945,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x6b6d,0x2104,0x0000,0x10a2,0x630c,0xad55,0xf79e,0xffff,0xffff,0x2104,0x5aeb,0xffff,0xffff,0xce79,0x0000,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xdebb,0xdefb,0xdefb,0xdefb,0xdefb,0xb5b6,0x6b6d,0x31a6,0x0000,0x0841,0x39c7,0x6b6d,0x1082,0x528a,0xdefb,0xdefb,0xce59,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0x18c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x9493,0x83d1,0x7bb1,0x7bb1,0x8c32,0x94b3,0xa514,0x8430,0x2945,0x0000,0x18e3,0x9492,0x10a2,0x39c7,0x7bb1,0x94b3,0xa514,0x2945,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xf7bf,0xf7bf,0xf7bf,0xf7bf,0xef5e,0xdebd,0xbdb9,0x7b90,0x3187,0x0000,0x10a2,0x734f,0xce3b,0xf7bf,0x2104,0x5acb,0xc5ba,0xe71d,0xffff,0x7bcf,0x0841,0xf79e,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x62ee,0x0000,0x0000,0x20e4,0x7370,0xbd9a,0xc5ba,0xc5ba,0xc5ba,0x18c3,0x4209,0xc5ba,0xdebd,0xffff,0xbdd7,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xef5e,0xef3e,0xef3e,0x8411,0x18e4,0xef3e,0xb577,0x526a,0x9c94,0xc5ba,0xce1b,0xe71d,0x8c33,0x9494,0xef3e,0xce3a,0xb5b7,0xb558,0xb578,0xdefb,0xdedb,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xef1e,0xd65c,0xc5ba,0x0000,0x738e,0xffff,0xffff,0x31a7,0x39c7,0xffff,0xdefb,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x736e,0x0000,0xc5ba,0xce1b,0xe71d,0x0000,0x7bef,0xffff,0xffff,0x31a7,0x39c7,0xffff,0xdefb,0x0000,0x62ec,0x83f1,0x9cf3,0x39c7,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe71d,0xce1b,0xffff,0x7baf,0x0000,0xf77e,0xffff,0xffff,0x0000,0x73af,0xef5e,0xffff,0x4208,0x4208,0xf7bf,0xd6bb,0x0000,0x9cd3,0xf7bf,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0x0000,0x6b2e,0xd65c,0xffff,0x4208,0x3187,0xc5ba,0xacf7,0x0000,0x7bb1,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0x62cd,0x736e,0x7bef,0x0000,0x3187,0x6b2e,0x7bef,0x2104,0x3187,0xdebc,0xce3a,0x0000,0x83f1,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x3187,0xef3e,0xdefb,0x0000,0x8c32,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0x0000,0x6b2e,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x8c32,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xe6dd,0x736e,0x0000,0xc5ba,0xd65c,0xe6dd,0x0000,0x630d,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x8c32,0xce1b,0xffff,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xc5ba,0x62cd,0x0000,0xc5ba,0xc5ba,0xc5ba,0x0000,0x62cd,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x738f,0xb537,0xdefb,0x528a,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0x0000,0x6b2e,0xd65c,0xffff,0x4208,0x3187,0xef3e,0xdefb,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0x7bef,0x0000,0xc5ba,0xe6dd,0xffff,0xc638,0xbd98,0xd65c,0xffff,0x736e,0x5a8c,0xef3e,0xf79e,0xa514,0x8c32,0x83d1,0xa514,0xa514,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0xe71c,0xc638,0xc5ba,0xe6dd,0xffff,0xffff,0xd65c,0xd65c,0xffff,0xf7bf,0xc5ba,0xe6fd,0xf7bf,0xf7bf,0xd67c,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0xffff,0xffff,0xc5ba,0xe6dd,0xffff,0xffff,0xd65c,0xd65c,0xffff,0xf7bf,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0xffff,0xdefb,0xdedb,0xf77e,0xffbf,0xffff,0xffff,0xdebd,0xdebd,0xffff,0xffff,0xef3e,0xef3e,0xef3e,0xef3e,0xef3e,0xef5e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffbf,0xf77e,0xffff,0x5aeb,0x0000,0x39e7,0x8c71,0xbdf7,0xdefb,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x2965,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7bf,0xf7bf,0xffff,0xffff,0xffff,0xe73c,0xb5b6,0x9492,0x7bef,0x630c,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x528a,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xd65c,0xbdd8,0x9493,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0xad75,0xffff,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe71d,0xce3b,0xc5ba,0x2945,0x1082,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x4209,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x736e,0x0000,0xb577,0xde9c,0xde9c,0xd67c,0x9473,0x18e3,0xbdd9,0xde9c,0xde9c,0xde9c,0x4a4a,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf79f,0xef1e,0xffff,0xc618,0x0000,0x8430,0xffff,0xf7be,0x2965,0x528a,0x0000,0xdefb,0xa514,0x73af,0x7bef,0x2965,0x0861,0x738f,0xad75,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd63c,0xcdfb,0xffff,0xffff,0x18e3,0x39e7,0xffff,0x7bcf,0x0000,0x5aeb,0x0000,0xdefb,0x4a6a,0x0000,0x0000,0x0000,0x0000,0x0000,0x8410,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xf79e,0xffff,0x73ae,0x0000,0xbdb7,0x0020,0x4a69,0xa514,0x0000,0xdefb,0x4a6a,0x10a3,0xdefb,0x4a69,0x10a3,0xce3a,0xd69a,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xe6fd,0xffff,0xdefb,0x0000,0x10a2,0x0000,0xce59,0x9493,0x0000,0xc5f9,0x4a2a,0x18c3,0xe6dd,0x52ab,0x18c3,0xef3e,0xdefb,0x0000,0x39c7,0x5aeb,0xdedb,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xcdfb,0xd65c,0xffff,0xe6dd,0x39c8,0x0000,0x3187,0xf7bf,0x8c32,0x0000,0xacf7,0x4209,0x18c3,0xc5ba,0x528a,0x18c3,0xef3e,0xdefb,0x0000,0x0000,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xf79e,0xc5db,0x630d,0x0000,0x62ed,0xf7bf,0x8c32,0x0000,0xd6bb,0x4a4a,0x18c3,0xf7bf,0x5acb,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5ba,0xcdfb,0xbd9a,0x1082,0x0000,0x1082,0xef7e,0x8c32,0x0000,0xdefb,0x4a6a,0x18c3,0xffff,0x5acb,0x18c3,0xd65c,0xbdb8,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd67c,0xc5ba,0x8411,0x0000,0x6b4d,0x0000,0x8410,0x8c32,0x0000,0xdefb,0x4a6a,0x18c3,0xffff,0x5acb,0x18c3,0xc5ba,0xacf7,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5ba,0x39a7,0x1082,0xe6fd,0x4a2a,0x0861,0x736e,0x0000,0xdefb,0x4a6a,0x0020,0x4228,0x18c3,0x0020,0x39e8,0x94b2,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xc5fb,0xb558,0x0000,0x5acb,0xef3e,0xb559,0x2104,0x0020,0x0000,0xdefb,0x62ed,0x18c3,0x2104,0x0861,0x0000,0x18e4,0x8c71,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0x9452,0x0000,0x9493,0xef3e,0xc5ba,0xce59,0x0841,0x0000,0xdefb,0xde9c,0xce1b,0xffff,0x5acb,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5fb,0x5aeb,0x0000,0xb558,0xe6fd,0xc5ba,0xf7bf,0xa515,0x62ed,0xc5fa,0xcdfb,0xc5db,0xd65c,0x528a,0x18c3,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffdf,0xc5da,0xde9c,0x5aeb,0x2124,0xce1b,0xc5db,0xc5ba,0xf7bf,0xdebd,0xce1b,0xce1b,0xc5db,0xc5da,0xce1b,0x7bcf,0x4209,0xef3e,0xdefb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xef3e,0xffff,0xef7d,0xf79f,0xc5db,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xf7bf,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffdf,0xffff,0xffff,0xffff,0xf77e,0xe6dd,0xffdf,0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xf7bf,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xffff,0xffff,0xffff,0xef5d,0x9cd3,0x7bef,0xa534,0xef7d,0xffff,0xe6fd,0xde9c,0xffff,0xf7bf,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffdf,0xffff,0xffff,0xffff,0xad55,0x0861,0x0000,0x0000,0x0000,0x1082,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x2104,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0841,0x1082,0xa534,0xdefb,0xad75,0x2965,0x0000,0x94b2,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x6b4e,0x0000,0xa535,0xffdf,0xffff,0xffff,0xf79e,0x2965,0x0841,0xdefb,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5db,0x4209,0x0000,0xbd9a,0xc5fb,0xef1e,0xffff,0xffff,0xd69a,0x0000,0x630c,0xe71d,0xce1b,0xffbf,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5db,0xc5fb,0x83f0,0x0000,0x4a6a,0x8c32,0x9474,0xb576,0xc638,0xc638,0x3186,0x0861,0xad56,0x9474,0xbdf8,0x630c,0x0000,0xad55,0xc638,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xef5e,0xf79e,0x4a49,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0xffff,0xffff,0xd6ba,0xad75,0x9cd3,0x7bb1,0x8c32,0xa514,0x8430,0x0000,0x528a,0x7bb1,0x9cf3,0x528a,0x0000,0x8c71,0xa514,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xd67c,0xef5e,0xef3d,0xf77e,0xf77e,0xf77e,0xce3b,0xc5db,0xf77e,0xef5e,0x0000,0x5aac,0xc5ba,0xef3e,0x7baf,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5ba,0x4a2a,0x20e4,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x18c3,0x3187,0xc5ba,0xc5ba,0x62cd,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x41e8,0x0841,0xef3e,0xef3e,0xef3e,0xe6fd,0xc5ba,0xde9c,0xef3e,0x18e4,0x39a7,0xc5ba,0xe6fd,0x738f,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xef5d,0xffff,0xffff,0xffff,0xc5ba,0xdebc,0xffff,0x1082,0x4229,0xc5ba,0xf7bf,0x7bef,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xce1b,0xffff,0x8c71,0x0000,0xb596,0xffff,0xffff,0xffff,0xce1b,0xd65c,0xdefb,0x0000,0x630d,0xc5ba,0xf7bf,0xe71c,0xc638,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5db,0xffff,0xd69a,0x0000,0x5acb,0xffff,0xffff,0xffff,0xce1b,0xd65c,0x8410,0x0000,0xa515,0xc5ba,0xf7bf,0xffff,0x94b2,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffdf,0xffff,0x2965,0x0020,0xc618,0xffff,0xffff,0xc5fb,0xad57,0x0861,0x2124,0xdebc,0xc5ba,0xf7bf,0x8c71,0x0000,0x39e7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xef5e,0xffff,0xce59,0x0020,0x0861,0x73ae,0x9cf3,0x526b,0x0020,0x0861,0xc638,0xffbf,0xf77e,0x7bef,0x0000,0x2124,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79f,0xc5ba,0xde9c,0xffff,0xffff,0xb5b6,0x2104,0x0000,0x0000,0x0000,0x3186,0xd69a,0xffff,0xffff,0xce5a,0x18a3,0x39e7,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xce3b,0xc5da,0xf77e,0xffff,0xffff,0xffff,0xce39,0x9474,0xb578,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xbd98,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xc5da,0xc5db,0xdedd,0xef3e,0xdebc,0xc5db,0xc5db,0xf77e,0xffff,0xffff,0xe6dd,0xc5ba,0xce1b,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5e,0xce1b,0xc5ba,0xc5ba,0xc5ba,0xd63b,0xf79f,0xd6ba,0xffff,0xffdf,0xcdfb,0xd65c,0xffdf,0xef5d,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79f,0xf77e,0xffbf,0xffff,0x9cd3,0x0020,0xad55,0xffff,0xffbf,0xffff,0xffdf,0x39e7,0x4a69,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc618,0x18c3,0x0000,0x8430,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x3186,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x73ae,0x5aeb,0x5aeb,0x5aeb,0x5acb,0x5aeb,0x5aeb,0x4228,0x0000,0x0000,0x4228,0xe71c,0xffff,0xffdf,0x7bef,0x0000,0x1082,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0x7bef,0xef7d,0xffff,0xbdf7,0x2104,0x0000,0x2965,0xd69a,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xcdfb,0xc5ba,0xe6fd,0xffff,0xffff,0xffff,0xad57,0x2925,0x0000,0x1082,0xd69a,0xffff,0xf7be,0x8410,0x0841,0xdedb,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdebd,0xde9c,0xde9c,0xde9c,0xde9c,0xde9c,0xde9c,0xd65c,0xc5ba,0xc5ba,0xd65c,0xffbf,0xffff,0xffff,0xe6dd,0x83d1,0x39a7,0xe6fd,0xffff,0xffff,0xffff,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0x3187,0x7bb1,0xe6dd,0xffdf,0x5aeb,0x2104,0xce1b,0xc5ba,0xa516,0x7bcf,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0x6b0d,0xc5ba,0xc5fb,0x5acb,0x2104,0xffff,0xe6dd,0x7bb1,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa534,0x4228,0xffdf,0x0000,0x7bef,0xef3e,0xd65c,0x5aeb,0x2104,0xffff,0xffff,0x9cf4,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x5aeb,0x0000,0x10a3,0xd6ba,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x2104,0xe6dd,0xffdf,0xa514,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0x39a8,0xc61a,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x18e4,0xc5ba,0xf7bf,0xa514,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xb577,0xa514,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x10a3,0x9474,0xbdf8,0x7bef,0x0000,0xad55,0xc638,0xef7d,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xd67c,0xacf7,0xcdfb,0xf79f,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0x20e4,0x4a4a,0xffbf,0xffff,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xce1b,0xffff,0x5aeb,0x1082,0x7bb1,0x9cf3,0x632c,0x0000,0x8c71,0xa514,0xe73c,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x18e4,0x5aeb,0xffff,0xffff,0xc5ba,0xe6dd,0xffff,0x0000,0x6b4e,0xcdfb,0xf77e,0x5aab,0x18e3,0xc5ba,0xef3e,0x9cb3,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xffff,0x2104,0x4228,0xc638,0xc638,0x9474,0xad56,0xc638,0x0000,0x528b,0x9474,0x9474,0x31a7,0x18c3,0xc5ba,0xc5ba,0x7bb1,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0x4a69,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x18e3,0xc5ba,0xe6fd,0x9493,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xde9c,0xffff,0xf79e,0xa534,0xa514,0xa514,0x7bb1,0x8c52,0xa514,0x0000,0x4209,0x83d1,0xa514,0x39c7,0x18e4,0xc5ba,0xf7bf,0xa514,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xce1b,0xd65c,0xf77e,0xf77e,0xf77e,0xf77e,0xf77e,0xc5ba,0xde9c,0xf77e,0x0000,0x6b2e,0xce1b,0xffff,0x5aeb,0x18e4,0xc5ba,0xf7bf,0xb5b6,0x4228,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd67c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xffff,0xdedb,0xb5b7,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xef3e,0xef3e,0xef3e,0xef3e,0xef3e,0xc5ba,0xd67c,0xef3e,0xef3e,0xd65c,0xce1b,0xffff,0xffff,0xef3e,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc5ba,0xe6dd,0xffff,0xffff,0xde9c,0xce1b,0xffff,0xffff,0xef5e,0xa4d5,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0xad75,0xef5d,0xf79e,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0x0841,0x4a69,0x9cf3,0xe73c,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0x18c3,0x1082,0x0000,0x0000,0x3186,0x5aeb,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0xd6bb,0xef5e,0xffff,0xf79e,0x3186,0x0020,0xce79,0xa4f4,0x41e9,0x0841,0x0000,0x0000,0x0861,0x528a,0x9492,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b6d,0x0000,0xbdb8,0xc5ba,0xc5db,0xd67c,0xce5a,0x0861,0x4208,0xf77e,0xc5ba,0xe6fd,0x94b2,0x0000,0x18e3,0x0000,0x0000,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0861,0xdebc,0xc5ba,0xcdfb,0xc5fb,0xc5ba,0x62ed,0x0000,0xa4f5,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xef5d,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xe6dd,0xffbf,0x2965,0x31a6,0xffff,0xce3b,0xc5da,0xf79e,0xef3e,0xce1a,0x0020,0x4209,0xc5ba,0xc5db,0xa4f5,0x0000,0x9cf4,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xf7bf,0x2104,0x4228,0xffff,0xffbf,0xc5db,0xd65c,0xffff,0xffff,0x4229,0x10a2,0xc5ba,0xcdfb,0x9474,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5db,0xffff,0x2104,0x4228,0xffff,0xffff,0xe6dd,0xc5ba,0xf77e,0xffff,0x738e,0x0000,0xb558,0xef3e,0xc5f8,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce3b,0xce3b,0xffff,0x4208,0x18e3,0xffff,0xffff,0xffdf,0xc5db,0xde9c,0xffff,0x7bef,0x0000,0xacf7,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xd65c,0xffff,0x632c,0x0000,0xef5d,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0x6b4d,0x0000,0xb559,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xd65c,0xffff,0xad55,0x0000,0x9cd3,0xffff,0xffff,0xdebd,0xc5ba,0xffdf,0x2124,0x2104,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0xf7be,0x10a2,0x2104,0xf79e,0xffff,0xe6dd,0xc5ba,0xa4f4,0x0000,0x6b4d,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebc,0xc5ba,0xffdf,0xffff,0x9492,0x0000,0x4228,0xdedb,0xde9c,0x83d1,0x0861,0x10a2,0xdedc,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xe71d,0xffff,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x1082,0xc618,0xf77e,0xc5ba,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xc5fb,0xce1b,0xffff,0xffff,0xffff,0xbdd7,0x630d,0x4209,0x7bd0,0xef5d,0xffff,0xf77e,0xc5ba,0xef3e,0xe71c,0x7bef,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xd65c,0xf7bf,0xffff,0xef3e,0xc5db,0xc5fb,0xffdf,0xffff,0xffff,0xf77e,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5fb,0xf77e,0xffff,0xe71c,0x8430,0xbdd8,0xc5ba,0xef3e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7e,0xdebd,0xde9c,0xe71d,0xffdf,0xffff,0xe73c,0x18c3,0x0000,0x0020,0xb557,0xf79f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b4d,0x0000,0x73ae,0x0020,0x3186,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xc619,0x0020,0x528a,0xffff,0x7bcf,0x0000,0x94b2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xcdfb,0x41e9,0x0000,0xc639,0xffff,0xf7be,0x2104,0x1082,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdebc,0x9474,0x0000,0x39c8,0xce3b,0xffff,0xffff,0xb596,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5ba,0x2104,0x0020,0xc5f9,0xc5ba,0xe71d,0xffff,0xffff,0x52aa,0x0000,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd67c,0x62cd,0x0000,0x6b6d,0xffff,0xce1b,0xc5fb,0xffbf,0xffff,0xe71c,0x1082,0x10a2,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0x9cb5,0x0000,0x18c3,0xef7d,0xffff,0xef5e,0xc5ba,0xd67c,0xffff,0xffff,0x94b2,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc5fa,0x2105,0x0000,0xad55,0xffff,0xffff,0xffff,0xd67c,0xc5ba,0xef3e,0xffff,0xffff,0x39c7,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0x524b,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffbf,0xc5fb,0xc5fb,0xffdf,0xffff,0xdedb,0x0841,0x0861,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79f,0x7bb1,0x0000,0x18c3,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xd67c,0xffff,0xffff,0x9492,0x0000,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce3b,0x5acd,0x0020,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5ba,0xef3e,0xffff,0xffff,0x5aeb,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xdebc,0xc5ba,0xd67c,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5db,0xc5db,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xcdfb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xd65c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe6dd,0xc5da,0xef7e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xde9c,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce79,0x528a,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x73ae,0x0000,0x0000,0x39e7,0xa534,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x5aeb,0x0861,0x0000,0x0861,0x52aa,0xa514,0xe73c,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79e,0xd67c,0xf79f,0xffff,0xffff,0xffff,0xf79e,0xa534,0x52aa,0x0861,0x0000,0x0000,0x2104,0x39c8,0x7bd0,0x8410,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xc5ba,0xd65c,0xef3e,0xffff,0xffff,0xffff,0xffff,0xf7be,0xbdd7,0x7bcf,0x39c7,0x0841,0x0000,0x0000,0x0000,0x0000,0x0000,0x18e3,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xde9c,0xc5db,0xc5ba,0xc5db,0xd67c,0xef3e,0xffdf,0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xbdf8,0x8c51,0x0000,0x4208,0x4a69,0x2945,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd4,0x1082,0x0841,0x528c,0xbd79,0xce1b,0xd67c,0xe6fd,0xe6dd,0xc5ba,0xe6fd,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x0841,0x0020,0x10a2,0x1082,0xd65b,0xd65c,0xc5db,0x9474,0x62cd,0xb559,0xc5ba,0x9474,0x0000,0x94b3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x9cf3,0xffdf,0xbdf7,0xffff,0xffff,0xffff,0x7bf0,0x0000,0x9454,0xd65c,0xa4f5,0x0000,0x94b3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5fb,0x4a29,0x0000,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x0000,0x7bb1,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffbf,0xc5db,0xc5da,0x3187,0x10a3,0xffdf,0xffff,0xffff,0xf77e,0xe6dd,0xffdf,0xce79,0x0000,0x62ed,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xef1e,0x4228,0x2104,0xffff,0xffff,0xffff,0xe6fd,0xc5ba,0xf77e,0xdefb,0x0000,0x62cd,0xef3e,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0x4228,0x18e3,0xffff,0xffff,0xffff,0xef5e,0xc5ba,0xef3e,0xdefb,0x0000,0x62cd,0xef3e,0xe71c,0x7bef,0xd69a,0xf7be,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0x5acb,0x0000,0xffdf,0xffff,0xffff,0xf79e,0xc5ba,0xe6fd,0xc638,0x0000,0x7370,0xef3e,0xffff,0xe71c,0x630c,0x10a2,0x4a69,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xce1b,0xffff,0x738e,0x0000,0xd69a,0xffff,0xffff,0xf7bf,0xc5ba,0xe6dd,0xad55,0x0000,0x8c12,0xef3e,0xffff,0xf79e,0x1082,0x528a,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd65c,0xcdfb,0xffff,0xa534,0x0000,0x94b2,0xffff,0xffff,0xf7bf,0xc5ba,0xe6dd,0x9cf3,0x2104,0xbdd9,0xf79f,0xffff,0xffdf,0xf7be,0xffff,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0xdedb,0x5aeb,0xbdf7,0xffff,0xffff,0xf77e,0xc5ba,0xe71d,0xffff,0xffff,0xffbf,0xde9c,0xc5fb,0xd67c,0xbdf7,0x4a69,0x0020,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xf79f,0xffff,0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xef5e,0xffff,0xffff,0xffff,0xc5fb,0xd67c,0xef5e,0xa534,0x18e3,0x73ae,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xe71d,0xffff,0xffff,0xffff,0xffff,0xffff,0xef1e,0xce1b,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xde9c,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xd67c,0xc5da,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xa534,0x528a,0x4228,0x738e,0xe71c,0xffff,0xffff,0xffff,0xef3e,0xcdfb,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x0861,0x18c3,0x0000,0x18c3,0xdedb,0xffff,0xffff,0xffff,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x632c,0xf7be,0xffff,0xb5b6,0x0841,0x3186,0xffff,0xffff,0xffff,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0x10a2,0x20e4,0xdebc,0xffbf,0xffff,0xffff,0x73ae,0x0000,0xbdd7,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd67c,0x9474,0x0000,0x7370,0xc5ba,0xcdfb,0xf7bf,0xffff,0xd6ba,0x0000,0x6b6d,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0x7bd0,0x0000,0xd69a,0xef5e,0xc5db,0xce3b,0xffff,0xffff,0x1082,0x4a49,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xcdfb,0xce1b,0x6b6d,0x0000,0xf79e,0xffff,0xdedd,0xc5ba,0xef7e,0xffff,0x2104,0x4228,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xe71d,0x5aeb,0x0000,0xffff,0xffff,0xf7bf,0xc5ba,0xdebd,0xffff,0x10a2,0x4a69,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xf79f,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xc5fb,0xd65c,0xe71c,0x0000,0x6b6d,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xffff,0x6b6d,0x0000,0xe73c,0xffff,0xffff,0xce1b,0xd65c,0x9cd3,0x0000,0xb596,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xdedb,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0x9492,0x0000,0xbdf7,0xffff,0xffff,0xc5fb,0xd67c,0x2965,0x1082,0xf7be,0xc5ba,0xde9c,0xd69a,0x0000,0x0841,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xde9c,0xc5ba,0xffff,0xbdf7,0x0000,0x8430,0xffff,0xffbf,0xc5ba,0x8c52,0x0000,0x8410,0xf7be,0x7370,0x2945,0x0000,0x0000,0x18c3,0x6b6d,0xb596,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdebd,0xc5ba,0xffdf,0xf7be,0x4228,0x6b4d,0xffff,0xe71d,0xbd79,0x18c3,0x1082,0x6b6d,0x10a2,0x0000,0x0861,0x632d,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5ba,0xf77e,0xffff,0xffff,0xffff,0xffff,0xce3b,0x5aac,0x0000,0x0000,0x0000,0x2124,0x7370,0xbd9a,0xc5ba,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf77e,0xc5ba,0xe6fd,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0x9cb4,0x0000,0x2945,0x8c33,0xc5ba,0xc5ba,0xcdfb,0xdebd,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xdebc,0xffff,0xffff,0xffff,0xcdfb,0xc5fb,0xdebd,0x9474,0xc5ba,0xc5fb,0xdebc,0xc5ba,0xde9c,0xffff,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedd,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xe71d,0xffff,0xffff,0xc5ba,0xde9c,0xffff,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5e,0xc5ba,0xce3b,0xef5e,0xffff,0xffff,0xffff,0xffff,0xc5ba,0xde9c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc5ba,0xde9c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0xb596,0x9cf3,0x7bef,0x7bef,0x736e,0x73af,0xa514,0xad55,0xc638,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x632c,0x18c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x31a6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x0020,0x0000,0x18e3,0x632c,0xa514,0xc638,0xdefb,0xdefb,0xdefb,0xd69a,0xc638,0x9cf3,0x738e,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0020,0x18c3,0x9cd4,0xe6fd,0xe6dd,0xe6dd,0xe6dd,0xe6dd,0xef3e,0xef3e,0xf77e,0xffbf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7bf,0x8c32,0x0000,0x4a2a,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce3b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5da,0xa4d6,0x0000,0x0000,0x4a49,0xb576,0xef7e,0xf7bf,0xf7bf,0xf79f,0xf77e,0xef1e,0xdebd,0xe6fd,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7bf,0xc5da,0xcdfb,0xef3e,0x94b2,0x1082,0x0000,0x0000,0x2104,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef3e,0xc5ba,0xde9c,0xffff,0xffff,0xef7d,0x94b2,0x4208,0x7bcf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79f,0xc5ba,0xc5ba,0xd67c,0xef7e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71d,0xc5fb,0xc5ba,0xc5ba,0xce1b,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xe71d,0xd65c,0xe6dd,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x8410,0x18e3,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xad55,0x52aa,0x0841,0x0000,0x0841,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xd69a,0xbdd7,0x94b2,0x6b4d,0x39c7,0x0020,0x0000,0x0000,0x2104,0x8c51,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0x0000,0x0000,0x0000,0x0000,0x2945,0x630d,0x9c94,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8410,0x4228,0x630c,0x8430,0xad35,0xc5fa,0xc5db,0xc5ba,0xc5db,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffbf,0xf79f,0xef7e,0xe71d,0xdebc,0xd63c,0xc5da,0xc5ba,0xc5ba,0xce1b,0xe6fd,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd65c,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xc5ba,0xce1b,0xdebd,0xf77e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe6dd,0xd65c,0xde9c,0xe6fd,0xef5e,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0x8c51,0x7bef,0x7bef,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xe6dd,0xe6dd,0x8c71,0x7bef,0x7bef,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71d,0xe6dd,0xe6dd,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce1b,0xc5ba,0xc5ba,0xf7bf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};
-diff -Nur linux_c860_org/drivers/video/shepherdLogoMsgJ.c linux/drivers/video/shepherdLogoMsgJ.c
---- linux_c860_org/drivers/video/shepherdLogoMsgJ.c 2003-06-18 17:49:13.000000000 +0900
-+++ linux/drivers/video/shepherdLogoMsgJ.c 2004-06-10 21:09:11.000000000 +0900
-@@ -3,6 +3,7 @@
- * ChangeLog:
- * 16-04-2003 SHARP
- */
-+/* Logo Screen 16bits RGB(565) data*/
- #ifndef __initdata
- #define __initdata
- #endif
-diff -Nur linux_c860_org/drivers/video/tc6393fb.c linux/drivers/video/tc6393fb.c
---- linux_c860_org/drivers/video/tc6393fb.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/tc6393fb.c 2004-06-10 21:10:10.000000000 +0900
-@@ -0,0 +1,1255 @@
-+/*
-+ * linux/drivers/video/tc6393fb.c
-+ *
-+ * Frame Buffer Device for TOSHIBA tc6393
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Based on:
-+ * linux/drivers/video/w100fb.c
-+ *
-+ * Frame Buffer Device for ATI w100 (Wallaby)
-+ *
-+ * Copyright (C) 2002, ATI Corp.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * Based on:
-+ * drivers/video/skeletonfb.c
-+ *
-+ * ChangeLog:
-+ * 28-02-2003 SHARP supported VRAM image cache for ver.1.3
-+ * 19-03-2003 SHARP disabled VRAM image cache for ver.1.3
-+ */
-+
-+// define this here because unistd.h needs it
-+extern int errno;
-+
-+#include <asm/io.h>
-+#include <asm/hardware.h>
-+#include <asm/ucb1200.h>
-+#include <asm/uaccess.h>
-+// unistd.h is included for the configuration ioctl stuff
-+#define __KERNEL_SYSCALLS__ 1
-+#include <asm/unistd.h>
-+#undef __KERNEL_SYSCALLS__
-+#include <linux/ioport.h>
-+#include <linux/delay.h>
-+#include <linux/errno.h>
-+#include <linux/fb.h>
-+#include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/slab.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/sched.h>
-+#include <linux/string.h>
-+#include <linux/tty.h>
-+#include <linux/fs.h>
-+#include <linux/file.h>
-+#include <video/fbcon-cfb8.h>
-+#include <video/fbcon-cfb16.h>
-+#include <video/fbcon-mfb.h>
-+#include <video/fbcon.h>
-+
-+#include "tc6393fb.h"
-+#include <linux/pm.h>
-+#include <asm/arch/i2sc.h>
-+#include <asm/arch/tosa.h>
-+
-+#include <video/tosa_backlight.h>
-+
-+#ifdef CONFIG_PM
-+#include <asm/arch/sharpsl_param.h>
-+static struct pm_dev *tc6393_pm_dev;
-+static int tc6393_pm_callback(struct pm_dev* pm_dev,pm_request_t req, void* data);
-+#endif //CONFIG_PM
-+
-+static void tc6393_pm_suspend(int suspend_mode);
-+static void tc6393_pm_resume(void);
-+static void tc6393_clear_screen(u32 mode);
-+
-+// Some hardware related constants
-+// The name the kernel will know us by
-+#define TC6393_NAME "TC6393FB"
-+
-+
-+#define KH_CMDREG_NUM 6
-+
-+#define PIXEL_PER_LINE_QVGA 240
-+#define HORIZONTAL_LINE_QVGA 320
-+#define PIXEL_PER_LINE_VGA 480
-+#define HORIZONTAL_LINE_VGA 640
-+
-+typedef struct FrameBuffer_QVGA {
-+ unsigned short pixel[HORIZONTAL_LINE_QVGA][PIXEL_PER_LINE_QVGA];
-+} FrameBuffer_QVGA;
-+
-+typedef struct FrameBuffer_VGA {
-+ unsigned short pixel[HORIZONTAL_LINE_VGA][PIXEL_PER_LINE_VGA];
-+} FrameBuffer_VGA;
-+
-+static TC6393_REGS kh_cmd[] =
-+{
-+ { KH_BASEADDR_H, 0x0000}, // base address high
-+ { KH_BASEADDR_L, TC6393_GC_INTERNAL_REG_BASE}, // base address low
-+ { KH_COMMAND_REG, 0x0002}, // base address enable
-+ { KH_VRAMTC, 0x40a8}, // VRAMRC, VRAMTC
-+ { KH_VRAMAC, 0x0018}, // VRAMSTS, VRAMAC
-+ { KH_VRAMBC, 0x0002},
-+};
-+
-+#define TC6393_lcdinner (TC6393_SYS_BASE+TC6393_GC_INTERNAL_REG_BASE)
-+
-+#define FB_OFFSET 0x00100000
-+#define TC6393_LCD_INNER_ADDRESS TC6393_lcdinner
-+#define TC6393_FB_BASE TC6393_RAM1_BASE
-+#define REMAPPED_FB_LEN 0x100000
-+
-+#define REMAPPED_LCD_BASE_LEN 0x200
-+#define REMAPPED_CFG_LEN 0x100
-+#define REMAPPED_MMR_LEN 0x200
-+#define TC6393_PHYS_ADR_LEN 0x2000000
-+#define MAX_XRES_QVGA 240
-+#define MAX_YRES_QVGA 320
-+#define MAX_XRES_VGA 480
-+#define MAX_YRES_VGA 640
-+#define BITS_PER_PIXEL 16
-+
-+#define TC6393_SMEM_START (TOSA_LCDC_PHYS+FB_OFFSET)
-+#define TC6393_MMIO_START (TOSA_LCDC_PHYS+0x500)
-+
-+#define COMADJ_DEFAULT 97
-+
-+// Pseudo palette size
-+#define MAX_PALETTES 16
-+
-+#define USE_ACCELERATOR
-+#ifdef USE_ACCELERATOR
-+// for Accelerator
-+#define FIFO_ADDR (((int)remapped_fbuf)+(1024*1024)-(4*512))
-+static void tc6393_acc_init(void);
-+static void tc6393_acc_write( u32* cmd, int cmdnum );
-+static void tc6393_acc_sync(void);
-+#endif
-+
-+// ioctls
-+#define TC6393FB_POWERDOWN 0x54433601 /* TC6\01 */
-+#ifdef USE_ACCELERATOR
-+#define TC6393FB_ACC_CMD_WRITE 0x54433602 /* TC6\02 */
-+#define TC6393FB_ACC_SYNC 0x54433603 /* TC6\03 */
-+#define TC6393FB_ACC_CMD_MAX_LEN 10
-+#endif
-+
-+// General frame buffer data structures
-+struct tc6393fb_info {
-+ struct fb_info_gen gen;
-+ union {
-+#ifdef FBCON_HAS_CFB16
-+ u16 cfb16[ MAX_PALETTES];
-+#endif
-+#ifdef FBCON_HAS_CFB24
-+ u32 cfb24[ MAX_PALETTES];
-+#endif
-+#ifdef FBCON_HAS_CFB32
-+ u32 cfb32[ MAX_PALETTES];
-+#endif
-+ } fbcon_cmap;
-+};
-+
-+struct tc6393fb_par {
-+ u32 xres;
-+ u32 yres;
-+ u32 xres_virtual;
-+ u32 yres_virtual;
-+ u32 bits_per_pixel;
-+ u32 visual;
-+ u32 palette_size;
-+};
-+
-+static struct tc6393fb_info fb_info;
-+static struct tc6393fb_par current_par;
-+static int current_par_valid = 0;
-+static struct display disp;
-+
-+static void *remapped_lcdbase;
-+static void *remapped_regs;
-+static void *remapped_inner;
-+static void *remapped_fbuf;
-+
-+static FrameBuffer_QVGA *fb_QVGA;
-+static FrameBuffer_VGA *fb_VGA;
-+
-+static void *remapped_scoop2_1;
-+static void *remapped_scoop2_2;
-+
-+#define LCD_MODE_QVGA 0
-+#define LCD_MODE_VGA 1
-+
-+// referenced by tosa_fb
-+int tc6393fb_lcdMode = LCD_MODE_VGA;
-+int tc6393fb_isblank = 0;
-+
-+static int tg_ssp_reg0;
-+
-+#if defined(CONFIG_ARCH_SHARP_SL)
-+// checking in mm/omm_kill.c
-+int disable_signal_to_mm = 0;
-+#endif
-+
-+int tc6393fb_init(void);
-+static void tc6393fb_setlcdmode(int);
-+static void tc6393fb_initssp(void);
-+static void tc6393fb_lcdhwsetup(int);
-+static void tc6393_soft_reset(void);
-+
-+static int tc6393_encode_var(struct fb_var_screeninfo *var,
-+ const void *raw_par,
-+ struct fb_info_gen *info);
-+static int tc6393fb_ioctl(struct inode *inode,
-+ struct file *file,
-+ u_int cmd,
-+ u_long arg,
-+ int con,
-+ struct fb_info *info);
-+
-+void pxa_nssp_init(void);
-+
-+int isspace(int x);
-+int config_open(const char *config_filename);
-+int config_close(int config_fd);
-+int config_get_dword(int config_fd,
-+ const char *section,
-+ const char *id,
-+ u32 *val,
-+ u32 defval);
-+long my_strtol(const char *string, char **endPtr, int base);
-+
-+extern void pxa_nssp_output(unsigned char, unsigned char);
-+
-+#define LINE_WAIT 20
-+#define PLCLN_MASK 0x03FF
-+static int wait_vsync(void)
-+{
-+ int ct=0;
-+ volatile u16 val1,val2;
-+
-+ u16 line = (tc6393fb_lcdMode==LCD_MODE_VGA)?HORIZONTAL_LINE_VGA:HORIZONTAL_LINE_QVGA;
-+ do {
-+ val1 = readw(remapped_inner + PLCLN)&PLCLN_MASK;
-+ while(val1!=(val2=(readw(remapped_inner + PLCLN)&PLCLN_MASK))) {
-+ val1 = val2;
-+ }
-+ if (val1==line) break;
-+ if (++ct>1000*1000/LINE_WAIT) break;
-+ udelay(LINE_WAIT);
-+ } while(1);
-+ if (val1!=line) {
-+ printk("unable to wait vsync\n");
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+// save & restore image
-+//#define STATIC_IMAGE_BUF
-+#ifdef STATIC_IMAGE_BUF
-+static u32 ImageBuf[MAX_XRES_VGA*MAX_YRES_VGA/2];
-+static void save_image(void)
-+{
-+ int i,size = current_par.xres*current_par.yres/2;
-+ u32 *src = (u32*)remapped_fbuf;
-+ u32 *dst = ImageBuf;
-+
-+ for (i=0; i<size; i++) {
-+ *dst++ = *src++;
-+ }
-+}
-+static void load_image(void)
-+{
-+ int i,size = current_par.xres*current_par.yres/2;
-+ u32 *src = ImageBuf;
-+ u32 *dst = (u32*)remapped_fbuf;
-+
-+ for (i=0; i<size; i++) {
-+ *dst++ = *src++;
-+ }
-+}
-+#else
-+#define SAVE_LINES 20
-+static u16 *gSaveImagePtr[HORIZONTAL_LINE_VGA/SAVE_LINES] = {NULL};
-+void clear_imagebuf()
-+{
-+ if(gSaveImagePtr[0] != NULL){
-+ int i;
-+ for (i = 0; i < HORIZONTAL_LINE_VGA/SAVE_LINES; i++) {
-+ if (gSaveImagePtr[i] != NULL) {
-+ kfree(gSaveImagePtr[i]);
-+ gSaveImagePtr[i]=NULL;
-+ }
-+ }
-+ }
-+}
-+#endif
-+
-+
-+
-+/* ------------------- chipset specific functions -------------------------- */
-+//
-+// static void tc6393_hw_init(void)
-+//
-+static void tc6393_hw_init(void)
-+{
-+ remapped_regs = (void *)TC6393_SYS_BASE;
-+ remapped_lcdbase = (void *)TC6393_GC_BASE;
-+ remapped_inner = (void *)TC6393_LCD_INNER_ADDRESS;
-+ remapped_scoop2_1 = (void *)CF_BUF_CTRL_BASE;
-+ remapped_scoop2_2 = (void *)CF2_BUF_CTRL_BASE;
-+ remapped_fbuf = (void *)TC6393_FB_BASE;
-+ tc6393_soft_reset();
-+#ifdef USE_ACCELERATOR
-+ tc6393_acc_init();
-+#endif
-+
-+}
-+
-+
-+//
-+// Fill the fix structure based on values in the par
-+//
-+static int tc6393_encode_fix(struct fb_fix_screeninfo *fix,
-+ const void *raw_par,
-+ struct fb_info_gen *info)
-+{
-+ const struct tc6393fb_par *par = raw_par;
-+
-+ if (!par)
-+ BUG();
-+
-+ memset(fix, 0, sizeof *fix);
-+
-+ strcpy(fix->id, TC6393_NAME);
-+
-+ fix->type= FB_TYPE_PACKED_PIXELS;
-+ fix->type_aux = 0;
-+
-+ if (par->bits_per_pixel == 1)
-+ {
-+ fix->visual = FB_VISUAL_MONO10;
-+ }
-+ else if (par->bits_per_pixel <= 8)
-+ {
-+ fix->visual = FB_VISUAL_PSEUDOCOLOR;
-+ }
-+ else
-+ {
-+ fix->visual = FB_VISUAL_TRUECOLOR;
-+ }
-+
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ fix->ypanstep = fix->xpanstep = fix->xwrapstep = 0;
-+#else
-+ fix->xpanstep = fix->ypanstep = fix->ywrapstep = 0;
-+#endif
-+ fix->smem_start = TC6393_SMEM_START;
-+
-+ if(tc6393fb_lcdMode == LCD_MODE_VGA ){
-+ fix->line_length = (480 * BITS_PER_PIXEL) / 8;
-+ fix->smem_len = (480 * 640 * BITS_PER_PIXEL) / 8;
-+ } else { // QVGA
-+ fix->line_length = (240 * BITS_PER_PIXEL) / 8;
-+ fix->smem_len = (240 * 320 * BITS_PER_PIXEL) / 8;
-+ }
-+ fix->mmio_start = TC6393_MMIO_START;
-+ fix->mmio_len = REMAPPED_CFG_LEN + REMAPPED_MMR_LEN; // LCD-COMMON+LCD-MMR
-+
-+ fix->accel = FB_ACCEL_NONE;
-+
-+ return 0;
-+}
-+
-+//
-+// Get video parameters out of the par
-+//
-+static int tc6393_decode_var(const struct fb_var_screeninfo *var,
-+ void *raw_par,
-+ struct fb_info_gen *info)
-+{
-+ struct tc6393fb_par *par = raw_par;
-+
-+ *par = current_par;
-+
-+ if (!par)
-+ BUG();
-+
-+ if((par->xres == 480 && par->yres == 640)||
-+ (par->xres == 240 && par->yres == 320)){
-+ par->xres = var->xres;
-+ par->yres = var->yres;
-+ }else{
-+
-+ if(tc6393fb_lcdMode == LCD_MODE_VGA ){
-+ par->xres = MAX_XRES_VGA;
-+ par->yres = MAX_YRES_VGA;
-+ }else{ // QVGA
-+ par->xres = MAX_XRES_QVGA;
-+ par->yres = MAX_YRES_QVGA;
-+ }
-+ }
-+
-+ par->xres_virtual =
-+ var->xres_virtual < par->xres ? par->xres : var->xres_virtual;
-+ par->yres_virtual =
-+ var->yres_virtual < par->yres ? par->yres : var->yres_virtual;
-+
-+ par->bits_per_pixel = var->bits_per_pixel;
-+
-+ par->visual = FB_VISUAL_TRUECOLOR;
-+ par->palette_size = 0;
-+
-+ return 0;
-+}
-+
-+//
-+// Fill the var structure with values in the par
-+//
-+static int tc6393_encode_var(struct fb_var_screeninfo *var,
-+ const void *raw_par,
-+ struct fb_info_gen *info)
-+{
-+ struct tc6393fb_par *par = (struct tc6393fb_par *)raw_par;
-+
-+ // set up var for 565
-+ var->bits_per_pixel = BITS_PER_PIXEL;
-+ var->red.offset = 11;
-+ var->red.length = 5;
-+ var->green.offset = 5;
-+ var->green.length = 6;
-+ var->blue.offset = 0;
-+ var->blue.length = 5;
-+ var->transp.offset = 0;
-+ var->transp.length = 0;
-+
-+ var->red.msb_right = 0;
-+ var->green.msb_right = 0;
-+ var->blue.msb_right = 0;
-+ var->transp.msb_right = 0;
-+
-+ var->nonstd = 0;
-+
-+ var->grayscale = 0;
-+
-+ // set up screen coordinates
-+ if((par->xres == 480 && par->yres == 640)||
-+ (par->xres == 240 && par->yres == 320)){
-+ var->xres = par->xres;
-+ var->yres = par->yres;
-+ }else{
-+ if(tc6393fb_lcdMode == LCD_MODE_VGA ){
-+ var->xres = MAX_XRES_VGA;
-+ var->yres = MAX_YRES_VGA;
-+ }else{ // QVGA
-+ var->xres = MAX_XRES_QVGA;
-+ var->yres = MAX_YRES_QVGA;
-+ }
-+ }
-+
-+ var->xres_virtual = var->xres;
-+ var->yres_virtual = var->yres;
-+ var->xoffset = var->yoffset = 0;
-+
-+ var->activate = FB_ACTIVATE_NOW;
-+
-+ var->height = -1;
-+ var->width = -1;
-+ var->vmode = FB_VMODE_NONINTERLACED;
-+
-+ var->sync = 0;
-+ var->pixclock = 0x04;
-+
-+ return 0;
-+}
-+
-+//
-+// Fill the par structure with relevant hardware values
-+//
-+static void tc6393_get_par(void *raw_par, struct fb_info_gen *info)
-+{
-+ struct tc6393fb_par *par = raw_par;
-+
-+ if (current_par_valid)
-+ *par = current_par;
-+}
-+
-+//
-+// Set the hardware according to the values in the par
-+//
-+static void tc6393_set_par(const void *raw_par, struct fb_info_gen *info)
-+{
-+ const struct tc6393fb_par *par = raw_par;
-+
-+ current_par = *par;
-+ current_par_valid = 1;
-+}
-+
-+//
-+// Split a color register into RGBT components. N/A on TC6393
-+//
-+static int tc6393_getcolreg(unsigned regno, unsigned *red, unsigned *green,
-+ unsigned *blue, unsigned *transp,
-+ struct fb_info *info)
-+{
-+ struct tc6393fb_info *linfo = (struct tc6393fb_info *)info;
-+
-+ if (regno >= 16) return 1;
-+
-+ *transp = 0;
-+ *red = ((linfo->fbcon_cmap.cfb16[regno] >> 11) & 31) << 11;
-+ *green = ((linfo->fbcon_cmap.cfb16[regno] >> 5 ) & 63) << 10;
-+ *blue = ((linfo->fbcon_cmap.cfb16[regno]) & 31) << 11;
-+
-+ return 0;
-+}
-+
-+//
-+// Set a single color register. N/A on TC6393
-+//
-+static int tc6393_setcolreg(unsigned regno, unsigned red, unsigned green,
-+ unsigned blue, unsigned transp,
-+ struct fb_info *info)
-+{
-+ struct tc6393fb_info *linfo = (struct tc6393fb_info *)info;
-+
-+ if (regno < MAX_PALETTES)
-+ {
-+ linfo->fbcon_cmap.cfb16[regno] =
-+ (red & 0xf800) | ((green & 0xfc00) >> 5) | ((blue & 0xf800) >> 11);
-+ }
-+
-+ return 0;
-+}
-+
-+//
-+// Pan the display based on var->xoffset & var->yoffset values
-+//
-+static int tc6393_pan_display(const struct fb_var_screeninfo *var,
-+ struct fb_info_gen *info)
-+{
-+
-+ return 0;
-+}
-+
-+//
-+// Blank the display based on value in blank_mode
-+//
-+static int tc6393_blank(int blank_mode, struct fb_info_gen *info)
-+{
-+ if(!in_interrupt()){
-+ if (blank_mode && !tc6393fb_isblank) {
-+ tc6393_pm_suspend(1);
-+ }else if(!blank_mode && tc6393fb_isblank){
-+ tc6393_pm_resume();
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+#ifdef CONFIG_SHARP_LOGO_SCREEN
-+#include "vgaLogoScreen.c"
-+#define SHOW_WAIT_MSG
-+#ifdef SHOW_WAIT_MSG
-+#include "tosaLogoMsgJ.c"
-+#include "tosaLogoMsg.c"
-+#if 0
-+static int logo_lang = 0;
-+#else
-+extern int logo_lang; // Battery Driver refers.
-+#endif
-+static int logo_msg_width __initdata = 0;
-+static int logo_msg_height __initdata = 0;
-+static unsigned short *logo_msg_data __initdata = NULL;
-+#ifndef MODULE
-+static int __init logolang_setup(char *str)
-+{
-+ logo_lang = simple_strtoul(str,NULL,0);
-+ return 0;
-+}
-+__setup("LOGOLANG=", logolang_setup);
-+#endif // MODULE
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+static int logo_msg_yoff __initdata = 100;
-+#else
-+static int logo_msg_yoff __initdata = 500;
-+#endif
-+#endif // end SHOW_WAIT_MSG
-+
-+//
-+// static void __init draw_img()
-+//
-+static void __init draw_img( int sx, int sy, int w, int h, unsigned short* data )
-+{
-+ int x, y,ppl;
-+ unsigned short *p;
-+ // LCD_MODE_VGA
-+ if (tc6393fb_lcdMode == LCD_MODE_VGA ){
-+ ppl = PIXEL_PER_LINE_VGA;
-+ p = &fb_VGA->pixel[sy][sx];
-+ }else{ // QVGA
-+ ppl = PIXEL_PER_LINE_QVGA;
-+ p = &fb_QVGA->pixel[sy][sx];
-+ }
-+
-+ for (y=0; y<h; y++) {
-+ for (x=0; x<w; x++) {
-+ unsigned short col = data[(h-1-y)+x*h];
-+#if 0 //
-+ if (col==0x7bef) col=0xFFFF;
-+#endif
-+ *p++ = col;
-+ }
-+ p += ppl - w;
-+ }
-+}
-+
-+static void __init draw_logo_screen(void)
-+{
-+ switch(logo_lang) {
-+ case 1: // JP
-+ logo_msg_width = logo_msg_width_jp;
-+ logo_msg_height = logo_msg_height_jp;
-+ logo_msg_data = logo_msg_data_jp;
-+ break;
-+ default: // EN
-+ logo_msg_width = logo_msg_width_en;
-+ logo_msg_height = logo_msg_height_en;
-+ logo_msg_data = logo_msg_data_en;
-+ break;
-+ }
-+
-+ if (tc6393fb_lcdMode == LCD_MODE_VGA){
-+ memset(remapped_fbuf,0xff,(HORIZONTAL_LINE_VGA-16)*(PIXEL_PER_LINE_VGA*2));
-+ }else{ // QVGA
-+ memset(remapped_fbuf,0xff,(HORIZONTAL_LINE_QVGA-16)*(PIXEL_PER_LINE_QVGA*2));
-+ }
-+
-+ draw_img((current_par.xres - logo_screen_height) / 2,
-+ (current_par.yres - logo_screen_width) / 2,
-+ logo_screen_height, logo_screen_width, logo_screen_data);
-+
-+
-+#ifdef SHOW_WAIT_MSG
-+ draw_img((current_par.xres - logo_msg_height) / 2,logo_msg_yoff,
-+ logo_msg_height,logo_msg_width,logo_msg_data);
-+#endif
-+
-+}
-+#endif //CONFIG_SHARP_LOGO_SCREEN
-+
-+
-+//
-+// Set up the display for the fb subsystem
-+//
-+static void tc6393_set_disp(const void *unused, struct display *disp,
-+ struct fb_info_gen *info)
-+{
-+ struct tc6393fb_info *linfo = (struct tc6393fb_info *)info;
-+ int newLcdMode = -1;
-+
-+ if (current_par.xres == PIXEL_PER_LINE_QVGA && current_par.yres == HORIZONTAL_LINE_QVGA){
-+ newLcdMode = LCD_MODE_QVGA;
-+ } else if (current_par.xres == PIXEL_PER_LINE_VGA && current_par.yres == HORIZONTAL_LINE_VGA){
-+ newLcdMode = LCD_MODE_VGA;
-+ } else { // unknown
-+ return;
-+ }
-+
-+ if (newLcdMode!=tc6393fb_lcdMode) {
-+#if 0
-+ printk("change resolution from %s to %s\n", tc6393fb_lcdMode?"VGA":"QVGA", newLcdMode?"VGA":"QVGA");
-+#endif
-+ if (tc6393fb_isblank) {
-+ printk("force resume from blank!!!\n");
-+ clear_imagebuf();
-+ tc6393_pm_resume();
-+ }
-+
-+ wait_vsync();
-+ tc6393_clear_screen(LCD_MODE_VGA);
-+ wait_vsync();
-+ tc6393fb_setlcdmode(newLcdMode);
-+ }
-+
-+ // Do the rest of the display initialization
-+ disp->screen_base = remapped_fbuf;
-+
-+ // Set appropriate low level text console handler
-+ switch(disp->var.bits_per_pixel)
-+ {
-+#ifdef FBCON_HAS_MFB
-+ case 1:
-+ disp->dispsw = &fbcon_mfb;
-+ break;
-+#endif
-+#ifdef FBCON_HAS_CFB8
-+ case 8:
-+ disp->dispsw = &fbcon_cfb8;
-+ break;
-+#endif
-+#ifdef FBCON_HAS_CFB16
-+ case 16:
-+ disp->dispsw = &fbcon_cfb16;
-+ disp->dispsw_data = linfo->fbcon_cmap.cfb16;
-+ break;
-+#endif
-+ default:
-+ disp->dispsw = &fbcon_dummy;
-+ break;
-+ }
-+
-+#if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
-+ disp->xpanstep = 0;
-+ disp->xwrapstep = 0;
-+ disp->scrollmode = 0; // for logoscreen scroll
-+#else
-+ disp->ypanstep = 0;
-+ disp->ywrapstep = 0;
-+#endif
-+
-+
-+}
-+
-+/* ------------ Interfaces to hardware functions ------------ */
-+
-+struct fbgen_hwswitch tc6393_switch =
-+{
-+ //X detect: tc6393_detect,
-+ encode_fix: tc6393_encode_fix,
-+ decode_var: tc6393_decode_var,
-+ encode_var: tc6393_encode_var,
-+ get_par: tc6393_get_par,
-+ set_par: tc6393_set_par,
-+ getcolreg: tc6393_getcolreg,
-+ setcolreg: tc6393_setcolreg,
-+ pan_display: tc6393_pan_display,
-+ blank: tc6393_blank,
-+ set_disp: tc6393_set_disp,
-+};
-+
-+/* ------------ Hardware Independent Functions ------------ */
-+
-+
-+static struct fb_ops tc6393fb_ops =
-+{
-+ owner: THIS_MODULE,
-+ fb_get_fix: fbgen_get_fix,
-+ fb_get_var: fbgen_get_var,
-+ fb_set_var: fbgen_set_var,
-+ fb_get_cmap: fbgen_get_cmap,
-+ fb_set_cmap: fbgen_set_cmap,
-+ fb_pan_display: fbgen_pan_display,
-+ fb_ioctl: tc6393fb_ioctl,
-+};
-+
-+//
-+int __init tc6393fb_init(void)
-+{
-+#ifndef STATIC_IMAGE_BUF
-+ memset(gSaveImagePtr,0,sizeof(gSaveImagePtr));
-+#endif
-+
-+ fb_info.gen.fbhw = &tc6393_switch; // generic frame buffer device
-+ tc6393_hw_init();
-+ tc6393_clear_screen(LCD_MODE_VGA);
-+ tc6393fb_setlcdmode(tc6393fb_lcdMode);
-+
-+ strcpy(fb_info.gen.info.modename, TC6393_NAME);
-+ fb_info.gen.info.changevar = NULL;
-+ fb_info.gen.info.node = -1;
-+ fb_info.gen.info.fbops = &tc6393fb_ops;
-+ fb_info.gen.info.disp = &disp;
-+ fb_info.gen.parsize = sizeof(struct tc6393fb_par);
-+ fb_info.gen.info.switch_con = &fbgen_switch;
-+ fb_info.gen.info.updatevar = &fbgen_update_var;
-+ fb_info.gen.info.blank = &fbgen_blank;
-+ fb_info.gen.info.flags = FBINFO_FLAG_DEFAULT;
-+ /* This should give a reasonable default video mode */
-+ fbgen_get_var(&disp.var, -1, &fb_info.gen.info);
-+ fbgen_do_set_var(&disp.var, 1, &fb_info.gen);
-+ fbgen_set_disp(-1, &fb_info.gen);
-+
-+ if (disp.var.bits_per_pixel > 1)
-+ fbgen_install_cmap(0, &fb_info.gen);
-+
-+ if (register_framebuffer(&fb_info.gen.info) < 0)
-+ return -EINVAL;
-+
-+#ifdef CONFIG_PM
-+ tc6393_pm_dev = pm_register(PM_COTULLA_DEV, 0, tc6393_pm_callback);
-+#endif //CONFIG_PM
-+
-+ printk("fb%d: %s frame buffer device\n",
-+ GET_FB_IDX(fb_info.gen.info.node),
-+ fb_info.gen.info.modename);
-+
-+
-+#if defined(CONFIG_SHARP_LOGO_SCREEN)
-+ draw_logo_screen();
-+ tosa_bl_temporary_contrast_set();
-+ tosa_bl_temporary_contrast_reset();
-+#endif
-+
-+ return 0;
-+}
-+
-+void tc6393fb_cleanup(struct fb_info *info)
-+{
-+ unregister_framebuffer(info);
-+#ifndef STATIC_IMAGE_BUF
-+ if(gSaveImagePtr[0] != NULL){
-+ int i;
-+ for (i = 0; i < HORIZONTAL_LINE_VGA/SAVE_LINES; i++) {
-+ if (gSaveImagePtr[i] != NULL) {
-+ kfree(gSaveImagePtr[i]);
-+ gSaveImagePtr[i]=NULL;
-+ }
-+ }
-+ }
-+#endif
-+}
-+
-+#ifdef MODULE
-+int __init init_module(void)
-+{
-+ return tc6393fb_init();
-+}
-+
-+void cleanup_module(void)
-+{
-+ tc6393fb_cleanup(&fb_info.gen.info);
-+}
-+#endif
-+
-+static int tc6393fb_ioctl(struct inode *inode, struct file *file, u_int cmd,
-+ u_long arg, int con, struct fb_info *info2)
-+{
-+ switch (cmd){
-+ case TC6393FB_POWERDOWN:
-+ {
-+ int blank_mode = (int)arg;
-+ tc6393_blank(blank_mode,NULL);
-+ }
-+ break;
-+#ifdef USE_ACCELERATOR
-+ case TC6393FB_ACC_CMD_WRITE:
-+ {
-+ u32 cmdbuf[TC6393FB_ACC_CMD_MAX_LEN + 1];
-+
-+ if (tc6393fb_isblank) {
-+ printk("force resume from blank!\n");
-+ clear_imagebuf();
-+ tc6393_pm_resume();
-+ }
-+ if (copy_from_user(cmdbuf, (void *)arg,
-+ (TC6393FB_ACC_CMD_MAX_LEN + 1) * sizeof(u32)))
-+ return -EFAULT;
-+
-+ if (cmdbuf[0] == 0)
-+ return 0;
-+
-+ if (cmdbuf[0] > TC6393FB_ACC_CMD_MAX_LEN)
-+ return -EFAULT;
-+
-+ tc6393_acc_write( &cmdbuf[1], cmdbuf[0] );
-+ }
-+ break;
-+ case TC6393FB_ACC_SYNC:
-+ if (tc6393fb_isblank) {
-+ printk("force resume from blank!!\n");
-+ clear_imagebuf();
-+ tc6393_pm_resume();
-+ }
-+ tc6393_acc_sync();
-+ break;
-+#endif // end USE_ACCELERATOR
-+ default:
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
-+//
-+// Constants
-+//
-+
-+static void tc6393fb_initssp( void)
-+{
-+ pxa_nssp_init();
-+ tg_ssp_reg0 = TG_REG0_COLOR | TG_REG0_UD | TG_REG0_LR;
-+ pxa_nssp_output(1,0x00); //delaied 0clk TCTL signal for VGA
-+ pxa_nssp_output(3,0x02); // GPOS0=powercontrol, GPOS1=GPIO, GPOS2=TCTL
-+}
-+
-+static void tc6393fb_setpnlctl(int dat)
-+{
-+ pxa_nssp_output(6,dat);
-+}
-+
-+static void tc6393fb_lcdhwsetup(int mode)
-+{
-+ int i;
-+
-+ // define the framebuffer base.
-+ fb_VGA = (FrameBuffer_VGA *) (remapped_fbuf);
-+ fb_QVGA = (FrameBuffer_QVGA *) (remapped_fbuf);
-+
-+ if ( mode == LCD_MODE_QVGA ) { // change to QVGA
-+ writew((u16)(0x0000), remapped_inner + PLGMD);
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_FER) & ~FUNC_SLCDEN),
-+ remapped_regs + TC6393_SYS_FER);
-+ writew((u16)(PLCNT_DEFAULT), remapped_inner + PLCNT);
-+ writew((u16)(PLL10_QVGA), remapped_regs + TC6393_SYS_PLL1CR1);
-+ writew((u16)(PLL11_QVGA), remapped_regs + TC6393_SYS_PLL1CR2);
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_FER) | FUNC_SLCDEN),
-+ remapped_regs + TC6393_SYS_FER);
-+
-+ for( i=0; i<kurohyo_LCDCREG_NUM-1; i++){
-+ writew((u16)(kurohyoLcdcQVGA[i].Value), remapped_inner + kurohyoLcdcQVGA[i].Index);
-+ }
-+ } else { // change to VGA
-+ writew((u16)(0x0000), remapped_inner + PLGMD);
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_FER) & ~FUNC_SLCDEN),
-+ remapped_regs + TC6393_SYS_FER);
-+ writew((u16)(PLCNT_DEFAULT), remapped_inner + PLCNT);
-+ writew((u16)(PLL10_VGA), remapped_regs + TC6393_SYS_PLL1CR1);
-+ writew((u16)(PLL11_VGA), remapped_regs + TC6393_SYS_PLL1CR2);
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_FER) | FUNC_SLCDEN),
-+ remapped_regs + TC6393_SYS_FER);
-+
-+ for( i=0; i<kurohyo_LCDCREG_NUM-1; i++){
-+ writew((u16)(kurohyoLcdcVGA[i].Value), remapped_inner + kurohyoLcdcVGA[i].Index);
-+ }
-+ }
-+
-+ writew((u16)(PLCNT_DEFAULT), remapped_inner + PLCNT);
-+ mdelay(5);
-+ writew((u16)(PLCNT_DEFAULT | PLCNT_STOP_CKP), remapped_inner+PLCNT);
-+ mdelay(5);
-+ writew((u16)(PLCNT_DEFAULT | PLCNT_STOP_CKP | PLCNT_SOFT_RESET), remapped_inner + PLCNT);
-+ writew((u16)(0xfffa), remapped_inner + PIFEN);
-+
-+ // TG LCD pannel power up
-+ tc6393fb_setpnlctl(0x4);
-+ mdelay(50);
-+
-+ // TG LCD GVSS
-+ tc6393fb_setpnlctl(0x0);
-+
-+ {
-+ int comadj;
-+ /* Set Common Voltage */
-+ comadj = -1;
-+ comadj = sharpsl_get_comadj();
-+ if ( comadj < 0 ) {
-+ comadj = COMADJ_DEFAULT;
-+ }
-+ mdelay(50);
-+ i2c_init(1);
-+ tosa_set_common_voltage( comadj );
-+ }
-+
-+}
-+
-+static void tc6393fb_setlcdmode(int mode)
-+{
-+ if( mode == LCD_MODE_VGA ){
-+ tg_ssp_reg0 |= TG_REG0_VQV;
-+ pxa_nssp_output(0, tg_ssp_reg0); // data send to TG
-+ tc6393fb_lcdhwsetup(LCD_MODE_VGA);
-+ tc6393fb_lcdMode = LCD_MODE_VGA;
-+ }else{
-+ tg_ssp_reg0 &= ~TG_REG0_VQV;
-+ pxa_nssp_output(0, tg_ssp_reg0); // data send to TG
-+ tc6393fb_lcdhwsetup(LCD_MODE_QVGA);
-+ tc6393fb_lcdMode = LCD_MODE_QVGA;
-+ }
-+}
-+
-+static void tc6393_soft_reset()
-+{
-+ int i;
-+ PSPR=0;// Clear Core Clock Change status
-+
-+ // L3V On
-+ writew((u16)(readw(remapped_scoop2_2 + SCP_GPWR) | SCOOP22_L3VON),remapped_scoop2_2 + SCP_GPWR);
-+
-+ // TG On
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_GPODSR1) & ~0x0001),remapped_regs + TC6393_SYS_GPODSR1);
-+
-+ // Clock Control Register
-+ writew((u16)((readw(remapped_regs + TC6393_SYS_CCR) & CLKCTL_USB_MASK) | CLKCTL_CONFIG_DTA),
-+ remapped_regs + TC6393_SYS_CCR);
-+
-+ writew((u16)(0x0cc1), remapped_regs + TC6393_SYS_PLL2CR);
-+
-+ if ( tc6393fb_lcdMode == LCD_MODE_VGA ) { // VGA
-+ writew((u16)(PLL10_VGA), remapped_regs + TC6393_SYS_PLL1CR1);
-+ writew((u16)(PLL11_VGA), remapped_regs + TC6393_SYS_PLL1CR2);
-+ } else { // QVGA
-+ writew((u16)(PLL10_QVGA), remapped_regs + TC6393_SYS_PLL1CR1);
-+ writew((u16)(PLL11_QVGA), remapped_regs + TC6393_SYS_PLL1CR2);
-+ }
-+ writew((u16)(0x003a), remapped_lcdbase + KH_CLKEN);
-+ writew((u16)(0x003a), remapped_lcdbase + KH_GCLKEN);
-+ writew((u16)(0x3f00), remapped_lcdbase + KH_PSWCLR);
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_FER) | FUNC_SLCDEN), remapped_regs + TC6393_SYS_FER);
-+ mdelay(2);
-+
-+ writew((u16)(0x0000), remapped_lcdbase + KH_PSWCLR);
-+ writew((u16)(0x3300), remapped_regs + TC6393_SYS_GPER);
-+
-+ // initialize kurohyo configration register
-+ for( i=0; i <= KH_CMDREG_NUM; i++){
-+ writew((u16)(kh_cmd[i].Value), remapped_lcdbase + kh_cmd[i].Index);
-+ }
-+ mdelay(2);
-+ writew((u16)(0x000b), remapped_lcdbase + KH_VRAMBC);
-+
-+ tc6393fb_initssp();
-+ tc6393fb_isblank = 0;
-+}
-+
-+#ifdef USE_ACCELERATOR
-+static void tc6393_acc_init()
-+{
-+ writew((u16)((FIFO_ADDR>>16)&0x001f), remapped_inner + KH_CMDADR_H);
-+ writew((u16)(FIFO_ADDR&0x0fff8), remapped_inner + KH_CMDADR_L);
-+ writew(512-1, remapped_inner + KH_CMDFIF);
-+
-+ writew(1, remapped_inner + KH_FIFOR);
-+
-+ writew(0, remapped_inner + KH_BINTMSK);
-+ writew(0, remapped_inner + KH_CMDFINT);
-+}
-+
-+static void tc6393_acc_write( u32* cmd, int cmdnum )
-+{
-+ volatile int i;
-+ int ct=0;
-+
-+ if (readw(remapped_inner + KH_FIPT)>400) {
-+ while(readw(remapped_inner + KH_FIPT)>200) {
-+ mdelay(1);
-+ if (++ct>1000) {
-+ printk(__FUNCTION__ ": timeout\n");
-+ return; // timeout
-+ }
-+ }
-+ }
-+
-+ for ( i = 0; i < cmdnum; i ++ ) {
-+ writew((u16)((cmd[i]>>16) & 0x0ffff), remapped_inner + KH_COMD_H);
-+ writew((u16)(cmd[i] & 0x0ffff), remapped_inner + KH_COMD_L);
-+ }
-+}
-+
-+static void tc6393_acc_sync()
-+{
-+ int ct=0;
-+ while(readw(remapped_inner + KH_FIPT)>0) {
-+ mdelay(1);
-+ if (++ct>1000) {
-+ printk(__FUNCTION__ ": timeout\n");
-+ return; // timeout
-+ }
-+ }
-+ ct=0;
-+ while(readw(remapped_inner + KH_DMAST)&PXAIO_DMAST_BLT) {
-+ mdelay(1);
-+ if (++ct>1000) {
-+ printk(__FUNCTION__ ": timeout\n");
-+ return; // timeout
-+ }
-+ }
-+}
-+#endif // end USE_ACCELERATOR
-+
-+static void tc6393_clear_screen(u32 mode)
-+{
-+#ifndef USE_ACCELERATOR
-+ if(mode == LCD_MODE_VGA){
-+ memset(remapped_fbuf,0xff,MAX_XRES_VGA*MAX_YRES_VGA*2);
-+ }else if(mode == LCD_MODE_QVGA){
-+ memset(remapped_fbuf,0xff,MAX_XRES_QVGA*MAX_YRES_QVGA*2);
-+ }
-+#else // Accelerator always clear VGA area
-+ static u32 cmd[6];
-+ u16 xres = (tc6393fb_lcdMode == LCD_MODE_VGA)?MAX_XRES_VGA:MAX_XRES_QVGA;
-+ u16 yres = (tc6393fb_lcdMode == LCD_MODE_VGA)?MAX_YRES_VGA:MAX_YRES_QVGA;
-+
-+ cmd[0] = PXAIO_COMDI_DSADR|PXAIO_COMDD_DSADR(((int)remapped_fbuf));
-+ cmd[1] = PXAIO_COMDI_DHPIX|PXAIO_COMDD_DHPIX(xres - 1);
-+ cmd[2] = PXAIO_COMDI_DVPIX|PXAIO_COMDD_DVPIX(yres - 1);
-+ cmd[3] = PXAIO_COMDI_FILL|PXAIO_COMDD_FILL(0xffff);
-+ cmd[4] = PXAIO_COMDI_FLGO;
-+
-+ tc6393_acc_write(cmd,5);
-+ tc6393_acc_sync();
-+
-+#endif // end USE_ACCELERATOR
-+}
-+
-+static DECLARE_WAIT_QUEUE_HEAD(blank_queue);
-+
-+static void tc6393_pm_suspend(int suspend_mode)
-+{
-+#ifndef STATIC_IMAGE_BUF
-+ int i,j;
-+ u32 *pVram = (u32*)remapped_fbuf;
-+#endif
-+
-+#ifdef USE_ACCELERATOR
-+ tc6393_acc_sync();
-+#endif
-+
-+ if (!tc6393fb_isblank) {
-+#ifdef STATIC_IMAGE_BUF
-+ save_image();
-+#else
-+ for (i = 0; i < current_par.yres/SAVE_LINES; i++) {
-+ if (gSaveImagePtr[i] != NULL){
-+ kfree(gSaveImagePtr[i]);
-+ gSaveImagePtr[i] = NULL;
-+ }
-+ gSaveImagePtr[i] = kmalloc(current_par.xres * BITS_PER_PIXEL*SAVE_LINES / 8, GFP_KERNEL);
-+ if (gSaveImagePtr[i] != NULL){
-+ memcpy(gSaveImagePtr[i],pVram,current_par.xres*SAVE_LINES*2);
-+ pVram += current_par.xres*SAVE_LINES/2;
-+ }
-+ else {
-+ printk("can't alloc pre-off image buffer %d\n", i);
-+ for (j = 0; j < i; j++) {
-+ if (gSaveImagePtr[i] != NULL) {
-+ kfree(gSaveImagePtr[i]);
-+ gSaveImagePtr[i] = NULL;
-+ }
-+ }
-+ break;
-+ }
-+ }
-+ for (; i < HORIZONTAL_LINE_VGA/SAVE_LINES; i++) {
-+ gSaveImagePtr[i] = NULL;
-+ }
-+#endif
-+
-+#ifdef CONFIG_PM
-+ tosa_bl_pm_callback(NULL, PM_SUSPEND, NULL);
-+#endif
-+
-+ tc6393fb_isblank = 1;
-+
-+ wait_vsync();
-+ tc6393_clear_screen(LCD_MODE_VGA);
-+ wait_vsync();
-+ wait_vsync();
-+
-+ // TG LCD VHSA off
-+ tc6393fb_setpnlctl(0x4);
-+ if (suspend_mode) interruptible_sleep_on_timeout((wait_queue_head_t*)&blank_queue, 50/2 );
-+ else mdelay(50);
-+
-+ // TG LCD signal off
-+ tc6393fb_setpnlctl(0x6);
-+ wait_vsync();
-+ if (suspend_mode) interruptible_sleep_on_timeout((wait_queue_head_t*)&blank_queue, 50/2 );
-+ else mdelay(50);
-+
-+ // TG Off
-+ writew((u16)(readw(remapped_regs + TC6393_SYS_GPODSR1) | 0x0001),remapped_regs + TC6393_SYS_GPODSR1);
-+ if (suspend_mode) interruptible_sleep_on_timeout((wait_queue_head_t*)&blank_queue, 120/2 );
-+ else mdelay(120);
-+
-+ // CLK: Stop
-+ writew((u16)(0x0), remapped_lcdbase + KH_CLKEN);
-+ if (suspend_mode) interruptible_sleep_on_timeout((wait_queue_head_t*)&blank_queue, 100/2 );
-+ else mdelay(100);
-+
-+ // L3V Off
-+ writew((u16)(readw(remapped_scoop2_2 + SCP_GPWR) & ~SCOOP22_L3VON),remapped_scoop2_2 + SCP_GPWR);
-+
-+//X tc6393fb_isblank = 1;
-+ }
-+}
-+
-+static void tc6393_pm_resume()
-+{
-+#ifndef STATIC_IMAGE_BUF
-+ int i;
-+ u32 *pVram = (u32*)remapped_fbuf;
-+#endif
-+
-+ tc6393_hw_init();
-+
-+#ifdef USE_ACCELERATOR
-+ // erase whole VRAM
-+ if (tc6393fb_lcdMode == LCD_MODE_QVGA) {
-+ memset(remapped_fbuf,0xff,MAX_XRES_VGA*MAX_YRES_VGA*2);
-+ }
-+#endif
-+
-+#ifdef STATIC_IMAGE_BUF
-+ load_image();
-+#else
-+ if (gSaveImagePtr[0] != NULL){
-+ for (i = 0; i < (current_par.yres)/SAVE_LINES; i++) {
-+ if (gSaveImagePtr[i] == NULL) {
-+ printk("can't find pre-off image buffer %d\n", i);
-+ continue;
-+ }
-+ memcpy(pVram,gSaveImagePtr[i],current_par.xres*SAVE_LINES*2);
-+ pVram += current_par.xres*SAVE_LINES/2;
-+ kfree(gSaveImagePtr[i]);
-+ gSaveImagePtr[i] = NULL;
-+ }
-+ }
-+#endif
-+
-+ tc6393fb_setlcdmode(tc6393fb_lcdMode);
-+
-+#ifdef CONFIG_PM
-+ tosa_bl_pm_callback(NULL, PM_RESUME, NULL);
-+#endif
-+
-+}
-+
-+#ifdef CONFIG_PM
-+static int tc6393_pm_callback(struct pm_dev* pm_dev,
-+ pm_request_t req, void* data)
-+{
-+ switch (req) {
-+ case PM_SUSPEND:
-+ tc6393_pm_suspend(0);
-+ break;
-+
-+ case PM_RESUME:
-+ tc6393_pm_resume();
-+ break;
-+ }
-+ return 0;
-+}
-+
-+void tc6393_fatal_off(void)
-+{
-+ tc6393_pm_suspend(0);
-+}
-+#endif //CONFIG_PM
-+
-+// EOF
-diff -Nur linux_c860_org/drivers/video/tc6393fb.h linux/drivers/video/tc6393fb.h
---- linux_c860_org/drivers/video/tc6393fb.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/tc6393fb.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,249 @@
-+/*
-+ * linux/drivers/video/tc6393fb.h
-+ *
-+ * Frame Buffer Device for TOSHIBA tc6393
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ */
-+
-+#if !defined (_TC6393FB)
-+#define _TC6393FB
-+
-+#define KH_COMMAND_REG 0x004
-+#define KH_BASEADDR_H 0x012
-+#define KH_BASEADDR_L 0x010
-+#define KH_CLKEN 0x040
-+#define KH_GCLKEN 0x042
-+#define KH_PSWCLR 0x050
-+#define KH_VRAMTC 0x060
-+#define KH_VRAMRC 0x061
-+#define KH_VRAMAC 0x062
-+#define KH_VRAMBC 0x064
-+#define KH_VMREQMD 0x06F
-+
-+#define KH_CMDADR_L 0x00A
-+#define KH_CMDADR_H 0x00C
-+#define KH_CMDFIF 0x00E
-+#define KH_CMDFINT 0x010
-+#define KH_BINTMSK 0x012
-+#define KH_BINTST 0x014
-+#define KH_FIPT 0x016
-+#define KH_DMAST 0x018
-+#define KH_COMD_L 0x01C
-+#define KH_COMD_H 0x01E
-+#define KH_FIFOR 0x022
-+
-+#define PXAIO_DMAST_DMA 0x0001
-+#define PXAIO_DMAST_BLT 0x0002
-+
-+#define kurohyo_LCDCREG_NUM 18
-+
-+#define PLMOD 0x164
-+#define PLCST 0x102
-+#define VHLIN 0x008
-+#define PLDSA_H 0x124
-+#define PLDSA_L 0x122
-+#define PLPIT_H 0x12c
-+#define PLPIT_L 0x12a
-+#define PLHT 0x140
-+#define PLHDS 0x142
-+#define PLHSS 0x144
-+#define PLHSE 0x146
-+#define PLHBS 0x148
-+#define PLHBE 0x14a
-+#define PLHPX 0x14c
-+#define PLVT 0x150
-+#define PLVDS 0x152
-+#define PLVSS 0x154
-+#define PLVSE 0x156
-+#define PLVBS 0x158
-+#define PLVBE 0x15a
-+#define PLGMD 0x12e
-+#define PLCST 0x102
-+#define PLMOD 0x164
-+#define MISC 0x166
-+#define PLCNT 0x100
-+#define PIFEN 0x18e
-+#define PLCLN 0x160
-+
-+
-+#define CLKCTL_USB_MASK 0x0002
-+#define CLKCTL_CONFIG_DTA 0x1310
-+
-+#define SCOOP_CF_MODE 0x0100
-+#define SCOOP21_OUT_MASK 0x0004
-+#define SCOOP22_OUT_MASK 0x036e
-+
-+#define SCOOP21_RESET_IN 0x0004
-+#define SCOOP22_SUSPEND 0x0020
-+#define SCOOP22_L3VON 0x0040
-+
-+
-+#define PLCNT_SOFT_RESET 0x0001
-+#define PLCNT_STOP_CKP 0x0004
-+#define PLCNT_DEFAULT 0x0010
-+
-+
-+
-+#define FUNC_SLCDEN 0x0004
-+#define PLL10_QVGA 0xf203
-+#define PLL11_QVGA 0x00e7
-+#define PLL10_VGA 0xdf00
-+#define PLL11_VGA 0x002c
-+
-+typedef struct
-+{
-+ unsigned short Index;
-+ unsigned short Value;
-+} TC6393_REGS;
-+
-+static TC6393_REGS kurohyoLcdcQVGA[] =
-+{
-+ { VHLIN, 0x01E0 }, // VHLIN
-+ { PLDSA_H, 0x0000 }, // PLDSA display start address high
-+ { PLDSA_L, 0x0000 }, // PLDSA display start address low
-+ { PLPIT_H, 0x0000 }, // PLPIT horizontal pixel high
-+ { PLPIT_L, 0x01E0 }, // PLPIT horizontal pixel low
-+ { PLHT, 0x0145 }, // PLHT horizontal total
-+ { PLHDS, 0x0026 }, // PLHDS horizontal display start
-+ { PLHSS, 0x0000 }, // PLHSS H-sync start
-+ { PLHSE, 0x0002 }, // PLHSE H-sync end
-+ { PLHPX, 0x00f0 }, // PLHPX Horizontal number of pixel
-+ { PLVT, 0x014F }, // PLVT Vertical total
-+ { PLVDS, 0x0002 }, // PLVDS Vertical display start
-+ { PLVSS, 0x0000 }, // PLVSS V-sync start
-+ { PLVSE, 0x0001 }, // PLVSE V-sync end
-+ { MISC, 0x0003 }, // MISC RGB565 mode
-+ { PLGMD, 0x0001 }, // PLGMD vram access enable
-+ { PLCST, 0x4007 }, // PLCST
-+ { PLMOD, 0x0003 }, // PLMOD Sync polarity
-+};
-+
-+static TC6393_REGS kurohyoLcdcVGA[] =
-+{
-+ { VHLIN, 0x03c0 }, // VHLIN
-+ { PLDSA_H, 0x0000 }, // PLDSA display start address high
-+ { PLDSA_L, 0x0000 }, // PLDSA display start address low
-+ { PLPIT_H, 0x0000 }, // PLPIT horizontal pixel high
-+ { PLPIT_L, 0x03c0 }, // PLPIT horizontal pixel low
-+ { PLHT, 0x0289 }, // PLHT horizontal total
-+ { PLHDS, 0x004e }, // PLHDS horizontal display start
-+ { PLHSS, 0x0000 }, // PLHSS H-sync start
-+ { PLHSE, 0x0002 }, // PLHSE H-sync end
-+ { PLHPX, 0x01e0 }, // PLHPX Horizontal number of pixel
-+ { PLVT, 0x028f }, // PLVT Vertical total
-+ { PLVDS, 0x0002 }, // PLVDS Vertical display start
-+ { PLVSS, 0x0000 }, // PLVSS V-sync start
-+ { PLVSE, 0x0001 }, // PLVSE V-sync end
-+ { MISC, 0x0003 }, // MISC RGB565 mode
-+ { PLGMD, 0x0001 }, // PLGMD vram access enable
-+ { PLCST, 0x4007 }, // PLCST
-+ { PLMOD, 0x0003 }, // PLMOD Sync polarity
-+};
-+
-+#define TG_REG0_VQV 0x0001
-+#define TG_REG0_COLOR 0x0002
-+#define TG_REG0_UD 0x0004
-+#define TG_REG0_LR 0x0008
-+
-+#define CK_SSP (0x1u << 3)
-+
-+/*
-+ * Accelerator COMMAND
-+ */
-+
-+// Set Command
-+#define PXAIO_COMDI_CSADR 0x00000000
-+#define PXAIO_COMDD_CSADR(x) (x&0x001ffffe)
-+#define PXAIO_COMDI_CHPIX 0x01000000
-+#define PXAIO_COMDD_CHPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_CVPIX 0x02000000
-+#define PXAIO_COMDD_CVPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_PSADR 0x03000000
-+#define PXAIO_COMDD_PSADR(x) (x&0x00fffffe)
-+#define PXAIO_COMDI_PHPIX 0x04000000
-+#define PXAIO_COMDD_PHPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_PVPIX 0x05000000
-+#define PXAIO_COMDD_PVPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_PHOFS 0x06000000
-+#define PXAIO_COMDD_PHOFS(x) (x&0x000003ff)
-+#define PXAIO_COMDI_PVOFS 0x07000000
-+#define PXAIO_COMDD_PVOFS(x) (x&0x000003ff)
-+#define PXAIO_COMDI_POADR 0x08000000
-+#define PXAIO_COMDD_POADR(x) (x&0x00fffffe)
-+#define PXAIO_COMDI_RSTR 0x09000000
-+#define PXAIO_COMDD_RSTR(x) (x&0x000000ff)
-+#define PXAIO_COMDI_TCLOR 0x0A000000
-+#define PXAIO_COMDD_TCLOR(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_FILL 0x0B000000
-+#define PXAIO_COMDD_FILL(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_DSADR 0x0C000000
-+#define PXAIO_COMDD_DSADR(x) (x&0x00fffffe)
-+#define PXAIO_COMDI_SSADR 0x0D000000
-+#define PXAIO_COMDD_SSADR(x) (x&0x00fffffe)
-+#define PXAIO_COMDI_DHPIX 0x0E000000
-+#define PXAIO_COMDD_DHPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_DVPIX 0x0F000000
-+#define PXAIO_COMDD_DVPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_SHPIX 0x10000000
-+#define PXAIO_COMDD_SHPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_SVPIX 0x11000000
-+#define PXAIO_COMDD_SVPIX(x) (x&0x000003ff)
-+#define PXAIO_COMDI_LBINI 0x12000000
-+#define PXAIO_COMDD_LBINI(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_LBK2 0x13000000
-+#define PXAIO_COMDD_LBK2(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_SHBINI 0x14000000
-+#define PXAIO_COMDD_SHBINI(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_SHBK2 0x15000000
-+#define PXAIO_COMDD_SHBK2(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_SVBINI 0x16000000
-+#define PXAIO_COMDD_SVBINI(x) (x&0x0000ffff)
-+#define PXAIO_COMDI_SVBK2 0x17000000
-+#define PXAIO_COMDD_SVBK2(x) (x&0x0000ffff)
-+
-+// Action Command
-+#define PXAIO_COMDI_CMGO 0x20000000
-+#define PXAIO_COMDD_CMGO_CEND 0x00000001
-+#define PXAIO_COMDD_CMGO_INT 0x00000002
-+#define PXAIO_COMDD_CMGO_CMOD 0x00000010
-+#define PXAIO_COMDD_CMGO_CDVRV 0x00000020
-+#define PXAIO_COMDD_CMGO_CDHRV 0x00000040
-+#define PXAIO_COMDD_CMGO_RUND 0x00008000
-+#define PXAIO_COMDI_SCGO 0x21000000
-+#define PXAIO_COMDD_SCGO_CEND 0x00000001
-+#define PXAIO_COMDD_SCGO_INT 0x00000002
-+#define PXAIO_COMDD_SCGO_ROP3 0x00000004
-+#define PXAIO_COMDD_SCGO_TRNS 0x00000008
-+#define PXAIO_COMDD_SCGO_DVRV 0x00000010
-+#define PXAIO_COMDD_SCGO_DHRV 0x00000020
-+#define PXAIO_COMDD_SCGO_SVRV 0x00000040
-+#define PXAIO_COMDD_SCGO_SHRV 0x00000080
-+// Specifications Document Rev.18 Add
-+#define PXAIO_COMDD_SCGO_DSTXY 0x00008000
-+#define PXAIO_COMDI_SBGO 0x22000000
-+#define PXAIO_COMDD_SBGO_CEND 0x00000001
-+#define PXAIO_COMDD_SBGO_INT 0x00000002
-+#define PXAIO_COMDD_SBGO_DVRV 0x00000010
-+#define PXAIO_COMDD_SBGO_DHRV 0x00000020
-+#define PXAIO_COMDD_SBGO_SVRV 0x00000040
-+#define PXAIO_COMDD_SBGO_SHRV 0x00000080
-+#define PXAIO_COMDD_SBGO_SBMD 0x00000100
-+#define PXAIO_COMDI_FLGO 0x23000000
-+#define PXAIO_COMDD_FLGO_CEND 0x00000001
-+#define PXAIO_COMDD_FLGO_INT 0x00000002
-+#define PXAIO_COMDD_FLGO_ROP3 0x00000004
-+#define PXAIO_COMDI_LDGO 0x24000000
-+#define PXAIO_COMDD_LDGO_CEND 0x00000001
-+#define PXAIO_COMDD_LDGO_INT 0x00000002
-+#define PXAIO_COMDD_LDGO_ROP3 0x00000004
-+#define PXAIO_COMDD_LDGO_ENDPX 0x00000008
-+#define PXAIO_COMDD_LDGO_LVRV 0x00000010
-+#define PXAIO_COMDD_LDGO_LHRV 0x00000020
-+#define PXAIO_COMDD_LDGO_LDMOD 0x00000040
-+
-+#endif
-diff -Nur linux_c860_org/drivers/video/tosaLogoMsg.c linux/drivers/video/tosaLogoMsg.c
---- linux_c860_org/drivers/video/tosaLogoMsg.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/tosaLogoMsg.c 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,488 @@
-+/* Logo Screen 16bits RGB(565) data*/
-+#ifndef __initdata
-+#define __initdata
-+#endif
-+static const int logo_msg_width_en __initdata = 32;
-+static const int logo_msg_height_en __initdata = 480;
-+static const unsigned short logo_msg_data_en[32*480] __initdata ={
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xa514,0xa514,0xa514,0xa514,0xa514,0xa514,0x528a,0x0000,0x528a,0xa514,0xa514,0xa514,0xa514,0xa514,0x632c,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x7bcf,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4a69,0xffff,0xffff,0xffff,0xffff,0xffff,0x8430,0x0000,0x73ae,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x0020,0x0020,0xbdd7,0xffff,0xffff,0xffff,0xdedb,0x18e3,0x0000,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x738e,0x0000,0x0000,0x39e7,0x5aeb,0x4a49,0x0841,0x0000,0x4208,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x94b2,0x18e3,0x0000,0x0000,0x0000,0x0841,0x632c,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0xc638,0xce79,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb596,0x8c71,0x7bef,0x8430,0xad55,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0x738e,0x0841,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x4208,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x4228,0x0000,0x18c3,0x7bcf,0xad75,0x31a6,0x10a2,0x9492,0x4a69,0x0000,0x0861,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa534,0x0000,0x39c7,0xef7d,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xad55,0x0020,0x2945,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x528a,0x0000,0xd69a,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x5acb,0x0000,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xffff,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x7bef,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xc618,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x39e7,0x0000,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb596,0x0000,0x2124,0xce79,0xffff,0xffff,0x4228,0x2104,0xffff,0xffdf,0x7bef,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x738e,0x0000,0x0000,0x9cf3,0xffff,0x4228,0x0861,0x4a69,0x10a2,0x0000,0x2965,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x39e7,0xad75,0xffff,0x4228,0x0000,0x0000,0x31a6,0x9492,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xdefb,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xb596,0x7bef,0x9492,0xdefb,0xffff,0xffff,0xffff,0xe71c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x39e7,0x0000,0x0000,0x0000,0x0020,0x9cf3,0xffff,0xffff,0x4228,0x10a2,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x39c7,0xb5b6,0xa514,0x10a2,0x0841,0xe71c,0xffff,0x73ae,0x1082,0x0000,0x8430,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xdedb,0xffff,0xffff,0x94b2,0x0000,0x94b2,0xffff,0xffff,0xe73c,0x18c3,0x1082,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xffff,0xffff,0xffff,0xd69a,0x0000,0x630c,0xffff,0xffff,0xffff,0x6b6d,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0xd6ba,0xffff,0xffff,0xffdf,0x0841,0x39c7,0xffff,0xffff,0xffff,0x7bef,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x2104,0x4a69,0xffdf,0xffff,0xffff,0x4228,0x0020,0xf79e,0xffff,0xffff,0x4a49,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb5b6,0x0020,0x39c7,0x9cf3,0xc638,0x738e,0x0000,0x8430,0xbdf7,0x6b4d,0x0000,0x18c3,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x528a,0x738e,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xa514,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x8410,0x2945,0xad75,0xffff,0xffff,0xef5d,0x73ae,0x4228,0x52aa,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x2124,0x0000,0x0861,0xa534,0xffff,0xef7d,0x2104,0x0000,0x0000,0x0000,0x0000,0x94b2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x528a,0xef7d,0xffff,0xffff,0x8430,0x0000,0x2945,0xef5d,0xdefb,0x10a2,0x1082,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a69,0x0000,0xe71c,0xffff,0xffff,0xffff,0x2124,0x0000,0xa534,0xffff,0xffff,0x6b6d,0x0000,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xffff,0xffff,0xffff,0xd69a,0x0000,0x0841,0xf79e,0xffff,0xffff,0x7bcf,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0xbdf7,0xffff,0xffff,0x73ae,0x0000,0x528a,0xffff,0xffff,0xf79e,0x2945,0x0020,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce79,0x0020,0x18c3,0x8c71,0x8c51,0x0861,0x0000,0xad75,0xffff,0xad75,0x18c3,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x0841,0x0000,0x0000,0x0000,0x5acb,0xffff,0xffff,0xad55,0x0861,0x632c,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xb596,0xa514,0xd6ba,0xffff,0xffff,0xffff,0xf7be,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x7bef,0x31a6,0x0861,0x0000,0x0020,0x2945,0x5acb,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x0861,0x0000,0x0020,0x2965,0x1082,0x0020,0x1082,0x0000,0x0000,0x5aeb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0861,0x0020,0x8c51,0xf79e,0xffff,0x4228,0x2104,0xffff,0xce79,0x39c7,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x738e,0x0000,0x9492,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xf79e,0x2124,0x0841,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xf79e,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x73ae,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xef7d,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x6b4d,0x0000,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x7bcf,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xe71c,0x1082,0x18c3,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x18c3,0x0000,0x4a69,0xd6ba,0xffff,0x4228,0x18e3,0xce79,0x9492,0x18c3,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x2124,0x0000,0x9cd3,0xffff,0x4228,0x0000,0x0000,0x0000,0x18c3,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xbdd7,0xdefb,0xffff,0x8c51,0x5aeb,0x73ae,0xb596,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x5aeb,0x2104,0x0000,0x0000,0x0000,0x10a2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x5aeb,0x2104,0x0000,0x0000,0x0000,0x2965,0x632c,0xa514,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x0000,0x0861,0x4208,0x7bcf,0xb5b6,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x2124,0x528a,0x8c71,0xc618,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xc618,0x9492,0x52aa,0x2124,0x0000,0x0000,0x0020,0x31a6,0x632c,0xa514,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xb5b6,0x7bef,0x4a69,0x1082,0x0000,0x0000,0x1082,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xce79,0x9492,0x5acb,0x31a6,0x0020,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xb596,0x7bcf,0x4208,0x0861,0x0000,0x0000,0x1082,0x4228,0x7bef,0xb596,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x0000,0x0000,0x31a6,0x632c,0xa514,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x18c3,0x528a,0x9492,0xd69a,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xb596,0x6b6d,0x39c7,0x0020,0x0000,0x0000,0x0861,0x4228,0x8410,0xbdd7,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb5b6,0x7bcf,0x39c7,0x0020,0x0000,0x0000,0x0020,0x39c7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb5b6,0x8410,0x4208,0x0841,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb596,0x31a6,0x0000,0x1082,0x630c,0xef7d,0xffff,0xffff,0x8430,0x9492,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0020,0x0000,0x39c7,0x2124,0x0000,0x31a6,0xffdf,0xffff,0x31a6,0x0000,0x18e3,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0x9cd3,0xffff,0xffdf,0x52aa,0x0000,0xbdd7,0xffff,0xe73c,0x73ae,0x0000,0x39e7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xf7be,0xffff,0xffff,0xb5b6,0x0000,0x738e,0xffff,0xffff,0xffff,0x4a49,0x0000,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xf79e,0xffff,0xffff,0xef5d,0x0000,0x528a,0xffff,0xffff,0xffff,0x7bef,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0xa514,0xffff,0xffff,0xffff,0x2104,0x18c3,0xffff,0xffff,0xffff,0x6b6d,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0861,0xb5b6,0xffff,0xffff,0x6b6d,0x0000,0xd69a,0xffff,0xe71c,0x18c3,0x0000,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x5aeb,0x0020,0x0000,0x18e3,0x4228,0x2965,0x0000,0x2124,0x4208,0x0841,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0x630c,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0xd69a,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xffff,0xffff,0xa514,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0x4228,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xffff,0xffff,0xd69a,0xc638,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xd69a,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0x4a49,0x0000,0xc638,0xc638,0xc638,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x1082,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0x4208,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x2965,0x0000,0x7bef,0x7bef,0x7bef,0x7bef,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0xad55,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x10a2,0x5aeb,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x18c3,0x0000,0x4228,0x4228,0x0861,0x0000,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xdefb,0x0000,0x2124,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x5aeb,0xffff,0xffff,0xffff,0x0000,0x31a6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb5b6,0x9492,0x7bef,0x7bef,0xa534,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x73ae,0x0841,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2965,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a69,0x0000,0x18c3,0x7bcf,0xad75,0xc638,0xbdf7,0x94b2,0x4a69,0x0000,0x0020,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa534,0x0000,0x39e7,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad55,0x0020,0x2124,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x528a,0x0000,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bcf,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b4d,0x0000,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x2965,0x0000,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x0020,0x0861,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x528a,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x94b2,0x0020,0x0000,0x18c3,0x4a69,0x5aeb,0x5acb,0x39c7,0x0020,0x0000,0x39c7,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x5acb,0x10a2,0x0000,0x0000,0x0000,0x0000,0x31a6,0x9492,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xdefb,0xdefb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x2124,0x0000,0x0000,0x2965,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x73ae,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x10a2,0x0000,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0x0841,0x0000,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xbdd7,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xb596,0x7bef,0x9492,0xdefb,0xffff,0xffff,0xffff,0xe71c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x39e7,0x0000,0x0000,0x0000,0x0020,0x9cf3,0xffff,0xffff,0x4228,0x10a2,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x39c7,0xb5b6,0xa514,0x10a2,0x0841,0xe71c,0xffff,0x73ae,0x1082,0x0000,0x8430,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xdedb,0xffff,0xffff,0x94b2,0x0000,0x94b2,0xffff,0xffff,0xe73c,0x18c3,0x1082,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xffff,0xffff,0xffff,0xd69a,0x0000,0x630c,0xffff,0xffff,0xffff,0x6b6d,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0xd6ba,0xffff,0xffff,0xffdf,0x0841,0x39c7,0xffff,0xffff,0xffff,0x7bef,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x2104,0x4a69,0xffdf,0xffff,0xffff,0x4228,0x0020,0xf79e,0xffff,0xffff,0x4a49,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb5b6,0x0020,0x39c7,0x9cf3,0xc638,0x738e,0x0000,0x8430,0xbdf7,0x6b4d,0x0000,0x18c3,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x528a,0x738e,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xa514,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x10a2,0x5aeb,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x18c3,0x0000,0x4228,0x4228,0x0861,0x0000,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xdefb,0x0000,0x2124,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x5aeb,0xffff,0xffff,0xffff,0x0000,0x31a6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb596,0x8c71,0x7bef,0x8430,0xad55,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0x738e,0x0841,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x4208,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x4228,0x0000,0x18c3,0x7bcf,0xad75,0x31a6,0x10a2,0x9492,0x4a69,0x0000,0x0861,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa534,0x0000,0x39c7,0xef7d,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xad55,0x0020,0x2945,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x528a,0x0000,0xd69a,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x5acb,0x0000,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xffff,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x7bef,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xc618,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x39e7,0x0000,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb596,0x0000,0x2124,0xce79,0xffff,0xffff,0x4228,0x2104,0xffff,0xffdf,0x7bef,0x0000,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x738e,0x0000,0x0000,0x9cf3,0xffff,0x4228,0x0861,0x4a69,0x10a2,0x0000,0x2965,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x39e7,0xad75,0xffff,0x4228,0x0000,0x0000,0x31a6,0x9492,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xdefb,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x5aeb,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x5aeb,0x2104,0x0000,0x0000,0x0000,0x10a2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x5aeb,0x2104,0x0000,0x0000,0x0000,0x2965,0x632c,0xa514,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x0000,0x0861,0x4208,0x7bcf,0xb5b6,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x2124,0x528a,0x8c71,0xc618,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xc618,0x9492,0x52aa,0x2124,0x0000,0x0000,0x0020,0x31a6,0x632c,0xa514,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xb5b6,0x7bef,0x4a69,0x1082,0x0000,0x0000,0x1082,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xce79,0x9492,0x5acb,0x31a6,0x0020,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xb596,0x7bcf,0x4208,0x0861,0x0000,0x0000,0x1082,0x4228,0x7bef,0xb596,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x0000,0x0000,0x31a6,0x632c,0xa514,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x18c3,0x528a,0x9492,0xd69a,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xb596,0x6b6d,0x39c7,0x0020,0x0000,0x0000,0x0861,0x4228,0x8410,0xbdd7,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb5b6,0x7bcf,0x39c7,0x0020,0x0000,0x0000,0x0020,0x39c7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xb5b6,0x8410,0x4208,0x0841,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xad55,0x7bcf,0x18c3,0x3186,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x1082,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x2965,0x0000,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x738e,0x2945,0x0000,0x18e3,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x3186,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xbdd7,0x8430,0x18e3,0x4a49,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x1082,0x39e7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x2945,0x0000,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x738e,0x2965,0x0000,0x18c3,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2945,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0x4228,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0xffff,0xffff,0x73ae,0x4228,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xb596,0x7bef,0x10a2,0x31a6,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x1082,0x4a49,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xce59,0x632c,0x0000,0x0861,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0x94b2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x632c,0x8c71,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0x9cf3,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x0000,0x0861,0x8430,0xb5b6,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a69,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x630c,0x0861,0xa514,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x4228,0x0861,0x0000,0x0000,0x18e3,0x2104,0x2104,0x2104,0x2104,0x2104,0x2104,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x8430,0x528a,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x18c3,0x0000,0x4228,0x4228,0x4228,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8410,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x528a,0x2945,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x7bef,0x31a6,0x0861,0x0000,0x0020,0x2945,0x5acb,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x0861,0x0000,0x0020,0x2965,0x1082,0x0020,0x1082,0x0000,0x0000,0x5aeb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0861,0x0020,0x8c51,0xf79e,0xffff,0x4228,0x2104,0xffff,0xce79,0x39c7,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x738e,0x0000,0x9492,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xf79e,0x2124,0x0841,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xf79e,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x73ae,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xef7d,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xffff,0x6b4d,0x0000,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x7bcf,0xffff,0xffff,0xffff,0x4228,0x2104,0xffff,0xffff,0xe71c,0x1082,0x18c3,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x18c3,0x0000,0x4a69,0xd6ba,0xffff,0x4228,0x18e3,0xce79,0x9492,0x18c3,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x2124,0x0000,0x9cd3,0xffff,0x4228,0x0000,0x0000,0x0000,0x18c3,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xbdd7,0xdefb,0xffff,0x8c51,0x5aeb,0x73ae,0xb596,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xad55,0xdefb,0xffff,0xffff,0xffff,0xef7d,0xc638,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x1082,0x0000,0x9cd3,0xffff,0xffff,0x8c71,0x0841,0x0000,0x0000,0x3186,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0x0861,0x7bcf,0xdefb,0xffff,0xbdf7,0x0000,0x0020,0x6b4d,0x5aeb,0x0000,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x630c,0x0000,0xad55,0xffff,0xffff,0xffff,0x528a,0x0000,0x6b6d,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xffdf,0xffff,0xffff,0xf79e,0x0841,0x0000,0xd69a,0xffff,0xffff,0x7bef,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a69,0x0000,0xef5d,0xffff,0xffff,0xa534,0x0000,0x2124,0xffff,0xffff,0xffff,0x630c,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x6b6d,0xffdf,0xf7be,0x39c7,0x0000,0x7bef,0xffff,0xef5d,0x8c71,0x0020,0x18e3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0x2945,0x0000,0x1082,0x1082,0x0000,0x0861,0xe73c,0xffff,0x94b2,0x0000,0x0841,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x738e,0x31a6,0x2104,0x52aa,0xce79,0xffff,0xffff,0xd69a,0x8c51,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x2104,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x7bef,0x9492,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xa514,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x2104,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ };
-diff -Nur linux_c860_org/drivers/video/tosaLogoMsgJ.c linux/drivers/video/tosaLogoMsgJ.c
---- linux_c860_org/drivers/video/tosaLogoMsgJ.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/tosaLogoMsgJ.c 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,488 @@
-+/* Logo Screen 16bits RGB(565) data*/
-+#ifndef __initdata
-+#define __initdata
-+#endif
-+static const int logo_msg_width_jp __initdata = 32;
-+static const int logo_msg_height_jp __initdata = 480;
-+static const unsigned short logo_msg_data_jp[32*480] __initdata ={
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x0000,0x39c7,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0x0020,0x39c7,0x9492,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x0861,0x0000,0x0020,0x7bef,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0000,0x0000,0x0000,0x0000,0x39e7,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0x94b2,0x0861,0x0000,0x3186,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0xbdd7,0x3186,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xdefb,0x3186,0x0000,0x0861,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x0861,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xf7be,0x632c,0x0000,0x0000,0x8430,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0x94b2,0x0020,0x0000,0x52aa,0xe73c,0xffff,0xffff,0xffff,0xffff,0xd69a,0x0020,0x2965,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xb5b6,0x1082,0x0000,0x0841,0x5acb,0x94b2,0xa514,0x6b4d,0x0861,0x0000,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x4a49,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5acb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x738e,0x4228,0x4228,0x5acb,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xdefb,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe71c,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8410,0x0000,0x8430,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xc618,0x18c3,0x2124,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x630c,0x0000,0x0020,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdedb,0x0861,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x4a49,0x0000,0x0020,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x94b2,0x0000,0x0000,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xc638,0xd6ba,0x39e7,0x0000,0x0020,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0x0861,0xc618,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xf7be,0x52aa,0x0000,0x0000,0x632c,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x0861,0xbdd7,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0x8410,0x0020,0x0000,0x18e3,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x5acb,0x0000,0x0000,0x6b4d,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xbdf7,0x2104,0x0000,0x0000,0x2965,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0x0861,0x0000,0x0000,0x2124,0x2965,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xf7be,0x8410,0x1082,0x2124,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x738e,0x18c3,0x0000,0x0000,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0x7bef,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7be,0xa534,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb5b6,0x630c,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xad55,0x2945,0x0000,0x0000,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7be,0x10a2,0x0000,0x0000,0x18c3,0x2104,0x4208,0x4228,0x5acb,0x5aeb,0x4a69,0x0000,0x7bef,0xffff,0xffff,0xdefb,0x39c7,0x0000,0x0000,0x2124,0x94b2,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xc638,0x3186,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x7bef,0xffff,0xa514,0x0861,0x0000,0x0861,0x8c71,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0xc638,0xc638,0xa534,0xa514,0x94b2,0x7bef,0x7bef,0x630c,0xad75,0x8c71,0x0000,0x0000,0x3186,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x0000,0x0000,0x528a,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce79,0x0020,0x0000,0x39e7,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x2945,0x0000,0x18e3,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc618,0x2104,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0x630c,0x52aa,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xc638,0xce59,0xffff,0xffff,0xffff,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0020,0x0000,0x4228,0xe73c,0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x39e7,0x0000,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb5b6,0x10a2,0x0000,0x10a2,0x9cf3,0xffdf,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x4a49,0x0000,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x632c,0x0020,0x0000,0x2124,0x94b2,0xe73c,0x0000,0x2104,0xffff,0xffff,0x6b6d,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x73ae,0x2104,0x2104,0x2104,0x2104,0x2104,0x2104,0x2104,0x2104,0x0861,0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0x2104,0x2104,0x1082,0x0000,0x528a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x1082,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xef5d,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0xdedb,0x39c7,0x0000,0x2104,0xd6ba,0xdefb,0x0000,0x18e3,0xdefb,0xdefb,0xdefb,0x0861,0x0000,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0x39e7,0x0000,0x0861,0xd6ba,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0x52aa,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x5aeb,0x73ae,0xffff,0xffff,0xffff,0xffff,0xd6ba,0x18e3,0x0861,0xc618,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0x9492,0x2965,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xc638,0xffff,0xffff,0xffff,0xffff,0x7bef,0x9492,0xffff,0xffff,0xffff,0xe71c,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x9cd3,0x5aeb,0xdedb,0xffff,0x7bef,0x0000,0xa514,0xef7d,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0x7bef,0x0000,0xa514,0xc638,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0x7bef,0x0000,0xa514,0xd69a,0x2945,0x0000,0x2104,0x4228,0x4228,0x31a6,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0x7bef,0x0000,0xa514,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x1082,0x7bef,0x7bef,0x2965,0x0000,0x630c,0x7bef,0x4208,0x0000,0xa514,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa514,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x1082,0x7bef,0x7bef,0x2965,0x0000,0x630c,0x7bef,0x4208,0x0000,0xa514,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0x7bef,0x0000,0xa514,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0x7bef,0x0000,0xa514,0xe71c,0x528a,0x0000,0x4208,0x7bef,0x7bef,0x630c,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0x7bef,0x0000,0xa514,0xc638,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xc638,0xa514,0xe73c,0xffff,0x7bef,0x0000,0xa514,0xe71c,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x4228,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xdefb,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xe73c,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf79e,0x3186,0x0000,0x528a,0xb5b6,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xe73c,0x52aa,0x0000,0x0000,0x0000,0x0841,0x39e7,0x5aeb,0x7bcf,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0x6b6d,0x2104,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdefb,0xe73c,0xffff,0xffff,0xe71c,0xb5b6,0x9cd3,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x7bef,0x528a,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x6b4d,0x0000,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x632c,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0x5acb,0x73ae,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x9492,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0x2104,0x4228,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xc638,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0x18e3,0x4228,0xf7be,0xc638,0xc638,0xc638,0x630c,0x0000,0xad55,0xc638,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffdf,0x10a2,0x0000,0xdedb,0xffff,0xf79e,0x5aeb,0x0000,0x4228,0xdefb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0x8410,0xef7d,0x39e7,0x0000,0x0000,0x4228,0xe73c,0x2104,0x0000,0x39e7,0x2104,0x0000,0x39e7,0x31a6,0xa514,0x0000,0x2965,0x5aeb,0x73ae,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xd69a,0x0000,0x18c3,0x2124,0x0000,0x8410,0x2104,0x4228,0xffff,0x7bef,0x0000,0xdefb,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x0000,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0x0000,0x738e,0xffff,0x2104,0x4228,0xffff,0x7bef,0x0000,0xdefb,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x2965,0x5aeb,0x52aa,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x0000,0xd6ba,0xffff,0x2104,0x4228,0xffff,0x7bef,0x0000,0xdefb,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffdf,0x18e3,0x0841,0x0020,0x2945,0xf79e,0x2104,0x4228,0xffff,0x528a,0x0000,0x8c71,0x528a,0x0000,0x8c71,0xa514,0x94b2,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xad75,0x0000,0x5acb,0x7bef,0x0000,0x4a49,0x18e3,0x4228,0xffff,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x8410,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0xa514,0xffdf,0x52aa,0x0000,0x0000,0x4228,0xffff,0x5aeb,0x5aeb,0x5aeb,0x2965,0x0000,0x528a,0x4a69,0x8c51,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x1082,0x0000,0xdefb,0xffff,0xf79e,0x39e7,0x0000,0x31a6,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd69a,0x0000,0x10a2,0xffff,0xffff,0xffff,0xffdf,0x39e7,0xc638,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x9cf3,0x0000,0x4208,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x6b6d,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xd6ba,0x9492,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xdefb,0xffdf,0xffff,0xf79e,0xdefb,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffdf,0x73ae,0x18e3,0x0020,0x2945,0x6b6d,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x9492,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x6b6d,0x0000,0x1082,0x2104,0x0861,0x0000,0x0861,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xef5d,0x0020,0x2945,0xf79e,0xffff,0xf7be,0x94b2,0x0020,0x0020,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x5acb,0xffff,0xffff,0xffff,0xffff,0xb5b6,0x0020,0x18c3,0xef5d,0xffff,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf7be,0x1082,0x0861,0x9cd3,0xd6ba,0xdefb,0xdefb,0xdefb,0x73ae,0x0000,0x5aeb,0xdefb,0xdefb,0xdefb,0xb596,0x0000,0x4208,0xdefb,0xdefb,0xdefb,0xdefb,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x94b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xad55,0x4228,0x2104,0x2104,0x2104,0x2104,0x2104,0x10a2,0x0000,0x1082,0x2104,0x2104,0x2104,0x0020,0x0000,0x2104,0x2104,0x2104,0x18c3,0x8430,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x0000,0x52aa,0xffff,0xffff,0xffff,0x4228,0x0000,0xd69a,0xffff,0xffff,0xffdf,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x1082,0x18e3,0xffff,0xffff,0xffff,0x6b6d,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0x73ae,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0xf79e,0xffff,0xffff,0xad55,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xc618,0x1082,0x0000,0x9cd3,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xdefb,0xffff,0xffff,0xe73c,0x0841,0x39e7,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf7be,0x18c3,0x0000,0x528a,0xef7d,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xb596,0x0000,0x39c7,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a69,0x0000,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x9cf3,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x10a2,0x18e3,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b6d,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cf3,0x0000,0x630c,0xffff,0xffff,0xffff,0xffff,0x9492,0x0000,0x2945,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdedb,0x0000,0x1082,0xdedb,0xffff,0xffff,0xffff,0xad75,0x0861,0x0020,0xd6ba,0xffff,0xffff,0xffff,0xbdf7,0x0020,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x5acb,0x0000,0x1082,0x52aa,0x5aeb,0x39c7,0x0000,0x0000,0x8c51,0xffff,0xffff,0xffff,0xdedb,0x10a2,0x0000,0x4228,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x4a69,0x0000,0x0000,0x0000,0x0000,0x10a2,0x9cf3,0xffff,0xffff,0xffff,0xe71c,0x18c3,0x0000,0x2104,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0xa534,0xa514,0xb5b6,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffdf,0x52aa,0x18c3,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffdf,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x4a69,0x0000,0x4228,0xffdf,0xffff,0xffff,0xe73c,0x3186,0x1082,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad55,0x0020,0x0000,0x52aa,0xffdf,0xffff,0xffff,0x4228,0x0000,0x3186,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdedb,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0xc638,0x738e,0x0000,0x0000,0x4228,0xef5d,0xffff,0xef5d,0x2124,0x0000,0x39e7,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x18c3,0xad75,0xffff,0xe73c,0x2124,0x0000,0x2104,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x8c51,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x4228,0x2945,0x0000,0x0000,0x4228,0xd69a,0xe73c,0x4228,0x0000,0x0020,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x9492,0x1082,0x0000,0x39c7,0xffff,0xffdf,0x8c71,0x2124,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xc638,0xf7be,0xffff,0xd69a,0x7bef,0xad55,0x4a69,0xd6ba,0xffff,0xffff,0xffff,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xa514,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x94b2,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x2124,0x0000,0xad55,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0x2104,0x0000,0x2124,0xf79e,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad55,0x0020,0x18c3,0xdefb,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x6b6d,0xdefb,0xdefb,0x0000,0x18e3,0xdefb,0xdefb,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdd7,0xe73c,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x7bcf,0x0861,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x1082,0x2104,0x2104,0x0000,0x0020,0x2104,0x2104,0x3186,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x5aeb,0x0000,0xad55,0xdefb,0xdefb,0xdefb,0xdefb,0xdefb,0x39e7,0x0000,0xc618,0xdefb,0x8c71,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0x5aeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xc618,0x2965,0x2104,0x2104,0x2104,0x2104,0x2104,0x2104,0x0841,0x0000,0x18e3,0x2104,0x10a2,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0x4228,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xdefb,0xffff,0xa514,0x0000,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xc638,0xf7be,0xffff,0xad75,0x2104,0x9492,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x39c7,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x0000,0x528a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x7bcf,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0x2945,0x8430,0xce79,0xffff,0xffff,0xffff,0xef5d,0x0000,0x39e7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x0000,0x0000,0x0000,0x18c3,0x528a,0x9492,0xce79,0x0000,0x2104,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x4228,0x0000,0x1082,0x4208,0x0841,0x0000,0x0000,0x0000,0x0000,0x0841,0x630c,0x94b2,0xbdf7,0xdedb,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xf7be,0xffff,0xffff,0xffff,0xe73c,0x10a2,0x0000,0xd6ba,0xf7be,0xc638,0x8c51,0x528a,0x0841,0x0000,0x0000,0x0000,0x0000,0x0000,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x528a,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x6b6d,0xffff,0xffff,0xffff,0xffff,0x528a,0x0000,0x8c71,0x6b6d,0x39c7,0x10a2,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffdf,0x10a2,0x18e3,0xffff,0xffff,0xffff,0xffff,0x632c,0x0000,0xc638,0xffff,0xffff,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x2104,0x0000,0xdedb,0xffff,0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0xd6ba,0xffff,0xffff,0xffff,0x8430,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x2965,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0xad75,0xffff,0xffff,0xffff,0xa514,0x0000,0x7bcf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x4a49,0x0000,0xad55,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0xa514,0xffff,0xffff,0xffff,0xc638,0x0000,0x528a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x6b6d,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cf3,0x0000,0xa514,0xffff,0xffff,0xffff,0xdefb,0x0000,0x2965,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xad55,0x0000,0x2945,0xffff,0xffff,0xffff,0xffff,0xffff,0x6b4d,0x0000,0xbdf7,0xffff,0xffff,0xffff,0xffff,0x9492,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef5d,0x0841,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xdedb,0x0861,0x0841,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x738e,0x0000,0x0020,0x5acb,0x9cd3,0x738e,0x0861,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x4a49,0x0000,0x0000,0x0000,0x0000,0x0000,0x5acb,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb596,0x6b4d,0x5aeb,0x6b6d,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x39e7,0x2124,0x9492,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x18c3,0x0000,0x0000,0x0000,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0x2124,0x0000,0x39e7,0x8430,0x0020,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x39c7,0x0000,0x2124,0xf79e,0xffff,0xad55,0x0000,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x39e7,0x0000,0x1082,0xdedb,0xffff,0xffff,0xffff,0x8c71,0x0000,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x0020,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x0000,0x8c71,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0x52aa,0x0000,0x0000,0x9cf3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x0000,0x73ae,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x4a69,0x0000,0x0000,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0x0000,0x52aa,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xef7d,0x39e7,0x0000,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x9cd3,0x0020,0x0000,0x2945,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb596,0x0861,0x0000,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xdedb,0x18c3,0x8430,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x8410,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xad75,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x9492,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xc618,0x0000,0x0020,0x528a,0xad75,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xbdd7,0x2945,0x0000,0x0000,0x0000,0x0861,0x52aa,0xa514,0xe71c,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0xc638,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x6b6d,0x2124,0x0000,0x0000,0x0000,0x0000,0x2124,0x5acb,0x9492,0xc618,0x6b4d,0x0000,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdedb,0x9cd3,0x52aa,0x18e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2945,0x5acb,0x7bcf,0xa514,0xc638,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xb596,0x7bef,0x4a69,0x18e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x0000,0x4a49,0xa534,0x738e,0x4208,0x0841,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x0000,0x39e7,0xffff,0xffff,0xffff,0xdefb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0x3186,0x9492,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x10a2,0x1082,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4a69,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x6b4d,0xf7be,0xffff,0xffff,0x4208,0x0000,0xd6ba,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0x4208,0x0000,0xad75,0xffff,0xffff,0xb5b6,0xb5b6,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xf79e,0x0020,0x0000,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0x94b2,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xce59,0x0000,0x18e3,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x0000,0x2124,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xa534,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0841,0x0000,0xef7d,0xffff,0xffff,0xffff,0xffff,0xb5b6,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x31a6,0x0000,0xce59,0xffff,0xffff,0xffff,0xe71c,0x0861,0x4a49,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x4a69,0x0000,0xad55,0xffff,0xffff,0xffff,0x4208,0x0020,0xdedb,0x9492,0xe71c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0x9cd3,0xffff,0xffff,0x94b2,0x0000,0x8430,0xbdf7,0x0000,0x6b4d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bcf,0x0000,0x7bef,0xffff,0xffff,0xbdd7,0x5acb,0xef7d,0x2104,0x18e3,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xad75,0x2104,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0xd69a,0xffdf,0xffff,0xffff,0xffff,0xffff,0x630c,0x0000,0xb596,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xce59,0x8c51,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xad55,0x630c,0x5aeb,0x94b2,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xbdf7,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x4208,0x0000,0x0000,0x0000,0x0000,0x2124,0xe73c,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x4228,0x0000,0x2104,0x9492,0x9cf3,0x4208,0x0000,0x528a,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xb596,0x0000,0x1082,0xe73c,0xffff,0xffff,0xf7be,0x2124,0x0000,0xdefb,0xffff,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x52aa,0x0000,0x73ae,0xffff,0xffff,0xffff,0xffff,0x8c71,0x0000,0xa514,0xffff,0xffff,0xffff,0xc638,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0x18e3,0x0000,0xbdd7,0xffff,0xffff,0xffff,0xffff,0xc638,0x0000,0x7bef,0xffff,0xffff,0xffff,0xdefb,0x0000,0x52aa,0xffff,0xffff,0xffff,0xd69a,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xf79e,0x0000,0x0000,0xdefb,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0000,0x7bef,0xffff,0xffff,0xffff,0xdefb,0x0000,0x39e7,0xa534,0x52aa,0x1082,0x0000,0x5aeb,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0x0000,0x7bef,0xffff,0xffff,0xffff,0xdedb,0x0000,0x0000,0x0000,0x0000,0x0000,0x1082,0x630c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xd69a,0x0000,0x7bef,0xffff,0xef7d,0x6b4d,0x0020,0x0000,0x0000,0x39e7,0x8c51,0xd6ba,0xffff,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xb596,0x0000,0x8c51,0xbdd7,0x18e3,0x0000,0x0841,0x0841,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0x7bef,0x0000,0x39e7,0x0020,0x0000,0x4228,0xe71c,0x4208,0x0000,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xdefb,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0x39e7,0x0000,0x0000,0x0000,0x8410,0xffff,0xffff,0x528a,0x0000,0xce59,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffdf,0xb596,0x7bcf,0xffff,0xffff,0xffff,0xffff,0xe71c,0x0000,0x0000,0x0000,0x8c71,0xffff,0xffff,0xffff,0x632c,0x0000,0xa514,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8430,0x0000,0x0000,0x8c51,0xffff,0xffff,0xffff,0xffff,0x8430,0x0000,0x738e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xc618,0x18c3,0x5acb,0xffff,0xffff,0xffff,0xffff,0xffff,0xa534,0x18e3,0x7bef,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xe71c,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xd69a,0xb5b6,0xa514,0x9cd3,0x7bef,0x7bef,0x7bef,0x7bef,0xa514,0xa514,0xad75,0xc638,0xd69a,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x6b6d,0x0861,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xad75,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x2124,0x0000,0x0000,0x0020,0x2965,0x4a49,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x5aeb,0x52aa,0x4228,0x31a6,0x18c3,0x0000,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x0000,0x0020,0x9492,0xf79e,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xb5b6,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x5aeb,0x0000,0x39c7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0x8410,0x0000,0x0020,0xbdf7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xf79e,0x2124,0x0000,0x0020,0x630c,0xce79,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef5d,0x4a69,0x0000,0x0000,0x0000,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xad75,0x39c7,0x6b6d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0xef7d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xd6ba,0x2124,0x73ae,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7be,0x8c51,0x0841,0x0000,0x10a2,0xf7be,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0x9492,0x18e3,0x0000,0x0000,0x18c3,0xc618,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xdefb,0xa514,0x528a,0x0841,0x0000,0x0000,0x0000,0x4a69,0xe73c,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xef7d,0x10a2,0x0000,0x0000,0x0000,0x0000,0x0000,0x2124,0xa534,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x2945,0x0000,0x0000,0x0020,0x4228,0xad55,0xffdf,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8c51,0x6b6d,0xad55,0xef5d,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xc638,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xc638,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xa514,0x0000,0x4228,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xe73c,0xc638,0xd69a,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
-+ };
-diff -Nur linux_c860_org/drivers/video/tosa_backlight.c linux/drivers/video/tosa_backlight.c
---- linux_c860_org/drivers/video/tosa_backlight.c 1970-01-01 09:00:00.000000000 +0900
-+++ linux/drivers/video/tosa_backlight.c 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,489 @@
-+/*
-+ * drivers/video/tosa_backlight.c
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ *
-+ * linux/drivers/video/corgi_frontlight.c
-+ *
-+ * (C) Copyright 2002 SHARP
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ *
-+ * linux/drivers/video/poodle_frontlight.c
-+ *
-+ * (C) Copyright 2001 Lineo Japan, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ *
-+ * linux/drivers/video/collie_frontlight.c
-+ *
-+ * (C) Copyright 2001 Lineo Japan, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ * drivers/video/sa1100_frontlight.c
-+ * Initial Version by: Nicholas Mistry (nmistry@lhsl.com)
-+ *
-+ * ChangeLog:
-+ * 02-Dec-2002 SHARP for SL-C700
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/errno.h>
-+#include <linux/string.h>
-+#include <linux/ctype.h>
-+#include <linux/mm.h>
-+#include <linux/tty.h>
-+#include <linux/slab.h>
-+#include <linux/proc_fs.h>
-+#include <linux/init.h>
-+#include <linux/fb.h>
-+#include <linux/delay.h>
-+
-+#include <linux/pm.h>
-+
-+#include <asm/system.h>
-+#include <asm/hardware.h>
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/uaccess.h>
-+#include <asm/proc/pgtable.h>
-+
-+#include <video/tosa_backlight.h>
-+
-+#include <linux/interrupt.h>
-+
-+#include <asm/arch/i2sc.h>
-+
-+extern void pxa_nssp_output(unsigned char, unsigned char);
-+
-+#if 0
-+#define DPRINTK(fmt, args...) printk("%s: " fmt, __FUNCTION__ , ## args)
-+#else
-+#define DPRINTK(fmt, args...)
-+#endif
-+
-+#ifdef CONFIG_PM
-+static int is_bl_pm = 0;
-+static int is_bl_blank = 0;
-+static int counter_step_save = 0;
-+#endif
-+
-+#define BL_SETTING 6
-+#define BL_DEFAULT 3
-+
-+int counter_step_contrast = BL_DEFAULT;
-+static int bl_limit = BL_SETTING - 1;
-+static spinlock_t bl_lock = SPIN_LOCK_UNLOCKED;
-+
-+typedef struct _duty_vr_t {
-+ int duty;
-+ int vr;
-+} duty_vr_t;
-+
-+static duty_vr_t bl_duty_table[BL_SETTING] = {
-+ {0, 0}, //Light Off
-+ {11, 1},
-+ {33, 1},
-+ {68, 1},
-+ {100, 1},
-+ {255, 1},
-+};
-+
-+static int tosa_bl_ioctl(struct inode* inode, struct file*, unsigned int,
-+ unsigned long);
-+static int bl_step_contrast_setting(int);
-+
-+extern unsigned short set_scoop_gpio(unsigned short);
-+extern unsigned short reset_scoop_gpio(unsigned short);
-+
-+#define SetBacklightDuty(a) set_bl_bright(a);
-+#define SetBacklightVR(a) if (a) { TC6393_SYS_REG(TC6393_SYS_GPODSR1) |= TC6393_BL_C20MA; } \
-+ else { TC6393_SYS_REG(TC6393_SYS_GPODSR1) &= ~TC6393_BL_C20MA; }
-+
-+/*
-+ * I2C functions.
-+ */
-+#define I2C_TIMEOUT 100 //wait for 5ms
-+#define I2C_ADR_DAC 0x4e //DAC Slave address
-+#define DAC_CH1 0
-+#define DAC_CH2 1
-+#define I2C_ICR_DEF_VAL (ICR_IUE | ICR_SCLE | ICR_FM)
-+#define i2c_reset() i2c_init(1)
-+#define i2c_set() i2c_init(0)
-+void i2c_init(int reset)
-+{
-+ if( reset ) {
-+ ICR = ICR_UR;
-+ CKEN &= ~CKEN14_I2C;
-+ }
-+ CKEN |= CKEN14_I2C; //Set I2C cleck
-+ ICR = I2C_ICR_DEF_VAL;
-+ ISR = 0x6f0; //Clear all status.
-+}
-+
-+static int i2c_wait_for_fifo_empty(void)
-+{
-+ int timeo = 0;
-+ while( 1 ) {
-+ if( ISR & ISR_ITE) break;
-+ if( timeo++ > I2C_TIMEOUT ) {
-+ DPRINTK("timeout: %x\n", ISR);
-+ i2c_reset();
-+ return -EBUSY;
-+ }
-+ mdelay(1);
-+ }
-+ ISR = ISR_ITE;
-+ return 0;
-+}
-+
-+static int i2c_write(unsigned char reg, unsigned char val)
-+{
-+ int ret;
-+
-+ /* Start condition */
-+ if( ISR & ISR_IBB ) {
-+ DPRINTK("bus is busy\n");
-+ i2c_reset();
-+ return -EBUSY;
-+ }
-+ /* Slave address write */
-+ IDBR = (I2C_ADR_DAC << 1);
-+ ICR = (ICR_START | ICR_TB | I2C_ICR_DEF_VAL | ICR_ACKNAK);
-+ if( (ret = i2c_wait_for_fifo_empty()) < 0 ) return ret;
-+
-+ /* DAC channel write */
-+ IDBR = reg;
-+ ICR = (ICR_TB | I2C_ICR_DEF_VAL);
-+ if( (ret = i2c_wait_for_fifo_empty()) < 0 ) return ret;
-+
-+ /* data write */
-+ IDBR = val;
-+ ICR = (ICR_STOP | ICR_TB | I2C_ICR_DEF_VAL | ICR_ACKNAK);
-+ if( (ret = i2c_wait_for_fifo_empty()) < 0 ) return ret;
-+
-+ ICR = I2C_ICR_DEF_VAL;
-+ return 0;
-+}
-+
-+/*
-+ * Backlight control functions.
-+ */
-+static void bl_enable(int sw)
-+{
-+ if( sw ) pxa_nssp_output(TG_GPODR2, 0x01); //GP04=1
-+ else pxa_nssp_output(TG_GPODR2, 0x00); //GP04=0
-+}
-+
-+static int set_bl_bright(unsigned char dat)
-+{
-+ return i2c_write(DAC_CH2, dat);
-+}
-+
-+#ifdef CONFIG_PROC_FS
-+struct proc_dir_entry *proc_bl;
-+
-+static ssize_t bl_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char obuf[15];
-+ int count = 0;
-+
-+ if( *ppos>0 ) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(obuf, "0x%02X%02X\n",
-+ bl_duty_table[counter_step_contrast].vr,
-+ bl_duty_table[counter_step_contrast].duty);
-+ *ppos += count;
-+ if( count>nbytes ) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if( copy_to_user(buf, obuf, count) )
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t bl_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ unsigned long param;
-+ char *endp;
-+
-+ param = simple_strtoul(buf,&endp,0);
-+ SetBacklightDuty(param & 0xff);
-+ SetBacklightVR((param & 0xff00) >> 8);
-+ return nbytes+endp-buf;
-+}
-+
-+static struct file_operations proc_params_operations = {
-+ read: bl_read_params,
-+ write: bl_write_params,
-+};
-+#endif /* CONFIG_PROC_FS */
-+
-+#ifdef CONFIG_PM
-+void tosa_bl_blank(int blank)
-+{
-+ if( blank ) {
-+ if( !is_bl_blank ) {
-+ is_bl_blank = 1;
-+ counter_step_save = counter_step_contrast;
-+ bl_step_contrast_setting(0);
-+ }
-+ } else {
-+ if( is_bl_blank && !is_bl_pm ) {
-+ bl_step_contrast_setting(counter_step_save);
-+ is_bl_blank = 0;
-+ }
-+ }
-+}
-+
-+void tosa_l_blank_power_button(void)
-+{
-+ if (!is_bl_blank) {
-+ is_bl_blank = 1;
-+ counter_step_save = counter_step_contrast;
-+ bl_step_contrast_setting(0);
-+ }else{
-+ counter_step_contrast = counter_step_save;
-+ bl_step_contrast_setting(counter_step_contrast);
-+ is_bl_blank = 0;
-+ }
-+}
-+
-+
-+int tosa_bl_pm_callback(struct pm_dev* pm_dev,
-+ pm_request_t req, void *data)
-+{
-+ switch (req) {
-+ case PM_SUSPEND:
-+ is_bl_pm = 1;
-+ tosa_bl_blank(1);
-+ break;
-+ case PM_RESUME:
-+ is_bl_pm = 0;
-+ tosa_bl_blank(0);
-+ break;
-+ }
-+ return 0;
-+}
-+#endif /* CONFIG_PM */
-+
-+static struct file_operations tosa_bl_fops = {
-+ ioctl: tosa_bl_ioctl,
-+};
-+
-+static int bl_major;
-+
-+#define CHECK_BATTERY_TIME 1
-+static int bl_step_contrast_setting_nocheck(int need_value)
-+{
-+ unsigned long flags;
-+
-+ /* Check value */
-+ if( need_value < 0 ) need_value = 0;
-+ if( need_value > bl_limit ) need_value = bl_limit;
-+
-+ spin_lock_irqsave(&bl_lock, flags);
-+ if(need_value > 0) bl_enable(1);
-+ else bl_enable(0);
-+ SetBacklightDuty(bl_duty_table[need_value].duty);
-+ SetBacklightVR(bl_duty_table[need_value].vr);
-+ spin_unlock_irqrestore(&bl_lock, flags);
-+ counter_step_contrast = need_value;
-+
-+ return counter_step_contrast;
-+}
-+
-+
-+static int bl_step_contrast_setting(int need_value)
-+{
-+ int ret = 0;
-+ extern void sharpsl_kick_battery_check(int,int,int);
-+ sharpsl_kick_battery_check(0,1,0); // check battery and wait 10msec
-+ ret = bl_step_contrast_setting_nocheck(need_value);
-+ sharpsl_kick_battery_check(1,0,0); // wait 10msec and check battery
-+ return ret;
-+}
-+
-+static int temporary_contrast_set_flag = 0;
-+
-+void tosa_bl_temporary_contrast_set(void)
-+{
-+ int need_value = counter_step_contrast;
-+
-+ if( temporary_contrast_set_flag ) return;
-+
-+ temporary_contrast_set_flag = 1;
-+ bl_step_contrast_setting(need_value);
-+}
-+
-+void tosa_bl_temporary_contrast_reset(void)
-+{
-+ int need_value = counter_step_contrast;
-+
-+ if( !temporary_contrast_set_flag ) return;
-+
-+ temporary_contrast_set_flag = 0;
-+ bl_step_contrast_setting(need_value);
-+}
-+
-+void tosa_bl_set_limit_contrast(int val)
-+{
-+ unsigned long flags;
-+ spin_lock_irqsave(&bl_lock, flags);
-+ if( (val > BL_SETTING - 1) || (val < 0) ) {
-+ if( bl_limit != BL_SETTING - 1 ) {
-+ printk("bl : unlimit contrast\n");
-+ }
-+ bl_limit = BL_SETTING - 1;
-+ } else {
-+ if( bl_limit != val ) {
-+ printk("bl : change limit contrast %d\n", val);
-+ }
-+ bl_limit = val;
-+ }
-+ spin_unlock_irqrestore(&bl_lock, flags);
-+ if( counter_step_contrast > bl_limit )
-+ bl_step_contrast_setting_nocheck(bl_limit);
-+}
-+
-+int tosa_set_common_voltage(unsigned char dat)
-+{
-+ return i2c_write(DAC_CH1, dat);
-+}
-+
-+static int tosa_bl_ioctl(struct inode* inode, struct file* filp,
-+ unsigned int cmd, unsigned long arg)
-+{
-+ int ret = -EINVAL;
-+
-+ switch(cmd) {
-+ case TOSA_BL_IOCTL_ON:
-+ if (is_bl_blank) return 0;
-+ ret = bl_step_contrast_setting_nocheck(counter_step_contrast);
-+ break;
-+ case TOSA_BL_IOCTL_OFF:
-+ if (is_bl_blank) return 0;
-+ ret = bl_step_contrast_setting_nocheck(0);
-+ break;
-+ case TOSA_BL_IOCTL_STEP_CONTRAST:
-+ if (is_bl_blank) return 0;
-+ ret = bl_step_contrast_setting_nocheck(arg);
-+ break;
-+ case TOSA_BL_IOCTL_GET_STEP_CONTRAST:
-+ ret = counter_step_contrast;
-+ break;
-+ case TOSA_BL_IOCTL_GET_STEP:
-+ ret = BL_SETTING;
-+ break;
-+ default:
-+ ;
-+ }
-+
-+ return ret;
-+}
-+
-+static __init int tosa_bl_init(void)
-+{
-+ int ret;
-+
-+ bl_major = BL_MAJOR;
-+
-+ if( (ret = register_chrdev(bl_major, BL_NAME, &tosa_bl_fops)) < 0 ) {
-+ DPRINTK("%s: cant get major %d\n", BL_NAME, bl_major);
-+ return ret;
-+ }
-+
-+ if( !bl_major ) bl_major = ret;
-+
-+ bl_step_contrast_setting_nocheck(counter_step_contrast);
-+
-+#ifdef CONFIG_PROC_FS
-+ {
-+ struct proc_dir_entry *entry;
-+
-+ proc_bl = proc_mkdir("driver/fl", NULL);
-+ if (proc_bl == NULL) {
-+ bl_step_contrast_setting(0);
-+ unregister_chrdev(bl_major, BL_NAME);
-+ printk(KERN_ERR "%s: can't create /proc/driver/fl\n", BL_NAME);
-+ return -ENOMEM;
-+ }
-+ entry = create_proc_entry(BL_NAME, S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH,
-+ proc_bl);
-+ if( entry ) {
-+ entry->proc_fops = &proc_params_operations;
-+ } else {
-+ remove_proc_entry("driver/fl", &proc_root);
-+ proc_bl = 0;
-+ bl_step_contrast_setting(0);
-+ unregister_chrdev(bl_major, BL_NAME);
-+ printk(KERN_ERR "%s: can't create /proc/driver/fl/\n", BL_NAME);
-+ return -ENOMEM;
-+ }
-+ }
-+#endif /* CONFIG_PROC_FS */
-+
-+ printk(KERN_INFO "%s: Initialized.\n", BL_NAME);
-+
-+#if 0
-+ { /* IOCTL TEST */
-+ int i;
-+ printk("\n%s: ioctl test.\n", BL_NAME);
-+ printk("%s: Backlight off\n", BL_NAME);
-+ ret = tosa_bl_ioctl(0, 0, TOSA_BL_IOCTL_OFF, 0);
-+ if(ret < 0) printk("%s: error:%d\n", BL_NAME, ret);
-+ mdelay(5000);
-+ printk("%s: Backlight on\n", BL_NAME);
-+ ret = tosa_bl_ioctl(0, 0, TOSA_BL_IOCTL_ON, 0);
-+ if(ret < 0) printk("%s: error:%d\n", BL_NAME, ret);
-+ mdelay(5000);
-+ for(i = 1; i < BL_SETTING; i++) {
-+ printk("%s: Backlight step: %d\n", BL_NAME, i);
-+ ret = tosa_bl_ioctl(0, 0, TOSA_BL_IOCTL_STEP_CONTRAST, i);
-+ if(ret < 0) printk("%s: error:%d\n", BL_NAME, ret);
-+ mdelay(5000);
-+ }
-+ }
-+#endif
-+ return 0;
-+}
-+
-+#ifdef MODULE
-+void __exit tosa_bl_exit(void)
-+{
-+ bl_step_contrast_setting(0);
-+
-+ unregister_chrdev(bl_major, BL_NAME);
-+
-+#ifdef CONFIG_PROC_FS
-+ {
-+ remove_proc_entry(BL_NAME, proc_bl);
-+ remove_proc_entry("driver/fl", NULL);
-+ proc_bl = 0;
-+ }
-+#endif /* CONFIG_PROC_FS */
-+ printk(KERN_INFO "%s: Unloaded\n", BL_NAME);
-+}
-+
-+module_exit(tosa_bl_exit);
-+#endif /* MODULE */
-+
-+module_init(tosa_bl_init);
-diff -Nur linux_c860_org/drivers/video/w100fb.c linux/drivers/video/w100fb.c
---- linux_c860_org/drivers/video/w100fb.c 2003-06-18 17:43:52.000000000 +0900
-+++ linux/drivers/video/w100fb.c 2004-06-10 21:09:11.000000000 +0900
-@@ -54,6 +54,9 @@
- #include <video/fbcon-mfb.h>
- #include <video/fbcon.h>
-
-+#include <linux/proc_fs.h>
-+#include <asm/proc/pgtable.h>
-+
- #include "w100fb.h"
- #include <linux/pm.h>
-
-@@ -74,6 +77,7 @@
- static void w100_resume(void);
- static void w100_suspend(u32 mode);
- static void w100_init_qvga_rotation(u16 deg);
-+static void w100_init_vga_rotation(u16 deg);
- static void w100_soft_reset(void);
- static void w100_clear_screen(u32 mode,void *fbuf);
- static void w100_vsync(void);
-@@ -106,7 +110,7 @@
- #define REMAPPED_CFG_LEN 0x10
- #define REMAPPED_MMR_LEN 0x2000
- #define W100_PHYS_ADR_LEN 0x1000000
--#define MAX_XRES 480
-+#define MAX_XRES 640
- #define MAX_YRES 640
- #define BITS_PER_PIXEL 16
-
-@@ -177,9 +181,23 @@
- #define LCD_MODE_480 0
- #define LCD_MODE_320 1
- #define LCD_MODE_240 2
-+#define LCD_MODE_640 3
-+
- #define LCD_MODE_UNKOWN (-1)
-
- int w100fb_lcdMode = LCD_MODE_UNKOWN; //default UNKOWN
-+#if defined(CONFIG_FBCON_ROTATE_R)
-+static int w100fb_rotation_flag = 270;
-+#else
-+static int w100fb_rotation_flag = 90;
-+#endif
-+#if defined(CONFIG_SL_SYSCLK100)
-+int fastsysclk_mode=100;
-+#else
-+int fastsysclk_mode=75;
-+#endif
-+static int lcd_param=0;
-+static int proc_resume_mode=0;
-
- static u16 *gSaveImagePtr[640] = {NULL};
- #define SAVE_IMAGE_MAX_SIZE ((640 * 480 * BITS_PER_PIXEL) / 8)
-@@ -245,6 +263,171 @@
- static void w100_PwmSetup(void);
- static void w100_InitExtMem(u32 mode);
-
-+#ifdef CONFIG_PROC_FS
-+struct proc_dir_entry *proc_w100;
-+
-+
-+static ssize_t w100_read_rotation(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[50];
-+ int count;
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "Rotation degree %d.\n",w100fb_rotation_flag);
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t w100_write_rotation(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int len;
-+ unsigned int degree;
-+
-+ sscanf(buf,"%d",&degree);
-+ printk("Change rotation degree %d\n",degree);
-+
-+ if ( degree == 180)
-+ w100fb_rotation_flag = 90;
-+ else
-+ w100fb_rotation_flag = 270;
-+
-+ if (w100fb_lcdMode == LCD_MODE_320)
-+ w100_init_qvga_rotation(w100fb_rotation_flag);
-+
-+ len=strlen(buf);
-+ return len;
-+}
-+
-+static ssize_t w100_read_reg(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int len;
-+ unsigned long regs;
-+ unsigned long param;
-+
-+
-+ sscanf(buf,"%x",&regs);
-+
-+ param = readl(remapped_regs+regs);
-+
-+ printk("Read reg:: regs 0x%08X : 0x%08X\n", regs, param);
-+
-+ len=strlen(buf);
-+ return len;
-+}
-+
-+static ssize_t w100_write_reg(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int len;
-+ unsigned long regs;
-+ unsigned long param;
-+
-+
-+ sscanf(buf,"%x %x",&regs,&param);
-+
-+ if (regs <= 0x2000){
-+ printk("Write regs 0x%08X : 0x%08X\n", regs, param);
-+ writel(param, remapped_regs+regs);
-+ }
-+
-+ len=strlen(buf);
-+ return len;
-+}
-+
-+static ssize_t lcd_read_param(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[50];
-+ int count;
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "LCD parm %d.\n",lcd_param);
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t lcd_write_param(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int len;
-+ int param;
-+
-+ sscanf(buf,"%d",&param);
-+ printk("LCD param %d\n",param);
-+
-+ lcd_param=param;
-+
-+ len=strlen(buf);
-+ return len;
-+}
-+
-+static ssize_t fastsysclk_read_param(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[50];
-+ int count;
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "Fastsysclk : %d.\n",fastsysclk_mode);
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t fastsysclk_write_param(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ int len;
-+ int param;
-+
-+ sscanf(buf,"%d",&param);
-+ if (param == 75) {
-+ printk("Set fastsysclk %d\n",param);
-+ fastsysclk_mode=param;
-+ w100_SetFastSysClk(fastsysclk_mode);
-+ }else if (param == 100) {
-+ printk("Set fastsysclk %d\n",param);
-+ fastsysclk_mode=param;
-+ w100_SetFastSysClk(fastsysclk_mode);
-+ }
-+ len=strlen(buf);
-+ return len;
-+}
-+
-+static struct file_operations proc_read_reg = {
-+ write: w100_read_reg,
-+};
-+static struct file_operations proc_write_reg = {
-+ write: w100_write_reg,
-+};
-+static struct file_operations proc_rotation = {
-+ read: w100_read_rotation,
-+ write: w100_write_rotation,
-+};
-+static struct file_operations proc_lcd = {
-+ read: lcd_read_param,
-+ write: lcd_write_param,
-+};
-+static struct file_operations proc_fastsysclk = {
-+ read: fastsysclk_read_param,
-+ write: fastsysclk_write_param,
-+};
-+#endif
-+
- /* ------------------- chipset specific functions -------------------------- */
-
- //
-@@ -317,8 +500,12 @@
- // remap the areas we're going to use
- remapped_base = ioremap_nocache(W100_PHYS_ADDRESS, REMAPPED_CFG_LEN);
- remapped_regs = ioremap_nocache(W100_REG_BASE, REMAPPED_MMR_LEN);
-- remapped_fbuf = ioremap_nocache(W100_FB_BASE, REMAPPED_FB_LEN);
--
-+#if defined(CONFIG_CORGI_LCD_BUFF)
-+ remapped_fbuf = __ioremap(W100_FB_BASE, REMAPPED_FB_LEN, L_PTE_BUFFERABLE );
-+#else
-+ remapped_fbuf = ioremap_nocache(W100_FB_BASE, REMAPPED_FB_LEN);
-+#endif
-+
- isRemapped = 1;
- }
-
-@@ -385,7 +572,7 @@
-
- if (w100fb_lcdMode == LCD_MODE_UNKOWN){
- w100_InitExtMem(LCD_SHARP_VGA);
-- } else if(w100fb_lcdMode == LCD_MODE_480) {
-+ } else if( (w100fb_lcdMode == LCD_MODE_480) || (w100fb_lcdMode == LCD_MODE_640) ) {
- w100_InitExtMem(LCD_SHARP_VGA);
- } else {
- w100_InitExtMem(LCD_SHARP_QVGA);
-@@ -400,6 +587,76 @@
- writel((u32)(wrap_top_dir.val), remapped_regs+mmWRAP_TOP_DIR);
-
- writel((u32)0x2440, remapped_regs+mmRBBM_CNTL);
-+
-+#ifdef CONFIG_PROC_FS
-+ {
-+ struct proc_dir_entry *entry;
-+ if (proc_resume_mode == 0) {
-+
-+ proc_w100 = proc_mkdir("driver/w100", NULL);
-+ if (proc_w100 == NULL) {
-+ unregister_chrdev(228, "w100");
-+ printk(KERN_ERR "w100: can't create /proc/driver/w100\n");
-+ return -ENOMEM;
-+ }
-+
-+ entry = create_proc_entry("read_reg", S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH, proc_w100);
-+ if (entry) {
-+ entry->proc_fops = &proc_read_reg;
-+ } else {
-+ remove_proc_entry("driver/w100", &proc_root);
-+ proc_w100 = 0;
-+ unregister_chrdev(228, "w100");
-+ printk(KERN_ERR "w100: can't create /proc/driver/w100/\n");
-+ return -ENOMEM;
-+ }
-+ entry = create_proc_entry("write_reg", S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH, proc_w100);
-+ if (entry) {
-+ entry->proc_fops = &proc_write_reg;
-+ } else {
-+ remove_proc_entry("driver/w100", &proc_root);
-+ proc_w100 = 0;
-+ unregister_chrdev(228, "w100");
-+ printk(KERN_ERR "w100: can't create /proc/driver/w100/\n");
-+ return -ENOMEM;
-+ }
-+ entry = create_proc_entry("rotation", S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH, proc_w100);
-+ if (entry) {
-+ entry->proc_fops = &proc_rotation;
-+ } else {
-+ remove_proc_entry("driver/w100", &proc_root);
-+ proc_w100 = 0;
-+ unregister_chrdev(228, "w100");
-+ printk(KERN_ERR "w100: can't create /proc/driver/w100/\n");
-+ return -ENOMEM;
-+ }
-+
-+ entry = create_proc_entry("lcd", S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH, proc_w100);
-+ if (entry) {
-+ entry->proc_fops = &proc_lcd;
-+ } else {
-+ remove_proc_entry("driver/w100", &proc_root);
-+ proc_w100 = 0;
-+ unregister_chrdev(228, "w100");
-+ printk(KERN_ERR "w100: can't create /proc/driver/w100/\n");
-+ return -ENOMEM;
-+ }
-+
-+ entry = create_proc_entry("fastsysclk", S_IWUSR |S_IRUSR | S_IRGRP | S_IROTH, proc_w100);
-+ if (entry) {
-+ entry->proc_fops = &proc_fastsysclk;
-+ } else {
-+ remove_proc_entry("driver/w100", &proc_root);
-+ proc_w100 = 0;
-+ unregister_chrdev(228, "w100");
-+ printk(KERN_ERR "w100: can't create /proc/driver/w100/\n");
-+ return -ENOMEM;
-+ }
-+ }
-+ }
-+
-+#endif
-+
- }
-
- //
-@@ -453,9 +710,11 @@
- #endif
-
- fix->smem_start = W100_FB_BASE;
--
-- if(w100fb_lcdMode == LCD_MODE_UNKOWN || w100fb_lcdMode == LCD_MODE_480){
--
-+#if defined(CONFIG_FBCON_ROTATE_R)
-+ if(w100fb_lcdMode == LCD_MODE_UNKOWN || w100fb_lcdMode == LCD_MODE_480 ){
-+#else
-+ if(w100fb_lcdMode == LCD_MODE_480 ){
-+#endif
- fix->line_length = (480 * BITS_PER_PIXEL) / 8;
- fix->smem_len = 0x200000;
-
-@@ -468,6 +727,13 @@
-
- fix->line_length = (240 * BITS_PER_PIXEL) / 8;
- fix->smem_len = 0x60000;
-+#if defined(CONFIG_FBCON_ROTATE_R)
-+ } else if(w100fb_lcdMode == LCD_MODE_640){
-+#else
-+ } else if(w100fb_lcdMode == LCD_MODE_UNKOWN || w100fb_lcdMode == LCD_MODE_640){
-+#endif
-+ fix->line_length = (640 * BITS_PER_PIXEL) / 8;
-+ fix->smem_len = 0x200000;
-
- }
-
-@@ -494,13 +760,19 @@
- BUG();
-
- if((par->xres == 480 && par->yres == 640)||
-+ (par->xres == 640 && par->yres == 480)||
- (par->xres == 320 && par->yres == 240)||
- (par->xres == 240 && par->yres == 320)){
- par->xres = var->xres;
- par->yres = var->yres;
- }else{
-- par->xres = MAX_XRES;
-- par->yres = MAX_YRES;
-+#if defined(CONFIG_FBCON_ROTATE_R)
-+ par->xres = 480;
-+ par->yres = 640;
-+#else
-+ par->xres = 640;
-+ par->yres = 480;
-+#endif
- }
-
- par->xres_virtual =
-@@ -547,13 +819,19 @@
-
- // set up screen coordinates
- if((par->xres == 480 && par->yres == 640)||
-+ (par->xres == 640 && par->yres == 480)||
- (par->xres == 320 && par->yres == 240)||
- (par->xres == 240 && par->yres == 320)){
- var->xres = par->xres;
- var->yres = par->yres;
- }else{
-- var->xres = MAX_XRES;
-- var->yres = MAX_YRES;
-+#if defined(CONFIG_FBCON_ROTATE_R)
-+ var->xres = 480;
-+ var->yres = 640;
-+#else
-+ var->xres = 640;
-+ var->yres = 480;
-+#endif
- }
-
- var->xres_virtual = var->xres;
-@@ -851,7 +1129,7 @@
- w100_vsync();
- w100_suspend(W100_SUSPEND_EXTMEM);
- w100_init_sharp_lcd(LCD_SHARP_QVGA);
-- w100_init_qvga_rotation( (u16)270 );
-+ w100_init_qvga_rotation( w100fb_rotation_flag );
- w100_InitExtMem(LCD_SHARP_QVGA);
- w100_clear_screen(LCD_SHARP_QVGA,NULL);
- lcdtg_lcd_change(LCD_SHARP_QVGA);
-@@ -873,6 +1151,70 @@
-
- w100fb_lcdMode = LCD_MODE_240;
-
-+ }else if(current_par.xres == 640 && current_par.yres == 480){
-+
-+ printk("change resolution 480x640 => 640x480\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)90 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ w100fb_lcdMode = LCD_MODE_640;
-+
-+ }
-+ break;
-+ case LCD_MODE_640:
-+ if(current_par.xres == 320 && current_par.yres == 240){
-+
-+ printk("change resolution 640x480 => 320x240\n");
-+
-+ w100_PwmSetup();
-+ w100_vsync();
-+ w100_suspend(W100_SUSPEND_EXTMEM);
-+ w100_init_sharp_lcd(LCD_SHARP_QVGA);
-+ w100_init_qvga_rotation( w100fb_rotation_flag );
-+ w100_InitExtMem(LCD_SHARP_QVGA);
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ lcdtg_lcd_change(LCD_SHARP_QVGA);
-+
-+ w100fb_lcdMode = LCD_MODE_320;
-+
-+ }else if(current_par.xres == 240 && current_par.yres == 320){
-+
-+ printk("change resolution 640x480 => 240x320\n");
-+
-+ w100_PwmSetup();
-+ w100_vsync();
-+ w100_suspend(W100_SUSPEND_EXTMEM);
-+ w100_init_sharp_lcd(LCD_SHARP_QVGA);
-+ w100_init_qvga_rotation( (u16)0 );
-+ w100_InitExtMem(LCD_SHARP_QVGA);
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ lcdtg_lcd_change(LCD_SHARP_QVGA);
-+
-+ w100fb_lcdMode = LCD_MODE_240;
-+
-+ }else if(current_par.xres == 480 && current_par.yres == 640){
-+
-+ printk("change resolution 640x480 => 480x640\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ w100fb_lcdMode = LCD_MODE_480;
-+
- }
- break;
- case LCD_MODE_240:
-@@ -891,12 +1233,28 @@
-
- w100fb_lcdMode = LCD_MODE_480;
-
-+ }else if(current_par.xres == 640 && current_par.yres == 480){
-+
-+ printk("change resolution 240x320 => 640x480\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)90 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ w100fb_lcdMode = LCD_MODE_640;
-+
- }else if(current_par.xres == 320 && current_par.yres == 240){
-
- printk("change resolution 240x320 => 320x240\n");
-
- w100_clear_screen(LCD_SHARP_QVGA,NULL);
-- w100_init_qvga_rotation( (u16)270 );
-+ w100_init_qvga_rotation( w100fb_rotation_flag );
-
- w100fb_lcdMode = LCD_MODE_320;
- }
-@@ -917,6 +1275,22 @@
-
- w100fb_lcdMode = LCD_MODE_480;
-
-+ }else if(current_par.xres == 640 && current_par.yres == 480){
-+
-+ printk("change resolution 320x240 => 640x480\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)90 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ w100fb_lcdMode = LCD_MODE_640;
-+
- }else if(current_par.xres == 240 && current_par.yres == 320){
-
- printk("change resolution 320x240 => 240x320\n");
-@@ -928,9 +1302,16 @@
- }
- break;
- case LCD_MODE_UNKOWN:
-- printk("reset resolution unkown => 480x640\n");
-- w100_init_sharp_lcd(LCD_SHARP_VGA);
-+#if defined(CONFIG_FBCON_ROTATE_R)
-+ printk("reset resolution unkown => 480x640\n");
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
- w100fb_lcdMode = LCD_MODE_480;
-+#else
-+ printk("reset resolution unkown => 640x480\n");
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)90 );
-+ w100fb_lcdMode = LCD_MODE_640;
-+#endif
- isInitTG = 1;
- break;
- default:
-@@ -992,14 +1373,16 @@
- #if defined(CONFIG_FBCON_ROTATE_R) || defined(CONFIG_FBCON_ROTATE_L)
- disp->xpanstep = 0;
- disp->xwrapstep = 0;
-- disp->scrollmode = 0; // for logoscreen scroll
-+ disp->scrollmode = SCROLL_XREDRAW;
- #else
- disp->ypanstep = 0;
- disp->ywrapstep = 0;
-+ disp->scrollmode = SCROLL_YREDRAW;
- #endif
-
- switch(w100fb_lcdMode){
- case LCD_MODE_480:
-+ case LCD_MODE_640:
- if(isInitTG != 0)
- lcdtg_hw_init(LCD_SHARP_VGA);
- break;
-@@ -1267,7 +1650,149 @@
- end_skip_save_image_no = (-1);
- return 0;
- }
-+ break;
- #endif //_IMAGE_CACHE_SUPPORT
-+ case 100: //change 480x640
-+ printk("[w100fb] set 480x640 (VGA 0 degree)\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)0 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ break;
-+ case 101: //change 640x480
-+ printk("[w100fb] set 640x480 (VGA 90 degree)\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)90 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ break;
-+ case 102: //change 480x640
-+ printk("[w100fb] set 480x640 (VGA 180 degree)\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)180 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ break;
-+ case 103: //change 640x480
-+ printk("[w100fb] set 640x480 (VGA 270 degree)\n");
-+
-+ w100_PwmSetup();
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ writel(0xBFFFA000, remapped_regs+mmMC_EXT_MEM_LOCATION);
-+ w100_InitExtMem(LCD_SHARP_VGA);
-+ w100_clear_screen(LCD_SHARP_VGA,(void*)0xF1A00000);
-+ w100_vsync();
-+ w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ w100_init_vga_rotation( (u16)270 );
-+ lcdtg_lcd_change(LCD_SHARP_VGA);
-+
-+ break;
-+ case 110: //change 240x320
-+ printk("[w100fb] set 240x320 (QVGA 0 degree)\n");
-+
-+ w100_PwmSetup();
-+ w100_vsync();
-+ w100_suspend(W100_SUSPEND_EXTMEM);
-+ w100_init_sharp_lcd(LCD_SHARP_QVGA);
-+ w100_init_qvga_rotation( (u16)0 );
-+ w100_InitExtMem(LCD_SHARP_QVGA);
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ lcdtg_lcd_change(LCD_SHARP_QVGA);
-+
-+ break;
-+ case 111: //change 320x240
-+ printk("[w100fb] set 320x240 (QVGA 90 degree)\n");
-+
-+ w100fb_rotation_flag=90;
-+ w100_PwmSetup();
-+ w100_vsync();
-+ w100_suspend(W100_SUSPEND_EXTMEM);
-+ w100_init_sharp_lcd(LCD_SHARP_QVGA);
-+ w100_init_qvga_rotation(w100fb_rotation_flag);
-+ w100_InitExtMem(LCD_SHARP_QVGA);
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ lcdtg_lcd_change(LCD_SHARP_QVGA);
-+
-+ break;
-+
-+ case 112: //change 240x320
-+ printk("[w100fb] set 240x320 (QVGA 180 degree)\n");
-+
-+ w100_PwmSetup();
-+ w100_vsync();
-+ w100_suspend(W100_SUSPEND_EXTMEM);
-+ w100_init_sharp_lcd(LCD_SHARP_QVGA);
-+ w100_init_qvga_rotation( (u16)180 );
-+ w100_InitExtMem(LCD_SHARP_QVGA);
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ lcdtg_lcd_change(LCD_SHARP_QVGA);
-+
-+ break;
-+ case 113: //change 320x240
-+ printk("[w100fb] set 320x240 (QVGA 270 degree)\n");
-+
-+ w100fb_rotation_flag=270;
-+ w100_PwmSetup();
-+ w100_vsync();
-+ w100_suspend(W100_SUSPEND_EXTMEM);
-+ w100_init_sharp_lcd(LCD_SHARP_QVGA);
-+ w100_init_qvga_rotation(w100fb_rotation_flag);
-+ w100_InitExtMem(LCD_SHARP_QVGA);
-+ w100_clear_screen(LCD_SHARP_QVGA,NULL);
-+ lcdtg_lcd_change(LCD_SHARP_QVGA);
-+
-+ break;
-+ case 120: //non rotation in QVGA
-+ printk("[w100fb] set rotation 0 in QVGA\n");
-+
-+ w100fb_rotation_flag = 270;
-+ if (w100fb_lcdMode == LCD_MODE_320)
-+ w100_init_qvga_rotation(w100fb_rotation_flag);
-+
-+ break;
-+ case 121: //rotation 180 degree in QVGA
-+ printk("[w100fb] set rotation 180 in QVGA\n");
-+
-+ w100fb_rotation_flag = 90;
-+ if (w100fb_lcdMode == LCD_MODE_320)
-+ w100_init_qvga_rotation(w100fb_rotation_flag);
-+
-+ break;
-+ case 130: //Fastsysclock 75MHz
-+ printk("[w100fb] set Fastsysclk 75MHz\n");
-+
-+ fastsysclk_mode=75;
-+ w100_SetFastSysClk(fastsysclk_mode);
-+
-+ break;
-+ case 131: //Fastsysclock 100MHz
-+ printk("[w100fb] set Fastsysclk 100MHz\n");
-+
-+ fastsysclk_mode=100;
-+ w100_SetFastSysClk(fastsysclk_mode);
-+
-+ break;
- default:
- break;
- }
-@@ -2348,6 +2873,8 @@
- { 50, 0, 1, 0, 0xE0, 56}, // 50.00 MHz
- { 75, 0, 5, 0, 0xDE, 37}, // 75.00 MHz
- {100, 0, 7, 0, 0xE0, 28}, // 100.00 MHz
-+ {125, 0, 9, 0, 0xE0, 22}, // 125.00 MHz
-+ {150, 0, 11, 0, 0xE0, 17}, // 150.00 MHz
- { 0, 0, 0, 0, 0, 0} // Terminator
- };
- #else
-@@ -2779,7 +3306,8 @@
- break;
- case LCD_SHARP_VGA:
- w100_SetSlowSysClk(12); // use crystal -- 12.5MHz
-- w100_SetFastSysClk(75); // use PLL -- 75.0MHz
-+ w100_SetFastSysClk(fastsysclk_mode);
-+
- gPowerState.pclk_cntl.f.pclk_src_sel = 0x1;
- gPowerState.pclk_cntl.f.pclk_post_div = 0x2;
- writel((u32)(gPowerState.pclk_cntl.val), remapped_regs+mmPCLK_CNTL);
-@@ -2836,6 +3364,72 @@
- writel((u32)(disp_db_buf_wr_cntl.val), remapped_regs+mmDISP_DB_BUF_CNTL);
- } // w100_init_sharp_lcd
-
-+static void w100_init_vga_rotation(u16 deg)
-+{
-+ // for resolution change and rotation
-+ // GRAPHIC_CTRL
-+ // GRAPHIC_OFFSET
-+ // GRAPHIC_PITCH
-+
-+ switch(deg){
-+ case 0:
-+ gPowerState.pclk_cntl.f.pclk_src_sel = 0x1;
-+ gPowerState.pclk_cntl.f.pclk_post_div = 0x2;
-+ writel((u32)(gPowerState.pclk_cntl.val), remapped_regs+mmPCLK_CNTL);
-+
-+ writel(0x00DE1D66, remapped_regs+mmGRAPHIC_CTRL);
-+ writel(0x00800000, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x000003c0, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
-+ break;
-+ case 90:
-+ gPowerState.pclk_cntl.f.pclk_src_sel = 0x1;
-+ gPowerState.pclk_cntl.f.pclk_post_div = 0x6;
-+ writel((u32)(gPowerState.pclk_cntl.val), remapped_regs+mmPCLK_CNTL);
-+
-+ writel(0x00DE1D0e, remapped_regs+mmGRAPHIC_CTRL);
-+ writel(0x00895b00, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x00000500, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
-+ break;
-+ case 180:
-+ gPowerState.pclk_cntl.f.pclk_src_sel = 0x1;
-+ gPowerState.pclk_cntl.f.pclk_post_div = 0x2;
-+ writel((u32)(gPowerState.pclk_cntl.val), remapped_regs+mmPCLK_CNTL);
-+
-+ writel(0x00DE1D7e, remapped_regs+mmGRAPHIC_CTRL);
-+ writel(0x00895ffc, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x000003c0, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
-+ break;
-+ case 270:
-+ gPowerState.pclk_cntl.f.pclk_src_sel = 0x1;
-+ gPowerState.pclk_cntl.f.pclk_post_div = 0x6;
-+ writel((u32)(gPowerState.pclk_cntl.val), remapped_regs+mmPCLK_CNTL);
-+
-+ writel(0x00DE1D16, remapped_regs+mmGRAPHIC_CTRL);
-+ writel(0x008004fc, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x00000500, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
-+ break;
-+ default:
-+ // not-support
-+ break;
-+ }
-+}
-+
- static void w100_init_qvga_rotation(u16 deg)
- {
- // for resolution change and rotation
-@@ -2848,12 +3442,38 @@
- writel(0x00d41c06, remapped_regs+mmGRAPHIC_CTRL);
- writel(0x00800000, remapped_regs+mmGRAPHIC_OFFSET);
- writel(0x000001e0, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
-+ break;
-+ case 90:
-+ writel(0x00d41c0E, remapped_regs+mmGRAPHIC_CTRL);
-+ //writel(0x0080027e, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x00825580, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x00000280, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
-+ break;
-+ case 180:
-+ writel(0x00d41c1e, remapped_regs+mmGRAPHIC_CTRL);
-+ writel(0x008257fc, remapped_regs+mmGRAPHIC_OFFSET);
-+ writel(0x000001e0, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
-+
- break;
- case 270:
- writel(0x00d41c16, remapped_regs+mmGRAPHIC_CTRL);
- //writel(0x0080027e, remapped_regs+mmGRAPHIC_OFFSET);
- writel(0x0080027c, remapped_regs+mmGRAPHIC_OFFSET);
- writel(0x00000280, remapped_regs+mmGRAPHIC_PITCH);
-+
-+ // Re-enable display updates
-+ writel(0x0000007b, remapped_regs+mmDISP_DB_BUF_CNTL);
- break;
- default:
- // not-support
-@@ -2920,6 +3540,7 @@
- {
- u32 temp32;
-
-+ proc_resume_mode=1;
- w100_hw_init();
- w100_PwmSetup();
-
-@@ -2928,13 +3549,16 @@
- temp32 |= 0x00800000;
- writel(temp32, remapped_regs+mmDISP_DEBUG2);
-
-- if (w100fb_lcdMode == LCD_MODE_480) {
-+ if (w100fb_lcdMode == LCD_MODE_480 || w100fb_lcdMode == LCD_MODE_640) {
- w100_init_sharp_lcd(LCD_SHARP_VGA);
-+ if (w100fb_lcdMode == LCD_MODE_640) {
-+ w100_init_vga_rotation( (u16)90 );
-+ }
- }
- else {
- w100_init_sharp_lcd(LCD_SHARP_QVGA);
- if (w100fb_lcdMode == LCD_MODE_320) {
-- w100_init_qvga_rotation( (u16)270 );
-+ w100_init_qvga_rotation( w100fb_rotation_flag );
- }
- }
-
-@@ -3269,7 +3893,7 @@
-
- static void lcdtg_resume()
- {
-- if (w100fb_lcdMode == LCD_MODE_480) {
-+ if (w100fb_lcdMode == LCD_MODE_480 || w100fb_lcdMode == LCD_MODE_640) {
- lcdtg_hw_init(LCD_SHARP_VGA);
- }
- else {
-@@ -3379,7 +4003,7 @@
- break;
- case LCD_SHARP_VGA:
- /* Set Lcd Resolution (VGA) */
-- lcdtg_ssp_send( RESCTL_ADRS, RESCTL_VGA );
-+ lcdtg_ssp_send( RESCTL_ADRS, lcd_param );
- break;
- default:
- break;
-@@ -3393,7 +4017,7 @@
-
- if(mode == LCD_SHARP_VGA)
- /* Set Lcd Resolution (VGA) */
-- lcdtg_ssp_send( RESCTL_ADRS, RESCTL_VGA );
-+ lcdtg_ssp_send( RESCTL_ADRS, lcd_param );
- else if(mode == LCD_SHARP_QVGA)
- /* Set Lcd Resolution (QVGA) */
- lcdtg_ssp_send( RESCTL_ADRS, RESCTL_QVGA );
-@@ -3659,6 +4283,8 @@
- int i, j;
- u16 *pVram = (u16*)remapped_fbuf;
-
-+
-+
- if(suspend_mode == 1){
- // called from blank()
- isSuspended_tg_only = 1;
-diff -Nur linux_c860_org/fs/adfs/map.c linux/fs/adfs/map.c
---- linux_c860_org/fs/adfs/map.c 2002-08-26 14:43:25.000000000 +0900
-+++ linux/fs/adfs/map.c 2004-06-10 21:09:11.000000000 +0900
-@@ -12,6 +12,7 @@
- #include <linux/fs.h>
- #include <linux/adfs_fs.h>
- #include <linux/spinlock.h>
-+#include <linux/sched.h>
-
- #include <asm/unaligned.h>
-
-diff -Nur linux_c860_org/fs/buffer.c linux/fs/buffer.c
---- linux_c860_org/fs/buffer.c 2002-08-29 12:24:14.000000000 +0900
-+++ linux/fs/buffer.c 2004-06-10 21:09:11.000000000 +0900
-@@ -267,6 +267,11 @@
- }
- if (dev && bh->b_dev != dev)
- continue;
-+ if (conditional_schedule_needed()) {
-+ debug_lock_break(1);
-+ spin_unlock(&lru_list_lock);
-+ return -EAGAIN;
-+ }
-
- get_bh(bh);
- spin_unlock(&lru_list_lock);
-@@ -696,6 +701,13 @@
- /* Not hashed? */
- if (!bh->b_pprev)
- continue;
-+ if (conditional_schedule_needed()) {
-+ debug_lock_break(2); /* bkl is held too */
-+ get_bh(bh);
-+ break_spin_lock_and_resched(&lru_list_lock);
-+ put_bh(bh);
-+ slept = 1;
-+ }
- if (buffer_locked(bh)) {
- get_bh(bh);
- spin_unlock(&lru_list_lock);
-@@ -847,6 +859,8 @@
- struct buffer_head *bh;
- struct inode tmp;
- int err = 0, err2;
-+
-+ DEFINE_LOCK_COUNT();
-
- INIT_LIST_HEAD(&tmp.i_dirty_buffers);
-
-@@ -868,6 +882,12 @@
- spin_lock(&lru_list_lock);
- }
- }
-+ /* haven't hit this code path ... */
-+ debug_lock_break(551);
-+ if (TEST_LOCK_COUNT(32)) {
-+ RESET_LOCK_COUNT();
-+ break_spin_lock(&lru_list_lock);
-+ }
- }
-
- while (!list_empty(&tmp.i_dirty_buffers)) {
-@@ -897,6 +917,7 @@
- struct inode tmp;
- int err = 0, err2;
-
-+ DEFINE_LOCK_COUNT();
- INIT_LIST_HEAD(&tmp.i_dirty_data_buffers);
-
- spin_lock(&lru_list_lock);
-@@ -928,9 +949,14 @@
- if (!buffer_uptodate(bh))
- err = -EIO;
- brelse(bh);
-+ debug_lock_break(1);
-+ if (TEST_LOCK_COUNT(32)) {
-+ RESET_LOCK_COUNT();
-+ conditional_schedule();
-+ }
- spin_lock(&lru_list_lock);
- }
--
-+
- spin_unlock(&lru_list_lock);
- err2 = osync_inode_data_buffers(inode);
-
-@@ -957,6 +983,8 @@
- struct list_head *list;
- int err = 0;
-
-+ DEFINE_LOCK_COUNT();
-+
- spin_lock(&lru_list_lock);
-
- repeat:
-@@ -964,6 +992,17 @@
- for (list = inode->i_dirty_buffers.prev;
- bh = BH_ENTRY(list), list != &inode->i_dirty_buffers;
- list = bh->b_inode_buffers.prev) {
-+ /* untested code path ... */
-+ debug_lock_break(551);
-+
-+ if (TEST_LOCK_COUNT(32)) {
-+ RESET_LOCK_COUNT();
-+ if (conditional_schedule_needed()) {
-+ break_spin_lock(&lru_list_lock);
-+ goto repeat;
-+ }
-+ }
-+
- if (buffer_locked(bh)) {
- get_bh(bh);
- spin_unlock(&lru_list_lock);
-diff -Nur linux_c860_org/fs/dcache.c linux/fs/dcache.c
---- linux_c860_org/fs/dcache.c 2002-08-26 14:37:31.000000000 +0900
-+++ linux/fs/dcache.c 2004-06-10 21:09:11.000000000 +0900
-@@ -320,11 +320,24 @@
-
- void prune_dcache(int count)
- {
-+ DEFINE_LOCK_COUNT();
-+
- spin_lock(&dcache_lock);
-+
-+redo:
- for (;;) {
- struct dentry *dentry;
- struct list_head *tmp;
-
-+ if (TEST_LOCK_COUNT(100)) {
-+ RESET_LOCK_COUNT();
-+ debug_lock_break(1);
-+ if (conditional_schedule_needed()) {
-+ break_spin_lock(&dcache_lock);
-+ goto redo;
-+ }
-+ }
-+
- tmp = dentry_unused.prev;
-
- if (tmp == &dentry_unused)
-@@ -480,6 +493,8 @@
- struct list_head *next;
- int found = 0;
-
-+ DEFINE_LOCK_COUNT();
-+
- spin_lock(&dcache_lock);
- repeat:
- next = this_parent->d_subdirs.next;
-@@ -493,6 +508,12 @@
- list_add(&dentry->d_lru, dentry_unused.prev);
- found++;
- }
-+ if (TEST_LOCK_COUNT(500) && found > 10) {
-+ debug_lock_break(1);
-+ if (conditional_schedule_needed())
-+ goto out;
-+ RESET_LOCK_COUNT();
-+ }
- /*
- * Descend a level if the d_subdirs list is non-empty.
- */
-@@ -517,6 +538,7 @@
- #endif
- goto resume;
- }
-+out:
- spin_unlock(&dcache_lock);
- return found;
- }
-diff -Nur linux_c860_org/fs/exec.c linux/fs/exec.c
---- linux_c860_org/fs/exec.c 2003-06-18 16:12:27.000000000 +0900
-+++ linux/fs/exec.c 2004-06-10 21:09:11.000000000 +0900
-@@ -469,8 +469,8 @@
- active_mm = current->active_mm;
- current->mm = mm;
- current->active_mm = mm;
-- task_unlock(current);
- activate_mm(active_mm, mm);
-+ task_unlock(current);
- mm_release();
- if (old_mm) {
- if (active_mm != old_mm) BUG();
-@@ -631,8 +631,10 @@
-
- current->sas_ss_sp = current->sas_ss_size = 0;
-
-- if (current->euid == current->uid && current->egid == current->gid)
-+ if (current->euid == current->uid && current->egid == current->gid) {
- current->mm->dumpable = 1;
-+ current->task_dumpable = 1;
-+ }
- name = bprm->filename;
- for (i=0; (ch = *(name++)) != '\0';) {
- if (ch == '/')
-@@ -1024,7 +1026,7 @@
- binfmt = current->binfmt;
- if (!binfmt || !binfmt->core_dump)
- goto fail;
-- if (!current->mm->dumpable)
-+ if (!is_dumpable(current))
- goto fail;
- current->mm->dumpable = 0;
- if (current->rlim[RLIMIT_CORE].rlim_cur < binfmt->min_coredump)
-diff -Nur linux_c860_org/fs/ext3/inode.c linux/fs/ext3/inode.c
---- linux_c860_org/fs/ext3/inode.c 2002-08-26 14:37:42.000000000 +0900
-+++ linux/fs/ext3/inode.c 2004-06-10 21:09:11.000000000 +0900
-@@ -1649,6 +1649,8 @@
- }
-
- for (p = first; p < last; p++) {
-+ debug_lock_break(1); /* bkl is held */
-+ conditional_schedule();
- nr = le32_to_cpu(*p);
- if (nr) {
- /* accumulate blocks to free if they're contiguous */
-@@ -1714,6 +1716,9 @@
- /* Go read the buffer for the next level down */
- bh = sb_bread(inode->i_sb, nr);
-
-+ debug_lock_break(1);
-+ conditional_schedule();
-+
- /*
- * A read failure? Report error and clear slot
- * (should be rare).
-diff -Nur linux_c860_org/fs/ext3/namei.c linux/fs/ext3/namei.c
---- linux_c860_org/fs/ext3/namei.c 2002-08-26 14:43:28.000000000 +0900
-+++ linux/fs/ext3/namei.c 2004-06-10 21:09:11.000000000 +0900
-@@ -157,6 +157,8 @@
- if ((bh = bh_use[ra_ptr++]) == NULL)
- goto next;
- wait_on_buffer(bh);
-+ debug_lock_break(1);
-+ conditional_schedule();
- if (!buffer_uptodate(bh)) {
- /* read error, skip block & hope for the best */
- brelse(bh);
-diff -Nur linux_c860_org/fs/fat/cache.c linux/fs/fat/cache.c
---- linux_c860_org/fs/fat/cache.c 2002-08-29 12:24:17.000000000 +0900
-+++ linux/fs/fat/cache.c 2004-06-10 21:09:11.000000000 +0900
-@@ -17,6 +17,7 @@
- #include <linux/string.h>
- #include <linux/stat.h>
- #include <linux/fat_cvf.h>
-+#include <linux/sched.h>
-
- #if 0
- # define PRINTK(x) printk x
-diff -Nur linux_c860_org/fs/inode.c linux/fs/inode.c
---- linux_c860_org/fs/inode.c 2002-11-22 21:03:26.000000000 +0900
-+++ linux/fs/inode.c 2004-06-10 21:09:11.000000000 +0900
-@@ -589,6 +589,12 @@
- if (tmp == head)
- break;
- inode = list_entry(tmp, struct inode, i_list);
-+
-+ debug_lock_break(2); /* bkl is also held */
-+ atomic_inc(&inode->i_count);
-+ break_spin_lock_and_resched(&inode_lock);
-+ atomic_dec(&inode->i_count);
-+
- if (inode->i_sb != sb)
- continue;
- invalidate_inode_buffers(inode);
-@@ -699,8 +705,11 @@
- #endif
- #endif
-
-+ DEFINE_LOCK_COUNT();
-+
- spin_lock(&inode_lock);
-
-+free_unused:
- count = 0;
- entry = inode_unused.prev;
- while (entry != &inode_unused)
-@@ -736,6 +745,14 @@
- count++;
- if (!--goal)
- break;
-+ if (TEST_LOCK_COUNT(32)) {
-+ RESET_LOCK_COUNT();
-+ debug_lock_break(1);
-+ if (conditional_schedule_needed()) {
-+ break_spin_lock(&inode_lock);
-+ goto free_unused;
-+ }
-+ }
- }
- inodes_stat.nr_unused -= count;
- spin_unlock(&inode_lock);
-diff -Nur linux_c860_org/fs/jbd/commit.c linux/fs/jbd/commit.c
---- linux_c860_org/fs/jbd/commit.c 2002-08-26 14:37:42.000000000 +0900
-+++ linux/fs/jbd/commit.c 2004-06-10 21:09:11.000000000 +0900
-@@ -212,6 +212,9 @@
- __journal_remove_journal_head(bh);
- refile_buffer(bh);
- __brelse(bh);
-+ debug_lock_break(2);
-+ if (conditional_schedule_needed())
-+ break;
- }
- }
- if (bufs == ARRAY_SIZE(wbuf)) {
-@@ -235,8 +238,7 @@
- journal_brelse_array(wbuf, bufs);
- lock_journal(journal);
- spin_lock(&journal_datalist_lock);
-- if (bufs)
-- goto write_out_data_locked;
-+ goto write_out_data_locked;
- }
-
- /*
-@@ -272,6 +274,14 @@
- */
- while ((jh = commit_transaction->t_async_datalist)) {
- struct buffer_head *bh = jh2bh(jh);
-+ if (conditional_schedule_needed()) {
-+ debug_lock_break(551);
-+ spin_unlock(&journal_datalist_lock);
-+ unlock_journal(journal);
-+ lock_journal(journal);
-+ spin_lock(&journal_datalist_lock);
-+ continue;
-+ }
- if (buffer_locked(bh)) {
- spin_unlock(&journal_datalist_lock);
- unlock_journal(journal);
-diff -Nur linux_c860_org/fs/jffs2/build.c linux/fs/jffs2/build.c
---- linux_c860_org/fs/jffs2/build.c 2003-05-14 15:01:21.000000000 +0900
-+++ linux/fs/jffs2/build.c 2004-06-10 21:09:11.000000000 +0900
-@@ -13,6 +13,7 @@
- * 15-Nov-2002 Lineo Japan, Inc. add nodemerge facility
- * 20-Sep-2002 Lineo Japan, Inc. add jffs2_orphaned_inodes
- * but it is useless right now
-+ * 05-Aug-2003 SHARP for Tosa
- *
- */
-
-@@ -295,7 +296,7 @@
-
- c->free_size = c->flash_size;
- c->nr_blocks = c->flash_size / c->sector_size;
--#ifdef CONFIG_ARCH_PXA_HUSKY
-+#if defined(CONFIG_ARCH_PXA_HUSKY) || defined(CONFIG_ARCH_PXA_TOSA)
- c->blocks = consistent_alloc(GFP_KERNEL,
- sizeof(struct jffs2_eraseblock) * c->nr_blocks,
- &c->blocks_phys);
-@@ -341,7 +342,7 @@
- D1(printk(KERN_DEBUG "build_fs failed\n"));
- jffs2_free_ino_caches(c);
- jffs2_free_raw_node_refs(c);
--#ifdef CONFIG_ARCH_PXA_HUSKY
-+#if defined(CONFIG_ARCH_PXA_HUSKY) || defined(CONFIG_ARCH_PXA_TOSA)
- consistent_free( c->blocks,
- sizeof(struct jffs2_eraseblock) * c->nr_blocks,
- c->blocks_phys );
-diff -Nur linux_c860_org/fs/jffs2/fs.c linux/fs/jffs2/fs.c
---- linux_c860_org/fs/jffs2/fs.c 2003-05-14 15:01:21.000000000 +0900
-+++ linux/fs/jffs2/fs.c 2004-06-10 21:09:11.000000000 +0900
-@@ -19,6 +19,7 @@
- * 24-Nov-2002 SHARP modify storage-avail calculation, and add erasing_dirty_size
- * 09-Nov-2002 Lineo Japan, Inc. add code to do avail = 0 when cannot reserve space
- * 01-Nov-2002 Lineo Japan, Inc. involve nr_bad_blocks in USED calc.
-+ * 05-Aug-2003 SHARP for Tosa
- *
- */
-
-@@ -402,7 +403,7 @@
- out_nodes:
- jffs2_free_ino_caches(c);
- jffs2_free_raw_node_refs(c);
--#ifdef CONFIG_ARCH_PXA_HUSKY
-+#if defined(CONFIG_ARCH_PXA_HUSKY) || defined(CONFIG_ARCH_PXA_TOSA)
- consistent_free( c->blocks,
- sizeof(struct jffs2_eraseblock) * c->nr_blocks,
- c->blocks_phys );
-diff -Nur linux_c860_org/fs/jffs2/nodelist.h linux/fs/jffs2/nodelist.h
---- linux_c860_org/fs/jffs2/nodelist.h 2003-06-19 17:23:10.000000000 +0900
-+++ linux/fs/jffs2/nodelist.h 2004-06-10 21:14:59.000000000 +0900
-@@ -17,8 +17,16 @@
- * 18-Nov-2002 Lineo Japan, Inc. add dynamic construction of fragtree
- * 11-Nov-2002 Lineo Japan, Inc. add JFFS2_RESERVED_BLOCKS_ROOT
- * 29-Oct-2002 Lineo Japan, Inc. add JFFS2_RESERVED_BLOCKS_BAD and JFFS2_MAX_CONT_GC
-+ *
-+ * ChangeLog:
- * 05-Dec-2002 SHARP adjust REVERVED_BLOCKS values for storage-full
-- * 21-May-2003 SHARP modified JFFS2_RESERVED_BLOCKS_BAD
-+ * 27-Nov-2002 Lineo Japan, Inc. add effective-gc mode
-+ * 23-Nov-2002 Lineo Japan, Inc. add JFFS2_RESERVED_BLOCKS_DIRTY
-+ * add JFFS2_RESERVED_BLOCKS_CLEAN
-+ * 19-Nov-2002 Lineo Japan, Inc. add counter of fragtree elements
-+ * 18-Nov-2002 Lineo Japan, Inc. add dynamic construction of fragtree
-+ * 11-Nov-2002 Lineo Japan, Inc. add JFFS2_RESERVED_BLOCKS_ROOT
-+ * 29-Oct-2002 Lineo Japan, Inc. add JFFS2_RESERVED_BLOCKS_BAD and JFFS2_MAX_CONT_GC
- *
- */
-
-@@ -233,13 +241,7 @@
- #define JFFS2_RESERVED_BLOCKS_GCTRIGGER 39 /* ... wake up the GC thread */
- #define JFFS2_RESERVED_BLOCKS_GCBAD (JFFS2_RESERVED_BLOCKS_BASE + 1) /* ... pick a block from the bad_list to GC */
- #define JFFS2_RESERVED_BLOCKS_GCMERGE (JFFS2_RESERVED_BLOCKS_BASE) /* ... merge pages when garbage collecting */
--
--#ifdef CONFIG_ARCH_PXA_HUSKY
- #define JFFS2_RESERVED_BLOCKS_BAD 80
--#else
--#define JFFS2_RESERVED_BLOCKS_BAD 24
--#endif
--
- #define JFFS2_RESERVED_BLOCKS_ROOT 5
- #define JFFS2_RESERVED_BLOCKS_DIRTY 24
- #define JFFS2_RESERVED_BLOCKS_CLEAN 12
-diff -Nur linux_c860_org/fs/jffs2/super-v24.c linux/fs/jffs2/super-v24.c
---- linux_c860_org/fs/jffs2/super-v24.c 2003-05-14 15:01:21.000000000 +0900
-+++ linux/fs/jffs2/super-v24.c 2004-06-10 21:09:11.000000000 +0900
-@@ -11,6 +11,7 @@
- *
- * ChangeLog:
- * 08-Nov-2002 Lineo Japan, Inc. add /proc/fs/jffs2 files for JFFS2 information
-+ * 05-Aug-2003 SHARP for Tosa
- *
- */
-
-@@ -106,7 +107,7 @@
- up(&c->alloc_sem);
- jffs2_free_ino_caches(c);
- jffs2_free_raw_node_refs(c);
--#ifdef CONFIG_ARCH_PXA_HUSKY
-+#if defined(CONFIG_ARCH_PXA_HUSKY) || defined(CONFIG_ARCH_PXA_TOSA)
- consistent_free( c->blocks,
- sizeof(struct jffs2_eraseblock) * c->nr_blocks,
- c->blocks_phys );
-diff -Nur linux_c860_org/fs/jffs2/super.c linux/fs/jffs2/super.c
---- linux_c860_org/fs/jffs2/super.c 2003-05-14 15:01:21.000000000 +0900
-+++ linux/fs/jffs2/super.c 2004-06-10 21:09:11.000000000 +0900
-@@ -9,6 +9,9 @@
- *
- * $Id: super.c,v 1.73 2002/07/23 17:00:45 dwmw2 Exp $
- *
-+ * ChangeLog:
-+ * 05-Aug-2003 SHARP for Tosa
-+ *
- */
-
- #include <linux/config.h>
-@@ -263,7 +266,7 @@
- up(&c->alloc_sem);
- jffs2_free_ino_caches(c);
- jffs2_free_raw_node_refs(c);
--#ifdef CONFIG_ARCH_PXA_HUSKY
-+#if defined(CONFIG_ARCH_PXA_HUSKY) || defined(CONFIG_ARCH_PXA_TOSA)
- consistent_free( c->blocks,
- sizeof(struct jffs2_eraseblock) * c->nr_blocks,
- c->blocks_phys );
-diff -Nur linux_c860_org/fs/nls/nls_base.c linux/fs/nls/nls_base.c
---- linux_c860_org/fs/nls/nls_base.c 2002-08-26 14:37:33.000000000 +0900
-+++ linux/fs/nls/nls_base.c 2004-06-10 21:09:11.000000000 +0900
-@@ -18,6 +18,7 @@
- #ifdef CONFIG_KMOD
- #include <linux/kmod.h>
- #endif
-+#include <linux/sched.h>
- #include <linux/spinlock.h>
-
- static struct nls_table *tables;
-diff -Nur linux_c860_org/fs/reiserfs/bitmap.c linux/fs/reiserfs/bitmap.c
---- linux_c860_org/fs/reiserfs/bitmap.c 2002-08-26 14:37:39.000000000 +0900
-+++ linux/fs/reiserfs/bitmap.c 2004-06-10 21:09:11.000000000 +0900
-@@ -410,19 +410,23 @@
- amount_needed++ ;
- continue ;
- }
--
-
-- reiserfs_prepare_for_journal(s, SB_AP_BITMAP(s)[i], 1) ;
-+ RFALSE( is_reusable (s, search_start, 0) == 0,
-+ "vs-4140: bad block number found");
-
-- RFALSE( buffer_locked (SB_AP_BITMAP (s)[i]) ||
-- is_reusable (s, search_start, 0) == 0,
-- "vs-4140: bitmap block is locked or bad block number found");
-+ reiserfs_prepare_for_journal(s, SB_AP_BITMAP(s)[i], 1) ;
-
- /* if this bit was already set, we've scheduled, and someone else
- ** has allocated it. loop around and try again
- */
- if (reiserfs_test_and_set_le_bit (j, SB_AP_BITMAP (s)[i]->b_data)) {
- reiserfs_restore_prepared_buffer(s, SB_AP_BITMAP(s)[i]) ;
-+ /* if this block has been allocated while we slept, it is
-+ ** impossible to find any more contiguous blocks for ourselves.
-+ ** If we are doing preallocation, give up now and return.
-+ */
-+ if (for_prealloc)
-+ goto free_and_return;
- amount_needed++ ;
- continue ;
- }
-diff -Nur linux_c860_org/fs/reiserfs/buffer2.c linux/fs/reiserfs/buffer2.c
---- linux_c860_org/fs/reiserfs/buffer2.c 2002-08-26 14:37:40.000000000 +0900
-+++ linux/fs/reiserfs/buffer2.c 2004-06-10 21:09:11.000000000 +0900
-@@ -55,6 +55,8 @@
- PROC_EXP( unsigned int ctx_switches = kstat.context_swtch );
-
- result = bread (super -> s_dev, n_block, n_size);
-+ debug_lock_break(1);
-+ conditional_schedule();
- PROC_INFO_INC( super, breads );
- PROC_EXP( if( kstat.context_swtch != ctx_switches )
- PROC_INFO_INC( super, bread_miss ) );
-diff -Nur linux_c860_org/fs/reiserfs/journal.c linux/fs/reiserfs/journal.c
---- linux_c860_org/fs/reiserfs/journal.c 2002-08-26 14:37:40.000000000 +0900
-+++ linux/fs/reiserfs/journal.c 2004-06-10 21:09:11.000000000 +0900
-@@ -574,6 +574,8 @@
- /* lock the current transaction */
- inline static void lock_journal(struct super_block *p_s_sb) {
- PROC_INFO_INC( p_s_sb, journal.lock_journal );
-+ debug_lock_break(1);
-+ conditional_schedule();
- while(atomic_read(&(SB_JOURNAL(p_s_sb)->j_wlock)) > 0) {
- PROC_INFO_INC( p_s_sb, journal.lock_journal_wait );
- sleep_on(&(SB_JOURNAL(p_s_sb)->j_wait)) ;
-@@ -704,6 +706,8 @@
- mark_buffer_dirty(tbh) ;
- }
- ll_rw_block(WRITE, 1, &tbh) ;
-+ debug_lock_break(1);
-+ conditional_schedule();
- count++ ;
- put_bh(tbh) ; /* once for our get_hash */
- }
-@@ -833,6 +837,8 @@
- set_bit(BH_Dirty, &(SB_JOURNAL(p_s_sb)->j_header_bh->b_state)) ;
- ll_rw_block(WRITE, 1, &(SB_JOURNAL(p_s_sb)->j_header_bh)) ;
- wait_on_buffer((SB_JOURNAL(p_s_sb)->j_header_bh)) ;
-+ debug_lock_break(1);
-+ conditional_schedule();
- if (!buffer_uptodate(SB_JOURNAL(p_s_sb)->j_header_bh)) {
- printk( "reiserfs: journal-837: IO error during journal replay\n" );
- return -EIO ;
-@@ -2089,6 +2095,8 @@
- }
-
- int journal_begin(struct reiserfs_transaction_handle *th, struct super_block * p_s_sb, unsigned long nblocks) {
-+ debug_lock_break(1);
-+ conditional_schedule();
- return do_journal_begin_r(th, p_s_sb, nblocks, 0) ;
- }
-
-@@ -2229,6 +2237,8 @@
- }
-
- int journal_end(struct reiserfs_transaction_handle *th, struct super_block *p_s_sb, unsigned long nblocks) {
-+ debug_lock_break(1);
-+ conditional_schedule();
- return do_journal_end(th, p_s_sb, nblocks, 0) ;
- }
-
-@@ -2680,6 +2690,8 @@
- RFALSE( buffer_locked(bh) && cur_tb != NULL,
- "waiting while do_balance was running\n") ;
- wait_on_buffer(bh) ;
-+ debug_lock_break(1);
-+ conditional_schedule();
- }
- PROC_INFO_INC( p_s_sb, journal.prepare_retry );
- retry_count++ ;
-@@ -2852,6 +2864,8 @@
- /* copy all the real blocks into log area. dirty log blocks */
- if (test_bit(BH_JDirty, &cn->bh->b_state)) {
- struct buffer_head *tmp_bh ;
-+ debug_lock_break(1);
-+ conditional_schedule();
- tmp_bh = sb_getblk(p_s_sb, reiserfs_get_journal_block(p_s_sb) +
- ((cur_write_start + jindex) % JOURNAL_BLOCK_COUNT)) ;
- mark_buffer_uptodate(tmp_bh, 1) ;
-diff -Nur linux_c860_org/fs/reiserfs/stree.c linux/fs/reiserfs/stree.c
---- linux_c860_org/fs/reiserfs/stree.c 2002-08-26 14:37:40.000000000 +0900
-+++ linux/fs/reiserfs/stree.c 2004-06-10 21:09:11.000000000 +0900
-@@ -648,9 +648,8 @@
- stop at leaf level - set to
- DISK_LEAF_NODE_LEVEL */
- ) {
-- int n_block_number = SB_ROOT_BLOCK (p_s_sb),
-- expected_level = SB_TREE_HEIGHT (p_s_sb),
-- n_block_size = p_s_sb->s_blocksize;
-+ int n_block_number, expected_level;
-+ int n_block_size = p_s_sb->s_blocksize;
- struct buffer_head * p_s_bh;
- struct path_element * p_s_last_element;
- int n_node_level, n_retval;
-@@ -662,7 +661,10 @@
- #endif
-
- PROC_INFO_INC( p_s_sb, search_by_key );
--
-+
-+ debug_lock_break(1);
-+ conditional_schedule();
-+
- /* As we add each node to a path we increase its count. This means that
- we must be careful to release all nodes in a path before we either
- discard the path struct or re-use the path struct, as we do here. */
-@@ -674,6 +676,8 @@
- /* With each iteration of this loop we search through the items in the
- current node, and calculate the next current node(next path element)
- for the next iteration of this loop.. */
-+ n_block_number = SB_ROOT_BLOCK (p_s_sb);
-+ expected_level = SB_TREE_HEIGHT (p_s_sb);
- while ( 1 ) {
-
- #ifdef CONFIG_REISERFS_CHECK
-@@ -1100,6 +1104,9 @@
- for (n_counter = *p_n_removed;
- n_counter < n_unfm_number; n_counter++, p_n_unfm_pointer-- ) {
-
-+ debug_lock_break(1);
-+ conditional_schedule();
-+
- if (item_moved (&s_ih, p_s_path)) {
- need_research = 1 ;
- break;
-diff -Nur linux_c860_org/include/asm-alpha/processor.h linux/include/asm-alpha/processor.h
---- linux_c860_org/include/asm-alpha/processor.h 2002-08-26 14:37:49.000000000 +0900
-+++ linux/include/asm-alpha/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -119,7 +119,7 @@
- extern void release_thread(struct task_struct *);
-
- /* Create a kernel thread without removing it from tasklists. */
--extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern long arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/hardware.h linux/include/asm-arm/arch-pxa/hardware.h
---- linux_c860_org/include/asm-arm/arch-pxa/hardware.h 2002-12-18 19:52:24.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/hardware.h 2004-06-10 21:12:44.000000000 +0900
-@@ -11,6 +11,7 @@
- *
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #ifndef __ASM_ARCH_HARDWARE_H
-@@ -160,6 +161,10 @@
-
- #ifdef CONFIG_ARCH_PXA_CORGI
- #include "corgi.h"
--#endif
-+#endif /* CONFIG_ARCH_PXA_CORGI */
-+
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#include "tosa.h"
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-
- #endif /* _ASM_ARCH_HARDWARE_H */
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/irqs.h linux/include/asm-arm/arch-pxa/irqs.h
---- linux_c860_org/include/asm-arm/arch-pxa/irqs.h 2002-12-18 19:29:34.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/irqs.h 2004-06-10 21:12:37.000000000 +0900
-@@ -11,6 +11,7 @@
- *
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #define PXA_IRQ_SKIP 8 /* The first 8 IRQs are reserved */
-@@ -345,6 +346,20 @@
-
- #endif
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#define TC6393_IRQ(x) (IRQ_GPIO(80) + 1 + (x))
-+#define TC6393_IRQ_NDINT TC6393_IRQ(0)
-+#define TC6393_IRQ_SDINT TC6393_IRQ(1)
-+#define TC6393_IRQ_USBINT TC6393_IRQ(2)
-+#define TC6393_IRQ_SIOINT TC6393_IRQ(3)
-+#define TC6393_IRQ_GCINT TC6393_IRQ(4)
-+#define TC6393_IRQ_GPINT TC6393_IRQ(5)
-+#define TC6393_IRQ_CLKINT TC6393_IRQ(7)
-+
-+#undef NR_IRQS
-+#define NR_IRQS (TC6393_IRQ(7) + 1)
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-+
- #if defined(CONFIG_ARCH_PXA_POODLE)
- #if CONFIG_SA1111
- #error POODLE configuration error
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/keyboard.h linux/include/asm-arm/arch-pxa/keyboard.h
---- linux_c860_org/include/asm-arm/arch-pxa/keyboard.h 2002-12-18 19:29:34.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/keyboard.h 2004-06-10 21:13:12.000000000 +0900
-@@ -5,6 +5,7 @@
- *
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #ifndef _PXA_KEYBOARD_H
-@@ -22,6 +23,8 @@
- #include <asm/arch/keyboard_poodle.h>
- #elif defined(CONFIG_ARCH_PXA_CORGI)
- #include <asm/arch/keyboard_corgi.h>
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#include <asm/arch/keyboard_tosa.h>
- #else
-
- #define kbd_disable_irq() do { } while(0);
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/keyboard_tosa.h linux/include/asm-arm/arch-pxa/keyboard_tosa.h
---- linux_c860_org/include/asm-arm/arch-pxa/keyboard_tosa.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/keyboard_tosa.h 2004-06-10 21:13:12.000000000 +0900
-@@ -0,0 +1,162 @@
-+/*
-+ * linux/include/asm-arm/arch-pxa/keyboard_tosa.h
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ *
-+ * linux/include/asm-arm/arch-pxa/keyboard_corgi.h
-+ *
-+ * (C) Copyright 2001 Lineo Japan, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ * linux/include/asm-arm/arch-sa1100/keyboard_collie.h
-+ * include/asm-arm/arch-linkup/keyboard.h
-+ * Created by Xuejun Tao 2000, ISDCorp www.isdcorp.com
-+ *
-+ * Changelog:
-+ * 04-13-2001 Lineo Japan, Inc.
-+ * 04-25-2001 Lineo Japan, Inc.
-+ * 10-23-2002 Sharp Corporation
-+ */
-+#ifndef __ASM_ARCH_KEYBOARD_TOSA_H
-+#define __ASM_ARCH_KEYBOARD_TOSA_H
-+
-+#include <linux/spinlock.h>
-+#include <asm/arch/hardware.h>
-+
-+/* =========================================================
-+ * !!! CAUTION !!!
-+ * Iris board without Keyboard Enhancements makes PA5 INTR
-+ * all times. So , you should disable PA5 INTR on such boards.
-+ * Define this option to run on such board.
-+ * ========================================================= */
-+#define TOSA_WITHOUT_KEY_ENH_WORKAROUND
-+/* =========================================================
-+ * CAUTION ends.
-+ * ========================================================= */
-+
-+/*
-+ * My driver now supports both keyboard interrupt driven or timer driven
-+ * Both modes work although keyboard interrupt mode is highly recommended.
-+ */
-+#define USE_KBD_IRQ /* Use keyboard interrupt instead of timer */
-+
-+#define KB_ROWS 7
-+#define KB_COLS 11
-+
-+#define KBD_COL9_IS_USED_FOR_SIC
-+ /* KBDCOL9 Hardware is used as SIC SYS_CLK , so , it cannot be used */
-+
-+#define ALL_AUX_COLS 0x00 /* no AUX Cols */
-+
-+#define set_bits(var, mask, bits) (var) = (((var) & ~(mask)) | (bits))
-+
-+/*
-+ * Be sure to change the if you increase the
-+ * number of kbd rows...
-+ */
-+#define KEYCODE(r,c) ( ((r)<<4) + (c) + 1 )
-+#define KB_ROWMASK(r) (1 << (r))
-+
-+ /*
-+ * KB_DELAY is used to allow the matrix
-+ * to stabilize.., value is determined via
-+ * experimentation.
-+ */
-+
-+#define KB_DISCHARGE_DELAY 10
-+#define KB_ACTIVATE_DELAY 10
-+
-+typedef struct {
-+ int in; /* If the key down */
-+} kbd_keyinfo;
-+
-+#define KBUP (0x80)
-+#define KBDOWN (0)
-+
-+#define KBSCANCDE(x,y) ((x) | (y))
-+
-+#define CHARGE_VALUE 0x00FF
-+#define DISCHARGE_VALUE 0x0000
-+#define IRQ_STATE_CLEAR 0xFEFF
-+#define INIT_KCMD 0x0001
-+
-+
-+
-+/*
-+ * We have a spinlock we use to ensure that keysdown
-+ * is consisent with kbd_state[]
-+ *
-+ * This is prolly overkill since the arm doesn't support SMP.
-+ */
-+// Yes, it is - WA static spinlock_t kbd_spinlock;
-+extern spinlock_t kbd_spinlock;
-+
-+ /*
-+ * #define for functions we can't make use of
-+ */
-+
-+#define kbd_leds(x)
-+#define kbd_setleds(x)
-+#define kbd_getledstate (0)
-+extern int tosa_kbd_translate(unsigned char sc,unsigned char *keycode_p);
-+#define kbd_translate(sc,kc,rm) tosa_kbd_translate(sc,kc)
-+/*
-+ *#define kbd_sysrq_xlate() (1)
-+ */
-+#define kbd_pretranslate(x,y) (1)
-+#define kbd_unexpected_up(kc) (0x80)
-+#define kbd_setkeycode(sc,kc) (-EINVAL)
-+#define kbd_getkeycode(sc) (-EINVAL)
-+
-+extern void tosa_kbd_hw_init(void);
-+#define kbd_init_hw() tosa_kbd_hw_init()
-+
-+extern void tosa_kbd_cleartable(void);
-+
-+/*
-+ * I need to do something better for these two...
-+ * Sometime v. soon. I don't like these at all, as they
-+ *
-+ * don't look like fn calls.
-+ */
-+
-+#define kbd_disable_irq() { \
-+ int flags; \
-+ spin_lock_irqsave(&kbd_spinlock,flags);
-+
-+
-+#define kbd_enable_irq() spin_unlock_irqrestore(&kbd_spinlock,flags); \
-+ }
-+
-+
-+/* data structure for raw keyboard event */
-+
-+/*
-+ * row , col values for feature keys
-+ */
-+#define TOSA_KEYPOS_2nd_ROW 0
-+#define TOSA_KEYPOS_2nd_COL 1
-+
-+#define TOSA_KEYPOS_NUM_ROW 0
-+#define TOSA_KEYPOS_NUM_COL 8
-+
-+#define TOSA_KEYPOS_LSHIFT_ROW 1
-+#define TOSA_KEYPOS_LSHIFT_COL 0
-+
-+#define TOSA_KEYPOS_RSHIFT_ROW 1
-+#define TOSA_KEYPOS_RSHIFT_COL 8
-+
-+/*
-+ * number of modifier status keys resolved on corgikb driver
-+ */
-+#define TOSAKB_MODIFIERS 5 /* for CapsLock / NumLock / 2ND / LSHIFT / RSHIFT */
-+
-+#endif
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/pcmcia.h linux/include/asm-arm/arch-pxa/pcmcia.h
---- linux_c860_org/include/asm-arm/arch-pxa/pcmcia.h 2002-12-18 19:29:34.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/pcmcia.h 2004-06-10 21:13:56.000000000 +0900
-@@ -14,6 +14,7 @@
- *
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #ifndef _ASM_ARCH_PCMCIA
-@@ -71,6 +72,10 @@
- int (*socket_state)(struct pcmcia_state_array *);
- int (*get_irq_info)(struct pcmcia_irq_info *);
- int (*configure_socket)(const struct pcmcia_configure *);
-+#ifdef CONFIG_ARCH_SHARP_SL
-+ int (*socket_init)(int sock);
-+ int (*socket_suspend)(int sock);
-+#endif
- };
-
- extern struct pcmcia_low_level *pcmcia_low_level;
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/pxa-regs.h linux/include/asm-arm/arch-pxa/pxa-regs.h
---- linux_c860_org/include/asm-arm/arch-pxa/pxa-regs.h 2002-08-29 14:59:56.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/pxa-regs.h 2004-06-10 21:09:11.000000000 +0900
-@@ -11,6 +11,7 @@
- *
- * Change Log
- * 08-19-2002 Sharp add I2S defines
-+ * 26-Feb-2004 Lineo Solutions, Inc. supply a definition for FM bit of ICR
- *
- */
- #ifndef _PXA_REGS_H_
-@@ -443,6 +444,7 @@
- #define ICR_ALDIE 0x1000 /* enable arbitration interrupt */
- #define ICR_SADIE 0x2000 /* slave address detected int enable */
- #define ICR_UR 0x4000 /* unit reset */
-+#define ICR_FM 0x8000 /* fast mode */
-
- /* ----- Status register bits ----------------------------------------- */
-
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/serial_pxa200.h linux/include/asm-arm/arch-pxa/serial_pxa200.h
---- linux_c860_org/include/asm-arm/arch-pxa/serial_pxa200.h 2003-01-15 15:51:16.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/serial_pxa200.h 2004-06-10 21:13:15.000000000 +0900
-@@ -3,6 +3,7 @@
- *
- * Change Log
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #ifndef __ASM_ARCH_SERIAL_H
-@@ -30,7 +31,10 @@
- #define CONFIG_UART2_DFLT_CONSOLE
- #elif defined(CONFIG_ARCH_PXA_CORGI)
- #define CONFIG_UART2_DFLT_CONSOLE
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#define CONFIG_UART2_DFLT_CONSOLE
- #endif
-+
- #if defined(CONFIG_UART0_DFLT_CONSOLE)
-
- #define STD_SERIAL_PORT_DEFNS \
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/sharpsl_battery.h linux/include/asm-arm/arch-pxa/sharpsl_battery.h
---- linux_c860_org/include/asm-arm/arch-pxa/sharpsl_battery.h 2002-08-26 16:00:32.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/sharpsl_battery.h 2004-06-10 21:17:53.000000000 +0900
-@@ -10,6 +10,7 @@
- *
- * ChangeLog:
- * 21-Aug-2002 Lineo Japan, Inc. for 2.4.18
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- *
- */
-
-@@ -81,6 +82,11 @@
- #define BATT_AD 4u /* channel of BATTery */
- #define BATT_THM 2u /* channel of BATTery */
- #define JK_VAD 6u /* channel of BATTery */
-+#elif defined(CONFIG_ARCH_PXA_TOSA)
-+#define BATT_VC 0x4 /* channel of BAT V CAUTION */
-+#define BATT_TH 0x5 /* channel of BAT TH */
-+#define BATT_V 0x6 /* channel of BAT V */
-+#define BU_V 0x7 /* channel of BU V */
- #endif
-
- #define Temper_V47 0x449 /* 0.670v (47"C) */
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/sharpsl_wakeup.h linux/include/asm-arm/arch-pxa/sharpsl_wakeup.h
---- linux_c860_org/include/asm-arm/arch-pxa/sharpsl_wakeup.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/sharpsl_wakeup.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,26 @@
-+/*
-+ * include/asm-arm/arch-pxa/sharpsl_wakeup.h
-+ * Copyright (C) 2003 SHARP
-+ */
-+
-+#ifndef __SHARPSL_WAKEUP_H__
-+#define __SHARPSL_WAKEUP_H__
-+
-+
-+#define IDPM_WAKEUP_AC (0x1<<1)
-+#define IDPM_WAKEUP_SYNC (0x1<<3)
-+#define IDPM_WAKEUP_REMOCON (0x1<<4)
-+#define IDPM_WAKEUP_REC (0x1<<10)
-+#define IDPM_WAKEUP_JACKET (0x1<<16)
-+#define IDPM_WAKEUP_USBD (0x1<<17)
-+#define IDPM_WAKEUP_CALENDAR (0x1<<25)
-+#define IDPM_WAKEUP_ADDRESSBOOK (0x1<<26)
-+#define IDPM_WAKEUP_MAIL (0x1<<27)
-+#define IDPM_WAKEUP_MENU (0x1<<28)
-+#define IDPM_WAKEUP_HOME (0x1<<29)
-+#define IDPM_WAKEUP_RTC (0x1<<31)
-+
-+extern unsigned long logical_wakeup_src_mask;
-+
-+
-+#endif // end __SHARPSL_WAKEUP_H__
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/system.h linux/include/asm-arm/arch-pxa/system.h
---- linux_c860_org/include/asm-arm/arch-pxa/system.h 2003-06-18 16:12:28.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/system.h 2004-06-10 21:17:56.000000000 +0900
-@@ -12,6 +12,7 @@
- * Change Log
- * 17-Sep-2002 Lineo Japan, Inc.
- * 13-Mar-2003 Sharp for Shepherd
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #include <linux/config.h>
-@@ -32,11 +33,13 @@
- static inline void arch_reset(char mode)
- {
- #ifdef CONFIG_ARCH_SHARP_SL
--#ifdef CONFIG_ARCH_PXA_SHEPHERD
-+#ifdef CONFIG_PM
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
- sharpsl_restart_nonstop();
- #else
- sharpsl_restart();
- #endif
-+#endif
- #else
- if (mode == 's') {
- /* Jump into ROM at address 0 */
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/time.h linux/include/asm-arm/arch-pxa/time.h
---- linux_c860_org/include/asm-arm/arch-pxa/time.h 2003-01-14 12:07:55.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/time.h 2004-06-10 21:18:00.000000000 +0900
-@@ -12,6 +12,7 @@
- * ChangLog:
- * 12-Dec-2002 Lineo Japan, Inc.
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #ifdef CONFIG_SABINAL_DISCOVERY
-@@ -19,14 +20,18 @@
- //#define RTC_DEF_TRIM 0
- #define RTC_DEF_TRIM 0x11b3
- #endif
-+
- #ifdef CONFIG_ARCH_PXA_POODLE
- #define RTC_DEF_DIVIDER 32768 - 1
- #define RTC_DEF_TRIM 0
--#endif
--#ifdef CONFIG_ARCH_PXA_CORGI
-+#elif CONFIG_ARCH_PXA_CORGI
-+#define RTC_DEF_DIVIDER 32768 - 1
-+#define RTC_DEF_TRIM 0
-+#elif CONFIG_ARCH_PXA_TOSA
- #define RTC_DEF_DIVIDER 32768 - 1
- #define RTC_DEF_TRIM 0
- #endif
-+
- #ifdef CONFIG_ARCH_SHARP_SL
- #define SHARP_SL_DEF_YEAR 2003
- #endif
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/tosa.h linux/include/asm-arm/arch-pxa/tosa.h
---- linux_c860_org/include/asm-arm/arch-pxa/tosa.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/tosa.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,433 @@
-+/*
-+ * include/asm-arm/arch-pxa/tosa.h
-+ * Copyright (C) 2003 Lineo uSolutions, Inc.
-+ *
-+ * ChangeLog:
-+ * 23-Oct-2003 SHARP Corporation
-+ */
-+
-+#ifndef _ASM_ARCH_TOSA_H_
-+#define _ASM_ARCH_TOSA_H_ 1
-+
-+/* TOSA Chip selects */
-+#define TOSA_LCDC_PHYS PXA_CS4_PHYS
-+/* Internel Scoop */
-+#define TOSA_CF_PHYS (PXA_CS2_PHYS + 0x00800000)
-+/* Jacket Scoop */
-+#define TOSA_SCOOP_PHYS (PXA_CS5_PHYS + 0x00800000)
-+
-+/*
-+ * TC6393 internal I/O mappings
-+ *
-+ * We have the following mapping:
-+ * phys virt
-+ * 10000000 f1000000
-+ */
-+#define TC6393_SYS_BASE 0xf1000000
-+#define TC6393_NAND_BASE (TC6393_SYS_BASE + 0x000100)
-+#define TC6393_SD_BASE (TC6393_SYS_BASE + 0x000200)
-+#define TC6393_USB_BASE (TC6393_SYS_BASE + 0x000300)
-+#define TC6393_SERIAL_BASE (TC6393_SYS_BASE + 0x000400)
-+#define TC6393_GC_BASE (TC6393_SYS_BASE + 0x000500)
-+#define TC6393_RAM0_BASE (TC6393_SYS_BASE + 0x010000)
-+#define TC6393_RAM0_SIZE (32*1024)
-+#define TC6393_RAM1_BASE (TC6393_SYS_BASE + 0x100000)
-+#define TC6393_RAM1_SIZE (64 * 1024 * 16)
-+
-+/*
-+ * Internal Local Memory use purpose
-+ * RAM0 is used for USB
-+ * RAM1 is used for GC
-+ */
-+/* Internal register mapping */
-+#define TC6393_GC_INTERNAL_REG_BASE 0x000600 /* Length 0x200 */
-+#define TC6393_USB_OHCI_OP_REG_BASE 0x000A00 /* Length 0x100 */
-+#define TC6393_NAND_FLASH_CTL_REG_BASE 0x001000 /* Length 0x8 */
-+
-+
-+/* System Configuration register */
-+#define TC6393_SYS_REG(ofst) (*(volatile unsigned short*)(TC6393_SYS_BASE+(ofst)))
-+#define TC6393_SYS_RIDR 0x008
-+#define TC6393_SYS_ISR 0x050
-+#define TC6393_SYS_IMR 0x052
-+#define TC6393_SYS_IRR 0x054
-+#define TC6393_SYS_GPER 0x060
-+#define TC6393_SYS_GPISR1 0x064
-+#define TC6393_SYS_GPISR2 0x066
-+#define TC6393_SYS_GPIIMR1 0x068
-+#define TC6393_SYS_GPIIMR2 0x06A
-+#define TC6393_SYS_GPIEDER1 0x06C
-+#define TC6393_SYS_GPIEDER2 0x06E
-+#define TC6393_SYS_GPILIR1 0x070
-+#define TC6393_SYS_GPILIR2 0x072
-+#define TC6393_SYS_GPODSR1 0x078
-+#define TC6393_SYS_GPODSR2 0x07A
-+#define TC6393_SYS_GPOOECR1 0x07C
-+#define TC6393_SYS_GPOOECR2 0x07E
-+#define TC6393_SYS_GPIARCR1 0x080
-+#define TC6393_SYS_GPIARCR2 0x082
-+#define TC6393_SYS_GPIARLCR1 0x084
-+#define TC6393_SYS_GPIARLCR2 0x086
-+#define TC6393_SYS_GPIBCR1 0x088
-+#define TC6393_SYS_GPIBCR2 0x08A
-+#define TC6393_SYS_GPaIARCR 0x08C
-+#define TC6393_SYS_GPaIARLCR 0x090
-+#define TC6393_SYS_GPaIBCR 0x094
-+#define TC6393_SYS_CCR 0x098 /* Clock Control Register */
-+#define TC6393_SYS_PLL2CR 0x09A
-+#define TC6393_SYS_PLL1CR1 0x09C
-+#define TC6393_SYS_PLL1CR2 0x09E
-+#define TC6393_SYS_DCR 0x0A0
-+#define TC6393_SYS_FER 0x0E0 /* Function Enable Register */
-+#define TC6393_SYS_MCR 0x0E4
-+#define TC6393_SYS_ConfigCR 0x0FC
-+
-+/* NAND FLASH controller configuration register */
-+#define TC6393_NAND_REG(ofst) (*(volatile unsigned short*)(TC6393_NAND_BASE+(ofst)))
-+
-+/* SD Card Configuration register */
-+#define TC6393_SD_REG(ofst) (*(volatile unsigned short*)(TC6393_SD_BASE+(ofst)))
-+
-+/* USB HOST Configuration register */
-+#define TC6393_USB_REG(ofst) (*(volatile unsigned short*)(TC6393_USB_BASE+(ofst)))
-+#define TC6393_USB_SPRID 0x08
-+#define TC6393_USB_SPBA1 0x10
-+#define TC6393_USB_SPBA2 0x12
-+#define TC6393_USB_ILME 0x40
-+#define TC6393_USB_SVPMCS 0x4C
-+#define TC6393_USB_PM_PMES (1 << 15)
-+#define TC6393_USB_PM_PMEE (1 << 8)
-+#define TC6393_USB_PM_USPW2 (1 << 3)
-+#define TC6393_USB_PM_USPW1 (1 << 2)
-+#define TC6393_USB_PM_CKRNEN (1 << 1)
-+#define TC6393_USB_PM_GCKEN (1 << 0)
-+#define TC6393_USB_INTC 0x50
-+#define TC6393_USB_SP1INTC1 0x54
-+#define TC6393_USB_SP1INTC2 0x56
-+#define TC6393_USB_SP1MBA1 0x58
-+#define TC6393_USB_SP1MBA2 0x5A
-+#define TC6393_USB_SP2INTC1 0x5C
-+#define TC6393_USB_SP2INTC2 0x5E
-+#define TC6393_USB_SP2MBA1 0x60
-+#define TC6393_USB_SP2MBA2 0x62
-+#define TC6393_USB_SPPCNF 0xFC
-+
-+#define IS_TC6393_RAM0(p) (TC6393_RAM0_BASE <= (unsigned int)p \
-+ && (unsigned int)p <= TC6393_RAM0_BASE + TC6393_RAM0_SIZE)
-+#define TC6393_RAM0_VAR_TO_OFFSET(x) ((unsigned int)x - TC6393_RAM0_BASE)
-+#define TC6393_RAM0_OFFSET_TO_VAR(x) ((unsigned int)x + TC6393_RAM0_BASE)
-+
-+/* Serial I/O controller Configuration register */
-+#define TC6393_SERIAL_REG(ofst) (*(volatile unsigned short*)(TC6393_SERIAL_BASE+(ofst)))
-+
-+/* Graphic controller Configuration register */
-+#define TC6393_GC_REG(ofst) (*(volatile unsigned short*)(TC6393_GC_BASE+(ofst)))
-+
-+/* GPIO bit */
-+#define TC6393_GPIO19 ( 1 << 19 )
-+#define TC6393_GPIO18 ( 1 << 18 )
-+#define TC6393_GPIO17 ( 1 << 17 )
-+#define TC6393_GPIO16 ( 1 << 16 )
-+#define TC6393_GPIO15 ( 1 << 15 )
-+#define TC6393_GPIO14 ( 1 << 14 )
-+#define TC6393_GPIO13 ( 1 << 13 )
-+#define TC6393_GPIO12 ( 1 << 12 )
-+#define TC6393_GPIO11 ( 1 << 11 )
-+#define TC6393_GPIO10 ( 1 << 10 )
-+#define TC6393_GPIO9 ( 1 << 9 )
-+#define TC6393_GPIO8 ( 1 << 8 )
-+#define TC6393_GPIO7 ( 1 << 7 )
-+#define TC6393_GPIO6 ( 1 << 6 )
-+#define TC6393_GPIO5 ( 1 << 5 )
-+#define TC6393_GPIO4 ( 1 << 4 )
-+#define TC6393_GPIO3 ( 1 << 3 )
-+#define TC6393_GPIO2 ( 1 << 2 )
-+#define TC6393_GPIO1 ( 1 << 1 )
-+#define TC6393_GPIO0 ( 1 << 0 )
-+
-+/*
-+ * TC6393 GPIOs
-+ */
-+#define TC6393_TG_ON TC6393_GPIO0
-+#define TC6393_L_MUTE TC6393_GPIO1
-+#define TC6393_BL_C20MA TC6393_GPIO3
-+#define TC6393_CARD_VCC_ON TC6393_GPIO4
-+#define TC6393_CHARGE_OFF TC6393_GPIO6
-+#define TC6393_CHARGE_OFF_JC TC6393_GPIO7
-+#define TC6393_BAT0_V_ON TC6393_GPIO9
-+#define TC6393_BAT1_V_ON TC6393_GPIO10
-+#define TC6393_BU_CHRG_ON TC6393_GPIO11
-+#define TC6393_BAT_SW_ON TC6393_GPIO12
-+#define TC6393_BAT0_TH_ON TC6393_GPIO14
-+#define TC6393_BAT1_TH_ON TC6393_GPIO15
-+
-+#define TC6393_GPO_OE ( TC6393_TG_ON | TC6393_L_MUTE | TC6393_BL_C20MA | \
-+ TC6393_CARD_VCC_ON | TC6393_CHARGE_OFF | \
-+ TC6393_CHARGE_OFF_JC | TC6393_BAT0_V_ON | \
-+ TC6393_BAT1_V_ON | TC6393_BU_CHRG_ON | \
-+ TC6393_BAT_SW_ON | TC6393_BAT0_TH_ON | \
-+ TC6393_BAT1_TH_ON )
-+
-+/*
-+ * SCOOP2 internal I/O mappings
-+ *
-+ * We have the following mapping:
-+ * phys virt
-+ * 08800000 f2000000
-+ */
-+#define CF_BUF_CTRL_BASE 0xF2000000
-+#define SCP_REG(adr) (*(volatile unsigned short*)(CF_BUF_CTRL_BASE+(adr)))
-+
-+#define SCP_MCR 0x00
-+#define SCP_CDR 0x04
-+#define SCP_CSR 0x08
-+#define SCP_CPR 0x0C
-+#define SCP_CCR 0x10
-+#define SCP_IRR 0x14
-+#define SCP_IRM 0x14
-+#define SCP_IMR 0x18
-+#define SCP_ISR 0x1C
-+#define SCP_GPCR 0x20
-+#define SCP_GPWR 0x24
-+#define SCP_GPRR 0x28
-+#define SCP_REG_MCR SCP_REG(SCP_MCR)
-+#define SCP_REG_CDR SCP_REG(SCP_CDR)
-+#define SCP_REG_CSR SCP_REG(SCP_CSR)
-+#define SCP_REG_CPR SCP_REG(SCP_CPR)
-+#define SCP_REG_CCR SCP_REG(SCP_CCR)
-+#define SCP_REG_IRR SCP_REG(SCP_IRR)
-+#define SCP_REG_IRM SCP_REG(SCP_IRM)
-+#define SCP_REG_IMR SCP_REG(SCP_IMR)
-+#define SCP_REG_ISR SCP_REG(SCP_ISR)
-+#define SCP_REG_GPCR SCP_REG(SCP_GPCR)
-+#define SCP_REG_GPWR SCP_REG(SCP_GPWR)
-+#define SCP_REG_GPRR SCP_REG(SCP_GPRR)
-+
-+#define SCP_GPCR_PA22 ( 1 << 12 )
-+#define SCP_GPCR_PA21 ( 1 << 11 )
-+#define SCP_GPCR_PA20 ( 1 << 10 )
-+#define SCP_GPCR_PA19 ( 1 << 9 )
-+#define SCP_GPCR_PA18 ( 1 << 8 )
-+#define SCP_GPCR_PA17 ( 1 << 7 )
-+#define SCP_GPCR_PA16 ( 1 << 6 )
-+#define SCP_GPCR_PA15 ( 1 << 5 )
-+#define SCP_GPCR_PA14 ( 1 << 4 )
-+#define SCP_GPCR_PA13 ( 1 << 3 )
-+#define SCP_GPCR_PA12 ( 1 << 2 )
-+#define SCP_GPCR_PA11 ( 1 << 1 )
-+
-+/*
-+ * SCOOP2 internal GPIOs
-+ */
-+#define SCP_PXA_VCORE1 SCP_GPCR_PA11
-+#define SCP_TC6393_REST_IN SCP_GPCR_PA12
-+#define SCP_IR_POWERDWN SCP_GPCR_PA13
-+#define SCP_SD_WP SCP_GPCR_PA14
-+#define SCP_PWR_ON SCP_GPCR_PA15
-+#define SCP_AUD_PWR_ON SCP_GPCR_PA16
-+#define SCP_BT_RESET SCP_GPCR_PA17
-+#define SCP_BT_PWR_EN SCP_GPCR_PA18
-+#define SCP_AC_IN_OL SCP_GPCR_PA19
-+
-+/* GPIO Direction 1 : outpu mode / 0:input mode */
-+#define SCP_IO_DIR ( SCP_PXA_VCORE1 | SCP_TC6393_REST_IN | \
-+ SCP_IR_POWERDWN | SCP_PWR_ON | SCP_AUD_PWR_ON |\
-+ SCP_BT_RESET | SCP_BT_PWR_EN )
-+/* GPIO out put level when init 1: Hi */
-+#define SCP_IO_OUT ( SCP_TC6393_REST_IN )
-+//#define GPIO_CO 16
-+
-+/*
-+ * SCOOP2 for jacket I/O mappings
-+ *
-+ * We have the following mapping:
-+ * phys virt
-+ * 14800000 f2200000
-+ */
-+
-+#define CF2_BUF_CTRL_BASE 0xF2200040
-+#define SCP_JC_REG(adr) (*(volatile unsigned short*)(CF2_BUF_CTRL_BASE+(adr)))
-+
-+#define SCP_JC_REG_MCR SCP_JC_REG(SCP_MCR)
-+#define SCP_JC_REG_CDR SCP_JC_REG(SCP_CDR)
-+#define SCP_JC_REG_CSR SCP_JC_REG(SCP_CSR)
-+#define SCP_JC_REG_CPR SCP_JC_REG(SCP_CPR)
-+#define SCP_JC_REG_CCR SCP_JC_REG(SCP_CCR)
-+#define SCP_JC_REG_IRR SCP_JC_REG(SCP_IRR)
-+#define SCP_JC_REG_IRM SCP_JC_REG(SCP_IRM)
-+#define SCP_JC_REG_IMR SCP_JC_REG(SCP_IMR)
-+#define SCP_JC_REG_ISR SCP_JC_REG(SCP_ISR)
-+#define SCP_JC_REG_GPCR SCP_JC_REG(SCP_GPCR)
-+#define SCP_JC_REG_GPWR SCP_JC_REG(SCP_GPWR)
-+#define SCP_JC_REG_GPRR SCP_JC_REG(SCP_GPRR)
-+
-+/*
-+ * SCOOP2 jacket GPIOs
-+ */
-+#define SCP_JC_BT_LED SCP_GPCR_PA11
-+#define SCP_JC_NOTE_LED SCP_GPCR_PA12
-+#define SCP_JC_CHRG_ERR_LED SCP_GPCR_PA13
-+#define SCP_JC_USB_PULLUP SCP_GPCR_PA14
-+#define SCP_JC_TC6393_SUSPEND SCP_GPCR_PA15
-+#define SCP_JC_TC3693_L3V_ON SCP_GPCR_PA16
-+#define SCP_JC_WLAN_DETECT SCP_GPCR_PA17
-+#define SCP_JC_WLAN_LED SCP_GPCR_PA18
-+#define SCP_JC_CARD_LIMIT_SEL SCP_GPCR_PA19
-+
-+/* GPIO Direction 1 : outpu mode / 0:input mode */
-+#define SCP_JC_IO_DIR ( SCP_JC_BT_LED | SCP_JC_NOTE_LED | \
-+ SCP_JC_CHRG_ERR_LED | SCP_JC_USB_PULLUP | \
-+ SCP_JC_TC6393_SUSPEND | SCP_JC_TC3693_L3V_ON | \
-+ SCP_JC_WLAN_LED | SCP_JC_CARD_LIMIT_SEL )
-+/* GPIO out put level when init 1: Hi */
-+//#define SCP_JC_IO_OUT ( SCP_JC_TC6393_SUSPEND | SCP_JC_TC3693_L3V_ON )
-+#define SCP_JC_IO_OUT ( 0 )
-+
-+/*
-+ * NSSP
-+ */
-+#define NSSCR0 __REG(0x41400000)
-+#define NSSCR1 __REG(0x41400008)
-+#define NSSSR __REG(0x4140000C)
-+#define NSSITR __REG(0x41400010)
-+#define NSSDRTO __REG(0x41400028)
-+
-+/*
-+ * Timing Generator
-+ */
-+#define TG_PNLCTL 0x00
-+#define TG_TPOSCTL 0x01
-+#define TG_DUTYCTL 0x02
-+#define TG_GPOSR 0x03
-+#define TG_GPODR1 0x04
-+#define TG_GPODR2 0x05
-+#define TG_PINICTL 0x06
-+#define TG_HPOSCTL 0x07
-+
-+#if 0
-+/*
-+ * Flash Memory mappings
-+ *
-+ * We have the following mapping:
-+ * phys virt
-+ * boot ROM 00000000 ef000000
-+ * NAND Flash 0C000000 f2100000
-+ */
-+#define NAND_FLASH_REG_BASE 0xf2100000
-+#define CPLD_REG(ofst) (*(volatile unsigned char*)(NAND_FLASH_REG_BASE+(ofst)))
-+
-+/* register offset */
-+#define ECCLPLB 0x00 /* line parity 7 - 0 bit */
-+#define ECCLPUB 0x04 /* line parity 15 - 8 bit */
-+#define ECCCP 0x08 /* column parity 5 - 0 bit */
-+#define ECCCNTR 0x0C /* ECC byte counter */
-+#define ECCCLRR 0x10 /* cleare ECC */
-+#define FLASHIO 0x14 /* Flash I/O */
-+#define FLASHCTL 0x18 /* Flash Control */
-+
-+/* Flash control bit */
-+#define FLRYBY (1 << 5)
-+#define FLCE1 (1 << 4)
-+#define FLWP (1 << 3)
-+#define FLALE (1 << 2)
-+#define FLCLE (1 << 1)
-+#define FLCE0 (1 << 0)
-+#endif
-+
-+
-+/*
-+ * LED
-+ */
-+#define SCP_LED_BLUE SCP_GPCR_PA11
-+#define SCP_LED_GREEN SCP_GPCR_PA12
-+#define SCP_LED_ORANGE SCP_GPCR_PA13
-+#define SCP_LED_WLAN SCP_GPCR_PA18
-+
-+
-+/*
-+ * PXA GPIOs
-+ */
-+#define GPIO_POWERON (0)
-+#define GPIO_RESET (1)
-+#define GPIO_AC_IN (2)
-+#define GPIO_RECORD_BTN (3)
-+#define GPIO_SYNC (4) /* Cradle SYNC Button */
-+#define GPIO_USB_IN (5)
-+//#define GPIO_nSD_CLK (6)
-+#define GPIO_JACKET_DETECT (7)
-+#define GPIO_nSD_DETECT (9)
-+#define GPIO_nSD_INT (10)
-+#define GPIO_TC6393_CLK (11)
-+#define GPIO_BAT1_CRG (12)
-+#define GPIO_CF_CD (13)
-+#define GPIO_BAT0_CRG (14)
-+#define GPIO_TC6393_INT (15)
-+#define GPIO_BAT0_LOW (17)
-+#define GPIO_TC6393_RDY (18)
-+#define GPIO_ON_RESET (19)
-+#define GPIO_EAR_IN (20)
-+#define GPIO_CF_IRQ (21) /* CF slot0 Ready */
-+#define GPIO_ON_KEY (22)
-+#define GPIO_VGA_LINE (27)
-+#define GPIO_TP_INT (32) /* Touch Panel pen down interrupt */
-+#define GPIO_JC_CF_IRQ (36) /* CF slot1 Ready */
-+#define GPIO_BAT_LOCKED (38) /* Battery locked */
-+#define GPIO_TG_SPI_SCLK (81)
-+#define GPIO_TG_SPI_CS (82)
-+#define GPIO_TG_SPI_MOSI (83)
-+#define GPIO_BAT1_LOW (84)
-+
-+#define GPIO_HP_IN GPIO_EAR_IN
-+
-+#define GPIO_MAIN_BAT_LOW GPIO_BAT0_LOW
-+
-+#define KEY_STROBE_NUM (11)
-+#define KEY_SENSE_NUM (7)
-+#define GPIO_HIGH_STROBE_BIT (0xfc000000)
-+#define GPIO_LOW_STROBE_BIT (0x0000001f)
-+#define GPIO_ALL_SENSE_BIT (0x00000fe0)
-+#define GPIO_ALL_SENSE_RSHIFT (5)
-+#define GPIO_STROBE_BIT(a) GPIO_bit(58+(a))
-+#define GPIO_SENSE_BIT(a) GPIO_bit(69+(a))
-+#define GAFR_HIGH_STROBE_BIT (0xfff00000)
-+#define GAFR_LOW_STROBE_BIT (0x000003ff)
-+#define GAFR_ALL_SENSE_BIT (0x00fffc00)
-+#define GPIO_KEY_SENSE(a) (69+(a))
-+
-+
-+/*
-+ * Interrupts
-+ */
-+#define IRQ_GPIO_WAKEUP IRQ_GPIO(GPIO_WAKEUP)
-+#define IRQ_GPIO_AC_IN IRQ_GPIO(GPIO_AC_IN)
-+#define IRQ_GPIO_RECORD_BTN IRQ_GPIO(GPIO_RECORD_BTN)
-+#define IRQ_GPIO_SYNC IRQ_GPIO(GPIO_SYNC)
-+#define IRQ_GPIO_USB_IN IRQ_GPIO(GPIO_USB_IN)
-+#define IRQ_GPIO_JACKET_DETECT IRQ_GPIO(GPIO_JACKET_DETECT)
-+#define IRQ_GPIO_nSD_INT IRQ_GPIO(GPIO_nSD_INT)
-+#define IRQ_GPIO_nSD_DETECT IRQ_GPIO(GPIO_nSD_DETECT)
-+#define IRQ_GPIO_BAT1_CRG IRQ_GPIO(GPIO_BAT1_CRG)
-+#define IRQ_GPIO_CF_CD IRQ_GPIO(GPIO_CF_CD)
-+#define IRQ_GPIO_BAT0_CRG IRQ_GPIO(GPIO_BAT0_CRG)
-+#define IRQ_GPIO_TC6393_INT IRQ_GPIO(GPIO_TC6393_INT)
-+#define IRQ_GPIO_BAT0_LOW IRQ_GPIO(GPIO_BAT0_LOW)
-+#define IRQ_GPIO_EAR_IN IRQ_GPIO(GPIO_EAR_IN)
-+#define IRQ_GPIO_CF_IRQ IRQ_GPIO(GPIO_CF_IRQ)
-+#define IRQ_GPIO_ON_KEY IRQ_GPIO(GPIO_ON_KEY)
-+#define IRQ_GPIO_VGA_LINE IRQ_GPIO(GPIO_VGA_LINE)
-+#define IRQ_GPIO_TP_INT IRQ_GPIO(GPIO_TP_INT)
-+#define IRQ_GPIO_JC_CF_IRQ IRQ_GPIO(GPIO_JC_CF_IRQ)
-+#define IRQ_GPIO_BAT_LOCKED IRQ_GPIO(GPIO_BAT_LOCKED)
-+#define IRQ_GPIO_BAT1_LOW IRQ_GPIO(GPIO_BAT1_LOW)
-+#define IRQ_GPIO_KEY_SENSE(a) IRQ_GPIO(69+(a))
-+
-+#define IRQ_GPIO_MAIN_BAT_LOW IRQ_GPIO(GPIO_MAIN_BAT_LOW)
-+
-+// CS
-+#define CS_MAX1111 1
-+#define CS_ADS7846 2
-+#define CS_LZ9JG18 3
-+
-+#define LOGICAL_WAKEUP_SRC
-+
-+#endif /* _ASM_ARCH_TOSA_H_ */
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/tosa_ac97_codec.h linux/include/asm-arm/arch-pxa/tosa_ac97_codec.h
---- linux_c860_org/include/asm-arm/arch-pxa/tosa_ac97_codec.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/tosa_ac97_codec.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,32 @@
-+/*
-+ * linux/include/asm-arm/arch-pxa/tosa_ac97_codec.h
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ */
-+#ifndef _TOSA_AC97_CODEC_H_
-+#define _TOSA_AC97_CODEC_H_
-+
-+//#define USE_AC97_INTERRUPT
-+
-+extern int pxa_ac97_get(struct ac97_codec **, unsigned char *);
-+extern void pxa_ac97_put(unsigned char *);
-+extern unsigned int ac97_set_dac_rate(struct ac97_codec *, unsigned int);
-+extern unsigned int ac97_set_adc_rate(struct ac97_codec *, unsigned int);
-+
-+extern struct ac97_codec *codec;
-+#define ac97_read(r) codec->codec_read(codec, r)
-+#define ac97_write(r, v) codec->codec_write(codec, r, v);
-+#define ac97_bit_clear(r, v) codec->codec_bit_clear(codec, r, v)
-+#define ac97_bit_set(r, v) codec->codec_bit_set(codec, r, v)
-+
-+/* Function1 */
-+#define AC97_JIEN (1 << 12)
-+#define AC97_FRC (1 << 11)
-+/* Function2 */
-+#define AC97_AMUTE (1 << 15) //DAC Auto-Mute Enable(read-only)
-+#define AC97_AMEN (1 << 7) //DAC Auto-Mute Enable
-+
-+#endif /* _TOSA_AC97_CODEC_H_ */
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/tosa_wm9712.h linux/include/asm-arm/arch-pxa/tosa_wm9712.h
---- linux_c860_org/include/asm-arm/arch-pxa/tosa_wm9712.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/tosa_wm9712.h 2004-06-10 21:13:20.000000000 +0900
-@@ -0,0 +1,204 @@
-+/*
-+ * linux/drivers/sound/tosa_wm9712.h
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * Sound Driver for WM9712 codec device header file
-+ *
-+ * Base on:
-+ * linux/drivers/sound/poodle_wm8731.h
-+ *
-+ * Copyright (C) 2002 SHARP
-+ *
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * Change Log
-+ *
-+ */
-+#ifndef _WM9712_H_
-+#define _WM9712_H_
-+
-+#define TRUE 1
-+#define FALSE 0
-+
-+// Line input volume ctrl registers
-+#define LINEIN_MUTE_H (1 << 15) //Headphone
-+#define LINEIN_MUTE_S (1 << 14) //Speaker
-+#define LINEIN_MUTE_P (1 << 13) //Phone
-+#define LINEIN_MUTE_ALL ( LINEIN_MUTE_H | \
-+ LINEIN_MUTE_S | \
-+ LINEIN_MUTE_P )
-+
-+// Headphone volume ctrl
-+#define HP_MUTE (1 << 15)
-+#define HP_ZC_ENABLE (1 << 7)
-+
-+// Speaker volume ctrl
-+#define SP_MUTE (1 << 15)
-+#define SP_SRC (1 << 8)
-+#define SP_ZC_ENABLE (1 << 7)
-+#define SP_INV (1 << 6)
-+
-+// Initial value
-+#define INIT_HP_VOL (0) // Initial Volume 0dB
-+#define INIT_SP_VOL (0) // Initial Volume 0dB
-+#define INIT_LINE_VOL (8) // Initial Volume 0dB
-+#define INIT_DAC_VOL (8) // Initial Volume 0dB
-+#define MAX_HP_VOL (63)
-+#define MIN_HP_VOL (0)
-+#define MAX_SP_VOL (63)
-+#define MIN_SP_VOL (0)
-+#define MAX_LINE_VOL (31)
-+#define MIN_LINE_VOL (0)
-+#define MAX_DAC_VOL (31)
-+#define MIN_DAC_VOL (0)
-+
-+//DAC Volume control
-+#define DAC_MUTE_H (1 << 15) //Headphone
-+#define DAC_MUTE_S (1 << 14) //Speaker
-+#define DAC_MUTE_P (1 << 13) //Phone
-+#define DAC_MUTE_ALL ( DAC_MUTE_H | \
-+ DAC_MUTE_S | \
-+ DAC_MUTE_P )
-+
-+// Analog Audio path ctrl register (0000100)
-+#define SIDETONE_ENABLE (1<<5)
-+#define SIDETONE_DISABLE ( 0 )
-+#define ST_ATTN_6dB ( (0) << 6 )
-+#define ST_ATTN_9dB ( (1) << 6 )
-+#define ST_ATTN_12dB ( (2) << 6 )
-+#define ST_ATTN_15dB ( (3) << 6 )
-+#define DAC_OFF ( 0 )
-+#define DAC_SELECT ( 1 << 4 )
-+#define BYPASS_ENABLE ( 1 << 3 )
-+#define BYPASS_DISABLE ( 0 )
-+#define INPUT_MIC ( 1 << 2 )
-+#define INPUT_LINE ( 0 << 2 )
-+#define MIC_MUTE ( (1 << 13) | (1 << 14) )
-+#define REC_SELECT_MASK ( (1 << 10) | (1 << 9) | (1 << 8) | \
-+ (1 << 2) | (1 << 1) | (1 << 0) )
-+#define REC_SELECT_LINEIN ( 4 )
-+#define MIC_BOOST ( 1 << 7 )
-+
-+// Digital Audio path ctrl register (0000101)
-+#define DPC_DAC_MUTE_ON ( 1U << 3 )
-+#define DPC_DAC_MUTE_OFF ( 0U )
-+#define DPC_DAC_MUTE_MASK (~ ( 1U << 3 ) )
-+#define DEEMPHASIS_MODE(x) ( (( x ) & 3U ) << 1 )
-+#define DPC_DEEMPHASIS_MASK (~ ( 3U << 1 ) )
-+#define DPC_ADC_HPF_ENABLE ( 1U )
-+#define DPC_ADC_HPF_DISABLE ( 0U )
-+#define DPC_INIT ( 0U )
-+
-+// Power Consumption
-+#define NUM_OF_WM9712_DEV ( 4 )
-+#define WM9712_DEV_TS ( 0 )
-+#define WM9712_DEV_AUDIO ( 1 )
-+#define WM9712_DEV_AUDIOIN ( 2 )
-+#define WM9712_DEV_TMP ( 3 )
-+
-+#define WM9712_PWR_OFF ( 0 )
-+#define WM9712_PWR_REC ( 1 )
-+#define WM9712_PWR_PLAY ( 2 )
-+#define WM9712_PWR_REC_HP ( 3 )
-+#define WM9712_PWR_PLAY_HP ( 4 )
-+#define WM9712_PWR_REC_MIC ( 5 )
-+#define WM9712_PWR_PLAY_MIC ( 6 )
-+#define WM9712_PWR_TP_WAIT ( 7 )
-+#define WM9712_PWR_TP_CONV ( 8 )
-+#define WM9712_PWR_ENMICBIAS ( 9 )
-+#define WM9712_PWR_FULL ( 10 )
-+
-+extern void wm9712_power_mode(int, int);
-+#define wm9712_power_mode_ts(m) wm9712_power_mode(WM9712_DEV_TS, m)
-+#define wm9712_power_mode_audio(m) wm9712_power_mode(WM9712_DEV_AUDIO, m)
-+#define wm9712_power_mode_audioin(m) wm9712_power_mode(WM9712_DEV_AUDIOIN, m)
-+#define wm9712_power_mode_tmp(m) wm9712_power_mode(WM9712_DEV_TMP, m)
-+#ifdef CONFIG_PM
-+extern void lock_FCS_AC97(int, int);
-+#define lock_FCS_AC97_ts(m) lock_FCS_AC97(WM9712_DEV_TS, m)
-+#define lock_FCS_AC97_audio(m) lock_FCS_AC97(WM9712_DEV_AUDIO, m)
-+#endif /* CONFIG_PM */
-+
-+// Digital Audio Interface Format register (0000111)
-+#define SLAVE ( 0 )
-+#define MASTER ( 1U << 6 )
-+#define I2S_MODE ( 2U )
-+#define LEFT_JUSTIFIED ( 1U )
-+#define RIGHT_JUSTIFIED ( 0U )
-+#define IWL_16BIT ( 0 )
-+#define IWL_20BIT ( 1U << 2 )
-+#define IWL_24BIT ( 2U << 2 )
-+#define IWL_32BIT ( 3U << 2 )
-+#define LRSWAP_DISABLE ( 0U )
-+#define LRSWAP_ENABLE ( 1U << 5 )
-+#define LRP_RIGHT_HIGH ( 0U )
-+#define LRP_RIGHT_LOW ( 1U )
-+
-+// Sampling ctrl register defines (0001000)
-+#define SRC_CLKOUT_DIV ( 1 << 7 )
-+#define SRC_CLKIN_DIV ( 1 << 6 )
-+#define SRC_BOTH_44KHZ ( 8 << 2 )
-+#define SRC_BOTH_48KHZ ( 0 << 2 )
-+#define SRC_BOTH_8KHZ ( 3 << 2 )
-+#define SRC_OSR_256FS ( 0 ) // 12.288MHz/48kHz,11.2896MHz/44.1kHz
-+#define SRC_OSR_384FS ( 1 << 1 ) // 18.432MHz/48kHz,16.9344MHz/44.1kHz
-+#define SRC_OSR_250FS ( 0 ) // 12MHz/48 kHz
-+#define SRC_OSR_272FS ( 1 << 1 ) // 12MHz/44.1kHz
-+#define SRC_USB_MODE ( 1 )
-+#define SRC_NORMAL_MODE ( 0 )
-+#define DIGITAL_IF_ACTIVE ( 1 ) // digital interface active
-+#define DIGITAL_IF_INACTIVE ( 0 )
-+
-+typedef struct {
-+ int left;
-+ int right;
-+} GAIN_SETTINGS;
-+
-+typedef struct {
-+ unsigned short mode;
-+ GAIN_SETTINGS output;
-+ GAIN_SETTINGS input;
-+ int frequency;
-+} SOUND_SETTINGS;
-+
-+// mode
-+#define SOUND_PLAY_MODE (0x0001)
-+#define SOUND_REC_MODE (0x0002)
-+#define SOUND_MODE_MASK (0x0003)
-+
-+// volume
-+enum {
-+ VOLUME_IGNORE = -2,
-+ VOLUME_MUTE = -1
-+};
-+#define MAX_VOLUME MAX_HP_VOL
-+#define MIN_VOLUME MIN_HP_VOL
-+#define MAX_INPUT_VOLUME MAX_LINE_VOL
-+#define MIN_INPUT_VOLUME MIN_LINE_VOL
-+
-+int wm9712_busy(void);
-+int wm9712_init(void);
-+void wm9712_exit(void);
-+int wm9712_open(SOUND_SETTINGS *);
-+int wm9712_close(void);
-+int wm9712_set_freq(SOUND_SETTINGS *);
-+int wm9712_set_output_volume(int, int);
-+int wm9712_set_input_gain(int, int);
-+int wm9712_set_agc(int);
-+void wm9712_suspend(void);
-+void wm9712_resume(void);
-+void wm9712_update_jack_state(void);
-+void wm9712_checkjack_sleep(void);
-+void wm9712_checkjack_wakeup(void);
-+
-+#endif /* _WM9712_H_ */
-diff -Nur linux_c860_org/include/asm-arm/arch-pxa/uncompress.h linux/include/asm-arm/arch-pxa/uncompress.h
---- linux_c860_org/include/asm-arm/arch-pxa/uncompress.h 2003-01-14 12:07:55.000000000 +0900
-+++ linux/include/asm-arm/arch-pxa/uncompress.h 2004-06-10 21:09:11.000000000 +0900
-@@ -11,6 +11,7 @@
- * Change Log
- * 31-Jul-2002 Lineo Japan, Inc.
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #define FFUART ((volatile unsigned long *)0x40100000)
-@@ -35,7 +36,7 @@
- */
- static void puts(const char *s)
- {
--#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-+#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA)
- return;
- #endif
-
-diff -Nur linux_c860_org/include/asm-arm/dma.h linux/include/asm-arm/dma.h
---- linux_c860_org/include/asm-arm/dma.h 2002-08-26 14:37:53.000000000 +0900
-+++ linux/include/asm-arm/dma.h 2004-06-10 21:13:07.000000000 +0900
-@@ -5,6 +5,7 @@
-
- #include <linux/config.h>
- #include <linux/spinlock.h>
-+#include <linux/sched.h>
- #include <asm/system.h>
- #include <asm/memory.h>
- #include <asm/scatterlist.h>
-diff -Nur linux_c860_org/include/asm-arm/hardirq.h linux/include/asm-arm/hardirq.h
---- linux_c860_org/include/asm-arm/hardirq.h 2002-08-26 14:37:53.000000000 +0900
-+++ linux/include/asm-arm/hardirq.h 2004-06-10 21:12:36.000000000 +0900
-@@ -34,6 +34,7 @@
- #define irq_exit(cpu,irq) (local_irq_count(cpu)--)
-
- #define synchronize_irq() do { } while (0)
-+#define release_irqlock(cpu) do { } while (0)
-
- #else
- #error SMP not supported
-diff -Nur linux_c860_org/include/asm-arm/pgalloc.h linux/include/asm-arm/pgalloc.h
---- linux_c860_org/include/asm-arm/pgalloc.h 2003-06-18 16:12:27.000000000 +0900
-+++ linux/include/asm-arm/pgalloc.h 2004-06-10 21:12:37.000000000 +0900
-@@ -60,40 +60,48 @@
- {
- unsigned long *ret;
-
-+ preempt_disable();
- if ((ret = pgd_quicklist) != NULL) {
- pgd_quicklist = (unsigned long *)__pgd_next(ret);
- ret[1] = ret[2];
- clean_dcache_entry(ret + 1);
- pgtable_cache_size--;
- }
-+ preempt_enable();
- return (pgd_t *)ret;
- }
-
- static inline void free_pgd_fast(pgd_t *pgd)
- {
-+ preempt_disable();
- __pgd_next(pgd) = (unsigned long) pgd_quicklist;
- pgd_quicklist = (unsigned long *) pgd;
- pgtable_cache_size++;
-+ preempt_enable();
- }
-
- static inline pte_t *pte_alloc_one_fast(struct mm_struct *mm, unsigned long address)
- {
- unsigned long *ret;
-
-+ preempt_disable();
- if((ret = pte_quicklist) != NULL) {
- pte_quicklist = (unsigned long *)__pte_next(ret);
- ret[0] = 0;
- clean_dcache_entry(ret);
- pgtable_cache_size--;
- }
-+ preempt_enable();
- return (pte_t *)ret;
- }
-
- static inline void free_pte_fast(pte_t *pte)
- {
-+ preempt_disable();
- __pte_next(pte) = (unsigned long) pte_quicklist;
- pte_quicklist = (unsigned long *) pte;
- pgtable_cache_size++;
-+ preempt_enable();
- }
-
- #else /* CONFIG_NO_PGT_CACHE */
-diff -Nur linux_c860_org/include/asm-arm/processor.h linux/include/asm-arm/processor.h
---- linux_c860_org/include/asm-arm/processor.h 2002-08-26 14:43:40.000000000 +0900
-+++ linux/include/asm-arm/processor.h 2004-06-10 21:12:37.000000000 +0900
-@@ -117,7 +117,7 @@
- /*
- * Create a new kernel thread
- */
--extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- #endif
-
-diff -Nur linux_c860_org/include/asm-arm/sharp_apm.h linux/include/asm-arm/sharp_apm.h
---- linux_c860_org/include/asm-arm/sharp_apm.h 2003-03-13 14:53:18.000000000 +0900
-+++ linux/include/asm-arm/sharp_apm.h 2004-06-10 21:13:10.000000000 +0900
-@@ -9,6 +9,7 @@
- * Change Log
- * 26-Jun-2002 SHARP Add `APM_IOC_GET_BACKPACK_STATE`
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa
- */
-
- #ifndef _SHARP_APM_H
-@@ -59,6 +60,10 @@
-
- #define APM_IOC_KICK_BATTERY_CHECK _IO(APM_IOC_MAGIC, 80)
-
-+#define APM_IOC_GET_JACKET_STATE _IO(APM_IOC_MAGIC, 90) /* for tosa */
-+#define APM_IOC_BATTERY_JACKET_CHK _IO(APM_IOC_MAGIC, 91)
-+#define APM_IOC_GET_CARDSLOT_ERROR _IO(APM_IOC_MAGIC, 92)
-+
-
- #define APM_IOCGWUPSRC _IOR (APM_IOC_MAGIC, 200, int) /* 0x800441c8 */
- #define APM_IOCSWUPSRC _IOWR(APM_IOC_MAGIC, 201, int) /* 0xc00441c9 */
-@@ -90,6 +95,11 @@
- #define LOCK_FCS_AC97 0x00000080
- #define LOCK_FCS_PCMCIA 0x00000100
- #define LOCK_FCS_SOUND 0x00000200
-+#define LOCK_FCS_KEY 0x00000400
-+#define LOCK_FCS_TOUCH 0x00000800
-+#define LOCK_FCS_BATTERY 0x00001000
-+#define LOCK_FCS_AC97_SUB 0x00002000
-+#define LOCK_FCS_PCMCIA2 0x00004000
- #define LOCK_FCS_USR0 0x01000000
- #define LOCK_FCS_USR1 0x02000000
- #define LOCK_FCS_USR2 0x04000000
-@@ -113,10 +123,17 @@
- #define POWER_MODE_SOUND 0x00000200
- #define POWER_MODE_KEY 0x00000400
- #define POWER_MODE_TOUCH 0x00000800
-+#define POWER_MODE_BATTERY 0x00001000
-+#define POWER_MODE_AC97_SUB 0x00002000
-+#define POWER_MODE_PCMCIA2 0x00004000
-
- #define POWER_MODE_CAUTION_MASK (POWER_MODE_MMC|POWER_MODE_STUART|POWER_MODE_UDC|POWER_MODE_PCMCIA)
-
-+#if defined(CONFIG_ARCH_PXA_TOSA)
-+#define LOCK_FCS_POWER_MODE_CORRESPOND_MASK (POWER_MODE_FFUART|POWER_MODE_STUART|POWER_MODE_BTUART|POWER_MODE_IRDA|POWER_MODE_SSP|POWER_MODE_UDC|POWER_MODE_AC97|POWER_MODE_PCMCIA|POWER_MODE_SOUND|POWER_MODE_KEY|POWER_MODE_TOUCH|POWER_MODE_BATTERY|POWER_MODE_AC97_SUB|POWER_MODE_PCMCIA2)
-+#else
- #define LOCK_FCS_POWER_MODE_CORRESPOND_MASK (POWER_MODE_FFUART|POWER_MODE_STUART|POWER_MODE_BTUART|POWER_MODE_IRDA|POWER_MODE_SSP|POWER_MODE_UDC|POWER_MODE_AC97|POWER_MODE_PCMCIA|POWER_MODE_SOUND)
-+#endif
-
- int change_power_mode(unsigned long, int);
- int lock_FCS(unsigned long, int);
-diff -Nur linux_c860_org/include/asm-arm/sharp_char.h linux/include/asm-arm/sharp_char.h
---- linux_c860_org/include/asm-arm/sharp_char.h 2003-01-14 12:07:55.000000000 +0900
-+++ linux/include/asm-arm/sharp_char.h 2004-06-10 21:09:11.000000000 +0900
-@@ -17,6 +17,7 @@
- *
- * Change Log
- * 12-Dec-2002 Sharp Corporation for Poodle and Corgi
-+ * 1-Nov-2003 Sharp Corporation for Tosa
- */
-
- #ifndef __ASM_SHARP_CHAR_H_INCLUDED
-@@ -65,7 +66,7 @@
- int status; /* set new led status if you call SHARP_LED_SETSTATUS */
- } sharp_led_status;
-
--#define SHARP_LED_WHICH_MAX 15 /* last number of LED */
-+#define SHARP_LED_WHICH_MAX 17 /* last number of LED */
-
- /* parameters for 'which' member */
- #define SHARP_LED_PDA 0 /* PDA status */
-@@ -84,6 +85,8 @@
- #define SHARP_LED_COLLIE_1 13 /* 1st pri. mail LED control */
- #define SHARP_LED_COMM 14 /* communication status */
- #define SHARP_LED_BROWSER 15 /* WWW browser status */
-+#define SHARP_LED_BLUETOOTH 16 /* Bluetooth */
-+#define SHARP_LED_WLAN 17 /* Wireless LAN */
-
- /* parameters for 'status' member */
- #define LED_PDA_RUNNING 0 /* for SHARP_LED_RUN */
-@@ -158,6 +161,14 @@
- #define LED_BROWSER_ONLINE 1 /* for SHARP_LED_BROWSER */
- #define LED_BROWSER_ERROR 2 /* for SHARP_LED_BROWSER */
-
-+#define LED_BLUETOOTH_OFFLINE 0 /* for SHARP_LED_BLUETOOTH */
-+#define LED_BLUETOOTH_OUTOFRANGE 1 /* for SHARP_LED_BLUETOOTH */
-+#define LED_BLUETOOTH_STANBY 2 /* for SHARP_LED_BLUETOOTH */
-+
-+#define LED_WLAN_OFFLINE 0 /* for SHARP_LED_WLAN */
-+#define LED_WLAN_OUTOFRANGE 1 /* for SHARP_LED_WLAN */
-+#define LED_WLAN_BLINK 2 /* for SHARP_LED_WLAN */
-+
-
- /* --- for SHARP_BUZZER device --- */
- #define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
-@@ -257,6 +268,9 @@
- #define IRIS_KBDCTL_ENABLEKEYBOARD (SHARP_KBDCTL_IOCTL_START+16)
- #define IRIS_KBDCTL_DISABLEKEYBOARD (SHARP_KBDCTL_IOCTL_START+17)
- #define SHARP_KBDCTL_SENDKEY (SHARP_KBDCTL_IOCTL_START+18)
-+#define SHARP_KBDCTL_SETMODIFSTAT (SHARP_KBDCTL_IOCTL_START+20)
-+#define SHARP_KBDCTL_SETSWKEY (SHARP_KBDCTL_IOCTL_START+21)
-+#define SHARP_KBDCTL_GETSWKEY (SHARP_KBDCTL_IOCTL_START+22)
-
- typedef struct sharp_kbdctl_modifstat {
- int which;
-@@ -274,6 +288,11 @@
- int hold_slcode;
- } sharp_kbdctl_holdcustom;
-
-+typedef struct _sharp_kbdctl_swkey {
-+ int key;
-+ int mode;
-+} sharp_kbdctl_swkey;
-+
- #define SHARP_EXTMODIF_2ND 0x01
- #define SHARP_EXTMODIF_CAPS 0x02
- #define SHARP_EXTMODIF_NUMLOCK 0x03
-diff -Nur linux_c860_org/include/asm-arm/sharp_tc6393.h linux/include/asm-arm/sharp_tc6393.h
---- linux_c860_org/include/asm-arm/sharp_tc6393.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/sharp_tc6393.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,333 @@
-+/*
-+ * linux/include/asm-arm/sharp_tc6393.h
-+ *
-+ * Copyright (C) 2003 SHARP
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * ChangeLog:
-+ * 05-Aug-2003 SHARP Corporation
-+ *
-+ */
-+
-+#ifndef _TC6393XB_H_
-+#define _TC6393XB_H_
-+
-+//TC6393XB Resource Area Map (Offset)
-+// System Configration Register Area 0x00000000 - 0x000000FF (Size 0x00000100)
-+// NAND Flash Host Controller Register Area 0x00000100 - 0x000001FF (Size 0x00000100)
-+// USB Host Controller Register Area 0x00000300 - 0x000003FF (Size 0x00000100)
-+// LCD Host Controller Register Area 0x00000500 - 0x000005FF (Size 0x00000100)
-+// NAND Flash Control Register 0x00001000 - 0x00001007 (Size 0x00000008)
-+// USB Control Register 0x00003000 - 0x000031FF (Size 0x00000200)
-+// LCD Control Register 0x00005000 - 0x000051FF (Size 0x00000200)
-+// Local Memory 0 (32KB) 0x00010000 - 0x00017FFF (Size 0x00008000)
-+// Local Memory 0 (32KB) alias 0x00018000 - 0x0001FFFF (Size 0x00008000)
-+// Local Memory 1 (1MB) 0x00100000 - 0x001FFFFF (Size 0x00100000)
-+
-+
-+#define TC6393XB_BASE (0xf1000000)
-+
-+typedef struct {
-+ volatile unsigned char reserved1[8];
-+ // Revision ID
-+ volatile unsigned char warid;
-+ volatile unsigned char reserved2[71];
-+ // Interrupt Status
-+ volatile unsigned char r_itrsts;
-+ volatile unsigned char reserved3;
-+ // Interrupt Mask
-+ volatile unsigned char r_itrmsk;
-+ volatile unsigned char reserved4;
-+ // Interrupt Routing
-+ volatile unsigned char r_itrrot;
-+ volatile unsigned char reserved5[11];
-+ // GP Enable
-+ volatile unsigned char gpioen;
-+ // GP Alternative Enable
-+ volatile unsigned char gpaioen;
-+ volatile unsigned char reserved6[2];
-+ // GPI Status 0
-+ volatile unsigned char gpists0;
-+ // GPI Status 1
-+ volatile unsigned char gpists1;
-+ // GPI Status 2
-+ volatile unsigned char gpists2;
-+ volatile unsigned char reserved7;
-+ // GPI INT Mask 0
-+ volatile unsigned char gpintmsk0;
-+ // GPI INT Mask 1
-+ volatile unsigned char gpintmsk1;
-+ // GPI INT Mask 2
-+ volatile unsigned char gpintmsk2;
-+ volatile unsigned char reserved8;
-+ // GPI Edge Detect Enable 0
-+ volatile unsigned char gpedgen0;
-+ // GPI Edge Detect Enable 1
-+ volatile unsigned char gpedgen1;
-+ // GPI Edge Detect Enable 2
-+ volatile unsigned char gpedgen2;
-+ volatile unsigned char reserved9;
-+ // GPI Level Invert 0
-+ volatile unsigned char gplvinv0;
-+ // GPI Level Invert 1
-+ volatile unsigned char gplvinv1;
-+ // GPI Level Invert 2
-+ volatile unsigned char gplvinv2;
-+ volatile unsigned char reserved10[5];
-+ // GPO Data set 0
-+ volatile unsigned char gpodt0;
-+ // GPO Data set 1
-+ volatile unsigned char gpodt1;
-+ // GPO Data set 2
-+ volatile unsigned char gpodt2;
-+ volatile unsigned char reserved11;
-+ // GPO Data OE Contorol 0
-+ volatile unsigned char gpooe0;
-+ // GPO Data OE Contorol 1
-+ volatile unsigned char gpooe1;
-+ // GPO Data OE Contorol 2
-+ volatile unsigned char gpooe2;
-+ volatile unsigned char reserved12;
-+ // GP Internal Active Register Contorol 0
-+ volatile unsigned char gpapulc0;
-+ // GP Internal Active Register Contorol 1
-+ volatile unsigned char gpapulc1;
-+ // GP Internal Active Register Contorol 2
-+ volatile unsigned char gpIapulc2;
-+ volatile unsigned char reserved13;
-+ // GP Internal Active Register Level Contorol 0
-+ volatile unsigned char gparlv0;
-+ // GP Internal Active Register Level Contorol 1
-+ volatile unsigned char gparlv1;
-+ // GP Internal Active Register Level Contorol 2
-+ volatile unsigned char gparlv2;
-+ volatile unsigned char reserved14;
-+ // GPI Buffer Contorol 0
-+ volatile unsigned char gpibfc0;
-+ // GPI Buffer Contorol 1
-+ volatile unsigned char gpibfc1;
-+ // GPI Buffer Contorol 2
-+ volatile unsigned char gpibfc2;
-+ volatile unsigned char reserved15;
-+ // GPa Internal Activ Register Contorol 0
-+ volatile unsigned char gpaapulc0;
-+ // GPa Internal Activ Register Contorol 1
-+ volatile unsigned char gpaapulc1;
-+ volatile unsigned char reserved16[2];
-+ // GPa Internal Activ Register Level Contorol 0
-+ volatile unsigned char gpaarlv0;
-+ // GPa Internal Activ Register Level Contorol 1
-+ volatile unsigned char gpaarlv1;
-+ volatile unsigned char reserved17[2];
-+ // GPa Buffer Contorol 0
-+ volatile unsigned char gpaibfc0;
-+ // GPa Buffer Contorol 1
-+ volatile unsigned char gpaibfc1;
-+ volatile unsigned char reserved18[2];
-+ // Clock Control
-+ volatile unsigned short clkctl;
-+ // PLL2 Control
-+ volatile unsigned short pll2ctl;
-+ // PLL1 Control
-+ volatile unsigned short pll1ctl;
-+ // Device Internal Avtive Register Contorol
-+ volatile unsigned char diarctl;
-+ // Device Buffer Contorol
-+ volatile unsigned char dvbctl;
-+ volatile unsigned char reserved19[62];
-+ // Function Enable
-+ volatile unsigned char funcebl;
-+ volatile unsigned char reserved20[3];
-+ // Mode Contorol 0
-+ volatile unsigned char modectl0;
-+ // Mode Contorol 1
-+ volatile unsigned char modectl1;
-+ volatile unsigned char reserved21[22];
-+ // Configuraation Control
-+ volatile unsigned char cfctl;
-+ volatile unsigned char reserved22[2];
-+ // Debug
-+ volatile unsigned char debug;
-+} TC6393XB_SysConfig;
-+
-+#define TC6393XB_SYSCONFIG_BASE ((TC6393XB_SysConfig *)TC6393XB_BASE)
-+
-+typedef struct {
-+ // Vendor ID Register
-+ volatile unsigned short spvid;
-+ // Device ID Register
-+ volatile unsigned short spdid;
-+ // Command Register
-+ volatile unsigned short spcmd;
-+ // Status Register
-+ volatile unsigned short spst;
-+ // Revision ID Register / Class Code Register
-+ volatile unsigned short sprid_spcc;
-+ volatile unsigned char reserved1[4];
-+ // Header Tyep Register
-+ volatile unsigned char spht;
-+ volatile unsigned char reserved2;
-+ // SmartMedia Controller Register Base Address Register
-+ union {
-+ volatile unsigned short spba1;
-+ volatile unsigned short spba2;
-+ } spba;
-+ volatile unsigned char reserved3[22];
-+ // CIS Pointer Register
-+ volatile unsigned short scisp;
-+ // Subsystem Vender ID Register
-+ volatile unsigned short spsvid;
-+ // Subsystem Deviece ID Register
-+ volatile unsigned short spsdid;
-+ volatile unsigned char reserved4[4];
-+ // Capability Pointer Register
-+ volatile unsigned char sid;
-+ volatile unsigned char reserved5[7];
-+ // Interrupt Ling Register
-+ volatile unsigned char spitrl;
-+ // Interrupt Pin Register
-+ volatile unsigned char spitrp;
-+ volatile unsigned char reserved6[10];
-+ // INT Enable Register
-+ volatile unsigned char spintc;
-+ // PME Enable Register
-+ volatile unsigned char sppmec;
-+ // Event Control Register
-+ volatile unsigned char sevntcnt;
-+ volatile unsigned char reserved7;
-+ // CLKRUN Control Register
-+ volatile unsigned char spcrunc;
-+ volatile unsigned char reserved8[14];
-+ // Debug Register
-+ volatile unsigned char spdbg;
-+ volatile unsigned char reserved9[4];
-+ // SmartMedia Transaction Control Register
-+ volatile unsigned char smtrcnt;
-+ // SmartMedia Monitor Register
-+ volatile unsigned char smsts;
-+ // SmartMedia Power Supply Control Register
-+ volatile unsigned char ssmpwc;
-+ // SmartMedia Detect Control Register
-+ volatile unsigned char ssmdtc;
-+ volatile unsigned char reserved10[28];
-+ // Capability ID Register
-+ volatile unsigned char svcid;
-+ // Next Item Ptr Register
-+ volatile unsigned char svniptr;
-+ // Power Management Capabilities (PMC) Register
-+ volatile unsigned short svpmc;
-+ // Power Management Control/Status (PMCSR) Register
-+ volatile unsigned short svpmcs;
-+ // PMCSR PCI to PCI Bridge Support Extensions Register
-+ volatile unsigned char svppcbs;
-+ // Data Register
-+ volatile unsigned char svdata;
-+ volatile unsigned char reserved11[24];
-+ // CIS Register SCISRx
-+ volatile unsigned char scisr[80];
-+ // ROM Data Port Register
-+ volatile unsigned short srmdp;
-+ // ROM Index Port Register
-+ volatile unsigned char srmip;
-+ // ROM Control Register
-+ volatile unsigned char srmcr;
-+ volatile unsigned char reserved12[8];
-+ // Configration Control Register
-+ volatile unsigned char sppcnf;
-+ volatile unsigned char reserved13[2];
-+ // Monitor Select Register
-+ volatile unsigned char pfadb;
-+} TC6393XB_NandConfig;
-+
-+#define TC6393XB_NANDCONFIG_BASE ((TC6393XB_NandConfig *)(TC6393XB_BASE+0x100))
-+
-+
-+typedef struct {
-+ union {
-+ volatile struct {
-+ unsigned char sdata0; // Data Register0
-+ unsigned char sdata1; // Data Register1
-+ unsigned char sdata2; // Data Register2
-+ unsigned char sdata3; // Data Register3
-+ } data8;
-+ volatile struct {
-+ unsigned short sdata0_1; // Data Register0,1
-+ unsigned short sdata2_3; // Data Register2,3
-+ } data16;
-+ volatile struct {
-+ unsigned long sdata0_3; // Data Register 0,1,2,3
-+ } data32;
-+ } sdata;
-+ // Mode Register
-+ volatile unsigned char smode;
-+ // Status Register
-+ volatile unsigned char sustus;
-+ // Interrupt Status Register
-+ volatile unsigned char sintst;
-+ // Interrupt Mask Register
-+ volatile unsigned char sintmsk;
-+} TC6393XB_NandCtrl;
-+
-+#define TC6393XB_NANDCTRL_OFFSET 0x1000
-+#define TC6393XB_NANDCTRL_BASE ((TC6393XB_NandCtrl *)(TC6393XB_BASE+TC6393XB_NANDCTRL_OFFSET))
-+
-+
-+/* SMODE Register Command List */
-+#define SMODE_READ_COMMAND 0x15 // DataRead Command_Mode
-+#define SMODE_READ_ADDRESS 0x16 // DataRead Address_Mode
-+#define SMODE_READ_DATAREAD 0x14 // DataRead Data_Mode
-+#define SMODE_WRITE_COMMAND 0x95 // DataWrite Command_Mode
-+#define SMODE_WRITE_ADDRESS 0x96 // DataWrite Address_Mode
-+#define SMODE_WRITE_DATAWRITE 0x94 // DataWrite Data_Mode
-+
-+#define SMODE_POWER_ON 0x0C // Power Supply ON to SSFDC card
-+#define SMODE_POWER_OFF 0x08 // Power Supply OFF to SSFDC card
-+
-+#define SMODE_LED_OFF 0x00 // LED OFF
-+#define SMODE_LED_ON 0x04 // LED ON
-+
-+#define SMODE_EJECT_ON 0x68 // Ejection Demand from Penguin is Advanced
-+#define SMODE_EJECT_OFF 0x08 // Ejection Demand from Penguin is Not Advanced
-+
-+#define SMODE_LOCK 0x6C // Operates By Lock_Mode. Ejection Switch is Invalid
-+#define SMODE_UNLOCK 0x0C // Operates By UnLock_Mode.Ejection Switch is Effective
-+
-+#define SMODE_HWECC_READ_ECCCALC 0x34 // HW-ECC DataRead
-+#define SMODE_HWECC_READ_RESET_ECC 0x74 // HW-ECC ResetMode
-+#define SMODE_HWECC_READ_CALC_RESULT 0x54 // HW-ECC Calculation Result Read_Mode
-+
-+#define SMODE_HWECC_WRITE_ECCCALC 0xB4 // HW-ECC DataWrite
-+#define SMODE_HWECC_WRITE_RESET_ECC 0xF4 // HW-ECC ResetMode
-+#define SMODE_HWECC_WRITE_CALC_RESULT 0xD4 // HW-ECC Calculation Result Read_Mode
-+
-+#define SMODE_CONTROLLER_ID_READ 0x40 // Controller ID Read
-+#define SMODE_STANDBY 0x00 // SSFDC card Changes Standby State
-+
-+#define SMODE_WE 0x80
-+#define SMODE_ECC1 0x40
-+#define SMODE_ECC0 0x20
-+#define SMODE_CE 0x10
-+#define SMODE_PCNT1 0x08
-+#define SMODE_PCNT0 0x04
-+#define SMODE_ALE 0x02
-+#define SMODE_CLE 0x01
-+
-+#define SMODE_SELECT (SMODE_WE|SMODE_CE|SMODE_PCNT0)
-+#define SMODE_DESELECT 0x00 //Changes Standby State
-+
-+/* SUSTUS Register */
-+#define SUSTUS_BUSY 0x80
-+
-+#endif
-diff -Nur linux_c860_org/include/asm-arm/sharp_tc6393_usb.h linux/include/asm-arm/sharp_tc6393_usb.h
---- linux_c860_org/include/asm-arm/sharp_tc6393_usb.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/asm-arm/sharp_tc6393_usb.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,22 @@
-+/*
-+ * linux/include/asm-arm/sharp_tc6393_usb.h
-+ *
-+ * Sharp PDA Driver Header File
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ */
-+
-+#ifndef _SHARP_TC6393_USB_H
-+#define _SHARP_TC6393_USB_H
-+
-+#define TC6393_OHCI_IOC_MAGIC 'U'
-+
-+#define TC6393_OHCI_IOC_PDOWN _IO(TC6393_OHCI_IOC_MAGIC, 10)
-+#define TC6393_OHCI_IOC_PON _IO(TC6393_OHCI_IOC_MAGIC, 11)
-+#define TC6393_OHCI_IOC_PCHECK _IO(TC6393_OHCI_IOC_MAGIC, 12)
-+
-+#endif /* _SHARP_TC6393_USB_H */
-diff -Nur linux_c860_org/include/asm-arm/smplock.h linux/include/asm-arm/smplock.h
---- linux_c860_org/include/asm-arm/smplock.h 2002-08-26 14:37:53.000000000 +0900
-+++ linux/include/asm-arm/smplock.h 2004-06-10 21:12:37.000000000 +0900
-@@ -3,12 +3,17 @@
- *
- * Default SMP lock implementation
- */
-+#include <linux/config.h>
- #include <linux/interrupt.h>
- #include <linux/spinlock.h>
-
- extern spinlock_t kernel_flag;
-
-+#ifdef CONFIG_PREEMPT
-+#define kernel_locked() preempt_get_count()
-+#else
- #define kernel_locked() spin_is_locked(&kernel_flag)
-+#endif
-
- /*
- * Release global kernel lock and global interrupt lock
-@@ -40,8 +45,14 @@
- */
- static inline void lock_kernel(void)
- {
-+#ifdef CONFIG_PREEMPT
-+ if (current->lock_depth == -1)
-+ spin_lock(&kernel_flag);
-+ ++current->lock_depth;
-+#else
- if (!++current->lock_depth)
- spin_lock(&kernel_flag);
-+#endif
- }
-
- static inline void unlock_kernel(void)
-diff -Nur linux_c860_org/include/asm-arm/softirq.h linux/include/asm-arm/softirq.h
---- linux_c860_org/include/asm-arm/softirq.h 2002-08-26 14:37:53.000000000 +0900
-+++ linux/include/asm-arm/softirq.h 2004-06-10 21:12:37.000000000 +0900
-@@ -5,20 +5,22 @@
- #include <asm/hardirq.h>
-
- #define __cpu_bh_enable(cpu) \
-- do { barrier(); local_bh_count(cpu)--; } while (0)
-+ do { barrier(); local_bh_count(cpu)--; preempt_enable(); } while (0)
- #define cpu_bh_disable(cpu) \
-- do { local_bh_count(cpu)++; barrier(); } while (0)
-+ do { preempt_disable(); local_bh_count(cpu)++; barrier(); } while (0)
-
- #define local_bh_disable() cpu_bh_disable(smp_processor_id())
- #define __local_bh_enable() __cpu_bh_enable(smp_processor_id())
-
- #define in_softirq() (local_bh_count(smp_processor_id()) != 0)
-
--#define local_bh_enable() \
-+#define _local_bh_enable() \
- do { \
- unsigned int *ptr = &local_bh_count(smp_processor_id()); \
- if (!--*ptr && ptr[-2]) \
- __asm__("bl%? __do_softirq": : : "lr");/* out of line */\
- } while (0)
-
-+#define local_bh_enable() do { _local_bh_enable(); preempt_enable(); } while (0)
-+
- #endif /* __ASM_SOFTIRQ_H */
-diff -Nur linux_c860_org/include/asm-cris/processor.h linux/include/asm-cris/processor.h
---- linux_c860_org/include/asm-cris/processor.h 2002-08-26 14:38:01.000000000 +0900
-+++ linux/include/asm-cris/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -81,7 +81,7 @@
- #define INIT_THREAD { \
- 0, 0, 0x20 } /* ccr = int enable, nothing else */
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* give the thread a program location
- * set user-mode (The 'U' flag (User mode flag) is CCR/DCCR bit 8)
-diff -Nur linux_c860_org/include/asm-i386/hardirq.h linux/include/asm-i386/hardirq.h
---- linux_c860_org/include/asm-i386/hardirq.h 2002-08-26 14:37:47.000000000 +0900
-+++ linux/include/asm-i386/hardirq.h 2004-06-10 21:09:11.000000000 +0900
-@@ -19,12 +19,16 @@
-
- /*
- * Are we in an interrupt context? Either doing bottom half
-- * or hardware interrupt processing?
-+ * or hardware interrupt processing? Note the preempt check,
-+ * this is both a bugfix and an optimization. If we are
-+ * preemptible, we cannot be in an interrupt.
- */
--#define in_interrupt() ({ int __cpu = smp_processor_id(); \
-- (local_irq_count(__cpu) + local_bh_count(__cpu) != 0); })
-+#define in_interrupt() (preempt_is_disabled() && \
-+ ({unsigned long __cpu = smp_processor_id(); \
-+ (local_irq_count(__cpu) + local_bh_count(__cpu) != 0); }))
-
--#define in_irq() (local_irq_count(smp_processor_id()) != 0)
-+#define in_irq() (preempt_is_disabled() && \
-+ (local_irq_count(smp_processor_id()) != 0))
-
- #ifndef CONFIG_SMP
-
-@@ -36,6 +40,8 @@
-
- #define synchronize_irq() barrier()
-
-+#define release_irqlock(cpu) do { } while (0)
-+
- #else
-
- #include <asm/atomic.h>
-diff -Nur linux_c860_org/include/asm-i386/highmem.h linux/include/asm-i386/highmem.h
---- linux_c860_org/include/asm-i386/highmem.h 2002-08-26 14:37:48.000000000 +0900
-+++ linux/include/asm-i386/highmem.h 2004-06-10 21:09:11.000000000 +0900
-@@ -88,6 +88,7 @@
- enum fixed_addresses idx;
- unsigned long vaddr;
-
-+ preempt_disable();
- if (page < highmem_start_page)
- return page_address(page);
-
-@@ -109,8 +110,10 @@
- unsigned long vaddr = (unsigned long) kvaddr;
- enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();
-
-- if (vaddr < FIXADDR_START) // FIXME
-+ if (vaddr < FIXADDR_START) { // FIXME
-+ preempt_enable();
- return;
-+ }
-
- if (vaddr != __fix_to_virt(FIX_KMAP_BEGIN+idx))
- BUG();
-@@ -122,6 +125,8 @@
- pte_clear(kmap_pte-idx);
- __flush_tlb_one(vaddr);
- #endif
-+
-+ preempt_enable();
- }
-
- #endif /* __KERNEL__ */
-diff -Nur linux_c860_org/include/asm-i386/hw_irq.h linux/include/asm-i386/hw_irq.h
---- linux_c860_org/include/asm-i386/hw_irq.h 2002-08-26 14:37:48.000000000 +0900
-+++ linux/include/asm-i386/hw_irq.h 2004-06-10 21:09:11.000000000 +0900
-@@ -95,6 +95,18 @@
- #define __STR(x) #x
- #define STR(x) __STR(x)
-
-+#define GET_CURRENT \
-+ "movl %esp, %ebx\n\t" \
-+ "andl $-8192, %ebx\n\t"
-+
-+#ifdef CONFIG_PREEMPT
-+#define BUMP_LOCK_COUNT \
-+ GET_CURRENT \
-+ "incl 4(%ebx)\n\t"
-+#else
-+#define BUMP_LOCK_COUNT
-+#endif
-+
- #define SAVE_ALL \
- "cld\n\t" \
- "pushl %es\n\t" \
-@@ -108,15 +120,12 @@
- "pushl %ebx\n\t" \
- "movl $" STR(__KERNEL_DS) ",%edx\n\t" \
- "movl %edx,%ds\n\t" \
-- "movl %edx,%es\n\t"
-+ "movl %edx,%es\n\t" \
-+ BUMP_LOCK_COUNT
-
- #define IRQ_NAME2(nr) nr##_interrupt(void)
- #define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
-
--#define GET_CURRENT \
-- "movl %esp, %ebx\n\t" \
-- "andl $-8192, %ebx\n\t"
--
- /*
- * SMP has a few special interrupts for IPI messages
- */
-diff -Nur linux_c860_org/include/asm-i386/i387.h linux/include/asm-i386/i387.h
---- linux_c860_org/include/asm-i386/i387.h 2002-08-26 14:37:48.000000000 +0900
-+++ linux/include/asm-i386/i387.h 2004-06-10 21:09:11.000000000 +0900
-@@ -12,6 +12,7 @@
- #define __ASM_I386_I387_H
-
- #include <linux/sched.h>
-+#include <linux/spinlock.h>
- #include <asm/processor.h>
- #include <asm/sigcontext.h>
- #include <asm/user.h>
-@@ -24,7 +25,7 @@
- extern void restore_fpu( struct task_struct *tsk );
-
- extern void kernel_fpu_begin(void);
--#define kernel_fpu_end() stts()
-+#define kernel_fpu_end() do { stts(); preempt_enable(); } while(0)
-
-
- #define unlazy_fpu( tsk ) do { \
-diff -Nur linux_c860_org/include/asm-i386/pgalloc.h linux/include/asm-i386/pgalloc.h
---- linux_c860_org/include/asm-i386/pgalloc.h 2002-08-26 14:37:48.000000000 +0900
-+++ linux/include/asm-i386/pgalloc.h 2004-06-10 21:09:11.000000000 +0900
-@@ -75,20 +75,26 @@
- {
- unsigned long *ret;
-
-+ preempt_disable();
- if ((ret = pgd_quicklist) != NULL) {
- pgd_quicklist = (unsigned long *)(*ret);
- ret[0] = 0;
- pgtable_cache_size--;
-- } else
-+ preempt_enable();
-+ } else {
-+ preempt_enable();
- ret = (unsigned long *)get_pgd_slow();
-+ }
- return (pgd_t *)ret;
- }
-
- static inline void free_pgd_fast(pgd_t *pgd)
- {
-+ preempt_disable();
- *(unsigned long *)pgd = (unsigned long) pgd_quicklist;
- pgd_quicklist = (unsigned long *) pgd;
- pgtable_cache_size++;
-+ preempt_enable();
- }
-
- static inline void free_pgd_slow(pgd_t *pgd)
-@@ -119,19 +125,23 @@
- {
- unsigned long *ret;
-
-+ preempt_disable();
- if ((ret = (unsigned long *)pte_quicklist) != NULL) {
- pte_quicklist = (unsigned long *)(*ret);
- ret[0] = ret[1];
- pgtable_cache_size--;
- }
-+ preempt_enable();
- return (pte_t *)ret;
- }
-
- static inline void pte_free_fast(pte_t *pte)
- {
-+ preempt_disable();
- *(unsigned long *)pte = (unsigned long) pte_quicklist;
- pte_quicklist = (unsigned long *) pte;
- pgtable_cache_size++;
-+ preempt_enable();
- }
-
- static __inline__ void pte_free_slow(pte_t *pte)
-diff -Nur linux_c860_org/include/asm-i386/processor.h linux/include/asm-i386/processor.h
---- linux_c860_org/include/asm-i386/processor.h 2002-08-26 14:37:47.000000000 +0900
-+++ linux/include/asm-i386/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -429,7 +429,7 @@
- /*
- * create a kernel thread without removing it from tasklists
- */
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- extern void copy_segments(struct task_struct *p, struct mm_struct * mm);
-diff -Nur linux_c860_org/include/asm-i386/smplock.h linux/include/asm-i386/smplock.h
---- linux_c860_org/include/asm-i386/smplock.h 2002-08-26 14:37:48.000000000 +0900
-+++ linux/include/asm-i386/smplock.h 2004-06-10 21:09:11.000000000 +0900
-@@ -10,7 +10,15 @@
-
- extern spinlock_t kernel_flag;
-
-+#ifdef CONFIG_SMP
- #define kernel_locked() spin_is_locked(&kernel_flag)
-+#else
-+#ifdef CONFIG_PREEMPT
-+#define kernel_locked() preempt_get_count()
-+#else
-+#define kernel_locked() 1
-+#endif
-+#endif
-
- /*
- * Release global kernel lock and global interrupt lock
-@@ -42,6 +50,11 @@
- */
- static __inline__ void lock_kernel(void)
- {
-+#ifdef CONFIG_PREEMPT
-+ if (current->lock_depth == -1)
-+ spin_lock(&kernel_flag);
-+ ++current->lock_depth;
-+#else
- #if 1
- if (!++current->lock_depth)
- spin_lock(&kernel_flag);
-@@ -54,6 +67,7 @@
- :"=m" (__dummy_lock(&kernel_flag)),
- "=m" (current->lock_depth));
- #endif
-+#endif
- }
-
- static __inline__ void unlock_kernel(void)
-diff -Nur linux_c860_org/include/asm-i386/softirq.h linux/include/asm-i386/softirq.h
---- linux_c860_org/include/asm-i386/softirq.h 2002-08-26 14:37:47.000000000 +0900
-+++ linux/include/asm-i386/softirq.h 2004-06-10 21:09:11.000000000 +0900
-@@ -6,9 +6,9 @@
- #include <linux/stringify.h>
-
- #define __cpu_bh_enable(cpu) \
-- do { barrier(); local_bh_count(cpu)--; } while (0)
-+ do { barrier(); local_bh_count(cpu)--; preempt_enable(); } while (0)
- #define cpu_bh_disable(cpu) \
-- do { local_bh_count(cpu)++; barrier(); } while (0)
-+ do { preempt_disable(); local_bh_count(cpu)++; barrier(); } while (0)
-
- #define local_bh_disable() cpu_bh_disable(smp_processor_id())
- #define __local_bh_enable() __cpu_bh_enable(smp_processor_id())
-@@ -23,7 +23,7 @@
- * If you change the offsets in irq_stat then you have to
- * update this code as well.
- */
--#define local_bh_enable() \
-+#define _local_bh_enable() \
- do { \
- unsigned int *ptr = &local_bh_count(smp_processor_id()); \
- \
-@@ -49,4 +49,6 @@
- /* no registers clobbered */ ); \
- } while (0)
-
-+#define local_bh_enable() do { _local_bh_enable(); preempt_enable(); } while (0)
-+
- #endif /* __ASM_SOFTIRQ_H */
-diff -Nur linux_c860_org/include/asm-i386/spinlock.h linux/include/asm-i386/spinlock.h
---- linux_c860_org/include/asm-i386/spinlock.h 2002-08-26 14:37:47.000000000 +0900
-+++ linux/include/asm-i386/spinlock.h 2004-06-10 21:09:11.000000000 +0900
-@@ -81,7 +81,7 @@
- :"=m" (lock->lock) : : "memory"
-
-
--static inline void spin_unlock(spinlock_t *lock)
-+static inline void _raw_spin_unlock(spinlock_t *lock)
- {
- #if SPINLOCK_DEBUG
- if (lock->magic != SPINLOCK_MAGIC)
-@@ -101,7 +101,7 @@
- :"=q" (oldval), "=m" (lock->lock) \
- :"0" (oldval) : "memory"
-
--static inline void spin_unlock(spinlock_t *lock)
-+static inline void _raw_spin_unlock(spinlock_t *lock)
- {
- char oldval = 1;
- #if SPINLOCK_DEBUG
-@@ -117,7 +117,7 @@
-
- #endif
-
--static inline int spin_trylock(spinlock_t *lock)
-+static inline int _raw_spin_trylock(spinlock_t *lock)
- {
- char oldval;
- __asm__ __volatile__(
-@@ -127,7 +127,7 @@
- return oldval > 0;
- }
-
--static inline void spin_lock(spinlock_t *lock)
-+static inline void _raw_spin_lock(spinlock_t *lock)
- {
- #if SPINLOCK_DEBUG
- __label__ here;
-@@ -183,7 +183,7 @@
- */
- /* the spinlock helpers are in arch/i386/kernel/semaphore.c */
-
--static inline void read_lock(rwlock_t *rw)
-+static inline void _raw_read_lock(rwlock_t *rw)
- {
- #if SPINLOCK_DEBUG
- if (rw->magic != RWLOCK_MAGIC)
-@@ -192,7 +192,7 @@
- __build_read_lock(rw, "__read_lock_failed");
- }
-
--static inline void write_lock(rwlock_t *rw)
-+static inline void _raw_write_lock(rwlock_t *rw)
- {
- #if SPINLOCK_DEBUG
- if (rw->magic != RWLOCK_MAGIC)
-@@ -201,10 +201,10 @@
- __build_write_lock(rw, "__write_lock_failed");
- }
-
--#define read_unlock(rw) asm volatile("lock ; incl %0" :"=m" ((rw)->lock) : : "memory")
--#define write_unlock(rw) asm volatile("lock ; addl $" RW_LOCK_BIAS_STR ",%0":"=m" ((rw)->lock) : : "memory")
-+#define _raw_read_unlock(rw) asm volatile("lock ; incl %0" :"=m" ((rw)->lock) : : "memory")
-+#define _raw_write_unlock(rw) asm volatile("lock ; addl $" RW_LOCK_BIAS_STR ",%0":"=m" ((rw)->lock) : : "memory")
-
--static inline int write_trylock(rwlock_t *lock)
-+static inline int _raw_write_trylock(rwlock_t *lock)
- {
- atomic_t *count = (atomic_t *)lock;
- if (atomic_sub_and_test(RW_LOCK_BIAS, count))
-diff -Nur linux_c860_org/include/asm-ia64/processor.h linux/include/asm-ia64/processor.h
---- linux_c860_org/include/asm-ia64/processor.h 2002-08-26 14:37:56.000000000 +0900
-+++ linux/include/asm-ia64/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -463,7 +463,7 @@
- * do_basic_setup() and the timing is such that free_initmem() has
- * been called already.
- */
--extern int kernel_thread (int (*fn)(void *), void *arg, unsigned long flags);
-+extern int arch_kernel_thread (int (*fn)(void *), void *arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(tsk, mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-m68k/processor.h linux/include/asm-m68k/processor.h
---- linux_c860_org/include/asm-m68k/processor.h 2002-08-26 14:37:50.000000000 +0900
-+++ linux/include/asm-m68k/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -105,7 +105,7 @@
- {
- }
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-mips/processor.h linux/include/asm-mips/processor.h
---- linux_c860_org/include/asm-mips/processor.h 2002-08-26 14:37:48.000000000 +0900
-+++ linux/include/asm-mips/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -208,7 +208,7 @@
- /* Free all resources held by a thread. */
- #define release_thread(thread) do { } while(0)
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(p, mm) do { } while(0)
-diff -Nur linux_c860_org/include/asm-mips64/processor.h linux/include/asm-mips64/processor.h
---- linux_c860_org/include/asm-mips64/processor.h 2002-08-26 14:37:58.000000000 +0900
-+++ linux/include/asm-mips64/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -231,7 +231,7 @@
- /* Free all resources held by a thread. */
- #define release_thread(thread) do { } while(0)
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(p, mm) do { } while(0)
-diff -Nur linux_c860_org/include/asm-parisc/processor.h linux/include/asm-parisc/processor.h
---- linux_c860_org/include/asm-parisc/processor.h 2002-08-26 14:38:01.000000000 +0900
-+++ linux/include/asm-parisc/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -305,7 +305,7 @@
-
- /* Free all resources held by a thread. */
- extern void release_thread(struct task_struct *);
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-ppc/processor.h linux/include/asm-ppc/processor.h
---- linux_c860_org/include/asm-ppc/processor.h 2002-08-26 14:37:52.000000000 +0900
-+++ linux/include/asm-ppc/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -571,7 +571,7 @@
- /*
- * Create a new kernel thread.
- */
--extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern long arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- /*
- * Bus types
-diff -Nur linux_c860_org/include/asm-s390/processor.h linux/include/asm-s390/processor.h
---- linux_c860_org/include/asm-s390/processor.h 2002-08-26 14:37:59.000000000 +0900
-+++ linux/include/asm-s390/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -116,7 +116,7 @@
-
- /* Free all resources held by a thread. */
- extern void release_thread(struct task_struct *);
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(nr, mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-s390x/processor.h linux/include/asm-s390x/processor.h
---- linux_c860_org/include/asm-s390x/processor.h 2002-08-26 14:38:02.000000000 +0900
-+++ linux/include/asm-s390x/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -127,7 +127,7 @@
-
- /* Free all resources held by a thread. */
- extern void release_thread(struct task_struct *);
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(nr, mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-sh/hardirq.h linux/include/asm-sh/hardirq.h
---- linux_c860_org/include/asm-sh/hardirq.h 2002-08-26 14:37:55.000000000 +0900
-+++ linux/include/asm-sh/hardirq.h 2004-06-10 21:09:11.000000000 +0900
-@@ -34,6 +34,8 @@
-
- #define synchronize_irq() barrier()
-
-+#define release_irqlock(cpu) do { } while (0)
-+
- #else
-
- #error Super-H SMP is not available
-diff -Nur linux_c860_org/include/asm-sh/processor.h linux/include/asm-sh/processor.h
---- linux_c860_org/include/asm-sh/processor.h 2002-08-26 14:37:55.000000000 +0900
-+++ linux/include/asm-sh/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -137,7 +137,7 @@
- /*
- * create a kernel thread without removing it from tasklists
- */
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /*
- * Bus types
-diff -Nur linux_c860_org/include/asm-sh/smplock.h linux/include/asm-sh/smplock.h
---- linux_c860_org/include/asm-sh/smplock.h 2002-08-26 14:37:55.000000000 +0900
-+++ linux/include/asm-sh/smplock.h 2004-06-10 21:09:11.000000000 +0900
-@@ -9,15 +9,88 @@
-
- #include <linux/config.h>
-
--#ifndef CONFIG_SMP
--
-+#if !defined(CONFIG_SMP) && !defined(CONFIG_PREEMPT)
-+/*
-+ * Should never happen, since linux/smp_lock.h catches this case;
-+ * but in case this file is included directly with neither SMP nor
-+ * PREEMPT configuration, provide same dummys as linux/smp_lock.h
-+ */
- #define lock_kernel() do { } while(0)
- #define unlock_kernel() do { } while(0)
--#define release_kernel_lock(task, cpu, depth) ((depth) = 1)
--#define reacquire_kernel_lock(task, cpu, depth) do { } while(0)
-+#define release_kernel_lock(task, cpu) do { } while(0)
-+#define reacquire_kernel_lock(task) do { } while(0)
-+#define kernel_locked() 1
-+
-+#else /* CONFIG_SMP || CONFIG_PREEMPT */
-+
-+#if CONFIG_SMP
-+#error "We do not support SMP on SH yet"
-+#endif
-+/*
-+ * Default SMP lock implementation (i.e. the i386 version)
-+ */
-+
-+#include <linux/interrupt.h>
-+#include <linux/spinlock.h>
-+
-+extern spinlock_t kernel_flag;
-+#define lock_bkl() spin_lock(&kernel_flag)
-+#define unlock_bkl() spin_unlock(&kernel_flag)
-
-+#ifdef CONFIG_SMP
-+#define kernel_locked() spin_is_locked(&kernel_flag)
-+#elif CONFIG_PREEMPT
-+#define kernel_locked() preempt_get_count()
-+#else /* neither */
-+#define kernel_locked() 1
-+#endif
-+
-+/*
-+ * Release global kernel lock and global interrupt lock
-+ */
-+#define release_kernel_lock(task, cpu) \
-+do { \
-+ if (task->lock_depth >= 0) \
-+ spin_unlock(&kernel_flag); \
-+ release_irqlock(cpu); \
-+ __sti(); \
-+} while (0)
-+
-+/*
-+ * Re-acquire the kernel lock
-+ */
-+#define reacquire_kernel_lock(task) \
-+do { \
-+ if (task->lock_depth >= 0) \
-+ spin_lock(&kernel_flag); \
-+} while (0)
-+
-+/*
-+ * Getting the big kernel lock.
-+ *
-+ * This cannot happen asynchronously,
-+ * so we only need to worry about other
-+ * CPU's.
-+ */
-+static __inline__ void lock_kernel(void)
-+{
-+#ifdef CONFIG_PREEMPT
-+ if (current->lock_depth == -1)
-+ spin_lock(&kernel_flag);
-+ ++current->lock_depth;
- #else
--#error "We do not support SMP on SH"
--#endif /* CONFIG_SMP */
-+ if (!++current->lock_depth)
-+ spin_lock(&kernel_flag);
-+#endif
-+}
-+
-+static __inline__ void unlock_kernel(void)
-+{
-+ if (current->lock_depth < 0)
-+ BUG();
-+ if (--current->lock_depth < 0)
-+ spin_unlock(&kernel_flag);
-+}
-+#endif /* CONFIG_SMP || CONFIG_PREEMPT */
-
- #endif /* __ASM_SH_SMPLOCK_H */
-diff -Nur linux_c860_org/include/asm-sh/softirq.h linux/include/asm-sh/softirq.h
---- linux_c860_org/include/asm-sh/softirq.h 2002-08-26 14:37:55.000000000 +0900
-+++ linux/include/asm-sh/softirq.h 2004-06-10 21:09:11.000000000 +0900
-@@ -6,6 +6,7 @@
-
- #define local_bh_disable() \
- do { \
-+ preempt_disable(); \
- local_bh_count(smp_processor_id())++; \
- barrier(); \
- } while (0)
-@@ -14,6 +15,7 @@
- do { \
- barrier(); \
- local_bh_count(smp_processor_id())--; \
-+ preempt_enable(); \
- } while (0)
-
- #define local_bh_enable() \
-@@ -23,6 +25,7 @@
- && softirq_pending(smp_processor_id())) { \
- do_softirq(); \
- } \
-+ preempt_enable(); \
- } while (0)
-
- #define in_softirq() (local_bh_count(smp_processor_id()) != 0)
-diff -Nur linux_c860_org/include/asm-sparc/processor.h linux/include/asm-sparc/processor.h
---- linux_c860_org/include/asm-sparc/processor.h 2002-08-26 14:37:51.000000000 +0900
-+++ linux/include/asm-sparc/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -146,7 +146,7 @@
-
- /* Free all resources held by a thread. */
- #define release_thread(tsk) do { } while(0)
--extern pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
-
- #define copy_segments(tsk, mm) do { } while (0)
-diff -Nur linux_c860_org/include/asm-sparc64/processor.h linux/include/asm-sparc64/processor.h
---- linux_c860_org/include/asm-sparc64/processor.h 2002-08-26 14:37:53.000000000 +0900
-+++ linux/include/asm-sparc64/processor.h 2004-06-10 21:09:11.000000000 +0900
-@@ -253,7 +253,7 @@
- /* Free all resources held by a thread. */
- #define release_thread(tsk) do { } while(0)
-
--extern pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nur linux_c860_org/include/linux/ac97_codec.h linux/include/linux/ac97_codec.h
---- linux_c860_org/include/linux/ac97_codec.h 2002-08-26 14:37:45.000000000 +0900
-+++ linux/include/linux/ac97_codec.h 2004-06-10 21:13:20.000000000 +0900
-@@ -1,3 +1,8 @@
-+/*
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
-+ */
- #ifndef _AC97_CODEC_H_
- #define _AC97_CODEC_H_
-
-@@ -5,124 +10,145 @@
- #include <linux/soundcard.h>
-
- /* AC97 1.0 */
--#define AC97_RESET 0x0000 //
--#define AC97_MASTER_VOL_STEREO 0x0002 // Line Out
--#define AC97_HEADPHONE_VOL 0x0004 //
--#define AC97_MASTER_VOL_MONO 0x0006 // TAD Output
--#define AC97_MASTER_TONE 0x0008 //
--#define AC97_PCBEEP_VOL 0x000a // none
--#define AC97_PHONE_VOL 0x000c // TAD Input (mono)
--#define AC97_MIC_VOL 0x000e // MIC Input (mono)
--#define AC97_LINEIN_VOL 0x0010 // Line Input (stereo)
--#define AC97_CD_VOL 0x0012 // CD Input (stereo)
--#define AC97_VIDEO_VOL 0x0014 // none
--#define AC97_AUX_VOL 0x0016 // Aux Input (stereo)
--#define AC97_PCMOUT_VOL 0x0018 // Wave Output (stereo)
--#define AC97_RECORD_SELECT 0x001a //
--#define AC97_RECORD_GAIN 0x001c
--#define AC97_RECORD_GAIN_MIC 0x001e
--#define AC97_GENERAL_PURPOSE 0x0020
--#define AC97_3D_CONTROL 0x0022
--#define AC97_MODEM_RATE 0x0024
--#define AC97_POWER_CONTROL 0x0026
-+#define AC97_RESET 0x0000 //
-+#define AC97_MASTER_VOL_STEREO 0x0002 // Line Out
-+#define AC97_HEADPHONE_VOL 0x0004 //
-+#define AC97_MASTER_VOL_MONO 0x0006 // TAD Output
-+#define AC97_MASTER_TONE 0x0008 //
-+#define AC97_PCBEEP_VOL 0x000a // none
-+#define AC97_PHONE_VOL 0x000c // TAD Input (mono)
-+#define AC97_MIC_VOL 0x000e // MIC Input (mono)
-+#define AC97_LINEIN_VOL 0x0010 // Line Input (stereo)
-+#define AC97_CD_VOL 0x0012 // CD Input (stereo)
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#define AC97_SIDETONE 0x0014
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-+#define AC97_VIDEO_VOL 0x0014 // none
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#define AC97_OUT3_VOL 0x0016
-+#define AC97_DAC_VOL 0x0018
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-+#define AC97_AUX_VOL 0x0016 // Aux Input (stereo)
-+#define AC97_PCMOUT_VOL 0x0018 // Wave Output (stereo)
-+#define AC97_RECORD_SELECT 0x001a //
-+#define AC97_RECORD_GAIN 0x001c
-+#define AC97_RECORD_GAIN_MIC 0x001e
-+#define AC97_GENERAL_PURPOSE 0x0020
-+#define AC97_3D_CONTROL 0x0022
-+#define AC97_MODEM_RATE 0x0024
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#define AC97_POWERDOWN 0x0024
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-+#define AC97_POWER_CONTROL 0x0026
-
- /* AC'97 2.0 */
--#define AC97_EXTENDED_ID 0x0028 /* Extended Audio ID */
--#define AC97_EXTENDED_STATUS 0x002A /* Extended Audio Status */
--#define AC97_PCM_FRONT_DAC_RATE 0x002C /* PCM Front DAC Rate */
--#define AC97_PCM_SURR_DAC_RATE 0x002E /* PCM Surround DAC Rate */
--#define AC97_PCM_LFE_DAC_RATE 0x0030 /* PCM LFE DAC Rate */
--#define AC97_PCM_LR_ADC_RATE 0x0032 /* PCM LR DAC Rate */
--#define AC97_PCM_MIC_ADC_RATE 0x0034 /* PCM MIC ADC Rate */
--#define AC97_CENTER_LFE_MASTER 0x0036 /* Center + LFE Master Volume */
--#define AC97_SURROUND_MASTER 0x0038 /* Surround (Rear) Master Volume */
--#define AC97_RESERVED_3A 0x003A /* Reserved in AC '97 < 2.2 */
-+#define AC97_EXTENDED_ID 0x0028 /* Extended Audio ID */
-+#define AC97_EXTENDED_STATUS 0x002A /* Extended Audio Status */
-+#define AC97_PCM_FRONT_DAC_RATE 0x002C /* PCM Front DAC Rate */
-+#define AC97_PCM_SURR_DAC_RATE 0x002E /* PCM Surround DAC Rate */
-+#define AC97_PCM_LFE_DAC_RATE 0x0030 /* PCM LFE DAC Rate */
-+#define AC97_PCM_LR_ADC_RATE 0x0032 /* PCM LR ADC Rate */
-+#define AC97_PCM_MIC_ADC_RATE 0x0034 /* PCM MIC ADC Rate */
-+#define AC97_CENTER_LFE_MASTER 0x0036 /* Center + LFE Master Volume */
-+#define AC97_SURROUND_MASTER 0x0038 /* Surround (Rear) Master Volume */
-+#define AC97_RESERVED_3A 0x003A /* Reserved in AC '97 < 2.2 */
-
- /* AC'97 2.2 */
--#define AC97_SPDIF_CONTROL 0x003A /* S/PDIF Control */
-+#define AC97_SPDIF_CONTROL 0x003A /* S/PDIF Control */
-
- /* range 0x3c-0x58 - MODEM */
--#define AC97_EXTENDED_MODEM_ID 0x003C
--#define AC97_EXTEND_MODEM_STAT 0x003E
--#define AC97_LINE1_RATE 0x0040
--#define AC97_LINE2_RATE 0x0042
--#define AC97_HANDSET_RATE 0x0044
--#define AC97_LINE1_LEVEL 0x0046
--#define AC97_LINE2_LEVEL 0x0048
--#define AC97_HANDSET_LEVEL 0x004A
--#define AC97_GPIO_CONFIG 0x004C
--#define AC97_GPIO_POLARITY 0x004E
--#define AC97_GPIO_STICKY 0x0050
--#define AC97_GPIO_WAKE_UP 0x0052
--#define AC97_GPIO_STATUS 0x0054
--#define AC97_MISC_MODEM_STAT 0x0056
--#define AC97_RESERVED_58 0x0058
-+#define AC97_EXTENDED_MODEM_ID 0x003C
-+#define AC97_EXTEND_MODEM_STAT 0x003E
-+#define AC97_LINE1_RATE 0x0040
-+#define AC97_LINE2_RATE 0x0042
-+#define AC97_HANDSET_RATE 0x0044
-+#define AC97_LINE1_LEVEL 0x0046
-+#define AC97_LINE2_LEVEL 0x0048
-+#define AC97_HANDSET_LEVEL 0x004A
-+#define AC97_GPIO_CONFIG 0x004C
-+#define AC97_GPIO_POLARITY 0x004E
-+#define AC97_GPIO_STICKY 0x0050
-+#define AC97_GPIO_WAKE_UP 0x0052
-+#define AC97_GPIO_STATUS 0x0054
-+#define AC97_MISC_MODEM_STAT 0x0056
-+#define AC97_RESERVED_58 0x0058
-+
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#define AC97_GPIO_FUNC 0x0056
-+#define AC97_ADITFUNC1 0x0058
-+#define AC97_ADITFUNC2 0x005c
-+#define AC97_ALC_CTL 0x0060
-+#define AC97_NOISE_CTL 0x0062
-+#define AC97_AUXDAC_CTL 0x0064
-+#define AC97_TS_REG1 0x0076
-+#define AC97_TS_REG2 0x0078
-+#define AC97_TS_READBACK 0x007a
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-
- /* registers 0x005a - 0x007a are vendor reserved */
--
--#define AC97_VENDOR_ID1 0x007c
--#define AC97_VENDOR_ID2 0x007e
-+#define AC97_VENDOR_ID1 0x007c
-+#define AC97_VENDOR_ID2 0x007e
-
- /* volume control bit defines */
--#define AC97_MUTE 0x8000
--#define AC97_MICBOOST 0x0040
--#define AC97_LEFTVOL 0x3f00
--#define AC97_RIGHTVOL 0x003f
-+#define AC97_MUTE 0x8000
-+#define AC97_MICBOOST 0x0040
-+#define AC97_LEFTVOL 0x3f00
-+#define AC97_RIGHTVOL 0x003f
-
- /* record mux defines */
--#define AC97_RECMUX_MIC 0x0000
--#define AC97_RECMUX_CD 0x0101
--#define AC97_RECMUX_VIDEO 0x0202
--#define AC97_RECMUX_AUX 0x0303
--#define AC97_RECMUX_LINE 0x0404
--#define AC97_RECMUX_STEREO_MIX 0x0505
--#define AC97_RECMUX_MONO_MIX 0x0606
--#define AC97_RECMUX_PHONE 0x0707
-+#define AC97_RECMUX_MIC 0x0000
-+#define AC97_RECMUX_CD 0x0101
-+#define AC97_RECMUX_VIDEO 0x0202
-+#define AC97_RECMUX_AUX 0x0303
-+#define AC97_RECMUX_LINE 0x0404
-+#define AC97_RECMUX_STEREO_MIX 0x0505
-+#define AC97_RECMUX_MONO_MIX 0x0606
-+#define AC97_RECMUX_PHONE 0x0707
-
- /* general purpose register bit defines */
--#define AC97_GP_LPBK 0x0080 /* Loopback mode */
--#define AC97_GP_MS 0x0100 /* Mic Select 0=Mic1, 1=Mic2 */
--#define AC97_GP_MIX 0x0200 /* Mono output select 0=Mix, 1=Mic */
--#define AC97_GP_RLBK 0x0400 /* Remote Loopback - Modem line codec */
--#define AC97_GP_LLBK 0x0800 /* Local Loopback - Modem Line codec */
--#define AC97_GP_LD 0x1000 /* Loudness 1=on */
--#define AC97_GP_3D 0x2000 /* 3D Enhancement 1=on */
--#define AC97_GP_ST 0x4000 /* Stereo Enhancement 1=on */
--#define AC97_GP_POP 0x8000 /* Pcm Out Path, 0=pre 3D, 1=post 3D */
-+#define AC97_GP_LPBK 0x0080 /* Loopback mode */
-+#define AC97_GP_MS 0x0100 /* Mic Select 0=Mic1, 1=Mic2 */
-+#define AC97_GP_MIX 0x0200 /* Mono output select 0=Mix, 1=Mic */
-+#define AC97_GP_RLBK 0x0400 /* Remote Loopback - Modem line codec */
-+#define AC97_GP_LLBK 0x0800 /* Local Loopback - Modem Line codec */
-+#define AC97_GP_LD 0x1000 /* Loudness 1=on */
-+#define AC97_GP_3D 0x2000 /* 3D Enhancement 1=on */
-+#define AC97_GP_ST 0x4000 /* Stereo Enhancement 1=on */
-+#define AC97_GP_POP 0x8000 /* Pcm Out Path, 0=pre 3D, 1=post 3D */
-
- /* extended audio status and control bit defines */
--#define AC97_EA_VRA 0x0001 /* Variable bit rate enable bit */
--#define AC97_EA_DRA 0x0002 /* Double-rate audio enable bit */
--#define AC97_EA_SPDIF 0x0004 /* S/PDIF Enable bit */
--#define AC97_EA_VRM 0x0008 /* Variable bit rate for MIC enable bit */
--#define AC97_EA_CDAC 0x0040 /* PCM Center DAC is ready (Read only) */
--#define AC97_EA_SDAC 0x0040 /* PCM Surround DACs are ready (Read only) */
--#define AC97_EA_LDAC 0x0080 /* PCM LFE DAC is ready (Read only) */
--#define AC97_EA_MDAC 0x0100 /* MIC ADC is ready (Read only) */
--#define AC97_EA_SPCV 0x0400 /* S/PDIF configuration valid (Read only) */
--#define AC97_EA_PRI 0x0800 /* Turns the PCM Center DAC off */
--#define AC97_EA_PRJ 0x1000 /* Turns the PCM Surround DACs off */
--#define AC97_EA_PRK 0x2000 /* Turns the PCM LFE DAC off */
--#define AC97_EA_PRL 0x4000 /* Turns the MIC ADC off */
--#define AC97_EA_SLOT_MASK 0xffcf /* Mask for slot assignment bits */
--#define AC97_EA_SPSA_3_4 0x0000 /* Slot assigned to 3 & 4 */
--#define AC97_EA_SPSA_7_8 0x0010 /* Slot assigned to 7 & 8 */
--#define AC97_EA_SPSA_6_9 0x0020 /* Slot assigned to 6 & 9 */
--#define AC97_EA_SPSA_10_11 0x0030 /* Slot assigned to 10 & 11 */
-+#define AC97_EA_VRA 0x0001 /* Variable bit rate enable bit */
-+#define AC97_EA_DRA 0x0002 /* Double-rate audio enable bit */
-+#define AC97_EA_SPDIF 0x0004 /* S/PDIF Enable bit */
-+#define AC97_EA_VRM 0x0008 /* Variable bit rate for MIC enable bit */
-+#define AC97_EA_CDAC 0x0040 /* PCM Center DAC is ready (Read only) */
-+#define AC97_EA_SDAC 0x0040 /* PCM Surround DACs are ready (Read only) */
-+#define AC97_EA_LDAC 0x0080 /* PCM LFE DAC is ready (Read only) */
-+#define AC97_EA_MDAC 0x0100 /* MIC ADC is ready (Read only) */
-+#define AC97_EA_SPCV 0x0400 /* S/PDIF configuration valid (Read only) */
-+#define AC97_EA_PRI 0x0800 /* Turns the PCM Center DAC off */
-+#define AC97_EA_PRJ 0x1000 /* Turns the PCM Surround DACs off */
-+#define AC97_EA_PRK 0x2000 /* Turns the PCM LFE DAC off */
-+#define AC97_EA_PRL 0x4000 /* Turns the MIC ADC off */
-+#define AC97_EA_SLOT_MASK 0xffcf /* Mask for slot assignment bits */
-+#define AC97_EA_SPSA_3_4 0x0000 /* Slot assigned to 3 & 4 */
-+#define AC97_EA_SPSA_7_8 0x0010 /* Slot assigned to 7 & 8 */
-+#define AC97_EA_SPSA_6_9 0x0020 /* Slot assigned to 6 & 9 */
-+#define AC97_EA_SPSA_10_11 0x0030 /* Slot assigned to 10 & 11 */
-
- /* S/PDIF control bit defines */
--#define AC97_SC_PRO 0x0001 /* Professional status */
--#define AC97_SC_NAUDIO 0x0002 /* Non audio stream */
--#define AC97_SC_COPY 0x0004 /* Copyright status */
--#define AC97_SC_PRE 0x0008 /* Preemphasis status */
--#define AC97_SC_CC_MASK 0x07f0 /* Category Code mask */
--#define AC97_SC_L 0x0800 /* Generation Level status */
--#define AC97_SC_SPSR_MASK 0xcfff /* S/PDIF Sample Rate bits */
--#define AC97_SC_SPSR_44K 0x0000 /* Use 44.1kHz Sample rate */
--#define AC97_SC_SPSR_48K 0x2000 /* Use 48kHz Sample rate */
--#define AC97_SC_SPSR_32K 0x3000 /* Use 32kHz Sample rate */
--#define AC97_SC_DRS 0x4000 /* Double Rate S/PDIF */
--#define AC97_SC_V 0x8000 /* Validity status */
-+#define AC97_SC_PRO 0x0001 /* Professional status */
-+#define AC97_SC_NAUDIO 0x0002 /* Non audio stream */
-+#define AC97_SC_COPY 0x0004 /* Copyright status */
-+#define AC97_SC_PRE 0x0008 /* Preemphasis status */
-+#define AC97_SC_CC_MASK 0x07f0 /* Category Code mask */
-+#define AC97_SC_L 0x0800 /* Generation Level status */
-+#define AC97_SC_SPSR_MASK 0xcfff /* S/PDIF Sample Rate bits */
-+#define AC97_SC_SPSR_44K 0x0000 /* Use 44.1kHz Sample rate */
-+#define AC97_SC_SPSR_48K 0x2000 /* Use 48kHz Sample rate */
-+#define AC97_SC_SPSR_32K 0x3000 /* Use 32kHz Sample rate */
-+#define AC97_SC_DRS 0x4000 /* Double Rate S/PDIF */
-+#define AC97_SC_V 0x8000 /* Validity status */
-
- /* powerdown control and status bit defines */
-
-@@ -143,6 +169,39 @@
- #define AC97_PWR_PR6 0x4000 /* HP amp powerdown */
- #define AC97_PWR_PR7 0x8000 /* Modem off - if supported */
-
-+/* extended audio ID register bit defines */
-+#define AC97_EXTID_VRA 0x0001
-+#define AC97_EXTID_DRA 0x0002
-+#define AC97_EXTID_SPDIF 0x0004
-+#define AC97_EXTID_VRM 0x0008
-+#define AC97_EXTID_DSA0 0x0010
-+#define AC97_EXTID_DSA1 0x0020
-+#define AC97_EXTID_CDAC 0x0040
-+#define AC97_EXTID_SDAC 0x0080
-+#define AC97_EXTID_LDAC 0x0100
-+#define AC97_EXTID_AMAP 0x0200
-+#define AC97_EXTID_REV0 0x0400
-+#define AC97_EXTID_REV1 0x0800
-+#define AC97_EXTID_ID0 0x4000
-+#define AC97_EXTID_ID1 0x8000
-+
-+/* extended status register bit defines */
-+#define AC97_EXTSTAT_VRA 0x0001
-+#define AC97_EXTSTAT_DRA 0x0002
-+#define AC97_EXTSTAT_SPDIF 0x0004
-+#define AC97_EXTSTAT_VRM 0x0008
-+#define AC97_EXTSTAT_SPSA0 0x0010
-+#define AC97_EXTSTAT_SPSA1 0x0020
-+#define AC97_EXTSTAT_CDAC 0x0040
-+#define AC97_EXTSTAT_SDAC 0x0080
-+#define AC97_EXTSTAT_LDAC 0x0100
-+#define AC97_EXTSTAT_MADC 0x0200
-+#define AC97_EXTSTAT_SPCV 0x0400
-+#define AC97_EXTSTAT_PRI 0x0800
-+#define AC97_EXTSTAT_PRJ 0x1000
-+#define AC97_EXTSTAT_PRK 0x2000
-+#define AC97_EXTSTAT_PRL 0x4000
-+
- /* useful power states */
- #define AC97_PWR_D0 0x0000 /* everything on */
- #define AC97_PWR_D1 AC97_PWR_PR0|AC97_PWR_PR1|AC97_PWR_PR4
-@@ -189,11 +248,18 @@
- int dev_mixer;
- int type;
-
-+ int modem:1;
-+
- struct ac97_ops *codec_ops;
-
- /* controller specific lower leverl ac97 accessing routines */
- u16 (*codec_read) (struct ac97_codec *codec, u8 reg);
- void (*codec_write) (struct ac97_codec *codec, u8 reg, u16 val);
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+ void (*codec_bit_clear) (struct ac97_codec *codec, u8 reg, u16 val);
-+ void (*codec_bit_set) (struct ac97_codec *codec, u8 reg, u16 val);
-+ int mixer_busy;
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-
- /* Wait for codec-ready. Ok to sleep here. */
- void (*codec_wait) (struct ac97_codec *codec);
-@@ -204,6 +270,9 @@
- int stereo_mixers;
- int record_sources;
-
-+ /* Property flags */
-+ int flags;
-+
- int bit_resolution;
-
- /* OSS mixer interface */
-@@ -232,6 +301,8 @@
- int (*amplifier)(struct ac97_codec *codec, int on);
- /* Digital mode control */
- int (*digital)(struct ac97_codec *codec, int format);
-+#define AC97_DELUDED_MODEM 1 /* Audio codec reports its a modem */
-+#define AC97_NO_PCM_VOLUME 2 /* Volume control is missing */
- };
-
- extern int ac97_read_proc (char *page_out, char **start, off_t off,
-@@ -242,4 +313,8 @@
- extern int ac97_save_state(struct ac97_codec *codec);
- extern int ac97_restore_state(struct ac97_codec *codec);
-
-+#ifdef CONFIG_ARCH_PXA_TOSA
-+#include <asm/arch/tosa_ac97_codec.h>
-+#endif /* CONFIG_ARCH_PXA_TOSA */
-+
- #endif /* _AC97_CODEC_H_ */
-diff -Nur linux_c860_org/include/linux/brlock.h linux/include/linux/brlock.h
---- linux_c860_org/include/linux/brlock.h 2002-08-26 14:37:46.000000000 +0900
-+++ linux/include/linux/brlock.h 2004-06-10 21:12:50.000000000 +0900
-@@ -171,11 +171,11 @@
- }
-
- #else
--# define br_read_lock(idx) ((void)(idx))
--# define br_read_unlock(idx) ((void)(idx))
--# define br_write_lock(idx) ((void)(idx))
--# define br_write_unlock(idx) ((void)(idx))
--#endif
-+# define br_read_lock(idx) ({ (void)(idx); preempt_disable(); })
-+# define br_read_unlock(idx) ({ (void)(idx); preempt_enable(); })
-+# define br_write_lock(idx) ({ (void)(idx); preempt_disable(); })
-+# define br_write_unlock(idx) ({ (void)(idx); preempt_enable(); })
-+#endif /* CONFIG_SMP */
-
- /*
- * Now enumerate all of the possible sw/hw IRQ protected
-diff -Nur linux_c860_org/include/linux/dcache.h linux/include/linux/dcache.h
---- linux_c860_org/include/linux/dcache.h 2002-12-18 19:52:24.000000000 +0900
-+++ linux/include/linux/dcache.h 2004-06-10 21:12:37.000000000 +0900
-@@ -129,31 +129,6 @@
-
- extern spinlock_t dcache_lock;
-
--/**
-- * d_drop - drop a dentry
-- * @dentry: dentry to drop
-- *
-- * d_drop() unhashes the entry from the parent
-- * dentry hashes, so that it won't be found through
-- * a VFS lookup any more. Note that this is different
-- * from deleting the dentry - d_delete will try to
-- * mark the dentry negative if possible, giving a
-- * successful _negative_ lookup, while d_drop will
-- * just make the cache lookup fail.
-- *
-- * d_drop() is used mainly for stuff that wants
-- * to invalidate a dentry for some reason (NFS
-- * timeouts or autofs deletes).
-- */
--
--static __inline__ void d_drop(struct dentry * dentry)
--{
-- spin_lock(&dcache_lock);
-- list_del(&dentry->d_hash);
-- INIT_LIST_HEAD(&dentry->d_hash);
-- spin_unlock(&dcache_lock);
--}
--
- static __inline__ int dname_external(struct dentry *d)
- {
- return d->d_name.name != d->d_iname;
-@@ -281,3 +256,34 @@
- #endif /* __KERNEL__ */
-
- #endif /* __LINUX_DCACHE_H */
-+
-+#if !defined(__LINUX_DCACHE_H_INLINES) && defined(_TASK_STRUCT_DEFINED)
-+#define __LINUX_DCACHE_H_INLINES
-+
-+#ifdef __KERNEL__
-+/**
-+ * d_drop - drop a dentry
-+ * @dentry: dentry to drop
-+ *
-+ * d_drop() unhashes the entry from the parent
-+ * dentry hashes, so that it won't be found through
-+ * a VFS lookup any more. Note that this is different
-+ * from deleting the dentry - d_delete will try to
-+ * mark the dentry negative if possible, giving a
-+ * successful _negative_ lookup, while d_drop will
-+ * just make the cache lookup fail.
-+ *
-+ * d_drop() is used mainly for stuff that wants
-+ * to invalidate a dentry for some reason (NFS
-+ * timeouts or autofs deletes).
-+ */
-+
-+static __inline__ void d_drop(struct dentry * dentry)
-+{
-+ spin_lock(&dcache_lock);
-+ list_del(&dentry->d_hash);
-+ INIT_LIST_HEAD(&dentry->d_hash);
-+ spin_unlock(&dcache_lock);
-+}
-+#endif
-+#endif
-diff -Nur linux_c860_org/include/linux/fb_doublebyte.h linux/include/linux/fb_doublebyte.h
---- linux_c860_org/include/linux/fb_doublebyte.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/linux/fb_doublebyte.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,43 @@
-+/*
-+ * linux/include/linux/fb_widechar.h
-+ *
-+ * Copyright (C) 1999 Christopher Li, Jim Chen
-+ * GNU/Linux Research Center
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file COPYING in the main directory of this archive
-+ * for more details.
-+ *
-+ *
-+ */
-+
-+#ifndef _LINUX_FB_DOUBLEBYTE_H
-+#define _LINUX_FB_DOUBLEbYTE_H
-+
-+#define DB_VALIDATE 0x8000
-+#define DB_RIGHT_MASK 0x4000
-+#define DB_HALF_MASK 0x2000
-+#define DB_SYMBOL 0x1000
-+#define DB_ASCII 0
-+
-+#define DB_RIGHT (DB_VALIDATE|DB_RIGHT_MASK)
-+#define DB_LEFT (DB_VALIDATE)
-+#define DB_NUM 8
-+
-+#define DB_INDEX_ERROR -512
-+struct double_byte
-+{
-+ unsigned int num;
-+ char name[16];
-+ int (*is_left)(int );
-+ int (*is_right)(int );
-+ int (*font_index)(int left,int right);
-+ unsigned int width,height; /* right now only support 16x16 */
-+ int charcount;
-+ unsigned char * font_data;
-+};
-+extern int register_doublebyte(struct double_byte *);
-+extern int unregister_doublebyte(struct double_byte *);
-+extern struct double_byte * doublebyte_encodeing[DB_NUM];
-+extern struct double_byte * doublebyte_default;
-+#endif
-diff -Nur linux_c860_org/include/linux/fs_struct.h linux/include/linux/fs_struct.h
---- linux_c860_org/include/linux/fs_struct.h 2002-08-26 14:37:46.000000000 +0900
-+++ linux/include/linux/fs_struct.h 2004-06-10 21:09:11.000000000 +0900
-@@ -20,6 +20,15 @@
- extern void exit_fs(struct task_struct *);
- extern void set_fs_altroot(void);
-
-+struct fs_struct *copy_fs_struct(struct fs_struct *old);
-+void put_fs_struct(struct fs_struct *fs);
-+
-+#endif
-+#endif
-+
-+#if !defined(_LINUX_FS_STRUCT_H_INLINES) && defined(_TASK_STRUCT_DEFINED)
-+#define _LINUX_FS_STRUCT_H_INLINES
-+#ifdef __KERNEL__
- /*
- * Replace the fs->{rootmnt,root} with {mnt,dentry}. Put the old values.
- * It can block. Requires the big lock held.
-@@ -65,9 +74,5 @@
- mntput(old_pwdmnt);
- }
- }
--
--struct fs_struct *copy_fs_struct(struct fs_struct *old);
--void put_fs_struct(struct fs_struct *fs);
--
- #endif
- #endif
-diff -Nur linux_c860_org/include/linux/jffs2_fs_sb.h linux/include/linux/jffs2_fs_sb.h
---- linux_c860_org/include/linux/jffs2_fs_sb.h 2003-05-14 15:01:52.000000000 +0900
-+++ linux/include/linux/jffs2_fs_sb.h 2004-06-10 21:12:37.000000000 +0900
-@@ -16,6 +16,7 @@
- * 15-Nov-2002 Lineo Japan, Inc. add nodemerge facility
- * 05-Nov-2002 Lineo Japan, Inc. modify nr_bad_blocks type
- * 29-Oct-2002 Lineo Japan, Inc. add member nr_bad_blocks and cont_gc_count
-+ * 05-Aug-2003 SHARP for Tosa
- *
- */
-
-@@ -81,7 +82,7 @@
- uint32_t nr_blocks;
- struct jffs2_eraseblock *blocks; /* The whole array of blocks. Used for getting blocks
- * from the offset (blocks[ofs / sector_size]) */
--#ifdef CONFIG_ARCH_PXA_HUSKY
-+#if defined(CONFIG_ARCH_PXA_HUSKY) || defined(CONFIG_ARCH_PXA_TOSA)
- dma_addr_t blocks_phys;
- #endif
- struct jffs2_eraseblock *nextblock; /* The block we're currently filling */
-diff -Nur linux_c860_org/include/linux/lock_break.h linux/include/linux/lock_break.h
---- linux_c860_org/include/linux/lock_break.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/linux/lock_break.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,84 @@
-+/*
-+ * include/linux/lock_break.h - lock breaking routines
-+ *
-+ * since in-kernel preemption can not occur while a lock is
-+ * held, we can drop and reacquire long-held locks when they are
-+ * in a natural quiescent state to further lower system latency.
-+ *
-+ * (C) 2001 Robert Love
-+ *
-+ */
-+
-+#ifndef _LINUX_LOCK_BREAK_H
-+#define _LINUX_LOCK_BREAK_H
-+
-+#include <linux/compiler.h>
-+
-+/*
-+ * setting this to 1 will instruct debug_lock_break to
-+ * note when the expected lock count does not equal the
-+ * actual count. if the lock count is higher than expected,
-+ * we aren't dropping enough locks. if it is 0, we are
-+ * wasting our time since the system is already preemptible.
-+ */
-+#ifndef DEBUG_LOCK_BREAK
-+#define DEBUG_LOCK_BREAK 0
-+#endif
-+
-+#ifdef CONFIG_LOCK_BREAK
-+
-+#define conditional_schedule_needed() (unlikely(current->need_resched))
-+
-+/*
-+ * setting the task's state to TASK_RUNNING is nothing but paranoia,
-+ * in the case where a task is delinquent in properly putting itself
-+ * to sleep. we should test without it.
-+ */
-+#define unconditional_schedule() do { \
-+ __set_current_state(TASK_RUNNING); \
-+ schedule(); \
-+} while(0)
-+
-+#define conditional_schedule() do { \
-+ if (conditional_schedule_needed()) \
-+ unconditional_schedule(); \
-+} while(0)
-+
-+#define break_spin_lock(n) do { \
-+ spin_unlock(n); \
-+ spin_lock(n); \
-+} while(0)
-+
-+#define break_spin_lock_and_resched(n) do { \
-+ spin_unlock(n); \
-+ conditional_schedule(); \
-+ spin_lock(n); \
-+} while(0)
-+
-+#if DEBUG_LOCK_BREAK
-+#define debug_lock_break(n) do { \
-+ if (current->preempt_count != n) \
-+ printk(KERN_ERR "lock_break: %s:%d: count was %d not %d\n", \
-+ __FILE__, __LINE__, current->preempt_count, n); \
-+} while(0)
-+#else
-+#define debug_lock_break(n)
-+#endif
-+
-+#define DEFINE_LOCK_COUNT() int _lock_break_count = 0
-+#define TEST_LOCK_COUNT(n) (++_lock_break_count > (n))
-+#define RESET_LOCK_COUNT() _lock_break_count = 0
-+
-+#else
-+#define unconditional_schedule()
-+#define conditional_schedule()
-+#define conditional_schedule_needed() 0
-+#define break_spin_lock(n)
-+#define break_spin_lock_and_resched(n)
-+#define debug_lock_break(n)
-+#define DEFINE_LOCK_COUNT()
-+#define TEST_LOCK_COUNT(n) 0
-+#define RESET_LOCK_COUNT()
-+#endif
-+
-+#endif /* _LINUX_LOCK_BREAK_H */
-diff -Nur linux_c860_org/include/linux/mm.h linux/include/linux/mm.h
---- linux_c860_org/include/linux/mm.h 2003-01-29 14:45:03.000000000 +0900
-+++ linux/include/linux/mm.h 2004-06-10 21:12:37.000000000 +0900
-@@ -126,6 +126,9 @@
- */
- extern pgprot_t protection_map[16];
-
-+#define ZPR_MAX_BYTES 256*PAGE_SIZE
-+#define ZPR_NORMAL 0 /* perform zap_page_range request in one walk */
-+#define ZPR_PARTITION 1 /* partition into a series of smaller operations */
-
- /*
- * These are the virtual MM functions - opening of an area, closing and
-@@ -409,7 +412,7 @@
- extern void shmem_lock(struct file * file, int lock);
- extern int shmem_zero_setup(struct vm_area_struct *);
-
--extern void zap_page_range(struct mm_struct *mm, unsigned long address, unsigned long size);
-+extern void zap_page_range(struct mm_struct *mm, unsigned long address, unsigned long size, int actions);
- extern int copy_page_range(struct mm_struct *dst, struct mm_struct *src, struct vm_area_struct *vma);
- extern int remap_page_range(unsigned long from, unsigned long to, unsigned long size, pgprot_t prot);
- extern int zeromap_page_range(unsigned long from, unsigned long size, pgprot_t prot);
-diff -Nur linux_c860_org/include/linux/ppp-comp.h linux/include/linux/ppp-comp.h
---- linux_c860_org/include/linux/ppp-comp.h 2002-08-26 14:37:45.000000000 +0900
-+++ linux/include/linux/ppp-comp.h 2004-06-10 21:09:11.000000000 +0900
-@@ -24,11 +24,11 @@
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
-- * $Id: ppp-comp.h,v 1.6 1997/11/27 06:04:44 paulus Exp $
-+ * $Id: ppp-comp.h,v 1.8 1999/07/23 06:53:40 paulus Exp $
- */
-
- /*
-- * ==FILEVERSION 980319==
-+ * ==FILEVERSION 990623==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
-@@ -120,6 +120,7 @@
- * Don't you just lurve software patents.
- */
-
-+#define DECOMP_OK 0 /* no error occured */
- #define DECOMP_ERROR -1 /* error detected before decomp. */
- #define DECOMP_FATALERROR -2 /* error detected after decomp. */
-
-@@ -138,7 +139,7 @@
- * Max # bytes for a CCP option
- */
-
--#define CCP_MAX_OPTION_LENGTH 32
-+#define CCP_MAX_OPTION_LENGTH 64
-
- /*
- * Parts of a CCP packet.
-@@ -187,6 +188,20 @@
- #define DEFLATE_CHK_SEQUENCE 0
-
- /*
-+ * Definitions for MPPE.
-+ */
-+
-+#define CI_MPPE 18 /* config. option for MPPE */
-+#define CILEN_MPPE 6 /* length of config. option */
-+
-+/*
-+ * Definitions for Stac LZS.
-+ */
-+
-+#define CI_LZS 17 /* config option for Stac LZS */
-+#define CILEN_LZS 5 /* length of config option */
-+
-+/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-
-diff -Nur linux_c860_org/include/linux/sched.h linux/include/linux/sched.h
---- linux_c860_org/include/linux/sched.h 2002-12-18 19:29:48.000000000 +0900
-+++ linux/include/linux/sched.h 2004-06-10 21:12:37.000000000 +0900
-@@ -31,6 +31,7 @@
- #include <linux/signal.h>
- #include <linux/securebits.h>
- #include <linux/fs_struct.h>
-+#include <linux/lock_break.h>
-
- struct exec_domain;
-
-@@ -93,6 +94,7 @@
- #define TASK_UNINTERRUPTIBLE 2
- #define TASK_ZOMBIE 4
- #define TASK_STOPPED 8
-+#define PREEMPT_ACTIVE 0x4000000
-
- #define __set_task_state(tsk, state_value) \
- do { (tsk)->state = (state_value); } while (0)
-@@ -159,6 +161,9 @@
- #define MAX_SCHEDULE_TIMEOUT LONG_MAX
- extern signed long FASTCALL(schedule_timeout(signed long timeout));
- asmlinkage void schedule(void);
-+#ifdef CONFIG_PREEMPT
-+asmlinkage void preempt_schedule(void);
-+#endif
-
- extern int schedule_task(struct tq_struct *task);
- extern void flush_scheduled_tasks(void);
-@@ -288,7 +293,7 @@
- * offsets of these are hardcoded elsewhere - touch with care
- */
- volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
-- unsigned long flags; /* per process flags, defined below */
-+ int preempt_count; /* 0 => preemptable, <0 => BUG */
- int sigpending;
- mm_segment_t addr_limit; /* thread address space:
- 0-0xBFFFFFFF for user-thead
-@@ -330,6 +335,7 @@
- struct mm_struct *active_mm;
- struct list_head local_pages;
- unsigned int allocation_order, nr_local_pages;
-+ unsigned long flags;
-
- /* task state */
- struct linux_binfmt *binfmt;
-@@ -338,6 +344,7 @@
- /* ??? */
- unsigned long personality;
- int did_exec:1;
-+ unsigned task_dumpable:1;
- pid_t pid;
- pid_t pgrp;
- pid_t tty_old_pgrp;
-@@ -505,6 +512,8 @@
- #define PT_TRACESYSGOOD 0x00000008
- #define PT_PTRACE_CAP 0x00000010 /* ptracer can follow suid-exec */
-
-+#define is_dumpable(tsk) (((tsk)->task_dumpable) && (((tsk)->mm != NULL) && (tsk)->mm->dumpable))
-+
- /*
- * Limit the stack by to some sane default: root can always
- * increase this limit if needed.. 8MB seems reasonable.
-@@ -854,6 +863,8 @@
- extern int do_execve(char *, char **, char **, struct pt_regs *);
- extern int do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long);
-
-+extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+
- extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
- extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait));
- extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
-@@ -992,6 +1003,11 @@
- return res;
- }
-
-+#define _TASK_STRUCT_DEFINED
-+#include <linux/dcache.h>
-+#include <linux/tqueue.h>
-+#include <linux/fs_struct.h>
-+
- #endif /* __KERNEL__ */
-
- #endif
-diff -Nur linux_c860_org/include/linux/smp.h linux/include/linux/smp.h
---- linux_c860_org/include/linux/smp.h 2002-08-26 14:37:45.000000000 +0900
-+++ linux/include/linux/smp.h 2004-06-10 21:12:36.000000000 +0900
-@@ -81,11 +81,17 @@
- #define smp_processor_id() 0
- #define hard_smp_processor_id() 0
- #define smp_threads_ready 1
-+#ifndef CONFIG_PREEMPT
- #define kernel_lock()
-+#endif
- #define cpu_logical_map(cpu) 0
- #define cpu_number_map(cpu) 0
- #define smp_call_function(func,info,retry,wait) ({ 0; })
- #define cpu_online_map 1
-
--#endif
--#endif
-+#endif /* !SMP */
-+
-+#define get_cpu() smp_processor_id()
-+#define put_cpu() do { } while(0)
-+
-+#endif /* __LINUX_SMP_H */
-diff -Nur linux_c860_org/include/linux/smp_lock.h linux/include/linux/smp_lock.h
---- linux_c860_org/include/linux/smp_lock.h 2002-08-26 14:37:45.000000000 +0900
-+++ linux/include/linux/smp_lock.h 2004-06-10 21:12:37.000000000 +0900
-@@ -3,7 +3,7 @@
-
- #include <linux/config.h>
-
--#ifndef CONFIG_SMP
-+#if !defined(CONFIG_SMP) && !defined(CONFIG_PREEMPT)
-
- #define lock_kernel() do { } while(0)
- #define unlock_kernel() do { } while(0)
-diff -Nur linux_c860_org/include/linux/spinlock.h linux/include/linux/spinlock.h
---- linux_c860_org/include/linux/spinlock.h 2002-08-26 14:37:46.000000000 +0900
-+++ linux/include/linux/spinlock.h 2004-06-10 21:12:37.000000000 +0900
-@@ -2,6 +2,7 @@
- #define __LINUX_SPINLOCK_H
-
- #include <linux/config.h>
-+#include <linux/compiler.h>
-
- /*
- * These are the generic versions of the spinlocks and read-write
-@@ -45,8 +46,10 @@
-
- #if (DEBUG_SPINLOCKS < 1)
-
-+#ifndef CONFIG_PREEMPT
- #define atomic_dec_and_lock(atomic,lock) atomic_dec_and_test(atomic)
- #define ATOMIC_DEC_AND_LOCK
-+#endif
-
- /*
- * Your basic spinlocks, allowing only a single CPU anywhere
-@@ -62,11 +65,11 @@
- #endif
-
- #define spin_lock_init(lock) do { } while(0)
--#define spin_lock(lock) (void)(lock) /* Not "unused variable". */
-+#define _raw_spin_lock(lock) (void)(lock) /* Not "unused variable". */
- #define spin_is_locked(lock) (0)
--#define spin_trylock(lock) ({1; })
-+#define _raw_spin_trylock(lock) ({1; })
- #define spin_unlock_wait(lock) do { } while(0)
--#define spin_unlock(lock) do { } while(0)
-+#define _raw_spin_unlock(lock) do { } while(0)
-
- #elif (DEBUG_SPINLOCKS < 2)
-
-@@ -125,13 +128,78 @@
- #endif
-
- #define rwlock_init(lock) do { } while(0)
--#define read_lock(lock) (void)(lock) /* Not "unused variable". */
--#define read_unlock(lock) do { } while(0)
--#define write_lock(lock) (void)(lock) /* Not "unused variable". */
--#define write_unlock(lock) do { } while(0)
-+#define _raw_read_lock(lock) (void)(lock) /* Not "unused variable". */
-+#define _raw_read_unlock(lock) do { } while(0)
-+#define _raw_write_lock(lock) (void)(lock) /* Not "unused variable". */
-+#define _raw_write_unlock(lock) do { } while(0)
-
- #endif /* !SMP */
-
-+#ifdef CONFIG_PREEMPT
-+
-+#define preempt_get_count() (current->preempt_count)
-+#define preempt_is_disabled() (preempt_get_count() != 0)
-+
-+#define preempt_disable() \
-+do { \
-+ ++current->preempt_count; \
-+ barrier(); \
-+} while (0)
-+
-+#define preempt_enable_no_resched() \
-+do { \
-+ --current->preempt_count; \
-+ barrier(); \
-+} while (0)
-+
-+#define preempt_enable() \
-+do { \
-+ --current->preempt_count; \
-+ barrier(); \
-+ if (unlikely(current->preempt_count < current->need_resched)) \
-+ preempt_schedule(); \
-+} while (0)
-+
-+#define spin_lock(lock) \
-+do { \
-+ preempt_disable(); \
-+ _raw_spin_lock(lock); \
-+} while(0)
-+
-+#define spin_trylock(lock) ({preempt_disable(); _raw_spin_trylock(lock) ? \
-+ 1 : ({preempt_enable(); 0;});})
-+#define spin_unlock(lock) \
-+do { \
-+ _raw_spin_unlock(lock); \
-+ preempt_enable(); \
-+} while (0)
-+
-+#define read_lock(lock) ({preempt_disable(); _raw_read_lock(lock);})
-+#define read_unlock(lock) ({_raw_read_unlock(lock); preempt_enable();})
-+#define write_lock(lock) ({preempt_disable(); _raw_write_lock(lock);})
-+#define write_unlock(lock) ({_raw_write_unlock(lock); preempt_enable();})
-+#define write_trylock(lock) ({preempt_disable();_raw_write_trylock(lock) ? \
-+ 1 : ({preempt_enable(); 0;});})
-+
-+#else
-+
-+#define preempt_get_count() (0)
-+#define preempt_is_disabled() (1)
-+#define preempt_disable() do { } while (0)
-+#define preempt_enable_no_resched() do {} while(0)
-+#define preempt_enable() do { } while (0)
-+
-+#define spin_lock(lock) _raw_spin_lock(lock)
-+#define spin_trylock(lock) _raw_spin_trylock(lock)
-+#define spin_unlock(lock) _raw_spin_unlock(lock)
-+
-+#define read_lock(lock) _raw_read_lock(lock)
-+#define read_unlock(lock) _raw_read_unlock(lock)
-+#define write_lock(lock) _raw_write_lock(lock)
-+#define write_unlock(lock) _raw_write_unlock(lock)
-+#define write_trylock(lock) _raw_write_trylock(lock)
-+#endif
-+
- /* "lock on reference count zero" */
- #ifndef ATOMIC_DEC_AND_LOCK
- #include <asm/atomic.h>
-diff -Nur linux_c860_org/include/linux/tqueue.h linux/include/linux/tqueue.h
---- linux_c860_org/include/linux/tqueue.h 2002-08-26 14:37:44.000000000 +0900
-+++ linux/include/linux/tqueue.h 2004-06-10 21:12:37.000000000 +0900
-@@ -94,6 +94,22 @@
- extern spinlock_t tqueue_lock;
-
- /*
-+ * Call all "bottom halfs" on a given list.
-+ */
-+
-+extern void __run_task_queue(task_queue *list);
-+
-+static inline void run_task_queue(task_queue *list)
-+{
-+ if (TQ_ACTIVE(*list))
-+ __run_task_queue(list);
-+}
-+
-+#endif /* _LINUX_TQUEUE_H */
-+
-+#if !defined(_LINUX_TQUEUE_H_INLINES) && defined(_TASK_STRUCT_DEFINED)
-+#define _LINUX_TQUEUE_H_INLINES
-+/*
- * Queue a task on a tq. Return non-zero if it was successfully
- * added.
- */
-@@ -109,17 +125,4 @@
- }
- return ret;
- }
--
--/*
-- * Call all "bottom halfs" on a given list.
-- */
--
--extern void __run_task_queue(task_queue *list);
--
--static inline void run_task_queue(task_queue *list)
--{
-- if (TQ_ACTIVE(*list))
-- __run_task_queue(list);
--}
--
--#endif /* _LINUX_TQUEUE_H */
-+#endif
-diff -Nur linux_c860_org/include/linux/tty_flip.h linux/include/linux/tty_flip.h
---- linux_c860_org/include/linux/tty_flip.h 2002-08-26 14:37:44.000000000 +0900
-+++ linux/include/linux/tty_flip.h 2004-06-10 21:12:59.000000000 +0900
-@@ -7,9 +7,22 @@
- #define _INLINE_ static __inline__
- #endif
-
-+#ifdef CONFIG_UNICON
-+extern int (*Unicon_fnKeyHook) (struct tty_struct *tty,
-+ unsigned char ch, char flag);
-+#endif
- _INLINE_ void tty_insert_flip_char(struct tty_struct *tty,
-- unsigned char ch, char flag)
-+ unsigned char ch, char flag)
- {
-+ #ifdef CONFIG_UNICON
-+ if (Unicon_fnKeyHook != NULL)
-+ {
-+ /* return 1 ==> processed by kernel
-+ return 0 ==> processed by app */
-+ if ((*Unicon_fnKeyHook) (tty, ch, flag) == 1)
-+ return;
-+ }
-+ #endif
- if (tty->flip.count < TTY_FLIPBUF_SIZE) {
- tty->flip.count++;
- *tty->flip.flag_buf_ptr++ = flag;
-diff -Nur linux_c860_org/include/net/irda/irlmp.h linux/include/net/irda/irlmp.h
---- linux_c860_org/include/net/irda/irlmp.h 2002-08-29 12:24:49.000000000 +0900
-+++ linux/include/net/irda/irlmp.h 2004-06-10 21:13:39.000000000 +0900
-@@ -21,6 +21,9 @@
- * Neither Dag Brattli nor University of Tromsø admit liability nor
- * provide warranty for any of this software. This material is
- * provided "AS-IS" and at no charge.
-+ *
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
- *
- ********************************************************************/
-
-@@ -181,6 +184,9 @@
- int running;
-
- __u16_host_order hints; /* Hint bits */
-+#if defined(CONFIG_ARCH_SHARP_SL)
-+ int discovery_retry; /* Discovery retry flag at media busy */
-+#endif
- };
-
- /* Prototype declarations */
-diff -Nur linux_c860_org/include/openssl/opensslconf.h linux/include/openssl/opensslconf.h
---- linux_c860_org/include/openssl/opensslconf.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/openssl/opensslconf.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,176 @@
-+/* opensslconf.h */
-+/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
-+
-+/* OpenSSL was configured with the following options: */
-+#ifdef OPENSSL_ALGORITHM_DEFINES
-+ /* no ciphers excluded */
-+#endif
-+#ifdef OPENSSL_THREAD_DEFINES
-+# ifndef THREADS
-+# define THREADS
-+# endif
-+#endif
-+#ifdef OPENSSL_OTHER_DEFINES
-+# ifndef DSO_DLFCN
-+# define DSO_DLFCN
-+# endif
-+# ifndef HAVE_DLFCN_H
-+# define HAVE_DLFCN_H
-+# endif
-+#endif
-+
-+/* crypto/opensslconf.h.in */
-+
-+/* Generate 80386 code? */
-+#undef I386_ONLY
-+
-+#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
-+#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
-+#define OPENSSLDIR "/usr/local/ssl"
-+#endif
-+#endif
-+
-+#define OPENSSL_UNISTD <unistd.h>
-+
-+#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
-+#define IDEA_INT unsigned int
-+#endif
-+
-+#if defined(HEADER_MD2_H) && !defined(MD2_INT)
-+#define MD2_INT unsigned int
-+#endif
-+
-+#if defined(HEADER_RC2_H) && !defined(RC2_INT)
-+/* I need to put in a mod for the alpha - eay */
-+#define RC2_INT unsigned int
-+#endif
-+
-+#if defined(HEADER_RC4_H)
-+#if !defined(RC4_INT)
-+/* using int types make the structure larger but make the code faster
-+ * on most boxes I have tested - up to %20 faster. */
-+/*
-+ * I don't know what does "most" mean, but declaring "int" is a must on:
-+ * - Intel P6 because partial register stalls are very expensive;
-+ * - elder Alpha because it lacks byte load/store instructions;
-+ */
-+#define RC4_INT unsigned int
-+#endif
-+#if !defined(RC4_CHUNK)
-+/*
-+ * This enables code handling data aligned at natural CPU word
-+ * boundary. See crypto/rc4/rc4_enc.c for further details.
-+ */
-+#undef RC4_CHUNK
-+#endif
-+#endif
-+
-+#if defined(HEADER_DES_H) && !defined(DES_LONG)
-+/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
-+ * %20 speed up (longs are 8 bytes, int's are 4). */
-+#ifndef DES_LONG
-+#define DES_LONG unsigned long
-+#endif
-+#endif
-+
-+#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
-+#define CONFIG_HEADER_BN_H
-+#define BN_LLONG
-+
-+/* Should we define BN_DIV2W here? */
-+
-+/* Only one for the following should be defined */
-+/* The prime number generation stuff may not work when
-+ * EIGHT_BIT but I don't care since I've only used this mode
-+ * for debuging the bignum libraries */
-+#undef SIXTY_FOUR_BIT_LONG
-+#undef SIXTY_FOUR_BIT
-+#define THIRTY_TWO_BIT
-+#undef SIXTEEN_BIT
-+#undef EIGHT_BIT
-+#endif
-+
-+#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
-+#define CONFIG_HEADER_RC4_LOCL_H
-+/* if this is defined data[i] is used instead of *data, this is a %20
-+ * speedup on x86 */
-+#define RC4_INDEX
-+#endif
-+
-+#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
-+#define CONFIG_HEADER_BF_LOCL_H
-+#undef BF_PTR
-+#endif /* HEADER_BF_LOCL_H */
-+
-+#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
-+#define CONFIG_HEADER_DES_LOCL_H
-+#ifndef DES_DEFAULT_OPTIONS
-+/* the following is tweaked from a config script, that is why it is a
-+ * protected undef/define */
-+#ifndef DES_PTR
-+#define DES_PTR
-+#endif
-+
-+/* This helps C compiler generate the correct code for multiple functional
-+ * units. It reduces register dependancies at the expense of 2 more
-+ * registers */
-+#ifndef DES_RISC1
-+#define DES_RISC1
-+#endif
-+
-+#ifndef DES_RISC2
-+#undef DES_RISC2
-+#endif
-+
-+#if defined(DES_RISC1) && defined(DES_RISC2)
-+YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
-+#endif
-+
-+/* Unroll the inner loop, this sometimes helps, sometimes hinders.
-+ * Very mucy CPU dependant */
-+#ifndef DES_UNROLL
-+#define DES_UNROLL
-+#endif
-+
-+/* These default values were supplied by
-+ * Peter Gutman <pgut001@cs.auckland.ac.nz>
-+ * They are only used if nothing else has been defined */
-+#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
-+/* Special defines which change the way the code is built depending on the
-+ CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
-+ even newer MIPS CPU's, but at the moment one size fits all for
-+ optimization options. Older Sparc's work better with only UNROLL, but
-+ there's no way to tell at compile time what it is you're running on */
-+
-+#if defined( sun ) /* Newer Sparc's */
-+# define DES_PTR
-+# define DES_RISC1
-+# define DES_UNROLL
-+#elif defined( __ultrix ) /* Older MIPS */
-+# define DES_PTR
-+# define DES_RISC2
-+# define DES_UNROLL
-+#elif defined( __osf1__ ) /* Alpha */
-+# define DES_PTR
-+# define DES_RISC2
-+#elif defined ( _AIX ) /* RS6000 */
-+ /* Unknown */
-+#elif defined( __hpux ) /* HP-PA */
-+ /* Unknown */
-+#elif defined( __aux ) /* 68K */
-+ /* Unknown */
-+#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
-+# define DES_UNROLL
-+#elif defined( __sgi ) /* Newer MIPS */
-+# define DES_PTR
-+# define DES_RISC2
-+# define DES_UNROLL
-+#elif defined( i386 ) /* x86 boxes, should be gcc */
-+# define DES_PTR
-+# define DES_RISC1
-+# define DES_UNROLL
-+#endif /* Systems-specific speed defines */
-+#endif
-+
-+#endif /* DES_DEFAULT_OPTIONS */
-+#endif /* HEADER_DES_LOCL_H */
-diff -Nur linux_c860_org/include/openssl/opensslv.h linux/include/openssl/opensslv.h
---- linux_c860_org/include/openssl/opensslv.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/openssl/opensslv.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,85 @@
-+#ifndef HEADER_OPENSSLV_H
-+#define HEADER_OPENSSLV_H
-+
-+/* Numeric release version identifier:
-+ * MMNNFFPPS: major minor fix patch status
-+ * The status nibble has one of the values 0 for development, 1 to e for betas
-+ * 1 to 14, and f for release. The patch level is exactly that.
-+ * For example:
-+ * 0.9.3-dev 0x00903000
-+ * 0.9.3-beta1 0x00903001
-+ * 0.9.3-beta2-dev 0x00903002
-+ * 0.9.3-beta2 0x00903002 (same as ...beta2-dev)
-+ * 0.9.3 0x0090300f
-+ * 0.9.3a 0x0090301f
-+ * 0.9.4 0x0090400f
-+ * 1.2.3z 0x102031af
-+ *
-+ * For continuity reasons (because 0.9.5 is already out, and is coded
-+ * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level
-+ * part is slightly different, by setting the highest bit. This means
-+ * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start
-+ * with 0x0090600S...
-+ *
-+ * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.)
-+ * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
-+ * major minor fix final patch/beta)
-+ */
-+#define OPENSSL_VERSION_NUMBER 0x0090601fL
-+#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.6a 5 Apr 2001"
-+#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
-+
-+
-+/* The macros below are to be used for shared library (.so, .dll, ...)
-+ * versioning. That kind of versioning works a bit differently between
-+ * operating systems. The most usual scheme is to set a major and a minor
-+ * number, and have the runtime loader check that the major number is equal
-+ * to what it was at application link time, while the minor number has to
-+ * be greater or equal to what it was at application link time. With this
-+ * scheme, the version number is usually part of the file name, like this:
-+ *
-+ * libcrypto.so.0.9
-+ *
-+ * Some unixen also make a softlink with the major verson number only:
-+ *
-+ * libcrypto.so.0
-+ *
-+ * On True64 it works a little bit differently. There, the shared library
-+ * version is stored in the file, and is actually a series of versions,
-+ * separated by colons. The rightmost version present in the library when
-+ * linking an application is stored in the application to be matched at
-+ * run time. When the application is run, a check is done to see if the
-+ * library version stored in the application matches any of the versions
-+ * in the version string of the library itself.
-+ * This version string can be constructed in any way, depending on what
-+ * kind of matching is desired. However, to implement the same scheme as
-+ * the one used in the other unixen, all compatible versions, from lowest
-+ * to highest, should be part of the string. Consecutive builds would
-+ * give the following versions strings:
-+ *
-+ * 3.0
-+ * 3.0:3.1
-+ * 3.0:3.1:3.2
-+ * 4.0
-+ * 4.0:4.1
-+ *
-+ * Notice how version 4 is completely incompatible with version, and
-+ * therefore give the breach you can see.
-+ *
-+ * There may be other schemes as well that I haven't yet discovered.
-+ *
-+ * So, here's the way it works here: first of all, the library version
-+ * number doesn't need at all to match the overall OpenSSL version.
-+ * However, it's nice and more understandable if it actually does.
-+ * The current library version is stored in the macro SHLIB_VERSION_NUMBER,
-+ * which is just a piece of text in the format "M.m.e" (Major, minor, edit).
-+ * For the sake of True64 and any other OS that behaves in similar ways,
-+ * we need to keep a history of version numbers, which is done in the
-+ * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and
-+ * should only keep the versions that are binary compatible with the current.
-+ */
-+#define SHLIB_VERSION_HISTORY ""
-+#define SHLIB_VERSION_NUMBER "0.9.6"
-+
-+
-+#endif /* HEADER_OPENSSLV_H */
-diff -Nur linux_c860_org/include/openssl/rc4.h linux/include/openssl/rc4.h
---- linux_c860_org/include/openssl/rc4.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/openssl/rc4.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,88 @@
-+/* crypto/rc4/rc4.h */
-+/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
-+ * All rights reserved.
-+ *
-+ * This package is an SSL implementation written
-+ * by Eric Young (eay@cryptsoft.com).
-+ * The implementation was written so as to conform with Netscapes SSL.
-+ *
-+ * This library is free for commercial and non-commercial use as long as
-+ * the following conditions are aheared to. The following conditions
-+ * apply to all code found in this distribution, be it the RC4, RSA,
-+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
-+ * included with this distribution is covered by the same copyright terms
-+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-+ *
-+ * Copyright remains Eric Young's, and as such any Copyright notices in
-+ * the code are not to be removed.
-+ * If this package is used in a product, Eric Young should be given attribution
-+ * as the author of the parts of the library used.
-+ * This can be in the form of a textual message at program startup or
-+ * in documentation (online or textual) provided with the package.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * "This product includes cryptographic software written by
-+ * Eric Young (eay@cryptsoft.com)"
-+ * The word 'cryptographic' can be left out if the rouines from the library
-+ * being used are not cryptographic related :-).
-+ * 4. If you include any Windows specific code (or a derivative thereof) from
-+ * the apps directory (application code) you must include an acknowledgement:
-+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * The licence and distribution terms for any publically available version or
-+ * derivative of this code cannot be changed. i.e. this code cannot simply be
-+ * copied and put under another distribution licence
-+ * [including the GNU Public Licence.]
-+ */
-+
-+#ifndef HEADER_RC4_H
-+#define HEADER_RC4_H
-+
-+#ifdef NO_RC4
-+#error RC4 is disabled.
-+#endif
-+
-+#include <openssl/opensslconf.h> /* RC4_INT */
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+typedef struct rc4_key_st
-+ {
-+ RC4_INT x,y;
-+ RC4_INT data[256];
-+ } RC4_KEY;
-+
-+
-+const char *RC4_options(void);
-+void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);
-+void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
-+ unsigned char *outdata);
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
-diff -Nur linux_c860_org/include/openssl/sha.h linux/include/openssl/sha.h
---- linux_c860_org/include/openssl/sha.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/openssl/sha.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,119 @@
-+/* crypto/sha/sha.h */
-+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-+ * All rights reserved.
-+ *
-+ * This package is an SSL implementation written
-+ * by Eric Young (eay@cryptsoft.com).
-+ * The implementation was written so as to conform with Netscapes SSL.
-+ *
-+ * This library is free for commercial and non-commercial use as long as
-+ * the following conditions are aheared to. The following conditions
-+ * apply to all code found in this distribution, be it the RC4, RSA,
-+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
-+ * included with this distribution is covered by the same copyright terms
-+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-+ *
-+ * Copyright remains Eric Young's, and as such any Copyright notices in
-+ * the code are not to be removed.
-+ * If this package is used in a product, Eric Young should be given attribution
-+ * as the author of the parts of the library used.
-+ * This can be in the form of a textual message at program startup or
-+ * in documentation (online or textual) provided with the package.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * "This product includes cryptographic software written by
-+ * Eric Young (eay@cryptsoft.com)"
-+ * The word 'cryptographic' can be left out if the rouines from the library
-+ * being used are not cryptographic related :-).
-+ * 4. If you include any Windows specific code (or a derivative thereof) from
-+ * the apps directory (application code) you must include an acknowledgement:
-+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ * The licence and distribution terms for any publically available version or
-+ * derivative of this code cannot be changed. i.e. this code cannot simply be
-+ * copied and put under another distribution licence
-+ * [including the GNU Public Licence.]
-+ */
-+
-+#ifndef HEADER_SHA_H
-+#define HEADER_SHA_H
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+#if defined(NO_SHA) || (defined(NO_SHA0) && defined(NO_SHA1))
-+#error SHA is disabled.
-+#endif
-+
-+/*
-+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-+ * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then !
-+ * ! SHA_LONG_LOG2 has to be defined along. !
-+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-+ */
-+
-+#if defined(WIN16) || defined(__LP32__)
-+#define SHA_LONG unsigned long
-+#elif defined(_CRAY) || defined(__ILP64__)
-+#define SHA_LONG unsigned long
-+#define SHA_LONG_LOG2 3
-+#else
-+#define SHA_LONG unsigned int
-+#endif
-+
-+#define SHA_LBLOCK 16
-+#define SHA_CBLOCK (SHA_LBLOCK*4) /* SHA treats input data as a
-+ * contiguous array of 32 bit
-+ * wide big-endian values. */
-+#define SHA_LAST_BLOCK (SHA_CBLOCK-8)
-+#define SHA_DIGEST_LENGTH 20
-+
-+typedef struct SHAstate_st
-+ {
-+ SHA_LONG h0,h1,h2,h3,h4;
-+ SHA_LONG Nl,Nh;
-+ SHA_LONG data[SHA_LBLOCK];
-+ int num;
-+ } SHA_CTX;
-+
-+#ifndef NO_SHA0
-+void SHA_Init(SHA_CTX *c);
-+void SHA_Update(SHA_CTX *c, const void *data, unsigned long len);
-+void SHA_Final(unsigned char *md, SHA_CTX *c);
-+unsigned char *SHA(const unsigned char *d, unsigned long n,unsigned char *md);
-+void SHA_Transform(SHA_CTX *c, const unsigned char *data);
-+#endif
-+#ifndef NO_SHA1
-+void SHA1_Init(SHA_CTX *c);
-+void SHA1_Update(SHA_CTX *c, const void *data, unsigned long len);
-+void SHA1_Final(unsigned char *md, SHA_CTX *c);
-+unsigned char *SHA1(const unsigned char *d, unsigned long n,unsigned char *md);
-+void SHA1_Transform(SHA_CTX *c, const unsigned char *data);
-+#endif
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
-diff -Nur linux_c860_org/include/video/tosa_backlight.h linux/include/video/tosa_backlight.h
---- linux_c860_org/include/video/tosa_backlight.h 1970-01-01 09:00:00.000000000 +0900
-+++ linux/include/video/tosa_backlight.h 2004-06-10 21:09:11.000000000 +0900
-@@ -0,0 +1,47 @@
-+/*
-+ * linux/include/video/tosa_backlight.h
-+ *
-+ * (C) Copyright 2004 Lineo Solutions, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on:
-+ * linux/include/video/corgi_backlight.h
-+ *
-+ * (C) Copyright 2002 Lineo Japan, Inc.
-+ *
-+ * May be copied or modified under the terms of the GNU General Public
-+ * License. See linux/COPYING for more information.
-+ *
-+ * Based on include/video/sa1100_frontlight.h
-+ *
-+ * ChangeLog:
-+ * 06-Nov-2002 SHARP for SL-B500/5600
-+ */
-+
-+
-+#ifndef __TOSA_FRONTLIGHT_H
-+#define __TOSA_FRONTLIGHT_H
-+
-+#define TOSA_BL_IOCTL_ON 1
-+#define TOSA_BL_IOCTL_OFF 2
-+#define TOSA_BL_IOCTL_STEP_CONTRAST 100
-+#define TOSA_BL_IOCTL_GET_STEP_CONTRAST 101
-+#define TOSA_BL_IOCTL_GET_STEP 102
-+
-+#define TOSA_BL_RESET_CONTRAST (-1)
-+#define TOSA_BL_CAUTION_CONTRAST (1)
-+
-+#define BL_MAJOR 254
-+#define BL_NAME "tosa-bl"
-+
-+#ifdef CONFIG_PM
-+void tosa_bl_blank(int);
-+int tosa_bl_pm_callback(struct pm_dev*, pm_request_t, void*);
-+#endif
-+void tosa_bl_temporary_contrast_set(void);
-+void tosa_bl_temporary_contrast_reset(void);
-+void tosa_bl_set_limit_contrast(int);
-+
-+#endif /* __TOSA_FRONTLIGHT_H */
-diff -Nur linux_c860_org/kernel/exit.c linux/kernel/exit.c
---- linux_c860_org/kernel/exit.c 2002-08-26 14:43:29.000000000 +0900
-+++ linux/kernel/exit.c 2004-06-10 21:09:11.000000000 +0900
-@@ -203,6 +203,8 @@
- }
- i++;
- set >>= 1;
-+ debug_lock_break(1);
-+ conditional_schedule();
- }
- }
- }
-@@ -320,8 +322,8 @@
- /* more a memory barrier than a real lock */
- task_lock(tsk);
- tsk->mm = NULL;
-- task_unlock(tsk);
- enter_lazy_tlb(mm, current, smp_processor_id());
-+ task_unlock(tsk);
- mmput(mm);
- }
- }
-@@ -442,6 +444,11 @@
- tsk->flags |= PF_EXITING;
- del_timer_sync(&tsk->real_timer);
-
-+ if (unlikely(preempt_get_count()))
-+ printk(KERN_INFO "note: %s[%d] exited with preempt_count %d\n",
-+ current->comm, current->pid,
-+ preempt_get_count());
-+
- fake_volatile:
- #ifdef CONFIG_BSD_PROCESS_ACCT
- acct_process(code);
-diff -Nur linux_c860_org/kernel/fork.c linux/kernel/fork.c
---- linux_c860_org/kernel/fork.c 2002-12-18 19:29:50.000000000 +0900
-+++ linux/kernel/fork.c 2004-06-10 21:09:11.000000000 +0900
-@@ -28,6 +28,7 @@
- #include <asm/pgalloc.h>
- #include <asm/uaccess.h>
- #include <asm/mmu_context.h>
-+#include <asm/processor.h>
-
- /* The idle threads do not count.. */
- int nr_threads;
-@@ -561,6 +562,31 @@
- p->flags = new_flags;
- }
-
-+long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+{
-+ struct task_struct *task = current;
-+ unsigned old_task_dumpable;
-+ long ret;
-+
-+ /* lock out any potential ptracer */
-+ task_lock(task);
-+ if (task->ptrace) {
-+ task_unlock(task);
-+ return -EPERM;
-+ }
-+
-+ old_task_dumpable = task->task_dumpable;
-+ task->task_dumpable = 0;
-+ task_unlock(task);
-+
-+ ret = arch_kernel_thread(fn, arg, flags);
-+
-+ /* never reached in child process, only in parent */
-+ current->task_dumpable = old_task_dumpable;
-+
-+ return ret;
-+}
-+
- /*
- * Ok, this is the main fork-routine. It copies the system process
- * information (task[nr]) and sets up the necessary registers. It also
-@@ -622,6 +648,13 @@
- if (p->binfmt && p->binfmt->module)
- __MOD_INC_USE_COUNT(p->binfmt->module);
-
-+#ifdef CONFIG_PREEMPT
-+ /*
-+ * Continue with preemption disabled as part of the context
-+ * switch, so start with preempt_count set to 1.
-+ */
-+ p->preempt_count = 1;
-+#endif
- p->did_exec = 0;
- p->swappable = 0;
- p->state = TASK_UNINTERRUPTIBLE;
-diff -Nur linux_c860_org/kernel/ksyms.c linux/kernel/ksyms.c
---- linux_c860_org/kernel/ksyms.c 2002-08-26 14:43:29.000000000 +0900
-+++ linux/kernel/ksyms.c 2004-06-10 21:09:11.000000000 +0900
-@@ -439,6 +439,9 @@
- EXPORT_SYMBOL(interruptible_sleep_on);
- EXPORT_SYMBOL(interruptible_sleep_on_timeout);
- EXPORT_SYMBOL(schedule);
-+#ifdef CONFIG_PREEMPT
-+EXPORT_SYMBOL(preempt_schedule);
-+#endif
- EXPORT_SYMBOL(schedule_timeout);
- EXPORT_SYMBOL(jiffies);
- EXPORT_SYMBOL(xtime);
-diff -Nur linux_c860_org/kernel/ptrace.c linux/kernel/ptrace.c
---- linux_c860_org/kernel/ptrace.c 2002-08-26 14:37:42.000000000 +0900
-+++ linux/kernel/ptrace.c 2004-06-10 21:09:11.000000000 +0900
-@@ -21,6 +21,9 @@
- */
- int ptrace_check_attach(struct task_struct *child, int kill)
- {
-+ mb();
-+ if (!child->task_dumpable)
-+ return -EPERM;
- if (!(child->ptrace & PT_PTRACED))
- return -ESRCH;
-
-@@ -70,7 +73,7 @@
- (current->gid != task->gid)) && !capable(CAP_SYS_PTRACE))
- goto bad;
- rmb();
-- if (!task->mm->dumpable && !capable(CAP_SYS_PTRACE))
-+ if (!is_dumpable(task) && !capable(CAP_SYS_PTRACE))
- goto bad;
- /* the same process cannot be attached many times */
- if (task->ptrace & PT_PTRACED)
-@@ -136,6 +139,8 @@
- /* Worry about races with exit() */
- task_lock(tsk);
- mm = tsk->mm;
-+ if (!tsk->task_dumpable || (&init_mm == mm))
-+ mm = NULL;
- if (mm)
- atomic_inc(&mm->mm_users);
- task_unlock(tsk);
-diff -Nur linux_c860_org/kernel/sched.c linux/kernel/sched.c
---- linux_c860_org/kernel/sched.c 2002-08-26 14:37:42.000000000 +0900
-+++ linux/kernel/sched.c 2004-06-10 21:09:11.000000000 +0900
-@@ -491,7 +491,7 @@
- task_lock(prev);
- task_release_cpu(prev);
- mb();
-- if (prev->state == TASK_RUNNING)
-+ if (task_on_runqueue(prev))
- goto needs_resched;
-
- out_unlock:
-@@ -521,7 +521,7 @@
- goto out_unlock;
-
- spin_lock_irqsave(&runqueue_lock, flags);
-- if ((prev->state == TASK_RUNNING) && !task_has_cpu(prev))
-+ if (task_on_runqueue(prev) && !task_has_cpu(prev))
- reschedule_idle(prev);
- spin_unlock_irqrestore(&runqueue_lock, flags);
- goto out_unlock;
-@@ -534,6 +534,7 @@
- asmlinkage void schedule_tail(struct task_struct *prev)
- {
- __schedule_tail(prev);
-+ preempt_enable();
- }
-
- /*
-@@ -553,10 +554,12 @@
- struct list_head *tmp;
- int this_cpu, c;
-
--
- spin_lock_prefetch(&runqueue_lock);
-
-+ preempt_disable();
-+
- if (!current->active_mm) BUG();
-+
- need_resched_back:
- prev = current;
- this_cpu = prev->processor;
-@@ -583,6 +586,14 @@
- move_last_runqueue(prev);
- }
-
-+#ifdef CONFIG_PREEMPT
-+ /*
-+ * entering from preempt_schedule, off a kernel preemption,
-+ * go straight to picking the next task.
-+ */
-+ if (unlikely(preempt_get_count() & PREEMPT_ACTIVE))
-+ goto treat_like_run;
-+#endif
- switch (prev->state) {
- case TASK_INTERRUPTIBLE:
- if (signal_pending(prev)) {
-@@ -593,6 +604,9 @@
- del_from_runqueue(prev);
- case TASK_RUNNING:;
- }
-+#ifdef CONFIG_PREEMPT
-+ treat_like_run:
-+#endif
- prev->need_resched = 0;
-
- /*
-@@ -701,9 +715,25 @@
- reacquire_kernel_lock(current);
- if (current->need_resched)
- goto need_resched_back;
-+ preempt_enable_no_resched();
- return;
- }
-
-+#ifdef CONFIG_PREEMPT
-+/*
-+ * this is is the entry point to schedule() from in-kernel preemption.
-+ */
-+asmlinkage void preempt_schedule(void)
-+{
-+ do {
-+ current->preempt_count += PREEMPT_ACTIVE;
-+ schedule();
-+ current->preempt_count -= PREEMPT_ACTIVE;
-+ barrier();
-+ } while (current->need_resched);
-+}
-+#endif /* CONFIG_PREEMPT */
-+
- /*
- * The core wakeup function. Non-exclusive wakeups (nr_exclusive == 0) just wake everything
- * up. If it's an exclusive wakeup (nr_exclusive == small +ve number) then we wake all the
-@@ -1312,6 +1342,13 @@
- sched_data->curr = current;
- sched_data->last_schedule = get_cycles();
- clear_bit(current->processor, &wait_init_idle);
-+#ifdef CONFIG_PREEMPT
-+ /*
-+ * fix up the preempt_count for non-CPU0 idle threads
-+ */
-+ if (current->processor)
-+ current->preempt_count = 0;
-+#endif
- }
-
- extern void init_timervecs (void);
-diff -Nur linux_c860_org/kernel/sys.c linux/kernel/sys.c
---- linux_c860_org/kernel/sys.c 2002-08-29 12:24:32.000000000 +0900
-+++ linux/kernel/sys.c 2004-06-10 21:09:11.000000000 +0900
-@@ -1231,7 +1231,7 @@
- error = put_user(current->pdeath_signal, (int *)arg2);
- break;
- case PR_GET_DUMPABLE:
-- if (current->mm->dumpable)
-+ if (is_dumpable(current))
- error = 1;
- break;
- case PR_SET_DUMPABLE:
-@@ -1239,7 +1239,8 @@
- error = -EINVAL;
- break;
- }
-- current->mm->dumpable = arg2;
-+ if (is_dumpable(current))
-+ current->mm->dumpable = arg2;
- break;
- case PR_SET_UNALIGN:
- #ifdef SET_UNALIGN_CTL
-diff -Nur linux_c860_org/lib/dec_and_lock.c linux/lib/dec_and_lock.c
---- linux_c860_org/lib/dec_and_lock.c 2002-08-26 14:37:42.000000000 +0900
-+++ linux/lib/dec_and_lock.c 2004-06-10 21:09:11.000000000 +0900
-@@ -1,5 +1,6 @@
- #include <linux/module.h>
- #include <linux/spinlock.h>
-+#include <linux/sched.h>
- #include <asm/atomic.h>
-
- /*
-diff -Nur linux_c860_org/mm/filemap.c linux/mm/filemap.c
---- linux_c860_org/mm/filemap.c 2002-08-26 14:37:43.000000000 +0900
-+++ linux/mm/filemap.c 2004-06-10 21:09:11.000000000 +0900
-@@ -296,6 +296,7 @@
-
- page_cache_release(page);
-
-+ /* we hit this with lock depth of 1 or 2 */
- if (current->need_resched) {
- __set_current_state(TASK_RUNNING);
- schedule();
-@@ -406,6 +407,8 @@
- }
-
- page_cache_release(page);
-+
-+ debug_lock_break(551);
- if (current->need_resched) {
- __set_current_state(TASK_RUNNING);
- schedule();
-@@ -560,12 +563,16 @@
- list_del(&page->list);
- list_add(&page->list, &mapping->locked_pages);
-
-- if (!PageDirty(page))
-- continue;
--
- page_cache_get(page);
- spin_unlock(&pagecache_lock);
-
-+ /* BKL is held ... */
-+ debug_lock_break(1);
-+ conditional_schedule();
-+
-+ if (!PageDirty(page))
-+ goto clean;
-+
- lock_page(page);
-
- if (PageDirty(page)) {
-@@ -576,7 +583,7 @@
- ret = err;
- } else
- UnlockPage(page);
--
-+clean:
- page_cache_release(page);
- spin_lock(&pagecache_lock);
- }
-@@ -595,14 +602,28 @@
- {
- int ret = 0;
-
-+ DEFINE_LOCK_COUNT();
-+
- spin_lock(&pagecache_lock);
-
-+restart:
- while (!list_empty(&mapping->locked_pages)) {
- struct page *page = list_entry(mapping->locked_pages.next, struct page, list);
-
- list_del(&page->list);
- list_add(&page->list, &mapping->clean_pages);
-
-+ debug_lock_break(2);
-+ if (TEST_LOCK_COUNT(32)) {
-+ RESET_LOCK_COUNT();
-+ if (conditional_schedule_needed()) {
-+ page_cache_get(page);
-+ break_spin_lock_and_resched(&pagecache_lock);
-+ page_cache_release(page);
-+ goto restart;
-+ }
-+ }
-+
- if (!PageLocked(page))
- continue;
-
-@@ -869,6 +890,7 @@
- * the hash-list needs a held write-lock.
- */
- repeat:
-+ break_spin_lock(&pagecache_lock);
- page = __find_page_nolock(mapping, offset, hash);
- if (page) {
- page_cache_get(page);
-@@ -2031,6 +2053,8 @@
- address += PAGE_SIZE;
- pte++;
- } while (address && (address < end));
-+ debug_lock_break(1);
-+ break_spin_lock(&vma->vm_mm->page_table_lock);
- return error;
- }
-
-@@ -2061,6 +2085,9 @@
- address = (address + PMD_SIZE) & PMD_MASK;
- pmd++;
- } while (address && (address < end));
-+
-+ debug_lock_break(1);
-+ break_spin_lock(&vma->vm_mm->page_table_lock);
- return error;
- }
-
-@@ -2438,7 +2465,7 @@
- if (vma->vm_flags & VM_LOCKED)
- return -EINVAL;
-
-- zap_page_range(vma->vm_mm, start, end - start);
-+ zap_page_range(vma->vm_mm, start, end - start, ZPR_PARTITION);
- return 0;
- }
-
-diff -Nur linux_c860_org/mm/memory.c linux/mm/memory.c
---- linux_c860_org/mm/memory.c 2003-06-18 16:12:29.000000000 +0900
-+++ linux/mm/memory.c 2004-06-10 21:09:11.000000000 +0900
-@@ -384,7 +384,8 @@
- /*
- * remove user pages in a given range.
- */
--void zap_page_range(struct mm_struct *mm, unsigned long address, unsigned long size)
-+void do_zap_page_range(struct mm_struct *mm, unsigned long address,
-+ unsigned long size)
- {
- unsigned long start = address, end = address + size;
- mmu_gather_t *tlb;
-@@ -643,6 +644,20 @@
- iobuf->locked = 0;
- }
-
-+void zap_page_range(struct mm_struct *mm, unsigned long address,
-+ unsigned long size, int actions)
-+{
-+ while (size) {
-+ unsigned long chunk = size;
-+
-+ if (actions & ZPR_PARTITION && chunk > ZPR_MAX_BYTES)
-+ chunk = ZPR_MAX_BYTES;
-+ do_zap_page_range(mm, address, chunk);
-+
-+ address += chunk;
-+ size -= chunk;
-+ }
-+}
-
- /*
- * Lock down all of the pages of a kiovec for IO.
-@@ -752,11 +767,15 @@
- return 0;
- }
-
--static inline void zeromap_pte_range(pte_t * pte, unsigned long address,
-- unsigned long size, pgprot_t prot)
-+static inline void zeromap_pte_range(struct mm_struct *mm, pte_t * pte,
-+ unsigned long address, unsigned long size,
-+ pgprot_t prot)
- {
- unsigned long end;
-
-+ debug_lock_break(1);
-+ break_spin_lock(&mm->page_table_lock);
-+
- address &= ~PMD_MASK;
- end = address + size;
- if (end > PMD_SIZE)
-@@ -784,7 +803,7 @@
- pte_t * pte = pte_alloc(mm, pmd, address);
- if (!pte)
- return -ENOMEM;
-- zeromap_pte_range(pte, address, end - address, prot);
-+ zeromap_pte_range(mm, pte, address, end - address, prot);
- address = (address + PMD_SIZE) & PMD_MASK;
- pmd++;
- } while (address && (address < end));
-@@ -1022,7 +1041,7 @@
-
- /* mapping wholly truncated? */
- if (mpnt->vm_pgoff >= pgoff) {
-- zap_page_range(mm, start, len);
-+ zap_page_range(mm, start, len, ZPR_NORMAL);
- continue;
- }
-
-@@ -1035,7 +1054,7 @@
- /* Ok, partially affected.. */
- start += diff << PAGE_SHIFT;
- len = (len - diff) << PAGE_SHIFT;
-- zap_page_range(mm, start, len);
-+ zap_page_range(mm, start, len, ZPR_NORMAL);
- } while ((mpnt = mpnt->vm_next_share) != NULL);
- }
-
-diff -Nur linux_c860_org/mm/mmap.c linux/mm/mmap.c
---- linux_c860_org/mm/mmap.c 2003-06-18 16:12:29.000000000 +0900
-+++ linux/mm/mmap.c 2004-06-10 21:09:11.000000000 +0900
-@@ -578,7 +578,7 @@
- fput(file);
-
- /* Undo any partial mapping done by a device driver. */
-- zap_page_range(mm, vma->vm_start, vma->vm_end - vma->vm_start);
-+ zap_page_range(mm, vma->vm_start, vma->vm_end - vma->vm_start, ZPR_NORMAL);
- free_vma:
- kmem_cache_free(vm_area_cachep, vma);
- return error;
-@@ -978,7 +978,7 @@
- remove_shared_vm_struct(mpnt);
- mm->map_count--;
-
-- zap_page_range(mm, st, size);
-+ zap_page_range(mm, st, size, ZPR_PARTITION);
-
- /*
- * Fix the mapping, and free the old area if it wasn't reused.
-@@ -1025,6 +1025,9 @@
- if (!len)
- return addr;
-
-+ if ((addr + len) > TASK_SIZE || (addr + len) < addr)
-+ return -EINVAL;
-+
- /*
- * mlock MCL_FUTURE?
- */
-diff -Nur linux_c860_org/mm/mremap.c linux/mm/mremap.c
---- linux_c860_org/mm/mremap.c 2002-08-26 14:37:43.000000000 +0900
-+++ linux/mm/mremap.c 2004-06-10 21:09:11.000000000 +0900
-@@ -118,7 +118,7 @@
- flush_cache_range(mm, new_addr, new_addr + len);
- while ((offset += PAGE_SIZE) < len)
- move_one_page(mm, new_addr + offset, old_addr + offset);
-- zap_page_range(mm, new_addr, len);
-+ zap_page_range(mm, new_addr, len, ZPR_NORMAL);
- return -1;
- }
-
-@@ -236,6 +236,13 @@
-
- if (new_len > TASK_SIZE || new_addr > TASK_SIZE - new_len)
- goto out;
-+ /*
-+ * Allow new_len == 0 only if new_addr == addr
-+ * to preserve truncation in place (that was working
-+ * safe and some app may depend on it).
-+ */
-+ if (unlikely(!new_len && new_addr != addr))
-+ goto out;
-
- /* Check if the location we're moving into overlaps the
- * old location at all, and fail if it does.
-@@ -246,16 +253,20 @@
- if ((addr <= new_addr) && (addr+old_len) > new_addr)
- goto out;
-
-- do_munmap(current->mm, new_addr, new_len);
-+ ret = do_munmap(current->mm, new_addr, new_len);
-+ if (ret && new_len)
-+ goto out;
- }
-
- /*
- * Always allow a shrinking remap: that just unmaps
- * the unnecessary pages..
- */
-- ret = addr;
- if (old_len >= new_len) {
-- do_munmap(current->mm, addr+new_len, old_len - new_len);
-+ ret = do_munmap(current->mm, addr+new_len, old_len - new_len);
-+ if (ret && old_len != new_len)
-+ goto out;
-+ ret = addr;
- if (!(flags & MREMAP_FIXED) || (new_addr == addr))
- goto out;
- }
-diff -Nur linux_c860_org/mm/oom_kill.c linux/mm/oom_kill.c
---- linux_c860_org/mm/oom_kill.c 2003-06-18 16:12:29.000000000 +0900
-+++ linux/mm/oom_kill.c 2004-06-10 21:09:11.000000000 +0900
-@@ -20,6 +20,7 @@
- * 16-Jan-2003 SHARP add VM switch
- * 24-Feb-2003 SHARP modify check out of memory function
- * 18-Apr-2003 Sharp modify threshold
-+ * 05-Aug-2003 SHARP for Tosa
- */
-
- #include <linux/mm.h>
-@@ -237,7 +238,7 @@
-
- #if defined(CONFIG_ARCH_SHARP_SL)
- #define MIN_KILL_INTERVAL (60*HZ)
--#if defined(CONFIG_ARCH_PXA_SHEPHERD)
-+#if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined (CONFIG_ARCH_PXA_TOSA)
- #define OOM_KILL_PG_CACHE_SIZE (1280) /* 5MB */
- #define MIN_SIGNAL_PG_CACHE_SIZE (1536) /* 6MB */
- #define LOW_SIGNAL_PG_CACHE_SIZE (2048) /* 8MB */
-diff -Nur linux_c860_org/mm/slab.c linux/mm/slab.c
---- linux_c860_org/mm/slab.c 2002-11-22 21:03:26.000000000 +0900
-+++ linux/mm/slab.c 2004-06-10 21:09:11.000000000 +0900
-@@ -49,7 +49,8 @@
- * constructors and destructors are called without any locking.
- * Several members in kmem_cache_t and slab_t never change, they
- * are accessed without any locking.
-- * The per-cpu arrays are never accessed from the wrong cpu, no locking.
-+ * The per-cpu arrays are never accessed from the wrong cpu, no locking,
-+ * and local interrupts are disabled so slab code is preempt-safe.
- * The non-constant members are protected with a per-cache irq spinlock.
- *
- * Further notes from the original documentation:
-diff -Nur linux_c860_org/mm/swapfile.c linux/mm/swapfile.c
---- linux_c860_org/mm/swapfile.c 2002-08-26 14:37:43.000000000 +0900
-+++ linux/mm/swapfile.c 2004-06-10 21:09:11.000000000 +0900
-@@ -696,6 +696,7 @@
- * interactive performance. Interruptible check on
- * signal_pending() would be nice, but changes the spec?
- */
-+ debug_lock_break(551);
- if (current->need_resched)
- schedule();
- }
-@@ -1124,6 +1125,13 @@
- if (swap_info[i].flags != SWP_USED)
- continue;
- for (j = 0; j < swap_info[i].max; ++j) {
-+ if (conditional_schedule_needed()) {
-+ debug_lock_break(551);
-+ swap_list_unlock();
-+ debug_lock_break(551);
-+ unconditional_schedule();
-+ swap_list_lock();
-+ }
- switch (swap_info[i].swap_map[j]) {
- case 0:
- case SWAP_MAP_BAD:
-diff -Nur linux_c860_org/mm/vmscan.c linux/mm/vmscan.c
---- linux_c860_org/mm/vmscan.c 2003-01-30 18:59:16.000000000 +0900
-+++ linux/mm/vmscan.c 2004-06-10 21:09:11.000000000 +0900
-@@ -170,6 +170,8 @@
- pte_t * pte;
- unsigned long pmd_end;
-
-+ DEFINE_LOCK_COUNT();
-+
- if (pmd_none(*dir))
- return count;
- if (pmd_bad(*dir)) {
-@@ -194,6 +196,14 @@
- address += PAGE_SIZE;
- break;
- }
-+ /* we reach this with a lock depth of 1 or 2 */
-+#if 0
-+ if (TEST_LOCK_COUNT(4)) {
-+ if (conditional_schedule_needed())
-+ return count;
-+ RESET_LOCK_COUNT();
-+ }
-+#endif
- }
- }
- address += PAGE_SIZE;
-@@ -227,6 +237,9 @@
- count = swap_out_pmd(mm, vma, pmd, address, end, count, classzone);
- if (!count)
- break;
-+ /* lock depth can be 1 or 2 */
-+ if (conditional_schedule_needed())
-+ return count;
- address = (address + PMD_SIZE) & PMD_MASK;
- pmd++;
- } while (address && (address < end));
-@@ -252,6 +265,9 @@
- count = swap_out_pgd(mm, vma, pgdir, address, end, count, classzone);
- if (!count)
- break;
-+ /* lock depth can be 1 or 2 */
-+ if (conditional_schedule_needed())
-+ return count;
- address = (address + PGDIR_SIZE) & PGDIR_MASK;
- pgdir++;
- } while (address && (address < end));
-@@ -274,6 +290,8 @@
- * and ptes.
- */
- spin_lock(&mm->page_table_lock);
-+
-+continue_scan:
- address = mm->swap_address;
- if (address == TASK_SIZE || swap_mm != mm) {
- /* We raced: don't count this mm but try again */
-@@ -290,6 +308,13 @@
- vma = vma->vm_next;
- if (!vma)
- break;
-+ /* we reach this with a lock depth of 1 and 2 */
-+#if 0
-+ if (conditional_schedule_needed()) {
-+ break_spin_lock(&mm->page_table_lock);
-+ goto continue_scan;
-+ }
-+#endif
- if (!count)
- goto out_unlock;
- address = vma->vm_start;
-@@ -311,6 +336,7 @@
-
- counter = mmlist_nr;
- do {
-+ /* lock depth can be 0 or 1 */
- if (unlikely(current->need_resched)) {
- __set_current_state(TASK_RUNNING);
- schedule();
-@@ -356,6 +382,7 @@
- while (--max_scan >= 0 && (entry = inactive_list.prev) != &inactive_list) {
- struct page * page;
-
-+ /* lock depth is 1 or 2 */
- if (unlikely(current->need_resched)) {
- spin_unlock(&pagemap_lru_lock);
- __set_current_state(TASK_RUNNING);
-@@ -673,8 +700,11 @@
-
- for (i = pgdat->nr_zones-1; i >= 0; i--) {
- zone = pgdat->node_zones + i;
-+ debug_lock_break(0);
-+#ifndef CONFIG_PREEMPT
- if (unlikely(current->need_resched))
- schedule();
-+#endif
- if (!zone->need_balance)
- continue;
- if (!try_to_free_pages(zone, GFP_KSWAPD, 0)) {
-diff -Nur linux_c860_org/net/core/dev.c linux/net/core/dev.c
---- linux_c860_org/net/core/dev.c 2002-08-26 14:42:28.000000000 +0900
-+++ linux/net/core/dev.c 2004-06-10 21:09:11.000000000 +0900
-@@ -1033,9 +1033,15 @@
- int cpu = smp_processor_id();
-
- if (dev->xmit_lock_owner != cpu) {
-+ /*
-+ * The spin_lock effectivly does a preempt lock, but
-+ * we are about to drop that...
-+ */
-+ preempt_disable();
- spin_unlock(&dev->queue_lock);
- spin_lock(&dev->xmit_lock);
- dev->xmit_lock_owner = cpu;
-+ preempt_enable();
-
- if (!netif_queue_stopped(dev)) {
- if (netdev_nit)
-diff -Nur linux_c860_org/net/core/skbuff.c linux/net/core/skbuff.c
---- linux_c860_org/net/core/skbuff.c 2002-08-26 14:42:28.000000000 +0900
-+++ linux/net/core/skbuff.c 2004-06-10 21:09:11.000000000 +0900
-@@ -111,33 +111,37 @@
-
- static __inline__ struct sk_buff *skb_head_from_pool(void)
- {
-- struct sk_buff_head *list = &skb_head_pool[smp_processor_id()].list;
-+ struct sk_buff_head *list;
-+ struct sk_buff *skb = NULL;
-+ unsigned long flags;
-
-- if (skb_queue_len(list)) {
-- struct sk_buff *skb;
-- unsigned long flags;
-+ local_irq_save(flags);
-
-- local_irq_save(flags);
-+ list = &skb_head_pool[smp_processor_id()].list;
-+
-+ if (skb_queue_len(list))
- skb = __skb_dequeue(list);
-- local_irq_restore(flags);
-- return skb;
-- }
-- return NULL;
-+
-+ local_irq_restore(flags);
-+ return skb;
- }
-
- static __inline__ void skb_head_to_pool(struct sk_buff *skb)
- {
-- struct sk_buff_head *list = &skb_head_pool[smp_processor_id()].list;
-+ struct sk_buff_head *list;
-+ unsigned long flags;
-
-- if (skb_queue_len(list) < sysctl_hot_list_len) {
-- unsigned long flags;
-+ local_irq_save(flags);
-+ list = &skb_head_pool[smp_processor_id()].list;
-
-- local_irq_save(flags);
-+ if (skb_queue_len(list) < sysctl_hot_list_len) {
- __skb_queue_head(list, skb);
- local_irq_restore(flags);
-
- return;
- }
-+
-+ local_irq_restore(flags);
- kmem_cache_free(skbuff_head_cache, skb);
- }
-
-diff -Nur linux_c860_org/net/irda/irlmp.c linux/net/irda/irlmp.c
---- linux_c860_org/net/irda/irlmp.c 2003-01-10 15:02:41.000000000 +0900
-+++ linux/net/irda/irlmp.c 2004-06-10 21:09:11.000000000 +0900
-@@ -24,6 +24,8 @@
- *
- * ChangeLog:
- * 11-20-2002 SHARP apply patch (fix small bugs in /proc)
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
- ********************************************************************/
-
- #include <linux/config.h>
-@@ -769,6 +771,14 @@
- nslots = sysctl_discovery_slots = 8;
- }
-
-+#if defined(CONFIG_ARCH_SHARP_SL)
-+ /*
-+ * Clear the passive discovery retry flag.
-+ * modified by SHARP
-+ */
-+ irlmp->discovery_retry = FALSE;
-+#endif
-+
- /* Construct new discovery info to be used by IrLAP, */
- irlmp->discovery_cmd.hints.word = irlmp->hints.word;
-
-diff -Nur linux_c860_org/net/irda/irlmp_event.c linux/net/irda/irlmp_event.c
---- linux_c860_org/net/irda/irlmp_event.c 2002-08-29 12:25:13.000000000 +0900
-+++ linux/net/irda/irlmp_event.c 2004-06-10 21:09:11.000000000 +0900
-@@ -22,6 +22,9 @@
- * provide warranty for any of this software. This material is
- * provided "AS-IS" and at no charge.
- *
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
- ********************************************************************/
-
- #include <linux/config.h>
-@@ -178,6 +181,16 @@
- /* Active discovery is conditional */
- if (sysctl_discovery)
- irlmp_do_discovery(sysctl_discovery_slots);
-+#if defined(CONFIG_ARCH_SHARP_SL)
-+ else if (( irlmp != NULL )&&( irlmp->discovery_retry )){
-+ /*
-+ * Retry discovery at passive mode, if it hasn't been done
-+ * because of the media busy.
-+ * modified by SHARP
-+ */
-+ irlmp_do_discovery(sysctl_discovery_slots);
-+ }
-+#endif
-
- /* Restart timer */
- irlmp_start_discovery_timer(irlmp, sysctl_discovery_timeout * HZ);
-diff -Nur linux_c860_org/net/irda/irlmp_frame.c linux/net/irda/irlmp_frame.c
---- linux_c860_org/net/irda/irlmp_frame.c 2002-08-29 12:25:13.000000000 +0900
-+++ linux/net/irda/irlmp_frame.c 2004-06-10 21:09:11.000000000 +0900
-@@ -22,6 +22,9 @@
- * provide warranty for any of this software. This material is
- * provided "AS-IS" and at no charge.
- *
-+ * ChangeLog:
-+ * 1-Nov-2003 Sharp Corporation for Tosa
-+ *
- ********************************************************************/
-
- #include <linux/config.h>
-@@ -397,6 +400,16 @@
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
-
- irlmp_add_discovery_log(irlmp->cachelog, log);
-+#if defined(CONFIG_ARCH_SHARP_SL)
-+ /*
-+ * Retry discovery at passive mode, if it hasn't been done
-+ * because of the media busy.
-+ * modified by SHARP
-+ */
-+ if(( log == NULL )&&( irlmp != NULL )){
-+ irlmp->discovery_retry = TRUE;
-+ }
-+#endif
-
- /* Propagate event to various LSAPs registered for it.
- * We bypass the LM_LAP state machine because
-diff -Nur linux_c860_org/net/socket.c linux/net/socket.c
---- linux_c860_org/net/socket.c 2002-08-29 12:25:05.000000000 +0900
-+++ linux/net/socket.c 2004-06-10 21:09:11.000000000 +0900
-@@ -140,7 +140,7 @@
-
- static struct net_proto_family *net_families[NPROTO];
-
--#ifdef CONFIG_SMP
-+#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT)
- static atomic_t net_family_lockct = ATOMIC_INIT(0);
- static spinlock_t net_family_lock = SPIN_LOCK_UNLOCKED;
-
-diff -Nur linux_c860_org/net/sunrpc/pmap_clnt.c linux/net/sunrpc/pmap_clnt.c
---- linux_c860_org/net/sunrpc/pmap_clnt.c 2002-08-26 14:38:06.000000000 +0900
-+++ linux/net/sunrpc/pmap_clnt.c 2004-06-10 21:09:11.000000000 +0900
-@@ -12,6 +12,7 @@
- #include <linux/config.h>
- #include <linux/types.h>
- #include <linux/socket.h>
-+#include <linux/sched.h>
- #include <linux/kernel.h>
- #include <linux/errno.h>
- #include <linux/uio.h>
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch
deleted file mode 100644
index fafdf32e55..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/sharpsl_battery.patch
+++ /dev/null
@@ -1,346 +0,0 @@
---- linux-orig/arch/arm/mach-pxa/sharpsl_battery.c 2004-02-18 23:41:57.000000000 +0300
-+++ linux/arch/arm/mach-pxa/sharpsl_battery.c 2004-02-24 06:21:56.000000000 +0300
-@@ -197,7 +197,7 @@
- #define SHARPSL_CHECK_BATTERY_WAIT_TIME_VOLT 1 // 10msec
- #define SHARPSL_CHECK_BATTERY_WAIT_TIME_JKVAD 1 // 10msec
- #define SHARPSL_CORGI_FATAL_ACIN_VOLT 182 // 3.45V
--#define SHARPSL_CORGI_FATAL_NOACIN_VOLT 179 // 3.40V
-+#define SHARPSL_CORGI_FATAL_NOACIN_VOLT 170 // 3.40V
- #define SHARPSL_CORGI_WAIT_CO_TIME 15 // 15 Sec
- //NOTICE !! you want to change this value , so you must change
- // alarm check mirgin time ( +30 ) in the sharpsl_power.c.
-@@ -245,10 +245,17 @@
- BATTERY_THRESH *GetMainLevel( int Volt );
- int sharpsl_get_main_battery(void);
- int suspend_sharpsl_read_Voltage(void);
-+int GetMainPercent(int);
- int GetMainChargePercent(int);
- int Get_DAC_Value(int);
- int sharpsl_check_battery(int mode);
-
-+// remove warnings
-+static int sharpsl_battery_thread_main(void);
-+int handle_scancode(int, int);
-+int sharpsl_ac_check(void);
-+void sharpsl_charge_err_off(void);
-+
- /*** extern ***********************************************************************/
- extern u32 apm_wakeup_src_mask;
- #if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI)
-@@ -269,7 +276,6 @@
-
- /*** variables ********************************************************************/
-
--
- #if defined(CONFIG_ARCH_PXA_POODLE)
-
- BATTERY_THRESH sharpsl_main_battery_thresh_fl[] = {
-@@ -293,20 +299,26 @@
- #elif defined(CONFIG_ARCH_PXA_CORGI)
-
- BATTERY_THRESH sharpsl_main_battery_thresh_fl[] = {
-- { 194, 100, SHARPSL_BATTERY_STATUS_HIGH},
-- { 188, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 194, 90, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 188, 70, SHARPSL_BATTERY_STATUS_HIGH},
- { 184, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 180, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 174, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
-
- BATTERY_THRESH sharpsl_main_battery_thresh_nofl[] = {
-- { 194, 100, SHARPSL_BATTERY_STATUS_HIGH},
-- { 188, 75, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 194, 90, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 188, 70, SHARPSL_BATTERY_STATUS_HIGH},
- { 184, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 180, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 174, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
- #endif
-@@ -332,25 +344,36 @@
- #elif defined(CONFIG_ARCH_PXA_CORGI)
-
- BATTERY_THRESH sharpsl_main_battery_thresh_charge_fl[] = {
-- { 200, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 200, 95, SHARPSL_BATTERY_STATUS_HIGH},
- { 196, 75, SHARPSL_BATTERY_STATUS_HIGH},
- { 192, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 187, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 182, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
-
- BATTERY_THRESH sharpsl_main_battery_thresh_charge_nofl[] = {
-- { 200, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 999, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 210, 100, SHARPSL_BATTERY_STATUS_HIGH},
-+ { 200, 95, SHARPSL_BATTERY_STATUS_HIGH},
- { 196, 75, SHARPSL_BATTERY_STATUS_HIGH},
- { 192, 50, SHARPSL_BATTERY_STATUS_HIGH},
- { 187, 25, SHARPSL_BATTERY_STATUS_LOW},
-- { 171, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
-+ { 182, 10, SHARPSL_BATTERY_STATUS_LOW},
-+ { 170, 5, SHARPSL_BATTERY_STATUS_VERYLOW},
- { 0, 0, SHARPSL_BATTERY_STATUS_CRITICAL},
- };
-
- #endif
-
-+//#if defined(CONFIG_ARCH_PXA_CORGI)
-+#define MAIN_BATTERY_THRES (sizeof(sharpsl_main_battery_thresh_charge_nofl) / sizeof(BATTERY_THRESH) - 1)
-+//#endif
-+
-+
- #if 1
- static struct file_operations sharpsl_battery_fops = {
- };
-@@ -389,6 +412,8 @@
- int sharpsl_main_battery = SHARPSL_BATTERY_STATUS_HIGH;
- int sharpsl_main_battery_percentage = 100;
- int sharpsl_main_charge_battery = 100;
-+int sharpsl_main_battery_voltage = 200;
-+
- int sharpsl_ac_status = APM_AC_OFFLINE;
-
- static int MainCntWk = SHARPSL_MAIN_GOOD_COUNT;
-@@ -498,7 +523,7 @@
- // 2 : check battery w/ refresh battery status.
- void sharpsl_kick_battery_check(int before_waitms,int after_waitms,int flag)
- {
-- int start;
-+ //int start;
-
-
- MainCntWk = MainCnt + 1;
-@@ -604,6 +629,7 @@
- }
- #endif
-
-+ return 0;
- }
-
-
-@@ -920,13 +946,17 @@
- #endif
-
- voltage = sharpsl_cnv_value(voltage);
--
-+ sharpsl_main_battery_voltage = voltage;
-+
- thresh = GetMainLevel(voltage);
-
-+ sharpsl_main_battery = thresh->status;
-+ sharpsl_main_battery_percentage = GetMainPercent(voltage);
-+ sharpsl_main_charge_battery = GetMainChargePercent(voltage);
-+
- // if battery is low , backlight driver become to save power.
- if ( ( ( thresh->status == SHARPSL_BATTERY_STATUS_VERYLOW ) ||
-- ( thresh->status == SHARPSL_BATTERY_STATUS_CRITICAL ) ||
-- ( thresh->status == SHARPSL_BATTERY_STATUS_LOW ) ) &&
-+ ( thresh->status == SHARPSL_BATTERY_STATUS_CRITICAL )) &&
- ( !sharpsl_main_bk_flag ) ) {
- SHARPSL_LIMIT_CONTRAST(SHARPSL_CAUTION_CONTRAST);
- }
-@@ -934,11 +964,7 @@
- if ( sharpsl_main_bk_flag == 0 ) {
- return sharpsl_main_battery;
- }
-- sharpsl_main_battery = thresh->status;
-- sharpsl_main_battery_percentage = thresh->percentage;
-- sharpsl_main_charge_battery = GetMainChargePercent(voltage);
--
-- //printk("bat : main battery = %d\n",sharpsl_main_battery);
-+
-
- if ( sharpsl_debug_flag != 0 ) {
- int i;
-@@ -946,7 +972,8 @@
- sharpsl_main_battery = sharpsl_debug_flag;
- for (i = 0; sharpsl_main_battery_thresh_nofl[i].voltage > 0; i++) {
- if ( sharpsl_debug_flag == sharpsl_main_battery_thresh_nofl[i].status ) {
-- sharpsl_main_battery_percentage = sharpsl_main_battery_thresh_nofl[i].percentage;
-+ //sharpsl_main_battery_percentage = sharpsl_main_battery_thresh_nofl[i].percentage;
-+ sharpsl_main_battery_percentage = GetMainPercent(voltage);
- break;
- }
- }
-@@ -965,7 +992,7 @@
- sharpsl_main_battery_percentage = sharpsl_main_percent_bk;
- }
-
-- DPRINTK2("charge percent = %d ( at %d ) \n",sharpsl_main_charge_battery,(int)jiffies);
-+ //DPRINTK2("charge percent = %d ( at %d ) \n",sharpsl_main_charge_battery,(int)jiffies);
- DPRINTK(" get Main battery status %d\n",sharpsl_main_battery);
-
- } else {
-@@ -975,40 +1002,79 @@
- return sharpsl_main_battery;
- }
-
--int GetMainChargePercent( int Volt )
-+int GetLevelIndex(BATTERY_THRESH *thresh, int Volt)
-+{
-+ int i = MAIN_BATTERY_THRES;
-+
-+ DPRINTK("volt = %d \n", Volt);
-+ while (i > 0 && (Volt > thresh[i].voltage))
-+ i--;
-+
-+ return i;
-+}
-+
-+int GetPercent(BATTERY_THRESH *thresh, int Volt)
-+{
-+ int i = GetLevelIndex(thresh, Volt);
-+
-+ /* i is now between 0 and MAIN_BATTERY_THRES. That means
-+ * we can safely access main_batt_thres[i] and
-+ * main_batt_thres[i+1] */
-+
-+ {
-+// long percentage = thresh[i].percentage;
-+
-+ long deltav = thresh[i].voltage - thresh[i + 1].voltage;
-+ long deltap = thresh[i].percentage - thresh[i + 1].percentage;
-+
-+ long percentage =
-+ thresh[i + 1].percentage +
-+ deltap * (Volt - thresh[i + 1].voltage) /
-+ deltav;
-+
-+ DPRINTK("percentage = %d \n", percentage);
-+ return percentage;
-+ }
-+
-+ return thresh[i].percentage;
-+}
-+
-+int GetMainPercent( int Volt )
- {
-- int i;
- BATTERY_THRESH *thresh;
-
-- DPRINTK(" volt = %d \n",Volt);
-+ if (counter_step_contrast)
-+ thresh = sharpsl_main_battery_thresh_fl;
-+ else
-+ thresh = sharpsl_main_battery_thresh_nofl;
-+
-+ return GetPercent(thresh, Volt);
-+}
-+
-+int GetMainChargePercent( int Volt )
-+{
-+ BATTERY_THRESH *thresh;
-
- if (counter_step_contrast)
-- thresh = sharpsl_main_battery_thresh_charge_fl;
-+ thresh = sharpsl_main_battery_thresh_charge_fl;
- else
-- thresh = sharpsl_main_battery_thresh_charge_nofl;
-- for (i = 0; thresh[i].voltage > 0; i++) {
-- if (Volt >= thresh[i].voltage)
-- return thresh[i].percentage;
-- }
-- return thresh[i].percentage;
-+ thresh = sharpsl_main_battery_thresh_charge_nofl;
-+
-+ return GetPercent(thresh, Volt);
- }
-
- BATTERY_THRESH *GetMainLevel( int Volt )
- {
-- int i;
- BATTERY_THRESH *thresh;
-
- DPRINTK(" volt = %d \n",Volt);
-
- if (counter_step_contrast)
-- thresh = sharpsl_main_battery_thresh_fl;
-+ thresh = sharpsl_main_battery_thresh_fl;
- else
-- thresh = sharpsl_main_battery_thresh_nofl;
-- for (i = 0; thresh[i].voltage > 0; i++) {
-- if (Volt >= thresh[i].voltage)
-- return &thresh[i];
-- }
-- return &thresh[i];
-+ thresh = sharpsl_main_battery_thresh_nofl;
-+
-+ return &thresh[GetLevelIndex(thresh, Volt)];
- }
-
-
-@@ -1018,7 +1084,7 @@
- int Get_DAC_Value(int channel)
- {
- unsigned long cmd;
-- unsigned int dummy;
-+ unsigned int dummy;
- int voltage;
-
- #if defined(CONFIG_ARCH_PXA_POODLE)
-@@ -1263,7 +1329,7 @@
- // 0: OK
- int sharpsl_ac_check(void)
- {
-- int temp, i, volt;
-+ int temp, i; //, volt;
- int buff[5];
-
- if ( in_interrupt() ) {
-@@ -1835,14 +1901,18 @@
- int def_value;
- char* name;
- char* description;
-+ char readonly;
- unsigned short low_ino;
- } sharpsl_battery_entry_t;
-
- static sharpsl_battery_entry_t sharpsl_battery_params[] = {
- /* { addr, def_value, name, description }*/
-- { &msglevel, 0, "msglevel", "debug message output level" },
-- { &sharpsl_debug_flag , 0 , "dflag", "debug flag" },
-- { &sharpsl_change_battery_status , 0 , "chg_status", "Change status" }
-+ { &msglevel, 0, "msglevel", "debug message output level", 0 },
-+ { &sharpsl_debug_flag , 0 , "dflag", "debug flag", 0 },
-+ { &sharpsl_change_battery_status , 0 , "chg_status", "Change status", 1 },
-+ { &sharpsl_main_battery_percentage , 0 , "charge_percentage", "Charge percentage", 1 },
-+ { &sharpsl_main_battery_voltage , 0 , "main_voltage", "Main voltage", 1 }, // alias
-+ { &sharpsl_main_battery_voltage , 0 , "charge_voltage", "Charge voltage", 1 }
- };
- #define NUM_OF_BATTERY_ENTRY (sizeof(sharpsl_battery_params)/sizeof(sharpsl_battery_entry_t))
-
-@@ -1866,7 +1936,7 @@
- if (current_param==NULL) {
- return -EINVAL;
- }
-- count = sprintf(outputbuf, "0x%08X\n",
-+ count = sprintf(outputbuf, "%04i\n",
- *((volatile Word *) current_param->addr));
- *ppos += count;
- if (count>nbytes) /* Assume output can be read at one time */
-@@ -1891,7 +1961,7 @@
- break;
- }
- }
-- if (current_param==NULL) {
-+ if (current_param==NULL || current_param->readonly) {
- return -EINVAL;
- }
-
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/smallfonts.diff b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/smallfonts.diff
deleted file mode 100644
index bcf3734f63..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/smallfonts.diff
+++ /dev/null
@@ -1,2453 +0,0 @@
-diff -Nur linux-2.4.1-pre12/drivers/video/font_4x6.c linux-2.4.1-pre12.smallfonts/drivers/video/font_4x6.c
---- linux-2.4.1-pre12/drivers/video/font_4x6.c Wed Dec 31 17:00:00 1969
-+++ linux-2.4.1-pre12.smallfonts/drivers/video/font_4x6.c Tue Jan 30 14:17:15 2001
-@@ -0,0 +1,1059 @@
-+/* Font file generated by Jay Carlson from clR4x6.bdf */
-+
-+/*
-+COMMENT Copyright 1989 Dale Schumacher, dal@syntel.mn.org
-+COMMENT 399 Beacon Ave.
-+COMMENT St. Paul, MN 55104-3527
-+COMMENT
-+COMMENT Permission to use, copy, modify, and distribute this software and
-+COMMENT its documentation for any purpose and without fee is hereby
-+COMMENT granted, provided that the above copyright notice appear in all
-+COMMENT copies and that both that copyright notice and this permission
-+COMMENT notice appear in supporting documentation, and that the name of
-+COMMENT Dale Schumacher not be used in advertising or publicity pertaining to
-+COMMENT distribution of the software without specific, written prior
-+COMMENT permission. Dale Schumacher makes no representations about the
-+COMMENT suitability of this software for any purpose. It is provided "as
-+COMMENT is" without express or implied warranty.
-+*/
-+
-+#include <video/font.h>
-+
-+#define FONTDATAMAX (6 * 256)
-+
-+static unsigned char fontdata_4x6[FONTDATAMAX] = {
-+
-+ /* 0 0x00 C000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0xf0, /* 11110000 */
-+
-+ /* 1 0x01 C001 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 2 0x02 C002 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 3 0x03 C003 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 4 0x04 C004 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 5 0x05 C005 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 6 0x06 C006 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 7 0x07 C007 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 8 0x08 C010 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 9 0x09 C011 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 10 0x0a C012 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 11 0x0b C013 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 12 0x0c C014 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 13 0x0d C015 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 14 0x0e C016 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 15 0x0f C017 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 16 0x10 C020 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 17 0x11 C021 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 18 0x12 C022 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 19 0x13 C023 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 20 0x14 C024 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 21 0x15 C025 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 22 0x16 C026 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 23 0x17 C027 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 24 0x18 C030 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 25 0x19 C031 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 26 0x1a C032 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 27 0x1b C033 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 28 0x1c C034 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 29 0x1d C035 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 30 0x1e C036 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 31 0x1f C037 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 32 0x20 C040 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 33 0x21 ! */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 34 0x22 " */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 35 0x23 # */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 36 0x24 $ */
-+ 0xe0, /* 11100000 */
-+ 0xc0, /* 11000000 */
-+ 0xe0, /* 11100000 */
-+ 0x60, /* 01100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 37 0x25 % */
-+ 0xa0, /* 10100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x80, /* 10000000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 38 0x26 & */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 39 0x27 ' */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 40 0x28 ( */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 41 0x29 ) */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 42 0x2a * */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 43 0x2b + */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 44 0x2c , */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 45 0x2d - */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 46 0x2e . */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 47 0x2f / */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 48 0x30 0 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 49 0x31 1 */
-+ 0x40, /* 01000000 */
-+ 0xc0, /* 11000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 50 0x32 2 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 51 0x33 3 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 52 0x34 4 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 53 0x35 5 */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 54 0x36 6 */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 55 0x37 7 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 56 0x38 8 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 57 0x39 9 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 58 0x3a : */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 59 0x3b ; */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 60 0x3c < */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x80, /* 10000000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 61 0x3d = */
-+ 0x00, /* 00000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 62 0x3e > */
-+ 0x80, /* 10000000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x80, /* 10000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 63 0x3f ? */
-+ 0xc0, /* 11000000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 64 0x40 @ */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 65 0x41 A */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 66 0x42 B */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 67 0x43 C */
-+ 0x60, /* 01100000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 68 0x44 D */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 69 0x45 E */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0xc0, /* 11000000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 70 0x46 F */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0xc0, /* 11000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 71 0x47 G */
-+ 0x60, /* 01100000 */
-+ 0x80, /* 10000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 72 0x48 H */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 73 0x49 I */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 74 0x4a J */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 75 0x4b K */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 76 0x4c L */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 77 0x4d M */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 78 0x4e N */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 79 0x4f O */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 80 0x50 P */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 81 0x51 Q */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 82 0x52 R */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 83 0x53 S */
-+ 0x60, /* 01100000 */
-+ 0x80, /* 10000000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0xc0, /* 11000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 84 0x54 T */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 85 0x55 U */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 86 0x56 V */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 87 0x57 W */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 88 0x58 X */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 89 0x59 Y */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 90 0x5a Z */
-+ 0xe0, /* 11100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x80, /* 10000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 91 0x5b [ */
-+ 0x60, /* 01100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 92 0x5c \ */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 93 0x5d ] */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 94 0x5e ^ */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 95 0x5f _ */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 96 0x60 ` */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 97 0x61 a */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 98 0x62 b */
-+ 0x80, /* 10000000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 99 0x63 c */
-+ 0x00, /* 00000000 */
-+ 0x60, /* 01100000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 100 0x64 d */
-+ 0x20, /* 00100000 */
-+ 0x60, /* 01100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 101 0x65 e */
-+ 0x00, /* 00000000 */
-+ 0x60, /* 01100000 */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 102 0x66 f */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 103 0x67 g */
-+ 0x00, /* 00000000 */
-+ 0x60, /* 01100000 */
-+ 0xa0, /* 10100000 */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0xc0, /* 11000000 */
-+
-+ /* 104 0x68 h */
-+ 0x80, /* 10000000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 105 0x69 i */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 106 0x6a j */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+
-+ /* 107 0x6b k */
-+ 0x80, /* 10000000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 108 0x6c l */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 109 0x6d m */
-+ 0x00, /* 00000000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 110 0x6e n */
-+ 0x00, /* 00000000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 111 0x6f o */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 112 0x70 p */
-+ 0x00, /* 00000000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0xc0, /* 11000000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+
-+ /* 113 0x71 q */
-+ 0x00, /* 00000000 */
-+ 0x60, /* 01100000 */
-+ 0xa0, /* 10100000 */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+
-+ /* 114 0x72 r */
-+ 0x00, /* 00000000 */
-+ 0xc0, /* 11000000 */
-+ 0xa0, /* 10100000 */
-+ 0x80, /* 10000000 */
-+ 0x80, /* 10000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 115 0x73 s */
-+ 0x00, /* 00000000 */
-+ 0x60, /* 01100000 */
-+ 0xc0, /* 11000000 */
-+ 0x60, /* 01100000 */
-+ 0xc0, /* 11000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 116 0x74 t */
-+ 0x40, /* 01000000 */
-+ 0xe0, /* 11100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 117 0x75 u */
-+ 0x00, /* 00000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 118 0x76 v */
-+ 0x00, /* 00000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 119 0x77 w */
-+ 0x00, /* 00000000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 120 0x78 x */
-+ 0x00, /* 00000000 */
-+ 0xa0, /* 10100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 121 0x79 y */
-+ 0x00, /* 00000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0xc0, /* 11000000 */
-+
-+ /* 122 0x7a z */
-+ 0x00, /* 00000000 */
-+ 0xe0, /* 11100000 */
-+ 0x60, /* 01100000 */
-+ 0xc0, /* 11000000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 123 0x7b { */
-+ 0x60, /* 01100000 */
-+ 0x40, /* 01000000 */
-+ 0xc0, /* 11000000 */
-+ 0x40, /* 01000000 */
-+ 0x60, /* 01100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 124 0x7c | */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 125 0x7d } */
-+ 0xc0, /* 11000000 */
-+ 0x40, /* 01000000 */
-+ 0x60, /* 01100000 */
-+ 0x40, /* 01000000 */
-+ 0xc0, /* 11000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 126 0x7e ~ */
-+ 0x20, /* 00100000 */
-+ 0xe0, /* 11100000 */
-+ 0x80, /* 10000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 127 0x7f C177 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0xa0, /* 10100000 */
-+ 0xa0, /* 10100000 */
-+ 0xe0, /* 11100000 */
-+ 0x00, /* 00000000 */
-+
-+};
-+
-+struct fbcon_font_desc font_clean_4x6 = {
-+ CLEAN4x6_IDX,
-+ "Clean4x6",
-+ 4,
-+ 6,
-+ fontdata_4x6,
-+ -1000 /* Try avoiding this font if possible unless screen really small */
-+};
-diff -Nur linux-2.4.1-pre12/drivers/video/font_5x8.c linux-2.4.1-pre12.smallfonts/drivers/video/font_5x8.c
---- linux-2.4.1-pre12/drivers/video/font_5x8.c Wed Dec 31 17:00:00 1969
-+++ linux-2.4.1-pre12.smallfonts/drivers/video/font_5x8.c Tue Jan 30 14:17:16 2001
-@@ -0,0 +1,1314 @@
-+/* Font file generated by Jay Carlson from clR5x8.bdf */
-+
-+/*
-+COMMENT Copyright 1989 Dale Schumacher, dal@syntel.mn.org
-+COMMENT 399 Beacon Ave.
-+COMMENT St. Paul, MN 55104-3527
-+COMMENT
-+COMMENT Permission to use, copy, modify, and distribute this software and
-+COMMENT its documentation for any purpose and without fee is hereby
-+COMMENT granted, provided that the above copyright notice appear in all
-+COMMENT copies and that both that copyright notice and this permission
-+COMMENT notice appear in supporting documentation, and that the name of
-+COMMENT Dale Schumacher not be used in advertising or publicity pertaining to
-+COMMENT distribution of the software without specific, written prior
-+COMMENT permission. Dale Schumacher makes no representations about the
-+COMMENT suitability of this software for any purpose. It is provided "as
-+COMMENT is" without express or implied warranty.
-+*/
-+
-+#include <video/font.h>
-+
-+#define FONTDATAMAX (8 * 256)
-+
-+static unsigned char fontdata_5x8[FONTDATAMAX] = {
-+
-+ /* 0 0x00 C000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 1 0x01 C001 */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 2 0x02 C002 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 3 0x03 C003 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 4 0x04 C004 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 5 0x05 C005 */
-+ 0x00, /* 00000000 */
-+ 0x78, /* 01111000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 6 0x06 C006 */
-+ 0x00, /* 00000000 */
-+ 0x78, /* 01111000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 7 0x07 C007 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x40, /* 01000000 */
-+ 0x58, /* 01011000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 8 0x08 C010 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 9 0x09 C011 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 10 0x0a C012 */
-+ 0x00, /* 00000000 */
-+ 0x18, /* 00011000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 11 0x0b C013 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x50, /* 01010000 */
-+ 0x60, /* 01100000 */
-+ 0x50, /* 01010000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 12 0x0c C014 */
-+ 0x00, /* 00000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 13 0x0d C015 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 14 0x0e C016 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x68, /* 01101000 */
-+ 0x58, /* 01011000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 15 0x0f C017 */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 16 0x10 C020 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 17 0x11 C021 */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x18, /* 00011000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 18 0x12 C022 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x50, /* 01010000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 19 0x13 C023 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x40, /* 01000000 */
-+ 0x30, /* 00110000 */
-+ 0x08, /* 00001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 20 0x14 C024 */
-+ 0x00, /* 00000000 */
-+ 0xf8, /* 11111000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 21 0x15 C025 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 22 0x16 C026 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 23 0x17 C027 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 24 0x18 C030 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 25 0x19 C031 */
-+ 0x00, /* 00000000 */
-+ 0x88, /* 10001000 */
-+ 0x50, /* 01010000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 26 0x1a C032 */
-+ 0x00, /* 00000000 */
-+ 0x78, /* 01111000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 27 0x1b C033 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 28 0x1c C034 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 29 0x1d C035 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 30 0x1e C036 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 31 0x1f C037 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 32 0x20 C040 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 33 0x21 ! */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 34 0x22 " */
-+ 0x28, /* 00101000 */
-+ 0x28, /* 00101000 */
-+ 0x28, /* 00101000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 35 0x23 # */
-+ 0x50, /* 01010000 */
-+ 0x50, /* 01010000 */
-+ 0xf8, /* 11111000 */
-+ 0x50, /* 01010000 */
-+ 0xf8, /* 11111000 */
-+ 0x50, /* 01010000 */
-+ 0x50, /* 01010000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 36 0x24 $ */
-+ 0x20, /* 00100000 */
-+ 0x78, /* 01111000 */
-+ 0xa0, /* 10100000 */
-+ 0x70, /* 01110000 */
-+ 0x28, /* 00101000 */
-+ 0xf0, /* 11110000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 37 0x25 % */
-+ 0x60, /* 01100000 */
-+ 0x68, /* 01101000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x58, /* 01011000 */
-+ 0x18, /* 00011000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 38 0x26 & */
-+ 0x30, /* 00110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x28, /* 00101000 */
-+ 0x50, /* 01010000 */
-+ 0x50, /* 01010000 */
-+ 0x28, /* 00101000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 39 0x27 ' */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 40 0x28 ( */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x08, /* 00001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 41 0x29 ) */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 42 0x2a * */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x78, /* 01111000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 43 0x2b + */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0xf8, /* 11111000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 44 0x2c , */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+
-+ /* 45 0x2d - */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0xf8, /* 11111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 46 0x2e . */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 47 0x2f / */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+
-+ /* 48 0x30 0 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x58, /* 01011000 */
-+ 0x68, /* 01101000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 49 0x31 1 */
-+ 0x20, /* 00100000 */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 50 0x32 2 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 51 0x33 3 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x08, /* 00001000 */
-+ 0x30, /* 00110000 */
-+ 0x08, /* 00001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 52 0x34 4 */
-+ 0x08, /* 00001000 */
-+ 0x18, /* 00011000 */
-+ 0x18, /* 00011000 */
-+ 0x28, /* 00101000 */
-+ 0x28, /* 00101000 */
-+ 0x78, /* 01111000 */
-+ 0x08, /* 00001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 53 0x35 5 */
-+ 0x78, /* 01111000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 54 0x36 6 */
-+ 0x30, /* 00110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 55 0x37 7 */
-+ 0x78, /* 01111000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 56 0x38 8 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 57 0x39 9 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 58 0x3a : */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 59 0x3b ; */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+
-+ /* 60 0x3c < */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x08, /* 00001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 61 0x3d = */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0xf8, /* 11111000 */
-+ 0x00, /* 00000000 */
-+ 0xf8, /* 11111000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 62 0x3e > */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 63 0x3f ? */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 64 0x40 @ */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x58, /* 01011000 */
-+ 0x58, /* 01011000 */
-+ 0x40, /* 01000000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 65 0x41 A */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 66 0x42 B */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 67 0x43 C */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 68 0x44 D */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 69 0x45 E */
-+ 0x78, /* 01111000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 70 0x46 F */
-+ 0x78, /* 01111000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 71 0x47 G */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x40, /* 01000000 */
-+ 0x58, /* 01011000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 72 0x48 H */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 73 0x49 I */
-+ 0x70, /* 01110000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 74 0x4a J */
-+ 0x18, /* 00011000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 75 0x4b K */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x50, /* 01010000 */
-+ 0x60, /* 01100000 */
-+ 0x50, /* 01010000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 76 0x4c L */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 77 0x4d M */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 78 0x4e N */
-+ 0x48, /* 01001000 */
-+ 0x68, /* 01101000 */
-+ 0x68, /* 01101000 */
-+ 0x58, /* 01011000 */
-+ 0x58, /* 01011000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 79 0x4f O */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 80 0x50 P */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 81 0x51 Q */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x18, /* 00011000 */
-+
-+ /* 82 0x52 R */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x50, /* 01010000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 83 0x53 S */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x40, /* 01000000 */
-+ 0x30, /* 00110000 */
-+ 0x08, /* 00001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 84 0x54 T */
-+ 0xf8, /* 11111000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 85 0x55 U */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 86 0x56 V */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x30, /* 00110000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 87 0x57 W */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x78, /* 01111000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 88 0x58 X */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 89 0x59 Y */
-+ 0x88, /* 10001000 */
-+ 0x88, /* 10001000 */
-+ 0x50, /* 01010000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 90 0x5a Z */
-+ 0x78, /* 01111000 */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 91 0x5b [ */
-+ 0x38, /* 00111000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 92 0x5c \ */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+
-+ /* 93 0x5d ] */
-+ 0x70, /* 01110000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 94 0x5e ^ */
-+ 0x20, /* 00100000 */
-+ 0x50, /* 01010000 */
-+ 0x88, /* 10001000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 95 0x5f _ */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0xf8, /* 11111000 */
-+
-+ /* 96 0x60 ` */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 97 0x61 a */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x58, /* 01011000 */
-+ 0x28, /* 00101000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 98 0x62 b */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 99 0x63 c */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 100 0x64 d */
-+ 0x08, /* 00001000 */
-+ 0x08, /* 00001000 */
-+ 0x38, /* 00111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 101 0x65 e */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x78, /* 01111000 */
-+ 0x40, /* 01000000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 102 0x66 f */
-+ 0x18, /* 00011000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x70, /* 01110000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 103 0x67 g */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x08, /* 00001000 */
-+ 0x30, /* 00110000 */
-+
-+ /* 104 0x68 h */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 105 0x69 i */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 106 0x6a j */
-+ 0x10, /* 00010000 */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x60, /* 01100000 */
-+
-+ /* 107 0x6b k */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x48, /* 01001000 */
-+ 0x50, /* 01010000 */
-+ 0x60, /* 01100000 */
-+ 0x50, /* 01010000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 108 0x6c l */
-+ 0x60, /* 01100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 109 0x6d m */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0xd0, /* 11010000 */
-+ 0xa8, /* 10101000 */
-+ 0xa8, /* 10101000 */
-+ 0xa8, /* 10101000 */
-+ 0x88, /* 10001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 110 0x6e n */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 111 0x6f o */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 112 0x70 p */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x70, /* 01110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x70, /* 01110000 */
-+ 0x40, /* 01000000 */
-+
-+ /* 113 0x71 q */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x08, /* 00001000 */
-+
-+ /* 114 0x72 r */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x58, /* 01011000 */
-+ 0x60, /* 01100000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 115 0x73 s */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x38, /* 00111000 */
-+ 0x40, /* 01000000 */
-+ 0x30, /* 00110000 */
-+ 0x08, /* 00001000 */
-+ 0x70, /* 01110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 116 0x74 t */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x78, /* 01111000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x18, /* 00011000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 117 0x75 u */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 118 0x76 v */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x30, /* 00110000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 119 0x77 w */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x88, /* 10001000 */
-+ 0xa8, /* 10101000 */
-+ 0xa8, /* 10101000 */
-+ 0xa8, /* 10101000 */
-+ 0x50, /* 01010000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 120 0x78 x */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x30, /* 00110000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 121 0x79 y */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x48, /* 01001000 */
-+ 0x38, /* 00111000 */
-+ 0x08, /* 00001000 */
-+ 0x30, /* 00110000 */
-+
-+ /* 122 0x7a z */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x78, /* 01111000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x78, /* 01111000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 123 0x7b { */
-+ 0x08, /* 00001000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x10, /* 00010000 */
-+ 0x08, /* 00001000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 124 0x7c | */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 125 0x7d } */
-+ 0x40, /* 01000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x10, /* 00010000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x40, /* 01000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 126 0x7e ~ */
-+ 0x28, /* 00101000 */
-+ 0x50, /* 01010000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+ 0x00, /* 00000000 */
-+
-+ /* 127 0x7f C177 */
-+ 0x00, /* 00000000 */
-+ 0x20, /* 00100000 */
-+ 0x20, /* 00100000 */
-+ 0x50, /* 01010000 */
-+ 0x50, /* 01010000 */
-+ 0x88, /* 10001000 */
-+ 0xf8, /* 11111000 */
-+ 0x00, /* 00000000 */
-+};
-+
-+struct fbcon_font_desc font_clean_5x8 = {
-+ CLEAN5x8_IDX,
-+ "Clean5x8",
-+ 5,
-+ 8,
-+ fontdata_5x8,
-+ -1000 /* Try avoiding this font if possible unless screen really small */
-+};
---- Makefile.~1~ 2002-02-26 05:38:07 +10:00
-+++ linux/drivers/video/Makefile 2004-08-31 18:04:15 +10:00
-@@ -33,6 +33,8 @@
- obj-$(CONFIG_FONT_6x11) += font_6x11.o
- obj-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
- obj-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
-+obj-$(CONFIG_FONT_5x8) += font_5x8.o
-+obj-$(CONFIG_FONT_4x6) += font_4x6.o
-
- # Add fbmon.o back into obj-$(CONFIG_FB) in 2.5.x
- obj-$(CONFIG_FB) += fbmem.o fbcmap.o modedb.o fbcon.o fonts.o
---- Config.in.~1~ 2002-02-26 05:38:07 +10:00
-+++ linux/drivers/video/Config.in 2004-08-31 18:03:46 +10:00
-@@ -424,6 +424,8 @@
- bool ' VGA 8x16 font' CONFIG_FONT_8x16
- if [ "$CONFIG_FBCON_FONTWIDTH8_ONLY" = "n" ]; then
- bool ' Mac console 6x11 font (not supported by all drivers)' CONFIG_FONT_6x11
-+ bool ' X11 Clean 5x8 font (not supported by all drivers)' CONFIG_FONT_5x8
-+ bool ' X11 Clean 4x6 font (not supported by all drivers)' CONFIG_FONT_4x6
- fi
- bool ' Pearl (old m68k) console 8x8 font' CONFIG_FONT_PEARL_8x8
- bool ' Acorn console 8x8 font' CONFIG_FONT_ACORN_8x8
-@@ -437,6 +439,8 @@
- if [ "$CONFIG_FBCON_FONTWIDTH8_ONLY" = "n" ]; then
- bool ' Sparc console 12x22 font (not supported by all drivers)' CONFIG_FONT_SUN12x22
- bool ' Mac console 6x11 font (not supported by all drivers)' CONFIG_FONT_6x11
-+ bool ' X11 Clean 5x8 font (not supported by all drivers)' CONFIG_FONT_5x8
-+ bool ' X11 Clean 4x6 font (not supported by all drivers)' CONFIG_FONT_4x6
- fi
- bool ' Pearl (old m68k) console 8x8 font' CONFIG_FONT_PEARL_8x8
- bool ' Acorn console 8x8 font' CONFIG_FONT_ACORN_8x8
---- fonts.c.~1~ 2001-03-03 12:38:39 +10:00
-+++ linux/drivers/video/fonts.c 2004-08-31 18:08:22 +10:00
-@@ -56,6 +56,16 @@
- #undef NO_FONTS
- &font_pearl_8x8,
- #endif
-+#ifdef CONFIG_FONT_5x8
-+#if defined(CONFIG_FBCON_MAC) /* XXX fixme, need better test */
-+#undef NO_FONTS
-+#endif
-+ &font_clean_5x8,
-+#endif
-+#ifdef CONFIG_FONT_4x6
-+#undef NO_FONTS
-+ &font_clean_4x6,
-+#endif
- };
-
- #define num_fonts (sizeof(fbcon_fonts)/sizeof(*fbcon_fonts))
---- font.h.~1~ 1999-01-20 04:47:48 +10:00
-+++ linux/include/video/font.h 2004-08-31 18:10:39 +10:00
-@@ -28,6 +28,8 @@
- #define SUN8x16_IDX 4
- #define SUN12x22_IDX 5
- #define ACORN8x8_IDX 6
-+#define CLEAN5x8_IDX 7
-+#define CLEAN4x6_IDX 8
-
- extern struct fbcon_font_desc font_vga_8x8,
- font_vga_8x16,
-@@ -35,7 +37,9 @@
- font_vga_6x11,
- font_sun_8x16,
- font_sun_12x22,
-- font_acorn_8x8;
-+ font_acorn_8x8,
-+ font_clean_5x8,
-+ font_clean_4x6;
-
- /* Find a font with a specific name */
-
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/swap-performance.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/swap-performance.patch
deleted file mode 100644
index 1cde717bb4..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/swap-performance.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-*** ../linux/mm/swap.c Tue Jan 14 14:54:41 2003
---- linux/mm/swap.c Sun Sep 28 21:34:25 2003
-***************
-*** 32,38 ****
- int page_cluster;
-
- pager_daemon_t pager_daemon = {
-! 512, /* base number for calculating the number of tries */
- SWAP_CLUSTER_MAX, /* minimum number of tries */
- 8, /* do swap I/O in clusters of this size */
- };
---- 32,38 ----
- int page_cluster;
-
- pager_daemon_t pager_daemon = {
-! 128, /* base number for calculating the number of tries */
- SWAP_CLUSTER_MAX, /* minimum number of tries */
- 8, /* do swap I/O in clusters of this size */
- };
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa-power-key-off.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa-power-key-off.patch
deleted file mode 100644
index e9ced6c8cc..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa-power-key-off.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
-Index: linux/drivers/char/tosa_ts.c
-===================================================================
---- linux.orig/drivers/char/tosa_ts.c 2005-02-15 14:32:53.000000000 +0000
-+++ linux/drivers/char/tosa_ts.c 2005-02-15 14:32:58.000000000 +0000
-@@ -205,10 +205,53 @@
- write: tosa_ts_write_params,
- };
-
-+#if defined(CONFIG_TOSA_POWER_KEY_OFF)
-+extern unsigned int power_key_off_mode;
-+
-+static ssize_t power_key_off_read_params(struct file *file, char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ char outputbuf[32];
-+ int count;
-+
-+ if (*ppos>0) /* Assume reading completed in previous read*/
-+ return 0;
-+ count = sprintf(outputbuf, "%d\n", (unsigned int)power_key_off_mode);
-+ count++;
-+ *ppos += count;
-+ if (count>nbytes) /* Assume output can be read at one time */
-+ return -EINVAL;
-+ if (copy_to_user(buf, outputbuf, count+1))
-+ return -EFAULT;
-+ return count;
-+}
-+
-+static ssize_t power_key_off_write_params(struct file *file, const char *buf,
-+ size_t nbytes, loff_t *ppos)
-+{
-+ unsigned int param=0;
-+
-+ sscanf(buf,"%d",&param);
-+ if (power_key_off_mode != param) {
-+ power_key_off_mode = param;
-+ printk("power_key_off = %d\n", power_key_off_mode);
-+ }
-+ return nbytes;
-+}
-+
-+static struct file_operations proc_power_key_off_operations = {
-+ read: power_key_off_read_params,
-+ write: power_key_off_write_params,
-+};
-+#endif
-+
- static int init_procinfo(void)
- {
- int i;
- struct proc_dir_entry *entry;
-+#if defined(CONFIG_TOSA_POWER_KEY_OFF)
-+ struct proc_dir_entry *power_key_off_proc;
-+#endif
-
- proc_ts = proc_mkdir("driver/ts", NULL);
- if (proc_ts == NULL) {
-@@ -234,6 +277,12 @@
- }
- }
-
-+#if defined(CONFIG_TOSA_POWER_KEY_OFF)
-+ power_key_off_proc = create_proc_entry("power_key_off", 0, NULL);
-+ if (power_key_off_proc)
-+ power_key_off_proc->proc_fops = &proc_power_key_off_operations;
-+#endif
-+
- return 0;
- }
-
-Index: linux/drivers/char/Config.in
-===================================================================
---- linux.orig/drivers/char/Config.in 2005-02-15 14:32:41.000000000 +0000
-+++ linux/drivers/char/Config.in 2005-02-15 14:32:58.000000000 +0000
-@@ -35,6 +35,8 @@
- if [ "$CONFIG_SERIAL_SL_SERIES" = "y" ]; then
- bool ' SL-series Bluetooth support' CONFIG_BLUETOOTH_SL
- fi
-+ dep_bool ' Tosa power key suspend (EXPERIMENTAL)' CONFIG_TOSA_POWER_KEY_OFF $CONFIG_ARCH_PXA_TOSA
-+ dep_bool ' Tosa Boot On power key suspend' CONFIG_BOOT_TOSA_POWER_KEY_OFF $CONFIG_TOSA_POWER_KEY_OFF
- fi
- bool 'Use Keyboard device file (EXPERIMENTAL)' CONFIG_KBD_DEV_FILE
- if [ "$CONFIG_SA1100_COLLIE" = "y" ]; then
-Index: linux/drivers/char/keyboard.c
-===================================================================
---- linux.orig/drivers/char/keyboard.c 2005-02-15 14:32:48.000000000 +0000
-+++ linux/drivers/char/keyboard.c 2005-02-15 14:32:58.000000000 +0000
-@@ -119,8 +119,8 @@
- static struct kbd_struct * kbd = kbd_table;
- static struct tty_struct * tty;
-
--#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
--#if defined(CONFIG_BOOT_POWER_KEY_OFF)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_TOSA_POWER_KEY_OFF)
-+#if defined(CONFIG_BOOT_POWER_KEY_OFF) || defined(CONFIG_BOOT_TOSA_POWER_KEY_OFF)
- unsigned int power_key_off_mode = 1;
- #else
- unsigned int power_key_off_mode = 0;
-@@ -245,7 +245,7 @@
- void handle_scancode(unsigned char scancode, int down)
- {
-
--#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_TOSA_POWER_KEY_OFF)
- /* printk("scancode = %x down = %x \n",scancode,down); */
- /* SL-C700 side power 0x6d */
- if ( power_key_off_mode && ( scancode == 0x6d ) && ( down == 0x01 ) ){
-@@ -282,7 +282,7 @@
- handle_scancode_main ( scancode, down );
- } else
- #endif
--#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_SL_3BUTTON_PATCH)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_SL_3BUTTON_PATCH) || defined(CONFIG_TOSA_POWER_KEY_OFF)
- {
-
- handle_scancode_main ( scancode, down );
-Index: linux/arch/arm/mach-pxa/sharpsl_power.c
-===================================================================
---- linux.orig/arch/arm/mach-pxa/sharpsl_power.c 2005-02-15 14:32:41.000000000 +0000
-+++ linux/arch/arm/mach-pxa/sharpsl_power.c 2005-02-16 09:45:13.000000000 +0000
-@@ -1725,7 +1725,7 @@
- return 0;
- }
-
--#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_TOSA_POWER_KEY_OFF)
- static int key_suspend_thread(void* unused)
- {
- int time_cnt = 0;
-@@ -1854,7 +1854,7 @@
- }
-
- kernel_thread(sharpsl_off_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
--#if defined(CONFIG_SL7X0_POWER_KEY_OFF)
-+#if defined(CONFIG_SL7X0_POWER_KEY_OFF) || defined(CONFIG_TOSA_POWER_KEY_OFF)
- kernel_thread(key_suspend_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
- #endif
- #if defined(CONFIG_ARCH_PXA_SHEPHERD) || defined(CONFIG_ARCH_PXA_TOSA)
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_map.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_map.patch
deleted file mode 100644
index feca970614..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_map.patch
+++ /dev/null
@@ -1,889 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/drivers/char/tosa_keymap.c~tosa_map.patch
-+++ linux/drivers/char/tosa_keymap.c
-@@ -6,348 +6,88 @@
- #include <linux/keyboard.h>
- #include <linux/kd.h>
-
--u_short plain_map[] = {
-+u_short plain_map[NR_KEYS] = {
- 0xf200, 0xfb61, 0xfb62, 0xfb63, 0xfb64, 0xfb65, 0xfb66, 0xfb67,
- 0xfb68, 0xfb69, 0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d, 0xfb6e, 0xfb6f,
- 0xfb70, 0xfb71, 0xfb72, 0xfb73, 0xfb74, 0xfb75, 0xfb76, 0xfb77,
-- 0xfb78, 0xfb79, 0xfb7a, 0xf700, 0xf201, 0xf101, 0xf703, 0xf008,
-- 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xfb78, 0xfb79, 0xfb7a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf008,
-+ 0xf07c, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
- 0xf200, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037,
-- 0xf038, 0xf039, 0xf030, 0xf02d, 0xf05e, 0xf05c, 0xf05b, 0xf040,
-- 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf02c,
-- 0xf02e, 0xf009, 0xf104, 0xf105, 0xf106, 0xf02f, 0xf027, 0xf301,
-- 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-- 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-- 0xf702, 0xf703, 0xf01b, 0xf020, 0xf020, 0xf310, 0xf200, 0xf03b,
-- 0xf03a, 0xf05d, 0xf02c, 0xf02e, 0xf02f, 0xf05f, 0xf200, 0xf700,
-- 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf038, 0xf039, 0xf030, 0xfbe4, 0xfbfc, 0xfbf6, 0xfbc4, 0xfbdc,
-+ 0xfbd6, 0xfbdf, 0xf02d, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf02c,
-+ 0xf02e, 0xf009, 0xf104, 0xf105, 0xf106, 0xf02f, 0xf027, 0xf03b,
-+ 0xf022, 0xf03a, 0xf023, 0xf024, 0xf025, 0xf05f, 0xf026, 0xf02a,
-+ 0xf028, 0xf07f, 0xf109, 0xf03d, 0xf029, 0xf07e, 0xf03c, 0xf03e,
-+ 0xf702, 0xf703, 0xf200, 0xf020, 0xf020, 0xf200, 0xf021, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-+ 0xf702, 0xf702, 0xf703, 0xf703, 0xf701, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- };
-
--u_short shift_map[] = {
-+u_short shift_map[NR_KEYS] = {
- 0xf200, 0xfb41, 0xfb42, 0xfb43, 0xfb44, 0xfb45, 0xfb46, 0xfb47,
- 0xfb48, 0xfb49, 0xfb4a, 0xfb4b, 0xfb4c, 0xfb4d, 0xfb4e, 0xfb4f,
- 0xfb50, 0xfb51, 0xfb52, 0xfb53, 0xfb54, 0xfb55, 0xfb56, 0xfb57,
-- 0xfb58, 0xfb59, 0xfb5a, 0xf700, 0xf201, 0xf101, 0xf702, 0xf008,
-- 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-- 0xf200, 0xf021, 0xf022, 0xf023, 0xf024, 0xf025, 0xf026, 0xf027,
-- 0xf028, 0xf029, 0xf07e, 0xf03d, 0xf07e, 0xf07c, 0xf07b, 0xf060,
-- 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf03b,
-- 0xf03a, 0xf009, 0xf104, 0xf105, 0xf106, 0xf03f, 0xf022, 0xf301,
-- 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-- 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-- 0xf702, 0xf703, 0xf01b, 0xf020, 0xf020, 0xf310, 0xf200, 0xf02b,
-- 0xf02a, 0xf07d, 0xf03c, 0xf03e, 0xf03f, 0xf05f, 0xf200, 0xf700,
-- 0xf114, 0xf117, 0xf20b, 0xf20a, 0xf701, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xfb58, 0xfb59, 0xfb5a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf008,
-+ 0xf07c, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037,
-+ 0xf038, 0xf039, 0xf030, 0xfbe4, 0xfbfc, 0xfbf6, 0xfbc4, 0xfbdc,
-+ 0xfbd6, 0xfbdf, 0xf02d, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf02c,
-+ 0xf02e, 0xf009, 0xf104, 0xf105, 0xf106, 0xf02f, 0xf027, 0xf03b,
-+ 0xf022, 0xf03a, 0xf023, 0xf024, 0xf025, 0xf05f, 0xf026, 0xf02a,
-+ 0xf028, 0xf07f, 0xf109, 0xf03d, 0xf029, 0xf07e, 0xf03c, 0xf03e,
-+ 0xf702, 0xf703, 0xf200, 0xf020, 0xf020, 0xf200, 0xf021, 0xf200,
-+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-+ 0xf702, 0xf702, 0xf703, 0xf703, 0xf701, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- };
-
--u_short ctrl_map[] = {
-+u_short ctrl_map[NR_KEYS] = {
- 0xf200, 0xf001, 0xf002, 0xf003, 0xf004, 0xf005, 0xf006, 0xf007,
- 0xf008, 0xf009, 0xf00a, 0xf00b, 0xf00c, 0xf00d, 0xf00e, 0xf00f,
- 0xf010, 0xf011, 0xf012, 0xf013, 0xf014, 0xf015, 0xf016, 0xf017,
- 0xf018, 0xf019, 0xf01a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf008,
-- 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf200,
-- 0xf200, 0xf009, 0xf104, 0xf105, 0xf106, 0xf200, 0xf200, 0xf301,
-- 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-- 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-- 0xf702, 0xf703, 0xf01b, 0xf020, 0xf000, 0xf310, 0xf200, 0xf200,
-+ 0xf07c, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037,
-+ 0xf038, 0xf039, 0xf030, 0xfbe4, 0xfbfc, 0xfbf6, 0xfbc4, 0xfbdc,
-+ 0xfbd6, 0xfbdf, 0xf02d, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf02c,
-+ 0xf02e, 0xf009, 0xf104, 0xf105, 0xf106, 0xf02f, 0xf027, 0xf03b,
-+ 0xf022, 0xf03a, 0xf023, 0xf024, 0xf025, 0xf05f, 0xf026, 0xf02a,
-+ 0xf028, 0xf07f, 0xf109, 0xf03d, 0xf029, 0xf07e, 0xf03c, 0xf03e,
-+ 0xf702, 0xf703, 0xf200, 0xf000, 0xf000, 0xf200, 0xf021, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-- 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf702, 0xf702, 0xf703, 0xf703, 0xf701, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- };
-
--u_short shift_ctrl_map[] = {
-+u_short shift_ctrl_map[NR_KEYS] = {
- 0xf200, 0xf001, 0xf002, 0xf003, 0xf004, 0xf005, 0xf006, 0xf007,
- 0xf008, 0xf009, 0xf00a, 0xf00b, 0xf00c, 0xf00d, 0xf00e, 0xf00f,
- 0xf010, 0xf011, 0xf012, 0xf013, 0xf014, 0xf015, 0xf016, 0xf017,
- 0xf018, 0xf019, 0xf01a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf008,
-- 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf200,
-- 0xf200, 0xf009, 0xf104, 0xf105, 0xf106, 0xf200, 0xf200, 0xf301,
-- 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-- 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-- 0xf702, 0xf703, 0xf01b, 0xf020, 0xf020, 0xf310, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-- 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
--};
--
--u_short alt_map[] = {
-- 0xf200, 0xf021, 0xf02d, 0xf863, 0xf023, 0xf033, 0xf024, 0xf025,
-- 0xf05f, 0xf038, 0xf026, 0xf02a, 0xf028, 0xf03d, 0xf02b, 0xf039,
-- 0xf030, 0xf031, 0xf034, 0xf040, 0xf035, 0xf037, 0xf876, 0xf032,
-- 0xf878, 0xf036, 0xf87a, 0xf700, 0xf201, 0xf101, 0xf200, 0xf07f,
-- 0xf208, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf07d,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf702, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf029,
-- 0xf03c, 0xf207, 0xf104, 0xf105, 0xf106, 0xf200, 0xf07e, 0xf301,
-- 0xf302, 0xf303, 0xf304, 0xf305, 0xf306, 0xf307, 0xf308, 0xf309,
-- 0xf300, 0xf07f, 0xf30d, 0xf30c, 0xf200, 0xf30b, 0xf30a, 0xf30e,
-- 0xf702, 0xf703, 0xf01b, 0xf000, 0xf020, 0xf310, 0xf200, 0xf200,
-+ 0xf07c, 0xf200, 0xf01b, 0xf601, 0xf603, 0xf600, 0xf602, 0xf201,
-+ 0xf200, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037,
-+ 0xf038, 0xf039, 0xf030, 0xfbe4, 0xfbfc, 0xfbf6, 0xfbc4, 0xfbdc,
-+ 0xfbd6, 0xfbdf, 0xf02d, 0xf02b, 0xfa00, 0xf040, 0xf03f, 0xf02c,
-+ 0xf02e, 0xf009, 0xf104, 0xf105, 0xf106, 0xf02f, 0xf027, 0xf03b,
-+ 0xf022, 0xf03a, 0xf023, 0xf024, 0xf025, 0xf05f, 0xf026, 0xf02a,
-+ 0xf028, 0xf07f, 0xf109, 0xf03d, 0xf029, 0xf07e, 0xf03c, 0xf03e,
-+ 0xf702, 0xf703, 0xf200, 0xf020, 0xf020, 0xf200, 0xf021, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf700,
-- 0xf114, 0xf117, 0xf118, 0xf119, 0xf701, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf702, 0xf200, 0xf200,
-- 0xf702, 0xf703, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-+ 0xf702, 0xf702, 0xf703, 0xf703, 0xf701, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- };
-
- ushort *key_maps[MAX_NR_KEYMAPS] = {
- plain_map, shift_map, 0, 0,
-- ctrl_map, shift_ctrl_map, 0, 0,
-- alt_map, 0
-+ ctrl_map, shift_ctrl_map, 0
- };
-
--unsigned int keymap_count = 5;
-+unsigned int keymap_count = 4;
-
-
- /*
---- linux/drivers/char/tosa_keymap.map~tosa_map.patch
-+++ linux/drivers/char/tosa_keymap.map
-@@ -8,9 +8,8 @@
- # 1 for [SHIFT]
- # 4 for [CTRL] , to symbol input for debug
- # 5 for [CTRL] [SHIFT] , to symbol input for debug
--# 8 for [ALT]
- #
--keymaps 0,1,4,5,8
-+keymaps 0,1,4,5
- #
- # loadkeys --mktable iris_keymap.map
- #
-@@ -20,60 +19,38 @@
- #
- #
- keycode 1 = a
-- alt keycode 1 = exclam
- keycode 2 = b
-- alt keycode 2 = minus
- keycode 3 = c
- keycode 4 = d
-- alt keycode 4 = numbersign
- keycode 5 = e
-- alt keycode 5 = three
- keycode 6 = f
-- alt keycode 6 = dollar
- keycode 7 = g
-- alt keycode 7 = percent
- keycode 8 = h
-- alt keycode 8 = underscore
- keycode 9 = i
-- alt keycode 9 = eight
- keycode 10 = j
-- alt keycode 10 = ampersand
- keycode 11 = k
-- alt keycode 11 = asterisk
- keycode 12 = l
-- alt keycode 12 = parenleft
- keycode 13 = m
-- alt keycode 13 = equal
- keycode 14 = n
-- alt keycode 14 = plus
- keycode 15 = o
-- alt keycode 15 = nine
- keycode 16 = p
-- alt keycode 16 = zero
- keycode 17 = q
-- alt keycode 17 = one
- keycode 18 = r
-- alt keycode 18 = four
- keycode 19 = s
-- alt keycode 19 = at
- keycode 20 = t
-- alt keycode 20 = five
- keycode 21 = u
-- alt keycode 21 = seven
- keycode 22 = v
- keycode 23 = w
-- alt keycode 23 = two
- keycode 24 = x
- keycode 25 = y
-- alt keycode 25 = six
- keycode 26 = z
- keycode 27 = Shift
- keycode 28 = Return
- keycode 29 = F2
--keycode 30 = Alt Control
-+keycode 30 =
- keycode 31 = BackSpace
-- alt keycode 31 = Delete
--keycode 32 = Num_Lock
-+# for Debug , keycode 32(F3, Sym) --> Control
-+keycode 32 = bar
- keycode 33 =
- # (Cancel:34) F9 -> Escape
- keycode 34 = Escape
-@@ -83,100 +60,84 @@
- keycode 38 = Right
- # (OK:39) F4 -> Return
- keycode 39 = Return
-- alt keycode 39 = braceright
- keycode 40 =
--keycode 41 = one exclam
--keycode 42 = two quotedbl
--keycode 43 = three numbersign
--keycode 44 = four dollar
--keycode 45 = five percent
--keycode 46 = six ampersand
--keycode 47 = seven apostrophe
--keycode 48 = eight parenleft
--keycode 49 = nine parenright
--keycode 50 = zero asciitilde
--keycode 51 = minus equal
--keycode 52 = asciicircum asciitilde
--keycode 53 = backslash bar
--keycode 54 = bracketleft braceleft
--keycode 55 = at grave
--keycode 56 = Control
--keycode 57 = Alt
--keycode 58 = Control
-+keycode 41 = one
-+keycode 42 = two
-+keycode 43 = three
-+keycode 44 = four
-+keycode 45 = five
-+keycode 46 = six
-+keycode 47 = seven
-+keycode 48 = eight
-+keycode 49 = nine
-+keycode 50 = zero
-+keycode 51 = +adiaeresis
-+keycode 52 = +udiaeresis
-+keycode 53 = +odiaeresis
-+keycode 54 = +Adiaeresis
-+keycode 55 = +Udiaeresis
-+keycode 56 = +Odiaeresis
-+keycode 57 = +ssharp
-+keycode 58 = minus
- keycode 59 = plus
- keycode 60 = Shift_Lock
- keycode 61 = at
- keycode 62 = question
--keycode 63 = comma semicolon
-- alt keycode 63 = parenright
--keycode 64 = period colon
-- alt keycode 64 = less
-+keycode 63 = comma
-+keycode 64 = period
- keycode 65 = Tab
-- alt keycode 65 = Caps_Lock
- keycode 66 = F5
- keycode 67 = F6
- keycode 68 = F7
--keycode 69 = slash question
--keycode 70 = apostrophe quotedbl
-- alt keycode 70 = asciitilde
--keycode 71 = KP_1
--keycode 72 = KP_2
--keycode 73 = KP_3
--keycode 74 = KP_4
--keycode 75 = KP_5
--keycode 76 = KP_6
--keycode 77 = KP_7
--keycode 78 = KP_8
--keycode 79 = KP_9
--keycode 80 = KP_0
-+keycode 69 = slash
-+keycode 70 = apostrophe
-+keycode 71 = semicolon
-+keycode 72 = quotedbl
-+keycode 73 = colon
-+keycode 74 = numbersign
-+keycode 75 = dollar
-+keycode 76 = percent
-+# 2001/7/5 old keycode 77 = asciicircum
-+keycode 77 = underscore
-+keycode 78 = ampersand
-+keycode 79 = asterisk
-+keycode 80 = parenleft
- keycode 81 = Delete
--keycode 82 = KP_Divide
--keycode 83 = KP_Multiply
--keycode 84 =
--keycode 85 = KP_Subtract
--keycode 86 = KP_Add
--keycode 87 = KP_Enter
-+keycode 82 = F10
-+keycode 83 = equal
-+keycode 84 = parenright
-+keycode 85 = asciitilde
-+keycode 86 = less
-+keycode 87 = greater
- # (Activity:88) -> Ctrl
- keycode 88 = Control
- # (Contacts:89) -> Alt
- keycode 89 = Alt
--keycode 90 = Escape
-+keycode 90 =
- # (select:91) F11 -> space
- keycode 91 = space
-- alt keycode 91 = nul
-+ control keycode 91 = nul
- keycode 92 = space
- control keycode 92 = nul
--keycode 93 = KP_Period
--keycode 94 =
--keycode 95 = semicolon plus
--keycode 96 = colon asterisk
--keycode 97 = bracketright braceright
--keycode 98 = comma less
--keycode 99 = period greater
--keycode 100 = slash question
--keycode 101 = underscore underscore
-+keycode 93 =
-+keycode 94 = exclam
-+keycode 95 =
-+keycode 96 =
-+keycode 97 =
-+keycode 98 =
-+keycode 99 =
-+keycode 100 =
-+keycode 101 =
- keycode 102 =
- keycode 103 = Shift
--keycode 104 = Find
--keycode 105 = Select
--keycode 106 = Prior
-- shift keycode 106 = Scroll_Backward
--keycode 107 = Next
-- shift keycode 107 = Scroll_Forward
-+keycode 104 = Control
-+keycode 105 = Control
-+keycode 106 = Alt
-+keycode 107 = Alt
- keycode 108 = AltGr
- keycode 109 =
- keycode 110 =
- keycode 111 =
--keycode 112 =
--keycode 113 =
--keycode 114 =
--keycode 115 =
--keycode 116 =
--keycode 117 = Control
--keycode 118 =
--keycode 119 =
--keycode 120 = Control
--keycode 121 = Alt
-
-
- string F1 = "\033[[A"
---- linux/drivers/char/tosa_rawmap.h~tosa_map.patch
-+++ linux/drivers/char/tosa_rawmap.h
-@@ -22,28 +22,156 @@
-
-
- static unsigned char rawkeytable_table_NormalLower[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_W, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_K, SLKEY_BACK_SPACE,
-+SLKEY_P, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Q, SLKEY_E, SLKEY_T, SLKEY_Y, KEY_IGN, SLKEY_O, SLKEY_I,
-+SLKEY_COMMA, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_A, SLKEY_D, SLKEY_G, SLKEY_U, KEY_IGN, SLKEY_L, SLKEY_ENTER,
-+SLKEY_PERIOD, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART,KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Z, SLKEY_C, SLKEY_V, SLKEY_J, SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_S, SLKEY_R, SLKEY_B, SLKEY_N, SLKEY_ACTIVITY, SLKEY_HOME,SLKEY_MINUS,
-+SLKEY_FRONTLIGHT,KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_TAB, SLKEY_SLASH, SLKEY_H, SLKEY_M, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_X, SLKEY_F, SLKEY_SPACE, SLKEY_APOSTROPHE,SLKEY_MAIL, SLKEY_LEFT,SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_NormalUpper[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_W, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_K, SLKEY_BACK_SPACE,
-+SLKEY_P, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Q, SLKEY_E, SLKEY_T, SLKEY_Y, KEY_IGN, SLKEY_O, SLKEY_I,
-+SLKEY_SEMICOLON,KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_A, SLKEY_D, SLKEY_G, SLKEY_U, KEY_IGN, SLKEY_L, SLKEY_ENTER,
-+SLKEY_COLON, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART,KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Z, SLKEY_C, SLKEY_V, SLKEY_J, SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_S, SLKEY_R, SLKEY_B, SLKEY_N, SLKEY_ACTIVITY, SLKEY_HOME, SLKEY_MINUS,
-+SLKEY_FRONTLIGHT, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_TAB, SLKEY_QUESTION, SLKEY_H, SLKEY_M, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_X, SLKEY_F, SLKEY_SPACE, SLKEY_QUOTEDBL, SLKEY_MAIL, SLKEY_LEFT, SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_2ndLower[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_2, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_ASTERISK, SLKEY_DELETE,
-+SLKEY_0, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_1, SLKEY_3, SLKEY_5, SLKEY_6, KEY_IGN, SLKEY_9, SLKEY_8,
-+SLKEY_PARENRIGHT, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_EXCLAM, SLKEY_NUMBERSIGN, SLKEY_PERCENT,SLKEY_7, KEY_IGN, SLKEY_PARENLEFT,SLKEY_GREATER,
-+SLKEY_LESS, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART,KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F10, SLKEY_F6, SLKEY_F7, SLKEY_AMPERSAND,SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_AT, SLKEY_4, SLKEY_MINUS, SLKEY_PLUS, SLKEY_ACTIVITY, SLKEY_HOME, SLKEY_MINUS,
-+SLKEY_FRONTLIGHT, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_CAPS_LOCK,SLKEY_NUMLOCK, SLKEY_ASCIICIRCUM, SLKEY_EQUAL, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F5, SLKEY_DOLLAR, SLKEY_SYM, SLKEY_ASCIITILDE, SLKEY_MAIL, SLKEY_LEFT, SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_2ndUpper[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_PRINTSCREEN,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_2, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_ASTERISK, SLKEY_DELETE,
-+SLKEY_0, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_1, SLKEY_3, SLKEY_5, SLKEY_6, KEY_IGN, SLKEY_9, SLKEY_8,
-+SLKEY_PARENRIGHT, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_EXCLAM, SLKEY_NUMBERSIGN, SLKEY_PERCENT,SLKEY_7, KEY_IGN, SLKEY_PARENLEFT,SLKEY_GREATER,
-+SLKEY_LESS, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART,KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F10, SLKEY_F6, SLKEY_F7, SLKEY_AMPERSAND,SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_AT, SLKEY_4, SLKEY_MINUS, SLKEY_PLUS, SLKEY_ACTIVITY, SLKEY_HOME, SLKEY_MINUS,
-+SLKEY_FRONTLIGHT, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_CAPS_LOCK,SLKEY_NUMLOCK, SLKEY_ASCIICIRCUM, SLKEY_EQUAL, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F5, SLKEY_DOLLAR, SLKEY_SYM, SLKEY_ASCIITILDE, SLKEY_MAIL, SLKEY_LEFT, SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_NumlockLower[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_2, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_ASTERISK, SLKEY_BACK_SPACE,
-+SLKEY_0, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_1, SLKEY_3, SLKEY_5, SLKEY_6, KEY_IGN, SLKEY_9, SLKEY_8,
-+SLKEY_PARENRIGHT, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_EXCLAM, SLKEY_NUMBERSIGN, SLKEY_PERCENT, SLKEY_7, KEY_IGN, SLKEY_PARENLEFT,SLKEY_GREATER,
-+SLKEY_LESS, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F10, SLKEY_F6, SLKEY_F7, SLKEY_AMPERSAND, SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_AT, SLKEY_4, SLKEY_MINUS, SLKEY_PLUS, SLKEY_ACTIVITY, SLKEY_HOME, SLKEY_MINUS,
-+SLKEY_FRONTLIGHT, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_TAB, SLKEY_SLASH, SLKEY_ASCIICIRCUM, SLKEY_EQUAL, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F5, SLKEY_DOLLAR, SLKEY_SPACE, SLKEY_ASCIITILDE, SLKEY_MAIL, SLKEY_LEFT, SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_NumlockUpper[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_2, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_ASTERISK, SLKEY_BACK_SPACE,
-+SLKEY_0, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_1, SLKEY_3, SLKEY_5, SLKEY_6, KEY_IGN, SLKEY_9, SLKEY_8,
-+SLKEY_PARENRIGHT, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_EXCLAM, SLKEY_NUMBERSIGN, SLKEY_PERCENT, SLKEY_7, KEY_IGN, SLKEY_PARENLEFT,SLKEY_GREATER,
-+SLKEY_LESS, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F10, SLKEY_F6, SLKEY_F7, SLKEY_AMPERSAND, SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_AT, SLKEY_4, SLKEY_MINUS, SLKEY_PLUS, SLKEY_ACTIVITY, SLKEY_HOME, SLKEY_MINUS,
-+SLKEY_FRONTLIGHT, KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_TAB, SLKEY_QUESTION, SLKEY_ASCIICIRCUM, SLKEY_EQUAL, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F5, SLKEY_DOLLAR, SLKEY_SPACE, SLKEY_ASCIITILDE, SLKEY_MAIL, SLKEY_LEFT, SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_Num2ndLower[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_W, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_K, SLKEY_DELETE,
-+SLKEY_P, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Q, SLKEY_E, SLKEY_T, SLKEY_Y, KEY_IGN, SLKEY_O, SLKEY_I,
-+SLKEY_COMMA, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_A, SLKEY_D, SLKEY_G, SLKEY_U, KEY_IGN, SLKEY_L, SLKEY_ENTER,
-+SLKEY_PERIOD, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART,KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Z, SLKEY_F6, SLKEY_F7, SLKEY_J, SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_S, SLKEY_R, SLKEY_B, SLKEY_N, SLKEY_ACTIVITY, SLKEY_HOME,SLKEY_MINUS,
-+SLKEY_FRONTLIGHT,KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_CAPS_LOCK, SLKEY_NUMLOCK, SLKEY_H, SLKEY_M, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F5, SLKEY_F, SLKEY_SYM, SLKEY_APOSTROPHE,SLKEY_MAIL, SLKEY_LEFT,SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
- static unsigned char rawkeytable_table_Num2ndUpper[(NR_KEYCODES+1)] = {
--KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_PRINTSCREEN,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
-+KEY_IGN, KEY_IGN, SLKEY_W, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_K, SLKEY_DELETE,
-+SLKEY_P, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_OFF, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Q, SLKEY_E, SLKEY_T, SLKEY_Y, KEY_IGN, SLKEY_O, SLKEY_I,
-+SLKEY_SEMICOLON,KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_RECORDER, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_A, SLKEY_D, SLKEY_G, SLKEY_U, KEY_IGN, SLKEY_L, SLKEY_ENTER,
-+SLKEY_COLON, KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_SYNCSTART,KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_Z, SLKEY_F6, SLKEY_F7, SLKEY_J, SLKEY_CONTACTS, SLKEY_F9, SLKEY_F11,
-+SLKEY_F4, SLKEY_LSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_S, SLKEY_R, SLKEY_B, SLKEY_N, SLKEY_ACTIVITY, SLKEY_HOME,SLKEY_MINUS,
-+SLKEY_FRONTLIGHT,KEY_IGN, SLKEY_RSHIFT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_CAPS_LOCK, SLKEY_NUMLOCK, SLKEY_H, SLKEY_M, SLKEY_F2, KEY_IGN, SLKEY_UP,
-+KEY_IGN, KEY_IGN, KEY_IGN, SLKEY_2ND, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, SLKEY_F5, SLKEY_F, SLKEY_SYM, SLKEY_QUOTEDBL, SLKEY_MAIL, SLKEY_LEFT,SLKEY_DOWN,
-+SLKEY_RIGHT, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN,
-+KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN, KEY_IGN
-+};
-
-
-
-@@ -334,7 +462,87 @@
-
-
- static unsigned char *state_to_keymap[STATE_NUMS_TOTAL] = {
--rawkeytable_table_NormalLower,rawkeytable_table_NormalUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_NormalLower,rawkeytable_table_NormalUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_NumlockLower,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_NumlockLower,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_NormalUpper,rawkeytable_table_NormalUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_NormalUpper,rawkeytable_table_NormalUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper};
-+rawkeytable_table_NormalLower, /*S0*/
-+rawkeytable_table_NormalUpper, /*S1*/
-+rawkeytable_table_2ndLower, /*S2*/
-+rawkeytable_table_2ndUpper, /*S3*/
-+rawkeytable_table_2ndLower, /*S4*/
-+rawkeytable_table_2ndUpper, /*S5*/
-+rawkeytable_table_2ndLower, /*S6*/
-+rawkeytable_table_2ndUpper, /*S7*/
-+rawkeytable_table_2ndLower, /*S8*/
-+rawkeytable_table_2ndUpper, /*S9*/
-+rawkeytable_table_NormalLower, /*S10*/
-+rawkeytable_table_NormalUpper, /*S11*/
-+rawkeytable_table_2ndLower, /*S12*/
-+rawkeytable_table_2ndUpper, /*S13*/
-+rawkeytable_table_2ndLower, /*S14*/
-+rawkeytable_table_2ndUpper, /*S15*/
-+rawkeytable_table_2ndLower, /*S16*/
-+rawkeytable_table_2ndUpper, /*S17*/
-+rawkeytable_table_2ndLower, /*S18*/
-+rawkeytable_table_2ndUpper, /*S19*/
-+rawkeytable_table_NumlockLower, /*S20*/
-+rawkeytable_table_NumlockUpper, /*S21*/
-+rawkeytable_table_Num2ndLower, /*S22*/
-+rawkeytable_table_Num2ndUpper, /*S23*/
-+rawkeytable_table_Num2ndLower, /*S24*/
-+rawkeytable_table_Num2ndUpper, /*S25*/
-+rawkeytable_table_Num2ndLower, /*S26*/
-+rawkeytable_table_Num2ndUpper, /*S27*/
-+rawkeytable_table_Num2ndLower, /*S28*/
-+rawkeytable_table_Num2ndUpper, /*S29*/
-+rawkeytable_table_NumlockLower, /*S30*/
-+rawkeytable_table_NumlockUpper, /*S31*/
-+rawkeytable_table_Num2ndLower, /*S32*/
-+rawkeytable_table_Num2ndUpper, /*S33*/
-+rawkeytable_table_Num2ndLower, /*S34*/
-+rawkeytable_table_Num2ndUpper, /*S35*/
-+rawkeytable_table_Num2ndLower, /*S36*/
-+rawkeytable_table_Num2ndUpper, /*S37*/
-+rawkeytable_table_Num2ndLower, /*S38*/
-+rawkeytable_table_Num2ndUpper, /*S39*/
-+rawkeytable_table_NormalUpper, /*S40*/
-+rawkeytable_table_NormalUpper, /*S41*/
-+rawkeytable_table_2ndUpper, /*S42*/
-+rawkeytable_table_2ndUpper, /*S43*/
-+rawkeytable_table_2ndUpper, /*S44*/
-+rawkeytable_table_2ndUpper, /*S45*/
-+rawkeytable_table_2ndUpper, /*S46*/
-+rawkeytable_table_2ndUpper, /*S47*/
-+rawkeytable_table_2ndUpper, /*S48*/
-+rawkeytable_table_2ndUpper, /*S49*/
-+rawkeytable_table_NormalUpper, /*S50*/
-+rawkeytable_table_NormalUpper, /*S51*/
-+rawkeytable_table_2ndUpper, /*S52*/
-+rawkeytable_table_2ndUpper, /*S53*/
-+rawkeytable_table_2ndUpper, /*S54*/
-+rawkeytable_table_2ndUpper, /*S55*/
-+rawkeytable_table_2ndUpper, /*S56*/
-+rawkeytable_table_2ndUpper, /*S57*/
-+rawkeytable_table_2ndUpper, /*S58*/
-+rawkeytable_table_2ndUpper, /*S59*/
-+rawkeytable_table_NumlockUpper, /*S60*/
-+rawkeytable_table_NumlockUpper, /*S61*/
-+rawkeytable_table_Num2ndUpper, /*S62*/
-+rawkeytable_table_Num2ndUpper, /*S63*/
-+rawkeytable_table_Num2ndUpper, /*S64*/
-+rawkeytable_table_Num2ndUpper, /*S65*/
-+rawkeytable_table_Num2ndUpper, /*S66*/
-+rawkeytable_table_Num2ndUpper, /*S67*/
-+rawkeytable_table_Num2ndUpper, /*S68*/
-+rawkeytable_table_Num2ndUpper, /*S69*/
-+rawkeytable_table_NumlockUpper, /*S70*/
-+rawkeytable_table_NumlockUpper, /*S71*/
-+rawkeytable_table_Num2ndUpper, /*S72*/
-+rawkeytable_table_Num2ndUpper, /*S73*/
-+rawkeytable_table_Num2ndUpper, /*S74*/
-+rawkeytable_table_Num2ndUpper, /*S75*/
-+rawkeytable_table_Num2ndUpper, /*S76*/
-+rawkeytable_table_Num2ndUpper, /*S77*/
-+rawkeytable_table_Num2ndUpper, /*S78*/
-+rawkeytable_table_Num2ndUpper /*S79*/
-+};
-
-
- #endif /* ! __KEYTABLE_H_INCLUDED__ */
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_ts.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_ts.patch
deleted file mode 100644
index 678cb2e25b..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/tosa_ts.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/drivers/char/tosa_ts.c~tosa_ts.patch
-+++ linux/drivers/char/tosa_ts.c
-@@ -102,6 +102,8 @@
- static int head = 0, tail = 0;
-
- #ifdef CONFIG_PM
-+#include <linux/pm.h>
-+static struct pm_dev* tosa_ts_pm_dev;
- static int tp_suspend = 0;
- #endif /* CONFIG_PM */
-
-@@ -495,25 +497,6 @@
- ioctl: ts_ioctl,
- };
-
--static void ts_exit(void)
--{
-- ts_timer_clear();
-- ts_clear();
-- free_irq(IRQ_GPIO_TP_INT, NULL);
-- wm9712_power_mode_ts(WM9712_PWR_OFF);
--
-- pxa_ac97_put(&ac97_on);
--}
--
--#ifdef MODULE
--static void __exit ac97_ts_cleanup(void)
--{
-- ts_exit();
-- unregister_chrdev(TS_MAJOR, "ts");
--}
--module_exit(ac97_ts_cleanup);
--#endif /* MODULE */
--
- extern int tc6393fb_lcdMode;
-
- int ac97_ad_input(int ch, unsigned short *dat)
-@@ -608,7 +591,7 @@
- #endif
- }
-
--static int ts_init(void)
-+static int tosa_ts_hardware_start(void)
- {
- pxa_ac97_get(&codec, &ac97_on);
-
-@@ -625,7 +608,6 @@
- /* GPIO3/PENDOWN wakeup */
- ac97_bit_set(AC97_GPIO_WAKE_UP, CODEC_PENDOWN);
-
-- ts_clear();
-
- /* Init queue */
- //X kernel_thread(ts_pendown, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-@@ -639,12 +621,39 @@
- return -EBUSY;
- }
-
-- // printk(KERN_INFO "Tosa Touch Screen driver initialized\n");
--
- return 0;
- }
-
--static int __init ac97_ts_init(void)
-+static void tosa_ts_hardware_stop(void)
-+{
-+ ts_timer_clear();
-+ ts_clear();
-+ free_irq(IRQ_GPIO_TP_INT, NULL);
-+ wm9712_power_mode_ts(WM9712_PWR_OFF);
-+
-+ pxa_ac97_put(&ac97_on);
-+}
-+
-+#ifdef CONFIG_PM
-+static int tosa_ts_pm_callback(struct pm_dev *pm_dev,
-+ pm_request_t req, void *data)
-+{
-+ switch (req) {
-+ case PM_SUSPEND:
-+ tp_suspend = 1;
-+ tosa_ts_hardware_stop();
-+ break;
-+ case PM_RESUME:
-+ tp_suspend = 0;
-+ tosa_ts_hardware_start();
-+ break;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+
-+static int __init tosa_ts_init(void)
- {
- ac97_on = 0;
-
-@@ -663,28 +672,37 @@
-
- if( register_chrdev(TS_MAJOR,DEV_NAME, &ts_fops) ) {
- printk("unable to get major %d for touch screen\n", TS_MAJOR);
-- ts_exit();
- }
-
- init_procinfo();
-
-+ tosa_ts_hardware_start();
-+
-+#ifdef CONFIG_PM
-+ tosa_ts_pm_dev = pm_register(PM_SYS_DEV, 0, tosa_ts_pm_callback);
-+#endif
-+
- kernel_thread(ts_pendown, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-
- return 0;
- }
-
--module_init(ac97_ts_init);
-+static int __exit tosa_ts_cleanup()
-+{
-+ tosa_hardware_stop();
-+ pm_unregister(tosa_ts_pm_dev);
-+ unregister_chrdev(TS_MAJOR, "ts");
-+}
-+
-+module_init(tosa_ts_init);
-+module_exit(tosa_ts_cleanup);
-
- /*
- * Driver functions
- */
- static int ts_open(struct inode *inode, struct file *file)
- {
-- if( ts_init() < 0 ) {
-- ts_exit();
-- return -EINVAL;
-- }
--
-+ ts_clear();
- MOD_INC_USE_COUNT;
- return 0;
- }
-@@ -692,7 +710,6 @@
-
- static int ts_release(struct inode *inode, struct file *file)
- {
-- ts_exit();
-
- MOD_DEC_USE_COUNT;
- return 0;
-@@ -788,20 +805,3 @@
- return 0;
- }
-
--#ifdef CONFIG_PM
--void tosa_ts_suspend(void)
--{
-- DEBUG(DBG_L1, "in\n");
-- tp_suspend = 1;
-- ts_exit();
-- DEBUG(DBG_L1, "out\n");
--}
--
--void tosa_ts_resume(void)
--{
-- DEBUG(DBG_L1, "in\n");
-- tp_suspend = 0;
-- ts_init();
-- DEBUG(DBG_L1, "out\n");
--}
--#endif /* CONFIG_PM */
---- linux/drivers/sound/pxa-ac97_tosa.c~tosa_ts.patch
-+++ linux/drivers/sound/pxa-ac97_tosa.c
-@@ -90,8 +90,6 @@
- #include <linux/pm.h>
- static struct pm_dev* pxa_sound_pm_dev;
- static int tosa_pm_callback(struct pm_dev *,pm_request_t, void *);
--extern void tosa_ts_suspend(void);
--extern void tosa_ts_resume(void);
- #endif /* CONFIG_PM */
-
- /************************************************************
-@@ -2195,9 +2193,6 @@
- case PM_SUSPEND:
- DEBUG(DBG_L1, "PM_SUSPEND: start\n");
- wm9712_suspend();
--#ifdef CONFIG_TOSA_TS
-- tosa_ts_suspend();
--#endif /* CONFIG_TOSA_TS */
- if ( ac97_audio_state.rd_ref != 0 ) {
- audio_clear_buf(ac97_audio_state.input_stream);
- *ac97_audio_state.input_stream->drcmr = 0;
-@@ -2239,9 +2234,6 @@
- ac97_audio_state.input_stream->dma_ch = err;
- }
- wm9712_resume();
--#ifdef CONFIG_TOSA_TS
-- tosa_ts_resume();
--#endif /* CONFIG_TOSA_TS */
- DEBUG(DBG_L1, "PM_RESUME: done\n");
- break;
- }
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/unb0rk-apm.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/unb0rk-apm.patch
deleted file mode 100644
index 6095ccb604..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/unb0rk-apm.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- linux/arch/arm/mach-pxa/sharpsl_apm.c 2005-09-07 10:49:06.000000000 +0200
-+++ /home/hrw//devel/diffs/sharpsl_apm.c 2005-09-07 10:46:57.000000000 +0200
-@@ -1876,10 +1876,11 @@
- switch (event) {
- case APM_SYS_STANDBY:
- case APM_USER_STANDBY:
-- if (send_event(event)) {
-- queue_event(event, NULL);
-- if (standbys_pending <= 0)
-+ queue_event(event, NULL);
-+ if (standbys_pending <= 0) {
-+ if (send_event(event)) {
- standby();
-+ }
- }
- break;
-
-@@ -1907,13 +1908,12 @@
- */
- if (waiting_for_resume)
- return;
-- if (send_event(event)) {
-- queue_event(event, NULL);
-- waiting_for_resume = 1;
-- if (suspends_pending <= 0){
-+ queue_event(event, NULL);
-+ waiting_for_resume = 1;
-+ if (suspends_pending <= 0)
-+ if (send_event(event)) {
- (void) suspend();
- }
-- }
- break;
-
- case APM_NORMAL_RESUME:
-@@ -2225,26 +2225,32 @@
- as->standbys_read--;
- as->standbys_pending--;
- standbys_pending--;
-- } else if (!send_event(APM_USER_STANDBY))
-- return -EAGAIN;
-- else
-+ } else {
- queue_event(APM_USER_STANDBY, as);
-- if (standbys_pending <= 0)
-- standby();
-+ }
-+ if (standbys_pending <= 0) {
-+ if (send_event(APM_USER_STANDBY)) {
-+ standby();
-+ } else {
-+ return -EAGAIN;
-+ }
-+ }
- break;
- case APM_IOC_SUSPEND:
- if (as->suspends_read > 0) {
- as->suspends_read--;
- as->suspends_pending--;
- suspends_pending--;
-- } else if (!send_event(APM_USER_SUSPEND))
-- return -EAGAIN;
-- else
-+ } else {
- queue_event(APM_USER_SUSPEND, as);
-+ }
- if (suspends_pending <= 0) {
--
-- if (suspend() != APM_SUCCESS)
-- return -EIO;
-+ if (send_event(APM_USER_SUSPEND)) {
-+ if (suspend() != APM_SUCCESS)
-+ return -EIO;
-+ } else {
-+ return -EAGAIN;
-+ }
- } else {
- as->suspend_wait = 1;
- add_wait_queue(&apm_suspend_waitqueue, &wait);
-@@ -2483,13 +2489,18 @@
- lock_kernel();
- if (as->standbys_pending > 0) {
- standbys_pending -= as->standbys_pending;
-- if (standbys_pending <= 0)
-- standby();
-+ if (standbys_pending <= 0) {
-+ if (send_event(APM_USER_STANDBY)) {
-+ standby();
-+ }
-+ }
- }
- if (as->suspends_pending > 0) {
- suspends_pending -= as->suspends_pending;
-- if (suspends_pending <= 0){
-- (void) suspend();
-+ if (suspends_pending <= 0) {
-+ if (send_event(APM_USER_SUSPEND)) {
-+ (void) suspend();
-+ }
- }
- }
- if (user_list == as)
diff --git a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/usb-storage.patch b/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/usb-storage.patch
deleted file mode 100644
index c9296cf224..0000000000
--- a/packages/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/usb-storage.patch
+++ /dev/null
@@ -1,3433 +0,0 @@
-diff -Nur linux-2.4.18/drivers/usb/device/bi/sa1100.c linux-2.4.18-usb-storage/drivers/usb/device/bi/sa1100.c
---- linux-2.4.18/drivers/usb/device/bi/sa1100.c 2003-05-13 13:18:44.000000000 +0400
-+++ linux-2.4.18-usb-storage/drivers/usb/device/bi/sa1100.c 2004-03-01 07:20:38.000000000 +0300
-@@ -440,6 +440,7 @@
- udc_interrupts, *(UDCSR), *(UDCCS0), *(UDCAR));
-
- usbd_device_event (udc_device, DEVICE_RESET, 0);
-+ usbd_device_event (udc_device, DEVICE_ADDRESS_ASSIGNED,0);
- }
-
- if (status & UDCSR_SUSIR) {
-diff -Nur linux-2.4.18/drivers/usb/device/Config.in linux-2.4.18-usb-storage/drivers/usb/device/Config.in
---- linux-2.4.18/drivers/usb/device/Config.in 2003-05-13 13:18:45.000000000 +0400
-+++ linux-2.4.18-usb-storage/drivers/usb/device/Config.in 2003-11-07 05:35:14.000000000 +0300
-@@ -34,6 +34,7 @@
- comment 'USB Device functions'
- source drivers/usb/device/net_fd/Config.in
- source drivers/usb/device/serial_fd/Config.in
-+ source drivers/usb/device/storage_fd/Config.in
-
- comment 'USB Device bus interfaces'
- source drivers/usb/device/bi/Config.in
-diff -Nur linux-2.4.18/drivers/usb/device/Makefile linux-2.4.18-usb-storage/drivers/usb/device/Makefile
---- linux-2.4.18/drivers/usb/device/Makefile 2003-05-13 13:18:45.000000000 +0400
-+++ linux-2.4.18-usb-storage/drivers/usb/device/Makefile 2003-11-07 05:35:01.000000000 +0300
-@@ -20,6 +20,7 @@
-
- subdir-$(CONFIG_USBD_NET) += net_fd
- subdir-$(CONFIG_USBD_SERIAL) += serial_fd
-+subdir-$(CONFIG_USBD_STORAGE) += storage_fd
-
- #subdir-$(CONFIG_USBD_GENERIC_BUS) += gen_bi
- #subdir-$(CONFIG_USBD_L7205_BUS) += l7205_bi
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/Config.help linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/Config.help
---- linux-2.4.18/drivers/usb/device/storage_fd/Config.help 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/Config.help 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,55 @@
-+CONFIG_USBD_STORAGE
-+ Enable the generic mass storage function driver. This function is
-+ used emulating a Linux block driver.
-+
-+CONFIG_USBD_STORAGE_VENDORID
-+ Optionally specify the mass storage USB Device Vendor ID. The top
-+ level Vendor ID will be used if this is not specified.
-+
-+CONFIG_USBD_STORAGE_PRODUCTID
-+ Optionally specify the mass storage USB Device Product ID. The top
-+ level Vendor ID will be used if this is not specified.
-+
-+CONFIG_USBD_STORAGE_OUT_ENDPOINT
-+ Specify the preferred OUT (received data) endpoint number. This is a
-+ number from 0-15 and must be allowed by the bus interface device.
-+
-+ Some devices such as the SA-1110 or L7205/L7210 may override this
-+ value with a fixed value.
-+
-+CONFIG_USBD_STORAGE_IN_ENDPOINT
-+ Specify the preferred IN (transmit data) endpoint number. This is a
-+ number from 0-15 and must be allowed by the bus interface device.
-+
-+ Some devices such as the SA-1110 or L7205/L7210 may override this
-+ value with a fixed value.
-+
-+CONFIG_USBD_STORAGE_INT_ENDPOINT
-+ Specify the preferred INT (interrupt) endpoint number. This is a
-+ number from 0-15 and must be allowed by the bus interface device.
-+
-+ Some devices such as the L7205/L7210 may override this value with a
-+ fixed value. Others such as the SA-1110 do not allow an interrupt
-+ value.
-+
-+CONFIG_USBD_STORAGE_OUT_PKTSIZE
-+ Specify the maximum packet size for the OUT endpoint. This allowable
-+ values are normally 16, 32 and 64.
-+
-+ Some devices such as the Linkup L7205/L7210 may override this value
-+ with a lower maximum value (such as 32).
-+
-+CONFIG_USBD_STORAGE_IN_PKTSIZE
-+ Specify the maximum packet size for the IN endpoint. This allowable
-+ values are normally 16, 32 and 64.
-+
-+ Some devices such as the Linkup L7205/L7210 may override this value
-+ with a lower maximum value (such as 32).
-+
-+CONFIG_USBD_STORAGE_INT_PKTSIZE
-+ Specify the maximum packet size for the INT endpoint. This allowable
-+ values are normally 8 and 16. Some bus interface devices may not
-+ support all values.
-+
-+CONFIG_USBD_STORAGE_DEF_DEVICE_NAME
-+ Specify the default block device name to used on mass storage.
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/Config.in linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/Config.in
---- linux-2.4.18/drivers/usb/device/storage_fd/Config.in 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/Config.in 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,29 @@
-+#
-+# Generic Mass Storage Function Driver
-+#
-+# Copyright (c) 2003 Communication Technology Inc.
-+# Copyright (C) 2001 Lineo, Inc.
-+# Copyright (C) 2001 Hewlett-Packard Co.
-+mainmenu_option next_comment
-+comment "Mass Storage Function"
-+
-+dep_tristate ' Mass Storage Function Driver' CONFIG_USBD_STORAGE $CONFIG_USBD
-+if [ "$CONFIG_USBD_STORAGE" = "y" -o "$CONFIG_USBD_STORAGE" = "m" ]; then
-+ hex ' Overide VendorID (hex value)' CONFIG_USBD_STORAGE_VENDORID "0000"
-+ hex ' Overide ProductID (hex value)' CONFIG_USBD_STORAGE_PRODUCTID "0000"
-+
-+ # allow setting of endpoint configurations for some architectures
-+ int ' OUT Endpoint (0-15)' CONFIG_USBD_STORAGE_OUT_ENDPOINT "1"
-+ int ' OUT PacketSize (16, 32, 64)' CONFIG_USBD_STORAGE_OUT_PKTSIZE "64"
-+ int ' IN Endpoint (0-15)' CONFIG_USBD_STORAGE_IN_ENDPOINT "2"
-+ int ' IN PacketSize (16, 32, 64)' CONFIG_USBD_STORAGE_IN_PKTSIZE "64"
-+
-+ if [ ! "$CONFIG_ARCH_SA1100" = "y" -a ! "$CONFIG_ARCH_L7200" = "y" ]; then
-+ int ' INT Endpoint (0-15)' CONFIG_USBD_STORAGE_INT_ENDPOINT "3"
-+ int ' INT PacketSize (8, 16)' CONFIG_USBD_STORAGE_INT_PKTSIZE "16"
-+ fi
-+
-+ string ' Default Mass Storage device name' CONFIG_USBD_STORAGE_DEF_DEVICE_NAME ""
-+fi
-+
-+endmenu
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/Makefile linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/Makefile
---- linux-2.4.18/drivers/usb/device/storage_fd/Makefile 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/Makefile 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,58 @@
-+#
-+# SA1100 Function driver for a network USB Device
-+#
-+# Copyright (C) 2001 Lineo, Inc.
-+# Copyright (C) 2001 Hewlett-Packard Co.
-+
-+
-+O_TARGET := storage_fd_drv.o
-+list-multi := storage_fd.o
-+
-+storage_fd-objs := storage-fd.o storageproto.o schedule_task.o # netproto.o crc32.o
-+
-+# Object file lists.
-+
-+obj-y :=
-+obj-m :=
-+obj-n :=
-+obj- :=
-+
-+# Each configuration option enables a list of files.
-+
-+obj-$(CONFIG_USBD_STORAGE) += storage_fd.o
-+
-+# Extract lists of the multi-part drivers.
-+# The 'int-*' lists are the intermediate files used to build the multi's.
-+
-+multi-y := $(filter $(list-multi), $(obj-y))
-+multi-m := $(filter $(list-multi), $(obj-m))
-+int-y := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
-+int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
-+
-+# Files that are both resident and modular: remove from modular.
-+
-+obj-m := $(filter-out $(obj-y), $(obj-m))
-+int-m := $(filter-out $(int-y), $(int-m))
-+
-+# Translate to Rules.make lists.
-+
-+O_OBJS := $(filter-out $(export-objs), $(obj-y))
-+OX_OBJS := $(filter $(export-objs), $(obj-y))
-+M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
-+MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
-+MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m)))
-+MIX_OBJS := $(sort $(filter $(export-objs), $(int-m)))
-+
-+# The global Rules.make.
-+
-+include $(TOPDIR)/Rules.make
-+
-+# Link rules for multi-part drivers.
-+
-+storage_fd.o: $(storage_fd-objs)
-+ $(LD) -r -o $@ $(storage_fd-objs)
-+
-+# dependencies:
-+
-+storage-fd.o: ../usbd.h ../usbd-bus.h ../usbd-func.h
-+
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/schedule_task.c linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/schedule_task.c
---- linux-2.4.18/drivers/usb/device/storage_fd/schedule_task.c 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/schedule_task.c 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,230 @@
-+/*
-+ * linux/drivers/usb/device/storage_fd/schedule_task.c - schedule task library
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * Written by Shunnosuke kabata
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+/******************************************************************************
-+** Include File
-+******************************************************************************/
-+#include <linux/config.h>
-+#include <linux/fs.h>
-+#include <linux/string.h>
-+#include <linux/mm.h>
-+#include <linux/dcache.h>
-+#include <linux/init.h>
-+#include <linux/quotaops.h>
-+#include <linux/slab.h>
-+#include <linux/cache.h>
-+#include <linux/swap.h>
-+#include <linux/swapctl.h>
-+#include <linux/prefetch.h>
-+#include <linux/locks.h>
-+#include <asm/uaccess.h>
-+
-+#include "schedule_task.h"
-+
-+/******************************************************************************
-+** Macro Define
-+******************************************************************************/
-+#define TASK_DESC_NUM (512)
-+
-+/******************************************************************************
-+** Structure Define
-+******************************************************************************/
-+
-+/**************************************
-+** TASK_DESC
-+**************************************/
-+typedef struct _TASK_DESC{
-+ struct _TASK_DESC* next;
-+ SCHEDULE_TASK_FUNC task_entry;
-+ int task_param1;
-+ int task_param2;
-+ int task_param3;
-+ int task_param4;
-+ int task_param5;
-+ char* file;
-+ int line;
-+} TASK_DESC;
-+
-+/**************************************
-+** OS_WRP_TASK_DATA
-+**************************************/
-+typedef struct{
-+ volatile TASK_DESC* read_desc;
-+ volatile TASK_DESC* write_desc;
-+ TASK_DESC desc_pool[TASK_DESC_NUM];
-+ spinlock_t spin_lock;
-+ struct tq_struct task_que;
-+ unsigned long use_num;
-+ unsigned long max_num;
-+} TASK_DATA;
-+
-+/******************************************************************************
-+** Variable Declaration
-+******************************************************************************/
-+static TASK_DATA TaskData;
-+
-+/******************************************************************************
-+** Local Function Prototype
-+******************************************************************************/
-+static void task_entry(void*);
-+
-+/******************************************************************************
-+** Global Function
-+******************************************************************************/
-+void schedule_task_init(void)
-+{
-+ int i;
-+
-+ /* 0 clear */
-+ memset(&TaskData, 0x00, sizeof(TaskData));
-+
-+ /* Read/write pointer initialize */
-+ TaskData.read_desc = TaskData.write_desc = &TaskData.desc_pool[0];
-+
-+ /* Ling buffer initialize */
-+ for(i=0; i<(TASK_DESC_NUM-1); i++){
-+ TaskData.desc_pool[i].next = &TaskData.desc_pool[i+1];
-+ }
-+ TaskData.desc_pool[i].next = &TaskData.desc_pool[0];
-+
-+ /* Spin lock initialize */
-+ spin_lock_init(&TaskData.spin_lock);
-+
-+ /* Task queue initialize */
-+ PREPARE_TQUEUE(&TaskData.task_que, task_entry, &TaskData);
-+
-+ return;
-+}
-+
-+int schedule_task_register(SCHEDULE_TASK_FUNC entry, int param1, int param2,
-+ int param3, int param4, int param5)
-+{
-+ unsigned long flags = 0;
-+
-+ spin_lock_irqsave(&TaskData.spin_lock, flags);
-+
-+ /* Free descriptor check */
-+ if(TaskData.write_desc->next == TaskData.read_desc){
-+ printk(KERN_INFO "storage_fd: schedule task no descriptor.\n");
-+ spin_unlock_irqrestore(&TaskData.spin_lock, flags);
-+ return -1;
-+ }
-+
-+ /* Descriptor set */
-+ TaskData.write_desc->task_entry = entry;
-+ TaskData.write_desc->task_param1 = param1;
-+ TaskData.write_desc->task_param2 = param2;
-+ TaskData.write_desc->task_param3 = param3;
-+ TaskData.write_desc->task_param4 = param4;
-+ TaskData.write_desc->task_param5 = param5;
-+
-+ /* Pointer update */
-+ TaskData.write_desc = TaskData.write_desc->next;
-+
-+ /* Statistics set */
-+ TaskData.use_num++;
-+ if(TaskData.use_num > TaskData.max_num){
-+ TaskData.max_num = TaskData.use_num;
-+ }
-+
-+ spin_unlock_irqrestore(&TaskData.spin_lock, flags);
-+
-+ /* Task queue register */
-+ schedule_task(&TaskData.task_que);
-+
-+ return 0;
-+}
-+
-+void schedule_task_all_unregister(void)
-+{
-+ unsigned long flags = 0;
-+
-+ spin_lock_irqsave(&TaskData.spin_lock, flags);
-+ TaskData.read_desc = TaskData.write_desc;
-+ TaskData.use_num = 0;
-+ spin_unlock_irqrestore(&TaskData.spin_lock, flags);
-+}
-+
-+ssize_t schedule_task_proc_read(struct file* file, char* buf, size_t count,
-+ loff_t* pos)
-+{
-+ char string[1024];
-+ int len = 0;
-+
-+ len += sprintf(string + len, "Schedule task max num:0x%d\n",
-+ TASK_DESC_NUM);
-+
-+ len += sprintf(string + len, "Schedule task use num:0x%ld\n",
-+ TaskData.use_num);
-+
-+ len += sprintf(string + len, "Schedule task max use num:0x%ld\n",
-+ TaskData.max_num);
-+
-+ *pos += len;
-+ if(len > count){
-+ len = -EINVAL;
-+ }
-+ else
-+ if(len > 0 && copy_to_user(buf, string, len)) {
-+ len = -EFAULT;
-+ }
-+
-+ return len;
-+}
-+
-+/******************************************************************************
-+** Local Function
-+******************************************************************************/
-+static void task_entry(void* data)
-+{
-+ int cond;
-+ unsigned long flags = 0;
-+ volatile TASK_DESC* desc;
-+
-+ for(;;){
-+
-+ spin_lock_irqsave(&TaskData.spin_lock, flags);
-+ desc = TaskData.read_desc;
-+ cond = (TaskData.read_desc == TaskData.write_desc);
-+ spin_unlock_irqrestore(&TaskData.spin_lock, flags);
-+
-+ if(cond) break;
-+
-+ /* Task call */
-+ desc->task_entry(desc->task_param1, desc->task_param2,
-+ desc->task_param3, desc->task_param4, desc->task_param5);
-+
-+ spin_lock_irqsave(&TaskData.spin_lock, flags);
-+
-+ /* Pointer update */
-+ TaskData.read_desc = TaskData.read_desc->next;
-+
-+ /* Statistics set */
-+ TaskData.use_num--;
-+
-+ spin_unlock_irqrestore(&TaskData.spin_lock, flags);
-+ }
-+
-+ return;
-+}
-+
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/schedule_task.h linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/schedule_task.h
---- linux-2.4.18/drivers/usb/device/storage_fd/schedule_task.h 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/schedule_task.h 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,41 @@
-+/*
-+ * linux/drivers/usb/device/storage_fd/schedule_task.h - schedule task library header
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * Written by Shunnosuke kabata
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+#ifndef _SCHEDULE_TASK_H_
-+#define _SCHEDULE_TASK_H_
-+
-+/******************************************************************************
-+** Macro Define
-+******************************************************************************/
-+typedef int (*SCHEDULE_TASK_FUNC)(int, int, int, int, int);
-+
-+/******************************************************************************
-+** Global Function Prototype
-+******************************************************************************/
-+void schedule_task_init(void);
-+int schedule_task_register(SCHEDULE_TASK_FUNC, int, int, int, int, int);
-+void schedule_task_all_unregister(void);
-+ssize_t schedule_task_proc_read(struct file*, char*, size_t, loff_t*);
-+
-+#endif /* _SCHEDULE_TASK_H_ */
-+
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/storage-fd.c linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/storage-fd.c
---- linux-2.4.18/drivers/usb/device/storage_fd/storage-fd.c 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/storage-fd.c 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,865 @@
-+/*
-+ * linux/drivers/usb/device/storage_fd/storage-fd.c - mass storage function driver
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * Written by Shunnosuke kabata
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ * Based on
-+ *
-+ * linux/drivers/usbd/net_fd/net-fd.c - network function driver
-+ *
-+ * Copyright (c) 2000, 2001, 2002 Lineo
-+ * Copyright (c) 2001 Hewlett Packard
-+ *
-+ * By:
-+ * Stuart Lynne <sl@lineo.com>,
-+ * Tom Rushworth <tbr@lineo.com>,
-+ * Bruce Balden <balden@lineo.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+/******************************************************************************
-+** Include File
-+******************************************************************************/
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include "../usbd-export.h"
-+#include "../usbd-build.h"
-+#include "../usbd-module.h"
-+
-+#include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/list.h>
-+#include <linux/netdevice.h>
-+#include <linux/skbuff.h>
-+#include <linux/etherdevice.h>
-+#include <linux/rtnetlink.h>
-+#include <linux/smp_lock.h>
-+#include <linux/ctype.h>
-+#include <linux/timer.h>
-+#include <linux/string.h>
-+#include <linux/atmdev.h>
-+#include <linux/pkt_sched.h>
-+#include <linux/delay.h>
-+#include <asm/uaccess.h>
-+#include <asm/system.h>
-+#include <net/arp.h>
-+
-+#include <linux/autoconf.h>
-+
-+#include "../usbd.h"
-+#include "../usbd-func.h"
-+#include "../usbd-bus.h"
-+#include "../usbd-inline.h"
-+#include "../usbd-arch.h"
-+#include "../hotplug.h"
-+
-+#include "schedule_task.h"
-+#include "storageproto.h"
-+
-+/******************************************************************************
-+** Macro Define
-+******************************************************************************/
-+
-+/**************************************
-+** Module Information
-+**************************************/
-+
-+MODULE_AUTHOR("Shunnosuke kabata");
-+MODULE_DESCRIPTION("USB Device Mass Storage Function");
-+USBD_MODULE_INFO("storage_fd 0.1");
-+
-+/**************************************
-+** Configration Check
-+**************************************/
-+
-+#if !defined (CONFIG_USBD_VENDORID) && !defined(CONFIG_USBD_STORAGE_VENDORID)
-+#error No Vendor ID
-+#endif
-+#if !defined (CONFIG_USBD_PRODUCTID) && !defined(CONFIG_USBD_STORAGE_PRODUCTID)
-+#error No Product ID
-+#endif
-+
-+#if defined(CONFIG_USBD_STORAGE_VENDORID) && (CONFIG_USBD_STORAGE_VENDORID > 0)
-+#undef CONFIG_USBD_VENDORID
-+#define CONFIG_USBD_VENDORID CONFIG_USBD_STORAGE_VENDORID
-+#endif
-+
-+#if defined(CONFIG_USBD_STORAGE_PRODUCTID) && (CONFIG_USBD_STORAGE_PRODUCTID > 0)
-+#undef CONFIG_USBD_PRODUCTID
-+#define CONFIG_USBD_PRODUCTID CONFIG_USBD_STORAGE_PRODUCTID
-+#endif
-+
-+#ifndef CONFIG_USBD_MAXPOWER
-+#define CONFIG_USBD_MAXPOWER 0
-+#endif
-+
-+#ifndef CONFIG_USBD_MANUFACTURER
-+#define CONFIG_USBD_MANUFACTURER "Sharp"
-+#endif
-+
-+#define MAXTRANSFER (512)
-+
-+#ifndef CONFIG_USBD_VENDORID
-+#error "CONFIG_USBD_VENDORID not defined"
-+#endif
-+
-+#ifndef CONFIG_USBD_PRODUCTID
-+#error "CONFIG_USBD_PRODUCTID not defined"
-+#endif
-+
-+#ifndef CONFIG_USBD_PRODUCT_NAME
-+#define CONFIG_USBD_PRODUCT_NAME "Linux Mass Storage Driver"
-+#endif
-+
-+#ifndef CONFIG_USBD_SERIAL_NUMBER_STR
-+#define CONFIG_USBD_SERIAL_NUMBER_STR ""
-+#endif
-+
-+/*
-+ * USB 2.0 spec does not mention it, but MaxPower is expected to be at least one
-+ * and is tested for in USB configuration tests.
-+ */
-+
-+#ifdef CONFIG_USBD_SELFPOWERED
-+#define BMATTRIBUTE BMATTRIBUTE_RESERVED | BMATTRIBUTE_SELF_POWERED
-+#define BMAXPOWER 1
-+#else
-+#define BMATTRIBUTE BMATTRIBUTE_RESERVED
-+#define BMAXPOWER CONFIG_USBD_MAXPOWER
-+#endif
-+
-+/*
-+ * setup some default values for pktsizes and endpoint addresses.
-+ */
-+
-+#ifndef CONFIG_USBD_STORAGE_OUT_PKTSIZE
-+#define CONFIG_USBD_STORAGE_OUT_PKTSIZE 64
-+#endif
-+
-+#ifndef CONFIG_USBD_STORAGE_IN_PKTSIZE
-+#define CONFIG_USBD_STORAGE_IN_PKTSIZE 64
-+#endif
-+
-+#ifndef CONFIG_USBD_STORAGE_INT_PKTSIZE
-+#define CONFIG_USBD_STORAGE_INT_PKTSIZE 16
-+#endif
-+
-+#ifndef CONFIG_USBD_STORAGE_OUT_ENDPOINT
-+#define CONFIG_USBD_STORAGE_OUT_ENDPOINT 1
-+#endif
-+
-+#ifndef CONFIG_USBD_STORAGE_IN_ENDPOINT
-+#define CONFIG_USBD_STORAGE_IN_ENDPOINT 2
-+#endif
-+
-+#ifndef CONFIG_USBD_STORAGE_INT_ENDPOINT
-+#define CONFIG_USBD_STORAGE_INT_ENDPOINT 3
-+#endif
-+
-+/*
-+ * check for architecture specific endpoint configurations
-+ */
-+
-+#if defined(ABS_OUT_ADDR)
-+ //#warning
-+ //#warning USING ABS ENDPOINT OUT ADDRESS
-+ #undef CONFIG_USBD_STORAGE_OUT_ENDPOINT
-+
-+ #if ABS_OUT_ADDR > 0
-+ #define CONFIG_USBD_STORAGE_OUT_ENDPOINT ABS_OUT_ADDR
-+ #endif
-+
-+#elif defined(MAX_OUT_ADDR) && defined(CONFIG_USBD_STORAGE_OUT_ENDPOINT) && (CONFIG_USBD_STORAGE_OUT_ENDPOINT > MAX_OUT_ADDR)
-+ //#warning
-+ //#warning USING DEFAULT ENDPOINT OUT ADDRESS
-+ #undef CONFIG_USBD_STORAGE_OUT_ENDPOINT
-+ #define CONFIG_USBD_STORAGE_OUT_ENDPOINT DFL_OUT_ADDR
-+
-+#endif /* elif */
-+
-+#if defined(ABS_IN_ADDR)
-+ //#warning
-+ //#warning USING ABS ENDPOINT IN ADDRESS
-+ #undef CONFIG_USBD_STORAGE_IN_ENDPOINT
-+
-+ #if ABS_IN_ADDR > 0
-+ #define CONFIG_USBD_STORAGE_IN_ENDPOINT ABS_IN_ADDR
-+ #endif
-+
-+#elif defined(MAX_IN_ADDR) && defined(CONFIG_USBD_STORAGE_IN_ENDPOINT) && (CONFIG_USBD_STORAGE_IN_ENDPOINT > MAX_IN_ADDR)
-+ //#warning
-+ //#warning USING DEFAULT ENDPOINT IN ADDRESS
-+ #undef CONFIG_USBD_STORAGE_IN_ENDPOINT
-+ #define CONFIG_USBD_STORAGE_IN_ENDPOINT DFL_IN_ADDR
-+
-+#endif /* elif */
-+
-+#if defined(ABS_INT_ADDR)
-+ //#warning
-+ //#warning USING ABS ENDPOINT INT ADDRESS
-+ #undef CONFIG_USBD_STORAGE_INT_ENDPOINT
-+
-+ #if ABS_INT_ADDR
-+ #define CONFIG_USBD_STORAGE_INT_ENDPOINT ABS_INT_ADDR
-+ #endif
-+
-+#elif defined(MAX_INT_ADDR) && defined(CONFIG_USBD_STORAGE_INT_ENDPOINT) && (CONFIG_USBD_STORAGE_INT_ENDPOINT > MAX_INT_ADDR)
-+ //#warning
-+ //#warning USING DEFAULT ENDPOINT INT ADDRESS
-+ #undef CONFIG_USBD_STORAGE_INT_ENDPOINT
-+ #define CONFIG_USBD_STORAGE_INT_ENDPOINT DFL_INT_ADDR
-+
-+#endif /* elif */
-+
-+#if defined(MAX_OUT_PKTSIZE) && defined(CONFIG_USBD_STORAGE_OUT_PKTSIZE) && CONFIG_USBD_STORAGE_OUT_PKTSIZE > MAX_OUT_PKTSIZE
-+ //#warning
-+ //#warning OVERIDING ENDPOINT OUT PKTSIZE
-+ #undef CONFIG_USBD_STORAGE_OUT_PKTSIZE
-+ #define CONFIG_USBD_STORAGE_OUT_PKTSIZE MAX_OUT_PKTSIZE
-+#endif
-+
-+#if defined(MAX_IN_PKTSIZE) && defined(CONFIG_USBD_STORAGE_IN_PKTSIZE) && CONFIG_USBD_STORAGE_IN_PKTSIZE > MAX_IN_PKTSIZE
-+ //#warning
-+ //#warning OVERIDING ENDPOINT IN PKTSIZE
-+ #undef CONFIG_USBD_STORAGE_IN_PKTSIZE
-+ #define CONFIG_USBD_STORAGE_IN_PKTSIZE MAX_IN_PKTSIZE
-+#endif
-+
-+#if defined(MAX_INT_PKTSIZE) && defined(CONFIG_USBD_STORAGE_INT_PKTSIZE) && CONFIG_USBD_STORAGE_INT_PKTSIZE > MAX_INT_PKTSIZE
-+ //#warning
-+ //#warning OVERIDING ENDPOINT INT PKTSIZE
-+ #undef CONFIG_USBD_STORAGE_INT_PKTSIZE
-+ #define CONFIG_USBD_STORAGE_INT_PKTSIZE MAX_INT_PKTSIZE
-+#endif
-+
-+/******************************************************************************
-+** Variable Declaration
-+******************************************************************************/
-+
-+/**************************************
-+** Module Parameters
-+**************************************/
-+
-+static u32 vendor_id;
-+static u32 product_id;
-+static int out_pkt_sz = CONFIG_USBD_STORAGE_OUT_PKTSIZE;
-+static int in_pkt_sz = CONFIG_USBD_STORAGE_IN_PKTSIZE;
-+
-+MODULE_PARM(vendor_id, "i");
-+MODULE_PARM(product_id, "i");
-+MODULE_PARM(out_pkt_sz, "i");
-+MODULE_PARM(in_pkt_sz, "i");
-+
-+MODULE_PARM_DESC(vendor_id, "vendor id");
-+MODULE_PARM_DESC(product_id, "product id");
-+
-+/**************************************
-+** Mass Storage Configuration
-+**************************************/
-+
-+/*
-+ * Data Interface Alternate 1 endpoints
-+ */
-+static __initdata struct usb_endpoint_description StorageAlt1Endpoints[] = {
-+ {
-+ bEndpointAddress:CONFIG_USBD_STORAGE_OUT_ENDPOINT,
-+ bmAttributes:BULK,
-+ wMaxPacketSize:CONFIG_USBD_STORAGE_OUT_PKTSIZE,
-+ bInterval:0,
-+ direction:OUT,
-+ transferSize:MAXTRANSFER,
-+ },
-+
-+ {
-+ bEndpointAddress:CONFIG_USBD_STORAGE_IN_ENDPOINT,
-+ bmAttributes:BULK,
-+ wMaxPacketSize:CONFIG_USBD_STORAGE_IN_PKTSIZE,
-+ bInterval:0,
-+ direction:IN,
-+ transferSize:MAXTRANSFER,
-+ },
-+
-+#if defined(CONFIG_USBD_STORAGE_INT_ENDPOINT) && (CONFIG_USBD_STORAGE_INT_ENDPOINT > 0)
-+ {
-+ bEndpointAddress:CONFIG_USBD_STORAGE_INT_ENDPOINT,
-+ bmAttributes:INTERRUPT,
-+ wMaxPacketSize:CONFIG_USBD_STORAGE_INT_PKTSIZE,
-+ bInterval:10,
-+ direction:IN,
-+ transferSize:CONFIG_USBD_STORAGE_INT_PKTSIZE,
-+ },
-+#endif
-+};
-+
-+
-+/*
-+ * Data Interface Alternate description(s)
-+ */
-+static __initdata struct usb_alternate_description StorageAlternateDescriptions[] = {
-+ {
-+ #if defined(CONFIG_USBD_STORAGE_NO_STRINGS)
-+ iInterface:"",
-+ #else
-+ iInterface:"Mass Storage Interface",
-+ #endif
-+ bAlternateSetting:0,
-+ classes:0,
-+ class_list:NULL,
-+ endpoints:sizeof (StorageAlt1Endpoints) / sizeof (struct usb_endpoint_description),
-+ endpoint_list:StorageAlt1Endpoints,
-+ },
-+};
-+
-+/*
-+ * Interface description(s)
-+ */
-+static __initdata struct usb_interface_description StorageInterfaces[] = {
-+ {
-+ #if defined(CONFIG_USBD_STORAGE_NO_STRINGS)
-+ iInterface:"",
-+ #else
-+ iInterface:"Mass Storage Interface",
-+ #endif
-+ bInterfaceClass:MASS_STORAGE_CLASS,
-+ bInterfaceSubClass:MASS_STORAGE_SUBCLASS_SCSI,
-+ bInterfaceProtocol:MASS_STORAGE_PROTO_BULK_ONLY,
-+ alternates:sizeof (StorageAlternateDescriptions) / sizeof (struct usb_alternate_description),
-+ alternate_list:StorageAlternateDescriptions,
-+ },
-+};
-+
-+/******************************************************************************
-+** USB Configuration
-+******************************************************************************/
-+
-+/*
-+ * Configuration description(s)
-+ */
-+struct __initdata usb_configuration_description StorageDescription[] = {
-+ {
-+ #if defined(CONFIG_USBD_STORAGE_NO_STRINGS)
-+ iConfiguration:"",
-+ #else
-+ iConfiguration:"Mass Storage Configuration",
-+ #endif
-+ bmAttributes:BMATTRIBUTE,
-+ bMaxPower:BMAXPOWER,
-+ interfaces:sizeof (StorageInterfaces) / sizeof (struct usb_interface_description),
-+ interface_list:StorageInterfaces,
-+ },
-+};
-+
-+/*
-+ * Device Description
-+ */
-+struct __initdata usb_device_description StorageDeviceDescription = {
-+ bDeviceClass:0,
-+ bDeviceSubClass:0, // XXX
-+ bDeviceProtocol:0, // XXX
-+ idVendor:CONFIG_USBD_VENDORID,
-+ idProduct:CONFIG_USBD_PRODUCTID,
-+ iManufacturer:CONFIG_USBD_MANUFACTURER,
-+ iProduct:CONFIG_USBD_PRODUCT_NAME,
-+ iSerialNumber:CONFIG_USBD_SERIAL_NUMBER_STR,
-+};
-+
-+/**************************************
-+** Other Variable
-+**************************************/
-+static int storage_exit_flag = 0;
-+static pid_t storage_pid = 0;
-+static struct semaphore storage_sem;
-+struct timer_list storage_usb_event_tim;
-+
-+
-+/******************************************************************************
-+** Global Function
-+******************************************************************************/
-+
-+void storage_urb_send(struct usb_device_instance* device, void* buffer,
-+ int length)
-+{
-+ int port = 0;
-+ struct urb* urb;
-+
-+ if(!(urb = usbd_alloc_urb(device,
-+ device->function_instance_array + port,
-+ CONFIG_USBD_STORAGE_IN_ENDPOINT,
-+ length + 5 + in_pkt_sz))){
-+ printk(KERN_INFO "storage_fd: usbd_alloc_urb failed. length '%d'.\n", length);
-+ return;
-+ }
-+
-+ if(buffer){
-+ memcpy(urb->buffer, buffer, length);
-+ }
-+ else{
-+ memset(urb->buffer, 0x00, length);
-+ }
-+ urb->actual_length = length;
-+
-+ if(usbd_send_urb(urb)){
-+ printk(KERN_INFO "storage_fd: usbd_send_urb failed.\n");
-+ usbd_dealloc_urb(urb);
-+ return;
-+ }
-+
-+ return;
-+}
-+
-+/******************************************************************************
-+** Local Function
-+******************************************************************************/
-+
-+/**************************************
-+** Called when a USB Device is created or destroyed
-+**************************************/
-+
-+static int storage_thread(void *_c)
-+{
-+ siginfo_t info;
-+ unsigned long signr;
-+ char buff[32];
-+
-+ /* current status set */
-+ daemonize();
-+
-+ /* PID set */
-+ storage_pid = current->pid;
-+
-+ /* thread name set */
-+ sprintf(current->comm, STORAGE_THREAD_NAME);
-+ (current)->nice = 10;
-+
-+ /* signal register */
-+ spin_lock_irq(&current->sigmask_lock);
-+ siginitsetinv(&current->blocked,
-+ sigmask(SIGUSR1) | sigmask(SIGHUP) | sigmask(SIGKILL) |
-+ sigmask(SIGSTOP) | sigmask(SIGCONT) | sigmask(SIGTERM) |
-+ sigmask(SIGALRM));
-+ recalc_sigpending(current);
-+ spin_unlock_irq(&current->sigmask_lock);
-+
-+ /* media open */
-+ schedule_task_register(
-+ (SCHEDULE_TASK_FUNC)storageproto_media_status_check, CONTEXT_STORAGE,
-+ 0, 0, 0, 0);
-+
-+ /* thread active indicate */
-+ sprintf(buff, "%d\n", storage_pid);
-+ hotplug("usbdstorage", buff, "active");
-+
-+ for(;;){
-+ set_current_state(TASK_INTERRUPTIBLE);
-+
-+ if (!signal_pending(current)) {
-+ schedule();
-+ continue;
-+ }
-+
-+ spin_lock_irq(&current->sigmask_lock);
-+ signr = dequeue_signal(&current->blocked, &info);
-+ spin_unlock_irq(&current->sigmask_lock);
-+
-+ switch(signr) {
-+ case SIGHUP:
-+ /* media signal indicate */
-+ schedule_task_register(
-+ (SCHEDULE_TASK_FUNC)storageproto_media_status_check, CONTEXT_STORAGE,
-+ 0, 0, 0, 0);
-+
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: signal receive 'SIGHUP'.\n");
-+ break;
-+
-+ default:
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: signal receive '%ld'\n", signr);
-+ break;
-+ }
-+
-+ if(storage_exit_flag) break;
-+ }
-+ /* current status set */
-+ current->state = TASK_RUNNING;
-+
-+ /* PID clear */
-+ storage_pid = 0;
-+
-+ /* thread inactive indicate */
-+ hotplug("usbdstorage", buff, "inactive");
-+
-+ up(&storage_sem);
-+
-+ return 0;
-+}
-+
-+static void storage_function_init(struct usb_bus_instance* bus,
-+ struct usb_device_instance* device,
-+ struct usb_function_driver* function_driver)
-+{
-+ /* schedule task init */
-+ schedule_task_init();
-+
-+ /* storage protocol initialize */
-+ storageproto_init();
-+
-+ /* semaphore init */
-+ sema_init(&storage_sem, 0);
-+
-+ /* timer initialize */
-+ init_timer(&storage_usb_event_tim);
-+
-+ /* thread create */
-+ storage_pid = kernel_thread(storage_thread, NULL, 0);
-+
-+ return;
-+}
-+
-+static void storage_function_exit(struct usb_device_instance* device)
-+{
-+ /* thread kill */
-+ storage_exit_flag = 1;
-+ kill_proc(storage_pid, SIGKILL, 1);
-+ down(&storage_sem);
-+
-+ /* delete timer */
-+ del_timer(&storage_usb_event_tim);
-+
-+ /* storage protocol exit */
-+ storageproto_exit();
-+
-+ /* schedule task delete */
-+ schedule_task_all_unregister();
-+
-+ return;
-+}
-+
-+
-+/**************************************
-+** Called to handle USB Events
-+**************************************/
-+
-+static void storage_usb_event_delay_timeout(unsigned long param)
-+{
-+ /* media signal indicate */
-+ schedule_task_register(
-+ (SCHEDULE_TASK_FUNC)storageproto_usb_status_check, (int)param,
-+ 0, 0, 0, 0);
-+
-+ return;
-+}
-+
-+/*
-+ * storage_event - process a device event
-+ * @device: usb device
-+ * @event: the event that happened
-+ *
-+ * Called by the usb device core layer to respond to various USB events.
-+ *
-+ * This routine IS called at interrupt time. Please use the usual precautions.
-+ *
-+ */
-+void storage_event(struct usb_device_instance* device,
-+ usb_device_event_t event, int data)
-+{
-+#if 0
-+ static struct {
-+ usb_device_event_t event;
-+ char* string;
-+ } eventAnal[] = {
-+ {DEVICE_UNKNOWN, "DEVICE_UNKNOWN"},
-+ {DEVICE_INIT, "DEVICE_INIT"},
-+ {DEVICE_CREATE, "DEVICE_CREATE"},
-+ {DEVICE_HUB_CONFIGURED, "DEVICE_HUB_CONFIGURED"},
-+ {DEVICE_RESET, "DEVICE_RESET"},
-+ {DEVICE_ADDRESS_ASSIGNED, "DEVICE_ADDRESS_ASSIGNED"},
-+ {DEVICE_CONFIGURED, "DEVICE_CONFIGURED"},
-+ {DEVICE_SET_INTERFACE, "DEVICE_SET_INTERFACE"},
-+ {DEVICE_SET_FEATURE, "DEVICE_SET_FEATURE"},
-+ {DEVICE_CLEAR_FEATURE, "DEVICE_CLEAR_FEATURE"},
-+ {DEVICE_DE_CONFIGURED, "DEVICE_DE_CONFIGURED"},
-+ {DEVICE_BUS_INACTIVE, "DEVICE_BUS_INACTIVE"},
-+ {DEVICE_BUS_ACTIVITY, "DEVICE_BUS_ACTIVITY"},
-+ {DEVICE_POWER_INTERRUPTION, "DEVICE_POWER_INTERRUPTION"},
-+ {DEVICE_HUB_RESET, "DEVICE_HUB_RESET"},
-+ {DEVICE_DESTROY, "DEVICE_DESTROY"},
-+ {DEVICE_FUNCTION_PRIVATE, "DEVICE_FUNCTION_PRIVATE"}
-+ };
-+ int i;
-+
-+ for(i=0; i<(sizeof(eventAnal)/sizeof(eventAnal[0])); i++){
-+ if(event == eventAnal[i].event){
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: event receive '%s'.\n",
-+ eventAnal[i].string);
-+ break;
-+ }
-+ }
-+ if(i == (sizeof(eventAnal)/sizeof(eventAnal[0]))){
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: unknown event receive.\n");
-+ }
-+#endif
-+
-+ switch(event){
-+ case DEVICE_ADDRESS_ASSIGNED:
-+ {
-+ static int Is1stCheck = 1;
-+ if(Is1stCheck){
-+ Is1stCheck = 0;
-+
-+ /* delay timer set */
-+ del_timer(&storage_usb_event_tim);
-+ storage_usb_event_tim.expires = jiffies + ((USB_EVENT_DELAY_TIM * HZ) / 1000);
-+ storage_usb_event_tim.data = USB_DISCONNECT;
-+ storage_usb_event_tim.function = storage_usb_event_delay_timeout;
-+ add_timer(&storage_usb_event_tim);
-+ break;
-+ }
-+ }
-+ case DEVICE_BUS_ACTIVITY:
-+ /* delay timer set */
-+ del_timer(&storage_usb_event_tim);
-+ storage_usb_event_tim.expires = jiffies + ((USB_EVENT_DELAY_TIM * HZ) / 1000);
-+ storage_usb_event_tim.data = USB_CONNECT;
-+ storage_usb_event_tim.function = storage_usb_event_delay_timeout;
-+ add_timer(&storage_usb_event_tim);
-+ break;
-+
-+ case DEVICE_BUS_INACTIVE:
-+ /* delay timer set */
-+ del_timer(&storage_usb_event_tim);
-+ storage_usb_event_tim.expires = jiffies + ((USB_EVENT_DELAY_TIM * HZ) / 1000);
-+ storage_usb_event_tim.data = USB_DISCONNECT;
-+ storage_usb_event_tim.function = storage_usb_event_delay_timeout;
-+ add_timer(&storage_usb_event_tim);
-+ break;
-+
-+ case DEVICE_RESET:
-+ schedule_task_register(
-+ (SCHEDULE_TASK_FUNC)storageproto_usb_reset_ind,
-+ 0, 0, 0, 0, 0);
-+ break;
-+
-+ default:
-+ break;
-+ }
-+
-+ return;
-+}
-+
-+/*
-+ * storage_recv_setup - called with a control URB
-+ * @urb - pointer to struct urb
-+ *
-+ * Check if this is a setup packet, process the device request, put results
-+ * back into the urb and return zero or non-zero to indicate success (DATA)
-+ * or failure (STALL).
-+ *
-+ * This routine IS called at interrupt time. Please use the usual precautions.
-+ *
-+ */
-+int storage_recv_setup(struct urb* urb)
-+{
-+ return 0;
-+}
-+
-+/*
-+ * storage_recv_urb - called with a received URB
-+ * @urb - pointer to struct urb
-+ *
-+ * Return non-zero if we failed and urb is still valid (not disposed)
-+ *
-+ * This routine IS called at interrupt time. Please use the usual precautions.
-+ *
-+ */
-+int storage_recv_urb(struct urb* urb)
-+{
-+ int port = 0; // XXX compound device
-+ struct usb_device_instance* device;
-+ struct usb_function_instance* function;
-+
-+ if(!urb || !(device = urb->device) ||
-+ !(function = device->function_instance_array + port)){
-+ return -EINVAL;
-+ }
-+
-+ if(urb->status != RECV_OK){
-+ return -EINVAL;
-+ }
-+
-+ /* URB urb_analysis */
-+ schedule_task_register(
-+ (SCHEDULE_TASK_FUNC)storageproto_urb_analysis, (int)urb,
-+ 0, 0, 0, 0);
-+
-+ return 0;
-+}
-+
-+/*
-+ * storage_urb_sent - called to indicate URB transmit finished
-+ * @urb: pointer to struct urb
-+ * @rc: result
-+ *
-+ * The usb device core layer will use this to let us know when an URB has
-+ * been finished with.
-+ *
-+ * This routine IS called at interrupt time. Please use the usual precautions.
-+ *
-+ */
-+int storage_urb_sent(struct urb* urb, int rc)
-+{
-+ int port = 0; // XXX compound device
-+ struct usb_device_instance* device;
-+ struct usb_function_instance* function;
-+
-+ if(!urb || !(device = urb->device) ||
-+ !(function = device->function_instance_array + port)){
-+ return -EINVAL;
-+ }
-+
-+ usbd_dealloc_urb (urb);
-+
-+ return 0;
-+}
-+
-+/**************************************
-+** Proc file system
-+**************************************/
-+
-+static ssize_t storage_proc_read(struct file* file, char* buf, size_t count,
-+ loff_t* pos)
-+{
-+ int len = 0, ret;
-+
-+ if(*pos > 0) return 0;
-+
-+ if((ret = storageproto_proc_read(file, buf + len, count - len, pos)) < 0){
-+ return ret;
-+ }
-+ len += ret;
-+
-+ if((ret = schedule_task_proc_read(file, buf + len, count - len, pos)) < 0){
-+ return ret;
-+ }
-+ len += ret;
-+
-+ return len;
-+}
-+
-+static struct file_operations StorageProcOps = {
-+ read:storage_proc_read,
-+};
-+
-+/**************************************
-+** Module init and exit
-+**************************************/
-+
-+struct usb_function_operations StorageFunctionOps = {
-+ event:storage_event,
-+ recv_urb:storage_recv_urb,
-+ recv_setup:storage_recv_setup,
-+ urb_sent:storage_urb_sent,
-+ function_init:storage_function_init,
-+ function_exit:storage_function_exit,
-+};
-+
-+struct usb_function_driver StorageFunctionDriver = {
-+ name:"Mass Storage",
-+ ops:&StorageFunctionOps,
-+ device_description:&StorageDeviceDescription,
-+ configurations:sizeof (StorageDescription) / sizeof (struct usb_configuration_description),
-+ configuration_description:StorageDescription,
-+ this_module:THIS_MODULE,
-+};
-+
-+/*
-+ * net_modinit - module init
-+ *
-+ */
-+static int __init net_modinit(void)
-+{
-+ struct proc_dir_entry* proc_entry;
-+
-+ printk(KERN_INFO "storage_fd: %s (OUT=%d,IN=%d)\n",
-+ __usbd_module_info, out_pkt_sz, in_pkt_sz);
-+
-+ printk(KERN_INFO "storage_fd: vendorID: %x productID: %x\n",
-+ CONFIG_USBD_VENDORID, CONFIG_USBD_PRODUCTID);
-+
-+ // verify pkt sizes not too small
-+ if (out_pkt_sz < 3 || in_pkt_sz < 3){
-+ printk(KERN_INFO "storage_fd: Rx pkt size %d or Tx pkt size %d too small\n",
-+ out_pkt_sz, in_pkt_sz);
-+ return (-EINVAL);
-+ }
-+
-+ if(vendor_id){
-+ StorageDeviceDescription.idVendor = vendor_id;
-+ }
-+ if(product_id){
-+ StorageDeviceDescription.idProduct = product_id;
-+ }
-+
-+ // register us with the usb device support layer
-+ if(usbd_register_function(&StorageFunctionDriver)){
-+ printk(KERN_INFO "storage_fd: usbd_register_function failed.\n");
-+ return -EINVAL;
-+ }
-+
-+ // create proc entry
-+ if ((proc_entry = create_proc_entry("usb-storage", 0, 0)) == NULL) {
-+ usbd_deregister_function (&StorageFunctionDriver);
-+ printk(KERN_INFO "storage_fd: create_proc_entry failed.\n");
-+ return -ENOMEM;
-+ }
-+ proc_entry->proc_fops = &StorageProcOps;
-+
-+ return 0;
-+}
-+
-+/*
-+ * function_exit - module cleanup
-+ *
-+ */
-+static void __exit net_modexit (void)
-+{
-+ // de-register us with the usb device support layer
-+ usbd_deregister_function (&StorageFunctionDriver);
-+
-+ // remove proc entry
-+ remove_proc_entry("usb-storage", NULL);
-+
-+ return;
-+}
-+
-+module_init (net_modinit);
-+module_exit (net_modexit);
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/storageproto.c linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/storageproto.c
---- linux-2.4.18/drivers/usb/device/storage_fd/storageproto.c 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/storageproto.c 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,1505 @@
-+/*
-+ * linux/drivers/usb/device/storage_fd/storageproto.c - mass storage protocol library
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * Written by Shunnosuke kabata
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+/******************************************************************************
-+** Include File
-+******************************************************************************/
-+#include <linux/config.h>
-+#include <linux/module.h>
-+
-+#include "../usbd-export.h"
-+#include "../usbd-build.h"
-+#include "../usbd-module.h"
-+
-+#include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/list.h>
-+#include <linux/netdevice.h>
-+#include <linux/skbuff.h>
-+#include <linux/etherdevice.h>
-+#include <linux/rtnetlink.h>
-+#include <linux/smp_lock.h>
-+#include <linux/ctype.h>
-+#include <linux/timer.h>
-+#include <linux/string.h>
-+#include <linux/atmdev.h>
-+#include <linux/pkt_sched.h>
-+#include <linux/delay.h>
-+#include <linux/blkdev.h>
-+#include <linux/file.h>
-+#include <asm/uaccess.h>
-+#include <asm/system.h>
-+#include <net/arp.h>
-+
-+#include <linux/autoconf.h>
-+
-+#include "../usbd.h"
-+#include "../usbd-func.h"
-+#include "../usbd-bus.h"
-+#include "../usbd-inline.h"
-+#include "../usbd-arch.h"
-+#include "../hotplug.h"
-+
-+#include "schedule_task.h"
-+#include "storageproto.h"
-+
-+/******************************************************************************
-+** macro define
-+******************************************************************************/
-+
-+#define DEVICE_BLOCK_SIZE 512
-+
-+#define BLOCK_BUFFER_SIZE (1024 * 64)
-+
-+#define DEF_NUMBER_OF_HEADS 0x10
-+#define DEF_SECTORS_PER_TRACK 0x20
-+
-+/******************************************************************************
-+** Structure Define
-+******************************************************************************/
-+
-+typedef struct{
-+ unsigned char scsi_command;
-+ unsigned char* command_name;
-+ void (*scsi_func)(struct usb_device_instance*,
-+ COMMAND_BLOCK_WRAPPER*);
-+} SCSI_ANALYSIS_TBL;
-+
-+typedef struct{
-+ unsigned char scsi_command;
-+ unsigned char* command_name;
-+ void (*bulkout_func)(struct usb_device_instance*,
-+ void*, int);
-+} SCSI_BULKOUT_ANALYSIS_TBL;
-+
-+/******************************************************************************
-+** Variable Declaration
-+******************************************************************************/
-+
-+/**************************************
-+** Module Parameters
-+**************************************/
-+
-+static char* storage_device = CONFIG_USBD_STORAGE_DEF_DEVICE_NAME;
-+MODULE_PARM(storage_device, "s");
-+
-+/**************************************
-+** Device Information
-+**************************************/
-+
-+static struct file* DeviceFile = NULL;
-+static int DeviceSize = 0;
-+static int DeviceBlockSize = DEVICE_BLOCK_SIZE;
-+static int DeviceWrProtect = WR_PROTECT_OFF;
-+
-+/**************************************
-+** Status
-+**************************************/
-+
-+static int StorageStatus = STORAGE_IDLE;
-+static int UsbStatus = USB_DISCONNECT;
-+static int MediaStatus = MEDIA_EJECT;
-+static int MediaChange = MEDIA_CHANGE_OFF;
-+
-+/**************************************
-+** Keep Information
-+**************************************/
-+
-+static SCSI_REQUEST_SENSE_DATA RequestSenseData;
-+static COMMAND_BLOCK_WRAPPER KeepCBW;
-+static unsigned long BulkOutLength = 0;
-+static unsigned char BlockBuffer[BLOCK_BUFFER_SIZE];
-+
-+/**************************************
-+** Statistics
-+**************************************/
-+static unsigned long StatMaxBulkInSize = 0;
-+static unsigned long StatMaxBulkOutSize = 0;
-+static unsigned long StatDevWriteError = 0;
-+static unsigned long StatDevReadError = 0;
-+static unsigned long StatDevFlushError = 0;
-+static unsigned long StatWriteTimout = 0;
-+static unsigned long StatMaxWriteTime = 0;
-+
-+/**************************************
-+** Timer
-+**************************************/
-+static struct timer_list BulkOutTim;
-+static struct timer_list MediaCheckTim;
-+
-+/******************************************************************************
-+** Local Function
-+******************************************************************************/
-+
-+static void storage_bulkout_timeout(unsigned long param)
-+{
-+ /* statistics update */
-+ StatWriteTimout++;
-+ printk(KERN_INFO "storage_fd: write bulk out timeout. length '%ld/%ld'.\n",
-+ BulkOutLength, KeepCBW.dCBWDataTransferLength);
-+
-+ return;
-+}
-+
-+static void media_check_timeout(unsigned long param)
-+{
-+ /* media check */
-+ schedule_task_register(
-+ (SCHEDULE_TASK_FUNC)storageproto_media_status_check, CONTEXT_TIMER,
-+ 0, 0, 0, 0);
-+
-+ return;
-+}
-+
-+static void request_sense_data_set(unsigned char sense_key, unsigned char asc,
-+ unsigned char ascq, unsigned long info)
-+{
-+ /*
-+ * set REQUEST SENSE DATA
-+ */
-+
-+ memset(&RequestSenseData, 0x00, sizeof(RequestSenseData));
-+
-+ RequestSenseData.ErrorCode = 0x70;
-+ RequestSenseData.Valid = (info) ? 1 : 0;
-+ RequestSenseData.SenseKey = sense_key;
-+ memcpy(RequestSenseData.Information, &info, sizeof(info));
-+ RequestSenseData.AdditionalSenseLength = 0x0a;
-+ RequestSenseData.AdditionalSenseCode = asc;
-+ RequestSenseData.AdditionalSenseCodeQualifier = ascq;
-+
-+ return;
-+}
-+
-+static void scsi_inquiry_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ SCSI_INQUIRY_DATA data;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned long data_len;
-+
-+ /*
-+ * data transport
-+ */
-+
-+ memset(&data, 0x00, sizeof(data));
-+
-+ data.PeripheralDeviceType = 0x00;
-+ data.RMB = 1;
-+ data.ResponseDataFormat = 0x01;
-+ data.AdditionalLength = 0x1f;
-+ strncpy(data.VendorInformation, CONFIG_USBD_MANUFACTURER,
-+ sizeof(data.VendorInformation));
-+ strncpy(data.ProductIdentification, CONFIG_USBD_PRODUCT_NAME,
-+ sizeof(data.ProductIdentification));
-+ strncpy(data.ProductRevisionLevel, PRODUCT_REVISION_LEVEL,
-+ sizeof(data.ProductRevisionLevel));
-+
-+ data_len = sizeof(data);
-+ if(cbw->dCBWDataTransferLength < data_len){
-+ data_len = cbw->dCBWDataTransferLength;
-+ }
-+
-+ storage_urb_send(device, &data, data_len);
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - data_len;
-+ csw.bCSWStatus = 0;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_read_format_capacity_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ SCSI_READ_FORMAT_CAPACITY_DATA data;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned long block_num, data_len;
-+ unsigned short block_len;
-+
-+ /*
-+ * data transport
-+ */
-+
-+ block_num = 0xffffffff;
-+ block_len = (unsigned short)DeviceBlockSize;
-+ block_num = htonl(block_num);
-+ block_len = htons(block_len);
-+
-+ memset(&data, 0x00, sizeof(data));
-+
-+ data.CapacityListHeader.CapacityListLength =
-+ sizeof(data.CurrentMaximumCapacityDescriptor);
-+ memcpy(data.CurrentMaximumCapacityDescriptor.NumberofBlocks, &block_num,
-+ sizeof(block_num));
-+ data.CurrentMaximumCapacityDescriptor.DescriptorCode = 0x03;
-+ memcpy(data.CurrentMaximumCapacityDescriptor.BlockLength + 1, &block_len,
-+ sizeof(block_len));
-+
-+ data_len = sizeof(data);
-+ if(cbw->dCBWDataTransferLength < data_len){
-+ data_len = cbw->dCBWDataTransferLength;
-+ }
-+
-+ storage_urb_send(device, &data, data_len);
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - data_len;
-+ csw.bCSWStatus = 0;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_read_capacity_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ SCSI_READ_CAPACITY_DATA data;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char data_len, status = 0;
-+
-+ if(DeviceFile == NULL){
-+ /* 0 clear */
-+ memset(&data, 0x00, sizeof(data));
-+
-+ /* data length set */
-+ data_len = cbw->dCBWDataTransferLength;
-+
-+ /* status set */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+ }
-+ else
-+ if(MediaChange == MEDIA_CHANGE_ON){
-+ /* 0 clear */
-+ memset(&data, 0x00, sizeof(data));
-+
-+ /* data length set */
-+ data_len = cbw->dCBWDataTransferLength;
-+
-+ /* status set */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x06, 0x28, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+ }
-+ else{
-+ unsigned long last_lba, block_len;
-+
-+ /* 0 clear */
-+ memset(&data, 0x00, sizeof(data));
-+
-+ /* data set */
-+ last_lba = (DeviceSize / DeviceBlockSize) - 1;
-+ block_len = DeviceBlockSize;
-+ last_lba = htonl(last_lba);
-+ block_len = htonl(block_len);
-+
-+ memcpy(data.LastLogicalBlockAddress, &last_lba, sizeof(last_lba));
-+ memcpy(data.BlockLengthInBytes, &block_len, sizeof(block_len));
-+
-+ /* data length set */
-+ data_len = sizeof(data);
-+
-+ /* status set */
-+ status = 0;
-+ }
-+
-+ /*
-+ * data transport
-+ */
-+
-+ if(cbw->dCBWDataTransferLength < data_len){
-+ data_len = cbw->dCBWDataTransferLength;
-+ }
-+
-+ storage_urb_send(device, &data, data_len);
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - data_len;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_request_sense_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned long data_len;
-+
-+ /*
-+ * data transport
-+ */
-+
-+ data_len = sizeof(RequestSenseData);
-+ if(cbw->dCBWDataTransferLength < data_len){
-+ data_len = cbw->dCBWDataTransferLength;
-+ }
-+
-+ storage_urb_send(device, &RequestSenseData, data_len);
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - data_len;
-+ csw.bCSWStatus = 0;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_read_10_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ SCSI_READ_10_COMMAND* command = (SCSI_READ_10_COMMAND*)cbw->CBWCB;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char status = 0;
-+ unsigned short len;
-+ unsigned long lba, size, offset;
-+
-+ memcpy(&lba, command->LogicalBlockAddress, sizeof(lba));
-+ memcpy(&len, command->TransferLength, sizeof(len));
-+ lba = ntohl(lba);
-+ len = ntohs(len);
-+ offset = lba * DeviceBlockSize;
-+ size = cbw->dCBWDataTransferLength;
-+
-+ if(DeviceFile == NULL){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+
-+ /*
-+ * data transport
-+ */
-+
-+ storage_urb_send(device, NULL, size);
-+ }
-+ else
-+ if(MediaChange == MEDIA_CHANGE_ON){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x06, 0x28, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+
-+ /*
-+ * data transport
-+ */
-+
-+ storage_urb_send(device, NULL, size);
-+ }
-+ else{
-+ unsigned long count, read_size;
-+
-+ /*
-+ * data transport
-+ */
-+
-+ /* device seek */
-+ DeviceFile->f_op->llseek(DeviceFile, offset, 0);
-+
-+ /* device read */
-+ for(count = size; count; count -= read_size){
-+ read_size = (count > sizeof(BlockBuffer)) ?
-+ sizeof(BlockBuffer) : count;
-+ if(DeviceFile &&
-+ DeviceFile->f_op->read(DeviceFile, BlockBuffer, read_size,
-+ &DeviceFile->f_pos) != read_size){
-+
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+
-+ /* statistics update */
-+ StatDevReadError++;
-+ printk(KERN_INFO "storage_fd: device read error. length '%ld'.\n", read_size);
-+ }
-+
-+ storage_urb_send(device, BlockBuffer, read_size);
-+ }
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - size;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_mode_sense_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ static READ_WRITE_ERROR_RECOVERY_PAGE page_01 = {
-+ PageCode:0x01,
-+ PageLength:0x0A,
-+ ReadRetryCount:0x03,
-+ WriteRetryCount:0x80,
-+ };
-+ static FLEXIBLE_DISK_PAGE page_05 = {
-+ PageCode:0x05,
-+ PageLength:0x1E,
-+ TransferRate:{0x00, 0xFA},
-+ NumberofHeads:0xA0,
-+ SectorsperTrack:0x00,
-+ DataBytesperSector:{0x02, 0x00},
-+ NumberofCylinders:{0x00, 0x00},
-+ MotorOnDelay:0x05,
-+ MotorOffDelay:0x1E,
-+ MediumRotationRate:{0x01, 0x68},
-+ };
-+ static REMOVABLE_BLOCK_ACCESS_CAPABILITIES_PAGE page_1b = {
-+ PageCode:0x1B,
-+ PageLength:0x0A,
-+ TLUN:0x01,
-+ };
-+ static TIMER_AND_PROTECT_PAGE page_1c = {
-+ PageCode:0x1c,
-+ PageLength:0x06,
-+ InactivityTimeMultiplier:0x0A,
-+ };
-+
-+
-+ SCSI_MODE_SENSE_COMMAND* command = (SCSI_MODE_SENSE_COMMAND*)cbw->CBWCB;
-+ SCSI_MODE_SENSE_DATA data;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char data_len, status = 0;
-+ unsigned short cylinder, sector;
-+ unsigned long size;
-+
-+ /*
-+ * data transport
-+ */
-+
-+ memset(&data, 0x00, sizeof(data));
-+
-+ /* set write protect */
-+ data.ModeParameterHeader.WP = DeviceWrProtect;
-+
-+ /* set Flexible Disk Page */
-+ if(DeviceFile == NULL){
-+ sector = (unsigned short)DeviceBlockSize;
-+ cylinder = 0;
-+ sector = htons(sector);
-+ cylinder = htons(cylinder);
-+
-+ page_05.NumberofHeads = 0;
-+ page_05.SectorsperTrack = 0;
-+ memcpy(page_05.DataBytesperSector, &sector, sizeof(sector));
-+ memcpy(page_05.NumberofCylinders, &cylinder, sizeof(cylinder));
-+ }
-+ else{
-+ sector = (unsigned short)DeviceBlockSize;
-+ size = DEF_NUMBER_OF_HEADS * DEF_SECTORS_PER_TRACK * sector;
-+ cylinder = DeviceSize / size;
-+ sector = htons(sector);
-+ cylinder = htons(cylinder);
-+
-+ page_05.NumberofHeads = DEF_NUMBER_OF_HEADS;
-+ page_05.SectorsperTrack = DEF_SECTORS_PER_TRACK;
-+ memcpy(page_05.DataBytesperSector, &sector, sizeof(sector));
-+ memcpy(page_05.NumberofCylinders, &cylinder, sizeof(cylinder));
-+ }
-+
-+ if(command->PC == 0 && command->PageCode == 0x01){
-+ data_len = sizeof(MODE_PARAMETER_HEADER) + sizeof(page_01);
-+ data.ModeParameterHeader.ModeDataLength = data_len - 1;
-+ memcpy(&data.ModePages, &page_01, sizeof(page_01));
-+ }
-+ else
-+ if(command->PC == 0 && command->PageCode == 0x05){
-+ data_len = sizeof(MODE_PARAMETER_HEADER) + sizeof(page_05);
-+ data.ModeParameterHeader.ModeDataLength = data_len - 1;
-+ memcpy(&data.ModePages, &page_05, sizeof(page_05));
-+ }
-+ else
-+ if(command->PC == 0 && command->PageCode == 0x1b){
-+ data_len = sizeof(MODE_PARAMETER_HEADER) + sizeof(page_1b);
-+ data.ModeParameterHeader.ModeDataLength = data_len - 1;
-+ memcpy(&data.ModePages, &page_1b, sizeof(page_1b));
-+ }
-+ else
-+ if(command->PC == 0 && command->PageCode == 0x1c){
-+ data_len = sizeof(MODE_PARAMETER_HEADER) + sizeof(page_1c);
-+ data.ModeParameterHeader.ModeDataLength = data_len - 1;
-+ memcpy(&data.ModePages, &page_1c, sizeof(page_1c));
-+ }
-+ else
-+ if(command->PC == 0 && command->PageCode == 0x3f){
-+ data_len = sizeof(MODE_PARAMETER_HEADER) + sizeof(MODE_ALL_PAGES);
-+ data.ModeParameterHeader.ModeDataLength = data_len - 1;
-+ memcpy(&data.ModePages.ModeAllPages.ReadWriteErrorRecoveryPage,
-+ &page_01, sizeof(page_01));
-+ memcpy(&data.ModePages.ModeAllPages.FlexibleDiskPage,
-+ &page_05, sizeof(page_05));
-+ memcpy(&data.ModePages.ModeAllPages.RemovableBlockAccessCapabilitiesPage,
-+ &page_1b, sizeof(page_1b));
-+ memcpy(&data.ModePages.ModeAllPages.TimerAndProtectPage,
-+ &page_1c, sizeof(page_1c));
-+ }
-+ else{
-+ /* command fail */
-+ status = 1;
-+ data_len = cbw->dCBWDataTransferLength;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x05, 0x24, 0x00, 0x00);
-+ }
-+
-+ if(cbw->dCBWDataTransferLength < data_len){
-+ data_len = cbw->dCBWDataTransferLength;
-+ }
-+
-+ storage_urb_send(device, &data, data_len);
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - data_len;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_test_unit_ready_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char status = 0;
-+
-+ if(DeviceFile == NULL){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+ }
-+ else
-+ if(MediaChange == MEDIA_CHANGE_ON){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x06, 0x28, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_prevent_allow_medium_removal_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL_COMMAND* command = (SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL_COMMAND*)cbw->CBWCB;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char status = 0;
-+
-+ if(command->Prevent){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x05, 0x24, 0x00, 0x00);
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_start_stop_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ SCSI_START_STOP_COMMAND* command = (SCSI_START_STOP_COMMAND*)cbw->CBWCB;
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char status = 0;
-+
-+ if(DeviceFile == NULL){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+ }
-+ else
-+ if(MediaChange == MEDIA_CHANGE_ON){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x06, 0x28, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+ }
-+ else
-+ if(command->Start && command->LoEj){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x05, 0x24, 0x00, 0x00);
-+ }
-+
-+ /* device buffer flush */
-+ if(DeviceFile && DeviceFile->f_op->ioctl(DeviceFile->f_dentry->d_inode,
-+ DeviceFile, BLKFLSBUF, 0) != 0){
-+ /* statistics update */
-+ StatDevFlushError++;
-+ printk(KERN_INFO "storage_fd: device flush error.\n");
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_write_10_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ /* status set */
-+ BulkOutLength = 0;
-+ StorageStatus = STORAGE_BULKOUT;
-+
-+ /* timer set */
-+ del_timer(&BulkOutTim);
-+ BulkOutTim.expires = jiffies + ((WR_BULKOUT_CHK_TIM * HZ) / 1000);
-+ BulkOutTim.data = 0;
-+ BulkOutTim.function = storage_bulkout_timeout;
-+ add_timer(&BulkOutTim);
-+
-+ return;
-+}
-+
-+static void scsi_verify_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char status = 0;
-+
-+ if(DeviceFile == NULL){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+ }
-+ else
-+ if(MediaChange == MEDIA_CHANGE_ON){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x06, 0x28, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ return;
-+}
-+
-+static void scsi_unsupport_analysis(struct usb_device_instance* device,
-+ COMMAND_BLOCK_WRAPPER* cbw)
-+{
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char data_len = 0;
-+
-+ if(((cbw->bmCBWFlags & 0x80) == 0x00) && (cbw->dCBWDataTransferLength)){
-+ /* BLKOUT */
-+
-+ /* status set */
-+ BulkOutLength = 0;
-+ StorageStatus = STORAGE_BULKOUT;
-+ }
-+ else{
-+ /* BLKIN */
-+
-+ if(cbw->dCBWDataTransferLength){
-+ data_len = cbw->dCBWDataTransferLength;
-+ storage_urb_send(device, NULL, data_len);
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = cbw->dCBWTag;
-+ csw.dCSWDataResidue = cbw->dCBWDataTransferLength - data_len;
-+ csw.bCSWStatus = 0x01;
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ }
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x05, 0x20, 0x00, 0x00);
-+
-+ return;
-+}
-+
-+static void scsi_bulkout_write_10_analysis(struct usb_device_instance* device,
-+ void* buffer, int length)
-+{
-+ COMMAND_STATUS_WRAPPER csw;
-+ unsigned char status = 0;
-+ unsigned long buff_used_len, buff_offset;
-+ unsigned long s_tick, e_tick, wr_tick;
-+
-+ buff_offset = BulkOutLength % sizeof(BlockBuffer);
-+
-+ memcpy(BlockBuffer + buff_offset, buffer, length);
-+ BulkOutLength += length;
-+
-+ buff_used_len = BulkOutLength % sizeof(BlockBuffer);
-+ if(buff_used_len == 0) buff_used_len = sizeof(BlockBuffer);
-+
-+ /* delete timer */
-+ if(BulkOutLength >= KeepCBW.dCBWDataTransferLength){
-+ del_timer(&BulkOutTim);
-+ }
-+
-+ if(buff_used_len >= sizeof(BlockBuffer) ||
-+ BulkOutLength >= KeepCBW.dCBWDataTransferLength){
-+
-+ /* buffer full */
-+ SCSI_WRITE_10_COMMAND* command = (SCSI_WRITE_10_COMMAND*)&KeepCBW.CBWCB;
-+ unsigned short len;
-+ unsigned long lba, offset;
-+
-+ memcpy(&lba, command->LogicalBlockAddress, sizeof(lba));
-+ memcpy(&len, command->TransferLength, sizeof(len));
-+ lba = ntohl(lba);
-+ len = ntohs(len);
-+
-+ offset = (lba * DeviceBlockSize) +
-+ (sizeof(BlockBuffer) * ((BulkOutLength - 1) / sizeof(BlockBuffer)));
-+
-+ /* device check */
-+ if(DeviceFile &&
-+ MediaChange != MEDIA_CHANGE_ON &&
-+ DeviceWrProtect != WR_PROTECT_ON){
-+
-+ /* write before jiffies get */
-+ s_tick = jiffies;
-+
-+ /* device seek */
-+ DeviceFile->f_op->llseek(DeviceFile, offset, 0);
-+
-+ /* device write */
-+ if(DeviceFile->f_op->write(DeviceFile, BlockBuffer, buff_used_len,
-+ &DeviceFile->f_pos) != buff_used_len){
-+ /* statistics update */
-+ StatDevWriteError++;
-+ printk(KERN_INFO "storage_fd: device write error. length '%ld'.\n", buff_used_len);
-+ }
-+
-+ /* write after jiffies get */
-+ e_tick = jiffies;
-+
-+ /* statistics update */
-+ wr_tick = e_tick - s_tick;
-+ if(wr_tick > StatMaxWriteTime){
-+ StatMaxWriteTime = wr_tick;
-+ }
-+ }
-+ }
-+
-+ if(BulkOutLength >= KeepCBW.dCBWDataTransferLength){
-+ if(DeviceFile == NULL){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x02, 0x3a, 0x00, 0x00);
-+ }
-+ else
-+ if(MediaChange == MEDIA_CHANGE_ON){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x06, 0x28, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+ }
-+ else
-+ if(DeviceWrProtect == WR_PROTECT_ON){
-+ /* command fail */
-+ status = 1;
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x07, 0x27, 0x00, 0x00);
-+
-+ /* media change flag off */
-+ MediaChange = MEDIA_CHANGE_OFF;
-+ }
-+
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = KeepCBW.dCBWTag;
-+ csw.dCSWDataResidue = KeepCBW.dCBWDataTransferLength - BulkOutLength;
-+ csw.bCSWStatus = status;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ /* status reset */
-+ BulkOutLength = 0;
-+ StorageStatus = STORAGE_IDLE;
-+
-+ /* flush before jiffies get */
-+ s_tick = jiffies;
-+
-+ /* device buffer flush */
-+ if(DeviceFile && DeviceFile->f_op->ioctl(DeviceFile->f_dentry->d_inode,
-+ DeviceFile, BLKFLSBUF, 0) != 0){
-+ /* statistics update */
-+ StatDevFlushError++;
-+ printk(KERN_INFO "storage_fd: device flush error.\n");
-+ }
-+
-+ /* flush after jiffies get */
-+ e_tick = jiffies;
-+
-+ /* statistics update */
-+ wr_tick = e_tick - s_tick;
-+ if(wr_tick > StatMaxWriteTime){
-+ StatMaxWriteTime = wr_tick;
-+ }
-+
-+ }
-+
-+ return;
-+}
-+
-+static void scsi_bulkout_unsupport_analysis(struct usb_device_instance* device,
-+ void* buffer, int length)
-+{
-+ COMMAND_STATUS_WRAPPER csw;
-+
-+ BulkOutLength += length;
-+
-+ if(BulkOutLength >= KeepCBW.dCBWDataTransferLength){
-+ /*
-+ * status transport
-+ */
-+
-+ memset(&csw, 0x00, sizeof(csw));
-+
-+ csw.dCSWSignature = CSW_SIGNATURE;
-+ csw.dCSWTag = KeepCBW.dCBWTag;
-+ csw.dCSWDataResidue = KeepCBW.dCBWDataTransferLength - BulkOutLength;
-+ csw.bCSWStatus = 1;
-+
-+ storage_urb_send(device, &csw, sizeof(csw));
-+
-+ /* error code save REQUEST SENSE */
-+ request_sense_data_set(0x05, 0x20, 0x00, 0x00);
-+
-+ /* status reset */
-+ BulkOutLength = 0;
-+ StorageStatus = STORAGE_IDLE;
-+ }
-+
-+ return;
-+}
-+
-+/******************************************************************************
-+** Global Function
-+******************************************************************************/
-+
-+static SCSI_ANALYSIS_TBL ScsiAnalysisTbl[] = {
-+ {SCSI_FORMAT_UNT, "SCSI_FORMAT_UNT", NULL},
-+ {SCSI_INQUIRY, "SCSI_INQUIRY", scsi_inquiry_analysis},
-+ {SCSI_START_STOP, "SCSI_START_STOP", scsi_start_stop_analysis},
-+ {SCSI_MODE_SELECT, "SCSI_MODE_SELECT", NULL},
-+ {SCSI_MODE_SENSE, "SCSI_MODE_SENSE", scsi_mode_sense_analysis},
-+ {SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL, "SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL", scsi_prevent_allow_medium_removal_analysis},
-+ {SCSI_READ_10, "SCSI_READ_10", scsi_read_10_analysis},
-+ {SCSI_READ_12, "SCSI_READ_12", NULL},
-+ {SCSI_READ_CAPACITY, "SCSI_READ_CAPACITY", scsi_read_capacity_analysis},
-+ {SCSI_READ_FORMAT_CAPACITY, "SCSI_READ_FORMAT_CAPACITY", scsi_read_format_capacity_analysis},
-+ {SCSI_REQUEST_SENSE, "SCSI_REQUEST_SENSE", scsi_request_sense_analysis},
-+ {SCSI_REZERO_UNIT, "SCSI_REZERO_UNIT", NULL},
-+ {SCSI_SEEK_10, "SCSI_SEEK_10", NULL},
-+ {SCSI_SEND_DIAGNOSTIC, "SCSI_SEND_DIAGNOSTIC", NULL},
-+ {SCSI_TEST_UNIT_READY, "SCSI_TEST_UNIT_READY", scsi_test_unit_ready_analysis},
-+ {SCSI_VERIFY, "SCSI_VERIFY", scsi_verify_analysis},
-+ {SCSI_WRITE_10, "SCSI_WRITE_10", scsi_write_10_analysis},
-+ {SCSI_WRITE_12, "SCSI_WRITE_12", NULL},
-+ {SCSI_WRITE_AND_VERIFY, "SCSI_WRITE_AND_VERIFY", NULL}
-+};
-+
-+static SCSI_BULKOUT_ANALYSIS_TBL ScsiBlkOutAnalysisTbl[] = {
-+ {SCSI_WRITE_10, "SCSI_WRITE_10", scsi_bulkout_write_10_analysis},
-+};
-+
-+void storageproto_urb_analysis(struct urb* urb)
-+{
-+ COMMAND_BLOCK_WRAPPER* cbw = (COMMAND_BLOCK_WRAPPER*)urb->buffer;
-+ int i;
-+
-+ /* status BLKOUT check */
-+ if(StorageStatus == STORAGE_BULKOUT){
-+ for(i = 0;
-+ i < sizeof(ScsiBlkOutAnalysisTbl) / sizeof(SCSI_ANALYSIS_TBL);
-+ i++){
-+ if(ScsiBlkOutAnalysisTbl[i].scsi_command == KeepCBW.CBWCB[0]){
-+ if(ScsiBlkOutAnalysisTbl[i].bulkout_func){
-+ ScsiBlkOutAnalysisTbl[i].bulkout_func(urb->device,
-+ urb->buffer,
-+ urb->actual_length);
-+ goto RETURN_LABEL;
-+ }
-+ break;
-+ }
-+ }
-+ scsi_bulkout_unsupport_analysis(urb->device, urb->buffer, urb->actual_length);
-+ goto RETURN_LABEL;
-+ }
-+
-+ /* signature check */
-+ if(cbw->dCBWSignature != CBW_SIGNATURE){
-+ printk(KERN_INFO "storage_fd: signature error. '0x%08lx'.\n",
-+ cbw->dCBWSignature);
-+ goto RETURN_LABEL;
-+ }
-+
-+ /* statistics set */
-+ if(cbw->dCBWDataTransferLength){
-+ if(((cbw->bmCBWFlags & 0x80) == 0x00) && (cbw->dCBWDataTransferLength)){
-+ /* BULK OUT */
-+ if(StatMaxBulkOutSize < cbw->dCBWDataTransferLength){
-+ StatMaxBulkOutSize = cbw->dCBWDataTransferLength;
-+ }
-+ }
-+ else{
-+ /* BULK IN */
-+ if(StatMaxBulkInSize < cbw->dCBWDataTransferLength){
-+ StatMaxBulkInSize = cbw->dCBWDataTransferLength;
-+ }
-+ }
-+ }
-+
-+ /* save CBW and set storage status */
-+ memcpy(&KeepCBW, cbw, sizeof(KeepCBW));
-+
-+ /* UFI command analysis */
-+ for(i = 0; i < sizeof(ScsiAnalysisTbl) / sizeof(SCSI_ANALYSIS_TBL); i++){
-+ if(ScsiAnalysisTbl[i].scsi_command == cbw->CBWCB[0]){
-+ if(ScsiAnalysisTbl[i].scsi_func){
-+ ScsiAnalysisTbl[i].scsi_func(urb->device, cbw);
-+ goto RETURN_LABEL;
-+ }
-+ break;
-+ }
-+ }
-+
-+ scsi_unsupport_analysis(urb->device, cbw);
-+ printk(KERN_INFO "storage_fd: SCSI command error. '0x%02x'.\n",
-+ cbw->CBWCB[0]);
-+ goto RETURN_LABEL;
-+
-+RETURN_LABEL:
-+
-+ /* URB free */
-+ usbd_recycle_urb(urb);
-+
-+ return;
-+}
-+
-+int storageproto_device_open_check(void)
-+{
-+ struct file* file;
-+ struct inode* inode;
-+ kdev_t dev;
-+ int read_org;
-+
-+ /* device already open check */
-+ if(DeviceFile){
-+ storageproto_device_close();
-+ }
-+
-+ /* device open */
-+ file = filp_open(storage_device, O_RDWR, 0000);
-+ if(IS_ERR(file)){
-+ file = filp_open(storage_device, O_RDONLY, 0000);
-+ if(IS_ERR(file)){
-+ storageproto_device_close();
-+ return MEDIA_EJECT;
-+ }
-+ DeviceWrProtect = WR_PROTECT_ON;
-+ }
-+
-+ file->f_op->llseek(file, 0, 0);
-+ if(file->f_op->read(file, (void*)&read_org, sizeof(read_org), &file->f_pos)
-+ != sizeof(read_org)){
-+ filp_close(file, NULL);
-+ storageproto_device_close();
-+ return MEDIA_EJECT;
-+ }
-+
-+ /* struct file pointer save */
-+ DeviceFile = file;
-+
-+ /* device information */
-+ inode = file->f_dentry->d_inode;
-+ dev = inode->i_rdev;
-+
-+ if (blk_size[MAJOR(dev)]){
-+ DeviceSize = blk_size[MAJOR(dev)][MINOR(dev)] << BLOCK_SIZE_BITS;
-+ }
-+ else{
-+ DeviceSize = INT_MAX << BLOCK_SIZE_BITS;
-+ }
-+
-+ if(blksize_size[MAJOR(dev)] && blksize_size[MAJOR(dev)][MINOR(dev)]){
-+ DeviceBlockSize = DEVICE_BLOCK_SIZE;
-+ }
-+ else{
-+ DeviceBlockSize = DEVICE_BLOCK_SIZE;
-+ }
-+
-+ return MEDIA_INSERT;
-+}
-+
-+void storageproto_device_close(void)
-+{
-+ if(DeviceFile){
-+ filp_close(DeviceFile, NULL);
-+ DeviceFile = NULL;
-+ DeviceSize = 0;
-+ DeviceBlockSize = DEVICE_BLOCK_SIZE;
-+ DeviceWrProtect = WR_PROTECT_OFF;
-+ }
-+
-+ return;
-+}
-+
-+void storageproto_usb_status_check(int status)
-+{
-+ static int Is1stCheck = 1;
-+
-+ /* USB status check */
-+ if(Is1stCheck){
-+ Is1stCheck = 0;
-+ }
-+ else{
-+ if(UsbStatus == status) goto RETURN_LABEL;
-+ }
-+
-+ /* set status */
-+ UsbStatus = status;
-+
-+ switch(UsbStatus){
-+ case USB_CONNECT:
-+ /* media status check */
-+ storageproto_media_status_check(CONTEXT_SCHEDULE);
-+
-+ switch(MediaStatus){
-+ case MEDIA_EJECT:
-+ break;
-+
-+ case MEDIA_INSERT:
-+ hotplug("usbdstorage", storage_device, "umount");
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ hotplug("usbdstorage", storage_device, "connect");
-+ break;
-+
-+ case USB_DISCONNECT:
-+ /* device close */
-+ storageproto_device_close();
-+
-+ switch(MediaStatus){
-+ case MEDIA_EJECT:
-+ break;
-+
-+ case MEDIA_INSERT:
-+ hotplug("usbdstorage", storage_device, "mount");
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ hotplug("usbdstorage", storage_device, "disconnect");
-+ break;
-+
-+ default:
-+ break;
-+ }
-+
-+RETURN_LABEL:
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: USB check '%s' '%s' 'file:%p'.\n",
-+ (UsbStatus) ? "USB_CONNECT" : "USB_DISCONNECT",
-+ (MediaStatus) ? "MEDIA_INSERT" : "MEDIA_EJECT", DeviceFile);
-+
-+ return;
-+}
-+
-+void storageproto_media_status_check(int call_context)
-+{
-+ static unsigned long RetryCount = 0;
-+ int status;
-+
-+ /* media open check */
-+ status = storageproto_device_open_check();
-+
-+ /* media status check retry */
-+ if(status == MEDIA_EJECT){
-+ switch(call_context){
-+ case CONTEXT_STORAGE:
-+
-+ /* retry counter init */
-+ RetryCount = 0;
-+
-+ /* timer set */
-+ del_timer(&MediaCheckTim);
-+ MediaCheckTim.expires = jiffies + ((MEDIA_CHECK_TIM * HZ) / 1000);
-+ MediaCheckTim.data = 0;
-+ MediaCheckTim.function = media_check_timeout;
-+ add_timer(&MediaCheckTim);
-+
-+ break;
-+
-+ case CONTEXT_TIMER:
-+
-+ /* retry counter update */
-+ RetryCount++;
-+
-+ /* retry counter check */
-+ if(RetryCount >= MEDIA_CHECK_RETRY) break;
-+
-+ /* timer set */
-+ del_timer(&MediaCheckTim);
-+ MediaCheckTim.expires = jiffies + ((MEDIA_CHECK_TIM * HZ) / 1000);
-+ MediaCheckTim.data = 0;
-+ MediaCheckTim.function = media_check_timeout;
-+ add_timer(&MediaCheckTim);
-+
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ }
-+ else
-+ if(status == MEDIA_INSERT){
-+ /* delete timer */
-+ del_timer(&MediaCheckTim);
-+ }
-+
-+ /* media status check */
-+ if(status == MediaStatus){
-+ if(UsbStatus == USB_DISCONNECT){
-+ storageproto_device_close();
-+ }
-+ if(MediaStatus == MEDIA_INSERT){
-+ if(call_context == CONTEXT_STORAGE || call_context == CONTEXT_TIMER){
-+ MediaChange = MEDIA_CHANGE_ON;
-+ }
-+ }
-+ goto RETURN_LABEL;
-+ }
-+
-+ /* set status */
-+ MediaStatus = status;
-+
-+ switch(MediaStatus){
-+ case MEDIA_INSERT:
-+ /* set status */
-+ MediaChange = MEDIA_CHANGE_ON;
-+
-+ switch(UsbStatus){
-+ case USB_DISCONNECT:
-+ storageproto_device_close();
-+ break;
-+
-+ case USB_CONNECT:
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ hotplug("usbdstorage", storage_device, "insert");
-+ break;
-+
-+ case MEDIA_EJECT:
-+ switch(UsbStatus){
-+ case USB_DISCONNECT:
-+ storageproto_device_close();
-+ break;
-+
-+ case USB_CONNECT:
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ hotplug("usbdstorage", storage_device, "eject");
-+ break;
-+
-+ default:
-+ break;
-+ }
-+
-+RETURN_LABEL:
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: media check. '%s' '%s' 'file:%p' '%s'.\n",
-+ (UsbStatus) ? "USB_CONNECT" : "USB_DISCONNECT",
-+ (MediaStatus) ? "MEDIA_INSERT" : "MEDIA_EJECT", DeviceFile,
-+ (call_context == CONTEXT_SCHEDULE) ? "CONTEXT_SCHEDULE" :
-+ (call_context == CONTEXT_STORAGE) ? "CONTEXT_STORAGE" : "CONTEXT_TIMER");
-+
-+ return;
-+}
-+
-+void storageproto_usb_reset_ind(void)
-+{
-+ /* status reset */
-+ BulkOutLength = 0;
-+ StorageStatus = STORAGE_IDLE;
-+
-+ DBG_STORAGE_FD(KERN_INFO "storage_fd: storage protocol reset.\n");
-+
-+ return;
-+}
-+
-+void storageproto_init(void)
-+{
-+ /* timer init */
-+ init_timer(&BulkOutTim);
-+
-+ /* timer init */
-+ init_timer(&MediaCheckTim);
-+
-+ return;
-+}
-+
-+void storageproto_exit(void)
-+{
-+ /* device close */
-+ storageproto_device_close();
-+
-+ /* delete timer */
-+ del_timer(&BulkOutTim);
-+
-+ /* delete timer */
-+ del_timer(&MediaCheckTim);
-+
-+ return;
-+}
-+
-+ssize_t storageproto_proc_read(struct file* file, char* buf, size_t count,
-+ loff_t* pos)
-+{
-+ char string[1024];
-+ int len = 0;
-+
-+ len += sprintf(string + len, "Protocol status:%s\n",
-+ (StorageStatus == STORAGE_IDLE) ? "STORAGE_IDLE" :
-+ (StorageStatus == STORAGE_BULKIN) ? "STORAGE_BULKIN" :
-+ "STORAGE_BULKOUT");
-+
-+ len += sprintf(string + len, "USB status:%s\n",
-+ (UsbStatus == USB_DISCONNECT) ? "USB_DISCONNECT" :
-+ "USB_CONNECT");
-+
-+ len += sprintf(string + len, "Media status:%s\n",
-+ (MediaStatus == MEDIA_EJECT) ? "MEDIA_EJECT" :
-+ "MEDIA_INSERT");
-+
-+ len += sprintf(string + len, "Media chage:%s\n",
-+ (MediaChange == MEDIA_CHANGE_OFF) ? "MEDIA_CHANGE_OFF" :
-+ "MEDIA_CHANGE_ON");
-+
-+ len += sprintf(string + len, "Device name:%s\n",
-+ storage_device);
-+
-+ len += sprintf(string + len, "Device file descriptor:0x%p\n",
-+ DeviceFile);
-+
-+ len += sprintf(string + len, "Device size:0x%d\n",
-+ DeviceSize);
-+
-+ len += sprintf(string + len, "Device block size:0x%d\n",
-+ DeviceBlockSize);
-+
-+ len += sprintf(string + len, "Device write protect:%s\n",
-+ (DeviceWrProtect == WR_PROTECT_OFF) ? "WR_PROTECT_OFF":
-+ "WR_PROTECT_ON");
-+
-+ len += sprintf(string + len, "Bulk in max size:%ld\n",
-+ StatMaxBulkInSize);
-+
-+ len += sprintf(string + len, "Bulk out max size:%ld\n",
-+ StatMaxBulkOutSize);
-+
-+ len += sprintf(string + len, "device write error:%ld\n",
-+ StatDevWriteError);
-+
-+ len += sprintf(string + len, "device read error:%ld\n",
-+ StatDevReadError);
-+
-+ len += sprintf(string + len, "device flush error:%ld\n",
-+ StatDevFlushError);
-+
-+ len += sprintf(string + len, "write data bulk out timout:%ld\n",
-+ StatWriteTimout);
-+
-+ len += sprintf(string + len, "device write max time:%ld msec\n",
-+ (StatMaxWriteTime * 1000) / HZ);
-+
-+ *pos += len;
-+ if(len > count){
-+ len = -EINVAL;
-+ }
-+ else
-+ if(len > 0 && copy_to_user(buf, string, len)) {
-+ len = -EFAULT;
-+ }
-+
-+ return len;
-+}
-+
-diff -Nur linux-2.4.18/drivers/usb/device/storage_fd/storageproto.h linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/storageproto.h
---- linux-2.4.18/drivers/usb/device/storage_fd/storageproto.h 1970-01-01 03:00:00.000000000 +0300
-+++ linux-2.4.18-usb-storage/drivers/usb/device/storage_fd/storageproto.h 2003-11-07 05:34:43.000000000 +0300
-@@ -0,0 +1,585 @@
-+/*
-+ * linux/drivers/usb/device/storage_fd/storageproto.h - mass storage protocol library header
-+ *
-+ * Copyright (c) 2003 Lineo Solutions, Inc.
-+ *
-+ * Written by Shunnosuke kabata
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+#ifndef _STORAGEPROTO_H_
-+#define _STORAGEPROTO_H_
-+
-+/******************************************************************************
-+** Macro Define
-+******************************************************************************/
-+
-+/**************************************
-+** Class Code
-+**************************************/
-+
-+/*
-+ * Class
-+ */
-+
-+#define MASS_STORAGE_CLASS 0x08
-+
-+/*
-+ * SubClass
-+ */
-+
-+#define MASS_STORAGE_SUBCLASS_RBC 0x01
-+#define MASS_STORAGE_SUBCLASS_SFF8020I 0x02
-+#define MASS_STORAGE_SUBCLASS_QIC157 0x03
-+#define MASS_STORAGE_SUBCLASS_UFI 0x04
-+#define MASS_STORAGE_SUBCLASS_SFF8070I 0x05
-+#define MASS_STORAGE_SUBCLASS_SCSI 0x06
-+
-+/*
-+ * Protocol
-+ */
-+
-+#define MASS_STORAGE_PROTO_CBI_WITH_COMP 0x00
-+#define MASS_STORAGE_PROTO_CBI_NO_COMP 0x01
-+#define MASS_STORAGE_PROTO_BULK_ONLY 0x50
-+
-+/**************************************
-+** SCSI Command
-+**************************************/
-+
-+#define SCSI_FORMAT_UNT 0x04
-+#define SCSI_INQUIRY 0x12
-+#define SCSI_START_STOP 0x1b
-+#define SCSI_MODE_SELECT 0x55
-+#define SCSI_MODE_SENSE 0x1a
-+#define SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1e
-+#define SCSI_READ_10 0x28
-+#define SCSI_READ_12 0xa8
-+#define SCSI_READ_CAPACITY 0x25
-+#define SCSI_READ_FORMAT_CAPACITY 0x23
-+#define SCSI_REQUEST_SENSE 0x03
-+#define SCSI_REZERO_UNIT 0x01
-+#define SCSI_SEEK_10 0x2b
-+#define SCSI_SEND_DIAGNOSTIC 0x1d
-+#define SCSI_TEST_UNIT_READY 0x00
-+#define SCSI_VERIFY 0x2f
-+#define SCSI_WRITE_10 0x2a
-+#define SCSI_WRITE_12 0xaa
-+#define SCSI_WRITE_AND_VERIFY 0x2e
-+
-+/**************************************
-+** SCSI Command Parameter
-+**************************************/
-+
-+#define CBW_SIGNATURE 0x43425355 /* USBC */
-+#define CSW_SIGNATURE 0x53425355 /* USBS */
-+
-+#define PRODUCT_REVISION_LEVEL "1.00"
-+
-+/**************************************
-+** Status
-+**************************************/
-+
-+#define WR_PROTECT_OFF 0
-+#define WR_PROTECT_ON 1
-+
-+#define STORAGE_IDLE 0
-+#define STORAGE_BULKIN 1
-+#define STORAGE_BULKOUT 2
-+
-+#define USB_DISCONNECT 0
-+#define USB_CONNECT 1
-+
-+#define MEDIA_EJECT 0
-+#define MEDIA_INSERT 1
-+
-+#define MEDIA_CHANGE_OFF 0
-+#define MEDIA_CHANGE_ON 1
-+
-+/**************************************
-+** Mass Storage Thread Name
-+**************************************/
-+
-+#define STORAGE_THREAD_NAME "usbdstorage"
-+
-+/**************************************
-+** Media Signal Delay Time(ms)
-+**************************************/
-+
-+#define USB_EVENT_DELAY_TIM 1000
-+
-+/**************************************
-+** Write Bulk Out Check Time(ms)
-+**************************************/
-+
-+#define WR_BULKOUT_CHK_TIM 1000
-+
-+/**************************************
-+** Media Check Time(ms)
-+**************************************/
-+
-+#define MEDIA_CHECK_TIM 3000
-+#define MEDIA_CHECK_RETRY 3
-+
-+/**************************************
-+** Context
-+**************************************/
-+
-+#define CONTEXT_SCHEDULE 0
-+#define CONTEXT_STORAGE 1
-+#define CONTEXT_TIMER 2
-+
-+/**************************************
-+** Debug Message
-+**************************************/
-+#if 0
-+#define DBG_STORAGE_FD(fmt, args...) printk(fmt, ##args)
-+#else
-+#define DBG_STORAGE_FD(fmt, args...)
-+#endif
-+
-+/******************************************************************************
-+** Structure Define
-+******************************************************************************/
-+
-+/**************************************
-+** Command Block Wrapper / Command Status Wrapper
-+**************************************/
-+
-+/*
-+ * Command Block Wrapper
-+ */
-+typedef struct{
-+ unsigned long dCBWSignature;
-+ unsigned long dCBWTag;
-+ unsigned long dCBWDataTransferLength;
-+ unsigned char bmCBWFlags;
-+ unsigned char bCBWLUN:4,
-+ Reserved:4;
-+ unsigned char bCBWCBLength:5,
-+ Reserved2:3;
-+ unsigned char CBWCB[16];
-+} __attribute__((packed)) COMMAND_BLOCK_WRAPPER;
-+
-+/*
-+ * Command Status Wrapper
-+ */
-+typedef struct{
-+ unsigned long dCSWSignature;
-+ unsigned long dCSWTag;
-+ unsigned long dCSWDataResidue;
-+ unsigned char bCSWStatus;
-+} __attribute__((packed)) COMMAND_STATUS_WRAPPER;
-+
-+/**************************************
-+** SCSI Command
-+**************************************/
-+
-+/*
-+ * INQUIRY
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char EVPD:1,
-+ Reserved1:4,
-+ LogicalUnitNumber:3;
-+ unsigned char PageCode;
-+ unsigned char Reserved2;
-+ unsigned char AllocationLength;
-+ unsigned char Reserved3;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+} __attribute__((packed)) SCSI_INQUIRY_COMMAND;
-+
-+typedef struct{
-+ unsigned char PeripheralDeviceType:5,
-+ Reserved1:3;
-+ unsigned char Reserved2:7,
-+ RMB:1;
-+ unsigned char ANSIVersion:3,
-+ ECMAVersion:3,
-+ ISOVersion:2;
-+ unsigned char ResponseDataFormat:4,
-+ Reserved3:4;
-+ unsigned char AdditionalLength;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char VendorInformation[8];
-+ unsigned char ProductIdentification[16];
-+ unsigned char ProductRevisionLevel[4];
-+} __attribute__((packed)) SCSI_INQUIRY_DATA;
-+
-+/*
-+ * READ FORMAT CAPACITY
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char Reserved1:5,
-+ LogicalUnitNumber:3;
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char AllocationLength[2];
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+} __attribute__((packed)) SCSI_READ_FORMAT_CAPACITY_COMMAND;
-+
-+typedef struct{
-+ struct{
-+ unsigned char Reserved1;
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char CapacityListLength;
-+ } __attribute__((packed)) CapacityListHeader;
-+ struct{
-+ unsigned char NumberofBlocks[4];
-+ unsigned char DescriptorCode:2,
-+ Reserved1:6;
-+ unsigned char BlockLength[3];
-+ } __attribute__((packed)) CurrentMaximumCapacityDescriptor;
-+} __attribute__((packed)) SCSI_READ_FORMAT_CAPACITY_DATA;
-+
-+/*
-+ * READ FORMAT CAPACITY
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char RelAdr:1,
-+ Reserved1:4,
-+ LogicalUnitNumber:3;
-+ unsigned char LogicalBlockAddress[4];
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char PMI:1,
-+ Reserved4:7;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+} __attribute__((packed)) SCSI_READ_CAPACITY_COMMAND;
-+
-+typedef struct{
-+ unsigned char LastLogicalBlockAddress[4];
-+ unsigned char BlockLengthInBytes[4];
-+} __attribute__((packed)) SCSI_READ_CAPACITY_DATA;
-+
-+/*
-+ * REQUEST SENSE
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char Reserved1:5,
-+ LogicalUnitNumber:3;
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char AllocationLength;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+ unsigned char Reserved10;
-+} __attribute__((packed)) SCSI_REQUEST_SENSE_COMMAND;
-+
-+typedef struct{
-+ unsigned char ErrorCode:7,
-+ Valid:1;
-+ unsigned char Reserved1;
-+ unsigned char SenseKey:4,
-+ Reserved2:4;
-+ unsigned char Information[4];
-+ unsigned char AdditionalSenseLength;
-+ unsigned char Reserved3[4];
-+ unsigned char AdditionalSenseCode;
-+ unsigned char AdditionalSenseCodeQualifier;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5[3];
-+} __attribute__((packed)) SCSI_REQUEST_SENSE_DATA;
-+
-+/*
-+ * READ(10)
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char RelAdr:1,
-+ Reserved1:2,
-+ FUA:1,
-+ DPO:1,
-+ LogicalUnitNumber:3;
-+ unsigned char LogicalBlockAddress[4];
-+ unsigned char Reserved2;
-+ unsigned char TransferLength[2];
-+ unsigned char Reserved3;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+} __attribute__((packed)) SCSI_READ_10_COMMAND;
-+
-+/*
-+ * MODE SENSE
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char Reserved1:3,
-+ DBD:1,
-+ Reserved2:1,
-+ LogicalUnitNumber:3;
-+ unsigned char PageCode:6,
-+ PC:2;
-+ unsigned char Reserved3;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char ParameterListLength[2];
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+} __attribute__((packed)) SCSI_MODE_SENSE_COMMAND;
-+
-+typedef struct{
-+ unsigned char ModeDataLength;
-+ unsigned char MediumTypeCode;
-+ unsigned char Reserved1:4,
-+ DPOFUA:1,
-+ Reserved2:2,
-+ WP:1;
-+ unsigned char Reserved3;
-+} __attribute__((packed)) MODE_PARAMETER_HEADER;
-+
-+typedef struct{
-+ unsigned char PageCode:6,
-+ Reserved1:1,
-+ PS:1;
-+ unsigned char PageLength;
-+ unsigned char DCR:1,
-+ Reserved2:1,
-+ PER:1,
-+ Reserved3:1,
-+ RC:1,
-+ Reserved4:1,
-+ Reserved5:1,
-+ AWRE:1;
-+ unsigned char ReadRetryCount;
-+ unsigned char Reserved6[4];
-+ unsigned char WriteRetryCount;
-+ unsigned char Reserved7[3];
-+} __attribute__((packed)) READ_WRITE_ERROR_RECOVERY_PAGE;
-+
-+typedef struct{
-+ unsigned char PageCode:6,
-+ Reserved1:1,
-+ PS:1;
-+ unsigned char PageLength;
-+ unsigned char TransferRate[2];
-+ unsigned char NumberofHeads;
-+ unsigned char SectorsperTrack;
-+ unsigned char DataBytesperSector[2];
-+ unsigned char NumberofCylinders[2];
-+ unsigned char Reserved2[9];
-+ unsigned char MotorOnDelay;
-+ unsigned char MotorOffDelay;
-+ unsigned char Reserved3[7];
-+ unsigned char MediumRotationRate[2];
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+} __attribute__((packed)) FLEXIBLE_DISK_PAGE;
-+
-+typedef struct{
-+ unsigned char PageCode:6,
-+ Reserved1:1,
-+ PS:1;
-+ unsigned char PageLength;
-+ unsigned char Reserved2:6,
-+ SRFP:1,
-+ SFLP:1;
-+ unsigned char TLUN:3,
-+ Reserved3:3,
-+ SML:1,
-+ NCD:1;
-+ unsigned char Reserved4[8];
-+} __attribute__((packed)) REMOVABLE_BLOCK_ACCESS_CAPABILITIES_PAGE;
-+
-+typedef struct{
-+ unsigned char PageCode:6,
-+ Reserved1:1,
-+ PS:1;
-+ unsigned char PageLength;
-+ unsigned char Reserved2;
-+ unsigned char InactivityTimeMultiplier:4,
-+ Reserved3:4;
-+ unsigned char SWPP:1,
-+ DISP:1,
-+ Reserved4:6;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+} __attribute__((packed)) TIMER_AND_PROTECT_PAGE;
-+
-+typedef struct{
-+ READ_WRITE_ERROR_RECOVERY_PAGE ReadWriteErrorRecoveryPage;
-+ FLEXIBLE_DISK_PAGE FlexibleDiskPage;
-+ REMOVABLE_BLOCK_ACCESS_CAPABILITIES_PAGE RemovableBlockAccessCapabilitiesPage;
-+ TIMER_AND_PROTECT_PAGE TimerAndProtectPage;
-+} __attribute__((packed)) MODE_ALL_PAGES;
-+
-+typedef struct{
-+ MODE_PARAMETER_HEADER ModeParameterHeader;
-+ union{
-+ READ_WRITE_ERROR_RECOVERY_PAGE ReadWriteErrorRecoveryPage;
-+ FLEXIBLE_DISK_PAGE FlexibleDiskPage;
-+ REMOVABLE_BLOCK_ACCESS_CAPABILITIES_PAGE RemovableBlockAccessCapabilitiesPage;
-+ TIMER_AND_PROTECT_PAGE TimerAndProtectPage;
-+ MODE_ALL_PAGES ModeAllPages;
-+ } __attribute__((packed)) ModePages;
-+} __attribute__((packed)) SCSI_MODE_SENSE_DATA;
-+
-+/*
-+ * TEST UNIT READY
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char Reserved1:5,
-+ LogicalUnitNumber:3;
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+ unsigned char Reserved10;
-+ unsigned char Reserved11;
-+} __attribute__((packed)) SCSI_TEST_UNIT_READY_COMMAND;
-+
-+/*
-+ * PREVENT-ALLOW MEDIUM REMOVAL
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char Reserved1:5,
-+ LogicalUnitNumber:3;
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char Prevent:1,
-+ Reserved4:7;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+ unsigned char Reserved10;
-+ unsigned char Reserved11;
-+} __attribute__((packed)) SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL_COMMAND;
-+
-+/*
-+ * START-STOP UNIT
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char IMMED:1,
-+ Reserved1:4,
-+ LogicalUnitNumber:3;
-+ unsigned char Reserved2;
-+ unsigned char Reserved3;
-+ unsigned char Start:1,
-+ LoEj:1,
-+ Reserved4:6;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+ unsigned char Reserved7;
-+ unsigned char Reserved8;
-+ unsigned char Reserved9;
-+ unsigned char Reserved10;
-+ unsigned char Reserved11;
-+} __attribute__((packed)) SCSI_START_STOP_COMMAND;
-+
-+/*
-+ * WRITE(10)
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char RelAdr:1,
-+ Reserved1:2,
-+ FUA:1,
-+ DPO:1,
-+ LogicalUnitNumber:3;
-+ unsigned char LogicalBlockAddress[4];
-+ unsigned char Reserved2;
-+ unsigned char TransferLength[2];
-+ unsigned char Reserved3;
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+} __attribute__((packed)) SCSI_WRITE_10_COMMAND;
-+
-+/*
-+ * VERIFY
-+ */
-+
-+typedef struct{
-+ unsigned char OperationCode;
-+ unsigned char RelAdr:1,
-+ ByteChk:1,
-+ Reserved1:1,
-+ Reserved2:1,
-+ DPO:1,
-+ LogicalUnitNumber:3;
-+ unsigned char LogicalBlockAddress[4];
-+ unsigned char Reserved3;
-+ unsigned char VerificationLength[2];
-+ unsigned char Reserved4;
-+ unsigned char Reserved5;
-+ unsigned char Reserved6;
-+} __attribute__((packed)) SCSI_VERIFY_COMMAND;
-+
-+/******************************************************************************
-+** Global Function Prototype
-+******************************************************************************/
-+
-+/* storage-fd.c */
-+void storage_urb_send(struct usb_device_instance*, void*, int);
-+
-+/* storageproto.c */
-+void storageproto_urb_analysis(struct urb*);
-+int storageproto_device_open_check(void);
-+void storageproto_device_close(void);
-+void storageproto_usb_status_check(int);
-+void storageproto_media_status_check(int);
-+void storageproto_usb_reset_ind(void);
-+ssize_t storageproto_proc_read(struct file*, char*, size_t, loff_t* pos);
-+void storageproto_init(void);
-+void storageproto_exit(void);
-+
-+#endif /* _STORAGEPROTO_H_ */
-+
diff --git a/packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.bb b/packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.bb
deleted file mode 100644
index 303604f074..0000000000
--- a/packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-include openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc
-
diff --git a/packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc b/packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc
deleted file mode 100644
index dbc206fa43..0000000000
--- a/packages/linux/openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc
+++ /dev/null
@@ -1,118 +0,0 @@
-DESCRIPTION = "Linux kernel for OpenZaurus PXA processor based devices."
-MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
-SECTION = "kernel"
-LICENSE = "GPL"
-PV = "2.4.18-rmk7-pxa3-embedix"
-PR = "r46"
-KV = "2.4.18"
-RMKV = "7"
-PXAV = "3"
-SHARPV = "20031107"
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/openzaurus-pxa-${KV}-rmk${RMKV}-pxa${PXAV}-embedix${SHARPV}"
-
-SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
- ftp://ftp.linux.org.uk/pub/armlinux/source/kernel-patches/v2.4/patch-${KV}-rmk${RMKV}.gz;patch=1 \
- ftp://source.mvista.com/pub/xscale/pxa/diff-${KV}-rmk${RMKV}-pxa${PXAV}.gz;patch=1 \
- http://developer.ezaurus.com/sl_j/source/c860/${SHARPV}/linux-${PV}-slc860-${SHARPV}-rom1_10.bz2;patch=1 \
- file://piro.patch;patch=1 \
- file://swap-performance.patch;patch=1 \
- file://bluetooth-2.4.18-mh15.patch;patch=1 \
- file://iw_handlers.w13-5.diff;patch=1 \
- file://iw_handlers.w14-5.diff;patch=1 \
- file://iw240_we15-6.diff;patch=1 \
- file://iw249_we16-6.diff;patch=1 \
- file://iw249_we17-13.diff;patch=1 \
- file://iw240_we18-5.diff;patch=1 \
- file://bt950_cs.patch;patch=1 \
- file://bluecard_cs.patch;patch=1 \
- file://sharpsl_battery.patch;patch=1 \
- file://buffered-fbmem.patch;patch=1 \
- file://enable-sysrq.patch;patch=1 \
- file://compile.patch;patch=1 \
- file://idecs.patch;patch=1 \
- file://logo.patch;patch=1 \
- file://initsh.patch;patch=1 \
- file://keyboard-ctrl+alt.patch;patch=1 \
- file://keymap-more-sane.patch;patch=1 \
- file://mkdep.patch;patch=1 \
- file://disable-pcmcia-probe.patch;patch=1 \
- file://deviceinfo.patch;patch=1 \
- file://linux-2.4.18-list_move.patch;patch=1 \
- file://tosa_map.patch;patch=1 \
- file://tosa_ts.patch;patch=1 \
- file://corgi-fbcon-logo.patch;patch=1 \
- file://corgi-default-brightness.patch;patch=1 \
- http://www.openswan.org/download/old/openswan-2.2.0-kernel-2.4-klips.patch.gz;patch=1 \
- file://1764-1.patch;patch=1 \
- file://module_licence.patch;patch=1 \
- file://ir240_sys_max_tx-2.diff;patch=1 \
- file://ir241_qos_param-2.diff;patch=1 \
- http://us1.samba.org/samba/ftp/cifs-cvs/cifs-1.20c-2.4.tar.gz \
- file://fix_tosa_apm.patch;patch=1 \
- file://dumb-hack-for-wlan-ng.patch;patch=1 \
- file://unb0rk-apm.patch;patch=1 \
- file://apm_arrowkey.patch;patch=1 \
- file://defconfig-${MACHINE} "
-
-SRC_URI_append_poodle += " file://smallfonts.diff;patch=1"
-SRC_URI_append_poodle255 += " file://smallfonts.diff;patch=1"
-# apply this when we have a kernel that builds with gcc 3.x:
-# SRC_URI_append = file://machtune-args.patch;patch=1
-SRC_URI_append_tosa = " file://tosa-power-key-off.patch;patch=1"
-
-S = "${WORKDIR}/linux"
-
-inherit kernel
-
-#
-# Create the kernel command line. CMDLINE_CONSOLE is set through kernel.oeclass.
-#
-CMDLINE_MTDPARTS_poodle = "mtdparts=sharpsl-nand:7168k@0k(smf),22528k@7168k(root),-(home)"
-CMDLINE_MTDPARTS_poodle255 = "mtdparts=sharpsl-nand:7168k@0k(smf),22528k@7168k(root),-(home)"
-CMDLINE_MTDPARTS_corgi = "mtdparts=sharpsl-nand:7168k@0k(smf),25600k@7168k(root),-(home)"
-CMDLINE_MTDPARTS_shepherd = "mtdparts=sharpsl-nand:7168k@0k(smf),25600k@7168k(root),-(home)"
-CMDLINE_MTDPARTS_husky = "mtdparts=sharpsl-nand:7168k@0k(smf),54272k@7168k(root),-(home)"
-CMDLINE_MTDPARTS_tosa = "mtdparts=sharpsl-nand:7168k@0k(smf),28672k@7168k(root),-(home) EQUIPMENT=2"
-
-CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2 jffs2_orphaned_inodes=delete"
-# CMDLINE_INIT = "init=/bin/busybox ash"
-CMDLINE_INIT = " "
-CMDLINE = "${CMDLINE_MTDPARTS} ${CMDLINE_ROOT} ${CMDLINE_CONSOLE} ${CMDLINE_INIT}"
-
-#
-# Compensate for sucky bootloader on all Sharp Zaurus models
-#
-ALLOW_EMPTY = "1"
-FILES_kernel-image = ""
-EXTRA_OEMAKE = " EMBEDIXRELEASE=-${DISTRO_VERSION}"
-KERNEL_CCSUFFIX = "-2.95"
-KERNEL_LDSUFFIX = "-2.11.2"
-COMPATIBLE_HOST = "arm.*-linux"
-PARALLEL_MAKE = ""
-
-#
-# autoload modules
-#
-module_conf_usbdmonitor = "alias usbd0 usbdmonitor"
-module_conf_pxa_bi = "below pxa_bi net_fd usbdcore "
-module_autoload_pxa_bi = "pxa_bi"
-
-do_configure_prepend() {
- patch -p1 < cifs_24.patch
- install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
- echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
-}
-
-do_deploy() {
- install -d ${DEPLOY_DIR}/images
- install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_package after do_install
-
-PACKAGE_ARCH_corgi = "c7x0"
-PACKAGE_ARCH_shepherd = "c7x0"
-PACKAGE_ARCH_husky = "c7x0"
diff --git a/packages/linux/poodle-kernel-2.4-embedix.bb b/packages/linux/poodle-kernel-2.4-embedix.bb
deleted file mode 100644
index 28fa7cc84a..0000000000
--- a/packages/linux/poodle-kernel-2.4-embedix.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-MACHINE = "poodle"
-
-include openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc
-
diff --git a/packages/linux/poodle-kernels-2.4-embedix.bb b/packages/linux/poodle-kernels-2.4-embedix.bb
deleted file mode 100644
index e21a47a908..0000000000
--- a/packages/linux/poodle-kernels-2.4-embedix.bb
+++ /dev/null
@@ -1 +0,0 @@
-DEPENDS = "poodle-kernel-2.4-embedix poodle255-kernel-2.4-embedix"
diff --git a/packages/linux/poodle255-kernel-2.4-embedix.bb b/packages/linux/poodle255-kernel-2.4-embedix.bb
deleted file mode 100644
index 613f785fb6..0000000000
--- a/packages/linux/poodle255-kernel-2.4-embedix.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-MACHINE = "poodle255"
-
-include openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc
-