aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbnewbold <bryan@octopart.com>2012-01-29 15:31:55 -0500
committerbnewbold <bryan@octopart.com>2012-01-29 15:31:55 -0500
commit73f557b7b909bd6a6d15625a8fdbb57bba7e8540 (patch)
tree3f94c2d7d0cbdcfe8b1551146fec6d6456ace38c
parentceb418e2f20260bccc7acaa9a55b9a4e18a5413b (diff)
downloadsistema_de_aguas-73f557b7b909bd6a6d15625a8fdbb57bba7e8540.zip
sistema_de_aguas-73f557b7b909bd6a6d15625a8fdbb57bba7e8540.tar.gz
draft progress
-rw-r--r--sprites/allbg.pngbin3071 -> 2893 bytes
-rw-r--r--sprites/allpipes.pngbin2946 -> 3304 bytes
-rw-r--r--sprites/allpipes_big.pngbin0 -> 2981 bytes
-rwxr-xr-xsprites/background.pngbin0 -> 5095 bytes
-rwxr-xr-xsprites/grid.pngbin0 -> 4890 bytes
-rwxr-xr-xsprites/splash_screen.pngbin0 -> 11133 bytes
-rw-r--r--src/draft/allsewage.h288
-rw-r--r--src/draft/cruft.pde46
-rw-r--r--src/draft/draft.pde184
-rw-r--r--src/draft/graphics.pde222
-rw-r--r--src/draft/sprites.h795
-rw-r--r--src/sprite_test/sprite_test.pde133
-rwxr-xr-xwxkeygrabber.py93
13 files changed, 1714 insertions, 47 deletions
diff --git a/sprites/allbg.png b/sprites/allbg.png
index efe0896..5c96a66 100644
--- a/sprites/allbg.png
+++ b/sprites/allbg.png
Binary files differ
diff --git a/sprites/allpipes.png b/sprites/allpipes.png
index 46aaef2..d310d98 100644
--- a/sprites/allpipes.png
+++ b/sprites/allpipes.png
Binary files differ
diff --git a/sprites/allpipes_big.png b/sprites/allpipes_big.png
new file mode 100644
index 0000000..8abf442
--- /dev/null
+++ b/sprites/allpipes_big.png
Binary files differ
diff --git a/sprites/background.png b/sprites/background.png
new file mode 100755
index 0000000..c86cd1d
--- /dev/null
+++ b/sprites/background.png
Binary files differ
diff --git a/sprites/grid.png b/sprites/grid.png
new file mode 100755
index 0000000..0f1eff6
--- /dev/null
+++ b/sprites/grid.png
Binary files differ
diff --git a/sprites/splash_screen.png b/sprites/splash_screen.png
new file mode 100755
index 0000000..49a27fd
--- /dev/null
+++ b/sprites/splash_screen.png
Binary files differ
diff --git a/src/draft/allsewage.h b/src/draft/allsewage.h
new file mode 100644
index 0000000..0d92be2
--- /dev/null
+++ b/src/draft/allsewage.h
@@ -0,0 +1,288 @@
+static PROGMEM prog_uchar allsewage_pic[] = {
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+};
+static PROGMEM prog_uchar allsewage_chr[] = {
+
+0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x51, 0x55, 0x55, 0x55, 0x55, 0x55, 0x45, 0x55, 0x55, 0x55,
+0xaa, 0xaa, 0xaa, 0xaa, 0x8a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa,
+0xaa, 0xaa, 0xaa, 0xa2, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x6a, 0xaa, 0xaa, 0xaa, 0xaa,
+0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x9a, 0xaa, 0xaa, 0x2a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+static PROGMEM prog_uchar allsewage_pal[] = {
+
+0xe2, 0x30, 0x87, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x62, 0xe2, 0x30, 0x87, 0x45, 0x00, 0x00,
+0x6d, 0x62, 0xe2, 0x30, 0x87, 0x45, 0x00, 0x00, 0x6d, 0x62, 0xe2, 0x30, 0x87, 0x45, 0x00, 0x00,
+0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/src/draft/cruft.pde b/src/draft/cruft.pde
new file mode 100644
index 0000000..c86a730
--- /dev/null
+++ b/src/draft/cruft.pde
@@ -0,0 +1,46 @@
+
+
+void static old_process_keypress() {
+ if(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ while(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ }
+ SerialUSB.println(inchar, 16);
+ switch(inchar) {
+ case 'w':
+ swimy -= SWIM_SPEED;
+ break;
+ case 's':
+ swimy += SWIM_SPEED;
+ break;
+ case 'a':
+ swimx -= SWIM_SPEED;
+ break;
+ case 'd':
+ swimx += SWIM_SPEED;
+ break;
+ case 'W':
+ swimy -= SWIM_SPEED;
+ jaws_closed = 20;
+ break;
+ case 'S':
+ swimy += SWIM_SPEED;
+ jaws_closed = 20;
+ break;
+ case 'A':
+ swimx -= SWIM_SPEED;
+ jaws_closed = 20;
+ break;
+ case 'D':
+ swimx += SWIM_SPEED;
+ jaws_closed = 20;
+ break;
+ case ' ':
+ jaws_closed = 20;
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/src/draft/draft.pde b/src/draft/draft.pde
new file mode 100644
index 0000000..0852cb5
--- /dev/null
+++ b/src/draft/draft.pde
@@ -0,0 +1,184 @@
+#include <SPI.h>
+#include <GD.h>
+
+#include "allsewage.h" // http://gameduino.com/results/b2f4c588/
+#include "sprites.h" // http://gameduino.com/results/16fe50de/
+
+#define SWIM_SPEED 1
+
+#define WEAPON_GROUP 0
+#define TARGET_GROUP 1
+
+#define NUM_TRASH 20
+
+#define KEY_UP(x) ((x >> 7) & 0x01)
+#define KEY_DOWN(x) ((x >> 6) & 0x01)
+#define KEY_LEFT(x) ((x >> 5) & 0x01)
+#define KEY_RIGHT(x) ((x >> 4) & 0x01)
+#define KEY_C(x) ((x >> 3) & 0x01)
+#define KEY_V(x) ((x >> 2) & 0x01)
+#define KEY_SPACE(x) ((x >> 1) & 0x01)
+#define KEY_ESCAPE(x) ((x >> 0) & 0x01)
+
+static boolean last_key_space = false; // last keypress a spacebar?
+static unsigned int t = 0; // global game counter
+
+static uint16 swimx, swimy; // swimmer position
+static int8 swimvx, swimvy; // velocity
+static int8 weapon_sprid;
+static uint8 jaws_closed; // swimmer weapon state
+
+static uint16 narcox, narcoy;
+static int8 narcovx, narcovy;
+static uint8 narco_sprid;
+static boolean narco_sunk;
+static uint8 enemy_sprid;
+
+
+static unsigned int scrollx; // background scroll
+static unsigned int scrolly;
+static int8 scrollvx; // background scroll speed (128 is one pixel/frame)
+
+static uint16 trash_rate;
+static unsigned char inchar;
+static uint8 touching_weapon, touching_enemy;
+
+void static process_keypress() {
+ if(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ while(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ }
+ //SerialUSB.println(inchar, 2);
+ swimvx = 0;
+ swimvy = 0;
+ if (KEY_LEFT(inchar)) { swimvx -= SWIM_SPEED; }
+ if (KEY_RIGHT(inchar)) { swimvx += SWIM_SPEED; }
+ if (KEY_UP(inchar)) { swimvy -= SWIM_SPEED; }
+ if (KEY_DOWN(inchar)) { swimvy += SWIM_SPEED; }
+ if (KEY_SPACE(inchar) and !last_key_space) { jaws_closed = 20; }
+ if (!KEY_SPACE(inchar)) { jaws_closed = 0; }
+ last_key_space = KEY_SPACE(inchar);
+ if (KEY_ESCAPE(inchar)) {
+ clear_all_sprites();
+ narco_sunk = false;
+ narcoy = 150;
+ }
+ }
+}
+
+boolean static wait_screen() {
+ if(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ while(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ }
+
+ if (KEY_SPACE(inchar)) { return true; }
+ if (KEY_ESCAPE(inchar)) { return true; }
+ return false;
+ }
+}
+
+void setup()
+{
+ pinMode(BOARD_BUTTON_PIN, INPUT);
+ swimx = 20;
+ swimy = 20;
+ narcox = 180;
+ narcoy = 150;
+ narcovy = -1;
+ trash_rate = 100;
+
+ delay(250);
+ GD.begin();
+
+ GD.wr(JK_MODE, 1);
+
+ init_sprites(); // called twice
+ GD.waitvblank();
+ init_splashpage();
+
+ while(!wait_screen()) {
+ delay(100);
+ }
+ clear_all_sprites();
+ GD.waitvblank();
+ init_background();
+ init_sprites();
+ init_trash();
+
+ add_trash();
+ add_trash();
+ add_trash();
+}
+
+void loop()
+{
+ GD.waitvblank();
+
+ // ------- do graphics drawing
+
+ // check collisions
+ touching_weapon = GD.rd(COLLISION + weapon_sprid);
+ touching_enemy = GD.rd(COLLISION + enemy_sprid);
+
+ // scroll background
+ GD.wr16(SCROLL_X, scrollx);
+ GD.__wstartspr(0);
+ //draw_standing_all(10,270);
+ draw_all_trash();
+ if (t > 72 * 30) {
+ draw_narco(narcox, narcoy, narco_sunk);
+ if (narco_sunk) {
+ for (uint8 i = 0; i < 5; i++) {
+ draw_explosion(narcox+random(96)-8, narcoy+random(64)-8);
+ }
+ }
+ }
+ draw_swim(swimx,swimy, (jaws_closed == 0));
+ GD.__end();
+
+ // -------- do logic stuff
+ scrollx += ((t % scrollvx) == 0);
+ //swimx = (swimx + 1) % 400;
+ if(jaws_closed > 0) {
+ jaws_closed -= 1;
+ }
+
+ update_trash();
+ cleanup_trash();
+
+ process_keypress();
+
+ if (jaws_closed > 15 and (touching_weapon == enemy_sprid || touching_enemy == weapon_sprid)) {
+ narco_sunk = true;
+ }
+
+ if (jaws_closed > 15 and (touching_weapon != 255)) {
+ check_trash(touching_weapon);
+ }
+
+ swimx = (swimx + swimvx);
+ swimy = (swimy + swimvy);
+ if (swimx > 380) swimx = 380;
+ if (swimx < 32) swimx = 32;
+ if (swimy > 250) swimy = 250;
+ if (swimy < 50) swimy = 50;
+
+ if(!narco_sunk) {
+ if(narcoy > 170) { narcovy = -1; }
+ if(narcoy < 130) { narcovy = 1; }
+ } else {
+ narcovy = 1;
+ if(narcoy > 400) { narcovy = 0; }
+ }
+ if ((t % trash_rate) == 0 && (random(3) == 1)) {
+ add_trash();
+ }
+
+ scrollvx = get_stuck() + 2;
+
+ narcoy += narcovy;
+ t += 1;
+}
diff --git a/src/draft/graphics.pde b/src/draft/graphics.pde
new file mode 100644
index 0000000..b8af1b9
--- /dev/null
+++ b/src/draft/graphics.pde
@@ -0,0 +1,222 @@
+
+//static extern enemy_sprid;
+
+// ================ INIT ===================
+static void init_sprites() {
+ GD.copy(PALETTE16A, sprite_sprpal, sizeof(sprite_sprpal));
+ GD.copy(RAM_SPRIMG, sprite_sprimg, sizeof(sprite_sprimg));
+}
+
+static void clear_all_sprites() {
+ for (int i = 0; i < 256; i++) {
+ GD.sprite(i, 400, 400, 0, 0, 0);
+ }
+}
+
+static void init_splashpage() {
+ for (byte y = 0; y < 64; y++)
+ GD.copy(RAM_PIC + y * 64, allsewage_pic + y * 64, 64);
+ GD.copy(RAM_CHR, allsewage_chr, sizeof(allsewage_chr));
+ GD.copy(RAM_PAL, allsewage_pal, sizeof(allsewage_pal));
+
+ GD.__wstartspr(0);
+ for (int rand_count = 0; rand_count < 20; rand_count += 1) {
+ draw_standing_all(random(400),random(300));
+ }
+ GD.__end();
+
+}
+
+static void init_background() {
+ for (byte y = 0; y < 64; y++)
+ GD.copy(RAM_PIC + y * 64, allsewage_pic + y * 64, 64);
+ GD.copy(RAM_CHR, allsewage_chr, sizeof(allsewage_chr));
+ GD.copy(RAM_PAL, allsewage_pal, sizeof(allsewage_pal));
+}
+
+// ================ TRASH MANAGEMENT ===================
+
+#define DEAD_TRASH_SPRID 54
+#define NUM_TRASH 20
+#define STUCKX 100
+
+struct trash_item {
+ int8 vx;
+ int16 x, y;
+ uint8 sprid, collid;
+ boolean stuck;
+};
+
+static trash_item trash_bag[NUM_TRASH];
+static uint8 trash_count, trash_stuck;
+
+static uint8 get_stuck() {
+ return trash_stuck;
+}
+
+
+static void init_trash() {
+ for (int i = 0; i < NUM_TRASH; i++) {
+ trash_bag[i].x = 400;
+ trash_bag[i].y = 400;
+ trash_bag[i].vx = 0;
+ trash_bag[i].sprid = 0xFF;
+ trash_bag[i].stuck = false;
+ trash_bag[i].collid = 0xFF;
+ }
+ trash_count = 0;
+ trash_stuck = 0;
+}
+
+static void cleanup_trash() {
+ for (int i = 0; i < NUM_TRASH; i++) {
+ if(trash_bag[i].x < 0) {
+ trash_count -= 1;
+ trash_bag[i].x = 400;
+ trash_bag[i].y = 400;
+ trash_bag[i].vx = 0;
+ trash_bag[i].sprid = 0xFF;
+ trash_bag[i].stuck = false;
+ }
+ }
+}
+
+static void add_trash() {
+ if (trash_count == NUM_TRASH) return;
+ int i;
+ for (i = 0; i < NUM_TRASH; i++) {
+ if(trash_bag[i].sprid == 0xFF) {
+ trash_bag[i].x = 400;
+ trash_bag[i].y = 25 + random(200);
+ trash_bag[i].vx = 3 + random(5);
+ trash_bag[i].sprid = 36;
+ trash_bag[i].collid = 255;
+ break;
+ }
+ }
+}
+
+static void update_trash() {
+ for (int i = 0; i < NUM_TRASH; i++) {
+ if (trash_bag[i].sprid == 0xFF) continue;
+ if (trash_bag[i].stuck) continue;
+ trash_bag[i].x -= ((t % (2*scrollvx)) == 0);
+ if ((t % trash_bag[i].vx) == 0) {
+ trash_bag[i].x -= 1;
+ }
+ if (trash_bag[i].sprid != DEAD_TRASH_SPRID && trash_bag[i].x <= STUCKX) {
+ trash_bag[i].stuck = true;
+ trash_bag[i].x = STUCKX;
+ trash_stuck += 1;
+ }
+ }
+}
+
+static void check_trash(int cid) {
+ for (int i = 0; i < NUM_TRASH; i++) {
+ if (cid == trash_bag[i].collid) {
+ trash_bag[i].sprid = DEAD_TRASH_SPRID;
+ if (trash_bag[i].stuck) {
+ trash_bag[i].stuck = false;
+ trash_stuck -= 1;
+ }
+ }
+ }
+}
+
+// ================ DRAWING ===================
+static void draw_all_trash() {
+ for (int i = 0; i < NUM_TRASH; i++) {
+ if (trash_bag[i].sprid == 0xFF) continue;
+ trash_bag[i].collid = GD.spr;
+ draw_sprite(trash_bag[i].x,
+ trash_bag[i].y,
+ trash_bag[i].sprid,
+ 0,
+ TARGET_GROUP);
+ }
+}
+static void draw_standing_all(int x, int y) {
+ draw_sprite(x , y , 36, 0, 1);
+ draw_sprite(x , y + 16, 45, 0, 0);
+}
+
+static void draw_narco(int x, int y, boolean sunk) {
+ if(!sunk) {
+ draw_sprite(x , y + 00, 03, 0, 1);
+ draw_sprite(x + 16, y + 00, 04, 0, 1);
+ // periscope!
+ enemy_sprid = GD.spr;
+ draw_sprite(x + 32, y + 00, 05, 0, 1);
+ draw_sprite(x + 48, y + 00, 6, 0, 1);
+ draw_sprite(x + 64, y + 00, 7, 0, 1);
+ draw_sprite(x + 80, y + 00, 8, 0, 1);
+ draw_sprite(x , y + 16, 12, 0, 1);
+ draw_sprite(x + 16, y + 16, 13, 0, 1);
+ draw_sprite(x + 32, y + 16, 14, 0, 1);
+ draw_sprite(x + 48, y + 16, 15, 0, 1);
+ draw_sprite(x + 64, y + 16, 16, 0, 1);
+ draw_sprite(x + 80, y + 16, 17, 0, 1);
+ draw_sprite(x , y + 32, 21, 0, 1);
+ draw_sprite(x + 16, y + 32, 22, 0, 1);
+ draw_sprite(x + 32, y + 32, 23, 0, 1);
+ draw_sprite(x + 48, y + 32, 24, 0, 1);
+ draw_sprite(x + 64, y + 32, 25, 0, 1);
+ draw_sprite(x + 80, y + 32, 26, 0, 1);
+ draw_sprite(x , y + 48, 30, 0, 1);
+ draw_sprite(x + 16, y + 48, 31, 0, 1);
+ draw_sprite(x + 32, y + 48, 32, 0, 1);
+ draw_sprite(x + 48, y + 48, 33, 0, 1);
+ draw_sprite(x + 64, y + 48, 34, 0, 1);
+ draw_sprite(x + 80, y + 48, 35, 0, 1);
+ } else {
+ draw_sprite(x , y + 00, 39, 0, 1);
+ draw_sprite(x + 16, y + 00, 40, 0, 1);
+ draw_sprite(x + 32, y + 00, 41, 0, 1);
+ draw_sprite(x + 48, y + 00, 42, 0, 1);
+ draw_sprite(x + 64, y + 00, 43, 0, 1);
+ draw_sprite(x + 80, y + 00, 44, 0, 1);
+ draw_sprite(x , y + 16, 48, 0, 1);
+ draw_sprite(x + 16, y + 16, 49, 0, 1);
+ draw_sprite(x + 32, y + 16, 50, 0, 1);
+ draw_sprite(x + 48, y + 16, 51, 0, 1);
+ draw_sprite(x + 64, y + 16, 52, 0, 1);
+ draw_sprite(x + 80, y + 16, 53, 0, 1);
+ draw_sprite(x , y + 32, 57, 0, 1);
+ draw_sprite(x + 16, y + 32, 58, 0, 1);
+ draw_sprite(x + 32, y + 32, 59, 0, 1);
+ draw_sprite(x + 48, y + 32, 60, 0, 1);
+ draw_sprite(x + 64, y + 32, 61, 0, 1);
+ draw_sprite(x + 80, y + 32, 62, 0, 1);
+ draw_sprite(x , y + 48, 66, 0, 1);
+ draw_sprite(x + 16, y + 48, 67, 0, 1);
+ draw_sprite(x + 32, y + 48, 68, 0, 1);
+ draw_sprite(x + 48, y + 48, 69, 0, 1);
+ draw_sprite(x + 64, y + 48, 70, 0, 1);
+ draw_sprite(x + 80, y + 48, 71, 0, 1);
+ }
+}
+
+static void draw_explosion(int x, int y) {
+ draw_sprite(x + 00, y + 00, 54, 0, 0);
+ draw_sprite(x + 16, y + 00, 55, 0, 0);
+ draw_sprite(x + 00, y + 16, 63, 0, 0);
+ draw_sprite(x + 16, y + 16, 64, 0, 0);
+}
+
+static void draw_swim(int x, int y, boolean is_open) {
+ draw_sprite(x , y , 0, 0, 0);
+ draw_sprite(x + 16, y , 1, 0, 0);
+ draw_sprite(x , y + 16, 9, 0, 0);
+ draw_sprite(x + 16, y + 16, 10, 0, 0);
+ draw_sprite(x + 32, y + 16, 11, 0, 0);
+ if(is_open) {
+ weapon_sprid = GD.spr;
+ draw_sprite(x + 32, y , 2, 0, 0);
+ draw_sprite(400, 400, 20, 0, 0);
+ } else {
+ draw_sprite(400, 400, 2, 0, 0);
+ weapon_sprid = GD.spr;
+ draw_sprite(x + 32, y , 20, 0, 0);
+ }
+}
diff --git a/src/draft/sprites.h b/src/draft/sprites.h
new file mode 100644
index 0000000..e5cbf9e
--- /dev/null
+++ b/src/draft/sprites.h
@@ -0,0 +1,795 @@
+#define SPRITE_FRAMES 72
+static void draw_sprite(int x, int y, byte anim, byte rot, byte jk = 0) {
+ switch (anim) {
+ case 0:
+ GD.xsprite(x, y, -8, -8, 0, 4, rot, jk);
+ break;
+ case 1:
+ GD.xsprite(x, y, -8, -8, 0, 6, rot, jk);
+ break;
+ case 2:
+ GD.xsprite(x, y, -8, -8, 1, 4, rot, jk);
+ break;
+ case 4:
+ GD.xsprite(x, y, -8, -8, 1, 6, rot, jk);
+ break;
+ case 5:
+ GD.xsprite(x, y, -8, -8, 2, 4, rot, jk);
+ break;
+ case 6:
+ GD.xsprite(x, y, -8, -8, 2, 6, rot, jk);
+ break;
+ case 7:
+ GD.xsprite(x, y, -8, -8, 3, 4, rot, jk);
+ break;
+ case 8:
+ GD.xsprite(x, y, -8, -8, 3, 6, rot, jk);
+ break;
+ case 9:
+ GD.xsprite(x, y, -8, -8, 4, 4, rot, jk);
+ break;
+ case 10:
+ GD.xsprite(x, y, -8, -8, 4, 6, rot, jk);
+ break;
+ case 11:
+ GD.xsprite(x, y, -8, -8, 5, 4, rot, jk);
+ break;
+ case 12:
+ GD.xsprite(x, y, -8, -8, 5, 6, rot, jk);
+ break;
+ case 13:
+ GD.xsprite(x, y, -8, -8, 6, 4, rot, jk);
+ break;
+ case 14:
+ GD.xsprite(x, y, -8, -8, 6, 6, rot, jk);
+ break;
+ case 15:
+ GD.xsprite(x, y, -8, -8, 7, 4, rot, jk);
+ break;
+ case 16:
+ GD.xsprite(x, y, -8, -8, 7, 6, rot, jk);
+ break;
+ case 17:
+ GD.xsprite(x, y, -8, -8, 8, 4, rot, jk);
+ break;
+ case 18:
+ GD.xsprite(x, y, -8, -8, 8, 6, rot, jk);
+ break;
+ case 19:
+ GD.xsprite(x, y, -8, -8, 9, 4, rot, jk);
+ break;
+ case 20:
+ GD.xsprite(x, y, -8, -8, 9, 6, rot, jk);
+ break;
+ case 21:
+ GD.xsprite(x, y, -8, -8, 10, 4, rot, jk);
+ break;
+ case 22:
+ GD.xsprite(x, y, -8, -8, 10, 6, rot, jk);
+ break;
+ case 23:
+ GD.xsprite(x, y, -8, -8, 11, 4, rot, jk);
+ break;
+ case 24:
+ GD.xsprite(x, y, -8, -8, 11, 6, rot, jk);
+ break;
+ case 25:
+ GD.xsprite(x, y, -8, -8, 12, 4, rot, jk);
+ break;
+ case 26:
+ GD.xsprite(x, y, -8, -8, 12, 6, rot, jk);
+ break;
+ case 27:
+ GD.xsprite(x, y, -8, -8, 13, 4, rot, jk);
+ break;
+ case 28:
+ GD.xsprite(x, y, -8, -8, 13, 6, rot, jk);
+ break;
+ case 29:
+ GD.xsprite(x, y, -8, -8, 14, 4, rot, jk);
+ break;
+ case 30:
+ GD.xsprite(x, y, -8, -8, 14, 6, rot, jk);
+ break;
+ case 31:
+ GD.xsprite(x, y, -8, -8, 15, 4, rot, jk);
+ break;
+ case 32:
+ GD.xsprite(x, y, -8, -8, 15, 6, rot, jk);
+ break;
+ case 33:
+ GD.xsprite(x, y, -8, -8, 16, 4, rot, jk);
+ break;
+ case 34:
+ GD.xsprite(x, y, -8, -8, 16, 6, rot, jk);
+ break;
+ case 35:
+ GD.xsprite(x, y, -8, -8, 17, 4, rot, jk);
+ break;
+ case 36:
+ GD.xsprite(x, y, -8, -8, 17, 6, rot, jk);
+ break;
+ case 37:
+ GD.xsprite(x, y, -8, -8, 18, 4, rot, jk);
+ break;
+ case 38:
+ GD.xsprite(x, y, -8, -8, 18, 6, rot, jk);
+ break;
+ case 40:
+ GD.xsprite(x, y, -8, -8, 19, 4, rot, jk);
+ break;
+ case 41:
+ GD.xsprite(x, y, -8, -8, 19, 6, rot, jk);
+ break;
+ case 42:
+ GD.xsprite(x, y, -8, -8, 20, 4, rot, jk);
+ break;
+ case 43:
+ GD.xsprite(x, y, -8, -8, 20, 6, rot, jk);
+ break;
+ case 44:
+ GD.xsprite(x, y, -8, -8, 21, 4, rot, jk);
+ break;
+ case 45:
+ GD.xsprite(x, y, -8, -8, 21, 6, rot, jk);
+ break;
+ case 46:
+ GD.xsprite(x, y, -8, -8, 22, 4, rot, jk);
+ break;
+ case 47:
+ GD.xsprite(x, y, -8, -8, 22, 6, rot, jk);
+ break;
+ case 48:
+ GD.xsprite(x, y, -8, -8, 23, 4, rot, jk);
+ break;
+ case 49:
+ GD.xsprite(x, y, -8, -8, 23, 6, rot, jk);
+ break;
+ case 50:
+ GD.xsprite(x, y, -8, -8, 24, 4, rot, jk);
+ break;
+ case 51:
+ GD.xsprite(x, y, -8, -8, 24, 6, rot, jk);
+ break;
+ case 52:
+ GD.xsprite(x, y, -8, -8, 25, 4, rot, jk);
+ break;
+ case 53:
+ GD.xsprite(x, y, -8, -8, 25, 6, rot, jk);
+ break;
+ case 54:
+ GD.xsprite(x, y, -8, -8, 26, 4, rot, jk);
+ break;
+ case 55:
+ GD.xsprite(x, y, -8, -8, 26, 6, rot, jk);
+ break;
+ case 57:
+ GD.xsprite(x, y, -8, -8, 27, 4, rot, jk);
+ break;
+ case 58:
+ GD.xsprite(x, y, -8, -8, 27, 6, rot, jk);
+ break;
+ case 59:
+ GD.xsprite(x, y, -8, -8, 28, 4, rot, jk);
+ break;
+ case 60:
+ GD.xsprite(x, y, -8, -8, 28, 6, rot, jk);
+ break;
+ case 61:
+ GD.xsprite(x, y, -8, -8, 29, 4, rot, jk);
+ break;
+ case 62:
+ GD.xsprite(x, y, -8, -8, 29, 6, rot, jk);
+ break;
+ case 63:
+ GD.xsprite(x, y, -8, -8, 30, 4, rot, jk);
+ break;
+ case 64:
+ GD.xsprite(x, y, -8, -8, 30, 6, rot, jk);
+ break;
+ case 66:
+ GD.xsprite(x, y, -8, -8, 31, 4, rot, jk);
+ break;
+ case 67:
+ GD.xsprite(x, y, -8, -8, 31, 6, rot, jk);
+ break;
+ case 68:
+ GD.xsprite(x, y, -8, -8, 32, 4, rot, jk);
+ break;
+ case 69:
+ GD.xsprite(x, y, -8, -8, 32, 6, rot, jk);
+ break;
+ case 70:
+ GD.xsprite(x, y, -8, -8, 33, 4, rot, jk);
+ break;
+ case 71:
+ GD.xsprite(x, y, -8, -8, 33, 6, rot, jk);
+ break;
+ }
+}
+
+static PROGMEM prog_uchar sprite_sprimg[] = {
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0xef, 0x6f, 0x3f, 0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0xaf, 0x3f, 0x3f, 0xaf, 0xef, 0x1f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xef, 0x6f, 0xaf, 0x3f, 0x3f, 0xaf, 0xef, 0x5f, 0x5f, 0x5f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xef, 0x6f, 0xaf, 0x3f, 0x3f, 0xaf, 0xef, 0x5f, 0x5f, 0x5f, 0xef, 0xff, 0xff, 0xff,
+0xef, 0xff, 0xef, 0x6f, 0x6f, 0x3f, 0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xef, 0xff, 0xff, 0xfe,
+0xef, 0xef, 0xff, 0xef, 0x6f, 0x6f, 0x3f, 0x3f, 0x6f, 0xef, 0xef, 0xef, 0xff, 0xff, 0xfe, 0xfa,
+0xaf, 0xef, 0xef, 0xef, 0xef, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xef, 0xef, 0xff, 0xff, 0xff, 0xfe,
+0xef, 0x6f, 0x6f, 0xaf, 0xef, 0x4f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+0x6f, 0x6f, 0xaf, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x6f, 0xef, 0x4f, 0x4f, 0xef, 0xff, 0xff, 0xee,
+0x6f, 0xaf, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0x7f, 0x3e,
+0x6f, 0xaf, 0xef, 0x4f, 0x8f, 0xef, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0x8f, 0x4f, 0x4e, 0xe6,
+0xaf, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0xcf, 0xef, 0x8f, 0x8e, 0xe6,
+0xaf, 0xef, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0x8f, 0xef, 0x8f, 0xcf, 0xef, 0xff, 0xef, 0xee, 0xa6,
+0xaf, 0xef, 0xef, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xef, 0xcf, 0xcf, 0xef, 0xff, 0xef, 0xae, 0xa6,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xf6, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf1,
+0xff, 0xff, 0xff, 0xf6, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xf6, 0xff,
+0xff, 0xff, 0xfe, 0xfe, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xf1, 0xf6, 0xff, 0xff,
+0xff, 0xfe, 0xf5, 0xfe, 0xfe, 0xf1, 0xff, 0xff, 0xf1, 0xf1, 0xf1, 0xf1, 0xf6, 0xff, 0xff, 0xff,
+0xfe, 0xf6, 0xf5, 0xf5, 0xfe, 0xfe, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf6, 0xff, 0xff, 0xef, 0xef,
+0xf3, 0xfe, 0xf6, 0xf5, 0xf5, 0xfe, 0xfe, 0xf1, 0xf1, 0xf1, 0xf6, 0xff, 0xef, 0xef, 0xef, 0xef,
+0xfe, 0xf1, 0xfe, 0xf6, 0xf5, 0xf5, 0xfe, 0xfe, 0xf1, 0xf6, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef,
+0xfa, 0xfe, 0xf1, 0xfe, 0xf6, 0xf5, 0xf5, 0xfe, 0xf6, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef,
+0xfa, 0xfa, 0xfe, 0xf1, 0xfe, 0xf6, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xef, 0xef, 0x0f, 0x1f, 0x1f,
+0xfa, 0xfa, 0xfa, 0xfe, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0x0f, 0x0f, 0x1f,
+
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
+0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf2, 0xfe, 0xf1,
+0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xf2, 0xfe, 0xf1,
+0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xfe, 0xfe, 0xf9, 0xf9,
+0xef, 0xef, 0xef, 0xef, 0x9f, 0x9f, 0x1f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
+0xff, 0xff, 0xff, 0xef, 0xef, 0x9f, 0x9f, 0x1f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x9f, 0x9f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x9f, 0x9f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x9f, 0x9f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x9f, 0x9f, 0x1f, 0x1f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x9e, 0x1e, 0x1e, 0xee, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xfe, 0xfe,
+0x1e, 0x1e, 0x1e, 0x11, 0x11, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x11, 0x11, 0xe1, 0xe1, 0xe1,
+0x1e, 0x1e, 0x1e, 0x1e, 0x6e, 0xee, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x11, 0x11, 0x11, 0x11, 0xe1,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xee, 0xee, 0xee, 0xee, 0xee, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6e, 0x6e, 0x60, 0x61, 0x6e, 0x6e, 0xee, 0xee, 0xee, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xf6, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xf6, 0xf6, 0xfe, 0xfe, 0xae, 0xae, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xef, 0x4f, 0x8f, 0xef, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xef, 0xef, 0xff, 0xef, 0xaf, 0xae, 0xaa,
+0x4f, 0x8f, 0x8f, 0x8f, 0xcf, 0xef, 0xef, 0x8f, 0x4f, 0xef, 0xef, 0xef, 0xaf, 0xaf, 0xef, 0xee,
+0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0x3f, 0x3f, 0xef, 0xef, 0xfe, 0xf4,
+0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0xcf, 0xcf, 0xef, 0x3f, 0x3f, 0xef, 0xff, 0xfe, 0xf4, 0xf8,
+0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0xcf, 0xef, 0xef, 0xef, 0xef, 0xfe, 0xfe, 0xf4, 0xf8, 0xf8,
+0x8f, 0x8f, 0xef, 0xcf, 0x8f, 0xcf, 0xef, 0xaf, 0xae, 0xee, 0xfe, 0xf4, 0xf4, 0xf8, 0xf8, 0xf8,
+0xef, 0xef, 0xcf, 0x8f, 0x8f, 0xef, 0xfe, 0xee, 0xee, 0xf4, 0xf4, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
+0xef, 0xcf, 0x8f, 0x8f, 0xee, 0xfe, 0xfe, 0xfe, 0xf4, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfe, 0xfe,
+0xce, 0x8e, 0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xf8, 0xf8, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc,
+0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xfe,
+0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xff, 0xff,
+0xff, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xfe, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+
+0xef, 0xef, 0xef, 0x0f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xe0, 0xe0, 0xe0,
+0xef, 0xef, 0x0f, 0x0f, 0x0f, 0x1f, 0xef, 0xef, 0xef, 0x0f, 0x1e, 0x1e, 0xee, 0xee, 0xe0, 0xee,
+0xef, 0xef, 0x0f, 0x0f, 0x0f, 0xef, 0xef, 0xef, 0x0f, 0x0f, 0x0e, 0x1e, 0xee, 0xee, 0xee, 0xee,
+0xef, 0xef, 0xef, 0x0f, 0xef, 0xef, 0xef, 0xef, 0x0e, 0x0e, 0x0e, 0x0e, 0xee, 0xee, 0xee, 0xee,
+0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xee, 0x0e, 0x0e, 0xe1, 0xe1, 0xe1, 0xe1, 0x1e,
+0x1e, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x01, 0x01,
+0x1e, 0x1e, 0x1e, 0xee, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x01, 0x01,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x01, 0x06,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0xe6, 0xe6, 0xe6,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0xe6, 0xe6,
+0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x66,
+0xee, 0xee, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xee, 0xee,
+0xee, 0xee, 0xee, 0x68, 0x61, 0x61, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0xee, 0xee, 0xee, 0xee, 0xee,
+0xee, 0xee, 0xee, 0xe8, 0x61, 0x61, 0x61, 0xe1, 0xe8, 0xe8, 0xee, 0xee, 0xee, 0xee, 0x1e, 0x1e,
+0xee, 0xee, 0xe1, 0xe8, 0xe8, 0xe1, 0xe1, 0xe8, 0xe8, 0x11, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
+
+0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
+0xee, 0xee, 0xe6, 0xe6, 0xee, 0xe6, 0xe6, 0xe6, 0xee, 0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xae, 0xae, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+0x6e, 0x6e, 0x6e, 0x6e, 0xae, 0xae, 0xae, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
+0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xe6, 0xe6,
+0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xae, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0xe6,
+0x60, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0xa6, 0xe6,
+0x60, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xae, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6,
+0x60, 0x6e, 0x6e, 0x6e, 0x6e, 0xae, 0xae, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6,
+0x6e, 0x6e, 0x6e, 0xae, 0xae, 0xae, 0xae, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xe6, 0xe6, 0xe6, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x16, 0x11, 0x11, 0x11, 0x11, 0x11,
+0x1e, 0x1e, 0x1e, 0x1e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x61, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1,
+0x11, 0x11, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0xa1, 0xa1, 0xa1, 0xa1,
+
+0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0xfe, 0xfe, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xfe, 0xf1, 0xf1, 0xfe, 0xff,
+0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf1, 0xf1, 0xfa, 0xfa, 0xfe, 0xff,
+0xfe, 0xfe, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf1, 0xf1, 0xf1, 0xfa, 0xfe, 0xfe, 0xff,
+0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf1, 0xf1, 0xf1, 0xfa, 0xfa, 0xfe, 0xfe, 0xef,
+0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xf1, 0xfa, 0xfa, 0xfa, 0xfe, 0xee, 0xaf,
+0xfa, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfa, 0xf1, 0xf1, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xef,
+0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xf1, 0xf1, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf1, 0xf1, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xef,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf1, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xef,
+0xf1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xf1, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xee, 0x6f,
+0xf1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xea, 0x6f,
+0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xea, 0x6f,
+0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xea, 0x6a,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xef, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf6, 0xf3, 0xf3, 0xfa, 0xfa, 0xfa, 0x6a, 0xef, 0xef, 0x6f, 0xff,
+0xff, 0xff, 0xff, 0xfe, 0xfa, 0xf3, 0xf3, 0xfa, 0xfe, 0x61, 0x61, 0xe1, 0xee, 0x6f, 0xff, 0xff,
+0xff, 0xff, 0xfe, 0xf6, 0xfa, 0xf3, 0xf3, 0xfa, 0x6e, 0x15, 0xe5, 0xe5, 0x1e, 0x6f, 0xff, 0xff,
+0xff, 0xff, 0xfe, 0xf6, 0xfa, 0xf3, 0x63, 0x6a, 0x1e, 0xe5, 0xe5, 0x15, 0x6e, 0xff, 0xff, 0xff,
+0xfe, 0xff, 0xfe, 0xf6, 0x66, 0x63, 0x13, 0x1a, 0xea, 0xea, 0x1a, 0x1a, 0x6e, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xff, 0x6e, 0x16, 0x16, 0x13, 0xe3, 0xe6, 0x1e, 0x1e, 0x6e, 0xff, 0xff, 0xff, 0xff,
+0xfa, 0xfe, 0xee, 0xee, 0x1e, 0x16, 0xe6, 0xe6, 0x16, 0x16, 0x1e, 0x6e, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xe6, 0x56, 0xea, 0xee, 0xe4, 0xee, 0x1e, 0x1e, 0x1e, 0x6e, 0xfe, 0xff, 0xff, 0xff, 0xff,
+0xe6, 0x66, 0x5a, 0x5e, 0xe4, 0xe8, 0x18, 0x1e, 0x16, 0x1e, 0x64, 0xf4, 0xfe, 0xff, 0xff, 0xfe,
+0x36, 0xea, 0x6e, 0x54, 0x58, 0xe8, 0xe8, 0x18, 0x1e, 0x68, 0xf8, 0xf8, 0xf4, 0xfe, 0xf7, 0xf3,
+0xe6, 0x1a, 0xee, 0x64, 0x58, 0x5e, 0xe8, 0xe8, 0x1e, 0x68, 0xf8, 0xf8, 0xf8, 0xf4, 0xf4, 0xfe,
+0xaa, 0xee, 0x14, 0xe8, 0x68, 0x5e, 0x58, 0xe8, 0x6e, 0xf8, 0xf8, 0xfc, 0xfe, 0xf8, 0xf8, 0xfe,
+0xaa, 0xae, 0xee, 0x18, 0xe8, 0x64, 0xee, 0xe8, 0xfe, 0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfe, 0xfa,
+0xaa, 0xae, 0xae, 0xee, 0x18, 0xe8, 0xf4, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xfe, 0xfa, 0xfa,
+
+0xef, 0xef, 0x1f, 0x1f, 0x8f, 0x1f, 0x8f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0xee,
+0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x8f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1e, 0x1e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1e, 0x1e, 0x1e,
+0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0xef, 0xee, 0xee, 0xee, 0x8e, 0x11, 0x11,
+0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1e, 0x1e, 0xee, 0xee, 0xee, 0xe1, 0x81, 0x11, 0x11,
+0x1f, 0x1f, 0x1f, 0x1f, 0xee, 0xee, 0xee, 0xee, 0x1e, 0xee, 0xe1, 0xe1, 0xe1, 0x81, 0x81, 0x11,
+0x1f, 0x1f, 0x6e, 0x6e, 0x6e, 0x6e, 0xee, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x11, 0x11, 0x81, 0x11,
+0x6f, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0xe1, 0xe1, 0xe1, 0xe1, 0x11, 0x11, 0x16,
+0x6f, 0x6e, 0x61, 0x61, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x61, 0xe1, 0xe1, 0xe6, 0xe6, 0x16,
+0x6f, 0x6e, 0x61, 0x61, 0x66, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0xe6, 0xe6, 0xe6, 0xe6,
+0x6f, 0x6e, 0x61, 0x61, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0xe6, 0xe6,
+0x6e, 0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0xe6,
+0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66,
+0x6e, 0x61, 0x61, 0x66, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0xe6, 0xe6,
+0x6e, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xee, 0xee, 0xe6,
+
+0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x11, 0x11, 0x11, 0x11, 0x61, 0x61, 0x61, 0x61, 0x61,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x66,
+0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x61, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x61, 0x68, 0x68, 0x6e, 0x6e, 0x6e, 0x01, 0x01, 0x01, 0x06, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x68, 0x68, 0x71, 0x7e, 0x0e, 0x0e, 0x01, 0x01, 0x01, 0x06, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x68, 0x61, 0x7e, 0x7e, 0x7e, 0x01, 0x01, 0x01, 0x01, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x61, 0x61, 0x6e, 0x7e, 0x7e, 0x01, 0x01, 0x01, 0x06, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x61, 0x61, 0x6e, 0x6e, 0x7e, 0x71, 0x01, 0x01, 0x06, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x61, 0x6e, 0x6e, 0x6e, 0x71, 0x71, 0x06, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x71, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x66, 0x06, 0x66, 0x66, 0x66, 0x66, 0x66, 0x06, 0x06,
+0x66, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x66, 0x06, 0x06, 0x06, 0x66, 0x06, 0x06, 0x06, 0x06, 0x06,
+0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x01, 0x66, 0x06, 0x06, 0x66, 0x66, 0x06, 0x06, 0x06, 0x06, 0x06,
+0x6e, 0x0e, 0x01, 0x01, 0x01, 0x06, 0x06, 0x66, 0x66, 0x66, 0x76, 0x76, 0x06, 0x06, 0x06, 0x06,
+0x71, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x66, 0x66, 0x66, 0x66, 0x76, 0x76, 0x06, 0x06, 0x07,
+
+0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xf6, 0xf6, 0xf6, 0xf6, 0xaa,
+0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xea, 0xf6, 0xf6, 0xf6, 0xf6, 0xa6, 0xf6, 0xaa,
+0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xf6, 0xf6, 0xa6, 0xf6, 0xa6, 0xf6, 0xf6,
+0x66, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xf6, 0xa6, 0xf6, 0xa6, 0xf6, 0xf6,
+0x66, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0x16, 0x16, 0xe6, 0xea, 0xf6, 0xa6, 0xa6, 0xf6, 0xa6,
+0x66, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0x16, 0xa6, 0xea, 0xa6, 0xa6, 0xf6, 0xf6, 0xa6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0x16, 0x16, 0x16, 0xe6, 0xa6, 0xf6, 0xf6, 0xa6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0x16, 0x16, 0x16, 0xe6, 0xa6, 0xa6, 0xf6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0xa6, 0x16, 0x16, 0xa6, 0xe6, 0xf6, 0xf6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0x16, 0x16, 0xe6, 0xe6, 0xf6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0x16, 0x16, 0xe6, 0xa6,
+0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0xa6, 0x16, 0x16, 0xe6,
+0xa0, 0xa0, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0x16, 0xe6,
+0xa0, 0xa0, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6,
+0xa0, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0xe6, 0xea,
+0xa0, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xfa,
+
+0xef, 0x4f, 0x8f, 0xef, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xef, 0xef, 0xff, 0xef, 0xaf, 0xae, 0xaa,
+0x4f, 0x8f, 0x8f, 0x8f, 0xcf, 0xef, 0xef, 0x8f, 0x4f, 0xef, 0xef, 0xef, 0xaf, 0xaf, 0xef, 0xee,
+0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0x3f, 0x3f, 0xef, 0xef, 0xfe, 0xf4,
+0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0xcf, 0xcf, 0xef, 0x3f, 0x3f, 0xef, 0xff, 0xfe, 0xf4, 0xf8,
+0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0xcf, 0xef, 0xef, 0xef, 0xef, 0xfe, 0xfe, 0xf4, 0xf8, 0xf8,
+0x8f, 0x8f, 0xef, 0xcf, 0x8f, 0xcf, 0xef, 0xaf, 0xae, 0xee, 0xfe, 0xf4, 0xf4, 0xf8, 0xf8, 0xf8,
+0xef, 0xef, 0xcf, 0x8f, 0x8f, 0xef, 0xfe, 0xee, 0xee, 0xf4, 0xf4, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
+0xef, 0xcf, 0x8f, 0x8f, 0xee, 0xfe, 0xfe, 0xfe, 0xf4, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfe, 0xfe,
+0xce, 0x8e, 0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xf8, 0xf8, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc,
+0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xfe,
+0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xff, 0xff,
+0xff, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xfe, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xee, 0x1e, 0xea, 0xea, 0xee, 0xce, 0xef, 0xef, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xef, 0xef, 0xef,
+0xef, 0x1f, 0xee, 0xee, 0xef, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0x6f, 0x6f, 0x6f, 0x6f, 0xaf, 0xef,
+0xef, 0x1f, 0xef, 0xef, 0xef, 0xcf, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0x6f, 0x6f, 0x6f, 0xaf, 0xaf,
+0xef, 0xef, 0xef, 0xef, 0x2f, 0xef, 0xef, 0xcf, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0x6f, 0xaf, 0xaf,
+0xff, 0xef, 0xef, 0xef, 0x2f, 0x2f, 0xef, 0xef, 0xcf, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0x6f, 0xaf,
+0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0x2f, 0xef, 0xef, 0xef, 0xcf, 0xcf, 0xef, 0xef, 0xef, 0xaf,
+0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0x2f, 0x2f, 0xef, 0xef, 0xcf, 0xcf, 0xcf, 0xef, 0xaf,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0x2f, 0x2f, 0x2f, 0xef, 0xef, 0xcf, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0x2f, 0x2f, 0xef, 0xef, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0x2f, 0x2f, 0x2f, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0x2f, 0x2f, 0x2f, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0x2f, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0x1e, 0x1e, 0x16, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x71,
+0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x66, 0x66,
+0x6a, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x61, 0x66, 0x66, 0x66,
+0x6a, 0x6a, 0x6a, 0x6a, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6a, 0x6a, 0x6a, 0x6a, 0x6e, 0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x6a, 0x66, 0x66, 0x66, 0x66,
+0x6a, 0x6a, 0x6a, 0x6e, 0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6a, 0x6a, 0x6a, 0x66,
+0x6a, 0x6a, 0x6a, 0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6a, 0x6a, 0x6e, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6a, 0x6a, 0x6e, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xa6, 0xa6, 0xa6,
+0x6e, 0x6a, 0x6a, 0x6e, 0x61, 0x66, 0x66, 0x66, 0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6,
+0x6e, 0x6a, 0x6a, 0x6e, 0x61, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
+0x6e, 0xea, 0xea, 0xee, 0xe1, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xf6, 0xf6, 0xf6, 0xf6,
+0xee, 0xea, 0xea, 0xee, 0xe1, 0xe6, 0xe6, 0xf6, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe,
+0xee, 0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff,
+
+0x07, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0xa7, 0xa7, 0xa0,
+0x77, 0x67, 0x60, 0x60, 0x60, 0x60, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xa7, 0xa7, 0xa7, 0xa7,
+0x66, 0x67, 0x67, 0x60, 0x60, 0x60, 0x66, 0x66, 0x66, 0x66, 0x66, 0xa6, 0xa6, 0xa6, 0xa7, 0xa7,
+0x66, 0x66, 0x67, 0x67, 0x60, 0x66, 0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6,
+0x66, 0x66, 0x66, 0xa7, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6,
+0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xea, 0xea, 0xea,
+0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
+0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe,
+0xe6, 0xea, 0xea, 0xea, 0xea, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+0xfa, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff,
+0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xea, 0xee, 0xee, 0xef, 0xef, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
+0xfa, 0xfa, 0xfa, 0xea, 0xea, 0xae, 0xae, 0xae, 0xaf, 0xaf, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xfa, 0xfa, 0xfa, 0xea, 0xaa, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f, 0xaf, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xfa, 0xfa, 0xee, 0x0e, 0xae, 0x5e, 0x5f, 0x5f, 0x5f, 0x5f, 0xaf, 0x0f, 0xef, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xee, 0x0e, 0xaf, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0xaf, 0x0f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xef, 0x0f, 0x6f, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0x6f, 0x0f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x6f, 0xef, 0xef, 0xef, 0xef, 0xef, 0x6f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0xef, 0x6f, 0xef, 0xef, 0xef, 0x6f, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x4f, 0xef, 0x6f, 0x6f, 0x6f, 0xef, 0x4f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x6f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff,
+0xff, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff,
+0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff,
+0xef, 0x4f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x4f, 0xef, 0xff,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xfe, 0xfd, 0xf7, 0xf7, 0xfb, 0xfd, 0xfe, 0xfb, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xff, 0xfd, 0xe7, 0xe3, 0xf3, 0xf7, 0xfa, 0xfa, 0xfa, 0xff,
+0xff, 0xff, 0xef, 0xff, 0xff, 0xef, 0xea, 0xea, 0xe3, 0xf3, 0xf7, 0xfd, 0xf6, 0xf1, 0xf1, 0xfa,
+0xff, 0xfe, 0xee, 0xef, 0xff, 0xfe, 0xe6, 0xea, 0xf3, 0xf3, 0xe7, 0xee, 0xf9, 0xf5, 0xf5, 0xfa,
+0xff, 0xff, 0xfe, 0xee, 0xee, 0xfe, 0xf6, 0xf6, 0xf3, 0xe3, 0xea, 0xfd, 0xf6, 0xf5, 0xf5, 0xfb,
+0xff, 0xff, 0xfa, 0xea, 0xea, 0xfe, 0xfb, 0xf6, 0xe3, 0xe3, 0xf7, 0xfa, 0xfa, 0xfa, 0xfa, 0xfd,
+0xff, 0xfe, 0xee, 0xee, 0xfe, 0xfe, 0xfe, 0xfb, 0xf6, 0xe3, 0xe3, 0xf6, 0xfb, 0xfe, 0xfe, 0xff,
+0xff, 0xff, 0xef, 0xfe, 0xf6, 0xe6, 0xea, 0xee, 0xf4, 0xfe, 0xee, 0xfe, 0xfe, 0xfe, 0xfe, 0xff,
+0xff, 0xff, 0xfe, 0xf6, 0xe6, 0xea, 0xfe, 0xe4, 0xe8, 0xf8, 0xfe, 0xf6, 0xfe, 0xf4, 0xf4, 0xfe,
+0xdf, 0x7f, 0xfe, 0xf6, 0xea, 0xfe, 0xf4, 0xf8, 0xe8, 0xf8, 0xf8, 0xfe, 0xf8, 0xf8, 0xf8, 0xf4,
+0x4f, 0x4e, 0xe6, 0xf6, 0xfa, 0xfe, 0xf4, 0xf8, 0xfe, 0xf8, 0xf8, 0xfe, 0xf8, 0xf8, 0xf8, 0xf8,
+0x8f, 0x8e, 0xe6, 0xea, 0xee, 0xf4, 0xf8, 0xf8, 0xfe, 0xf8, 0xf8, 0xfe, 0xf8, 0xf8, 0xfc, 0xfe,
+0xef, 0xee, 0xe6, 0xea, 0x3e, 0xee, 0xe8, 0xf8, 0xf4, 0xfe, 0xf8, 0xfe, 0xf8, 0xfc, 0xfe, 0xff,
+0xff, 0xfe, 0xe6, 0xea, 0x3e, 0x3e, 0xee, 0xf8, 0xf8, 0xf4, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x2f, 0xef, 0x1f,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x2f, 0xef, 0x1f,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0x9f, 0x9f,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee,
+0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xef, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0xef, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x6f, 0x6e, 0x6e, 0x60, 0x61, 0x61,
+0xef, 0xef, 0xef, 0x0f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xe0, 0x60, 0x61,
+
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf1, 0xf1, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xf9, 0xf9, 0xf1, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf9, 0xf9, 0xf1, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xf9, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xf9, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xf9, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xf9, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf9, 0xf1, 0xf1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff,
+0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf1, 0xf1, 0xfe, 0xfe, 0xfe,
+0xe1, 0xe1, 0xe1, 0xf1, 0xf6, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf1, 0xf1, 0xf1, 0xf1, 0xfe,
+0x66, 0xe6, 0xe6, 0xe6, 0xe6, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
+0x66, 0x66, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xfe, 0xfe, 0xfe, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
+
+0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef,
+0x4f, 0x8f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x8f, 0x4f, 0xef,
+0xef, 0xef, 0xef, 0xef, 0x4f, 0x4f, 0x8f, 0x8f, 0x8f, 0x4f, 0x4f, 0xef, 0xef, 0xef, 0xef, 0xef,
+0x4f, 0x4f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x4f, 0x4f, 0xef,
+0x4f, 0xef, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0xef, 0x4f, 0xef,
+0xef, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xef, 0xff,
+0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0x4f, 0x8f, 0x8f, 0xef, 0x8f, 0x8f, 0x4f, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xff, 0xfe, 0xf6, 0xfa, 0xea, 0xe6, 0xfe, 0xfe, 0xf8, 0xf8, 0xf4, 0xfe, 0xfe, 0xfe, 0xff, 0xff,
+0xff, 0xfe, 0xfe, 0xfa, 0xfa, 0xfe, 0xf8, 0xfc, 0xfe, 0xfe, 0xf8, 0xf4, 0xfe, 0xfe, 0xfe, 0xff,
+0xff, 0xff, 0xfe, 0xfa, 0xfa, 0xfe, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xf3, 0xf3, 0xfd,
+0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfd, 0xf3, 0xf3, 0xfd, 0xfe,
+0xef, 0xef, 0xef, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0xfc, 0xfe, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe,
+0xef, 0x4f, 0xef, 0xef, 0xef, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0xf8, 0xe4, 0xe4, 0xe4, 0xe4, 0xfe,
+0xef, 0xef, 0x8f, 0x4f, 0x4f, 0xef, 0xef, 0xfe, 0xfe, 0xf8, 0xe8, 0xe8, 0xa8, 0xe8, 0xe4, 0xf4,
+0x4f, 0x4f, 0xef, 0xef, 0x8f, 0x4f, 0x4f, 0xef, 0xee, 0xee, 0xac, 0xa8, 0xa8, 0xe8, 0xf8, 0xf4,
+0x4f, 0x4f, 0x4f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xaf, 0xae, 0xee, 0xee, 0xec, 0xec, 0xf8, 0xf8,
+0x8f, 0x8f, 0x8f, 0x4f, 0xef, 0x4f, 0x4f, 0x4f, 0xef, 0xef, 0xef, 0xef, 0xae, 0xee, 0xfe, 0xfc,
+0xef, 0xcf, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0xef, 0xef, 0xef, 0xaf, 0xaf, 0xaf, 0xef, 0xfe, 0xfe,
+0xef, 0xef, 0xef, 0xef, 0xcf, 0xef, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xef, 0xef, 0xef, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0x0f, 0x0f, 0x0f,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0x0f, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef,
+0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0xef,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e,
+0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x6e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e,
+0xef, 0xef, 0xef, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x6e,
+0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee,
+0xef, 0xef, 0xef, 0x8f, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee,
+0xef, 0xef, 0xef, 0x8f, 0x1f, 0x1f, 0x1f, 0x1f, 0x8f, 0x8f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee,
+0xef, 0xef, 0x1f, 0x8f, 0x8f, 0x1f, 0x1f, 0x8f, 0x8f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee,
+
+0x6e, 0x6e, 0x6e, 0x60, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e,
+0xee, 0xee, 0x60, 0x60, 0xe0, 0x61, 0x6e, 0x6e, 0xee, 0xe0, 0xe1, 0xe1, 0xee, 0xee, 0xee, 0xee,
+0xee, 0xee, 0xe0, 0xe0, 0xe0, 0xee, 0xee, 0xee, 0xe0, 0xe0, 0xe0, 0xe1, 0xee, 0xee, 0xee, 0xee,
+0xee, 0xee, 0xee, 0xe0, 0xee, 0xee, 0xee, 0x6e, 0x60, 0x60, 0x60, 0x60, 0x6e, 0x6e, 0xee, 0xee,
+0x1e, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x6e, 0x6e, 0x60, 0x60, 0x6e, 0x6e, 0x6e, 0xee, 0xe1,
+0x11, 0x1e, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xee, 0xe0, 0x60,
+0x01, 0x11, 0xe1, 0xee, 0xee, 0xee, 0xee, 0xee, 0x6e, 0x6e, 0x6e, 0xee, 0xee, 0xee, 0x60, 0x60,
+0x06, 0x16, 0xe6, 0xee, 0xee, 0xe6, 0xe6, 0xe6, 0x6e, 0x6e, 0xee, 0xee, 0x6e, 0x6e, 0x60, 0x60,
+0x06, 0xe6, 0xe6, 0xe6, 0xee, 0xe6, 0xe6, 0x66, 0x66, 0xe6, 0xe6, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e,
+0xe6, 0xe6, 0xe6, 0xe6, 0xee, 0xe6, 0xe6, 0x66, 0x66, 0xe6, 0xe6, 0x66, 0x66, 0x6e, 0x6e, 0x6e,
+0xe6, 0xe6, 0xe6, 0xe6, 0xee, 0xee, 0xe6, 0x66, 0x66, 0x66, 0xe6, 0xe6, 0xe6, 0xe6, 0xee, 0xee,
+0xe6, 0xe6, 0xe6, 0xe6, 0xee, 0xee, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
+0xee, 0xee, 0xe6, 0xee, 0xee, 0xee, 0xe6, 0xe6, 0xe6, 0xe6, 0x66, 0x16, 0x16, 0x16, 0x1e, 0xee,
+0xee, 0xee, 0xee, 0xee, 0xe6, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x1e, 0x1e, 0x1e, 0x1e, 0xee,
+0x1e, 0x1e, 0x1e, 0x1e, 0xe6, 0x16, 0x16, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x11, 0xe1,
+0x1e, 0x1e, 0x1e, 0x1e, 0xee, 0xee, 0x1e, 0x1e, 0x1e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0xe1,
+
+0xfe, 0xfe, 0xfe, 0xae, 0xfe, 0xfe, 0xfe, 0xae, 0xae, 0xaf, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xae, 0xaf, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xae, 0xae, 0xae, 0xae, 0xaa, 0xfa, 0xfa, 0xfe, 0xfe, 0xae, 0xee, 0xee, 0xee, 0xfe,
+0xf6, 0xf6, 0xf6, 0xf6, 0xfa, 0xfa, 0xfa, 0xaa, 0xfa, 0xfe, 0xae, 0xee, 0x1e, 0x1e, 0xee, 0xfe,
+0xee, 0xfe, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xfa, 0xfa, 0xae, 0x1e, 0x1e, 0xaa, 0xaa, 0xee, 0xfe,
+0xe6, 0xee, 0xfe, 0xf6, 0xa6, 0xa6, 0xa6, 0xaa, 0xaa, 0x1a, 0x1e, 0x1e, 0xaa, 0xea, 0xea, 0xfe,
+0xe6, 0xe6, 0xee, 0xfe, 0xf6, 0xf6, 0xf6, 0xa6, 0x1a, 0x1a, 0x1a, 0xae, 0xae, 0xea, 0xea, 0xfe,
+0xe6, 0xe6, 0xe6, 0xfe, 0xfe, 0xf6, 0xf6, 0xea, 0x1a, 0x1a, 0xaa, 0xae, 0xae, 0xee, 0xea, 0xfa,
+0xa6, 0xe6, 0xe6, 0xe6, 0xfe, 0xfe, 0xae, 0x1a, 0x1a, 0xaa, 0xaa, 0xaa, 0xae, 0xee, 0xee, 0xfa,
+0xe6, 0xe6, 0xe6, 0xea, 0xfa, 0xea, 0xee, 0x1e, 0x1a, 0xaa, 0xaa, 0xae, 0xee, 0xee, 0xee, 0xfe,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x1e, 0x1e, 0xae, 0xae, 0xae, 0xae, 0xee, 0xee, 0xee, 0xfe,
+0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x1e, 0xae, 0xae, 0xae, 0xae, 0xee, 0xee, 0xee, 0xee, 0xfe,
+0x11, 0xe1, 0xe1, 0xe1, 0xe1, 0xa1, 0x11, 0xa1, 0xa1, 0xa1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xf1,
+0x11, 0xe1, 0xe1, 0xe1, 0xe1, 0xa1, 0xa1, 0xa1, 0xa1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xa1, 0xf1,
+0xa1, 0xa1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xa1, 0xe1, 0xe6, 0xea, 0xea, 0xea, 0xfa, 0xaa, 0xfa,
+0xa1, 0xa1, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xfa, 0xaa, 0xaa,
+
+0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf8, 0xf3, 0xf3, 0xf3, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf8, 0xfe, 0xfe, 0xff, 0xff,
+0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf3, 0xe3, 0xe0, 0xe0, 0xe0, 0xe3, 0xf8, 0xf8, 0xfe, 0xff, 0xff,
+0xef, 0xff, 0xfe, 0xfe, 0xf8, 0xe3, 0x30, 0x30, 0x30, 0x30, 0x30, 0xee, 0xfe, 0xfe, 0xfe, 0xfe,
+0xef, 0xef, 0xfe, 0xfe, 0xe8, 0x83, 0x30, 0x00, 0x00, 0x08, 0x08, 0x38, 0xe8, 0xf8, 0xf8, 0xf8,
+0x8f, 0xef, 0xff, 0xfe, 0xe8, 0x88, 0x33, 0x03, 0x08, 0x08, 0x03, 0x33, 0x33, 0xe3, 0xf8, 0xf8,
+0x8f, 0xef, 0xff, 0xfe, 0xee, 0x8e, 0x3e, 0x33, 0x38, 0x03, 0x03, 0x33, 0x33, 0xe3, 0xf3, 0xf3,
+0x3f, 0x8f, 0xef, 0xef, 0x3f, 0x3e, 0x3e, 0x8e, 0x38, 0x33, 0x33, 0x33, 0x30, 0xe0, 0xf3, 0xf3,
+0x0f, 0x0f, 0x3f, 0x8f, 0x8f, 0x8f, 0x3f, 0x3e, 0x83, 0x83, 0x83, 0x80, 0xe0, 0xe0, 0xf0, 0xf0,
+0x0f, 0x0f, 0x0f, 0x3f, 0x3f, 0x8f, 0x8e, 0x38, 0x33, 0xe3, 0xe0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0,
+0x0f, 0x0f, 0x0f, 0x0f, 0x3f, 0x3f, 0x3e, 0x83, 0x33, 0x83, 0x80, 0x80, 0xe0, 0xe0, 0xe0, 0xf0,
+0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x3f, 0x3e, 0x83, 0x33, 0x33, 0x00, 0x00, 0x30, 0x80, 0xe0, 0xf0,
+0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x3e, 0x88, 0xe3, 0x83, 0x30, 0x00, 0x30, 0x80, 0xe0, 0xf0,
+0x0f, 0x0f, 0x0f, 0x0e, 0x08, 0x08, 0x33, 0x33, 0x38, 0xe3, 0x30, 0x30, 0x30, 0x80, 0xe0, 0xf0,
+
+0xef, 0xef, 0x1f, 0x1f, 0x8f, 0x1f, 0x8f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0xee,
+0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x8f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1e, 0x1e,
+0xef, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1e, 0x1e, 0x1e,
+0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1f, 0x1f, 0x1f, 0xef, 0xee, 0xee, 0xee, 0x8e, 0x11, 0x11,
+0x1f, 0x1f, 0x1f, 0xef, 0xef, 0xef, 0xef, 0x1e, 0x1e, 0xee, 0xee, 0xee, 0xe1, 0x81, 0x11, 0x11,
+0x1f, 0x1f, 0x1f, 0xef, 0xee, 0xee, 0xee, 0xee, 0x1e, 0xee, 0xe1, 0xe1, 0xe1, 0x81, 0x81, 0x11,
+0x1f, 0x1f, 0x6e, 0xee, 0x6e, 0x6e, 0xee, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x11, 0x11, 0x81, 0x11,
+0x6f, 0x6e, 0x6e, 0xee, 0x6e, 0x61, 0x61, 0x61, 0x61, 0xe1, 0xe1, 0xe1, 0xe1, 0x11, 0x11, 0x16,
+0x6f, 0x6e, 0x61, 0xe1, 0x6e, 0x6e, 0x61, 0x61, 0x61, 0x61, 0x61, 0xe1, 0xe1, 0xe6, 0xe6, 0x16,
+0x6f, 0x6e, 0x61, 0xe1, 0xe6, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0xe6, 0xe6, 0xe6, 0xe6,
+0x6f, 0x6e, 0x61, 0xe1, 0xe6, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0xe6, 0xe6, 0xe6, 0xe6,
+0xee, 0x6e, 0xe1, 0xe1, 0x66, 0x66, 0x66, 0xe6, 0xee, 0xee, 0xee, 0xe6, 0x6e, 0x6e, 0x6e, 0xee,
+0xee, 0xe1, 0xe1, 0xe6, 0xe6, 0xe6, 0xe6, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e,
+0x6e, 0x61, 0x61, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66,
+0x6e, 0x61, 0x61, 0x66, 0x6e, 0x6e, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xe6, 0xe6,
+0x6e, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x6e, 0x66, 0xee, 0xee, 0xe6,
+
+0x1e, 0x1e, 0x1e, 0x1e, 0xee, 0xee, 0x1e, 0x11, 0x11, 0x11, 0x11, 0x61, 0x61, 0x61, 0x61, 0xe1,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xee, 0xe1, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0xe1, 0xb6,
+0x61, 0x61, 0x6e, 0x6e, 0x6e, 0x6e, 0xe1, 0xe1, 0x61, 0x61, 0x61, 0xe6, 0xe6, 0xe6, 0xb6, 0xb6,
+0x61, 0x61, 0x61, 0x6e, 0x6e, 0x6e, 0xe1, 0xe1, 0xb1, 0x66, 0xe6, 0xe6, 0xb6, 0xb6, 0xb6, 0x66,
+0x61, 0x68, 0x68, 0x6e, 0x6e, 0x6e, 0x01, 0xe1, 0xb1, 0xb6, 0xe6, 0xb6, 0x66, 0x66, 0x66, 0x66,
+0x68, 0x68, 0x71, 0x7e, 0x0e, 0x0e, 0x01, 0xe1, 0xe1, 0xb6, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x68, 0x61, 0x7e, 0x7e, 0x7e, 0x01, 0x01, 0x01, 0xe1, 0xb6, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x61, 0x61, 0x6e, 0x7e, 0x7e, 0x01, 0x01, 0x01, 0xe6, 0xb6, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x61, 0x61, 0x6e, 0x6e, 0x7e, 0x71, 0x01, 0x01, 0xe6, 0xb6, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x61, 0x6e, 0x6e, 0x6e, 0x71, 0x71, 0x06, 0xe6, 0xe6, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x71, 0x66, 0x66, 0xe6, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0x66, 0xe6, 0xe6, 0xe6, 0xe6, 0x66, 0x66, 0x06, 0x06,
+0x66, 0x6e, 0x6e, 0x6e, 0x61, 0x61, 0xe6, 0xe6, 0xb6, 0xb6, 0xb6, 0xb6, 0xe6, 0xe6, 0x06, 0x06,
+0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0xee, 0xe6, 0xb6, 0xb6, 0x66, 0x66, 0xb6, 0xb6, 0xe6, 0xe6, 0x06,
+0x6e, 0x0e, 0x01, 0x01, 0xe1, 0xee, 0xb6, 0x66, 0x66, 0x66, 0x76, 0x76, 0xb6, 0xb6, 0xb6, 0xe6,
+0x71, 0x01, 0x01, 0xe1, 0xe6, 0xbe, 0xbe, 0x66, 0x66, 0x66, 0x66, 0x76, 0x76, 0x06, 0xb6, 0xb7,
+
+0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xf6, 0xf6, 0xf6, 0xf6, 0xaa,
+0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xea, 0xf6, 0xf6, 0xf6, 0xf6, 0xa6, 0xf6, 0xaa,
+0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xf6, 0xf6, 0xa6, 0xf6, 0xa6, 0xf6, 0xf6,
+0x66, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xf6, 0xa6, 0xf6, 0xa6, 0xf6, 0xf6,
+0x66, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0x16, 0x16, 0xe6, 0xea, 0xf6, 0xa6, 0xa6, 0xf6, 0xa6,
+0x66, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0x16, 0xa6, 0xea, 0xa6, 0xa6, 0xf6, 0xf6, 0xa6,
+0xe6, 0xb6, 0xb6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0x16, 0x16, 0x16, 0xe6, 0xa6, 0xf6, 0xfe, 0xae,
+0xb6, 0xb6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0x16, 0x16, 0x16, 0xe6, 0xae, 0xab, 0xfb,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0xa6, 0x16, 0x1e, 0xae, 0xeb, 0xfb, 0xf6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0x1e, 0x1b, 0xeb, 0xe6, 0xf6,
+0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xae, 0xab, 0x1b, 0x16, 0xe6, 0xa6,
+0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xa6, 0xae, 0xab, 0xa6, 0x16, 0x16, 0xe6,
+0xa0, 0xa0, 0xa6, 0xae, 0xae, 0xae, 0xee, 0xee, 0xee, 0xae, 0xab, 0xab, 0xa6, 0xa6, 0x16, 0xe6,
+0xa0, 0xa0, 0xae, 0xae, 0xae, 0xab, 0xeb, 0xeb, 0xeb, 0xeb, 0xab, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6,
+0xae, 0xae, 0xab, 0xab, 0xab, 0xab, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xa6, 0xa6, 0xa6, 0xe6, 0xea,
+0xae, 0xab, 0xab, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xfa,
+
+0x0f, 0x0f, 0x0e, 0x08, 0x08, 0x08, 0x03, 0x33, 0x38, 0x33, 0x83, 0xe0, 0x80, 0xe0, 0xe0, 0xf0,
+0x0f, 0x0f, 0x0e, 0x08, 0x08, 0x03, 0x03, 0x38, 0x38, 0x33, 0x83, 0xe3, 0xe0, 0xe0, 0xf0, 0xf0,
+0x0f, 0x0f, 0x0e, 0x0e, 0x08, 0x03, 0x33, 0x38, 0x38, 0x33, 0x83, 0xe3, 0xe3, 0xf3, 0xf0, 0xf0,
+0x3f, 0x0f, 0x0f, 0x0e, 0x38, 0x33, 0x33, 0x33, 0x38, 0x88, 0x83, 0xe3, 0xe3, 0xf3, 0xf3, 0xf3,
+0x3f, 0x3f, 0x3e, 0x3e, 0x38, 0x83, 0x80, 0x80, 0x83, 0x88, 0xe8, 0xe3, 0xf3, 0xf3, 0xf8, 0xf8,
+0x8f, 0x3e, 0x3e, 0x38, 0x83, 0x33, 0x30, 0x30, 0xe0, 0xe3, 0xe8, 0xe8, 0xe8, 0xf8, 0xfe, 0xfe,
+0xef, 0xee, 0x88, 0x88, 0x83, 0x33, 0x80, 0x80, 0x80, 0x83, 0xe3, 0xe8, 0xe8, 0xfe, 0xfe, 0xf8,
+0x8f, 0xee, 0xe8, 0x38, 0x38, 0x33, 0x33, 0x33, 0x30, 0x33, 0x83, 0x83, 0xe3, 0xee, 0xf3, 0xf8,
+0x8f, 0xee, 0x8e, 0x88, 0x88, 0x38, 0x33, 0x03, 0x03, 0x33, 0x33, 0x83, 0x88, 0xe8, 0xf3, 0xf8,
+0x3f, 0xee, 0x8e, 0x8e, 0x38, 0x38, 0x08, 0x08, 0x08, 0x03, 0x03, 0x38, 0x88, 0xe8, 0xfe, 0xfe,
+0xef, 0xee, 0x8e, 0x8e, 0x3e, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3e, 0x8e, 0xee, 0xfe, 0xfe,
+0xef, 0xef, 0xef, 0x8e, 0x8e, 0x3e, 0x3e, 0x0e, 0x08, 0x08, 0x3e, 0x3e, 0x8e, 0xee, 0xfe, 0xff,
+0xff, 0xef, 0xef, 0xef, 0x8e, 0xee, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x8e, 0xef, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0xef, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xee, 0xe1, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0xe6, 0xee, 0xe6, 0x1e, 0x1e, 0x1e,
+0xee, 0xe1, 0xee, 0x6e, 0x6e, 0x6c, 0xec, 0xee, 0xee, 0xee, 0xe6, 0xee, 0x16, 0x16, 0x1a, 0x1e,
+0xee, 0xe1, 0xee, 0xee, 0xee, 0xec, 0xec, 0xec, 0xee, 0xee, 0x1e, 0x1e, 0x16, 0x16, 0x6a, 0x6a,
+0xae, 0xee, 0xee, 0xee, 0xe2, 0xee, 0xee, 0xec, 0x1c, 0x1c, 0x1e, 0x1e, 0x1e, 0x66, 0x6a, 0x6a,
+0xaf, 0xae, 0xae, 0xae, 0xe2, 0xe2, 0xee, 0x1e, 0x1c, 0x6c, 0x6c, 0x6e, 0x6e, 0x6e, 0x66, 0x6a,
+0xaf, 0xaf, 0xae, 0xae, 0xee, 0xee, 0x12, 0x1e, 0x6e, 0x6e, 0x6c, 0xac, 0x6e, 0x6e, 0x6e, 0x6a,
+0xaf, 0xaf, 0xaf, 0xef, 0xee, 0x1e, 0x1e, 0x62, 0x62, 0x6e, 0x6e, 0x6c, 0xac, 0xac, 0xae, 0x6a,
+0xaf, 0xaf, 0xaf, 0xef, 0x1f, 0x1f, 0x6e, 0x6e, 0x62, 0x62, 0x62, 0x6e, 0x6e, 0x6c, 0x6e, 0x6e,
+0xef, 0xaf, 0xaf, 0xef, 0x1f, 0x6f, 0x6f, 0x6e, 0x6e, 0x6e, 0x62, 0x62, 0x6e, 0x6e, 0x6e, 0x6e,
+0xef, 0xaf, 0xaf, 0xef, 0x1f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e, 0x6e, 0x62, 0x62, 0x62, 0x6e, 0x6e,
+0xef, 0xaf, 0xaf, 0xef, 0x1f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e, 0x6e, 0x62, 0x62, 0x62, 0x6e,
+0xef, 0xaf, 0xaf, 0xef, 0x1f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e, 0x6e, 0x6e, 0x62, 0x6e,
+0xef, 0xaf, 0xaf, 0xef, 0x1f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6e, 0x6e, 0x6e, 0x6e,
+0xef, 0xaf, 0xaf, 0xef, 0x1f, 0x6f, 0x6f, 0x6f, 0xaf, 0xaf, 0xaf, 0xaf, 0xef, 0xef, 0xee, 0xee,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee,
+0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff,
+
+0x71, 0x01, 0x01, 0xe6, 0xe6, 0xb6, 0x0e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0x76, 0x76, 0x76, 0xb7,
+0x76, 0x76, 0x06, 0xe6, 0xb6, 0xb6, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x66, 0x76, 0x76, 0x76, 0x76,
+0x66, 0x76, 0x76, 0xe6, 0xb6, 0x06, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x66, 0x66, 0x66, 0x76, 0x76,
+0xe6, 0xe6, 0xe6, 0xe6, 0xb6, 0x66, 0x66, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e,
+0x66, 0xe6, 0xe6, 0xe6, 0xb6, 0x66, 0x66, 0x6e, 0x6b, 0x6b, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+0x66, 0x66, 0xe6, 0xb6, 0xbe, 0x6e, 0x6e, 0x6b, 0x6b, 0x66, 0x66, 0x66, 0x66, 0xa6, 0xa6, 0xa6,
+0x66, 0x66, 0xee, 0xbe, 0x6e, 0x6e, 0x6b, 0x6b, 0x66, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6,
+0x66, 0x6e, 0xee, 0xbe, 0xab, 0xab, 0xab, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6,
+0x66, 0xee, 0xee, 0xbb, 0xab, 0xa6, 0xa6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
+0xe6, 0xee, 0xee, 0xeb, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xea, 0xfa,
+0xe6, 0xee, 0xee, 0xeb, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe,
+0xe6, 0xfe, 0xfe, 0xfb, 0xf6, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+0xf6, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+
+0xab, 0xae, 0xa6, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xf6, 0xe6, 0xe6, 0xe6, 0xe6, 0xea, 0xea, 0xfa,
+0xab, 0xab, 0xae, 0xa6, 0xa6, 0xa6, 0xe6, 0xe6, 0xf6, 0xf6, 0xe6, 0xe6, 0xea, 0xfa, 0xfa, 0xfa,
+0xa6, 0xab, 0xab, 0xae, 0xa6, 0xe6, 0xe6, 0xe6, 0xf6, 0xf6, 0xf6, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
+0xa6, 0xa6, 0xab, 0xab, 0xab, 0xee, 0xe6, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
+0xa6, 0xa6, 0xe6, 0xea, 0xeb, 0xeb, 0xfe, 0xfe, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
+0xea, 0xea, 0xea, 0xea, 0xfa, 0xfb, 0xfb, 0xfb, 0xfe, 0xfa, 0xfa, 0xfa, 0xfa, 0xfe, 0xfe, 0xfe,
+0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+};
+static PROGMEM prog_uchar sprite_sprpal[] = {
+
+0xf0, 0x7f, 0x39, 0x67, 0x26, 0x1b, 0x49, 0x66, 0x8c, 0x7d, 0x93, 0x31, 0x8c, 0x31, 0x84, 0x31,
+0xa6, 0x68, 0xcc, 0x18, 0xc6, 0x18, 0x84, 0x10, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+};
diff --git a/src/sprite_test/sprite_test.pde b/src/sprite_test/sprite_test.pde
index 9768498..111c09e 100644
--- a/src/sprite_test/sprite_test.pde
+++ b/src/sprite_test/sprite_test.pde
@@ -6,11 +6,22 @@
#define JAWS_OPEN 0
#define JAWS_CLOSED 1
-#define SWIM_SPEED 4
-#define FLOW_SPEED
+#define SWIM_SPEED 1
+#define FLOW_SPEED 2
+
+#define KEY_UP(x) ((x >> 7) & 0x01)
+#define KEY_DOWN(x) ((x >> 6) & 0x01)
+#define KEY_LEFT(x) ((x >> 5) & 0x01)
+#define KEY_RIGHT(x) ((x >> 4) & 0x01)
+#define KEY_C(x) ((x >> 3) & 0x01)
+#define KEY_V(x) ((x >> 2) & 0x01)
+#define KEY_SPACE(x) ((x >> 1) & 0x01)
+#define KEY_ESCAPE(x) ((x >> 0) & 0x01)
+static boolean last_space = false;
static unsigned int t = 0;
static uint16 swimx, swimy;
+static int8 swimvx, swimvy;
static uint16 narcox, narcoy;
static int8 narcovx, narcovy;
static uint8 swim_jaws;
@@ -103,6 +114,74 @@ static void draw_swim(int x, int y, boolean is_open) {
}
}
+void static old_process_keypress() {
+ if(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ while(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ }
+ SerialUSB.println(inchar, 16);
+ switch(inchar) {
+ case 'w':
+ swimy -= SWIM_SPEED;
+ break;
+ case 's':
+ swimy += SWIM_SPEED;
+ break;
+ case 'a':
+ swimx -= SWIM_SPEED;
+ break;
+ case 'd':
+ swimx += SWIM_SPEED;
+ break;
+ case 'W':
+ swimy -= SWIM_SPEED;
+ swim_jaws = 20;
+ break;
+ case 'S':
+ swimy += SWIM_SPEED;
+ swim_jaws = 20;
+ break;
+ case 'A':
+ swimx -= SWIM_SPEED;
+ swim_jaws = 20;
+ break;
+ case 'D':
+ swimx += SWIM_SPEED;
+ swim_jaws = 20;
+ break;
+ case ' ':
+ swim_jaws = 20;
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void static process_keypress() {
+ if(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ while(SerialUSB.available()) {
+ inchar = SerialUSB.read();
+ }
+ SerialUSB.println(inchar, 2);
+ swimvx = 0;
+ swimvy = 0;
+ if (KEY_LEFT(inchar)) { swimvx -= SWIM_SPEED; }
+ if (KEY_RIGHT(inchar)) { swimvx += SWIM_SPEED; }
+ if (KEY_UP(inchar)) { swimvy -= SWIM_SPEED; }
+ if (KEY_DOWN(inchar)) { swimvy += SWIM_SPEED; }
+ if (KEY_SPACE(inchar) and !last_space) { swim_jaws = 20; }
+ if (!KEY_SPACE(inchar)) { swim_jaws = 0; }
+ last_space = KEY_SPACE(inchar);
+ if (KEY_ESCAPE(inchar)) {
+ sunk_ship = false;
+ narcoy = 150;
+ }
+ }
+}
+
void setup()
{
pinMode(BOARD_BUTTON_PIN, INPUT);
@@ -161,49 +240,9 @@ void loop()
swim_jaws -= 1;
}
- if(SerialUSB.available()) {
- inchar = SerialUSB.read();
- while(SerialUSB.available()) {
- inchar = SerialUSB.read();
- }
- SerialUSB.println(inchar, 16);
- switch(inchar) {
- case 'w':
- swimy -= SWIM_SPEED;
- break;
- case 's':
- swimy += SWIM_SPEED;
- break;
- case 'a':
- swimx -= SWIM_SPEED;
- break;
- case 'd':
- swimx += SWIM_SPEED;
- break;
- case 'W':
- swimy -= SWIM_SPEED;
- swim_jaws = 20;
- break;
- case 'S':
- swimy += SWIM_SPEED;
- swim_jaws = 20;
- break;
- case 'A':
- swimx -= SWIM_SPEED;
- swim_jaws = 20;
- break;
- case 'D':
- swimx += SWIM_SPEED;
- swim_jaws = 20;
- break;
- case ' ':
- swim_jaws = 20;
- break;
- default:
- break;
- }
- }
+ process_keypress();
+/*
if(touching_swimmer != 255) {
SerialUSB.print("Enemy: ");
SerialUSB.println(enemy_id, 10);
@@ -221,12 +260,12 @@ void loop()
SerialUSB.print("Touching enemy: ");
SerialUSB.println(touching_enemy, 10);
}
-
+*/
if (swim_jaws > 15 and (touching_swimmer == enemy_id || touching_enemy == swimmer_id)) {
sunk_ship = true;
}
- swimx = (swimx % 400);
- swimy = (swimy % 300);
+ swimx = ((swimx + swimvx) % 400);
+ swimy = ((swimy + swimvy) % 300);
if(!sunk_ship) {
if(narcoy > 170) { narcovy = -1; }
diff --git a/wxkeygrabber.py b/wxkeygrabber.py
new file mode 100755
index 0000000..c27c486
--- /dev/null
+++ b/wxkeygrabber.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+
+import wx
+import serial
+
+class MyForm(wx.Frame):
+
+ def __init__(self):
+ wx.Frame.__init__(self, None, wx.ID_ANY, "Keygrabber")
+
+ self.serial = serial.Serial('/dev/ttyACM0', 19200, timeout=1)
+ self.state = {
+ 'up': False,
+ 'down': False,
+ 'left': False,
+ 'right': False,
+ 'space': False,
+ 'c': False,
+ 'v': False,
+ 'escape': False,
+ }
+
+ # Add a panel so it looks the correct on all platforms
+ panel = wx.Panel(self, wx.ID_ANY)
+ panel.Bind(wx.EVT_KEY_DOWN, self.onKeyDown)
+ panel.Bind(wx.EVT_KEY_UP, self.onKeyUp)
+ self.send_update()
+
+ def onKeyDown(self, event):
+ keycode = event.GetKeyCode()
+ print keycode
+ if keycode == wx.WXK_RIGHT:
+ self.state['right'] = True
+ elif keycode == wx.WXK_LEFT:
+ self.state['left'] = True
+ elif keycode == wx.WXK_UP:
+ self.state['up'] = True
+ elif keycode == wx.WXK_DOWN:
+ self.state['down'] = True
+ elif keycode == wx.WXK_SPACE:
+ self.state['space'] = True
+ elif keycode == wx.WXK_ESCAPE:
+ self.state['escape'] = True
+ elif keycode == 67: # 'c'
+ self.state['c'] = True
+ elif keycode == 86: # 'v'
+ self.state['v'] = True
+ self.send_update()
+ event.Skip()
+
+ def onKeyUp(self, event):
+ keycode = event.GetKeyCode()
+ print keycode
+ if keycode == wx.WXK_RIGHT:
+ self.state['right'] = False
+ elif keycode == wx.WXK_LEFT:
+ self.state['left'] = False
+ elif keycode == wx.WXK_UP:
+ self.state['up'] = False
+ elif keycode == wx.WXK_DOWN:
+ self.state['down'] = False
+ elif keycode == wx.WXK_SPACE:
+ self.state['space'] = False
+ elif keycode == wx.WXK_ESCAPE:
+ self.state['escape'] = False
+ elif keycode == 67: # 'c'
+ self.state['c'] = False
+ elif keycode == 86: # 'v'
+ self.state['v'] = False
+ self.send_update()
+ event.Skip()
+
+ def send_update(self):
+ #print self.state
+ state_str = ''.join(map(str, map(int, [
+ self.state['up'],
+ self.state['down'],
+ self.state['left'],
+ self.state['right'],
+ self.state['c'],
+ self.state['v'],
+ self.state['space'],
+ self.state['escape'], ])))
+ print state_str
+ state_byte = chr(int(state_str, 2))
+ self.serial.write(state_byte)
+
+# Run the program
+if __name__ == "__main__":
+ app = wx.PySimpleApp()
+ frame = MyForm()
+ frame.Show()
+ app.MainLoop()