]> Shamusworld >> Repos - apple2/commitdiff
Set eol-style to sane default.
authorShamus Hammons <jlhamm@acm.org>
Tue, 29 May 2007 03:06:33 +0000 (03:06 +0000)
committerShamus Hammons <jlhamm@acm.org>
Tue, 29 May 2007 03:06:33 +0000 (03:06 +0000)
24 files changed:
Makefile
res/apple2.rc
src/apple2.cpp
src/apple2.h
src/applevideo.cpp
src/applevideo.h
src/ay8910.cpp
src/ay8910.h
src/charset.h
src/dis65c02.cpp
src/dis65c02.h
src/fd-img-128x128.c
src/firmware.h
src/floppy.cpp
src/floppy.h
src/icon.h
src/log.cpp
src/log.h
src/sound.cpp
src/sound.h
src/v65c02.cpp
src/v65c02.h
src/video.cpp
src/video.h

index 4e1abb8b6c076674e71b45651f1848d152caafb6..e94b4a61eed517abc5adf25ffeeacdeda8a231fc 100755 (executable)
--- a/Makefile
+++ b/Makefile
-#\r
-# Unified Makefile for Apple 2 SDL\r
-#\r
-# by James L. Hammons\r
-# (C) 2005 Underground Software\r
-# This software is licensed under the GPL v2\r
-#\r
-\r
-# Figure out which system we're compiling for, and set the appropriate variables\r
-\r
-ifeq "$(OSTYPE)" "msys"                                                        # Win32\r
-\r
-SYSTYPE    = __GCCWIN32__\r
-EXESUFFIX  = .exe\r
-GLLIB      = -lopengl32\r
-ICON       = obj/icon.o\r
-SDLLIBTYPE = --libs\r
-MSG        = Win32 on MinGW\r
-\r
-else\r
-#ifeq "$(OSTYPE)" "darwin"\r
-ifeq "darwin" "$(findstring darwin,$(OSTYPE))" # Should catch both 'darwin' and 'darwin7.0'\r
-\r
-SYSTYPE    = __GCCUNIX__ -D_OSX_\r
-EXESUFFIX  =\r
-GLLIB      =\r
-ICON       =\r
-SDLLIBTYPE = --static-libs\r
-MSG        = Mac OS X\r
-\r
-else                                                                                   # *nix\r
-\r
-SYSTYPE    = __GCCUNIX__\r
-EXESUFFIX  =\r
-GLLIB      = -lGL\r
-ICON       =\r
-SDLLIBTYPE = --libs\r
-MSG        = generic Unix/Linux\r
-\r
-endif\r
-endif\r
-\r
-CC         = gcc\r
-LD         = gcc\r
-TARGET     = apple2\r
-\r
-# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2\r
-#CFLAGS   = -MMD -Wall -Wno-switch -O2 -D$(SYSTYPE) -ffast-math -fomit-frame-pointer `sdl-config --cflags`\r
-#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \\r
-# No optimization and w/gcov flags, so that we get an accurate picture from gcov\r
-#CFLAGS   = -MMD -Wall -Wno-switch -D$(SYSTYPE) \\r
-#              -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage\r
-#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \\r
-#              -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage\r
-# No optimization for profiling with gprof...\r
-CFLAGS   = -MMD -Wall -Wno-switch -D$(SYSTYPE) \\r
-               -ffast-math `sdl-config --cflags` -pg -g\r
-CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \\r
-               -ffast-math `sdl-config --cflags` -pg -g\r
-#              -fomit-frame-pointer `sdl-config --cflags` -g\r
-#              -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES\r
-\r
-LDFLAGS =\r
-\r
-#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB)\r
-# Link in the gcov library (for profiling purposes)\r
-#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -lgcov\r
-# Link in the gprof lib\r
-LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -pg\r
-\r
-INCS = -I. -I./src -I/usr/local/include -I/usr/include\r
-\r
-OBJS = \\r
-       obj/button.o          \\r
-       obj/draggablewindow.o \\r
-       obj/draggablewindow2.o \\r
-       obj/element.o         \\r
-       obj/gui.o             \\r
-       obj/guimisc.o         \\r
-       obj/menu.o            \\r
-       obj/textedit.o        \\r
-       obj/window.o          \\r
-                          \\r
-       obj/applevideo.o      \\r
-       obj/ay8910.o          \\r
-       obj/dis65c02.o        \\r
-       obj/floppy.o          \\r
-       obj/log.o             \\r
-       obj/sdlemu_config.o   \\r
-       obj/sdlemu_opengl.o   \\r
-       obj/settings.o        \\r
-       obj/sound.o           \\r
-       obj/timing.o          \\r
-       obj/v65c02.o          \\r
-       obj/video.o           \\r
-       obj/apple2.o          \\r
-       $(ICON)\r
-\r
-all: checkenv message obj $(TARGET)$(EXESUFFIX)\r
-       @echo\r
-       @echo "*** Looks like it compiled OK... Give it a whirl!"\r
-\r
-# Check the compilation environment, barf if not appropriate\r
-\r
-checkenv:\r
-       @echo\r
-       @echo -n "*** Checking compilation environment... "\r
-ifeq "" "$(shell which sdl-config)"\r
-       @echo\r
-       @echo\r
-       @echo "It seems that you don't have the SDL development libraries installed. If you"\r
-       @echo "have installed them, make sure that the sdl-config file is somewhere in your"\r
-       @echo "path and is executable."\r
-       @echo\r
-#Is there a better way to break out of the makefile?\r
-       @break\r
-else\r
-       @echo "OK"\r
-endif\r
-\r
-message:\r
-       @echo\r
-       @echo "*** Building Apple 2 SDL for $(MSG)..."\r
-       @echo\r
-\r
-clean:\r
-       @echo -n "*** Cleaning out the garbage..."\r
-       @rm -rf obj\r
-       @rm -f ./$(TARGET)$(EXESUFFIX)\r
-       @echo "done!"\r
-\r
-obj:\r
-       @mkdir obj\r
-\r
-# This is only done for Win32 at the moment...\r
-\r
-ifneq "" "$(ICON)"\r
-$(ICON): res/$(TARGET).rc res/$(TARGET).ico\r
-       @echo "*** Processing icon..."\r
-       @windres -i res/$(TARGET).rc -o $(ICON) --include-dir=./res\r
-endif\r
-\r
-obj/%.o: src/%.c\r
-       @echo "*** Compiling $<..."\r
-       @$(CC) $(CFLAGS) $(INCS) -c $< -o $@\r
-\r
-obj/%.o: src/%.cpp\r
-       @echo "*** Compiling $<..."\r
-       @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@\r
-\r
-#GUI compilation...\r
-obj/%.o: src/gui/%.cpp\r
-       @echo "*** Compiling $<..."\r
-       @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@\r
-\r
-$(TARGET)$(EXESUFFIX): $(OBJS)\r
-       @echo "*** Linking it all together..."\r
-       @$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)\r
-#      strip --strip-all vj$(EXESUFFIX)\r
-#      upx -9 vj$(EXESUFFIX)\r
-\r
-# Pull in dependencies autogenerated by gcc's -MMD switch\r
-# The "-" in front in there just in case they haven't been created yet\r
-\r
--include obj/*.d\r
+#
+# Unified Makefile for Apple 2 SDL
+#
+# by James L. Hammons
+# (C) 2005 Underground Software
+# This software is licensed under the GPL v2
+#
+
+# Figure out which system we're compiling for, and set the appropriate variables
+
+ifeq "$(OSTYPE)" "msys"                                                        # Win32
+
+SYSTYPE    = __GCCWIN32__
+EXESUFFIX  = .exe
+GLLIB      = -lopengl32
+ICON       = obj/icon.o
+SDLLIBTYPE = --libs
+MSG        = Win32 on MinGW
+
+else
+#ifeq "$(OSTYPE)" "darwin"
+ifeq "darwin" "$(findstring darwin,$(OSTYPE))" # Should catch both 'darwin' and 'darwin7.0'
+
+SYSTYPE    = __GCCUNIX__ -D_OSX_
+EXESUFFIX  =
+GLLIB      =
+ICON       =
+SDLLIBTYPE = --static-libs
+MSG        = Mac OS X
+
+else                                                                                   # *nix
+
+SYSTYPE    = __GCCUNIX__
+EXESUFFIX  =
+GLLIB      = -lGL
+ICON       =
+SDLLIBTYPE = --libs
+MSG        = generic Unix/Linux
+
+endif
+endif
+
+CC         = gcc
+LD         = gcc
+TARGET     = apple2
+
+# Note that we use optimization level 2 instead of 3--3 doesn't seem to gain much over 2
+#CFLAGS   = -MMD -Wall -Wno-switch -O2 -D$(SYSTYPE) -ffast-math -fomit-frame-pointer `sdl-config --cflags`
+#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -O2 -D$(SYSTYPE) \
+# No optimization and w/gcov flags, so that we get an accurate picture from gcov
+#CFLAGS   = -MMD -Wall -Wno-switch -D$(SYSTYPE) \
+#              -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage
+#CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \
+#              -ffast-math -fomit-frame-pointer `sdl-config --cflags` -fprofile-arcs -ftest-coverage
+# No optimization for profiling with gprof...
+CFLAGS   = -MMD -Wall -Wno-switch -D$(SYSTYPE) \
+               -ffast-math `sdl-config --cflags` -pg -g
+CPPFLAGS = -MMD -Wall -Wno-switch -Wno-non-virtual-dtor -D$(SYSTYPE) \
+               -ffast-math `sdl-config --cflags` -pg -g
+#              -fomit-frame-pointer `sdl-config --cflags` -g
+#              -fomit-frame-pointer `sdl-config --cflags` -DLOG_UNMAPPED_MEMORY_ACCESSES
+
+LDFLAGS =
+
+#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB)
+# Link in the gcov library (for profiling purposes)
+#LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -lgcov
+# Link in the gprof lib
+LIBS = -L/usr/local/lib -L/usr/lib `sdl-config $(SDLLIBTYPE)` -lstdc++ -lz $(GLLIB) -pg
+
+INCS = -I. -I./src -I/usr/local/include -I/usr/include
+
+OBJS = \
+       obj/button.o          \
+       obj/draggablewindow.o \
+       obj/draggablewindow2.o \
+       obj/element.o         \
+       obj/gui.o             \
+       obj/guimisc.o         \
+       obj/menu.o            \
+       obj/textedit.o        \
+       obj/window.o          \
+                          \
+       obj/applevideo.o      \
+       obj/ay8910.o          \
+       obj/dis65c02.o        \
+       obj/floppy.o          \
+       obj/log.o             \
+       obj/sdlemu_config.o   \
+       obj/sdlemu_opengl.o   \
+       obj/settings.o        \
+       obj/sound.o           \
+       obj/timing.o          \
+       obj/v65c02.o          \
+       obj/video.o           \
+       obj/apple2.o          \
+       $(ICON)
+
+all: checkenv message obj $(TARGET)$(EXESUFFIX)
+       @echo
+       @echo "*** Looks like it compiled OK... Give it a whirl!"
+
+# Check the compilation environment, barf if not appropriate
+
+checkenv:
+       @echo
+       @echo -n "*** Checking compilation environment... "
+ifeq "" "$(shell which sdl-config)"
+       @echo
+       @echo
+       @echo "It seems that you don't have the SDL development libraries installed. If you"
+       @echo "have installed them, make sure that the sdl-config file is somewhere in your"
+       @echo "path and is executable."
+       @echo
+#Is there a better way to break out of the makefile?
+       @break
+else
+       @echo "OK"
+endif
+
+message:
+       @echo
+       @echo "*** Building Apple 2 SDL for $(MSG)..."
+       @echo
+
+clean:
+       @echo -n "*** Cleaning out the garbage..."
+       @rm -rf obj
+       @rm -f ./$(TARGET)$(EXESUFFIX)
+       @echo "done!"
+
+obj:
+       @mkdir obj
+
+# This is only done for Win32 at the moment...
+
+ifneq "" "$(ICON)"
+$(ICON): res/$(TARGET).rc res/$(TARGET).ico
+       @echo "*** Processing icon..."
+       @windres -i res/$(TARGET).rc -o $(ICON) --include-dir=./res
+endif
+
+obj/%.o: src/%.c
+       @echo "*** Compiling $<..."
+       @$(CC) $(CFLAGS) $(INCS) -c $< -o $@
+
+obj/%.o: src/%.cpp
+       @echo "*** Compiling $<..."
+       @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@
+
+#GUI compilation...
+obj/%.o: src/gui/%.cpp
+       @echo "*** Compiling $<..."
+       @$(CC) $(CPPFLAGS) $(INCS) -c $< -o $@
+
+$(TARGET)$(EXESUFFIX): $(OBJS)
+       @echo "*** Linking it all together..."
+       @$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
+#      strip --strip-all vj$(EXESUFFIX)
+#      upx -9 vj$(EXESUFFIX)
+
+# Pull in dependencies autogenerated by gcc's -MMD switch
+# The "-" in front in there just in case they haven't been created yet
+
+-include obj/*.d
index c891182239d118699160ecac5c58f6a784f18fd1..9b41f1b3ad8a7e9d78b545992436abe468b93e70 100755 (executable)
@@ -1,9 +1,9 @@
-#include "winresrc.h"\r
-\r
-//\r
-// Icon\r
-//\r
-\r
-// Icon with lowest ID value placed first to ensure application icon\r
-// remains consistent on all systems.\r
-IDI_ICON1               ICON    DISCARDABLE     "apple2.ico"\r
+#include "winresrc.h"
+
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1               ICON    DISCARDABLE     "apple2.ico"
index b5a7ee95b9eefae48541394a831de3c5550950c5..dbdb619287e5d4de84e1b13fc405616c8bbeadb1 100755 (executable)
-//\r
-// Apple 2 SDL Portable Apple Emulator\r
-//\r
-// by James L. Hammons\r
-// (C) 2005 Underground Software\r
-//\r
-// Loosely based on AppleWin by Tom Charlesworth which was based on AppleWin by\r
-// Oliver Schmidt which was based on AppleWin by Michael O'Brien. :-) Parts are\r
-// also derived from ApplePC. Too bad it was closed source--it could have been\r
-// *the* premier Apple II emulator out there.\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  11/12/2005  Initial port to SDL\r
-// JLH  11/18/2005  Wired up graphic soft switches \r
-// JLH  12/02/2005  Setup timer subsystem for more accurate time keeping\r
-// JLH  12/12/2005  Added preliminary state saving support\r
-//\r
-\r
-// STILL TO DO:\r
-//\r
-// - Port to SDL [DONE]\r
-// - GUI goodies\r
-// - Weed out unneeded functions [DONE]\r
-// - Disk I/O [DONE]\r
-// - 128K IIe related stuff\r
-// - State loading/saving\r
-//\r
-\r
-#include "apple2.h"\r
-\r
-#include <SDL.h>\r
-#include <fstream>\r
-#include <string>\r
-#include <iomanip>\r
-#include <iostream>\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <time.h>\r
-#include "log.h"\r
-#include "video.h"\r
-#include "sound.h"\r
-#include "settings.h"\r
-#include "v65c02.h"\r
-#include "applevideo.h"\r
-#include "timing.h"\r
-#include "floppy.h"\r
-#include "firmware.h"\r
-\r
-#include "gui/gui.h"\r
-#include "gui/window.h"\r
-#include "gui/draggablewindow2.h"\r
-#include "gui/textedit.h"\r
-\r
-using namespace std;\r
-\r
-// Global variables\r
-\r
-uint8 ram[0x10000], rom[0x10000];                              // RAM & ROM spaces\r
-uint8 diskRom[0x100];                                                  // Disk ROM space\r
-V65C02REGS mainCPU;\r
-uint8 appleType = APPLE_TYPE_II;\r
-\r
-// Local variables\r
-\r
-static uint8 lastKeyPressed = 0;\r
-static bool keyDown = false;\r
-\r
-static FloppyDrive floppyDrive;\r
-\r
-enum { LC_BANK_1, LC_BANK_2 };\r
-\r
-static uint8 visibleBank = LC_BANK_1;\r
-static bool readRAM = false;\r
-static bool writeRAM = false;\r
-\r
-static bool running = true;                                            // Machine running state flag...\r
-static uint32 startTicks;\r
-\r
-static GUI * gui = NULL;\r
-\r
-// Local functions (technically, they're global...)\r
-\r
-bool LoadImg(char * filename, uint8 * ram, int size);\r
-uint8 RdMem(uint16 addr);\r
-void WrMem(uint16 addr, uint8 b);\r
-static void SaveApple2State(const char * filename);\r
-static bool LoadApple2State(const char * filename);\r
-\r
-// Local timer callback functions\r
-\r
-static void FrameCallback(void);\r
-static void BlinkTimer(void);\r
-\r
-// Test GUI function\r
-\r
-Element * TestWindow(void)\r
-{\r
-       Element * win = new DraggableWindow2(10, 10, 128, 128);\r
-//     ((DraggableWindow *)win)->AddElement(new TextEdit(4, 16, 92, 0, "u2prog.dsk", win));\r
-\r
-       return win;\r
-}\r
-\r
-Element * QuitEmulator(void)\r
-{\r
-       gui->Stop();\r
-       running = false;\r
-\r
-       return NULL;\r
-}\r
-\r
-/*\r
- Small Apple II memory map:\r
-\r
-$C010 - Clear bit 7 of keyboard data ($C000)\r
-$C030 - Toggle speaker diaphragm\r
-$C051 - Display text\r
-$C054 - Select page 1\r
-$C056 - Select lo-res\r
-$C058 - Set annuciator-0 output to 0\r
-$C05A - Set annuciator-0 output to 0\r
-$C05D - Set annuciator-0 output to 1\r
-$C05F - Set annuciator-0 output to 1\r
-$C0E0 - Disk control stepper ($C0E0-7)\r
-$C0E9 - Disk control motor (on)\r
-$C0EA - Disk enable (drive 1)\r
-$C0EC - Disk R/W\r
-$C0EE - Disk set read mode\r
-*/\r
-\r
-//\r
-// V65C02 read/write memory functions\r
-//\r
-\r
-uint8 RdMem(uint16 addr)\r
-{\r
-       uint8 b;\r
-\r
-#if 0\r
-if (addr >= 0xC000 && addr <= 0xC0FF)\r
-       WriteLog("\n*** Read at I/O address %04X\n", addr);\r
-#endif\r
-#if 0\r
-if (addr >= 0xC080 && addr <= 0xC08F)\r
-       WriteLog("\n*** Read at I/O address %04X\n", addr);\r
-#endif\r
-\r
-       if ((addr & 0xFFF0) == 0xC000)\r
-       {\r
-               return lastKeyPressed | (keyDown ? 0x80 : 0x00);\r
-       }\r
-       else if ((addr & 0xFFF0) == 0xC010)\r
-       {\r
-//This is bogus: keyDown is set to false, so return val NEVER is set...\r
-//Fixed...\r
-//Also, this is IIe/IIc only...!\r
-               uint8 retVal = lastKeyPressed | (keyDown ? 0x80 : 0x00);\r
-               keyDown = false;\r
-               return retVal;\r
-       }\r
-       else if ((addr & 0xFFF0) == 0xC030)\r
-       {\r
-               ToggleSpeaker(GetCurrentV65C02Clock());\r
-//should it return something else here???\r
-               return 0x00;\r
-       }\r
-       else if (addr == 0xC050)\r
-       {\r
-               textMode = false;\r
-       }\r
-       else if (addr == 0xC051)\r
-       {\r
-               textMode = true;\r
-       }\r
-       else if (addr == 0xC052)\r
-       {\r
-               mixedMode = false;\r
-       }\r
-       else if (addr == 0xC053)\r
-       {\r
-               mixedMode = true;\r
-       }\r
-       else if (addr == 0xC054)\r
-       {\r
-               displayPage2 = false;\r
-       }\r
-       else if (addr == 0xC055)\r
-       {\r
-               displayPage2 = true;\r
-       }\r
-       else if (addr == 0xC056)\r
-       {\r
-               hiRes = false;\r
-       }\r
-       else if (addr == 0xC057)\r
-       {\r
-               hiRes = true;\r
-       }\r
-\r
-//Note that this is a kludge: The $D000-$DFFF 4K space is shared (since $C000-$CFFF is\r
-//memory mapped) between TWO banks, and that that $E000-$FFFF RAM space is a single bank.\r
-//[SHOULD BE FIXED NOW]\r
-//OK! This switch selects bank 2 of the 4K bank at $D000-$DFFF. One access makes it\r
-//visible, two makes it R/W.\r
-\r
-       else if ((addr & 0xFFFB) == 0xC080)\r
-       {\r
-//$C080 49280              OECG  R   Read RAM bank 2; no write\r
-               visibleBank = LC_BANK_2;\r
-               readRAM = true;\r
-               writeRAM = false;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC081)\r
-       {\r
-//$C081 49281 ROMIN        OECG  RR  Read ROM; write RAM bank 2\r
-               visibleBank = LC_BANK_2;\r
-               readRAM = false;\r
-               writeRAM = true;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC082)\r
-       {\r
-//$C082 49282              OECG  R   Read ROM; no write\r
-               visibleBank = LC_BANK_2;\r
-               readRAM = false;\r
-               writeRAM = false;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC083)\r
-       {\r
-//$C083 49283 LCBANK2      OECG  RR  Read/write RAM bank 2\r
-               visibleBank = LC_BANK_2;\r
-               readRAM = true;\r
-               writeRAM = true;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC088)\r
-       {\r
-//$C088 49288              OECG  R   Read RAM bank 1; no write\r
-               visibleBank = LC_BANK_1;\r
-               readRAM = true;\r
-               writeRAM = false;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC089)\r
-       {\r
-//$C089 49289              OECG  RR  Read ROM; write RAM bank 1\r
-               visibleBank = LC_BANK_1;\r
-               readRAM = false;\r
-               writeRAM = true;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC08A)\r
-       {\r
-//$C08A 49290              OECG  R   Read ROM; no write\r
-               visibleBank = LC_BANK_1;\r
-               readRAM = false;\r
-               writeRAM = false;\r
-       }\r
-       else if ((addr & 0xFFFB) == 0xC08B)\r
-       {\r
-//$C08B 49291              OECG  RR  Read/write RAM bank 1\r
-               visibleBank = LC_BANK_1;\r
-               readRAM = true;\r
-               writeRAM = true;\r
-       }\r
-       else if ((addr & 0xFFF8) == 0xC0E0)\r
-       {\r
-               floppyDrive.ControlStepper(addr & 0x07);\r
-       }\r
-       else if ((addr & 0xFFFE) == 0xC0E8)\r
-       {\r
-               floppyDrive.ControlMotor(addr & 0x01);\r
-       }\r
-       else if ((addr & 0xFFFE) == 0xC0EA)\r
-       {\r
-               floppyDrive.DriveEnable(addr & 0x01);\r
-       }\r
-       else if (addr == 0xC0EC)\r
-       {\r
-               return floppyDrive.ReadWrite();\r
-       }\r
-       else if (addr == 0xC0ED)\r
-       {\r
-               return floppyDrive.GetLatchValue();\r
-       }\r
-       else if (addr == 0xC0EE)\r
-       {\r
-               floppyDrive.SetReadMode();\r
-       }\r
-       else if (addr == 0xC0EF)\r
-       {\r
-               floppyDrive.SetWriteMode();\r
-       }\r
-\r
-//This sux...\r
-       if (addr >= 0xC100 && addr <= 0xCFFF)   // The $C000-$CFFF block is *never* RAM\r
-               b = rom[addr];\r
-       else if (addr >= 0xD000)\r
-       {\r
-               if (readRAM)\r
-               {\r
-                       if (addr <= 0xDFFF && visibleBank == LC_BANK_1)\r
-                               b = ram[addr - 0x1000];\r
-                       else\r
-                               b = ram[addr];\r
-               }\r
-               else\r
-                       b = rom[addr];\r
-       }\r
-       else\r
-               b = ram[addr];\r
-\r
-       return b;\r
-}\r
-\r
-/*\r
-A-9 (Mockingboard)\r
-APPENDIX F Assembly Language Program Listings\r
-\r
-                       1       *PRIMARY ROUTINES\r
-                       2       *FOR SLOT 4\r
-                       3       *\r
-                       4                       ORG     $9000\r
-                       5       *                               ;ADDRESSES\r
-                                                                               FOR FIRST\r
-                                                                               6522\r
-                       6       ORB             EQU     $C400           ;PORT B\r
-                       7       ORA             EQU     $C401           ;PORT A\r
-                       8       DDRB            EQU     $C402           ;DATA DIRECTION\r
-                                                                               REGISTER (A)\r
-                       9       DDRA            EQU     $C403           ;DATA DIRECTION\r
-                                                                               REGISTER (B)\r
-                       10      *                                       ;ADDRESSES\r
-                                                                               FOR SECOND\r
-                                                                               6522\r
-                       11      ORB2            EQU     $C480           ;PORT B\r
-                       12      ORA2            EQU     $C481           ;PORT A\r
-                       13      DDRB2   EQU     $C482           ;DATA DIRECTION\r
-                                                                               REGISTER (B)\r
-                       14      DDRA2   EQU     $C483           ;DATA DIRECTION\r
-                                                                               REGISTER (A)\r
-*/\r
-void WrMem(uint16 addr, uint8 b)\r
-{\r
-//temp...\r
-//extern V6809REGS regs;\r
-//if (addr >= 0xC800 && addr <= 0xCBFE)\r
-//if (addr == 0xC80F || addr == 0xC80D)\r
-//     WriteLog("WrMem: Writing address %04X with %02X [PC=%04X, $CB00=%02X]\n", addr, b, regs.pc, gram[0xCB00]);//*/\r
-\r
-#if 0\r
-if (addr >= 0xC000 && addr <= 0xC0FF)\r
-       WriteLog("\n*** Write at I/O address %04X\n", addr);\r
-#endif\r
-/*\r
-Check the BIKO version on Asimov to see if it's been cracked or not...\r
-\r
-7F3D: 29 07          AND   #$07       [PC=7F3F, SP=01EA, CC=---B-I--, A=01, X=4B, Y=00]\r
-7F3F: C9 06          CMP   #$06       [PC=7F41, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00]\r
-7F41: 90 03          BCC   $7F46      [PC=7F46, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00]\r
-[7F43: 4C 83 7E      JMP   $7E83] <- Skipped over... (Prints "THANK YOU VERY MUCH!")\r
-7F46: AA             TAX              [PC=7F47, SP=01EA, CC=---B-I--, A=01, X=01, Y=00]\r
-\r
-; INX here *ensures* 1 - 6!!! BUG!!!\r
-; Or is it? Could this be part of a braindead copy protection scheme? It's\r
-; awfully close to NOP ($EA)...\r
-; Nothing else touches it once it's been written... Hmm...\r
-\r
-7F47: E8             INX              [PC=7F48, SP=01EA, CC=---B-I--, A=01, X=02, Y=00]\r
-7F48: F8             SED              [PC=7F49, SP=01EA, CC=---BDI--, A=01, X=02, Y=00]\r
-7F49: 18             CLC              [PC=7F4A, SP=01EA, CC=---BDI--, A=01, X=02, Y=00]\r
-7F4A: BD 15 4E       LDA   $4E15,X    [PC=7F4D, SP=01EA, CC=---BDI--, A=15, X=02, Y=00]\r
-\r
-; 4E13: 03 00\r
-; 4E15: 25 25 15 15 10 20\r
-; 4E1B: 03 41 99 99 01 00 12\r
-; 4E22: 99 70\r
-\r
-7F4D: 65 FC          ADC   $FC        [PC=7F4F, SP=01EA, CC=---BDI--, A=16, X=02, Y=00]\r
-7F4F: 65 FC          ADC   $FC        [PC=7F51, SP=01EA, CC=---BDI--, A=17, X=02, Y=00]\r
-7F51: 65 FC          ADC   $FC        [PC=7F53, SP=01EA, CC=---BDI--, A=18, X=02, Y=00]\r
-7F53: 65 FC          ADC   $FC        [PC=7F55, SP=01EA, CC=---BDI--, A=19, X=02, Y=00]\r
-\r
-; NO checking is done on the raised stat! Aarrrgggghhhhh!\r
-\r
-7F55: 9D 15 4E       STA   $4E15,X    [PC=7F58, SP=01EA, CC=---BDI--, A=19, X=02, Y=00]\r
-7F58: D8             CLD              [PC=7F59, SP=01EA, CC=---B-I--, A=19, X=02, Y=00]\r
-\r
-; Print "ALAKAZAM!" and so on...\r
-\r
-7F59: 20 2C 40       JSR   $402C      [PC=402C, SP=01E8, CC=---B-I--, A=19, X=02, Y=00]\r
-*/\r
-#if 0\r
-if (addr == 0x7F47)\r
-       WriteLog("\n*** Byte %02X written at address %04X\n", b, addr);\r
-#endif\r
-/*\r
-CLR80STORE=$C000 ;80STORE Off- disable 80-column memory mapping (Write)\r
-SET80STORE=$C001 ;80STORE On- enable 80-column memory mapping (WR-only)\r
-\r
-CLRAUXRD = $C002 ;read from main 48K (WR-only)\r
-SETAUXRD = $C003 ;read from aux/alt 48K (WR-only)\r
-\r
-CLRAUXWR = $C004 ;write to main 48K (WR-only)\r
-SETAUXWR = $C005 ;write to aux/alt 48K (WR-only)\r
-\r
-CLRCXROM = $C006 ;use ROM on cards (WR-only)\r
-SETCXROM = $C007 ;use internal ROM (WR-only)\r
-\r
-CLRAUXZP = $C008 ;use main zero page, stack, & LC (WR-only)\r
-SETAUXZP = $C009 ;use alt zero page, stack, & LC (WR-only)\r
-\r
-CLRC3ROM = $C00A ;use internal Slot 3 ROM (WR-only)\r
-SETC3ROM = $C00B ;use external Slot 3 ROM (WR-only)\r
-\r
-CLR80VID = $C00C ;disable 80-column display mode (WR-only)\r
-SET80VID = $C00D ;enable 80-column display mode (WR-only)\r
-\r
-CLRALTCH = $C00E ;use main char set- norm LC, Flash UC (WR-only)\r
-SETALTCH = $C00F ;use alt char set- norm inverse, LC; no Flash (WR-only)\r
-*/\r
-       if (addr == 0xC00E)\r
-       {\r
-               alternateCharset = false;\r
-       }\r
-       else if (addr == 0xC00F)\r
-       {\r
-               alternateCharset = true;\r
-       }\r
-       else if ((addr & 0xFFF0) == 0xC010)             // Keyboard strobe\r
-       {\r
-               keyDown = false;\r
-       }\r
-       else if (addr == 0xC050)\r
-       {\r
-               textMode = false;\r
-       }\r
-       else if (addr == 0xC051)\r
-       {\r
-               textMode = true;\r
-       }\r
-       else if (addr == 0xC052)\r
-       {\r
-               mixedMode = false;\r
-       }\r
-       else if (addr == 0xC053)\r
-       {\r
-               mixedMode = true;\r
-       }\r
-       else if (addr == 0xC054)\r
-       {\r
-               displayPage2 = false;\r
-       }\r
-       else if (addr == 0xC055)\r
-       {\r
-               displayPage2 = true;\r
-       }\r
-       else if (addr == 0xC056)\r
-       {\r
-               hiRes = false;\r
-       }\r
-       else if (addr == 0xC057)\r
-       {\r
-               hiRes = true;\r
-       }\r
-       else if ((addr & 0xFFF8) == 0xC0E0)\r
-       {\r
-               floppyDrive.ControlStepper(addr & 0x07);\r
-       }\r
-       else if ((addr & 0xFFFE) == 0xC0E8)\r
-       {\r
-               floppyDrive.ControlMotor(addr & 0x01);\r
-       }\r
-       else if ((addr & 0xFFFE) == 0xC0EA)\r
-       {\r
-               floppyDrive.DriveEnable(addr & 0x01);\r
-       }\r
-       else if (addr == 0xC0EC)\r
-       {\r
-//change this to Write()? (and the other to Read()?) Dunno. Seems to work OK, but still...\r
-               floppyDrive.ReadWrite();\r
-       }\r
-       else if (addr == 0xC0ED)\r
-       {\r
-               floppyDrive.SetLatchValue(b);\r
-       }\r
-       else if (addr == 0xC0EE)\r
-       {\r
-               floppyDrive.SetReadMode();\r
-       }\r
-       else if (addr == 0xC0EF)\r
-       {\r
-               floppyDrive.SetWriteMode();\r
-       }\r
-//Still need to add missing I/O switches here...\r
-\r
-       if (addr >= 0xD000)\r
-       {\r
-               if (writeRAM)\r
-               {\r
-                       if (addr <= 0xDFFF && visibleBank == LC_BANK_1)\r
-                               ram[addr - 0x1000] = b;\r
-                       else\r
-                               ram[addr] = b;\r
-               }\r
-\r
-               return;\r
-       }\r
-\r
-       ram[addr] = b;\r
-}\r
-\r
-//\r
-// Load a file into RAM/ROM image space\r
-//\r
-bool LoadImg(char * filename, uint8 * ram, int size)\r
-{\r
-       FILE * fp = fopen(filename, "rb");\r
-\r
-       if (fp == NULL)\r
-               return false;\r
-\r
-       fread(ram, 1, size, fp);\r
-       fclose(fp);\r
-\r
-       return true;\r
-}\r
-\r
-static void SaveApple2State(const char * filename)\r
-{\r
-}\r
-\r
-static bool LoadApple2State(const char * filename)\r
-{\r
-       return false;\r
-}\r
-\r
-//\r
-// Main loop\r
-//\r
-int main(int /*argc*/, char * /*argv*/[])\r
-{\r
-       InitLog("./apple2.log");\r
-       LoadSettings();\r
-       srand(time(NULL));                                                                      // Initialize RNG\r
-\r
-       // Zero out memory\r
-//Need to bankify this stuff for the IIe emulation...\r
-       memset(ram, 0, 0x10000);\r
-       memset(rom, 0, 0x10000);\r
-\r
-       // Set up V65C02 execution context\r
-       memset(&mainCPU, 0, sizeof(V65C02REGS));\r
-       mainCPU.RdMem = RdMem;\r
-       mainCPU.WrMem = WrMem;\r
-       mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET;\r
-\r
-       if (!LoadImg(settings.BIOSPath, rom + 0xD000, 0x3000))\r
-       {\r
-               WriteLog("Could not open file '%s'!\n", settings.BIOSPath);\r
-               return -1;\r
-       }\r
-\r
-//This is now included...\r
-/*     if (!LoadImg(settings.diskPath, diskRom, 0x100))\r
-       {\r
-               WriteLog("Could not open file '%s'!\nDisk II will be unavailable!\n", settings.diskPath);\r
-//             return -1;\r
-       }//*/\r
-\r
-//Load up disk image from config file (for now)...\r
-       floppyDrive.LoadImage(settings.diskImagePath1, 0);\r
-       floppyDrive.LoadImage(settings.diskImagePath2, 1);\r
-//     floppyDrive.LoadImage("./disks/temp.nib", 1);   // Load temp .nib file into second drive...\r
-\r
-//Kill the DOS ROM in slot 6 for now...\r
-//not\r
-       memcpy(rom + 0xC600, diskROM, 0x100);\r
-\r
-       WriteLog("About to initialize video...\n");\r
-       if (!InitVideo())\r
-       {\r
-               cout << "Aborting!" << endl;\r
-               return -1;\r
-       }\r
-\r
-       // Have to do this *after* video init but *before* sound init...!\r
-//Shouldn't be necessary since we're not doing emulation in the ISR...\r
-       if (settings.autoStateSaving)\r
-       {\r
-               // Load last state from file...\r
-               if (!LoadApple2State(settings.autoStatePath))\r
-                       WriteLog("Unable to use Apple2 state file \"%s\"!\n", settings.autoStatePath);\r
-       }\r
-\r
-\r
-#if 0\r
-// State loading!\r
-if (!LoadImg("./BT1_6502_RAM_SPACE.bin", ram, 0x10000))\r
-{\r
-       cout << "Couldn't load state file!" << endl;\r
-       cout << "Aborting!!" << endl;\r
-       return -1;\r
-}\r
-\r
-//A  P  Y  X  S     PC\r
-//-- -- -- -- ----- -----\r
-//00 75 3B 53 FD 01 41 44\r
-\r
-mainCPU.cpuFlags = 0;\r
-mainCPU.a = 0x00;\r
-mainCPU.x = 0x53;\r
-mainCPU.y = 0x3B;\r
-mainCPU.cc = 0x75;\r
-mainCPU.sp = 0xFD;\r
-mainCPU.pc = 0x4441;\r
-\r
-textMode = false;\r
-mixedMode = false;\r
-displayPage2 = false;\r
-hiRes = true;\r
-\r
-//kludge...\r
-readHiRam = true;\r
-//dumpDis=true;\r
-//kludge II...\r
-memcpy(ram + 0xD000, ram + 0xC000, 0x1000);\r
-#endif\r
-\r
-       WriteLog("About to initialize audio...\n");\r
-       SoundInit();\r
-       SDL_EnableUNICODE(1);                                           // Needed to do key translation shit\r
-\r
-       gui = new GUI(surface);                                         // Set up the GUI system object...\r
-       gui->AddMenuTitle("Apple2");\r
-       gui->AddMenuItem("Test!", TestWindow/*, hotkey*/);\r
-       gui->AddMenuItem("");\r
-       gui->AddMenuItem("Quit", QuitEmulator, SDLK_q);\r
-       gui->CommitItemsToMenu();\r
-\r
-       SetupBlurTable();                                                       // Set up the color TV emulation blur table\r
-       running = true;                                                         // Set running status...\r
-\r
-       InitializeEventList();                                          // Clear the event list before we use it...\r
-       SetCallbackTime(FrameCallback, 16666.66666667); // Set frame to fire at 1/60 s interval\r
-       SetCallbackTime(BlinkTimer, 250000);            // Set up blinking at 1/4 s intervals\r
-       startTicks = SDL_GetTicks();\r
-\r
-       WriteLog("Entering main loop...\n");\r
-       while (running)\r
-       {\r
-               double timeToNextEvent = GetTimeToNextEvent();\r
-               Execute65C02(&mainCPU, USEC_TO_M6502_CYCLES(timeToNextEvent));\r
-//We MUST remove a frame's worth of time in order for the CPU to function... !!! FIX !!!\r
-//(Fix so that this is not a requirement!)\r
-               mainCPU.clock -= USEC_TO_M6502_CYCLES(timeToNextEvent);\r
-               HandleNextEvent();\r
-       }\r
-\r
-       if (settings.autoStateSaving)\r
-       {\r
-               // Save state here...\r
-               SaveApple2State(settings.autoStatePath);\r
-       }\r
-floppyDrive.SaveImage();\r
-\r
-       SoundDone();\r
-       VideoDone();\r
-       SaveSettings();\r
-       LogDone();\r
-\r
-       return 0;\r
-}\r
-\r
-/*\r
-Apple II keycodes\r
------------------\r
-\r
-Key     Aln CTL SHF BTH\r
------------------------\r
-space  $A0     $A0     $A0 $A0         No xlation\r
-RETURN $8D     $8D     $8D     $8D             No xlation\r
-0              $B0     $B0     $B0     $B0             Need to screen shift+0 (?)\r
-1!             $B1 $B1 $A1 $A1         No xlation\r
-2"             $B2     $B2     $A2     $A2             No xlation\r
-3#             $B3     $B3     $A3     $A3             No xlation\r
-4$             $B4     $B4     $A4     $A4             No xlation\r
-5%             $B5     $B5     $A5     $A5             No xlation\r
-6&             $B6     $B6     $A6     $A6             No xlation\r
-7'             $B7     $B7     $A7     $A7             No xlation\r
-8(             $B8     $B8     $A8     $A8             No xlation\r
-9)             $B9     $B9     $A9     $A9             No xlation\r
-:*             $BA     $BA     $AA     $AA             No xlation\r
-;+             $BB     $BB     $AB     $AB             No xlation\r
-,<             $AC     $AC     $BC     $BC             No xlation\r
--=             $AD     $AD     $BD     $BD             No xlation\r
-.>             $AE     $AE     $BE     $BE             No xlation\r
-/?             $AF     $AF     $BF     $BF             No xlation\r
-A              $C1     $81     $C1     $81\r
-B              $C2     $82     $C2     $82\r
-C              $C3     $83     $C3     $83\r
-D              $C4     $84     $C4     $84\r
-E              $C5     $85     $C5     $85\r
-F              $C6     $86     $C6     $86\r
-G              $C7     $87     $C7     $87\r
-H              $C8     $88     $C8     $88\r
-I              $C9     $89     $C9     $89\r
-J              $CA     $8A     $CA     $8A\r
-K              $CB     $8B     $CB     $8B\r
-L              $CC     $8C     $CC     $8C\r
-M              $CD     $8D     $DD     $9D             -> ODD\r
-N^             $CE     $8E     $DE     $9E             -> ODD\r
-O              $CF     $8F     $CF     $8F\r
-P@             $D0     $90     $C0     $80             Need to xlate CTL+SHFT+P & SHFT+P (?)\r
-Q              $D1     $91     $D1     $91\r
-R              $D2     $92     $D2     $92\r
-S              $D3     $93     $D3     $93\r
-T              $D4     $94     $D4     $94\r
-U              $D5     $95     $D5     $95\r
-V              $D6     $96     $D6     $96\r
-W              $D7     $97     $D7     $97\r
-X              $D8     $98     $D8     $98\r
-Y              $D9     $99     $D9     $99\r
-Z              $DA     $9A     $DA     $9A\r
-<-             $88     $88     $88     $88\r
-->             $95     $95     $95     $95\r
-ESC            $9B     $9B     $9B     $9B             No xlation\r
-\r
-*/\r
-static void FrameCallback(void)\r
-{\r
-       SDL_Event event;\r
-\r
-       while (SDL_PollEvent(&event))\r
-       {\r
-               switch (event.type)\r
-               {\r
-               case SDL_KEYDOWN:\r
-                       if (event.key.keysym.unicode != 0)\r
-                       {\r
-//Need to do some key translation here, and screen out non-apple keys as well...\r
-                               if (event.key.keysym.sym == SDLK_TAB)   // Prelim key screening...\r
-                                       break;\r
-\r
-                               lastKeyPressed = event.key.keysym.unicode;\r
-                               keyDown = true;\r
-                               //kludge: should have a caps lock thingy here...\r
-                               //or all uppercase for ][+...\r
-                               if (lastKeyPressed >= 'a' && lastKeyPressed <='z')\r
-                                       lastKeyPressed &= 0xDF;         // Convert to upper case...\r
-                       }\r
-\r
-                       // CTRL+RESET key emulation (mapped to CTRL+`)\r
-// This doesn't work...\r
-//                     if (event.key.keysym.sym == SDLK_BREAK && (event.key.keysym.mod & KMOD_CTRL))\r
-//                     if (event.key.keysym.sym == SDLK_PAUSE && (event.key.keysym.mod & KMOD_CTRL))\r
-                       if (event.key.keysym.sym == SDLK_BACKQUOTE && (event.key.keysym.mod & KMOD_CTRL))\r
-//NOTE that this shouldn't take place until the key is lifted... !!! FIX !!!\r
-//ALSO it seems to leave the machine in an inconsistent state vis-a-vis the language card...\r
-                               mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET;\r
-\r
-                       if (event.key.keysym.sym == SDLK_RIGHT)\r
-                               lastKeyPressed = 0x15, keyDown = true;\r
-                       else if (event.key.keysym.sym == SDLK_LEFT)\r
-                               lastKeyPressed = 0x08, keyDown = true;\r
-\r
-                       // Use ALT+Q to exit, as well as the usual window decoration method\r
-                       if (event.key.keysym.sym == SDLK_q && (event.key.keysym.mod & KMOD_ALT))\r
-                               running = false;\r
-\r
-                       if (event.key.keysym.sym == SDLK_F12)\r
-                               dumpDis = !dumpDis;                             // Toggle the disassembly process\r
-                       else if (event.key.keysym.sym == SDLK_F11)\r
-                               floppyDrive.LoadImage("./disks/bt1_char.dsk");//Kludge to load char disk...\r
-else if (event.key.keysym.sym == SDLK_F9)\r
-{\r
-       floppyDrive.CreateBlankImage();\r
-//     SpawnMessage("Image cleared...");\r
-}//*/\r
-else if (event.key.keysym.sym == SDLK_F10)\r
-{\r
-       floppyDrive.SwapImages();\r
-//     SpawnMessage("Image swapped...");\r
-}//*/\r
-\r
-                       if (event.key.keysym.sym == SDLK_F2)// Toggle the palette\r
-                               TogglePalette();\r
-                       else if (event.key.keysym.sym == SDLK_F3)// Cycle through screen types\r
-                               CycleScreenTypes();\r
-\r
-//                     if (event.key.keysym.sym == SDLK_F5)    // Temp GUI launch key\r
-                       if (event.key.keysym.sym == SDLK_F1)    // GUI launch key\r
-//NOTE: Should parse the output to determine whether or not the user requested\r
-//      to quit completely... !!! FIX !!!\r
-                               gui->Run();\r
-\r
-                       break;\r
-               case SDL_QUIT:\r
-                       running = false;\r
-               }\r
-       }\r
-\r
-       HandleSoundAtFrameEdge();                                       // Sound stuff... (ick)\r
-       RenderVideoFrame();\r
-       SetCallbackTime(FrameCallback, 16666.66666667);\r
-\r
-       while (SDL_GetTicks() - startTicks < 16);       // Wait for next frame...\r
-       startTicks = SDL_GetTicks();\r
-}\r
-\r
-static void BlinkTimer(void)\r
-{\r
-       flash = !flash;\r
-       SetCallbackTime(BlinkTimer, 250000);            // Set up blinking at 1/4 sec intervals\r
-}\r
+//
+// Apple 2 SDL Portable Apple Emulator
+//
+// by James L. Hammons
+// (C) 2005 Underground Software
+//
+// Loosely based on AppleWin by Tom Charlesworth which was based on AppleWin by
+// Oliver Schmidt which was based on AppleWin by Michael O'Brien. :-) Parts are
+// also derived from ApplePC. Too bad it was closed source--it could have been
+// *the* premier Apple II emulator out there.
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  11/12/2005  Initial port to SDL
+// JLH  11/18/2005  Wired up graphic soft switches 
+// JLH  12/02/2005  Setup timer subsystem for more accurate time keeping
+// JLH  12/12/2005  Added preliminary state saving support
+//
+
+// STILL TO DO:
+//
+// - Port to SDL [DONE]
+// - GUI goodies
+// - Weed out unneeded functions [DONE]
+// - Disk I/O [DONE]
+// - 128K IIe related stuff
+// - State loading/saving
+//
+
+#include "apple2.h"
+
+#include <SDL.h>
+#include <fstream>
+#include <string>
+#include <iomanip>
+#include <iostream>
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include "log.h"
+#include "video.h"
+#include "sound.h"
+#include "settings.h"
+#include "v65c02.h"
+#include "applevideo.h"
+#include "timing.h"
+#include "floppy.h"
+#include "firmware.h"
+
+#include "gui/gui.h"
+#include "gui/window.h"
+#include "gui/draggablewindow2.h"
+#include "gui/textedit.h"
+
+using namespace std;
+
+// Global variables
+
+uint8 ram[0x10000], rom[0x10000];                              // RAM & ROM spaces
+uint8 diskRom[0x100];                                                  // Disk ROM space
+V65C02REGS mainCPU;
+uint8 appleType = APPLE_TYPE_II;
+
+// Local variables
+
+static uint8 lastKeyPressed = 0;
+static bool keyDown = false;
+
+static FloppyDrive floppyDrive;
+
+enum { LC_BANK_1, LC_BANK_2 };
+
+static uint8 visibleBank = LC_BANK_1;
+static bool readRAM = false;
+static bool writeRAM = false;
+
+static bool running = true;                                            // Machine running state flag...
+static uint32 startTicks;
+
+static GUI * gui = NULL;
+
+// Local functions (technically, they're global...)
+
+bool LoadImg(char * filename, uint8 * ram, int size);
+uint8 RdMem(uint16 addr);
+void WrMem(uint16 addr, uint8 b);
+static void SaveApple2State(const char * filename);
+static bool LoadApple2State(const char * filename);
+
+// Local timer callback functions
+
+static void FrameCallback(void);
+static void BlinkTimer(void);
+
+// Test GUI function
+
+Element * TestWindow(void)
+{
+       Element * win = new DraggableWindow2(10, 10, 128, 128);
+//     ((DraggableWindow *)win)->AddElement(new TextEdit(4, 16, 92, 0, "u2prog.dsk", win));
+
+       return win;
+}
+
+Element * QuitEmulator(void)
+{
+       gui->Stop();
+       running = false;
+
+       return NULL;
+}
+
+/*
+ Small Apple II memory map:
+
+$C010 - Clear bit 7 of keyboard data ($C000)
+$C030 - Toggle speaker diaphragm
+$C051 - Display text
+$C054 - Select page 1
+$C056 - Select lo-res
+$C058 - Set annuciator-0 output to 0
+$C05A - Set annuciator-0 output to 0
+$C05D - Set annuciator-0 output to 1
+$C05F - Set annuciator-0 output to 1
+$C0E0 - Disk control stepper ($C0E0-7)
+$C0E9 - Disk control motor (on)
+$C0EA - Disk enable (drive 1)
+$C0EC - Disk R/W
+$C0EE - Disk set read mode
+*/
+
+//
+// V65C02 read/write memory functions
+//
+
+uint8 RdMem(uint16 addr)
+{
+       uint8 b;
+
+#if 0
+if (addr >= 0xC000 && addr <= 0xC0FF)
+       WriteLog("\n*** Read at I/O address %04X\n", addr);
+#endif
+#if 0
+if (addr >= 0xC080 && addr <= 0xC08F)
+       WriteLog("\n*** Read at I/O address %04X\n", addr);
+#endif
+
+       if ((addr & 0xFFF0) == 0xC000)
+       {
+               return lastKeyPressed | (keyDown ? 0x80 : 0x00);
+       }
+       else if ((addr & 0xFFF0) == 0xC010)
+       {
+//This is bogus: keyDown is set to false, so return val NEVER is set...
+//Fixed...
+//Also, this is IIe/IIc only...!
+               uint8 retVal = lastKeyPressed | (keyDown ? 0x80 : 0x00);
+               keyDown = false;
+               return retVal;
+       }
+       else if ((addr & 0xFFF0) == 0xC030)
+       {
+               ToggleSpeaker(GetCurrentV65C02Clock());
+//should it return something else here???
+               return 0x00;
+       }
+       else if (addr == 0xC050)
+       {
+               textMode = false;
+       }
+       else if (addr == 0xC051)
+       {
+               textMode = true;
+       }
+       else if (addr == 0xC052)
+       {
+               mixedMode = false;
+       }
+       else if (addr == 0xC053)
+       {
+               mixedMode = true;
+       }
+       else if (addr == 0xC054)
+       {
+               displayPage2 = false;
+       }
+       else if (addr == 0xC055)
+       {
+               displayPage2 = true;
+       }
+       else if (addr == 0xC056)
+       {
+               hiRes = false;
+       }
+       else if (addr == 0xC057)
+       {
+               hiRes = true;
+       }
+
+//Note that this is a kludge: The $D000-$DFFF 4K space is shared (since $C000-$CFFF is
+//memory mapped) between TWO banks, and that that $E000-$FFFF RAM space is a single bank.
+//[SHOULD BE FIXED NOW]
+//OK! This switch selects bank 2 of the 4K bank at $D000-$DFFF. One access makes it
+//visible, two makes it R/W.
+
+       else if ((addr & 0xFFFB) == 0xC080)
+       {
+//$C080 49280              OECG  R   Read RAM bank 2; no write
+               visibleBank = LC_BANK_2;
+               readRAM = true;
+               writeRAM = false;
+       }
+       else if ((addr & 0xFFFB) == 0xC081)
+       {
+//$C081 49281 ROMIN        OECG  RR  Read ROM; write RAM bank 2
+               visibleBank = LC_BANK_2;
+               readRAM = false;
+               writeRAM = true;
+       }
+       else if ((addr & 0xFFFB) == 0xC082)
+       {
+//$C082 49282              OECG  R   Read ROM; no write
+               visibleBank = LC_BANK_2;
+               readRAM = false;
+               writeRAM = false;
+       }
+       else if ((addr & 0xFFFB) == 0xC083)
+       {
+//$C083 49283 LCBANK2      OECG  RR  Read/write RAM bank 2
+               visibleBank = LC_BANK_2;
+               readRAM = true;
+               writeRAM = true;
+       }
+       else if ((addr & 0xFFFB) == 0xC088)
+       {
+//$C088 49288              OECG  R   Read RAM bank 1; no write
+               visibleBank = LC_BANK_1;
+               readRAM = true;
+               writeRAM = false;
+       }
+       else if ((addr & 0xFFFB) == 0xC089)
+       {
+//$C089 49289              OECG  RR  Read ROM; write RAM bank 1
+               visibleBank = LC_BANK_1;
+               readRAM = false;
+               writeRAM = true;
+       }
+       else if ((addr & 0xFFFB) == 0xC08A)
+       {
+//$C08A 49290              OECG  R   Read ROM; no write
+               visibleBank = LC_BANK_1;
+               readRAM = false;
+               writeRAM = false;
+       }
+       else if ((addr & 0xFFFB) == 0xC08B)
+       {
+//$C08B 49291              OECG  RR  Read/write RAM bank 1
+               visibleBank = LC_BANK_1;
+               readRAM = true;
+               writeRAM = true;
+       }
+       else if ((addr & 0xFFF8) == 0xC0E0)
+       {
+               floppyDrive.ControlStepper(addr & 0x07);
+       }
+       else if ((addr & 0xFFFE) == 0xC0E8)
+       {
+               floppyDrive.ControlMotor(addr & 0x01);
+       }
+       else if ((addr & 0xFFFE) == 0xC0EA)
+       {
+               floppyDrive.DriveEnable(addr & 0x01);
+       }
+       else if (addr == 0xC0EC)
+       {
+               return floppyDrive.ReadWrite();
+       }
+       else if (addr == 0xC0ED)
+       {
+               return floppyDrive.GetLatchValue();
+       }
+       else if (addr == 0xC0EE)
+       {
+               floppyDrive.SetReadMode();
+       }
+       else if (addr == 0xC0EF)
+       {
+               floppyDrive.SetWriteMode();
+       }
+
+//This sux...
+       if (addr >= 0xC100 && addr <= 0xCFFF)   // The $C000-$CFFF block is *never* RAM
+               b = rom[addr];
+       else if (addr >= 0xD000)
+       {
+               if (readRAM)
+               {
+                       if (addr <= 0xDFFF && visibleBank == LC_BANK_1)
+                               b = ram[addr - 0x1000];
+                       else
+                               b = ram[addr];
+               }
+               else
+                       b = rom[addr];
+       }
+       else
+               b = ram[addr];
+
+       return b;
+}
+
+/*
+A-9 (Mockingboard)
+APPENDIX F Assembly Language Program Listings
+
+                       1       *PRIMARY ROUTINES
+                       2       *FOR SLOT 4
+                       3       *
+                       4                       ORG     $9000
+                       5       *                               ;ADDRESSES
+                                                                               FOR FIRST
+                                                                               6522
+                       6       ORB             EQU     $C400           ;PORT B
+                       7       ORA             EQU     $C401           ;PORT A
+                       8       DDRB            EQU     $C402           ;DATA DIRECTION
+                                                                               REGISTER (A)
+                       9       DDRA            EQU     $C403           ;DATA DIRECTION
+                                                                               REGISTER (B)
+                       10      *                                       ;ADDRESSES
+                                                                               FOR SECOND
+                                                                               6522
+                       11      ORB2            EQU     $C480           ;PORT B
+                       12      ORA2            EQU     $C481           ;PORT A
+                       13      DDRB2   EQU     $C482           ;DATA DIRECTION
+                                                                               REGISTER (B)
+                       14      DDRA2   EQU     $C483           ;DATA DIRECTION
+                                                                               REGISTER (A)
+*/
+void WrMem(uint16 addr, uint8 b)
+{
+//temp...
+//extern V6809REGS regs;
+//if (addr >= 0xC800 && addr <= 0xCBFE)
+//if (addr == 0xC80F || addr == 0xC80D)
+//     WriteLog("WrMem: Writing address %04X with %02X [PC=%04X, $CB00=%02X]\n", addr, b, regs.pc, gram[0xCB00]);//*/
+
+#if 0
+if (addr >= 0xC000 && addr <= 0xC0FF)
+       WriteLog("\n*** Write at I/O address %04X\n", addr);
+#endif
+/*
+Check the BIKO version on Asimov to see if it's been cracked or not...
+
+7F3D: 29 07          AND   #$07       [PC=7F3F, SP=01EA, CC=---B-I--, A=01, X=4B, Y=00]
+7F3F: C9 06          CMP   #$06       [PC=7F41, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00]
+7F41: 90 03          BCC   $7F46      [PC=7F46, SP=01EA, CC=N--B-I--, A=01, X=4B, Y=00]
+[7F43: 4C 83 7E      JMP   $7E83] <- Skipped over... (Prints "THANK YOU VERY MUCH!")
+7F46: AA             TAX              [PC=7F47, SP=01EA, CC=---B-I--, A=01, X=01, Y=00]
+
+; INX here *ensures* 1 - 6!!! BUG!!!
+; Or is it? Could this be part of a braindead copy protection scheme? It's
+; awfully close to NOP ($EA)...
+; Nothing else touches it once it's been written... Hmm...
+
+7F47: E8             INX              [PC=7F48, SP=01EA, CC=---B-I--, A=01, X=02, Y=00]
+7F48: F8             SED              [PC=7F49, SP=01EA, CC=---BDI--, A=01, X=02, Y=00]
+7F49: 18             CLC              [PC=7F4A, SP=01EA, CC=---BDI--, A=01, X=02, Y=00]
+7F4A: BD 15 4E       LDA   $4E15,X    [PC=7F4D, SP=01EA, CC=---BDI--, A=15, X=02, Y=00]
+
+; 4E13: 03 00
+; 4E15: 25 25 15 15 10 20
+; 4E1B: 03 41 99 99 01 00 12
+; 4E22: 99 70
+
+7F4D: 65 FC          ADC   $FC        [PC=7F4F, SP=01EA, CC=---BDI--, A=16, X=02, Y=00]
+7F4F: 65 FC          ADC   $FC        [PC=7F51, SP=01EA, CC=---BDI--, A=17, X=02, Y=00]
+7F51: 65 FC          ADC   $FC        [PC=7F53, SP=01EA, CC=---BDI--, A=18, X=02, Y=00]
+7F53: 65 FC          ADC   $FC        [PC=7F55, SP=01EA, CC=---BDI--, A=19, X=02, Y=00]
+
+; NO checking is done on the raised stat! Aarrrgggghhhhh!
+
+7F55: 9D 15 4E       STA   $4E15,X    [PC=7F58, SP=01EA, CC=---BDI--, A=19, X=02, Y=00]
+7F58: D8             CLD              [PC=7F59, SP=01EA, CC=---B-I--, A=19, X=02, Y=00]
+
+; Print "ALAKAZAM!" and so on...
+
+7F59: 20 2C 40       JSR   $402C      [PC=402C, SP=01E8, CC=---B-I--, A=19, X=02, Y=00]
+*/
+#if 0
+if (addr == 0x7F47)
+       WriteLog("\n*** Byte %02X written at address %04X\n", b, addr);
+#endif
+/*
+CLR80STORE=$C000 ;80STORE Off- disable 80-column memory mapping (Write)
+SET80STORE=$C001 ;80STORE On- enable 80-column memory mapping (WR-only)
+
+CLRAUXRD = $C002 ;read from main 48K (WR-only)
+SETAUXRD = $C003 ;read from aux/alt 48K (WR-only)
+
+CLRAUXWR = $C004 ;write to main 48K (WR-only)
+SETAUXWR = $C005 ;write to aux/alt 48K (WR-only)
+
+CLRCXROM = $C006 ;use ROM on cards (WR-only)
+SETCXROM = $C007 ;use internal ROM (WR-only)
+
+CLRAUXZP = $C008 ;use main zero page, stack, & LC (WR-only)
+SETAUXZP = $C009 ;use alt zero page, stack, & LC (WR-only)
+
+CLRC3ROM = $C00A ;use internal Slot 3 ROM (WR-only)
+SETC3ROM = $C00B ;use external Slot 3 ROM (WR-only)
+
+CLR80VID = $C00C ;disable 80-column display mode (WR-only)
+SET80VID = $C00D ;enable 80-column display mode (WR-only)
+
+CLRALTCH = $C00E ;use main char set- norm LC, Flash UC (WR-only)
+SETALTCH = $C00F ;use alt char set- norm inverse, LC; no Flash (WR-only)
+*/
+       if (addr == 0xC00E)
+       {
+               alternateCharset = false;
+       }
+       else if (addr == 0xC00F)
+       {
+               alternateCharset = true;
+       }
+       else if ((addr & 0xFFF0) == 0xC010)             // Keyboard strobe
+       {
+               keyDown = false;
+       }
+       else if (addr == 0xC050)
+       {
+               textMode = false;
+       }
+       else if (addr == 0xC051)
+       {
+               textMode = true;
+       }
+       else if (addr == 0xC052)
+       {
+               mixedMode = false;
+       }
+       else if (addr == 0xC053)
+       {
+               mixedMode = true;
+       }
+       else if (addr == 0xC054)
+       {
+               displayPage2 = false;
+       }
+       else if (addr == 0xC055)
+       {
+               displayPage2 = true;
+       }
+       else if (addr == 0xC056)
+       {
+               hiRes = false;
+       }
+       else if (addr == 0xC057)
+       {
+               hiRes = true;
+       }
+       else if ((addr & 0xFFF8) == 0xC0E0)
+       {
+               floppyDrive.ControlStepper(addr & 0x07);
+       }
+       else if ((addr & 0xFFFE) == 0xC0E8)
+       {
+               floppyDrive.ControlMotor(addr & 0x01);
+       }
+       else if ((addr & 0xFFFE) == 0xC0EA)
+       {
+               floppyDrive.DriveEnable(addr & 0x01);
+       }
+       else if (addr == 0xC0EC)
+       {
+//change this to Write()? (and the other to Read()?) Dunno. Seems to work OK, but still...
+               floppyDrive.ReadWrite();
+       }
+       else if (addr == 0xC0ED)
+       {
+               floppyDrive.SetLatchValue(b);
+       }
+       else if (addr == 0xC0EE)
+       {
+               floppyDrive.SetReadMode();
+       }
+       else if (addr == 0xC0EF)
+       {
+               floppyDrive.SetWriteMode();
+       }
+//Still need to add missing I/O switches here...
+
+       if (addr >= 0xD000)
+       {
+               if (writeRAM)
+               {
+                       if (addr <= 0xDFFF && visibleBank == LC_BANK_1)
+                               ram[addr - 0x1000] = b;
+                       else
+                               ram[addr] = b;
+               }
+
+               return;
+       }
+
+       ram[addr] = b;
+}
+
+//
+// Load a file into RAM/ROM image space
+//
+bool LoadImg(char * filename, uint8 * ram, int size)
+{
+       FILE * fp = fopen(filename, "rb");
+
+       if (fp == NULL)
+               return false;
+
+       fread(ram, 1, size, fp);
+       fclose(fp);
+
+       return true;
+}
+
+static void SaveApple2State(const char * filename)
+{
+}
+
+static bool LoadApple2State(const char * filename)
+{
+       return false;
+}
+
+//
+// Main loop
+//
+int main(int /*argc*/, char * /*argv*/[])
+{
+       InitLog("./apple2.log");
+       LoadSettings();
+       srand(time(NULL));                                                                      // Initialize RNG
+
+       // Zero out memory
+//Need to bankify this stuff for the IIe emulation...
+       memset(ram, 0, 0x10000);
+       memset(rom, 0, 0x10000);
+
+       // Set up V65C02 execution context
+       memset(&mainCPU, 0, sizeof(V65C02REGS));
+       mainCPU.RdMem = RdMem;
+       mainCPU.WrMem = WrMem;
+       mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET;
+
+       if (!LoadImg(settings.BIOSPath, rom + 0xD000, 0x3000))
+       {
+               WriteLog("Could not open file '%s'!\n", settings.BIOSPath);
+               return -1;
+       }
+
+//This is now included...
+/*     if (!LoadImg(settings.diskPath, diskRom, 0x100))
+       {
+               WriteLog("Could not open file '%s'!\nDisk II will be unavailable!\n", settings.diskPath);
+//             return -1;
+       }//*/
+
+//Load up disk image from config file (for now)...
+       floppyDrive.LoadImage(settings.diskImagePath1, 0);
+       floppyDrive.LoadImage(settings.diskImagePath2, 1);
+//     floppyDrive.LoadImage("./disks/temp.nib", 1);   // Load temp .nib file into second drive...
+
+//Kill the DOS ROM in slot 6 for now...
+//not
+       memcpy(rom + 0xC600, diskROM, 0x100);
+
+       WriteLog("About to initialize video...\n");
+       if (!InitVideo())
+       {
+               cout << "Aborting!" << endl;
+               return -1;
+       }
+
+       // Have to do this *after* video init but *before* sound init...!
+//Shouldn't be necessary since we're not doing emulation in the ISR...
+       if (settings.autoStateSaving)
+       {
+               // Load last state from file...
+               if (!LoadApple2State(settings.autoStatePath))
+                       WriteLog("Unable to use Apple2 state file \"%s\"!\n", settings.autoStatePath);
+       }
+
+
+#if 0
+// State loading!
+if (!LoadImg("./BT1_6502_RAM_SPACE.bin", ram, 0x10000))
+{
+       cout << "Couldn't load state file!" << endl;
+       cout << "Aborting!!" << endl;
+       return -1;
+}
+
+//A  P  Y  X  S     PC
+//-- -- -- -- ----- -----
+//00 75 3B 53 FD 01 41 44
+
+mainCPU.cpuFlags = 0;
+mainCPU.a = 0x00;
+mainCPU.x = 0x53;
+mainCPU.y = 0x3B;
+mainCPU.cc = 0x75;
+mainCPU.sp = 0xFD;
+mainCPU.pc = 0x4441;
+
+textMode = false;
+mixedMode = false;
+displayPage2 = false;
+hiRes = true;
+
+//kludge...
+readHiRam = true;
+//dumpDis=true;
+//kludge II...
+memcpy(ram + 0xD000, ram + 0xC000, 0x1000);
+#endif
+
+       WriteLog("About to initialize audio...\n");
+       SoundInit();
+       SDL_EnableUNICODE(1);                                           // Needed to do key translation shit
+
+       gui = new GUI(surface);                                         // Set up the GUI system object...
+       gui->AddMenuTitle("Apple2");
+       gui->AddMenuItem("Test!", TestWindow/*, hotkey*/);
+       gui->AddMenuItem("");
+       gui->AddMenuItem("Quit", QuitEmulator, SDLK_q);
+       gui->CommitItemsToMenu();
+
+       SetupBlurTable();                                                       // Set up the color TV emulation blur table
+       running = true;                                                         // Set running status...
+
+       InitializeEventList();                                          // Clear the event list before we use it...
+       SetCallbackTime(FrameCallback, 16666.66666667); // Set frame to fire at 1/60 s interval
+       SetCallbackTime(BlinkTimer, 250000);            // Set up blinking at 1/4 s intervals
+       startTicks = SDL_GetTicks();
+
+       WriteLog("Entering main loop...\n");
+       while (running)
+       {
+               double timeToNextEvent = GetTimeToNextEvent();
+               Execute65C02(&mainCPU, USEC_TO_M6502_CYCLES(timeToNextEvent));
+//We MUST remove a frame's worth of time in order for the CPU to function... !!! FIX !!!
+//(Fix so that this is not a requirement!)
+               mainCPU.clock -= USEC_TO_M6502_CYCLES(timeToNextEvent);
+               HandleNextEvent();
+       }
+
+       if (settings.autoStateSaving)
+       {
+               // Save state here...
+               SaveApple2State(settings.autoStatePath);
+       }
+floppyDrive.SaveImage();
+
+       SoundDone();
+       VideoDone();
+       SaveSettings();
+       LogDone();
+
+       return 0;
+}
+
+/*
+Apple II keycodes
+-----------------
+
+Key     Aln CTL SHF BTH
+-----------------------
+space  $A0     $A0     $A0 $A0         No xlation
+RETURN $8D     $8D     $8D     $8D             No xlation
+0              $B0     $B0     $B0     $B0             Need to screen shift+0 (?)
+1!             $B1 $B1 $A1 $A1         No xlation
+2"             $B2     $B2     $A2     $A2             No xlation
+3#             $B3     $B3     $A3     $A3             No xlation
+4$             $B4     $B4     $A4     $A4             No xlation
+5%             $B5     $B5     $A5     $A5             No xlation
+6&             $B6     $B6     $A6     $A6             No xlation
+7'             $B7     $B7     $A7     $A7             No xlation
+8(             $B8     $B8     $A8     $A8             No xlation
+9)             $B9     $B9     $A9     $A9             No xlation
+:*             $BA     $BA     $AA     $AA             No xlation
+;+             $BB     $BB     $AB     $AB             No xlation
+,<             $AC     $AC     $BC     $BC             No xlation
+-=             $AD     $AD     $BD     $BD             No xlation
+.>             $AE     $AE     $BE     $BE             No xlation
+/?             $AF     $AF     $BF     $BF             No xlation
+A              $C1     $81     $C1     $81
+B              $C2     $82     $C2     $82
+C              $C3     $83     $C3     $83
+D              $C4     $84     $C4     $84
+E              $C5     $85     $C5     $85
+F              $C6     $86     $C6     $86
+G              $C7     $87     $C7     $87
+H              $C8     $88     $C8     $88
+I              $C9     $89     $C9     $89
+J              $CA     $8A     $CA     $8A
+K              $CB     $8B     $CB     $8B
+L              $CC     $8C     $CC     $8C
+M              $CD     $8D     $DD     $9D             -> ODD
+N^             $CE     $8E     $DE     $9E             -> ODD
+O              $CF     $8F     $CF     $8F
+P@             $D0     $90     $C0     $80             Need to xlate CTL+SHFT+P & SHFT+P (?)
+Q              $D1     $91     $D1     $91
+R              $D2     $92     $D2     $92
+S              $D3     $93     $D3     $93
+T              $D4     $94     $D4     $94
+U              $D5     $95     $D5     $95
+V              $D6     $96     $D6     $96
+W              $D7     $97     $D7     $97
+X              $D8     $98     $D8     $98
+Y              $D9     $99     $D9     $99
+Z              $DA     $9A     $DA     $9A
+<-             $88     $88     $88     $88
+->             $95     $95     $95     $95
+ESC            $9B     $9B     $9B     $9B             No xlation
+
+*/
+static void FrameCallback(void)
+{
+       SDL_Event event;
+
+       while (SDL_PollEvent(&event))
+       {
+               switch (event.type)
+               {
+               case SDL_KEYDOWN:
+                       if (event.key.keysym.unicode != 0)
+                       {
+//Need to do some key translation here, and screen out non-apple keys as well...
+                               if (event.key.keysym.sym == SDLK_TAB)   // Prelim key screening...
+                                       break;
+
+                               lastKeyPressed = event.key.keysym.unicode;
+                               keyDown = true;
+                               //kludge: should have a caps lock thingy here...
+                               //or all uppercase for ][+...
+                               if (lastKeyPressed >= 'a' && lastKeyPressed <='z')
+                                       lastKeyPressed &= 0xDF;         // Convert to upper case...
+                       }
+
+                       // CTRL+RESET key emulation (mapped to CTRL+`)
+// This doesn't work...
+//                     if (event.key.keysym.sym == SDLK_BREAK && (event.key.keysym.mod & KMOD_CTRL))
+//                     if (event.key.keysym.sym == SDLK_PAUSE && (event.key.keysym.mod & KMOD_CTRL))
+                       if (event.key.keysym.sym == SDLK_BACKQUOTE && (event.key.keysym.mod & KMOD_CTRL))
+//NOTE that this shouldn't take place until the key is lifted... !!! FIX !!!
+//ALSO it seems to leave the machine in an inconsistent state vis-a-vis the language card...
+                               mainCPU.cpuFlags |= V65C02_ASSERT_LINE_RESET;
+
+                       if (event.key.keysym.sym == SDLK_RIGHT)
+                               lastKeyPressed = 0x15, keyDown = true;
+                       else if (event.key.keysym.sym == SDLK_LEFT)
+                               lastKeyPressed = 0x08, keyDown = true;
+
+                       // Use ALT+Q to exit, as well as the usual window decoration method
+                       if (event.key.keysym.sym == SDLK_q && (event.key.keysym.mod & KMOD_ALT))
+                               running = false;
+
+                       if (event.key.keysym.sym == SDLK_F12)
+                               dumpDis = !dumpDis;                             // Toggle the disassembly process
+                       else if (event.key.keysym.sym == SDLK_F11)
+                               floppyDrive.LoadImage("./disks/bt1_char.dsk");//Kludge to load char disk...
+else if (event.key.keysym.sym == SDLK_F9)
+{
+       floppyDrive.CreateBlankImage();
+//     SpawnMessage("Image cleared...");
+}//*/
+else if (event.key.keysym.sym == SDLK_F10)
+{
+       floppyDrive.SwapImages();
+//     SpawnMessage("Image swapped...");
+}//*/
+
+                       if (event.key.keysym.sym == SDLK_F2)// Toggle the palette
+                               TogglePalette();
+                       else if (event.key.keysym.sym == SDLK_F3)// Cycle through screen types
+                               CycleScreenTypes();
+
+//                     if (event.key.keysym.sym == SDLK_F5)    // Temp GUI launch key
+                       if (event.key.keysym.sym == SDLK_F1)    // GUI launch key
+//NOTE: Should parse the output to determine whether or not the user requested
+//      to quit completely... !!! FIX !!!
+                               gui->Run();
+
+                       break;
+               case SDL_QUIT:
+                       running = false;
+               }
+       }
+
+       HandleSoundAtFrameEdge();                                       // Sound stuff... (ick)
+       RenderVideoFrame();
+       SetCallbackTime(FrameCallback, 16666.66666667);
+
+       while (SDL_GetTicks() - startTicks < 16);       // Wait for next frame...
+       startTicks = SDL_GetTicks();
+}
+
+static void BlinkTimer(void)
+{
+       flash = !flash;
+       SetCallbackTime(BlinkTimer, 250000);            // Set up blinking at 1/4 sec intervals
+}
index 48d39ff3ca139db28bde98151ecac063f62f57eb..cff8eedce4537f1a212014aace7affeba38b27f2 100755 (executable)
@@ -1,12 +1,12 @@
-//\r
-// Apple 2 SDL Portable Apple Emulator\r
-//\r
-\r
-#include "types.h"\r
-\r
-enum { APPLE_TYPE_II, APPLE_TYPE_IIE, APPLE_TYPE_IIC };\r
-\r
-// Global variables (exported)\r
-\r
-extern uint8 ram[0x10000], rom[0x10000];               // RAM & ROM pointers\r
-extern uint8 appleType;\r
+//
+// Apple 2 SDL Portable Apple Emulator
+//
+
+#include "types.h"
+
+enum { APPLE_TYPE_II, APPLE_TYPE_IIE, APPLE_TYPE_IIC };
+
+// Global variables (exported)
+
+extern uint8 ram[0x10000], rom[0x10000];               // RAM & ROM pointers
+extern uint8 appleType;
index e9bfaa9e8a1ac3df3a5711c2f3adf18c32a0cb7b..25420524fb0f202cef42b1b526c9927132e59abb 100755 (executable)
-//\r
-// Apple 2 video support\r
-//\r
-// All the video modes that a real Apple 2 supports are handled here\r
-//\r
-// by James L. Hammons\r
-// (c) 2005 Underground Software\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  12/01/2005  Added color TV/monochrome emulation to hi-res code\r
-// JLH  12/09/2005  Cleaned up color TV emulation code\r
-// JLH  12/09/2005  Fixed lo-res color TV/mono emulation modes\r
-//\r
-// STILL TO DO:\r
-//\r
-// - Fix LoRes mode green mono to skip every other scanline instead of fill\r
-//   like white mono does\r
-// - Double HiRes\r
-// - 80 column text\r
-// - Fix OSD text display so that it's visible no matter what background is there [DONE]\r
-//\r
-\r
-// Display routines seem MUCH slower now... !!! INVESTIGATE !!!\r
-\r
-#include "applevideo.h"\r
-\r
-#include <string.h>                                                            // for memset()\r
-#include <stdarg.h>                                                            // for va_* stuff\r
-#include <string>                                                              // for vsprintf()\r
-#include "apple2.h"\r
-#include "video.h"\r
-#include "charset.h"\r
-#include "font14pt.h"\r
-\r
-/* Reference: Technote tn-iigs-063 "Master Color Values"\r
-\r
-          Color  Color Register LR HR  DHR Master Color R,G,B\r
-          Name       Value      #  #   #      Value\r
-          ----------------------------------------------------\r
-          Black       0         0  0,4 0      $0000    (0,0,0)\r
-(Magenta) Deep Red    1         1      1      $0D03    (D,0,3)\r
-          Dark Blue   2         2      8      $0009    (0,0,9)\r
- (Violet) Purple      3         3  2   9      $0D2D    (D,2,D)\r
-          Dark Green  4         4      4      $0072    (0,7,2)\r
- (Gray 1) Dark Gray   5         5      5      $0555    (5,5,5)\r
-   (Blue) Medium Blue 6         6  6   C      $022F    (2,2,F)\r
-   (Cyan) Light Blue  7         7      D      $06AF    (6,A,F)\r
-          Brown       8         8      2      $0850    (8,5,0)\r
-          Orange      9         9  5   3      $0F60    (F,6,0)\r
- (Gray 2) Light Gray  A         A      A      $0AAA    (A,A,A)\r
-          Pink        B         B      B      $0F98    (F,9,8)\r
-  (Green) Light Green C         C  1   6      $01D0    (1,D,0)\r
-          Yellow      D         D      7      $0FF0    (F,F,0)\r
-   (Aqua) Aquamarine  E         E      E      $04F9    (4,F,9)\r
-          White       F         F  3,7 F      $0FFF    (F,F,F)\r
-\r
-   LR: Lo-Res   HR: Hi-Res   DHR: Double Hi-Res */\r
-\r
-// Global variables\r
-\r
-bool flash;\r
-bool textMode;\r
-bool mixedMode;\r
-bool displayPage2;\r
-bool hiRes;\r
-bool alternateCharset;\r
-//void SpawnMessage(const char * text, ...);\r
-\r
-// Local variables\r
-\r
-// We set up the colors this way so that they'll be endian safe\r
-// when we cast them to a uint32.\r
-\r
-// "Master Color Values" palette\r
-\r
-static uint8 colors[16 * 4] = {\r
-       0x00, 0x00, 0x00, 0xFF,                         // Black\r
-       0xDD, 0x00, 0x33, 0xFF,                         // Deep Red (Magenta)\r
-       0x00, 0x00, 0x99, 0xFF,                         // Dark Blue\r
-       0xDD, 0x22, 0xDD, 0xFF,                         // Purple (Violet)\r
-       0x00, 0x77, 0x22, 0xFF,                         // Dark Green\r
-       0x55, 0x55, 0x55, 0xFF,                         // Dark Gray (Gray 1)\r
-       0x22, 0x22, 0xFF, 0xFF,                         // Medium Blue (Blue)\r
-       0x66, 0xAA, 0xFF, 0xFF,                         // Light Blue (Cyan)\r
-       0x88, 0x55, 0x00, 0xFF,                         // Brown\r
-       0xFF, 0x66, 0x00, 0xFF,                         // Orange\r
-       0xAA, 0xAA, 0xAA, 0xFF,                         // Light Gray (Gray 2)\r
-       0xFF, 0x99, 0x88, 0xFF,                         // Pink\r
-       0x11, 0xDD, 0x00, 0xFF,                         // Light Green (Green)\r
-       0xFF, 0xFF, 0x00, 0xFF,                         // Yellow\r
-       0x44, 0xFF, 0x99, 0xFF,                         // Aquamarine (Aqua)\r
-       0xFF, 0xFF, 0xFF, 0xFF                          // White\r
-};\r
-\r
-// This palette comes from ApplePC's colors (more realistic to my eye ;-)\r
-\r
-static uint8 altColors[16 * 4] = {\r
-       0x00, 0x00, 0x00, 0xFF,\r
-       0x7D, 0x20, 0x41, 0xFF,\r
-       0x41, 0x30, 0x7D, 0xFF,\r
-       0xBE, 0x51, 0xBE, 0xFF,\r
-       0x00, 0x5D, 0x3C, 0xFF,\r
-       0x7D, 0x7D, 0x7D, 0xFF,\r
-       0x41, 0x8E, 0xBA, 0xFF,\r
-       0xBE, 0xAE, 0xFB, 0xFF,\r
-       0x3C, 0x4D, 0x00, 0xFF,\r
-       0xBA, 0x6D, 0x41, 0xFF,\r
-       0x7D, 0x7D, 0x7D, 0xFF,\r
-       0xFB, 0x9E, 0xBE, 0xFF,\r
-       0x3C, 0xAA, 0x3C, 0xFF,\r
-       0xBA, 0xCB, 0x7D, 0xFF,\r
-       0x7D, 0xDB, 0xBA, 0xFF,\r
-       0xFB, 0xFB, 0xFB, 0xFF };\r
-\r
-// Lo-res starting line addresses\r
-\r
-static uint16 lineAddrLoRes[24] = {\r
-       0x0400, 0x0480, 0x0500, 0x0580, 0x0600, 0x0680, 0x0700, 0x0780,\r
-       0x0428, 0x04A8, 0x0528, 0x05A8, 0x0628, 0x06A8, 0x0728, 0x07A8,\r
-       0x0450, 0x04D0, 0x0550, 0x05D0, 0x0650, 0x06D0, 0x0750, 0x07D0 };\r
-\r
-// Hi-res starting line addresses\r
-\r
-static uint16 lineAddrHiRes[192] = {\r
-       0x2000, 0x2400, 0x2800, 0x2C00, 0x3000, 0x3400, 0x3800, 0x3C00,\r
-       0x2080, 0x2480, 0x2880, 0x2C80, 0x3080, 0x3480, 0x3880, 0x3C80,\r
-       0x2100, 0x2500, 0x2900, 0x2D00, 0x3100, 0x3500, 0x3900, 0x3D00,\r
-       0x2180, 0x2580, 0x2980, 0x2D80, 0x3180, 0x3580, 0x3980, 0x3D80,\r
-\r
-       0x2200, 0x2600, 0x2A00, 0x2E00, 0x3200, 0x3600, 0x3A00, 0x3E00,\r
-       0x2280, 0x2680, 0x2A80, 0x2E80, 0x3280, 0x3680, 0x3A80, 0x3E80,\r
-       0x2300, 0x2700, 0x2B00, 0x2F00, 0x3300, 0x3700, 0x3B00, 0x3F00,\r
-       0x2380, 0x2780, 0x2B80, 0x2F80, 0x3380, 0x3780, 0x3B80, 0x3F80,\r
-\r
-       0x2028, 0x2428, 0x2828, 0x2C28, 0x3028, 0x3428, 0x3828, 0x3C28,\r
-       0x20A8, 0x24A8, 0x28A8, 0x2CA8, 0x30A8, 0x34A8, 0x38A8, 0x3CA8,\r
-       0x2128, 0x2528, 0x2928, 0x2D28, 0x3128, 0x3528, 0x3928, 0x3D28,\r
-       0x21A8, 0x25A8, 0x29A8, 0x2DA8, 0x31A8, 0x35A8, 0x39A8, 0x3DA8,\r
-\r
-       0x2228, 0x2628, 0x2A28, 0x2E28, 0x3228, 0x3628, 0x3A28, 0x3E28,\r
-       0x22A8, 0x26A8, 0x2AA8, 0x2EA8, 0x32A8, 0x36A8, 0x3AA8, 0x3EA8,\r
-       0x2328, 0x2728, 0x2B28, 0x2F28, 0x3328, 0x3728, 0x3B28, 0x3F28,\r
-       0x23A8, 0x27A8, 0x2BA8, 0x2FA8, 0x33A8, 0x37A8, 0x3BA8, 0x3FA8,\r
-\r
-       0x2050, 0x2450, 0x2850, 0x2C50, 0x3050, 0x3450, 0x3850, 0x3C50,\r
-       0x20D0, 0x24D0, 0x28D0, 0x2CD0, 0x30D0, 0x34D0, 0x38D0, 0x3CD0,\r
-       0x2150, 0x2550, 0x2950, 0x2D50, 0x3150, 0x3550, 0x3950, 0x3D50,\r
-       0x21D0, 0x25D0, 0x29D0, 0x2DD0, 0x31D0, 0x35D0, 0x39D0, 0x3DD0,\r
-\r
-       0x2250, 0x2650, 0x2A50, 0x2E50, 0x3250, 0x3650, 0x3A50, 0x3E50,\r
-       0x22D0, 0x26D0, 0x2AD0, 0x2ED0, 0x32D0, 0x36D0, 0x3AD0, 0x3ED0,\r
-       0x2350, 0x2750, 0x2B50, 0x2F50, 0x3350, 0x3750, 0x3B50, 0x3F50,\r
-       0x23D0, 0x27D0, 0x2BD0, 0x2FD0, 0x33D0, 0x37D0, 0x3BD0, 0x3FD0 };\r
-\r
-uint16 appleHiresToMono[0x200] = {\r
-       0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00,\r
-       0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x\r
-       0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30,\r
-       0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x\r
-       0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C,\r
-       0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x\r
-       0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C,\r
-       0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x\r
-       0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03,\r
-       0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x\r
-       0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33,\r
-       0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x\r
-       0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F,\r
-       0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x\r
-       0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F,\r
-       0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x\r
-       0x0000, 0x1800, 0x0600, 0x1E00, 0x0180, 0x1980, 0x0780, 0x1F80,\r
-       0x0060, 0x1860, 0x0660, 0x1E60, 0x01E0, 0x19E0, 0x07E0, 0x1FE0, // $8x\r
-       0x0018, 0x1818, 0x0618, 0x1E18, 0x0198, 0x1998, 0x0798, 0x1F98,\r
-       0x0078, 0x1878, 0x0678, 0x1E78, 0x01F8, 0x19F8, 0x07F8, 0x1FF8, // $9x\r
-       0x0006, 0x1806, 0x0606, 0x1E06, 0x0186, 0x1986, 0x0786, 0x1F86,\r
-       0x0066, 0x1866, 0x0666, 0x1E66, 0x01E6, 0x19E6, 0x07E6, 0x1FE6, // $Ax\r
-       0x001E, 0x181E, 0x061E, 0x1E1E, 0x019E, 0x199E, 0x079E, 0x1F9E,\r
-       0x007E, 0x187E, 0x067E, 0x1E7E, 0x01FE, 0x19FE, 0x07FE, 0x1FFE, // $Bx\r
-       0x0001, 0x1801, 0x0601, 0x1E01, 0x0181, 0x1981, 0x0781, 0x1F81,\r
-       0x0061, 0x1861, 0x0661, 0x1E61, 0x01E1, 0x19E1, 0x07E1, 0x1FE1, // $Cx\r
-       0x0019, 0x1819, 0x0619, 0x1E19, 0x0199, 0x1999, 0x0799, 0x1F99,\r
-       0x0079, 0x1879, 0x0679, 0x1E79, 0x01F9, 0x19F9, 0x07F9, 0x1FF9, // $Dx\r
-       0x0007, 0x1807, 0x0607, 0x1E07, 0x0187, 0x1987, 0x0787, 0x1F87,\r
-       0x0067, 0x1867, 0x0667, 0x1E67, 0x01E7, 0x19E7, 0x07E7, 0x1FE7, // $Ex\r
-       0x001F, 0x181F, 0x061F, 0x1E1F, 0x019F, 0x199F, 0x079F, 0x1F9F,\r
-       0x007F, 0x187F, 0x067F, 0x1E7F, 0x01FF, 0x19FF, 0x07FF, 0x1FFF, // $Fx\r
-\r
-       // Second half adds in the previous byte's lo pixel\r
-\r
-       0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00,\r
-       0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x\r
-       0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30,\r
-       0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x\r
-       0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C,\r
-       0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x\r
-       0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C,\r
-       0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x\r
-       0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03,\r
-       0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x\r
-       0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33,\r
-       0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x\r
-       0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F,\r
-       0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x\r
-       0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F,\r
-       0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x\r
-       0x2000, 0x3800, 0x2600, 0x3E00, 0x2180, 0x3980, 0x2780, 0x3F80,\r
-       0x2060, 0x3860, 0x2660, 0x3E60, 0x21E0, 0x39E0, 0x27E0, 0x3FE0, // $8x\r
-       0x2018, 0x3818, 0x2618, 0x3E18, 0x2198, 0x3998, 0x2798, 0x3F98,\r
-       0x2078, 0x3878, 0x2678, 0x3E78, 0x21F8, 0x39F8, 0x27F8, 0x3FF8, // $9x\r
-       0x2006, 0x3806, 0x2606, 0x3E06, 0x2186, 0x3986, 0x2786, 0x3F86,\r
-       0x2066, 0x3866, 0x2666, 0x3E66, 0x21E6, 0x39E6, 0x27E6, 0x3FE6, // $Ax\r
-       0x201E, 0x381E, 0x261E, 0x3E1E, 0x219E, 0x399E, 0x279E, 0x3F9E,\r
-       0x207E, 0x387E, 0x267E, 0x3E7E, 0x21FE, 0x39FE, 0x27FE, 0x3FFE, // $Bx\r
-       0x2001, 0x3801, 0x2601, 0x3E01, 0x2181, 0x3981, 0x2781, 0x3F81,\r
-       0x2061, 0x3861, 0x2661, 0x3E61, 0x21E1, 0x39E1, 0x27E1, 0x3FE1, // $Cx\r
-       0x2019, 0x3819, 0x2619, 0x3E19, 0x2199, 0x3999, 0x2799, 0x3F99,\r
-       0x2079, 0x3879, 0x2679, 0x3E79, 0x21F9, 0x39F9, 0x27F9, 0x3FF9, // $Dx\r
-       0x2007, 0x3807, 0x2607, 0x3E07, 0x2187, 0x3987, 0x2787, 0x3F87,\r
-       0x2067, 0x3867, 0x2667, 0x3E67, 0x21E7, 0x39E7, 0x27E7, 0x3FE7, // $Ex\r
-       0x201F, 0x381F, 0x261F, 0x3E1F, 0x219F, 0x399F, 0x279F, 0x3F9F,\r
-       0x207F, 0x387F, 0x267F, 0x3E7F, 0x21FF, 0x39FF, 0x27FF, 0x3FFF  // $Fx\r
-};\r
-\r
-static uint8 blurTable[0x800][8];                              // Color TV blur table\r
-static uint32 * palette = (uint32 *)altColors;\r
-enum { ST_FIRST_ENTRY = 0, ST_COLOR_TV = 0, ST_WHITE_MONO, ST_GREEN_MONO, ST_LAST_ENTRY };\r
-static uint8 screenType = ST_COLOR_TV;\r
-\r
-// Local functions\r
-\r
-static void Render40ColumnTextLine(uint8 line);\r
-static void Render40ColumnText(void);\r
-static void RenderLoRes(uint16 toLine = 24);\r
-static void RenderHiRes(uint16 toLine = 192);\r
-\r
-\r
-void SetupBlurTable(void)\r
-{\r
-       // NOTE: This table only needs to be 7 bits wide instead of 11, since the\r
-       //       last four bits are copies of the previous four...\r
-\r
-       for(uint16 bitPat=0; bitPat<0x800; bitPat++)\r
-       {\r
-               uint16 w3 = bitPat & 0x888;\r
-               uint16 w2 = bitPat & 0x444;\r
-               uint16 w1 = bitPat & 0x222;\r
-               uint16 w0 = bitPat & 0x111;\r
-\r
-               uint16 blurred3 = (w3 | (w3 >> 1) | (w3 >> 2) | (w3 >> 3)) & 0x00FF;\r
-               uint16 blurred2 = (w2 | (w2 >> 1) | (w2 >> 2) | (w2 >> 3)) & 0x00FF;\r
-               uint16 blurred1 = (w1 | (w1 >> 1) | (w1 >> 2) | (w1 >> 3)) & 0x00FF;\r
-               uint16 blurred0 = (w0 | (w0 >> 1) | (w0 >> 2) | (w0 >> 3)) & 0x00FF;\r
-\r
-               for(int8 i=7; i>=0; i--)\r
-               {\r
-                       uint8 color = (((blurred0 >> i) & 0x01) << 3)\r
-                               | (((blurred1 >> i) & 0x01) << 2)\r
-                               | (((blurred2 >> i) & 0x01) << 1)\r
-                               | ((blurred3 >> i) & 0x01);\r
-                       blurTable[bitPat][7 - i] = color;\r
-               }\r
-       }\r
-}\r
-\r
-void TogglePalette(void)\r
-{\r
-       if (palette == (uint32 *)colors)\r
-       {\r
-               palette = (uint32 *)altColors;\r
-               SpawnMessage("Color TV palette");\r
-       }\r
-       else\r
-       {\r
-               palette = (uint32 *)colors;\r
-               SpawnMessage("\"Master Color Values\" palette");\r
-       }\r
-}\r
-\r
-void CycleScreenTypes(void)\r
-{\r
-       char scrTypeStr[3][40] = { "Color TV", "White monochrome", "Green monochrome" };\r
-\r
-       screenType++;\r
-\r
-       if (screenType == ST_LAST_ENTRY)\r
-               screenType = ST_FIRST_ENTRY;\r
-\r
-       SpawnMessage("%s", scrTypeStr[screenType]);\r
-}\r
-\r
-static uint32 msgTicks = 0;\r
-static char message[4096];\r
-\r
-void SpawnMessage(const char * text, ...)\r
-{\r
-       va_list arg;\r
-\r
-       va_start(arg, text);\r
-       vsprintf(message, text, arg);\r
-       va_end(arg);\r
-\r
-       msgTicks = 120;\r
-}\r
-\r
-static void DrawString2(uint32 x, uint32 y, uint32 color);\r
-static void DrawString(void)\r
-{\r
-//This approach works, and seems to be fast enough... Though it probably would\r
-//be better to make the oversized font to match this one...\r
-       for(uint32 x=7; x<=9; x++)\r
-               for(uint32 y=7; y<=9; y++)\r
-                       DrawString2(x, y, 0x00000000);\r
-\r
-       DrawString2(8, 8, 0x0020FF20);\r
-}\r
-\r
-static void DrawString2(uint32 x, uint32 y, uint32 color)\r
-{\r
-//uint32 x = 8, y = 8;\r
-       uint32 length = strlen(message), address = x + (y * VIRTUAL_SCREEN_WIDTH);\r
-//     uint32 color = 0x0020FF20;\r
-//This could be done ahead of time, instead of on each pixel...\r
-//(Now it is!)\r
-       uint8 nBlue = (color >> 16) & 0xFF, nGreen = (color >> 8) & 0xFF, nRed = color & 0xFF;\r
-\r
-       for(uint32 i=0; i<length; i++)\r
-       {\r
-               uint8 c = message[i];\r
-               c = (c < 32 ? 0 : c - 32);\r
-               uint32 fontAddr = (uint32)c * FONT_WIDTH * FONT_HEIGHT;\r
-\r
-               for(uint32 yy=0; yy<FONT_HEIGHT; yy++)\r
-               {\r
-                       for(uint32 xx=0; xx<FONT_WIDTH; xx++)\r
-                       {\r
-/*                             uint8 fontTrans = font1[fontAddr++];\r
-//                             uint32 newTrans = (fontTrans * transparency / 255) << 24;\r
-                               uint32 newTrans = fontTrans << 24;\r
-                               uint32 pixel = newTrans | color;\r
-\r
-                               *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH)) = pixel;//*/\r
-\r
-                               uint8 trans = font1[fontAddr++];\r
-\r
-                               if (trans)\r
-                               {\r
-                                       uint32 existingColor = *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH));\r
-\r
-                                       uint8 eBlue = (existingColor >> 16) & 0xFF,\r
-                                               eGreen = (existingColor >> 8) & 0xFF,\r
-                                               eRed = existingColor & 0xFF;\r
-\r
-//This could be sped up by using a table of 5 + 5 + 5 bits (32 levels transparency -> 32768 entries)\r
-//Here we've modified it to have 33 levels of transparency (could have any # we want!)\r
-//because dividing by 32 is faster than dividing by 31...!\r
-                                       uint8 invTrans = 255 - trans;\r
-\r
-                                       uint32 bRed   = (eRed   * invTrans + nRed   * trans) / 255;\r
-                                       uint32 bGreen = (eGreen * invTrans + nGreen * trans) / 255;\r
-                                       uint32 bBlue  = (eBlue  * invTrans + nBlue  * trans) / 255;\r
-\r
-//THIS IS NOT ENDIAN SAFE\r
-                                       *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH)) = 0xFF000000 | (bBlue << 16) | (bGreen << 8) | bRed;\r
-                               }\r
-                       }\r
-               }\r
-\r
-               address += FONT_WIDTH;\r
-       }\r
-}\r
-\r
-static void Render40ColumnTextLine(uint8 line)\r
-{\r
-       uint32 pixelOn = (screenType == ST_GREEN_MONO ? 0xFF61FF61 : 0xFFFFFFFF);\r
-\r
-       for(int x=0; x<40; x++)\r
-       {\r
-               uint8 chr = ram[lineAddrLoRes[line] + (displayPage2 ? 0x0400 : 0x0000) + x];\r
-\r
-               // Render character at (x, y)\r
-\r
-               for(int cy=0; cy<8; cy++)\r
-               {\r
-                       for(int cx=0; cx<7; cx++)\r
-                       {\r
-                               uint32 pixel = 0xFF000000;\r
-\r
-                               if (!alternateCharset)\r
-                               {\r
-                                       if (textChar[((chr & 0x3F) * 56) + cx + (cy * 7)])\r
-//                                             pixel = 0xFFFFFFFF;\r
-                                               pixel = pixelOn;\r
-\r
-                                       if (chr < 0x80)\r
-                                               pixel = pixel ^ (screenType == ST_GREEN_MONO ? 0x0061FF61 : 0x00FFFFFF);\r
-\r
-                                       if ((chr & 0xC0) == 0x40 && flash)\r
-                                               pixel = 0xFF000000;\r
-                               }\r
-                               else\r
-                               {\r
-                                       if (textChar2e[(chr * 56) + cx + (cy * 7)])\r
-//                                             pixel = 0xFFFFFFFF;\r
-                                               pixel = pixelOn;\r
-                               }\r
-\r
-//                             scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel;\r
-//                             scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel;\r
-                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel;\r
-                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel;\r
-\r
-                               if (screenType == ST_GREEN_MONO)\r
-                                       pixel = 0xFF000000;\r
-\r
-                               {\r
-                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel;\r
-                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-static void Render40ColumnText(void)\r
-{\r
-       for(uint8 line=0; line<24; line++)\r
-               Render40ColumnTextLine(line);\r
-}\r
-\r
-static void RenderLoRes(uint16 toLine/*= 24*/)\r
-{\r
-// NOTE: The green mono rendering doesn't skip every other line... !!! FIX !!!\r
-/*\r
-Note that these colors correspond to the bit patterns generated by the numbers 0-F in order:\r
-Color #s correspond to the bit patterns in reverse... Interesting!\r
-\r
-00 00 00 ->  0 [0000] -> 0 (lores color #)\r
-3c 4d 00 ->  8 [0001] -> 8?            BROWN\r
-00 5d 3c ->  4 [0010] -> 4?            DARK GREEN\r
-3c aa 3c -> 12 [0011] -> 12?   LIGHT GREEN (GREEN)\r
-41 30 7d ->  2 [0100] -> 2?            DARK BLUE\r
-7d 7d 7d -> 10 [0101] -> 10?   LIGHT GRAY\r
-41 8e ba ->  6 [0110] -> 6?            MEDIUM BLUE (BLUE)\r
-7d db ba -> 14 [0111] -> 14?   AQUAMARINE (AQUA)\r
-7d 20 41 ->  1 [1000] -> 1?            DEEP RED (MAGENTA)\r
-ba 6d 41 ->  9 [1001] -> 9?            ORANGE\r
-7d 7d 7d ->  5 [1010] -> 5?            DARK GRAY\r
-ba cb 7d -> 13 [1011] -> 13?   YELLOW\r
-be 51 be ->  3 [1100] -> 3             PURPLE (VIOLET)\r
-fb 9e be -> 11 [1101] -> 11?   PINK\r
-be ae fb ->  7 [1110] -> 7?            LIGHT BLUE (CYAN)\r
-fb fb fb -> 15 [1111] -> 15            WHITE\r
-*/\r
-       uint8 mirrorNybble[16] = { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 };\r
-\r
-//This is the old "perfect monitor" rendering code...\r
-/*     if (screenType != ST_COLOR_TV) // Not correct, but for now...\r
-//if (1)\r
-       {\r
-               for(uint16 y=0; y<toLine; y++)\r
-               {\r
-                       for(uint16 x=0; x<40; x++)\r
-                       {\r
-                               uint8 scrByte = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x];\r
-                               uint32 pixel = palette[scrByte & 0x0F];\r
-       \r
-                               for(int cy=0; cy<4; cy++)\r
-                                       for(int cx=0; cx<14; cx++)\r
-                                               scrBuffer[((x * 14) + cx) + (((y * 8) + cy) * VIRTUAL_SCREEN_WIDTH)] = pixel;\r
-       \r
-                               pixel = palette[scrByte >> 4];\r
-       \r
-                               for(int cy=4; cy<8; cy++)\r
-                                       for(int cx=0; cx<14; cx++)\r
-                                               scrBuffer[(x * 14) + (y * VIRTUAL_SCREEN_WIDTH * 8) + cx + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel;\r
-                       }\r
-               }\r
-       }\r
-       else//*/\r
-\r
-       uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61);\r
-\r
-       for(uint16 y=0; y<toLine; y++)\r
-       {\r
-               // Do top half of lores screen bytes...\r
-\r
-               uint32 previous3Bits = 0;\r
-\r
-               for(uint16 x=0; x<40; x+=2)\r
-               {\r
-                       uint8 scrByte1 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 0] & 0x0F;\r
-                       uint8 scrByte2 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 1] & 0x0F;\r
-                       scrByte1 = mirrorNybble[scrByte1];\r
-                       scrByte2 = mirrorNybble[scrByte2];\r
-                       // This is just a guess, but it'll have to do for now...\r
-                       uint32 pixels = previous3Bits | (scrByte1 << 24) | (scrByte1 << 20) | (scrByte1 << 16)\r
-                               | ((scrByte1 & 0x0C) << 12) | ((scrByte2 & 0x03) << 12)\r
-                               | (scrByte2 << 8) | (scrByte2 << 4) | scrByte2;\r
-\r
-                       // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF\r
-                       // 0ppp 1111 1111 1111 11|11 1111 1111 1111\r
-                       // 31   27   23   19   15    11   7    3  0\r
-\r
-                       if (screenType == ST_COLOR_TV)\r
-                       {\r
-                               for(uint8 i=0; i<7; i++)\r
-                               {\r
-                                       uint16 bitPat = (pixels & 0x7F000000) >> 20;\r
-                                       pixels <<= 4;\r
-\r
-                                       for(uint8 j=0; j<4; j++)\r
-                                       {\r
-                                               uint8 color = blurTable[bitPat][j];\r
-\r
-                                               for(uint32 cy=0; cy<8; cy++)\r
-                                               {\r
-                                                       scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-//                                                     scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-                                               }\r
-                                       }\r
-                               }\r
-\r
-                               previous3Bits = pixels & 0x70000000;\r
-                       }\r
-                       else\r
-                       {\r
-                               for(int j=0; j<28; j++)\r
-                               {\r
-                                       for(uint32 cy=0; cy<8; cy++)\r
-                                       {\r
-                                               scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);\r
-//                                             scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);\r
-                                       }\r
-\r
-                                       pixels <<= 1;\r
-                               }\r
-                       }\r
-               }\r
-\r
-               // Now do bottom half...\r
-\r
-               previous3Bits = 0;\r
-\r
-               for(uint16 x=0; x<40; x+=2)\r
-               {\r
-                       uint8 scrByte1 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 0] >> 4;\r
-                       uint8 scrByte2 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 1] >> 4;\r
-                       scrByte1 = mirrorNybble[scrByte1];\r
-                       scrByte2 = mirrorNybble[scrByte2];\r
-                       // This is just a guess, but it'll have to do for now...\r
-                       uint32 pixels = previous3Bits | (scrByte1 << 24) | (scrByte1 << 20) | (scrByte1 << 16)\r
-                               | ((scrByte1 & 0x0C) << 12) | ((scrByte2 & 0x03) << 12)\r
-                               | (scrByte2 << 8) | (scrByte2 << 4) | scrByte2;\r
-\r
-                       // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF\r
-                       // 0ppp 1111 1111 1111 11|11 1111 1111 1111\r
-                       // 31   27   23   19   15    11   7    3  0\r
-\r
-                       if (screenType == ST_COLOR_TV)\r
-                       {\r
-                               for(uint8 i=0; i<7; i++)\r
-                               {\r
-                                       uint16 bitPat = (pixels & 0x7F000000) >> 20;\r
-                                       pixels <<= 4;\r
-\r
-                                       for(uint8 j=0; j<4; j++)\r
-                                       {\r
-                                               uint8 color = blurTable[bitPat][j];\r
-\r
-                                               for(uint32 cy=8; cy<16; cy++)\r
-                                               {\r
-                                                       scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-//                                                     scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-                                               }\r
-                                       }\r
-                               }\r
-\r
-                               previous3Bits = pixels & 0x70000000;\r
-                       }\r
-                       else\r
-                       {\r
-                               for(int j=0; j<28; j++)\r
-                               {\r
-                                       for(uint32 cy=8; cy<16; cy++)\r
-                                       {\r
-                                               scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);\r
-//                                             scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);\r
-                                       }\r
-\r
-                                       pixels <<= 1;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-static void RenderHiRes(uint16 toLine/*= 192*/)\r
-{\r
-       uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61);\r
-\r
-       for(uint16 y=0; y<toLine; y++)\r
-       {\r
-               uint16 previousLoPixel = 0;\r
-               uint32 previous3bits = 0;\r
-\r
-               for(uint16 x=0; x<40; x+=2)\r
-               {\r
-                       uint8 screenByte = ram[lineAddrHiRes[y] + (displayPage2 ? 0x2000 : 0x0000) + x];\r
-                       uint32 pixels = appleHiresToMono[previousLoPixel | screenByte];\r
-                       previousLoPixel = (screenByte << 2) & 0x0100;\r
-\r
-                       screenByte = ram[lineAddrHiRes[y] + (displayPage2 ? 0x2000 : 0x0000) + x + 1];\r
-                       uint32 pixels2 = appleHiresToMono[previousLoPixel | screenByte];\r
-                       previousLoPixel = (screenByte << 2) & 0x0100;\r
-\r
-                       pixels = previous3bits | (pixels << 14) | pixels2;\r
-\r
-                       // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF\r
-                       // 0ppp 1111 1111 1111 1111 1111 1111 1111\r
-                       // 31   27   23   19   15   11   7    3  0\r
-\r
-                       if (screenType == ST_COLOR_TV)\r
-                       {\r
-                               for(uint8 i=0; i<7; i++)\r
-                               {\r
-                                       uint16 bitPat = (pixels & 0x7F000000) >> 20;\r
-                                       pixels <<= 4;\r
-\r
-                                       for(uint8 j=0; j<4; j++)\r
-                                       {\r
-                                               uint8 color = blurTable[bitPat][j];\r
-#if 0\r
-//This doesn't seem to make things go any faster...\r
-//It's the OpenGL render that's faster... Hmm...\r
-                                               scrBuffer[(x * 14) + (i * 4) + j + (y * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-#else\r
-                                               scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-                                               scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = palette[color];\r
-#endif\r
-                                       }\r
-                               }\r
-\r
-                               previous3bits = pixels & 0x70000000;\r
-                       }\r
-                       else\r
-                       {\r
-                               for(int j=0; j<28; j++)\r
-                               {\r
-                                       scrBuffer[(x * 14) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);\r
-\r
-                                       if (screenType == ST_GREEN_MONO)\r
-                                               pixels &= 0x07FFFFFF;\r
-\r
-                                       scrBuffer[(x * 14) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);\r
-                                       pixels <<= 1;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-void RenderVideoFrame(void)\r
-{\r
-//temp...\r
-/*RenderLoRes();\r
-RenderScreenBuffer();\r
-return;//*/\r
-\r
-       if (textMode)\r
-       {\r
-               // There's prolly more to it than this (like 80 column text), but this'll have to do for now...\r
-               Render40ColumnText();\r
-       }\r
-       else\r
-       {\r
-               if (mixedMode)\r
-               {\r
-                       if (hiRes)\r
-                       {\r
-                               RenderHiRes(160);\r
-                               Render40ColumnTextLine(20);\r
-                               Render40ColumnTextLine(21);\r
-                               Render40ColumnTextLine(22);\r
-                               Render40ColumnTextLine(23);\r
-                       }\r
-                       else\r
-                       {\r
-                               RenderLoRes(20);\r
-                               Render40ColumnTextLine(20);\r
-                               Render40ColumnTextLine(21);\r
-                               Render40ColumnTextLine(22);\r
-                               Render40ColumnTextLine(23);\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       if (hiRes)\r
-                               RenderHiRes();\r
-                       else\r
-                               RenderLoRes();\r
-               }\r
-       }\r
-\r
-       if (msgTicks)\r
-       {\r
-               DrawString();\r
-               msgTicks--;\r
-       }\r
-\r
-       RenderScreenBuffer();\r
-}\r
+//
+// Apple 2 video support
+//
+// All the video modes that a real Apple 2 supports are handled here
+//
+// by James L. Hammons
+// (c) 2005 Underground Software
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  12/01/2005  Added color TV/monochrome emulation to hi-res code
+// JLH  12/09/2005  Cleaned up color TV emulation code
+// JLH  12/09/2005  Fixed lo-res color TV/mono emulation modes
+//
+// STILL TO DO:
+//
+// - Fix LoRes mode green mono to skip every other scanline instead of fill
+//   like white mono does
+// - Double HiRes
+// - 80 column text
+// - Fix OSD text display so that it's visible no matter what background is there [DONE]
+//
+
+// Display routines seem MUCH slower now... !!! INVESTIGATE !!!
+
+#include "applevideo.h"
+
+#include <string.h>                                                            // for memset()
+#include <stdarg.h>                                                            // for va_* stuff
+#include <string>                                                              // for vsprintf()
+#include "apple2.h"
+#include "video.h"
+#include "charset.h"
+#include "font14pt.h"
+
+/* Reference: Technote tn-iigs-063 "Master Color Values"
+
+          Color  Color Register LR HR  DHR Master Color R,G,B
+          Name       Value      #  #   #      Value
+          ----------------------------------------------------
+          Black       0         0  0,4 0      $0000    (0,0,0)
+(Magenta) Deep Red    1         1      1      $0D03    (D,0,3)
+          Dark Blue   2         2      8      $0009    (0,0,9)
+ (Violet) Purple      3         3  2   9      $0D2D    (D,2,D)
+          Dark Green  4         4      4      $0072    (0,7,2)
+ (Gray 1) Dark Gray   5         5      5      $0555    (5,5,5)
+   (Blue) Medium Blue 6         6  6   C      $022F    (2,2,F)
+   (Cyan) Light Blue  7         7      D      $06AF    (6,A,F)
+          Brown       8         8      2      $0850    (8,5,0)
+          Orange      9         9  5   3      $0F60    (F,6,0)
+ (Gray 2) Light Gray  A         A      A      $0AAA    (A,A,A)
+          Pink        B         B      B      $0F98    (F,9,8)
+  (Green) Light Green C         C  1   6      $01D0    (1,D,0)
+          Yellow      D         D      7      $0FF0    (F,F,0)
+   (Aqua) Aquamarine  E         E      E      $04F9    (4,F,9)
+          White       F         F  3,7 F      $0FFF    (F,F,F)
+
+   LR: Lo-Res   HR: Hi-Res   DHR: Double Hi-Res */
+
+// Global variables
+
+bool flash;
+bool textMode;
+bool mixedMode;
+bool displayPage2;
+bool hiRes;
+bool alternateCharset;
+//void SpawnMessage(const char * text, ...);
+
+// Local variables
+
+// We set up the colors this way so that they'll be endian safe
+// when we cast them to a uint32.
+
+// "Master Color Values" palette
+
+static uint8 colors[16 * 4] = {
+       0x00, 0x00, 0x00, 0xFF,                         // Black
+       0xDD, 0x00, 0x33, 0xFF,                         // Deep Red (Magenta)
+       0x00, 0x00, 0x99, 0xFF,                         // Dark Blue
+       0xDD, 0x22, 0xDD, 0xFF,                         // Purple (Violet)
+       0x00, 0x77, 0x22, 0xFF,                         // Dark Green
+       0x55, 0x55, 0x55, 0xFF,                         // Dark Gray (Gray 1)
+       0x22, 0x22, 0xFF, 0xFF,                         // Medium Blue (Blue)
+       0x66, 0xAA, 0xFF, 0xFF,                         // Light Blue (Cyan)
+       0x88, 0x55, 0x00, 0xFF,                         // Brown
+       0xFF, 0x66, 0x00, 0xFF,                         // Orange
+       0xAA, 0xAA, 0xAA, 0xFF,                         // Light Gray (Gray 2)
+       0xFF, 0x99, 0x88, 0xFF,                         // Pink
+       0x11, 0xDD, 0x00, 0xFF,                         // Light Green (Green)
+       0xFF, 0xFF, 0x00, 0xFF,                         // Yellow
+       0x44, 0xFF, 0x99, 0xFF,                         // Aquamarine (Aqua)
+       0xFF, 0xFF, 0xFF, 0xFF                          // White
+};
+
+// This palette comes from ApplePC's colors (more realistic to my eye ;-)
+
+static uint8 altColors[16 * 4] = {
+       0x00, 0x00, 0x00, 0xFF,
+       0x7D, 0x20, 0x41, 0xFF,
+       0x41, 0x30, 0x7D, 0xFF,
+       0xBE, 0x51, 0xBE, 0xFF,
+       0x00, 0x5D, 0x3C, 0xFF,
+       0x7D, 0x7D, 0x7D, 0xFF,
+       0x41, 0x8E, 0xBA, 0xFF,
+       0xBE, 0xAE, 0xFB, 0xFF,
+       0x3C, 0x4D, 0x00, 0xFF,
+       0xBA, 0x6D, 0x41, 0xFF,
+       0x7D, 0x7D, 0x7D, 0xFF,
+       0xFB, 0x9E, 0xBE, 0xFF,
+       0x3C, 0xAA, 0x3C, 0xFF,
+       0xBA, 0xCB, 0x7D, 0xFF,
+       0x7D, 0xDB, 0xBA, 0xFF,
+       0xFB, 0xFB, 0xFB, 0xFF };
+
+// Lo-res starting line addresses
+
+static uint16 lineAddrLoRes[24] = {
+       0x0400, 0x0480, 0x0500, 0x0580, 0x0600, 0x0680, 0x0700, 0x0780,
+       0x0428, 0x04A8, 0x0528, 0x05A8, 0x0628, 0x06A8, 0x0728, 0x07A8,
+       0x0450, 0x04D0, 0x0550, 0x05D0, 0x0650, 0x06D0, 0x0750, 0x07D0 };
+
+// Hi-res starting line addresses
+
+static uint16 lineAddrHiRes[192] = {
+       0x2000, 0x2400, 0x2800, 0x2C00, 0x3000, 0x3400, 0x3800, 0x3C00,
+       0x2080, 0x2480, 0x2880, 0x2C80, 0x3080, 0x3480, 0x3880, 0x3C80,
+       0x2100, 0x2500, 0x2900, 0x2D00, 0x3100, 0x3500, 0x3900, 0x3D00,
+       0x2180, 0x2580, 0x2980, 0x2D80, 0x3180, 0x3580, 0x3980, 0x3D80,
+
+       0x2200, 0x2600, 0x2A00, 0x2E00, 0x3200, 0x3600, 0x3A00, 0x3E00,
+       0x2280, 0x2680, 0x2A80, 0x2E80, 0x3280, 0x3680, 0x3A80, 0x3E80,
+       0x2300, 0x2700, 0x2B00, 0x2F00, 0x3300, 0x3700, 0x3B00, 0x3F00,
+       0x2380, 0x2780, 0x2B80, 0x2F80, 0x3380, 0x3780, 0x3B80, 0x3F80,
+
+       0x2028, 0x2428, 0x2828, 0x2C28, 0x3028, 0x3428, 0x3828, 0x3C28,
+       0x20A8, 0x24A8, 0x28A8, 0x2CA8, 0x30A8, 0x34A8, 0x38A8, 0x3CA8,
+       0x2128, 0x2528, 0x2928, 0x2D28, 0x3128, 0x3528, 0x3928, 0x3D28,
+       0x21A8, 0x25A8, 0x29A8, 0x2DA8, 0x31A8, 0x35A8, 0x39A8, 0x3DA8,
+
+       0x2228, 0x2628, 0x2A28, 0x2E28, 0x3228, 0x3628, 0x3A28, 0x3E28,
+       0x22A8, 0x26A8, 0x2AA8, 0x2EA8, 0x32A8, 0x36A8, 0x3AA8, 0x3EA8,
+       0x2328, 0x2728, 0x2B28, 0x2F28, 0x3328, 0x3728, 0x3B28, 0x3F28,
+       0x23A8, 0x27A8, 0x2BA8, 0x2FA8, 0x33A8, 0x37A8, 0x3BA8, 0x3FA8,
+
+       0x2050, 0x2450, 0x2850, 0x2C50, 0x3050, 0x3450, 0x3850, 0x3C50,
+       0x20D0, 0x24D0, 0x28D0, 0x2CD0, 0x30D0, 0x34D0, 0x38D0, 0x3CD0,
+       0x2150, 0x2550, 0x2950, 0x2D50, 0x3150, 0x3550, 0x3950, 0x3D50,
+       0x21D0, 0x25D0, 0x29D0, 0x2DD0, 0x31D0, 0x35D0, 0x39D0, 0x3DD0,
+
+       0x2250, 0x2650, 0x2A50, 0x2E50, 0x3250, 0x3650, 0x3A50, 0x3E50,
+       0x22D0, 0x26D0, 0x2AD0, 0x2ED0, 0x32D0, 0x36D0, 0x3AD0, 0x3ED0,
+       0x2350, 0x2750, 0x2B50, 0x2F50, 0x3350, 0x3750, 0x3B50, 0x3F50,
+       0x23D0, 0x27D0, 0x2BD0, 0x2FD0, 0x33D0, 0x37D0, 0x3BD0, 0x3FD0 };
+
+uint16 appleHiresToMono[0x200] = {
+       0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00,
+       0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x
+       0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30,
+       0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x
+       0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C,
+       0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x
+       0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C,
+       0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x
+       0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03,
+       0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x
+       0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33,
+       0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x
+       0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F,
+       0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x
+       0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F,
+       0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x
+       0x0000, 0x1800, 0x0600, 0x1E00, 0x0180, 0x1980, 0x0780, 0x1F80,
+       0x0060, 0x1860, 0x0660, 0x1E60, 0x01E0, 0x19E0, 0x07E0, 0x1FE0, // $8x
+       0x0018, 0x1818, 0x0618, 0x1E18, 0x0198, 0x1998, 0x0798, 0x1F98,
+       0x0078, 0x1878, 0x0678, 0x1E78, 0x01F8, 0x19F8, 0x07F8, 0x1FF8, // $9x
+       0x0006, 0x1806, 0x0606, 0x1E06, 0x0186, 0x1986, 0x0786, 0x1F86,
+       0x0066, 0x1866, 0x0666, 0x1E66, 0x01E6, 0x19E6, 0x07E6, 0x1FE6, // $Ax
+       0x001E, 0x181E, 0x061E, 0x1E1E, 0x019E, 0x199E, 0x079E, 0x1F9E,
+       0x007E, 0x187E, 0x067E, 0x1E7E, 0x01FE, 0x19FE, 0x07FE, 0x1FFE, // $Bx
+       0x0001, 0x1801, 0x0601, 0x1E01, 0x0181, 0x1981, 0x0781, 0x1F81,
+       0x0061, 0x1861, 0x0661, 0x1E61, 0x01E1, 0x19E1, 0x07E1, 0x1FE1, // $Cx
+       0x0019, 0x1819, 0x0619, 0x1E19, 0x0199, 0x1999, 0x0799, 0x1F99,
+       0x0079, 0x1879, 0x0679, 0x1E79, 0x01F9, 0x19F9, 0x07F9, 0x1FF9, // $Dx
+       0x0007, 0x1807, 0x0607, 0x1E07, 0x0187, 0x1987, 0x0787, 0x1F87,
+       0x0067, 0x1867, 0x0667, 0x1E67, 0x01E7, 0x19E7, 0x07E7, 0x1FE7, // $Ex
+       0x001F, 0x181F, 0x061F, 0x1E1F, 0x019F, 0x199F, 0x079F, 0x1F9F,
+       0x007F, 0x187F, 0x067F, 0x1E7F, 0x01FF, 0x19FF, 0x07FF, 0x1FFF, // $Fx
+
+       // Second half adds in the previous byte's lo pixel
+
+       0x0000, 0x3000, 0x0C00, 0x3C00, 0x0300, 0x3300, 0x0F00, 0x3F00,
+       0x00C0, 0x30C0, 0x0CC0, 0x3CC0, 0x03C0, 0x33C0, 0x0FC0, 0x3FC0, // $0x
+       0x0030, 0x3030, 0x0C30, 0x3C30, 0x0330, 0x3330, 0x0F30, 0x3F30,
+       0x00F0, 0x30F0, 0x0CF0, 0x3CF0, 0x03F0, 0x33F0, 0x0FF0, 0x3FF0, // $1x
+       0x000C, 0x300C, 0x0C0C, 0x3C0C, 0x030C, 0x330C, 0x0F0C, 0x3F0C,
+       0x00CC, 0x30CC, 0x0CCC, 0x3CCC, 0x03CC, 0x33CC, 0x0FCC, 0x3FCC, // $2x
+       0x003C, 0x303C, 0x0C3C, 0x3C3C, 0x033C, 0x333C, 0x0F3C, 0x3F3C,
+       0x00FC, 0x30FC, 0x0CFC, 0x3CFC, 0x03FC, 0x33FC, 0x0FFC, 0x3FFC, // $3x
+       0x0003, 0x3003, 0x0C03, 0x3C03, 0x0303, 0x3303, 0x0F03, 0x3F03,
+       0x00C3, 0x30C3, 0x0CC3, 0x3CC3, 0x03C3, 0x33C3, 0x0FC3, 0x3FC3, // $4x
+       0x0033, 0x3033, 0x0C33, 0x3C33, 0x0333, 0x3333, 0x0F33, 0x3F33,
+       0x00F3, 0x30F3, 0x0CF3, 0x3CF3, 0x03F3, 0x33F3, 0x0FF3, 0x3FF3, // $5x
+       0x000F, 0x300F, 0x0C0F, 0x3C0F, 0x030F, 0x330F, 0x0F0F, 0x3F0F,
+       0x00CF, 0x30CF, 0x0CCF, 0x3CCF, 0x03CF, 0x33CF, 0x0FCF, 0x3FCF, // $6x
+       0x003F, 0x303F, 0x0C3F, 0x3C3F, 0x033F, 0x333F, 0x0F3F, 0x3F3F,
+       0x00FF, 0x30FF, 0x0CFF, 0x3CFF, 0x03FF, 0x33FF, 0x0FFF, 0x3FFF, // $7x
+       0x2000, 0x3800, 0x2600, 0x3E00, 0x2180, 0x3980, 0x2780, 0x3F80,
+       0x2060, 0x3860, 0x2660, 0x3E60, 0x21E0, 0x39E0, 0x27E0, 0x3FE0, // $8x
+       0x2018, 0x3818, 0x2618, 0x3E18, 0x2198, 0x3998, 0x2798, 0x3F98,
+       0x2078, 0x3878, 0x2678, 0x3E78, 0x21F8, 0x39F8, 0x27F8, 0x3FF8, // $9x
+       0x2006, 0x3806, 0x2606, 0x3E06, 0x2186, 0x3986, 0x2786, 0x3F86,
+       0x2066, 0x3866, 0x2666, 0x3E66, 0x21E6, 0x39E6, 0x27E6, 0x3FE6, // $Ax
+       0x201E, 0x381E, 0x261E, 0x3E1E, 0x219E, 0x399E, 0x279E, 0x3F9E,
+       0x207E, 0x387E, 0x267E, 0x3E7E, 0x21FE, 0x39FE, 0x27FE, 0x3FFE, // $Bx
+       0x2001, 0x3801, 0x2601, 0x3E01, 0x2181, 0x3981, 0x2781, 0x3F81,
+       0x2061, 0x3861, 0x2661, 0x3E61, 0x21E1, 0x39E1, 0x27E1, 0x3FE1, // $Cx
+       0x2019, 0x3819, 0x2619, 0x3E19, 0x2199, 0x3999, 0x2799, 0x3F99,
+       0x2079, 0x3879, 0x2679, 0x3E79, 0x21F9, 0x39F9, 0x27F9, 0x3FF9, // $Dx
+       0x2007, 0x3807, 0x2607, 0x3E07, 0x2187, 0x3987, 0x2787, 0x3F87,
+       0x2067, 0x3867, 0x2667, 0x3E67, 0x21E7, 0x39E7, 0x27E7, 0x3FE7, // $Ex
+       0x201F, 0x381F, 0x261F, 0x3E1F, 0x219F, 0x399F, 0x279F, 0x3F9F,
+       0x207F, 0x387F, 0x267F, 0x3E7F, 0x21FF, 0x39FF, 0x27FF, 0x3FFF  // $Fx
+};
+
+static uint8 blurTable[0x800][8];                              // Color TV blur table
+static uint32 * palette = (uint32 *)altColors;
+enum { ST_FIRST_ENTRY = 0, ST_COLOR_TV = 0, ST_WHITE_MONO, ST_GREEN_MONO, ST_LAST_ENTRY };
+static uint8 screenType = ST_COLOR_TV;
+
+// Local functions
+
+static void Render40ColumnTextLine(uint8 line);
+static void Render40ColumnText(void);
+static void RenderLoRes(uint16 toLine = 24);
+static void RenderHiRes(uint16 toLine = 192);
+
+
+void SetupBlurTable(void)
+{
+       // NOTE: This table only needs to be 7 bits wide instead of 11, since the
+       //       last four bits are copies of the previous four...
+
+       for(uint16 bitPat=0; bitPat<0x800; bitPat++)
+       {
+               uint16 w3 = bitPat & 0x888;
+               uint16 w2 = bitPat & 0x444;
+               uint16 w1 = bitPat & 0x222;
+               uint16 w0 = bitPat & 0x111;
+
+               uint16 blurred3 = (w3 | (w3 >> 1) | (w3 >> 2) | (w3 >> 3)) & 0x00FF;
+               uint16 blurred2 = (w2 | (w2 >> 1) | (w2 >> 2) | (w2 >> 3)) & 0x00FF;
+               uint16 blurred1 = (w1 | (w1 >> 1) | (w1 >> 2) | (w1 >> 3)) & 0x00FF;
+               uint16 blurred0 = (w0 | (w0 >> 1) | (w0 >> 2) | (w0 >> 3)) & 0x00FF;
+
+               for(int8 i=7; i>=0; i--)
+               {
+                       uint8 color = (((blurred0 >> i) & 0x01) << 3)
+                               | (((blurred1 >> i) & 0x01) << 2)
+                               | (((blurred2 >> i) & 0x01) << 1)
+                               | ((blurred3 >> i) & 0x01);
+                       blurTable[bitPat][7 - i] = color;
+               }
+       }
+}
+
+void TogglePalette(void)
+{
+       if (palette == (uint32 *)colors)
+       {
+               palette = (uint32 *)altColors;
+               SpawnMessage("Color TV palette");
+       }
+       else
+       {
+               palette = (uint32 *)colors;
+               SpawnMessage("\"Master Color Values\" palette");
+       }
+}
+
+void CycleScreenTypes(void)
+{
+       char scrTypeStr[3][40] = { "Color TV", "White monochrome", "Green monochrome" };
+
+       screenType++;
+
+       if (screenType == ST_LAST_ENTRY)
+               screenType = ST_FIRST_ENTRY;
+
+       SpawnMessage("%s", scrTypeStr[screenType]);
+}
+
+static uint32 msgTicks = 0;
+static char message[4096];
+
+void SpawnMessage(const char * text, ...)
+{
+       va_list arg;
+
+       va_start(arg, text);
+       vsprintf(message, text, arg);
+       va_end(arg);
+
+       msgTicks = 120;
+}
+
+static void DrawString2(uint32 x, uint32 y, uint32 color);
+static void DrawString(void)
+{
+//This approach works, and seems to be fast enough... Though it probably would
+//be better to make the oversized font to match this one...
+       for(uint32 x=7; x<=9; x++)
+               for(uint32 y=7; y<=9; y++)
+                       DrawString2(x, y, 0x00000000);
+
+       DrawString2(8, 8, 0x0020FF20);
+}
+
+static void DrawString2(uint32 x, uint32 y, uint32 color)
+{
+//uint32 x = 8, y = 8;
+       uint32 length = strlen(message), address = x + (y * VIRTUAL_SCREEN_WIDTH);
+//     uint32 color = 0x0020FF20;
+//This could be done ahead of time, instead of on each pixel...
+//(Now it is!)
+       uint8 nBlue = (color >> 16) & 0xFF, nGreen = (color >> 8) & 0xFF, nRed = color & 0xFF;
+
+       for(uint32 i=0; i<length; i++)
+       {
+               uint8 c = message[i];
+               c = (c < 32 ? 0 : c - 32);
+               uint32 fontAddr = (uint32)c * FONT_WIDTH * FONT_HEIGHT;
+
+               for(uint32 yy=0; yy<FONT_HEIGHT; yy++)
+               {
+                       for(uint32 xx=0; xx<FONT_WIDTH; xx++)
+                       {
+/*                             uint8 fontTrans = font1[fontAddr++];
+//                             uint32 newTrans = (fontTrans * transparency / 255) << 24;
+                               uint32 newTrans = fontTrans << 24;
+                               uint32 pixel = newTrans | color;
+
+                               *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH)) = pixel;//*/
+
+                               uint8 trans = font1[fontAddr++];
+
+                               if (trans)
+                               {
+                                       uint32 existingColor = *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH));
+
+                                       uint8 eBlue = (existingColor >> 16) & 0xFF,
+                                               eGreen = (existingColor >> 8) & 0xFF,
+                                               eRed = existingColor & 0xFF;
+
+//This could be sped up by using a table of 5 + 5 + 5 bits (32 levels transparency -> 32768 entries)
+//Here we've modified it to have 33 levels of transparency (could have any # we want!)
+//because dividing by 32 is faster than dividing by 31...!
+                                       uint8 invTrans = 255 - trans;
+
+                                       uint32 bRed   = (eRed   * invTrans + nRed   * trans) / 255;
+                                       uint32 bGreen = (eGreen * invTrans + nGreen * trans) / 255;
+                                       uint32 bBlue  = (eBlue  * invTrans + nBlue  * trans) / 255;
+
+//THIS IS NOT ENDIAN SAFE
+                                       *(scrBuffer + address + xx + (yy * VIRTUAL_SCREEN_WIDTH)) = 0xFF000000 | (bBlue << 16) | (bGreen << 8) | bRed;
+                               }
+                       }
+               }
+
+               address += FONT_WIDTH;
+       }
+}
+
+static void Render40ColumnTextLine(uint8 line)
+{
+       uint32 pixelOn = (screenType == ST_GREEN_MONO ? 0xFF61FF61 : 0xFFFFFFFF);
+
+       for(int x=0; x<40; x++)
+       {
+               uint8 chr = ram[lineAddrLoRes[line] + (displayPage2 ? 0x0400 : 0x0000) + x];
+
+               // Render character at (x, y)
+
+               for(int cy=0; cy<8; cy++)
+               {
+                       for(int cx=0; cx<7; cx++)
+                       {
+                               uint32 pixel = 0xFF000000;
+
+                               if (!alternateCharset)
+                               {
+                                       if (textChar[((chr & 0x3F) * 56) + cx + (cy * 7)])
+//                                             pixel = 0xFFFFFFFF;
+                                               pixel = pixelOn;
+
+                                       if (chr < 0x80)
+                                               pixel = pixel ^ (screenType == ST_GREEN_MONO ? 0x0061FF61 : 0x00FFFFFF);
+
+                                       if ((chr & 0xC0) == 0x40 && flash)
+                                               pixel = 0xFF000000;
+                               }
+                               else
+                               {
+                                       if (textChar2e[(chr * 56) + cx + (cy * 7)])
+//                                             pixel = 0xFFFFFFFF;
+                                               pixel = pixelOn;
+                               }
+
+//                             scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel;
+//                             scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel;
+                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel;
+                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (cy * VIRTUAL_SCREEN_WIDTH * 2)] = pixel;
+
+                               if (screenType == ST_GREEN_MONO)
+                                       pixel = 0xFF000000;
+
+                               {
+                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 0 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel;
+                               scrBuffer[(x * 7 * 2) + (line * VIRTUAL_SCREEN_WIDTH * 8 * 2) + (cx * 2) + 1 + (((cy * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = pixel;
+                               }
+                       }
+               }
+       }
+}
+
+static void Render40ColumnText(void)
+{
+       for(uint8 line=0; line<24; line++)
+               Render40ColumnTextLine(line);
+}
+
+static void RenderLoRes(uint16 toLine/*= 24*/)
+{
+// NOTE: The green mono rendering doesn't skip every other line... !!! FIX !!!
+/*
+Note that these colors correspond to the bit patterns generated by the numbers 0-F in order:
+Color #s correspond to the bit patterns in reverse... Interesting!
+
+00 00 00 ->  0 [0000] -> 0 (lores color #)
+3c 4d 00 ->  8 [0001] -> 8?            BROWN
+00 5d 3c ->  4 [0010] -> 4?            DARK GREEN
+3c aa 3c -> 12 [0011] -> 12?   LIGHT GREEN (GREEN)
+41 30 7d ->  2 [0100] -> 2?            DARK BLUE
+7d 7d 7d -> 10 [0101] -> 10?   LIGHT GRAY
+41 8e ba ->  6 [0110] -> 6?            MEDIUM BLUE (BLUE)
+7d db ba -> 14 [0111] -> 14?   AQUAMARINE (AQUA)
+7d 20 41 ->  1 [1000] -> 1?            DEEP RED (MAGENTA)
+ba 6d 41 ->  9 [1001] -> 9?            ORANGE
+7d 7d 7d ->  5 [1010] -> 5?            DARK GRAY
+ba cb 7d -> 13 [1011] -> 13?   YELLOW
+be 51 be ->  3 [1100] -> 3             PURPLE (VIOLET)
+fb 9e be -> 11 [1101] -> 11?   PINK
+be ae fb ->  7 [1110] -> 7?            LIGHT BLUE (CYAN)
+fb fb fb -> 15 [1111] -> 15            WHITE
+*/
+       uint8 mirrorNybble[16] = { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 };
+
+//This is the old "perfect monitor" rendering code...
+/*     if (screenType != ST_COLOR_TV) // Not correct, but for now...
+//if (1)
+       {
+               for(uint16 y=0; y<toLine; y++)
+               {
+                       for(uint16 x=0; x<40; x++)
+                       {
+                               uint8 scrByte = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x];
+                               uint32 pixel = palette[scrByte & 0x0F];
+       
+                               for(int cy=0; cy<4; cy++)
+                                       for(int cx=0; cx<14; cx++)
+                                               scrBuffer[((x * 14) + cx) + (((y * 8) + cy) * VIRTUAL_SCREEN_WIDTH)] = pixel;
+       
+                               pixel = palette[scrByte >> 4];
+       
+                               for(int cy=4; cy<8; cy++)
+                                       for(int cx=0; cx<14; cx++)
+                                               scrBuffer[(x * 14) + (y * VIRTUAL_SCREEN_WIDTH * 8) + cx + (cy * VIRTUAL_SCREEN_WIDTH)] = pixel;
+                       }
+               }
+       }
+       else//*/
+
+       uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61);
+
+       for(uint16 y=0; y<toLine; y++)
+       {
+               // Do top half of lores screen bytes...
+
+               uint32 previous3Bits = 0;
+
+               for(uint16 x=0; x<40; x+=2)
+               {
+                       uint8 scrByte1 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 0] & 0x0F;
+                       uint8 scrByte2 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 1] & 0x0F;
+                       scrByte1 = mirrorNybble[scrByte1];
+                       scrByte2 = mirrorNybble[scrByte2];
+                       // This is just a guess, but it'll have to do for now...
+                       uint32 pixels = previous3Bits | (scrByte1 << 24) | (scrByte1 << 20) | (scrByte1 << 16)
+                               | ((scrByte1 & 0x0C) << 12) | ((scrByte2 & 0x03) << 12)
+                               | (scrByte2 << 8) | (scrByte2 << 4) | scrByte2;
+
+                       // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF
+                       // 0ppp 1111 1111 1111 11|11 1111 1111 1111
+                       // 31   27   23   19   15    11   7    3  0
+
+                       if (screenType == ST_COLOR_TV)
+                       {
+                               for(uint8 i=0; i<7; i++)
+                               {
+                                       uint16 bitPat = (pixels & 0x7F000000) >> 20;
+                                       pixels <<= 4;
+
+                                       for(uint8 j=0; j<4; j++)
+                                       {
+                                               uint8 color = blurTable[bitPat][j];
+
+                                               for(uint32 cy=0; cy<8; cy++)
+                                               {
+                                                       scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+//                                                     scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+                                               }
+                                       }
+                               }
+
+                               previous3Bits = pixels & 0x70000000;
+                       }
+                       else
+                       {
+                               for(int j=0; j<28; j++)
+                               {
+                                       for(uint32 cy=0; cy<8; cy++)
+                                       {
+                                               scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);
+//                                             scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);
+                                       }
+
+                                       pixels <<= 1;
+                               }
+                       }
+               }
+
+               // Now do bottom half...
+
+               previous3Bits = 0;
+
+               for(uint16 x=0; x<40; x+=2)
+               {
+                       uint8 scrByte1 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 0] >> 4;
+                       uint8 scrByte2 = ram[lineAddrLoRes[y] + (displayPage2 ? 0x0400 : 0x0000) + x + 1] >> 4;
+                       scrByte1 = mirrorNybble[scrByte1];
+                       scrByte2 = mirrorNybble[scrByte2];
+                       // This is just a guess, but it'll have to do for now...
+                       uint32 pixels = previous3Bits | (scrByte1 << 24) | (scrByte1 << 20) | (scrByte1 << 16)
+                               | ((scrByte1 & 0x0C) << 12) | ((scrByte2 & 0x03) << 12)
+                               | (scrByte2 << 8) | (scrByte2 << 4) | scrByte2;
+
+                       // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF
+                       // 0ppp 1111 1111 1111 11|11 1111 1111 1111
+                       // 31   27   23   19   15    11   7    3  0
+
+                       if (screenType == ST_COLOR_TV)
+                       {
+                               for(uint8 i=0; i<7; i++)
+                               {
+                                       uint16 bitPat = (pixels & 0x7F000000) >> 20;
+                                       pixels <<= 4;
+
+                                       for(uint8 j=0; j<4; j++)
+                                       {
+                                               uint8 color = blurTable[bitPat][j];
+
+                                               for(uint32 cy=8; cy<16; cy++)
+                                               {
+                                                       scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+//                                                     scrBuffer[((x * 14) + (i * 4) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+                                               }
+                                       }
+                               }
+
+                               previous3Bits = pixels & 0x70000000;
+                       }
+                       else
+                       {
+                               for(int j=0; j<28; j++)
+                               {
+                                       for(uint32 cy=8; cy<16; cy++)
+                                       {
+                                               scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);
+//                                             scrBuffer[((x * 14) + j) + (((y * 16) + cy) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);
+                                       }
+
+                                       pixels <<= 1;
+                               }
+                       }
+               }
+       }
+}
+
+static void RenderHiRes(uint16 toLine/*= 192*/)
+{
+       uint32 pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61);
+
+       for(uint16 y=0; y<toLine; y++)
+       {
+               uint16 previousLoPixel = 0;
+               uint32 previous3bits = 0;
+
+               for(uint16 x=0; x<40; x+=2)
+               {
+                       uint8 screenByte = ram[lineAddrHiRes[y] + (displayPage2 ? 0x2000 : 0x0000) + x];
+                       uint32 pixels = appleHiresToMono[previousLoPixel | screenByte];
+                       previousLoPixel = (screenByte << 2) & 0x0100;
+
+                       screenByte = ram[lineAddrHiRes[y] + (displayPage2 ? 0x2000 : 0x0000) + x + 1];
+                       uint32 pixels2 = appleHiresToMono[previousLoPixel | screenByte];
+                       previousLoPixel = (screenByte << 2) & 0x0100;
+
+                       pixels = previous3bits | (pixels << 14) | pixels2;
+
+                       // We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF
+                       // 0ppp 1111 1111 1111 1111 1111 1111 1111
+                       // 31   27   23   19   15   11   7    3  0
+
+                       if (screenType == ST_COLOR_TV)
+                       {
+                               for(uint8 i=0; i<7; i++)
+                               {
+                                       uint16 bitPat = (pixels & 0x7F000000) >> 20;
+                                       pixels <<= 4;
+
+                                       for(uint8 j=0; j<4; j++)
+                                       {
+                                               uint8 color = blurTable[bitPat][j];
+#if 0
+//This doesn't seem to make things go any faster...
+//It's the OpenGL render that's faster... Hmm...
+                                               scrBuffer[(x * 14) + (i * 4) + j + (y * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+#else
+                                               scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+                                               scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+#endif
+                                       }
+                               }
+
+                               previous3bits = pixels & 0x70000000;
+                       }
+                       else
+                       {
+                               for(int j=0; j<28; j++)
+                               {
+                                       scrBuffer[(x * 14) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);
+
+                                       if (screenType == ST_GREEN_MONO)
+                                               pixels &= 0x07FFFFFF;
+
+                                       scrBuffer[(x * 14) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = (pixels & 0x08000000 ? pixelOn : 0xFF000000);
+                                       pixels <<= 1;
+                               }
+                       }
+               }
+       }
+}
+
+void RenderVideoFrame(void)
+{
+//temp...
+/*RenderLoRes();
+RenderScreenBuffer();
+return;//*/
+
+       if (textMode)
+       {
+               // There's prolly more to it than this (like 80 column text), but this'll have to do for now...
+               Render40ColumnText();
+       }
+       else
+       {
+               if (mixedMode)
+               {
+                       if (hiRes)
+                       {
+                               RenderHiRes(160);
+                               Render40ColumnTextLine(20);
+                               Render40ColumnTextLine(21);
+                               Render40ColumnTextLine(22);
+                               Render40ColumnTextLine(23);
+                       }
+                       else
+                       {
+                               RenderLoRes(20);
+                               Render40ColumnTextLine(20);
+                               Render40ColumnTextLine(21);
+                               Render40ColumnTextLine(22);
+                               Render40ColumnTextLine(23);
+                       }
+               }
+               else
+               {
+                       if (hiRes)
+                               RenderHiRes();
+                       else
+                               RenderLoRes();
+               }
+       }
+
+       if (msgTicks)
+       {
+               DrawString();
+               msgTicks--;
+       }
+
+       RenderScreenBuffer();
+}
index 975dced9108f9fbf0a7ad1805861c850585b8e8d..fcb2cace35f582e54a51f666a54734a2dc52cfb4 100755 (executable)
@@ -1,25 +1,25 @@
-//\r
-// Apple 2 video support\r
-//\r
-\r
-#ifndef __APPLEVIDEO_H__\r
-#define __APPLEVIDEO_H__\r
-\r
-// Global variables (exported)\r
-\r
-extern bool flash;\r
-extern bool textMode;\r
-extern bool mixedMode;\r
-extern bool displayPage2;\r
-extern bool hiRes;\r
-extern bool alternateCharset;\r
-\r
-// Functions (exported)\r
-\r
-void SetupBlurTable(void);\r
-void TogglePalette(void);\r
-void CycleScreenTypes(void);\r
-void SpawnMessage(const char * text, ...);\r
-void RenderVideoFrame(void);\r
-\r
-#endif // __APPLEVIDEO_H__\r
+//
+// Apple 2 video support
+//
+
+#ifndef __APPLEVIDEO_H__
+#define __APPLEVIDEO_H__
+
+// Global variables (exported)
+
+extern bool flash;
+extern bool textMode;
+extern bool mixedMode;
+extern bool displayPage2;
+extern bool hiRes;
+extern bool alternateCharset;
+
+// Functions (exported)
+
+void SetupBlurTable(void);
+void TogglePalette(void);
+void CycleScreenTypes(void);
+void SpawnMessage(const char * text, ...);
+void RenderVideoFrame(void);
+
+#endif // __APPLEVIDEO_H__
index d9e924e190713a642053432bdf48557f4ecbc58c..4f8da2feef95c092a3119ef402b5ac22aba0d2ae 100755 (executable)
-/***************************************************************************\r
-\r
-  ay8910.cpp\r
-\r
-  Emulation of the AY-3-8910 / YM2149 sound chip.\r
-\r
-  Based on various code snippets by Ville Hallik, Michael Cuddy,\r
-  Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria.\r
-\r
-***************************************************************************/\r
-\r
-// \r
-// From mame.txt (http://www.mame.net/readme.html)\r
-// \r
-// VI. Reuse of Source Code\r
-// --------------------------\r
-//    This chapter might not apply to specific portions of MAME (e.g. CPU\r
-//    emulators) which bear different copyright notices.\r
-//    The source code cannot be used in a commercial product without the written\r
-//    authorization of the authors. Use in non-commercial products is allowed, and\r
-//    indeed encouraged.  If you use portions of the MAME source code in your\r
-//    program, however, you must make the full source code freely available as\r
-//    well.\r
-//    Usage of the _information_ contained in the source code is free for any use.\r
-//    However, given the amount of time and energy it took to collect this\r
-//    information, if you find new information we would appreciate if you made it\r
-//    freely available as well.\r
-// \r
-\r
-// JLH: Commented out MAME specific crap\r
-\r
-#include <string.h>                                                            // for memset()\r
-#include "ay8910.h"\r
-\r
-#define MAX_OUTPUT 0x7FFF\r
-\r
-// See AY8910_set_clock() for definition of STEP\r
-#define STEP 0x8000\r
-\r
-struct AY8910\r
-{\r
-       int Channel;\r
-       int SampleRate;\r
-//     mem_read_handler PortAread;\r
-//     mem_read_handler PortBread;\r
-//     mem_write_handler PortAwrite;\r
-//     mem_write_handler PortBwrite;\r
-       int register_latch;\r
-       unsigned char Regs[16];\r
-       int lastEnable;\r
-       unsigned int UpdateStep;\r
-       int PeriodA,PeriodB,PeriodC,PeriodN,PeriodE;\r
-       int CountA,CountB,CountC,CountN,CountE;\r
-       unsigned int VolA,VolB,VolC,VolE;\r
-       unsigned char EnvelopeA,EnvelopeB,EnvelopeC;\r
-       unsigned char OutputA,OutputB,OutputC,OutputN;\r
-       signed char CountEnv;\r
-       unsigned char Hold,Alternate,Attack,Holding;\r
-       int RNG;\r
-       unsigned int VolTable[32];\r
-};\r
-\r
-/* register id's */\r
-#define AY_AFINE       (0)\r
-#define AY_ACOARSE     (1)\r
-#define AY_BFINE       (2)\r
-#define AY_BCOARSE     (3)\r
-#define AY_CFINE       (4)\r
-#define AY_CCOARSE     (5)\r
-#define AY_NOISEPER    (6)\r
-#define AY_ENABLE      (7)\r
-#define AY_AVOL                (8)\r
-#define AY_BVOL                (9)\r
-#define AY_CVOL                (10)\r
-#define AY_EFINE       (11)\r
-#define AY_ECOARSE     (12)\r
-#define AY_ESHAPE      (13)\r
-\r
-#define AY_PORTA       (14)\r
-#define AY_PORTB       (15)\r
-\r
-\r
-static struct AY8910 AYPSG[MAX_8910];          /* array of PSG's */\r
-\r
-\r
-void _AYWriteReg(int n, int r, int v)\r
-{\r
-       struct AY8910 *PSG = &AYPSG[n];\r
-       int old;\r
-\r
-       PSG->Regs[r] = v;\r
-\r
-       /* A note about the period of tones, noise and envelope: for speed reasons, *\r
-        * we count down from the period to 0, but careful studies of the chip      * \r
-        * output prove that it instead counts up from 0 until the counter becomes  * \r
-        * greater or equal to the period. This is an important difference when the * \r
-        * program is rapidly changing the period to modulate the sound.            * \r
-        * To compensate for the difference, when the period is changed we adjust   * \r
-        * our internal counter.                                                    * \r
-        * Also, note that period = 0 is the same as period = 1. This is mentioned  * \r
-        * in the YM2203 data sheets. However, this does NOT apply to the Envelope  * \r
-        * period. In that case, period = 0 is half as period = 1.                  */\r
-       switch (r)\r
-       {\r
-       case AY_AFINE:\r
-       case AY_ACOARSE:\r
-               PSG->Regs[AY_ACOARSE] &= 0x0F;\r
-               old = PSG->PeriodA;\r
-               PSG->PeriodA = (PSG->Regs[AY_AFINE] + 256 * PSG->Regs[AY_ACOARSE]) * PSG->UpdateStep;\r
-\r
-               if (PSG->PeriodA == 0) PSG->PeriodA = PSG->UpdateStep;\r
-\r
-               PSG->CountA += PSG->PeriodA - old;\r
-\r
-               if (PSG->CountA <= 0) PSG->CountA = 1;\r
-               break;\r
-       case AY_BFINE:\r
-       case AY_BCOARSE:\r
-               PSG->Regs[AY_BCOARSE] &= 0x0F;\r
-               old = PSG->PeriodB;\r
-               PSG->PeriodB = (PSG->Regs[AY_BFINE] + 256 * PSG->Regs[AY_BCOARSE]) * PSG->UpdateStep;\r
-\r
-               if (PSG->PeriodB == 0) PSG->PeriodB = PSG->UpdateStep;\r
-\r
-               PSG->CountB += PSG->PeriodB - old;\r
-\r
-               if (PSG->CountB <= 0) PSG->CountB = 1;\r
-               break;\r
-       case AY_CFINE:\r
-       case AY_CCOARSE:\r
-               PSG->Regs[AY_CCOARSE] &= 0x0F;\r
-               old = PSG->PeriodC;\r
-               PSG->PeriodC = (PSG->Regs[AY_CFINE] + 256 * PSG->Regs[AY_CCOARSE]) * PSG->UpdateStep;\r
-\r
-               if (PSG->PeriodC == 0) PSG->PeriodC = PSG->UpdateStep;\r
-\r
-               PSG->CountC += PSG->PeriodC - old;\r
-\r
-               if (PSG->CountC <= 0) PSG->CountC = 1;\r
-               break;\r
-       case AY_NOISEPER:\r
-               PSG->Regs[AY_NOISEPER] &= 0x1F;\r
-               old = PSG->PeriodN;\r
-               PSG->PeriodN = PSG->Regs[AY_NOISEPER] * PSG->UpdateStep;\r
-\r
-               if (PSG->PeriodN == 0) PSG->PeriodN = PSG->UpdateStep;\r
-\r
-               PSG->CountN += PSG->PeriodN - old;\r
-\r
-               if (PSG->CountN <= 0) PSG->CountN = 1;\r
-               break;\r
-       case AY_ENABLE:\r
-               if ((PSG->lastEnable == -1) ||\r
-                   ((PSG->lastEnable & 0x40) != (PSG->Regs[AY_ENABLE] & 0x40)))\r
-               {\r
-                       /* write out 0xff if port set to input */\r
-//                     if (PSG->PortAwrite)\r
-//                             (*PSG->PortAwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x40) ? PSG->Regs[AY_PORTA] : 0xff));    // [TC: UINT8 cast]\r
-               }\r
-\r
-               if ((PSG->lastEnable == -1) ||\r
-                   ((PSG->lastEnable & 0x80) != (PSG->Regs[AY_ENABLE] & 0x80)))\r
-               {\r
-                       /* write out 0xff if port set to input */\r
-//                     if (PSG->PortBwrite)\r
-//                             (*PSG->PortBwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x80) ? PSG->Regs[AY_PORTB] : 0xff));    // [TC: UINT8 cast]\r
-               }\r
-\r
-               PSG->lastEnable = PSG->Regs[AY_ENABLE];\r
-               break;\r
-       case AY_AVOL:\r
-               PSG->Regs[AY_AVOL] &= 0x1F;\r
-               PSG->EnvelopeA = PSG->Regs[AY_AVOL] & 0x10;\r
-               PSG->VolA = PSG->EnvelopeA ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_AVOL] ? PSG->Regs[AY_AVOL]*2+1 : 0];\r
-               break;\r
-       case AY_BVOL:\r
-               PSG->Regs[AY_BVOL] &= 0x1F;\r
-               PSG->EnvelopeB = PSG->Regs[AY_BVOL] & 0x10;\r
-               PSG->VolB = PSG->EnvelopeB ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_BVOL] ? PSG->Regs[AY_BVOL]*2+1 : 0];\r
-               break;\r
-       case AY_CVOL:\r
-               PSG->Regs[AY_CVOL] &= 0x1F;\r
-               PSG->EnvelopeC = PSG->Regs[AY_CVOL] & 0x10;\r
-               PSG->VolC = PSG->EnvelopeC ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_CVOL] ? PSG->Regs[AY_CVOL]*2+1 : 0];\r
-               break;\r
-       case AY_EFINE:\r
-       case AY_ECOARSE:\r
-               old = PSG->PeriodE;\r
-               PSG->PeriodE = ((PSG->Regs[AY_EFINE] + 256 * PSG->Regs[AY_ECOARSE])) * PSG->UpdateStep;\r
-\r
-               if (PSG->PeriodE == 0) PSG->PeriodE = PSG->UpdateStep / 2;\r
-\r
-               PSG->CountE += PSG->PeriodE - old;\r
-\r
-               if (PSG->CountE <= 0) PSG->CountE = 1;\r
-               break;\r
-       case AY_ESHAPE:\r
-               /* envelope shapes:\r
-               C AtAlH\r
-               0 0 x x  \___\r
-\r
-               0 1 x x  /___\r
-\r
-               1 0 0 0  \\\\\r
-\r
-               1 0 0 1  \___\r
-\r
-               1 0 1 0  \/\/\r
-                         ___\r
-               1 0 1 1  \\r
-\r
-               1 1 0 0  ////\r
-                         ___\r
-               1 1 0 1  /\r
-\r
-               1 1 1 0  /\/\\r
-\r
-               1 1 1 1  /___\r
-\r
-               The envelope counter on the AY-3-8910 has 16 steps. On the YM2149 it\r
-               has twice the steps, happening twice as fast. Since the end result is\r
-               just a smoother curve, we always use the YM2149 behaviour.\r
-               */\r
-               PSG->Regs[AY_ESHAPE] &= 0x0F;\r
-               PSG->Attack = (PSG->Regs[AY_ESHAPE] & 0x04) ? 0x1F : 0x00;\r
-\r
-               if ((PSG->Regs[AY_ESHAPE] & 0x08) == 0)\r
-               {\r
-                       /* if Continue = 0, map the shape to the equivalent one which has Continue = 1 */\r
-                       PSG->Hold = 1;\r
-                       PSG->Alternate = PSG->Attack;\r
-               }\r
-               else\r
-               {\r
-                       PSG->Hold = PSG->Regs[AY_ESHAPE] & 0x01;\r
-                       PSG->Alternate = PSG->Regs[AY_ESHAPE] & 0x02;\r
-               }\r
-\r
-               PSG->CountE = PSG->PeriodE;\r
-               PSG->CountEnv = 0x1F;\r
-               PSG->Holding = 0;\r
-               PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack];\r
-\r
-               if (PSG->EnvelopeA) PSG->VolA = PSG->VolE;\r
-               if (PSG->EnvelopeB) PSG->VolB = PSG->VolE;\r
-               if (PSG->EnvelopeC) PSG->VolC = PSG->VolE;\r
-               break;\r
-       case AY_PORTA:\r
-               if (PSG->Regs[AY_ENABLE] & 0x40)\r
-               {\r
-//                     if (PSG->PortAwrite)\r
-//                             (*PSG->PortAwrite)(0, PSG->Regs[AY_PORTA]);\r
-//                     else\r
-//                             logerror("PC %04x: warning - write %02x to 8910 #%d Port A\n",activecpu_get_pc(),PSG->Regs[AY_PORTA],n);\r
-               }\r
-               else\r
-               {\r
-//                     logerror("warning: write to 8910 #%d Port A set as input - ignored\n",n);\r
-               }\r
-               break;\r
-       case AY_PORTB:\r
-               if (PSG->Regs[AY_ENABLE] & 0x80)\r
-               {\r
-//                     if (PSG->PortBwrite)\r
-//                             (*PSG->PortBwrite)(0, PSG->Regs[AY_PORTB]);\r
-//                     else\r
-//                             logerror("PC %04x: warning - write %02x to 8910 #%d Port B\n",activecpu_get_pc(),PSG->Regs[AY_PORTB],n);\r
-               }\r
-               else\r
-               {\r
-//                     logerror("warning: write to 8910 #%d Port B set as input - ignored\n",n);\r
-               }\r
-               break;\r
-       }\r
-}\r
-\r
-\r
-// /length/ is the number of samples we require\r
-// NB. This should be called at twice the 6522 IRQ rate or (eg) 60Hz if no IRQ.\r
-void AY8910Update(int chip, int16 ** buffer, int length)       // [TC: Removed static]\r
-{\r
-       struct AY8910 * PSG = &AYPSG[chip];\r
-       INT16 * buf1, * buf2, * buf3;\r
-       int outn;\r
-\r
-       buf1 = buffer[0];\r
-       buf2 = buffer[1];\r
-       buf3 = buffer[2];\r
-\r
-       /* The 8910 has three outputs, each output is the mix of one of the three    *\r
-        * tone generators and of the (single) noise generator. The two are mixed    *\r
-        * BEFORE going into the DAC. The formula to mix each channel is:            *\r
-        * (ToneOn | ToneDisable) & (NoiseOn | NoiseDisable).                        *\r
-        * Note that this means that if both tone and noise are disabled, the output *\r
-        * is 1, not 0, and can be modulated changing the volume.                    *\r
-        *                                                                           *\r
-        * If the channels are disabled, set their output to 1, and increase the     *\r
-        * counter, if necessary, so they will not be inverted during this update.   *\r
-        * Setting the output to 1 is necessary because a disabled channel is locked *\r
-        * into the ON state (see above); and it has no effect if the volume is 0.   *\r
-        * If the volume is 0, increase the counter, but don't touch the output.     */\r
-       if (PSG->Regs[AY_ENABLE] & 0x01)\r
-       {\r
-               if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP;\r
-               PSG->OutputA = 1;\r
-       }\r
-       else if (PSG->Regs[AY_AVOL] == 0)\r
-       {\r
-               /* note that I do count += length, NOT count = length + 1. You might think *\r
-                * it's the same since the volume is 0, but doing the latter could cause   *\r
-                * interferencies when the program is rapidly modulating the volume.       */\r
-               if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP;\r
-       }\r
-\r
-       if (PSG->Regs[AY_ENABLE] & 0x02)\r
-       {\r
-               if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP;\r
-               PSG->OutputB = 1;\r
-       }\r
-       else if (PSG->Regs[AY_BVOL] == 0)\r
-       {\r
-               if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP;\r
-       }\r
-\r
-       if (PSG->Regs[AY_ENABLE] & 0x04)\r
-       {\r
-               if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP;\r
-               PSG->OutputC = 1;\r
-       }\r
-       else if (PSG->Regs[AY_CVOL] == 0)\r
-       {\r
-               if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP;\r
-       }\r
-\r
-       /* for the noise channel we must not touch OutputN - it's also not necessary *\r
-        * since we use outn.                                                        */\r
-       if ((PSG->Regs[AY_ENABLE] & 0x38) == 0x38)      /* all off */\r
-               if (PSG->CountN <= length * STEP) PSG->CountN += length * STEP;\r
-\r
-       outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]);\r
-\r
-       /* buffering loop */\r
-       while (length)\r
-       {\r
-               int vola, volb, volc;\r
-               int left;\r
-\r
-               /* vola, volb and volc keep track of how long each square wave stays *\r
-                * in the 1 position during the sample period.                       */\r
-               vola = volb = volc = 0;\r
-\r
-               left = STEP;\r
-               do\r
-               {\r
-                       int nextevent;\r
-\r
-                       if (PSG->CountN < left) nextevent = PSG->CountN;\r
-                       else nextevent = left;\r
-\r
-                       if (outn & 0x08)\r
-                       {\r
-                               if (PSG->OutputA) vola += PSG->CountA;\r
-\r
-                               PSG->CountA -= nextevent;\r
-                               /* PeriodA is the half period of the square wave. Here, in each    *\r
-                                * loop I add PeriodA twice, so that at the end of the loop the    *\r
-                                * square wave is in the same status (0 or 1) it was at the start. *\r
-                                * vola is also incremented by PeriodA, since the wave has been 1  *\r
-                                * exactly half of the time, regardless of the initial position.   *\r
-                                * If we exit the loop in the middle, OutputA has to be inverted   *\r
-                                * and vola incremented only if the exit status of the square      *\r
-                                * wave is 1.                                                      */\r
-                               while (PSG->CountA <= 0)\r
-                               {\r
-                                       PSG->CountA += PSG->PeriodA;\r
-\r
-                                       if (PSG->CountA > 0)\r
-                                       {\r
-                                               PSG->OutputA ^= 1;\r
-\r
-                                               if (PSG->OutputA) vola += PSG->PeriodA;\r
-                                               break;\r
-                                       }\r
-\r
-                                       PSG->CountA += PSG->PeriodA;\r
-                                       vola += PSG->PeriodA;\r
-                               }\r
-\r
-                               if (PSG->OutputA) vola -= PSG->CountA;\r
-                       }\r
-                       else\r
-                       {\r
-                               PSG->CountA -= nextevent;\r
-                               while (PSG->CountA <= 0)\r
-                               {\r
-                                       PSG->CountA += PSG->PeriodA;\r
-\r
-                                       if (PSG->CountA > 0)\r
-                                       {\r
-                                               PSG->OutputA ^= 1;\r
-                                               break;\r
-                                       }\r
-\r
-                                       PSG->CountA += PSG->PeriodA;\r
-                               }\r
-                       }\r
-\r
-                       if (outn & 0x10)\r
-                       {\r
-                               if (PSG->OutputB) volb += PSG->CountB;\r
-\r
-                               PSG->CountB -= nextevent;\r
-\r
-                               while (PSG->CountB <= 0)\r
-                               {\r
-                                       PSG->CountB += PSG->PeriodB;\r
-\r
-                                       if (PSG->CountB > 0)\r
-                                       {\r
-                                               PSG->OutputB ^= 1;\r
-\r
-                                               if (PSG->OutputB) volb += PSG->PeriodB;\r
-                                               break;\r
-                                       }\r
-\r
-                                       PSG->CountB += PSG->PeriodB;\r
-                                       volb += PSG->PeriodB;\r
-                               }\r
-\r
-                               if (PSG->OutputB) volb -= PSG->CountB;\r
-                       }\r
-                       else\r
-                       {\r
-                               PSG->CountB -= nextevent;\r
-\r
-                               while (PSG->CountB <= 0)\r
-                               {\r
-                                       PSG->CountB += PSG->PeriodB;\r
-\r
-                                       if (PSG->CountB > 0)\r
-                                       {\r
-                                               PSG->OutputB ^= 1;\r
-                                               break;\r
-                                       }\r
-\r
-                                       PSG->CountB += PSG->PeriodB;\r
-                               }\r
-                       }\r
-\r
-                       if (outn & 0x20)\r
-                       {\r
-                               if (PSG->OutputC) volc += PSG->CountC;\r
-\r
-                               PSG->CountC -= nextevent;\r
-\r
-                               while (PSG->CountC <= 0)\r
-                               {\r
-                                       PSG->CountC += PSG->PeriodC;\r
-\r
-                                       if (PSG->CountC > 0)\r
-                                       {\r
-                                               PSG->OutputC ^= 1;\r
-\r
-                                               if (PSG->OutputC) volc += PSG->PeriodC;\r
-                                               break;\r
-                                       }\r
-\r
-                                       PSG->CountC += PSG->PeriodC;\r
-                                       volc += PSG->PeriodC;\r
-                               }\r
-\r
-                               if (PSG->OutputC) volc -= PSG->CountC;\r
-                       }\r
-                       else\r
-                       {\r
-                               PSG->CountC -= nextevent;\r
-\r
-                               while (PSG->CountC <= 0)\r
-                               {\r
-                                       PSG->CountC += PSG->PeriodC;\r
-\r
-                                       if (PSG->CountC > 0)\r
-                                       {\r
-                                               PSG->OutputC ^= 1;\r
-                                               break;\r
-                                       }\r
-\r
-                                       PSG->CountC += PSG->PeriodC;\r
-                               }\r
-                       }\r
-\r
-                       PSG->CountN -= nextevent;\r
-\r
-                       if (PSG->CountN <= 0)\r
-                       {\r
-                               /* Is noise output going to change? */\r
-                               if ((PSG->RNG + 1) & 0x00002)   /* (bit0^bit1)? */\r
-                               {\r
-                                       PSG->OutputN = ~PSG->OutputN;\r
-                                       outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]);\r
-                               }\r
-\r
-                               /* The Random Number Generator of the 8910 is a 17-bit shift  *\r
-                                * register. The input to the shift register is bit0 XOR bit3 *\r
-                                * (bit0 is the output). This was verified on AY-3-8910 and   *\r
-                                * YM2149 chips.                                              *\r
-                                *                                                            *\r
-                                * The following is a fast way to compute bit17 = bit0^bit3.  *\r
-                                * Instead of doing all the logic operations, we only check   *\r
-                                * bit0, relying on the fact that after three shifts of the   *\r
-                                * register, what now is bit3 will become bit0, and will      *\r
-                                * invert, if necessary, bit14, which previously was bit17.   */\r
-                               if (PSG->RNG & 0x00001)\r
-                                       PSG->RNG ^= 0x24000; /* This version is called the "Galois configuration". */\r
-\r
-                               PSG->RNG >>= 1;\r
-                               PSG->CountN += PSG->PeriodN;\r
-                       }\r
-\r
-                       left -= nextevent;\r
-               }\r
-               while (left > 0);\r
-\r
-               /* update envelope */\r
-               if (PSG->Holding == 0)\r
-               {\r
-                       PSG->CountE -= STEP;\r
-\r
-                       if (PSG->CountE <= 0)\r
-                       {\r
-                               do\r
-                               {\r
-                                       PSG->CountEnv--;\r
-                                       PSG->CountE += PSG->PeriodE;\r
-                               }\r
-                               while (PSG->CountE <= 0);\r
-\r
-                               /* check envelope current position */\r
-                               if (PSG->CountEnv < 0)\r
-                               {\r
-                                       if (PSG->Hold)\r
-                                       {\r
-                                               if (PSG->Alternate)\r
-                                                       PSG->Attack ^= 0x1F;\r
-\r
-                                               PSG->Holding = 1;\r
-                                               PSG->CountEnv = 0;\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               /* if CountEnv has looped an odd number of times (usually 1), *\r
-                                                * invert the output.                                         */\r
-                                               if (PSG->Alternate && (PSG->CountEnv & 0x20))\r
-                                                       PSG->Attack ^= 0x1F;\r
-\r
-                                               PSG->CountEnv &= 0x1F;\r
-                                       }\r
-                               }\r
-\r
-                               PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack];\r
-                               /* reload volume */\r
-                               if (PSG->EnvelopeA) PSG->VolA = PSG->VolE;\r
-                               if (PSG->EnvelopeB) PSG->VolB = PSG->VolE;\r
-                               if (PSG->EnvelopeC) PSG->VolC = PSG->VolE;\r
-                       }\r
-               }\r
-\r
-#if 0\r
-               *(buf1++) = (vola * PSG->VolA) / STEP;\r
-               *(buf2++) = (volb * PSG->VolB) / STEP;\r
-               *(buf3++) = (volc * PSG->VolC) / STEP;\r
-#else  // [Tom's code...]\r
-               // Output PCM wave [-32768...32767] instead of MAME's voltage level [0...32767]\r
-               // - This allows for better s/w mixing\r
-\r
-               if (PSG->VolA)\r
-               {\r
-                       if (vola)\r
-                               *(buf1++) = (vola * PSG->VolA) / STEP;\r
-                       else\r
-                               *(buf1++) = -(int)PSG->VolA;\r
-               }\r
-               else\r
-                       *(buf1++) = 0;\r
-\r
-               if (PSG->VolB)\r
-               {\r
-                       if (volb)\r
-                               *(buf2++) = (volb * PSG->VolB) / STEP;\r
-                       else\r
-                               *(buf2++) = -(int)PSG->VolB;\r
-               }\r
-               else\r
-                       *(buf2++) = 0;\r
-\r
-               if (PSG->VolC)\r
-               {\r
-                       if (volc)\r
-                               *(buf3++) = (volc * PSG->VolC) / STEP;\r
-                       else\r
-                               *(buf3++) = -(int)PSG->VolC;\r
-               }\r
-               else\r
-                       *(buf3++) = 0;\r
-#endif\r
-               length--;\r
-       }\r
-}\r
-\r
-\r
-static void AY8910_set_clock(int chip, int clock)\r
-{\r
-       struct AY8910 * PSG = &AYPSG[chip];\r
-\r
-       /* The step clock for the tone and noise generators is the chip clock    *\r
-        * divided by 8; for the envelope generator of the AY-3-8910, it is half *\r
-        * that much (clock/16), but the envelope of the YM2149 goes twice as    *\r
-        * fast, therefore again clock/8.                                        *\r
-        * Here we calculate the number of steps which happen during one sample  *\r
-        * at the given sample rate. No. of events = sample rate / (clock/8).    *\r
-        * STEP is a multiplier used to turn the fraction into a fixed point     *\r
-        * number.                                                               */\r
-       PSG->UpdateStep = (unsigned int)(((double)STEP * PSG->SampleRate * 8 + clock / 2) / clock);     // [TC: unsigned int cast]\r
-}\r
-\r
-\r
-static void build_mixer_table(int chip)\r
-{\r
-       struct AY8910 * PSG = &AYPSG[chip];\r
-\r
-       /* calculate the volume->voltage conversion table                     */\r
-       /* The AY-3-8910 has 16 levels, in a logarithmic scale (3dB per step) */\r
-       /* The YM2149 still has 16 levels for the tone generators, but 32 for */\r
-       /* the envelope generator (1.5dB per step).                           */\r
-       double out = MAX_OUTPUT;\r
-\r
-       for(int i=31; i>0; i--)\r
-       {\r
-               PSG->VolTable[i] = (unsigned int)(out + 0.5);   /* round to nearest */  // [TC: unsigned int cast]\r
-               out /= 1.188502227;     /* = 10 ^ (1.5/20) = 1.5dB */\r
-       }\r
-\r
-       PSG->VolTable[0] = 0;\r
-}\r
-\r
-\r
-void AY8910_reset(int chip)\r
-{\r
-       int i;\r
-       struct AY8910 * PSG = &AYPSG[chip];\r
-\r
-       PSG->register_latch = 0;\r
-       PSG->RNG = 1;\r
-       PSG->OutputA = 0;\r
-       PSG->OutputB = 0;\r
-       PSG->OutputC = 0;\r
-       PSG->OutputN = 0xFF;\r
-       PSG->lastEnable = -1;   /* force a write */\r
-\r
-       for(i=0; i<AY_PORTA; i++)\r
-               _AYWriteReg(chip, i, 0);        /* AYWriteReg() uses the timer system; we cannot */\r
-                                                                       /* call it at this time because the timer system */\r
-                                                                       /* has not been initialized.                     */\r
-}\r
-\r
-// This stuff looks like Tom's code, so let's streamline and un-MSHungarianize this shit:\r
-// [DONE]\r
-\r
-void AY8910_InitAll(int clock, int sampleRate)\r
-{\r
-       for(int chip=0; chip<MAX_8910; chip++)\r
-       {\r
-               struct AY8910 * PSG = &AYPSG[chip];\r
-\r
-               memset(PSG, 0, sizeof(struct AY8910));\r
-               PSG->SampleRate = sampleRate;\r
-               AY8910_set_clock(chip, clock);\r
-               build_mixer_table(chip);\r
-       }\r
-}\r
-\r
-void AY8910_InitClock(int clock)\r
-{\r
-       for(int chip=0; chip<MAX_8910; chip++)\r
-               AY8910_set_clock(chip, clock);\r
-}\r
-\r
-uint8 * AY8910_GetRegsPtr(uint16 chipNum)\r
-{\r
-       if (chipNum >= MAX_8910)\r
-               return NULL;\r
-\r
-       return &AYPSG[chipNum].Regs[0];\r
-}\r
+/***************************************************************************
+
+  ay8910.cpp
+
+  Emulation of the AY-3-8910 / YM2149 sound chip.
+
+  Based on various code snippets by Ville Hallik, Michael Cuddy,
+  Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria.
+
+***************************************************************************/
+
+// 
+// From mame.txt (http://www.mame.net/readme.html)
+// 
+// VI. Reuse of Source Code
+// --------------------------
+//    This chapter might not apply to specific portions of MAME (e.g. CPU
+//    emulators) which bear different copyright notices.
+//    The source code cannot be used in a commercial product without the written
+//    authorization of the authors. Use in non-commercial products is allowed, and
+//    indeed encouraged.  If you use portions of the MAME source code in your
+//    program, however, you must make the full source code freely available as
+//    well.
+//    Usage of the _information_ contained in the source code is free for any use.
+//    However, given the amount of time and energy it took to collect this
+//    information, if you find new information we would appreciate if you made it
+//    freely available as well.
+// 
+
+// JLH: Commented out MAME specific crap
+
+#include <string.h>                                                            // for memset()
+#include "ay8910.h"
+
+#define MAX_OUTPUT 0x7FFF
+
+// See AY8910_set_clock() for definition of STEP
+#define STEP 0x8000
+
+struct AY8910
+{
+       int Channel;
+       int SampleRate;
+//     mem_read_handler PortAread;
+//     mem_read_handler PortBread;
+//     mem_write_handler PortAwrite;
+//     mem_write_handler PortBwrite;
+       int register_latch;
+       unsigned char Regs[16];
+       int lastEnable;
+       unsigned int UpdateStep;
+       int PeriodA,PeriodB,PeriodC,PeriodN,PeriodE;
+       int CountA,CountB,CountC,CountN,CountE;
+       unsigned int VolA,VolB,VolC,VolE;
+       unsigned char EnvelopeA,EnvelopeB,EnvelopeC;
+       unsigned char OutputA,OutputB,OutputC,OutputN;
+       signed char CountEnv;
+       unsigned char Hold,Alternate,Attack,Holding;
+       int RNG;
+       unsigned int VolTable[32];
+};
+
+/* register id's */
+#define AY_AFINE       (0)
+#define AY_ACOARSE     (1)
+#define AY_BFINE       (2)
+#define AY_BCOARSE     (3)
+#define AY_CFINE       (4)
+#define AY_CCOARSE     (5)
+#define AY_NOISEPER    (6)
+#define AY_ENABLE      (7)
+#define AY_AVOL                (8)
+#define AY_BVOL                (9)
+#define AY_CVOL                (10)
+#define AY_EFINE       (11)
+#define AY_ECOARSE     (12)
+#define AY_ESHAPE      (13)
+
+#define AY_PORTA       (14)
+#define AY_PORTB       (15)
+
+
+static struct AY8910 AYPSG[MAX_8910];          /* array of PSG's */
+
+
+void _AYWriteReg(int n, int r, int v)
+{
+       struct AY8910 *PSG = &AYPSG[n];
+       int old;
+
+       PSG->Regs[r] = v;
+
+       /* A note about the period of tones, noise and envelope: for speed reasons, *
+        * we count down from the period to 0, but careful studies of the chip      * 
+        * output prove that it instead counts up from 0 until the counter becomes  * 
+        * greater or equal to the period. This is an important difference when the * 
+        * program is rapidly changing the period to modulate the sound.            * 
+        * To compensate for the difference, when the period is changed we adjust   * 
+        * our internal counter.                                                    * 
+        * Also, note that period = 0 is the same as period = 1. This is mentioned  * 
+        * in the YM2203 data sheets. However, this does NOT apply to the Envelope  * 
+        * period. In that case, period = 0 is half as period = 1.                  */
+       switch (r)
+       {
+       case AY_AFINE:
+       case AY_ACOARSE:
+               PSG->Regs[AY_ACOARSE] &= 0x0F;
+               old = PSG->PeriodA;
+               PSG->PeriodA = (PSG->Regs[AY_AFINE] + 256 * PSG->Regs[AY_ACOARSE]) * PSG->UpdateStep;
+
+               if (PSG->PeriodA == 0) PSG->PeriodA = PSG->UpdateStep;
+
+               PSG->CountA += PSG->PeriodA - old;
+
+               if (PSG->CountA <= 0) PSG->CountA = 1;
+               break;
+       case AY_BFINE:
+       case AY_BCOARSE:
+               PSG->Regs[AY_BCOARSE] &= 0x0F;
+               old = PSG->PeriodB;
+               PSG->PeriodB = (PSG->Regs[AY_BFINE] + 256 * PSG->Regs[AY_BCOARSE]) * PSG->UpdateStep;
+
+               if (PSG->PeriodB == 0) PSG->PeriodB = PSG->UpdateStep;
+
+               PSG->CountB += PSG->PeriodB - old;
+
+               if (PSG->CountB <= 0) PSG->CountB = 1;
+               break;
+       case AY_CFINE:
+       case AY_CCOARSE:
+               PSG->Regs[AY_CCOARSE] &= 0x0F;
+               old = PSG->PeriodC;
+               PSG->PeriodC = (PSG->Regs[AY_CFINE] + 256 * PSG->Regs[AY_CCOARSE]) * PSG->UpdateStep;
+
+               if (PSG->PeriodC == 0) PSG->PeriodC = PSG->UpdateStep;
+
+               PSG->CountC += PSG->PeriodC - old;
+
+               if (PSG->CountC <= 0) PSG->CountC = 1;
+               break;
+       case AY_NOISEPER:
+               PSG->Regs[AY_NOISEPER] &= 0x1F;
+               old = PSG->PeriodN;
+               PSG->PeriodN = PSG->Regs[AY_NOISEPER] * PSG->UpdateStep;
+
+               if (PSG->PeriodN == 0) PSG->PeriodN = PSG->UpdateStep;
+
+               PSG->CountN += PSG->PeriodN - old;
+
+               if (PSG->CountN <= 0) PSG->CountN = 1;
+               break;
+       case AY_ENABLE:
+               if ((PSG->lastEnable == -1) ||
+                   ((PSG->lastEnable & 0x40) != (PSG->Regs[AY_ENABLE] & 0x40)))
+               {
+                       /* write out 0xff if port set to input */
+//                     if (PSG->PortAwrite)
+//                             (*PSG->PortAwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x40) ? PSG->Regs[AY_PORTA] : 0xff));    // [TC: UINT8 cast]
+               }
+
+               if ((PSG->lastEnable == -1) ||
+                   ((PSG->lastEnable & 0x80) != (PSG->Regs[AY_ENABLE] & 0x80)))
+               {
+                       /* write out 0xff if port set to input */
+//                     if (PSG->PortBwrite)
+//                             (*PSG->PortBwrite)(0, (UINT8) ((PSG->Regs[AY_ENABLE] & 0x80) ? PSG->Regs[AY_PORTB] : 0xff));    // [TC: UINT8 cast]
+               }
+
+               PSG->lastEnable = PSG->Regs[AY_ENABLE];
+               break;
+       case AY_AVOL:
+               PSG->Regs[AY_AVOL] &= 0x1F;
+               PSG->EnvelopeA = PSG->Regs[AY_AVOL] & 0x10;
+               PSG->VolA = PSG->EnvelopeA ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_AVOL] ? PSG->Regs[AY_AVOL]*2+1 : 0];
+               break;
+       case AY_BVOL:
+               PSG->Regs[AY_BVOL] &= 0x1F;
+               PSG->EnvelopeB = PSG->Regs[AY_BVOL] & 0x10;
+               PSG->VolB = PSG->EnvelopeB ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_BVOL] ? PSG->Regs[AY_BVOL]*2+1 : 0];
+               break;
+       case AY_CVOL:
+               PSG->Regs[AY_CVOL] &= 0x1F;
+               PSG->EnvelopeC = PSG->Regs[AY_CVOL] & 0x10;
+               PSG->VolC = PSG->EnvelopeC ? PSG->VolE : PSG->VolTable[PSG->Regs[AY_CVOL] ? PSG->Regs[AY_CVOL]*2+1 : 0];
+               break;
+       case AY_EFINE:
+       case AY_ECOARSE:
+               old = PSG->PeriodE;
+               PSG->PeriodE = ((PSG->Regs[AY_EFINE] + 256 * PSG->Regs[AY_ECOARSE])) * PSG->UpdateStep;
+
+               if (PSG->PeriodE == 0) PSG->PeriodE = PSG->UpdateStep / 2;
+
+               PSG->CountE += PSG->PeriodE - old;
+
+               if (PSG->CountE <= 0) PSG->CountE = 1;
+               break;
+       case AY_ESHAPE:
+               /* envelope shapes:
+               C AtAlH
+               0 0 x x  \___
+
+               0 1 x x  /___
+
+               1 0 0 0  \\\\
+
+               1 0 0 1  \___
+
+               1 0 1 0  \/\/
+                         ___
+               1 0 1 1  \
+
+               1 1 0 0  ////
+                         ___
+               1 1 0 1  /
+
+               1 1 1 0  /\/\
+
+               1 1 1 1  /___
+
+               The envelope counter on the AY-3-8910 has 16 steps. On the YM2149 it
+               has twice the steps, happening twice as fast. Since the end result is
+               just a smoother curve, we always use the YM2149 behaviour.
+               */
+               PSG->Regs[AY_ESHAPE] &= 0x0F;
+               PSG->Attack = (PSG->Regs[AY_ESHAPE] & 0x04) ? 0x1F : 0x00;
+
+               if ((PSG->Regs[AY_ESHAPE] & 0x08) == 0)
+               {
+                       /* if Continue = 0, map the shape to the equivalent one which has Continue = 1 */
+                       PSG->Hold = 1;
+                       PSG->Alternate = PSG->Attack;
+               }
+               else
+               {
+                       PSG->Hold = PSG->Regs[AY_ESHAPE] & 0x01;
+                       PSG->Alternate = PSG->Regs[AY_ESHAPE] & 0x02;
+               }
+
+               PSG->CountE = PSG->PeriodE;
+               PSG->CountEnv = 0x1F;
+               PSG->Holding = 0;
+               PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack];
+
+               if (PSG->EnvelopeA) PSG->VolA = PSG->VolE;
+               if (PSG->EnvelopeB) PSG->VolB = PSG->VolE;
+               if (PSG->EnvelopeC) PSG->VolC = PSG->VolE;
+               break;
+       case AY_PORTA:
+               if (PSG->Regs[AY_ENABLE] & 0x40)
+               {
+//                     if (PSG->PortAwrite)
+//                             (*PSG->PortAwrite)(0, PSG->Regs[AY_PORTA]);
+//                     else
+//                             logerror("PC %04x: warning - write %02x to 8910 #%d Port A\n",activecpu_get_pc(),PSG->Regs[AY_PORTA],n);
+               }
+               else
+               {
+//                     logerror("warning: write to 8910 #%d Port A set as input - ignored\n",n);
+               }
+               break;
+       case AY_PORTB:
+               if (PSG->Regs[AY_ENABLE] & 0x80)
+               {
+//                     if (PSG->PortBwrite)
+//                             (*PSG->PortBwrite)(0, PSG->Regs[AY_PORTB]);
+//                     else
+//                             logerror("PC %04x: warning - write %02x to 8910 #%d Port B\n",activecpu_get_pc(),PSG->Regs[AY_PORTB],n);
+               }
+               else
+               {
+//                     logerror("warning: write to 8910 #%d Port B set as input - ignored\n",n);
+               }
+               break;
+       }
+}
+
+
+// /length/ is the number of samples we require
+// NB. This should be called at twice the 6522 IRQ rate or (eg) 60Hz if no IRQ.
+void AY8910Update(int chip, int16 ** buffer, int length)       // [TC: Removed static]
+{
+       struct AY8910 * PSG = &AYPSG[chip];
+       INT16 * buf1, * buf2, * buf3;
+       int outn;
+
+       buf1 = buffer[0];
+       buf2 = buffer[1];
+       buf3 = buffer[2];
+
+       /* The 8910 has three outputs, each output is the mix of one of the three    *
+        * tone generators and of the (single) noise generator. The two are mixed    *
+        * BEFORE going into the DAC. The formula to mix each channel is:            *
+        * (ToneOn | ToneDisable) & (NoiseOn | NoiseDisable).                        *
+        * Note that this means that if both tone and noise are disabled, the output *
+        * is 1, not 0, and can be modulated changing the volume.                    *
+        *                                                                           *
+        * If the channels are disabled, set their output to 1, and increase the     *
+        * counter, if necessary, so they will not be inverted during this update.   *
+        * Setting the output to 1 is necessary because a disabled channel is locked *
+        * into the ON state (see above); and it has no effect if the volume is 0.   *
+        * If the volume is 0, increase the counter, but don't touch the output.     */
+       if (PSG->Regs[AY_ENABLE] & 0x01)
+       {
+               if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP;
+               PSG->OutputA = 1;
+       }
+       else if (PSG->Regs[AY_AVOL] == 0)
+       {
+               /* note that I do count += length, NOT count = length + 1. You might think *
+                * it's the same since the volume is 0, but doing the latter could cause   *
+                * interferencies when the program is rapidly modulating the volume.       */
+               if (PSG->CountA <= length * STEP) PSG->CountA += length * STEP;
+       }
+
+       if (PSG->Regs[AY_ENABLE] & 0x02)
+       {
+               if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP;
+               PSG->OutputB = 1;
+       }
+       else if (PSG->Regs[AY_BVOL] == 0)
+       {
+               if (PSG->CountB <= length * STEP) PSG->CountB += length * STEP;
+       }
+
+       if (PSG->Regs[AY_ENABLE] & 0x04)
+       {
+               if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP;
+               PSG->OutputC = 1;
+       }
+       else if (PSG->Regs[AY_CVOL] == 0)
+       {
+               if (PSG->CountC <= length * STEP) PSG->CountC += length * STEP;
+       }
+
+       /* for the noise channel we must not touch OutputN - it's also not necessary *
+        * since we use outn.                                                        */
+       if ((PSG->Regs[AY_ENABLE] & 0x38) == 0x38)      /* all off */
+               if (PSG->CountN <= length * STEP) PSG->CountN += length * STEP;
+
+       outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]);
+
+       /* buffering loop */
+       while (length)
+       {
+               int vola, volb, volc;
+               int left;
+
+               /* vola, volb and volc keep track of how long each square wave stays *
+                * in the 1 position during the sample period.                       */
+               vola = volb = volc = 0;
+
+               left = STEP;
+               do
+               {
+                       int nextevent;
+
+                       if (PSG->CountN < left) nextevent = PSG->CountN;
+                       else nextevent = left;
+
+                       if (outn & 0x08)
+                       {
+                               if (PSG->OutputA) vola += PSG->CountA;
+
+                               PSG->CountA -= nextevent;
+                               /* PeriodA is the half period of the square wave. Here, in each    *
+                                * loop I add PeriodA twice, so that at the end of the loop the    *
+                                * square wave is in the same status (0 or 1) it was at the start. *
+                                * vola is also incremented by PeriodA, since the wave has been 1  *
+                                * exactly half of the time, regardless of the initial position.   *
+                                * If we exit the loop in the middle, OutputA has to be inverted   *
+                                * and vola incremented only if the exit status of the square      *
+                                * wave is 1.                                                      */
+                               while (PSG->CountA <= 0)
+                               {
+                                       PSG->CountA += PSG->PeriodA;
+
+                                       if (PSG->CountA > 0)
+                                       {
+                                               PSG->OutputA ^= 1;
+
+                                               if (PSG->OutputA) vola += PSG->PeriodA;
+                                               break;
+                                       }
+
+                                       PSG->CountA += PSG->PeriodA;
+                                       vola += PSG->PeriodA;
+                               }
+
+                               if (PSG->OutputA) vola -= PSG->CountA;
+                       }
+                       else
+                       {
+                               PSG->CountA -= nextevent;
+                               while (PSG->CountA <= 0)
+                               {
+                                       PSG->CountA += PSG->PeriodA;
+
+                                       if (PSG->CountA > 0)
+                                       {
+                                               PSG->OutputA ^= 1;
+                                               break;
+                                       }
+
+                                       PSG->CountA += PSG->PeriodA;
+                               }
+                       }
+
+                       if (outn & 0x10)
+                       {
+                               if (PSG->OutputB) volb += PSG->CountB;
+
+                               PSG->CountB -= nextevent;
+
+                               while (PSG->CountB <= 0)
+                               {
+                                       PSG->CountB += PSG->PeriodB;
+
+                                       if (PSG->CountB > 0)
+                                       {
+                                               PSG->OutputB ^= 1;
+
+                                               if (PSG->OutputB) volb += PSG->PeriodB;
+                                               break;
+                                       }
+
+                                       PSG->CountB += PSG->PeriodB;
+                                       volb += PSG->PeriodB;
+                               }
+
+                               if (PSG->OutputB) volb -= PSG->CountB;
+                       }
+                       else
+                       {
+                               PSG->CountB -= nextevent;
+
+                               while (PSG->CountB <= 0)
+                               {
+                                       PSG->CountB += PSG->PeriodB;
+
+                                       if (PSG->CountB > 0)
+                                       {
+                                               PSG->OutputB ^= 1;
+                                               break;
+                                       }
+
+                                       PSG->CountB += PSG->PeriodB;
+                               }
+                       }
+
+                       if (outn & 0x20)
+                       {
+                               if (PSG->OutputC) volc += PSG->CountC;
+
+                               PSG->CountC -= nextevent;
+
+                               while (PSG->CountC <= 0)
+                               {
+                                       PSG->CountC += PSG->PeriodC;
+
+                                       if (PSG->CountC > 0)
+                                       {
+                                               PSG->OutputC ^= 1;
+
+                                               if (PSG->OutputC) volc += PSG->PeriodC;
+                                               break;
+                                       }
+
+                                       PSG->CountC += PSG->PeriodC;
+                                       volc += PSG->PeriodC;
+                               }
+
+                               if (PSG->OutputC) volc -= PSG->CountC;
+                       }
+                       else
+                       {
+                               PSG->CountC -= nextevent;
+
+                               while (PSG->CountC <= 0)
+                               {
+                                       PSG->CountC += PSG->PeriodC;
+
+                                       if (PSG->CountC > 0)
+                                       {
+                                               PSG->OutputC ^= 1;
+                                               break;
+                                       }
+
+                                       PSG->CountC += PSG->PeriodC;
+                               }
+                       }
+
+                       PSG->CountN -= nextevent;
+
+                       if (PSG->CountN <= 0)
+                       {
+                               /* Is noise output going to change? */
+                               if ((PSG->RNG + 1) & 0x00002)   /* (bit0^bit1)? */
+                               {
+                                       PSG->OutputN = ~PSG->OutputN;
+                                       outn = (PSG->OutputN | PSG->Regs[AY_ENABLE]);
+                               }
+
+                               /* The Random Number Generator of the 8910 is a 17-bit shift  *
+                                * register. The input to the shift register is bit0 XOR bit3 *
+                                * (bit0 is the output). This was verified on AY-3-8910 and   *
+                                * YM2149 chips.                                              *
+                                *                                                            *
+                                * The following is a fast way to compute bit17 = bit0^bit3.  *
+                                * Instead of doing all the logic operations, we only check   *
+                                * bit0, relying on the fact that after three shifts of the   *
+                                * register, what now is bit3 will become bit0, and will      *
+                                * invert, if necessary, bit14, which previously was bit17.   */
+                               if (PSG->RNG & 0x00001)
+                                       PSG->RNG ^= 0x24000; /* This version is called the "Galois configuration". */
+
+                               PSG->RNG >>= 1;
+                               PSG->CountN += PSG->PeriodN;
+                       }
+
+                       left -= nextevent;
+               }
+               while (left > 0);
+
+               /* update envelope */
+               if (PSG->Holding == 0)
+               {
+                       PSG->CountE -= STEP;
+
+                       if (PSG->CountE <= 0)
+                       {
+                               do
+                               {
+                                       PSG->CountEnv--;
+                                       PSG->CountE += PSG->PeriodE;
+                               }
+                               while (PSG->CountE <= 0);
+
+                               /* check envelope current position */
+                               if (PSG->CountEnv < 0)
+                               {
+                                       if (PSG->Hold)
+                                       {
+                                               if (PSG->Alternate)
+                                                       PSG->Attack ^= 0x1F;
+
+                                               PSG->Holding = 1;
+                                               PSG->CountEnv = 0;
+                                       }
+                                       else
+                                       {
+                                               /* if CountEnv has looped an odd number of times (usually 1), *
+                                                * invert the output.                                         */
+                                               if (PSG->Alternate && (PSG->CountEnv & 0x20))
+                                                       PSG->Attack ^= 0x1F;
+
+                                               PSG->CountEnv &= 0x1F;
+                                       }
+                               }
+
+                               PSG->VolE = PSG->VolTable[PSG->CountEnv ^ PSG->Attack];
+                               /* reload volume */
+                               if (PSG->EnvelopeA) PSG->VolA = PSG->VolE;
+                               if (PSG->EnvelopeB) PSG->VolB = PSG->VolE;
+                               if (PSG->EnvelopeC) PSG->VolC = PSG->VolE;
+                       }
+               }
+
+#if 0
+               *(buf1++) = (vola * PSG->VolA) / STEP;
+               *(buf2++) = (volb * PSG->VolB) / STEP;
+               *(buf3++) = (volc * PSG->VolC) / STEP;
+#else  // [Tom's code...]
+               // Output PCM wave [-32768...32767] instead of MAME's voltage level [0...32767]
+               // - This allows for better s/w mixing
+
+               if (PSG->VolA)
+               {
+                       if (vola)
+                               *(buf1++) = (vola * PSG->VolA) / STEP;
+                       else
+                               *(buf1++) = -(int)PSG->VolA;
+               }
+               else
+                       *(buf1++) = 0;
+
+               if (PSG->VolB)
+               {
+                       if (volb)
+                               *(buf2++) = (volb * PSG->VolB) / STEP;
+                       else
+                               *(buf2++) = -(int)PSG->VolB;
+               }
+               else
+                       *(buf2++) = 0;
+
+               if (PSG->VolC)
+               {
+                       if (volc)
+                               *(buf3++) = (volc * PSG->VolC) / STEP;
+                       else
+                               *(buf3++) = -(int)PSG->VolC;
+               }
+               else
+                       *(buf3++) = 0;
+#endif
+               length--;
+       }
+}
+
+
+static void AY8910_set_clock(int chip, int clock)
+{
+       struct AY8910 * PSG = &AYPSG[chip];
+
+       /* The step clock for the tone and noise generators is the chip clock    *
+        * divided by 8; for the envelope generator of the AY-3-8910, it is half *
+        * that much (clock/16), but the envelope of the YM2149 goes twice as    *
+        * fast, therefore again clock/8.                                        *
+        * Here we calculate the number of steps which happen during one sample  *
+        * at the given sample rate. No. of events = sample rate / (clock/8).    *
+        * STEP is a multiplier used to turn the fraction into a fixed point     *
+        * number.                                                               */
+       PSG->UpdateStep = (unsigned int)(((double)STEP * PSG->SampleRate * 8 + clock / 2) / clock);     // [TC: unsigned int cast]
+}
+
+
+static void build_mixer_table(int chip)
+{
+       struct AY8910 * PSG = &AYPSG[chip];
+
+       /* calculate the volume->voltage conversion table                     */
+       /* The AY-3-8910 has 16 levels, in a logarithmic scale (3dB per step) */
+       /* The YM2149 still has 16 levels for the tone generators, but 32 for */
+       /* the envelope generator (1.5dB per step).                           */
+       double out = MAX_OUTPUT;
+
+       for(int i=31; i>0; i--)
+       {
+               PSG->VolTable[i] = (unsigned int)(out + 0.5);   /* round to nearest */  // [TC: unsigned int cast]
+               out /= 1.188502227;     /* = 10 ^ (1.5/20) = 1.5dB */
+       }
+
+       PSG->VolTable[0] = 0;
+}
+
+
+void AY8910_reset(int chip)
+{
+       int i;
+       struct AY8910 * PSG = &AYPSG[chip];
+
+       PSG->register_latch = 0;
+       PSG->RNG = 1;
+       PSG->OutputA = 0;
+       PSG->OutputB = 0;
+       PSG->OutputC = 0;
+       PSG->OutputN = 0xFF;
+       PSG->lastEnable = -1;   /* force a write */
+
+       for(i=0; i<AY_PORTA; i++)
+               _AYWriteReg(chip, i, 0);        /* AYWriteReg() uses the timer system; we cannot */
+                                                                       /* call it at this time because the timer system */
+                                                                       /* has not been initialized.                     */
+}
+
+// This stuff looks like Tom's code, so let's streamline and un-MSHungarianize this shit:
+// [DONE]
+
+void AY8910_InitAll(int clock, int sampleRate)
+{
+       for(int chip=0; chip<MAX_8910; chip++)
+       {
+               struct AY8910 * PSG = &AYPSG[chip];
+
+               memset(PSG, 0, sizeof(struct AY8910));
+               PSG->SampleRate = sampleRate;
+               AY8910_set_clock(chip, clock);
+               build_mixer_table(chip);
+       }
+}
+
+void AY8910_InitClock(int clock)
+{
+       for(int chip=0; chip<MAX_8910; chip++)
+               AY8910_set_clock(chip, clock);
+}
+
+uint8 * AY8910_GetRegsPtr(uint16 chipNum)
+{
+       if (chipNum >= MAX_8910)
+               return NULL;
+
+       return &AYPSG[chipNum].Regs[0];
+}
index f9910ef33466cdd940176f78572528057f0eaef2..aa0925b45cb8700e4845c9be93072059ee59e2ae 100755 (executable)
@@ -1,16 +1,16 @@
-#ifndef AY8910_H\r
-#define AY8910_H\r
-\r
-#include "types.h"\r
-\r
-#define MAX_8910 4\r
-\r
-void _AYWriteReg(int n, int r, int v);\r
-void AY8910_reset(int chip);\r
-void AY8910Update(int chip, int16 ** buffer, int length);\r
-\r
-void AY8910_InitAll(int nClock, int nSampleRate);\r
-void AY8910_InitClock(int nClock);\r
-uint8 * AY8910_GetRegsPtr(uint16 nAyNum);\r
-\r
-#endif\r
+#ifndef AY8910_H
+#define AY8910_H
+
+#include "types.h"
+
+#define MAX_8910 4
+
+void _AYWriteReg(int n, int r, int v);
+void AY8910_reset(int chip);
+void AY8910Update(int chip, int16 ** buffer, int length);
+
+void AY8910_InitAll(int nClock, int nSampleRate);
+void AY8910_InitClock(int nClock);
+uint8 * AY8910_GetRegsPtr(uint16 nAyNum);
+
+#endif
index ba91c6ea3cf98a849169bbb3164fc902ba572e99..1f58e3089277a474c610722d534660558003b504 100755 (executable)
-//\r
-// The Apple II/IIe video generator character set\r
-//\r
-// by James L. Hammons\r
-// (C) 2005 Underground Software\r
-//\r
-// While we could pack things into bytes, it doesn't cost too much to have everything\r
-// unpacked as we have it here.\r
-//\r
-\r
-// Apple II character set has 64 chars (56 bytes for each character)\r
-\r
-char textChar[0x0E00] = {\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-// Apple IIe/IIc character set has 256 chars (56 bytes for each character)\r
-\r
-char textChar2e[0x3800] = {\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,\r
-       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF,\r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,\r
-       0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-#if 0\r
-char textChar[0x7000] = {\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-\r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-\r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, \r
-       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \r
-       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, \r
-       0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-};\r
-#endif\r
+//
+// The Apple II/IIe video generator character set
+//
+// by James L. Hammons
+// (C) 2005 Underground Software
+//
+// While we could pack things into bytes, it doesn't cost too much to have everything
+// unpacked as we have it here.
+//
+
+// Apple II character set has 64 chars (56 bytes for each character)
+
+char textChar[0x0E00] = {
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+// Apple IIe/IIc character set has 256 chars (56 bytes for each character)
+
+char textChar2e[0x3800] = {
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF,
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF,
+       0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF,
+       0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
+       0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+#if 0
+char textChar[0x7000] = {
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
+       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 
+       0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+       0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 
+       0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+};
+#endif
index 61976597126b9ec00848b3da5c5c7e2c473c9d94..aa3981af2da9674f9c62f9cb44f454454fbc66bc 100755 (executable)
-//\r
-// 65C02 disassembler\r
-//\r
-// by James L. Hammons\r
-// (c) 2005 Underground Software\r
-//\r
-\r
-#include <stdio.h>\r
-#include <string>\r
-#include "dis65c02.h"\r
-//#include "types.h"\r
-#include "v65c02.h"\r
-#include "log.h"\r
-\r
-using namespace std;\r
-\r
-// External shit\r
-\r
-extern V65C02REGS mainCPU;//Hm. Shouldn't we pass this shit in?\r
-\r
-// Private globals variables\r
-\r
-static uint8 op_mat[256] = {\r
-       14, 6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  2,  3,  3,  2,  14, 10, 14, 0,  8,  9,  9,  13,\r
-       8,  6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  3,  3,  3,  2,  14, 10, 14, 0,  9,  9,  9,  13,\r
-       14, 6,  0,  0,  0,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  0,  3,  3,  2,  14, 10, 14, 0,  0,  9,  9,  13,\r
-       14, 6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  11, 8,  8,  13,\r
-       13, 7,  5,  0,  3,  3,  3,  2,  14, 10, 14, 0,  12, 9,  9,  13,\r
-       13, 6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  3,  3,  4,  2,  14, 10, 14, 0,  8,  9,  9,  13,\r
-       1,  6,  1,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  3,  3,  4,  2,  14, 10, 14, 0,  9,  9,  10, 13,\r
-       1,  6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  0,  3,  3,  2,  14, 10, 14, 0,  0,  9,  9,  13,\r
-       1,  6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,\r
-       13, 7,  5,  0,  0,  3,  3,  2,  14, 10, 14, 0,  0,  9,  9,  13  };\r
-\r
-static uint8 mnemonics[256][6] = {\r
-       "BRK  ","ORA  ","???  ","???  ","TSB  ","ORA  ","ASL  ","RMB0 ",\r
-       "PHP  ","ORA  ","ASL  ","???  ","TSB  ","ORA  ","ASL  ","BBR0 ",\r
-       "BPL  ","ORA  ","ORA  ","???  ","TRB  ","ORA  ","ASL  ","RMB1 ",\r
-       "CLC  ","ORA  ","INC  ","???  ","TRB  ","ORA  ","ASL  ","BBR1 ",\r
-       "JSR  ","AND  ","???  ","???  ","BIT  ","AND  ","ROL  ","RMB2 ",\r
-       "PLP  ","AND  ","ROL  ","???  ","BIT  ","AND  ","ROL  ","BBR2 ",\r
-       "BMI  ","AND  ","AND  ","???  ","BIT  ","AND  ","ROL  ","RMB3 ",\r
-       "SEC  ","AND  ","DEC  ","???  ","BIT  ","AND  ","ROL  ","BBR3 ",\r
-       "RTI  ","EOR  ","???  ","???  ","???  ","EOR  ","LSR  ","RMB4 ",\r
-       "PHA  ","EOR  ","LSR  ","???  ","JMP  ","EOR  ","LSR  ","BBR4 ",\r
-       "BVC  ","EOR  ","EOR  ","???  ","???  ","EOR  ","LSR  ","RMB5 ",\r
-       "CLI  ","EOR  ","PHY  ","???  ","???  ","EOR  ","LSR  ","BBR5 ",\r
-       "RTS  ","ADC  ","???  ","???  ","STZ  ","ADC  ","ROR  ","RMB6 ",\r
-       "PLA  ","ADC  ","ROR  ","???  ","JMP  ","ADC  ","ROR  ","BBR6 ",\r
-       "BVS  ","ADC  ","ADC  ","???  ","STZ  ","ADC  ","ROR  ","RMB7 ",\r
-       "SEI  ","ADC  ","PLY  ","???  ","JMP  ","ADC  ","ROR  ","BBR7 ",\r
-       "BRA  ","STA  ","???  ","???  ","STY  ","STA  ","STX  ","SMB0 ",\r
-       "DEY  ","BIT  ","TXA  ","???  ","STY  ","STA  ","STX  ","BBS0 ",\r
-       "BCC  ","STA  ","STA  ","???  ","STY  ","STA  ","STX  ","SMB1 ",\r
-       "TYA  ","STA  ","TXS  ","???  ","STZ  ","STA  ","STZ  ","BBS1 ",\r
-       "LDY  ","LDA  ","LDX  ","???  ","LDY  ","LDA  ","LDX  ","SMB2 ",\r
-       "TAY  ","LDA  ","TAX  ","???  ","LDY  ","LDA  ","LDX  ","BBS2 ",\r
-       "BCS  ","LDA  ","LDA  ","???  ","LDY  ","LDA  ","LDX  ","SMB3 ",\r
-       "CLV  ","LDA  ","TSX  ","???  ","LDY  ","LDA  ","LDX  ","BBS3 ",\r
-       "CPY  ","CMP  ","???  ","???  ","CPY  ","CMP  ","DEC  ","SMB4 ",\r
-       "INY  ","CMP  ","DEX  ","???  ","CPY  ","CMP  ","DEC  ","BBS4 ",\r
-       "BNE  ","CMP  ","CMP  ","???  ","???  ","CMP  ","DEC  ","SMB5 ",\r
-       "CLD  ","CMP  ","PHX  ","???  ","???  ","CMP  ","DEC  ","BBS5 ",\r
-       "CPX  ","SBC  ","???  ","???  ","CPX  ","SBC  ","INC  ","SMB6 ",\r
-       "INX  ","SBC  ","NOP  ","???  ","CPX  ","SBC  ","INC  ","BBS6 ",\r
-       "BEQ  ","SBC  ","SBC  ","???  ","???  ","SBC  ","INC  ","SMB7 ",\r
-       "SED  ","SBC  ","PLX  ","???  ","???  ","SBC  ","INC  ","BBS7 " };\r
-\r
-//\r
-// Display bytes in mem in hex\r
-//\r
-static void DisplayBytes(uint16 src, uint32 dst)\r
-{\r
-       WriteLog("%04X: ", src);\r
-       uint8 cnt = 0;                                                                          // Init counter...\r
-\r
-       if (src > dst)\r
-               dst += 0x10000;                                                                 // That should fix the FFFF bug...\r
-\r
-       for(uint32 i=src; i<dst; i++)\r
-       {\r
-               WriteLog("%02X ", mainCPU.RdMem(i));\r
-               cnt++;                                                                                  // Bump counter...\r
-       }\r
-\r
-       for(int i=cnt; i<5; i++)                                                        // Pad the leftover spaces...\r
-               WriteLog("   ");\r
-}\r
-\r
-//\r
-// Decode a 65C02 instruction\r
-//\r
-int Decode65C02(uint16 pc)\r
-{\r
-/*\r
- 0) illegal\r
- 1) imm = #$00\r
- 2) zp = $00\r
- 3) zpx = $00,X\r
- 4) zpy = $00,Y\r
- 5) izp = ($00)\r
- 6) izx = ($00,X)\r
- 7) izy = ($00),Y\r
- 8) abs = $0000\r
- 9) abx = $0000,X\r
-10) aby = $0000,Y\r
-11) ind = ($0000)\r
-12) iax = ($0000,X)\r
-13) rel = $0000 (PC-relative)\r
-14) inherent\r
-*/\r
-       char outbuf[80];\r
-\r
-       uint16 addr = pc;\r
-       uint8 opcode = mainCPU.RdMem(addr++);                           // Get the opcode\r
-\r
-       switch (op_mat[opcode])                                                         // Decode the addressing mode...\r
-       {\r
-       case 0:                                                                                         // Illegal\r
-               sprintf(outbuf, "???");\r
-               break;\r
-       case 1:                                                                                         // Immediate\r
-               sprintf(outbuf, "%s #$%02X", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 2:                                                                                         // Zero page\r
-               sprintf(outbuf, "%s $%02X", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 3:                                                                                         // Zero page, X\r
-               sprintf(outbuf, "%s $%02X,X", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 4:                                                                                         // Zero page, Y\r
-               sprintf(outbuf, "%s $%02X,Y", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 5:                                                                                         // Zero page indirect\r
-               sprintf(outbuf, "%s ($%02X)", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 6:                                                                                         // Zero page, X indirect\r
-               sprintf(outbuf, "%s ($%02X,X)", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 7:                                                                                         // Zero page, Y indirect\r
-               sprintf(outbuf, "%s ($%02X),Y", mnemonics[opcode], mainCPU.RdMem(addr++));\r
-               break;\r
-       case 8:                                                                                         // Absolute\r
-               sprintf(outbuf, "%s $%04X", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));\r
-               break;\r
-       case 9:                                                                                         // Absolute, X\r
-               sprintf(outbuf, "%s $%04X,X", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));\r
-               break;\r
-       case 10:                                                                                        // Absolute, Y\r
-               sprintf(outbuf, "%s $%04X,Y", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));\r
-               break;\r
-       case 11:                                                                                        // Indirect\r
-               sprintf(outbuf, "%s ($%04X)", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));\r
-               break;\r
-       case 12:                                                                                        // Indirect, X\r
-               sprintf(outbuf, "%s ($%04X,X)", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));\r
-               break;\r
-       case 13:                                                                                        // Relative\r
-//             sprintf(outbuf, "%s $%04X", mnemonics[opcode], ++addr + (int16)(int8)mainCPU.RdMem(addr));\r
-               sprintf(outbuf, "%s $%04X", mnemonics[opcode], addr + (int16)((int8)mainCPU.RdMem(addr)) + 1);\r
-               addr++;\r
-               break;\r
-       case 14:                                                                                        // Inherent\r
-               sprintf(outbuf, "%s ", mnemonics[opcode]);\r
-               break;\r
-       }\r
-\r
-       DisplayBytes(pc, addr);                                                         // Show bytes\r
-       WriteLog("%-16s", outbuf);                                                      // Display opcode & addressing, etc.\r
-\r
-       return addr - pc;\r
-}\r
+//
+// 65C02 disassembler
+//
+// by James L. Hammons
+// (c) 2005 Underground Software
+//
+
+#include <stdio.h>
+#include <string>
+#include "dis65c02.h"
+//#include "types.h"
+#include "v65c02.h"
+#include "log.h"
+
+using namespace std;
+
+// External shit
+
+extern V65C02REGS mainCPU;//Hm. Shouldn't we pass this shit in?
+
+// Private globals variables
+
+static uint8 op_mat[256] = {
+       14, 6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  2,  3,  3,  2,  14, 10, 14, 0,  8,  9,  9,  13,
+       8,  6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  3,  3,  3,  2,  14, 10, 14, 0,  9,  9,  9,  13,
+       14, 6,  0,  0,  0,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  0,  3,  3,  2,  14, 10, 14, 0,  0,  9,  9,  13,
+       14, 6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  11, 8,  8,  13,
+       13, 7,  5,  0,  3,  3,  3,  2,  14, 10, 14, 0,  12, 9,  9,  13,
+       13, 6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  3,  3,  4,  2,  14, 10, 14, 0,  8,  9,  9,  13,
+       1,  6,  1,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  3,  3,  4,  2,  14, 10, 14, 0,  9,  9,  10, 13,
+       1,  6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  0,  3,  3,  2,  14, 10, 14, 0,  0,  9,  9,  13,
+       1,  6,  0,  0,  2,  2,  2,  2,  14, 1,  14, 0,  8,  8,  8,  13,
+       13, 7,  5,  0,  0,  3,  3,  2,  14, 10, 14, 0,  0,  9,  9,  13  };
+
+static uint8 mnemonics[256][6] = {
+       "BRK  ","ORA  ","???  ","???  ","TSB  ","ORA  ","ASL  ","RMB0 ",
+       "PHP  ","ORA  ","ASL  ","???  ","TSB  ","ORA  ","ASL  ","BBR0 ",
+       "BPL  ","ORA  ","ORA  ","???  ","TRB  ","ORA  ","ASL  ","RMB1 ",
+       "CLC  ","ORA  ","INC  ","???  ","TRB  ","ORA  ","ASL  ","BBR1 ",
+       "JSR  ","AND  ","???  ","???  ","BIT  ","AND  ","ROL  ","RMB2 ",
+       "PLP  ","AND  ","ROL  ","???  ","BIT  ","AND  ","ROL  ","BBR2 ",
+       "BMI  ","AND  ","AND  ","???  ","BIT  ","AND  ","ROL  ","RMB3 ",
+       "SEC  ","AND  ","DEC  ","???  ","BIT  ","AND  ","ROL  ","BBR3 ",
+       "RTI  ","EOR  ","???  ","???  ","???  ","EOR  ","LSR  ","RMB4 ",
+       "PHA  ","EOR  ","LSR  ","???  ","JMP  ","EOR  ","LSR  ","BBR4 ",
+       "BVC  ","EOR  ","EOR  ","???  ","???  ","EOR  ","LSR  ","RMB5 ",
+       "CLI  ","EOR  ","PHY  ","???  ","???  ","EOR  ","LSR  ","BBR5 ",
+       "RTS  ","ADC  ","???  ","???  ","STZ  ","ADC  ","ROR  ","RMB6 ",
+       "PLA  ","ADC  ","ROR  ","???  ","JMP  ","ADC  ","ROR  ","BBR6 ",
+       "BVS  ","ADC  ","ADC  ","???  ","STZ  ","ADC  ","ROR  ","RMB7 ",
+       "SEI  ","ADC  ","PLY  ","???  ","JMP  ","ADC  ","ROR  ","BBR7 ",
+       "BRA  ","STA  ","???  ","???  ","STY  ","STA  ","STX  ","SMB0 ",
+       "DEY  ","BIT  ","TXA  ","???  ","STY  ","STA  ","STX  ","BBS0 ",
+       "BCC  ","STA  ","STA  ","???  ","STY  ","STA  ","STX  ","SMB1 ",
+       "TYA  ","STA  ","TXS  ","???  ","STZ  ","STA  ","STZ  ","BBS1 ",
+       "LDY  ","LDA  ","LDX  ","???  ","LDY  ","LDA  ","LDX  ","SMB2 ",
+       "TAY  ","LDA  ","TAX  ","???  ","LDY  ","LDA  ","LDX  ","BBS2 ",
+       "BCS  ","LDA  ","LDA  ","???  ","LDY  ","LDA  ","LDX  ","SMB3 ",
+       "CLV  ","LDA  ","TSX  ","???  ","LDY  ","LDA  ","LDX  ","BBS3 ",
+       "CPY  ","CMP  ","???  ","???  ","CPY  ","CMP  ","DEC  ","SMB4 ",
+       "INY  ","CMP  ","DEX  ","???  ","CPY  ","CMP  ","DEC  ","BBS4 ",
+       "BNE  ","CMP  ","CMP  ","???  ","???  ","CMP  ","DEC  ","SMB5 ",
+       "CLD  ","CMP  ","PHX  ","???  ","???  ","CMP  ","DEC  ","BBS5 ",
+       "CPX  ","SBC  ","???  ","???  ","CPX  ","SBC  ","INC  ","SMB6 ",
+       "INX  ","SBC  ","NOP  ","???  ","CPX  ","SBC  ","INC  ","BBS6 ",
+       "BEQ  ","SBC  ","SBC  ","???  ","???  ","SBC  ","INC  ","SMB7 ",
+       "SED  ","SBC  ","PLX  ","???  ","???  ","SBC  ","INC  ","BBS7 " };
+
+//
+// Display bytes in mem in hex
+//
+static void DisplayBytes(uint16 src, uint32 dst)
+{
+       WriteLog("%04X: ", src);
+       uint8 cnt = 0;                                                                          // Init counter...
+
+       if (src > dst)
+               dst += 0x10000;                                                                 // That should fix the FFFF bug...
+
+       for(uint32 i=src; i<dst; i++)
+       {
+               WriteLog("%02X ", mainCPU.RdMem(i));
+               cnt++;                                                                                  // Bump counter...
+       }
+
+       for(int i=cnt; i<5; i++)                                                        // Pad the leftover spaces...
+               WriteLog("   ");
+}
+
+//
+// Decode a 65C02 instruction
+//
+int Decode65C02(uint16 pc)
+{
+/*
+ 0) illegal
+ 1) imm = #$00
+ 2) zp = $00
+ 3) zpx = $00,X
+ 4) zpy = $00,Y
+ 5) izp = ($00)
+ 6) izx = ($00,X)
+ 7) izy = ($00),Y
+ 8) abs = $0000
+ 9) abx = $0000,X
+10) aby = $0000,Y
+11) ind = ($0000)
+12) iax = ($0000,X)
+13) rel = $0000 (PC-relative)
+14) inherent
+*/
+       char outbuf[80];
+
+       uint16 addr = pc;
+       uint8 opcode = mainCPU.RdMem(addr++);                           // Get the opcode
+
+       switch (op_mat[opcode])                                                         // Decode the addressing mode...
+       {
+       case 0:                                                                                         // Illegal
+               sprintf(outbuf, "???");
+               break;
+       case 1:                                                                                         // Immediate
+               sprintf(outbuf, "%s #$%02X", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 2:                                                                                         // Zero page
+               sprintf(outbuf, "%s $%02X", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 3:                                                                                         // Zero page, X
+               sprintf(outbuf, "%s $%02X,X", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 4:                                                                                         // Zero page, Y
+               sprintf(outbuf, "%s $%02X,Y", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 5:                                                                                         // Zero page indirect
+               sprintf(outbuf, "%s ($%02X)", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 6:                                                                                         // Zero page, X indirect
+               sprintf(outbuf, "%s ($%02X,X)", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 7:                                                                                         // Zero page, Y indirect
+               sprintf(outbuf, "%s ($%02X),Y", mnemonics[opcode], mainCPU.RdMem(addr++));
+               break;
+       case 8:                                                                                         // Absolute
+               sprintf(outbuf, "%s $%04X", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));
+               break;
+       case 9:                                                                                         // Absolute, X
+               sprintf(outbuf, "%s $%04X,X", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));
+               break;
+       case 10:                                                                                        // Absolute, Y
+               sprintf(outbuf, "%s $%04X,Y", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));
+               break;
+       case 11:                                                                                        // Indirect
+               sprintf(outbuf, "%s ($%04X)", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));
+               break;
+       case 12:                                                                                        // Indirect, X
+               sprintf(outbuf, "%s ($%04X,X)", mnemonics[opcode], mainCPU.RdMem(addr++) | (mainCPU.RdMem(addr++) << 8));
+               break;
+       case 13:                                                                                        // Relative
+//             sprintf(outbuf, "%s $%04X", mnemonics[opcode], ++addr + (int16)(int8)mainCPU.RdMem(addr));
+               sprintf(outbuf, "%s $%04X", mnemonics[opcode], addr + (int16)((int8)mainCPU.RdMem(addr)) + 1);
+               addr++;
+               break;
+       case 14:                                                                                        // Inherent
+               sprintf(outbuf, "%s ", mnemonics[opcode]);
+               break;
+       }
+
+       DisplayBytes(pc, addr);                                                         // Show bytes
+       WriteLog("%-16s", outbuf);                                                      // Display opcode & addressing, etc.
+
+       return addr - pc;
+}
index 16bb8051b9bf4ade4900d8601e9ad262ad990add..484910786bc876b9be993644ca031987c7fb876b 100755 (executable)
@@ -1,15 +1,15 @@
-//\r
-// DIS65C02.H\r
-//\r
-// by James L. Hammons\r
-// (C) 2004 Underground Software\r
-//\r
-\r
-#ifndef __DIS65C02_H__\r
-#define __DIS65C02_H__\r
-\r
-#include "types.h"\r
-\r
-int Decode65C02(uint16 pc);\r
-\r
-#endif // __DIS65C02_H__\r
+//
+// DIS65C02.H
+//
+// by James L. Hammons
+// (C) 2004 Underground Software
+//
+
+#ifndef __DIS65C02_H__
+#define __DIS65C02_H__
+
+#include "types.h"
+
+int Decode65C02(uint16 pc);
+
+#endif // __DIS65C02_H__
index 52be964319a26a80902960cc516fd8fe7c7108d0..b1cd0a79c4d546201d7ce9687685c0926b198ee1 100755 (executable)
-/* GIMP RGBA C-Source image dump (fd-img-128x128.c) */\r
-\r
-uint8 floppyDiskImg[] = {\r
-//     128 / 256, 128 % 256,   // width (HI byte, LO byte)\r
-//     128 / 256, 128 % 256,   // height (HI byte, LO byte)\r
-       "\000\200\000\200"              // Same thing as above, just in octal... :-P\r
-  "\213\234\243\40`lq\321[ej\377\\fj\377\\fk\377[ej\377]fk\377[ej\377\\gl\377"\r
-  "[fk\377Zej\377Zej\377\\fk\377Zek\377^hj\377\\ej\377^jp\377^io\377^jp\377"\r
-  "`kp\377bmr\377ams\377[gl\377[fk\377[fk\377Zek\377Zfj\377[hm\377Zfk\377[g"\r
-  "l\377Zej\377Zej\377[ej\377]hm\377Zek\377\\fl\377^im\377[fk\377Zej\377Zek"\r
-  "\377[fl\377]hl\377\\in\377[fk\377Zfj\377[fk\377[fk\377Zej\377[fm\377[fm\377"\r
-  "[go\377[hp\377[fk\377]ip\377\\ho\377Zfm\377Zfl\377[fm\377[fm\377[fl\377["\r
-  "fl\377[fo\377[fm\377[ho\377[fn\377[fo\377\\hq\377[gp\377[fp\377\\jt\377["\r
-  "hr\377\\jq\377[js\377\\js\377\\jt\377^is\377\\jr\377`mt\377]go\377[hp\377"\r
-  "[io\377]iq\377]ir\377[go\377[hp\377]jq\377\\is\377[iq\377[iq\377\\kt\377"\r
-  "\\kt\377amt\377^ls\377_ls\377`mt\377]lt\377]kr\377]js\377`nx\377\\ku\377"\r
-  "]mv\377]mv\377^oy\377cqy\377bqz\377bpx\377`py\377ar~\377ar~\377`p{\377_p"\r
-  "{\377aq}\377_oz\377_p{\377ar~\377ar~\377`q|\377`p|\377`q|\377ar}\377bq{\377"\r
-  "br}\377ft}\377dt~\377hw~\377es|\377]ip\321&.6\40`lq\317\17\26\36\377\16\25"\r
-  "\37\377\16\27#\377\20\30#\377\16\26\"\377\20\27#\377\11\20\31\377\5\15\27"\r
-  "\377\3\12\25\377\2\12\24\377\4\14\26\377\3\10\20\377\2\7\22\377\5\10\20\377"\r
-  "\3\5\17\377\5\12\23\377\5\12\22\377\5\11\23\377\7\11\23\377\11\16\25\377"\r
-  "\13\21\30\377\3\11\17\377\2\3\13\377\2\3\14\377\3\6\13\377\2\7\16\377\3\12"\r
-  "\20\377\2\10\16\377\5\14\23\377\2\11\22\377\2\10\21\377\4\13\24\377\12\21"\r
-  "\31\377\5\14\26\377\4\10\21\377\4\14\25\377\3\10\17\377\2\7\15\377\2\10\20"\r
-  "\377\2\5\20\377\6\12\23\377\5\11\21\377\2\6\21\377\2\11\23\377\2\12\24\377"\r
-  "\2\10\22\377\2\3\21\377\2\7\22\377\3\7\20\377\5\16\32\377\5\16\30\377\2\11"\r
-  "\24\377\4\14\30\377\3\13\27\377\2\7\23\377\2\3\16\377\2\4\17\377\2\4\17\377"\r
-  "\2\3\15\377\2\6\15\377\2\3\16\377\2\5\16\377\2\7\21\377\2\4\20\377\2\4\17"\r
-  "\377\3\5\17\377\3\4\16\377\2\4\17\377\3\7\21\377\2\5\20\377\3\7\22\377\3"\r
-  "\7\21\377\3\11\24\377\3\10\21\377\5\10\17\377\4\12\22\377\6\11\21\377\4\7"\r
-  "\20\377\2\5\17\377\2\6\17\377\4\6\23\377\4\6\23\377\2\4\17\377\2\5\22\377"\r
-  "\4\7\23\377\3\6\23\377\2\10\24\377\3\13\24\377\3\10\22\377\3\10\25\377\7"\r
-  "\11\22\377\5\10\21\377\6\11\23\377\6\11\27\377\4\11\30\377\4\10\23\377\4"\r
-  "\7\23\377\6\13\25\377\3\7\22\377\4\10\21\377\4\10\20\377\5\11\21\377\11\14"\r
-  "\25\377\10\14\24\377\10\13\23\377\6\12\17\377\10\14\25\377\10\14\25\377\6"\r
-  "\12\22\377\6\12\22\377\6\13\22\377\5\12\20\377\6\12\20\377\7\14\23\377\7"\r
-  "\14\22\377\6\13\20\377\6\12\21\377\6\14\25\377\10\17\33\377\14\26\"\377\21"\r
-  "\34+\377\31#0\377\31&1\377\40+3\377#+5\377\30\",\377$*2\317Zhq\377\36$/\377"\r
-  "'/7\377%,5\377',7\377\36%0\377\21\26\36\377\12\17\24\377\3\11\21\377\2\10"\r
-  "\17\377\2\7\17\377\2\3\12\377\2\3\11\377\2\5\14\377\2\3\13\377\2\2\7\377"\r
-  "\2\2\10\377\2\2\10\377\2\2\5\377\2\2\5\377\2\2\4\377\1\1\1\377\1\1\1\377"\r
-  "\1\1\1\377\1\1\1\377\1\1\1\377\1\1\3\377\1\1\1\377\1\1\1\377\1\1\1\377\1"\r
-  "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\1"\r
-  "\2\377\4\2\3\377\11\12\12\377\12\13\13\377\27\26\21\377\17\17\13\377\10\11"\r
-  "\11\377\15\15\13\377\16\17\16\377\23\23\16\377\22\22\20\377\31\27\25\377"\r
-  "\32\33\27\377#!\32\377!\40\32\377\25\24\20\377\24\22\16\377\24\24\16\377"\r
-  "\25\25\20\377\34\34\27\377\37\37\32\377''!\377*&\36\377&#\33\377%\"\35\377"\r
-  "+(\"\377((#\377-*#\377//,\37740&\37720.\377211\37732/\37773)\37751'\3776"\r
-  "41\37720.\37796/\377888\377666\377<::\377:99\377?>?\377ECA\377D?<\377EA>"\r
-  "\377BBB\377???\377@>=\377FF=\377B?9\377>;9\377AA6\377CA:\377CD=\377HK=\377"\r
-  "JLD\377NKH\377RMG\377KLK\377ILB\377NPA\377b_S\377`[Q\377]YP\377YVR\377ZU"\r
-  "L\377^ZS\377`f^\377ihh\377jii\377ji`\377ji_\377jjc\377jif\377jhj\377jhj\377"\r
-  "jhj\377jii\377jhj\377jii\377jig\377c^T\377420\377\7\12\25\377\34\"*\377&"\r
-  "+4\377'.7\377+2:\377&0:\377#)1\377Zhp\377\40'0\377*08\377'.6\377\"(3\377"\r
-  "\20\23\27\377AC@\377\232\227\223\377\257\252\244\377\257\256\257\377\277"\r
-  "\277\270\377\303\302\262\377\303\301\275\377\300\274\253\377\303\277\301"\r
-  "\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303"\r
-  "\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303"\r
-  "\377\303\300\303\377\303\300\303\377\303\301\270\377\303\300\303\377\303"\r
-  "\300\303\377\303\300\303\377\303\301\303\377\303\301\303\377\303\301\303"\r
-  "\377\303\301\303\377\303\301\303\377\303\301\303\377\303\301\303\377\304"\r
-  "\301\303\377\305\301\304\377\310\305\310\377\310\305\307\377\314\310\270"\r
-  "\377\313\311\307\377\307\305\307\377\312\307\310\377\313\310\312\377\316"\r
-  "\313\312\377\315\312\311\377\321\315\316\377\322\317\317\377\326\322\321"\r
-  "\377\325\322\321\377\317\313\312\377\316\311\312\377\316\313\312\377\317"\r
-  "\315\276\377\323\320\317\377\324\324\315\377\331\326\323\377\332\325\322"\r
-  "\377\330\324\321\377\330\324\311\377\333\330\317\377\331\326\326\377\334"\r
-  "\332\313\377\335\335\324\377\340\335\317\377\336\335\314\377\337\336\331"\r
-  "\377\336\333\312\377\337\332\303\377\340\333\327\377\341\335\336\377\337"\r
-  "\333\334\377\343\340\333\377\342\340\341\377\341\336\341\377\344\341\343"\r
-  "\377\343\340\342\377\346\343\345\377\351\346\346\377\351\344\344\377\351"\r
-  "\345\345\377\350\345\347\377\346\343\345\377\346\343\345\377\352\347\345"\r
-  "\377\350\343\343\377\346\341\342\377\347\344\341\377\350\344\343\377\350"\r
-  "\346\345\377\353\352\345\377\354\352\351\377\356\352\352\377\361\354\351"\r
-  "\377\355\352\355\377\354\352\350\377\356\355\347\377\371\365\361\377\371"\r
-  "\363\360\377\367\361\357\377\365\360\361\377\365\357\355\377\370\362\361"\r
-  "\377\371\371\367\377\376\372\375\377\376\372\376\377\376\373\371\377\376"\r
-  "\373\370\377\376\373\372\377\376\372\374\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\373\375\377\376"\r
-  "\373\374\377\372\365\362\377\337\333\334\377sof\377\16\21\31\377\"*2\377"\r
-  "*/8\377,08\377&,7\377#)1\377Zen\377%&-\377).7\377%*3\377\12\14\21\377\213"\r
-  "\211\212\377\376\373\375\377\376\372\376\377\376\372\376\377\376\374\374"\r
-  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375\377\376"\r
-  "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376"\r
-  "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"\r
-  "\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"\r
-  "\375\373\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\362\377\376\375\373\377\376\374\374\377\376"\r
-  "\374\374\377\376\374\373\377\376\376\366\377\376\374\373\377\376\375\373"\r
-  "\377\376\376\361\377\376\376\371\377\376\375\373\377\376\375\373\377\376"\r
-  "\376\370\377\376\376\371\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"\r
-  "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"\r
-  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"\r
-  "\375\373\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"\r
-  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"\r
-  "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374"\r
-  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"\r
-  "\374\374\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\362\355\355\377FC?\377"\r
-  "\31\37&\377&-5\377$)3\377&.6\377#)1\377Zgq\377$(/\377',4\377\35#+\377PON"\r
-  "\377\362\356\361\377\376\372\376\377\376\374\374\377\376\375\373\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\375\373\377\376\375\373\377\376\376\372\377\376\376\372\377\376"\r
-  "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\375\373\377\376\375\373\377\376\375\373\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"\r
-  "\375\373\377\376\375\373\377\372\371\363\377\375\372\372\377\376\372\376"\r
-  "\377\230\224\224\377\17\23\27\377',5\377$)2\377%,5\377#)1\377Zeo\377\"%."\r
-  "\377'+3\377\14\21\33\377\206\203\205\377\376\372\376\377\376\372\376\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\375\373\377\376\375\373\377\376\373\375\377\372\372"\r
-  "\366\377\375\373\373\377\376\372\376\377\312\304\277\377\11\16\25\377$*5"\r
-  "\377%*1\377\40(4\377#)1\377Zen\377\37#.\377#)0\377\12\14\20\377\213\210\206"\r
-  "\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\373\375\377\376\374\374\377\376\373\375\377\376\372\376"\r
-  "\377\333\327\314\377\6\13\22\377\"*3\377%+1\377\40'0\377#)1\377Zem\377\37"\r
-  "%-\377%+3\377\14\15\20\377\217\214\211\377\376\372\376\377\376\374\374\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\375"\r
-  "\373\377\376\373\375\377\376\372\376\377\340\336\327\377\5\13\21\377#*3\377"\r
-  "$'/\377!)3\377#)1\377[is\377\37%/\377$*2\377\13\14\17\377\213\210\206\377"\r
-  "\376\373\370\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375"\r
-  "\373\377\376\375\373\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\340\336\317\377\5\13\21\377$+3\377%)/\377!'0\377#)1\377[js\377\37'1\377"\r
-  "$*2\377\13\14\16\377\213\210\206\377\376\375\366\377\376\375\373\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\340\336\316\377\3\10\17\377!*2\377#"\r
-  "(0\377\"(2\377#)1\377[is\377\37%.\377$*1\377\12\14\21\377\213\210\206\377"\r
-  "\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\375"\r
-  "\373\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377"\r
-  "\336\332\312\377\6\14\23\377#)3\377&,3\377\")1\377#)1\377[go\377\35#+\377"\r
-  "#(0\377\13\14\20\377\216\212\210\377\376\372\376\377\376\372\376\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\333\324\304\377\10\15\24\377%+4\377"\r
-  "$*2\377\37%.\377#)1\377Zgo\377\33\40(\377'-3\377\13\15\20\377\211\207\205"\r
-  "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376"\r
-  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\336\333\316\377\7\14\23\377%*3\377%+3\377!&/\377#)1\377Zgo\377\36$+"\r
-  "\377&+4\377\11\12\15\377\207\204\205\377\376\372\376\377\376\372\376\377"\r
-  "\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377"\r
-  "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\333\326\315\377\12\17\25\377&+4"\r
-  "\377&+3\377#*2\377#)1\377Zeo\377\37#-\377'.5\377\13\14\16\377\211\207\205"\r
-  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\374\374\377\376\372\376\377\376\373\375\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376"\r
-  "\377\324\316\303\377\11\16\25\377#+5\377',7\377\"'2\377#)1\377Zfp\377\37"\r
-  "%/\377,07\377\17\20\22\377\221\216\214\377\376\372\376\377\376\372\376\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\374\374\377\376\375\373\377\376\374\374\377"\r
-  "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\373"\r
-  "\375\377\376\373\375\377\376\372\376\377\321\311\300\377\12\17\25\377#)4"\r
-  "\377&-4\377\")2\377#)1\377Zgq\377\35$,\377(/6\377\11\13\14\377\207\205\205"\r
-  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\375\373\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\372\376"\r
-  "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376"\r
-  "\373\375\377\376\373\375\377\376\373\375\377\375\374\375\377\376\372\376"\r
-  "\377\327\321\310\377\10\15\23\377#*3\377'-5\377\40&.\377#)1\377Ydj\377\33"\r
-  "\40%\377&.4\377\13\14\15\377\213\211\207\377\376\372\376\377\376\372\376"\r
-  "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376"\r
-  "\373\375\377\374\374\376\377\376\372\376\377\330\321\304\377\5\13\21\377"\r
-  "&-6\377)/6\377\40%,\377#)1\377Zel\377\34\40(\377%-4\377\12\13\20\377\210"\r
-  "\206\210\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\374\374"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374"\r
-  "\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\375\373"\r
-  "\377\376\373\375\377\376\373\375\377\376\375\373\377\376\373\375\377\376"\r
-  "\372\376\377\327\317\302\377\7\15\23\377\"*3\377$+3\377\37$)\377#)1\377Y"\r
-  "di\377\33!%\377(-6\377\13\14\16\377\214\211\207\377\376\372\376\377\376\372"\r
-  "\376\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\314\306\270\377\7\15\24"\r
-  "\377!)1\377&-2\377\37#(\377#)1\377Ydi\377\33\37&\377(/7\377\14\15\21\377"\r
-  "\214\211\207\377\376\372\376\377\376\372\376\377\376\375\373\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373"\r
-  "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\314\305\270\377\11\14\22\377!)1\377&-4\377\40&-\377#)1\377"\r
-  "Ydi\377\33\36$\377)-6\377\13\14\22\377\212\205\205\377\376\372\376\377\376"\r
-  "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\327\320\302\377\11\16"\r
-  "\24\377%+4\377&-3\377\36&.\377#)1\377Ydi\377\34\36%\377&,6\377\15\15\16\377"\r
-  "\222\215\207\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374"\r
-  "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\374\374\377\376\374\374\377\376\372\376\377"\r
-  "\376\372\376\377\322\313\302\377\7\15\23\377%*4\377&+4\377\37&.\377#)1\377"\r
-  "Ydi\377\27\36$\377&,3\377\15\15\15\377\224\216\207\377\376\372\376\377\376"\r
-  "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376"\r
-  "\377\376\375\373\377\376\373\375\377\376\373\375\377\376\372\376\377\376"\r
-  "\372\376\377\376\374\374\377\376\373\374\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\333\325\311\377\5\13"\r
-  "\21\377$*2\377%+1\377\")/\377#)1\377Ydi\377\34\40&\377&,5\377\16\16\15\377"\r
-  "\225\217\211\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374"\r
-  "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373"\r
-  "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\330\320\300\377\5\13\21\377$(1\377%+2\377\35\"(\377#)1\377"\r
-  "Ydi\377\34!'\377%+1\377\17\17\17\377\233\225\223\377\376\372\376\377\376"\r
-  "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376"\r
-  "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\315\304\271\377\7\14"\r
-  "\23\377!(2\377%*1\377\40%,\377#)1\377Ydi\377\36\"'\377&-5\377\17\17\17\377"\r
-  "\230\223\214\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\373\375\377\376\373\375\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\374"\r
-  "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\320\311\300\377\7\14\22\377\32\",\377\36#+\377\22\31\40"\r
-  "\377!&-\377Ydi\377\37#(\377&+5\377\16\16\15\377\225\221\212\377\376\372\376"\r
-  "\377\376\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374"\r
-  "\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\272\271\247"\r
-  "\377\5\7\15\377\6\13\25\377\1\2\4\377\4\4\4\377\32\34\"\377Ydi\377\36$'\377"\r
-  "(-6\377\21\21\21\377\235\232\224\377\376\372\376\377\376\372\376\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\374\374\377\376\373\375\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\375\373\377\376\374\374\377\376\372\376\377\376\372\376\377\376"\r
-  "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\310\303\267\377\1\1\2\377\4\4\7<\1\1"\r
-  "\1\27\6\6\6\27\35\40%\27Ydi\377\37\")\377'-5\377\21\22\22\377\237\234\230"\r
-  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\374\374\377\376\372\376\377\376\375\373\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\310\301\267\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\35\40"\r
-  "'\377'.6\377\21\22\21\377\236\233\226\377\376\372\376\377\376\372\376\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377"\r
-  "\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\373"\r
-  "\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\274\266\260\377\1\1\1\377\1\1\1"\r
-  ")\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\37#)\377'/7\377\24\24\22\377\251\242\233"\r
-  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376"\r
-  "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\373\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\274\270\266\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#"\r
-  "+\377%*4\377\27\26\25\377\263\254\244\377\376\372\376\377\376\372\376\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\375\373\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"\r
-  "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376"\r
-  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"\r
-  "\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\272\260\250\377\1\1\1\377\1\1\1"\r
-  ")\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#)\377',4\377\31\31\30\377\272\263\253"\r
-  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376"\r
-  "\373\375\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376"\r
-  "\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\374\374"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376\372\376"\r
-  "\377\263\251\245\377\1\1\1\377\36\36\37<\207\206\205\27\207\206\205\27\207"\r
-  "\206\205\27Zej\377\37$*\377*/7\377\30\27\25\377\257\250\237\377\376\372\376"\r
-  "\377\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374"\r
-  "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\373\375\377\376\374\374\377\376\374\374"\r
-  "\377\376\375\373\377\376\376\372\377\376\374\374\377\376\374\374\377\376"\r
-  "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"\r
-  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\374\374"\r
-  "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\227\224\224"\r
-  "\377\6\10\12\3778;@\377X[^\377X[^\377Y[^\377Yej\377\40$*\377,08\377\21\22"\r
-  "\23\377\235\231\225\377\376\372\376\377\376\372\376\377\376\373\375\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"\r
-  "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376"\r
-  "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373"\r
-  "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376"\r
-  "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\373\375"\r
-  "\377\376\373\375\377\376\373\375\377\376\374\374\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375"\r
-  "\377\376\375\373\377\376\372\376\377\376\372\376\377\376\373\375\377\376"\r
-  "\372\376\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377oi`\377\21\25\32\377&.6\377#)4\377\40&.\377\"&.\377Z"\r
-  "fl\377\37$+\377+19\377\22\30\40\377\202qj\377\375\366\370\377\376\372\376"\r
-  "\377\376\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376"\r
-  "\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376\374\374"\r
-  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"\r
-  "\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\373\375\377\376\374\374\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\375\372\372\377\376\372\375"\r
-  "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376"\r
-  "\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"\r
-  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"\r
-  "\372\376\377\376\372\376\377\342\335\334\377/.-\377\35$,\377*.6\377'.6\377"\r
-  "%)4\377\"&.\377Zek\377\40%,\377*08\377$)3\377\27\24\27\377\300\274\275\377"\r
-  "\373\367\371\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373"\r
-  "\375\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377"\r
-  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"\r
-  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"\r
-  "\376\373\374\377\376\373\372\377\376\372\374\377\375\370\366\377\374\367"\r
-  "\364\377\374\367\364\377\373\366\364\377\376\372\373\377\373\367\367\377"\r
-  "\375\371\372\377\376\372\376\377\376\373\366\377\374\370\362\377\374\367"\r
-  "\370\377\375\371\367\377\372\365\363\377\374\370\366\377\371\363\363\377"\r
-  "\370\363\362\377\370\363\362\377\371\364\364\377\370\363\362\377\370\363"\r
-  "\362\377\366\360\357\377\366\360\357\377\366\361\360\377\370\363\364\377"\r
-  "\370\363\364\377\371\364\364\377\365\360\357\377\366\361\362\377\367\362"\r
-  "\363\377\371\364\364\377\371\364\364\377\373\366\364\377\372\366\370\377"\r
-  "\373\365\364\377\375\370\370\377\376\372\375\377\375\370\371\377\375\372"\r
-  "\372\377\364\356\356\377\317\313\314\377PMC\377\26\32!\377&,5\377&-4\377"\r
-  "%+3\377%+3\377\"&.\377[hp\377!'/\377*.7\377*/7\377\36#(\377\33\32\32\377"\r
-  "mhd\377\261\255\252\377\271\264\260\377\272\266\261\377\272\266\264\377\271"\r
-  "\263\255\377\271\265\263\377\272\266\267\377\262\260\260\377\263\261\263"\r
-  "\377\264\262\265\377\262\257\260\377\255\246\234\377\242\233\227\377\221"\r
-  "\214\206\377\217\216\212\377\217\215\211\377\216\213\206\377\211\206{\377"\r
-  "\211\203\200\377\203\177|\377\203\177y\377\201\177~\377yvr\377zws\377}yq"\r
-  "\377}wq\377qmo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377"\r
-  "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377onm\377omn\377om"\r
-  "o\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377"\r
-  "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377om"\r
-  "o\377omo\377omo\377omo\377omo\377ooj\377ooh\377onk\377li^\377kg[\377jf[\377"\r
-  "hd[\377nnh\377ifa\377mjf\377omo\377onm\377lh_\377jgb\377lka\377gcX\377ki"\r
-  "^\377d_X\377c_V\377c_V\377eaZ\377c_V\377c_W\377_ZP\377_YP\377_ZS\377c_Z\377"\r
-  "b^Z\377e`Z\377\\XP\377^[W\377`]Y\377e`Z\377eaZ\377ie[\377fdb\377hc[\377l"\r
-  "jb\377onm\377ljd\377nmg\377ZVO\377\26\26\27\377\20\26\36\377!'0\377'-4\377"\r
-  "'-7\377'-5\377&+3\377\"&.\377Zej\377\37#)\377*.6\377*.8\377).8\377\"'/\377"\r
-  "\23\26\33\377\24\26\27\377\25\27\27\377\26\27\31\377\25\27\30\377\26\26\27"\r
-  "\377\24\26\27\377\25\27\31\377\24\25\27\377\24\25\30\377\24\26\30\377\24"\r
-  "\26\30\377\23\24\25\377\21\23\24\377\17\22\21\377\17\21\23\377\20\22\24\377"\r
-  "\17\21\22\377\17\21\21\377\20\21\23\377\16\20\21\377\16\20\20\377\16\20\21"\r
-  "\377\16\17\23\377\16\20\26\377\17\20\25\377\16\20\26\377\14\17\31\377\14"\r
-  "\17\27\377\14\17\25\377\14\16\23\377\14\16\30\377\15\20\32\377\14\17\33\377"\r
-  "\14\17\37\377\14\17\33\377\14\24\40\377\15\22\34\377\15\17\33\377\14\17\32"\r
-  "\377\15\20\32\377\14\16\30\377\14\17\27\377\14\17\31\377\15\17\34\377\13"\r
-  "\16\36\377\14\22\35\377\14\22\33\377\14\17\31\377\15\24\33\377\15\21\33\377"\r
-  "\14\17\30\377\14\16\25\377\15\24\36\377\15\21\31\377\14\23\34\377\14\22\33"\r
-  "\377\13\22\36\377\14\23\33\377\14\24\34\377\14\21\31\377\14\22\33\377\13"\r
-  "\23\35\377\16\27\40\377\14\24\35\377\13\23\36\377\17\26\36\377\15\25\37\377"\r
-  "\14\25\40\377\13\24\40\377\20\30!\377\21\31\"\377\20\31\"\377\21\34%\377"\r
-  "\23\33'\377\26\36*\377\24\35(\377\23\35&\377\27\37+\377\25\35)\377\24\35"\r
-  ")\377\21\33%\377\22\34%\377\23\34(\377\26\36*\377\24\36(\377\22\34&\377\23"\r
-  "\34'\377\22\34'\377\27\37+\377\30\40+\377\25\37*\377\27\40+\377\30\40+\377"\r
-  "\26\36*\377\32!*\377\30!+\377\27\37*\377\27\35'\377\25\36)\377\26\35&\377"\r
-  "\25\35*\377\26\35&\377\25\36)\377\26\35&\377\26\35&\377\23\33%\377\23\33"\r
-  "%\377\24\33#\377\20\31#\377\22\27\40\377\20\30!\377\21\32%\377\30\40*\377"\r
-  "\35$,\377\")1\377%*1\377%*1\377%+2\377%+4\377$*3\377\"&.\377Zdj\377\37#+"\r
-  "\377'.6\377',6\377(/6\377'.6\377(/7\377'-5\377&-3\377)-8\377&,5\377&,4\377"\r
-  "&,3\377&-5\377%,4\377'+4\377&-4\377'-5\377',5\377',6\377(.4\377&+5\377)."\r
-  "7\377&+5\377(.6\377'/7\377&.6\377)/6\377)/7\377*.7\377(/7\377).7\377).7\377"\r
-  ").6\377)/7\377(16\377)08\377)/8\377(/7\377*08\377).8\377).8\377(/7\377)-"\r
-  "7\377*.6\377(.7\377)/7\377(-5\377'-6\377'-5\377).7\377&-5\377'-4\377(-4\377"\r
-  "&.3\377&-5\377'+6\377',6\377(-5\377&-4\377'-5\377&-5\377%*1\377$)1\377&-"\r
-  "2\377&,5\377&,3\377%+3\377%*3\377%,4\377$)2\377%*4\377&,2\377)/6\377(.6\377"\r
-  "&+4\377&+6\377(-6\377%-5\377&/6\377)-6\377*08\377)/7\377)/6\377(.6\377*."\r
-  "7\377*/8\377&-3\377).6\377'.7\377).7\377)/7\377'.6\377'.7\377).7\377)-9\377"\r
-  ")/7\377).7\377(.7\377(,6\377).6\377(.6\377).6\377&-4\377'-5\377&-5\377%+"\r
-  "3\377&*6\377%,5\377&,5\377'-6\377'-6\377%,4\377%+2\377%*3\377$*2\377$+2\377"\r
-  "$+1\377%,2\377$)1\377$*1\377$*1\377$*1\377%+2\377#*2\377&+4\377\"'1\377\""\r
-  "&.\377Zel\377\36\")\377&-4\377(-5\377(.5\377(-5\377&-5\377(.6\377'.6\377"\r
-  "&+5\377(.5\377'.5\377'.4\377)/6\377'.6\377(.6\377'-6\377'.6\377',6\377)-"\r
-  "8\377&.6\377(-5\377&-6\377&-6\377'.6\377'.7\377'-7\377'.6\377).8\377).7\377"\r
-  ").8\377*/7\377*.8\377).8\377).8\377).8\377)/6\377*.7\377*07\377*.6\377)."\r
-  "6\377'.7\377).8\377).8\377*06\377)/7\377(.6\377'-6\377).6\377(.6\377&/5\377"\r
-  "(-5\377'.6\377'.6\377'-4\377%,4\377%*3\377%+1\377%*3\377%,2\377%+1\377$*"\r
-  "1\377$*2\377%,2\377%-2\377#(2\377$+2\377%,3\377$*1\377&,2\377%*3\377$*2\377"\r
-  "%-3\377&.4\377&-5\377&+4\377(.5\377',3\377).6\377).6\377'/6\377&,6\377&."\r
-  "6\377'-6\377)/7\377*/9\377).6\377).6\377&-6\377&.6\377&+6\377(,6\377',6\377"\r
-  "&-6\377).6\377*.6\377'/6\377&,6\377)/6\377'-6\377'.6\377&-5\377(,6\377(-"\r
-  "6\377',6\377).5\377',6\377%+4\377%+2\377%+3\377$+2\377%,3\377$)1\377$)1\377"\r
-  "$*1\377%*2\377%*1\377$)1\377$)1\377#*1\377\"*2\377%-2\377$+2\377#)3\377%"\r
-  "*2\377&*4\377%)3\377\"&.\377Ydi\377\34!'\377&-5\377&-4\377(+5\377&,4\377"\r
-  "'-5\377'.5\377&,2\377%*3\377$+3\377&.4\377(-5\377&.6\377&,5\377(.5\377&,"\r
-  "5\377&-5\377',6\377'-6\377).6\377&-5\377(-6\377'-6\377',6\377'.4\377)-6\377"\r
-  ").6\377).6\377*.7\377).6\377(/6\377(.7\377'.6\377(.7\377'.7\377)/6\377*."\r
-  "6\377*.6\377(.6\377'.6\377(.8\377)07\377'-7\377)-6\377'+7\377'-4\377&+5\377"\r
-  "(.6\377',4\377&.4\377&-4\377(-6\377',6\377(-6\377$+3\377&+4\377&,3\377$*"\r
-  "1\377%+1\377%-2\377%*3\377&,2\377&*2\377%+3\377%,4\377$*1\377%*2\377$*1\377"\r
-  "%*1\377$)0\377%*3\377&-3\377%+4\377&*5\377&,4\377&-5\377&,5\377'-4\377(-"\r
-  "6\377)/6\377&.6\377&.5\377'-6\377)/7\377'/7\377'.6\377'.6\377(-6\377).6\377"\r
-  "'-6\377&,4\377)-7\377(-6\377'.5\377).7\377'.6\377&-6\377&-5\377&-5\377&-"\r
-  "4\377&-5\377%,4\377&-6\377'.4\377',5\377$*4\377%,4\377%+2\377'+6\377%+2\377"\r
-  "$*1\377$*3\377&,4\377&+3\377%+2\377%*1\377$)3\377\")2\377\"(2\377#*1\377"\r
-  "#+2\377#)2\377$*2\377%,2\377%*3\377!'1\377\"&.\377Ydi\377\35!%\377%+2\377"\r
-  "$+2\377',6\377&+4\377$*3\377&-3\377&,3\377&+5\377%*2\377&*4\377',4\377&,"\r
-  "5\377&,5\377',5\377&-5\377&-6\377&+4\377&-4\377&-5\377'-6\377&,4\377,06\377"\r
-  "&,3\377&-3\377&-5\377'.6\377',6\377)-6\377',3\377(.5\377(.8\377).6\377)."\r
-  "6\377*.6\377(.7\377&.6\377&.6\377'-7\377'/7\377'.6\377(.6\377).6\377'.6\377"\r
-  "'.6\377'.4\377'-5\377)/5\377',5\377&-5\377&.5\377&-5\377%*2\377\"'.\377$"\r
-  "+3\377$,4\377&-4\377&,3\377%,3\377$)0\377\36!+\377\30\34&\377\30\32\"\377"\r
-  "\33\37$\377\31\36%\377\31\37&\377\34%0\377\")1\377#*3\377$)0\377$*1\377%"\r
-  "+1\377\"&/\377$)0\377&+3\377&+2\377&,3\377&-4\377&+6\377(07\377(.5\377'-"\r
-  "6\377(06\377)/7\377&.6\377&-6\377(.6\377(.6\377'.6\377&.5\377&-6\377&,6\377"\r
-  "(-6\377%,4\377(.6\377'-5\377&+5\377&-5\377&,6\377',4\377&-6\377&-5\377%,"\r
-  "4\377%,3\377&+3\377%*2\377$*1\377#*2\377$+2\377#(2\377#*2\377%*4\377%*2\377"\r
-  "$)0\377%*2\377$)3\377#)2\377$)1\377%+1\377$*1\377#)2\377$)1\377$*1\377$*"\r
-  "2\377$)3\377\"(1\377\"&.\377Ydi\377\35!%\377&-4\377%+3\377&,4\377$,3\377"\r
-  "&-6\377%+2\377$*2\377',3\377&-4\377%+3\377%+2\377&-6\377&+5\377'-5\377%,"\r
-  "4\377%+3\377&-4\377%-4\377$+2\377&+2\377$+2\377&+5\377&-6\377(.6\377&.6\377"\r
-  "&.6\377(.6\377'-6\377',6\377'.6\377&.6\377'.4\377',6\377'.6\377&-6\377&."\r
-  "6\377&.6\377).6\377'/6\377&.6\377'.6\377(.6\377'-4\377&-6\377&.5\377&.6\377"\r
-  "&.5\377&.4\377&+5\377'.5\377&-5\377$+3\377$,3\377%+2\377#)1\377!&.\377\26"\r
-  "\31#\377\21\23\24\377\24\25\30\377\40\"#\377,..\377.4,\377/4+\377.4-\377"\r
-  "'(\"\377\26\32\35\377\21\23\24\377\20\25\34\377\34\"*\377%)0\377%+1\377%"\r
-  "+1\377%*1\377%*1\377(/6\377'.6\377(.6\377&-6\377&.6\377'.6\377'.6\377&.6"\r
-  "\377(/6\377(.6\377&.6\377'.6\377&.6\377'.6\377'.5\377&.6\377&-6\377&+6\377"\r
-  "&.6\377&,6\377&.4\377&-5\377&.5\377&-4\377'-6\377$+3\377&,3\377%+2\377%+"\r
-  "4\377%+1\377&-5\377%*3\377%+3\377$,2\377$*1\377$*1\377\"*2\377#*2\377%+1"\r
-  "\377%+1\377%*1\377#*3\377#*3\377#(2\377#)2\377\"*2\377!)0\377$)1\377$*1\377"\r
-  "$*1\377!%/\377\"&.\377Ydi\377\36!'\377&-3\377',4\377&,4\377&,4\377&-4\377"\r
-  "%*3\377$*1\377&+5\377%*2\377%+2\377%*1\377&,4\377%*2\377&*4\377$+2\377%+"\r
-  "3\377%,4\377$*2\377%+2\377$,2\377&,3\377%+2\377&-4\377&,4\377&-5\377'-6\377"\r
-  "&.6\377(-6\377(,5\377',6\377'-6\377'.6\377&,6\377&-4\377'.5\377(.6\377(-"\r
-  "6\377'.6\377(.6\377&.6\377(.6\377(-5\377',4\377&,6\377).6\377)/6\377&,5\377"\r
-  "&-6\377&-4\377#(0\377%*3\377&+4\377&+4\377\31\35#\377\21\20\26\377\37#\37"\r
-  "\377::3\377PTG\377[XP\377\\XM\377]XJ\377ZWK\377^XJ\377YWK\377]XJ\377ZXN\377"\r
-  "VTH\377CC;\377**(\377\25\26\31\377\24\27\33\377$*2\377$,3\377%,2\377#(/\377"\r
-  "#)0\377(,4\377',4\377'.5\377).6\377',6\377'-4\377'.6\377&.6\377'-6\377&-"\r
-  "6\377&-6\377'-6\377(-6\377(.6\377&-4\377'.6\377'-6\377$+3\377%,2\377%+3\377"\r
-  "&-6\377&+6\377'-5\377(.5\377'-6\377&+4\377&-4\377%*2\377%*3\377#+2\377%*"\r
-  "3\377%*3\377%*1\377$*1\377#*2\377$*3\377$*4\377$+2\377$)1\377$+2\377#*3\377"\r
-  "#)2\377#(2\377#)2\377$(0\377$)1\377$*2\377%-2\377\"(1\377\"&.\377Zek\377"\r
-  "\35\"(\377&-3\377&-4\377&+5\377%+3\377%,3\377%+2\377%-4\377&,4\377%*2\377"\r
-  "&,3\377&*5\377&+4\377$*3\377&*5\377$*2\377$*1\377%+2\377#*2\377$*2\377&-"\r
-  "4\377&.4\377%*3\377&,5\377&-5\377&+6\377%,4\377&,5\377&-4\377&-3\377&-6\377"\r
-  ").6\377',6\377'.6\377'.6\377(.6\377&.6\377&-6\377&,5\377&,5\377&,6\377&."\r
-  "6\377(.6\377'-4\377&+6\377&,4\377&.6\377&-4\377(.6\377*/7\377'+4\377&,3\377"\r
-  "\35$,\377\20\25\31\377()'\377KJB\377TUG\377URF\377RQG\377ROE\377QOE\377Q"\r
-  "NE\377RNE\377RNE\377QNE\377QNE\377OOF\377QOF\377RQH\377XTH\377RQI\377:90"\r
-  "\377\23\25\30\377\33\40%\377%*3\377&+2\377&.4\377&,5\377&-5\377).6\377(-"\r
-  "6\377',6\377'.6\377*/6\377&.6\377(-6\377&.6\377&.6\377'.6\377&.6\377&-6\377"\r
-  "&-6\377(-7\377&-6\377'-6\377',3\377&-6\377%*4\377&,5\377&*4\377&,4\377$+"\r
-  "3\377%+2\377%+1\377%*2\377%*2\377#*2\377$*2\377$*2\377$(0\377%*1\377#)3\377"\r
-  "$)3\377#*2\377$)2\377%*1\377%*2\377\")2\377#)3\377$+3\377#)1\377#'/\377\""\r
-  "'1\377#(0\377$+2\377!(0\377\"&.\377Yej\377\36\")\377&+3\377&+5\377%+3\377"\r
-  "%+2\377$*3\377&,4\377%,2\377%*3\377&*4\377%*1\377%*2\377&+3\377%*3\377%*"\r
-  "2\377%+3\377%,2\377%,3\377%*4\377$+4\377%+4\377&-3\377%*4\377&*4\377%-5\377"\r
-  "%,4\377%+5\377%,3\377%*4\377'-4\377$,4\377&-6\377',6\377'-6\377'-4\377'."\r
-  "5\377'.5\377&,4\377%*5\377%-5\377'-6\377(.6\377'-7\377&,6\377&,6\377'-6\377"\r
-  "&,6\377%+3\377&-3\377&-5\377&,4\377\30\34\"\377\34\40\37\377AE9\377WVI\377"\r
-  "SQF\377ROE\377ROE\377POF\377RPF\377SPG\377RSI\377QPG\377QPG\377RQH\377SP"\r
-  "G\377QOE\377ONE\377ONF\377RNE\377OOF\377XVI\377SRD\377++%\377\15\26\35\377"\r
-  "%*4\377(.6\377%,5\377$,4\377'+4\377&-6\377).6\377(-7\377(.6\377&.6\377&."\r
-  "6\377&.6\377&.5\377'.6\377&.5\377&-6\377&,4\377&,4\377&+4\377%+5\377%*4\377"\r
-  "%*5\377%*5\377&*6\377&+6\377&*6\377',4\377%+3\377$+2\377\"*2\377#)3\377#"\r
-  "*2\377$*2\377\"*2\377$*1\377$+2\377%+3\377&,5\377$*3\377$*1\377$*3\377$*"\r
-  "2\377#*2\377\")1\377%+1\377$)0\377%*3\377$*3\377%*2\377&,3\377\35#,\377\""\r
-  "&.\377Zek\377\34\")\377&-2\377%+2\377%,2\377$+2\377%+3\377&-6\377%+3\377"\r
-  "%,2\377%+1\377%*1\377%*1\377%+2\377%,3\377#*2\377#)2\377#*2\377$+2\377%*"\r
-  "2\377%,2\377%+4\377#*2\377%,2\377$*1\377$+2\377%+2\377%+2\377%+2\377$*2\377"\r
-  "&,4\377%*4\377&+4\377(-5\377'-5\377&-5\377&,5\377&.4\377%+3\377&-6\377&+"\r
-  "6\377&,4\377&+6\377&+6\377&+6\377(,6\377&.4\377&+5\377%-3\377&-4\377\")1"\r
-  "\377\27\32\37\377'+%\377WUG\377WWI\377ROE\377ROE\377ROE\377SPF\377YUM\377"\r
-  "TTF\377LLA\377FG@\377DD:\377CC:\377IIA\377LLI\377VTI\377a\\M\377YXO\377R"\r
-  "QI\377QME\377ONF\377RPF\377VTF\377>?4\377\27\31\31\377\37'.\377%+5\377&,"\r
-  "6\377(-6\377&.6\377&-6\377',6\377'.6\377&.6\377&.6\377&,5\377&-4\377%,4\377"\r
-  "&-6\377&-6\377%*3\377&,5\377&,5\377&+5\377%+4\377&,5\377$*2\377&*3\377%*"\r
-  "4\377%*2\377%*3\377&+4\377&+5\377%,2\377$*2\377$*3\377#*2\377$*1\377#)2\377"\r
-  "#+2\377\")1\377\"*2\377\")2\377#(0\377%*2\377$*2\377$*3\377\")1\377$*1\377"\r
-  "$)0\377#)2\377$*1\377%,2\377\"*2\377\"'/\377\"&.\377Zek\377\34\")\377%+1"\r
-  "\377',3\377',3\377&,2\377%*1\377&-5\377$*2\377%+2\377%*1\377#)2\377#*2\377"\r
-  "#*2\377#*2\377#*2\377#'1\377%*2\377$+2\377$*2\377$*1\377&-4\377%+3\377$*"\r
-  "3\377%*3\377%+3\377%*2\377%-5\377&-3\377&,5\377&+4\377%)5\377&+3\377%+2\377"\r
-  "$*1\377&-4\377'-5\377&,3\377%*3\377'.4\377&-4\377'-6\377&+6\377&-6\377&+"\r
-  "5\377',5\377&-6\377&+5\377%+4\377&-4\377\20\24\31\37711+\377WVH\377ROF\377"\r
-  "QOF\377RQF\377PPF\377KK@\377FE;\377BB8\377;>4\377;;2\377::0\377::0\377;:"\r
-  "0\377=<2\377>>6\377BA8\377FE=\377SQL\377]YT\377ZXR\377ONE\377POF\377QOF\377"\r
-  "USG\377EE;\377\25\27\27\377&*3\377'-7\377&,6\377$*4\377'/6\377&.6\377&-6"\r
-  "\377&.6\377&-6\377&,4\377&,5\377%*5\377&*4\377&-5\377&,5\377&+4\377'.4\377"\r
-  "'+4\377$+3\377#*2\377#*3\377&*2\377%*4\377$)1\377\")2\377$*1\377$*3\377$"\r
-  ")3\377$)1\377$*2\377\"*2\377#*2\377#)1\377\")1\377!(0\377\"*1\377#)1\377"\r
-  "#(2\377$+3\377#)2\377#*2\377$*1\377#*2\377$*1\377%*3\377%*3\377\"*2\377\""\r
-  "(2\377\36$-\377\"&.\377Zek\377\34\")\377&+3\377&,2\377%*1\377&+3\377&,4\377"\r
-  "$+2\377&,3\377%*2\377$*1\377%)3\377%*2\377$*3\377%,2\377%,2\377%*3\377$*"\r
-  "1\377%*1\377%*1\377$)0\377#)0\377%,3\377%,4\377$*2\377$*2\377%)3\377$*2\377"\r
-  "%+3\377%+3\377%*2\377%,4\377#+3\377%-4\377%*1\377&-2\377%,3\377&+3\377&,"\r
-  "4\377&,4\377&-5\377&.6\377'-5\377&-4\377&+5\377)-6\377'.6\377'-5\377&.7\377"\r
-  "\30\32\40\37797+\377VTF\377QOF\377RQF\377QPE\377II@\377CC:\377;<2\377;;1"\r
-  "\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8.\377:9.\377:8-\377"\r
-  "::0\377880\377KJ@\377\\ZT\377WXO\377NOF\377OOF\377SSG\377II>\377\30\31\30"\r
-  "\377%*3\377'-6\377'-6\377&-5\377&,5\377&-6\377'.7\377'.7\377%-5\377&-5\377"\r
-  "&+4\377&-4\377&,3\377$+3\377&-6\377$+4\377%*3\377%,4\377$*3\377$+4\377#*"\r
-  "2\377\"*2\377#)3\377#*3\377#*2\377$*2\377#*2\377#(2\377#+1\377$*1\377\"*"\r
-  "2\377$*1\377$(1\377#)1\377$+2\377$)1\377#*1\377#)1\377#*2\377%*2\377\"*2"\r
-  "\377#*2\377$*1\377%*4\377#'1\377\")1\377#)2\377\"&.\377\"&.\377Zeo\377\35"\r
-  "\"+\377$*1\377%*1\377$*1\377$+3\377%,3\377%+2\377%+2\377%*2\377#(2\377#)"\r
-  "2\377%+1\377%+1\377%*2\377%*2\377$(1\377%*1\377$*1\377%*2\377$*3\377$*1\377"\r
-  "$+1\377$*2\377$,2\377&*4\377%+4\377%)3\377%+2\377%*1\377%*2\377$)2\377&+"\r
-  "4\377%+2\377&,4\377$,3\377%-4\377%,3\377%,4\377&,4\377&-5\377&-4\377&,5\377"\r
-  "&-3\377',4\377#(1\377&-5\377&,5\377\31!)\377,+%\377SQG\377QPF\377RPF\377"\r
-  "PPD\377EF;\377==3\377<;0\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8"\r
-  "-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\37798.\37788/\377<=3\377XXR\377"\r
-  "[ZS\377PND\377QOE\377WTJ\377EB3\377\24\31\33\377'-8\377&-6\377&+6\377(-6"\r
-  "\377'-6\377'.5\377&,5\377%+5\377&-5\377',4\377%*5\377&+6\377&,5\377%+5\377"\r
-  "#*3\377#*3\377$*3\377$*4\377$,3\377%+3\377$*1\377$)4\377\"*2\377\"(0\377"\r
-  "#)2\377$*2\377$*2\377\")1\377\"'2\377\")0\377#*2\377$*1\377#)2\377$+3\377"\r
-  "\"(2\377$*1\377%)2\377%*2\377%,2\377$*1\377#*2\377\")2\377#)3\377$*3\377"\r
-  "!(0\377$*1\377$(/\377\"&.\377Zel\377\35!)\377$+1\377%,4\377&-4\377$,2\377"\r
-  "%+2\377$+3\377$,4\377&,3\377%+1\377%*1\377#(0\377%+2\377$+3\377%,5\377%)"\r
-  "2\377$)0\377$+2\377\"*2\377#(0\377#*1\377$*0\377$)0\377$*1\377#*2\377$)4"\r
-  "\377&+4\377#+2\377&-2\377%*1\377#(2\377%*2\377&*4\377%*1\377%*4\377&-3\377"\r
-  "&-4\377&+6\377%*3\377$*2\377$+2\377&+4\377&-5\377%,3\377%+2\377%+3\377\40"\r
-  "%.\377%%\40\377RQD\377OOF\377QPF\377PPD\377CC9\377;;2\377:8-\377:8-\377:"\r
-  "8-\377:8-\274:8-\247:8-\35:8-\3:8-\3:8-\3:8-\3:8-\3:8-K:8-\247:8-\247:8-"\r
-  "\364:8-\377:8-\377:8-\37777.\377KK?\377`]X\377PQG\377POF\377XWH\37700&\377"\r
-  "\33\40(\377*/9\377).7\377'+7\377%,5\377&.6\377&,6\377%,5\377$*3\377&,5\377"\r
-  "&-3\377$)0\377%+3\377%*3\377%*3\377#(3\377$*1\377%,3\377$+3\377#*2\377#'"\r
-  "0\377$*1\377\"*2\377#)2\377\"*2\377\")2\377\"(2\377#)2\377\")1\377\"(1\377"\r
-  "#(1\377$*1\377#*2\377\"'2\377$)3\377$+3\377$*4\377%*2\377#*2\377$*2\377$"\r
-  "*2\377$)4\377'+4\377%+1\377&*3\377%*2\377!&-\377\"&.\377Zem\377\35\37*\377"\r
-  "%+1\377%*2\377%*3\377%+2\377&-4\377%+3\377%(1\377$*2\377&,2\377&+3\377$,"\r
-  "2\377#+3\377#)0\377%*1\377$*2\377\")1\377#)1\377#*2\377#)2\377%+2\377&-4"\r
-  "\377$)1\377#*1\377#*2\377#)3\377%+5\377$+2\377%+1\377%,4\377$*4\377%,2\377"\r
-  "$*1\377#*2\377#)2\377$*1\377%*2\377%*3\377&+3\377#)2\377$*3\377&,4\377%*"\r
-  "3\377%+3\377$+2\377$*3\377\27\31\40\377LM?\377PPF\377PPF\377QQG\377DD:\377"\r
-  ";<2\377:8.\377:8-\377:8-\366:8-\260:8-\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-D:8-\260:8-\366:8-\377"\r
-  "98.\37799.\377QOE\377^]X\377PPF\377PPF\377OPB\377\34\35\31\377\37%,\377'"\r
-  ",6\377%*4\377$*3\377&,6\377&,6\377$*3\377%*2\377$*2\377%+4\377%*3\377#*2"\r
-  "\377$*2\377$*3\377$)1\377$*1\377#*2\377#)2\377#(2\377#(1\377\")2\377\"'2"\r
-  "\377\"&/\377\40'2\377#)2\377\"(0\377!(0\377$)1\377#)2\377$(2\377$*2\377\""\r
-  "(2\377\")2\377\"(2\377#)1\377$*2\377$*1\377#*2\377%*3\377&+5\377\"*2\377"\r
-  "$)2\377%+1\377%*2\377%*2\377#)0\377\"&.\377Zen\377\34\40+\377%+1\377&,3\377"\r
-  "%,3\377&,2\377',3\377%*1\377$*1\377$)1\377%,2\377'+3\377$*1\377\")1\377#"\r
-  "*2\377%-2\377#)2\377$*1\377#*2\377#*2\377$+1\377#*1\377#)1\377$,2\377$*1"\r
-  "\377%*3\377$)2\377#*2\377$,2\377%+3\377&,4\377%+2\377$+1\377$)2\377$+3\377"\r
-  "#*2\377$*2\377$,2\377#*2\377&*4\377%*3\377#*3\377%,3\377\")1\377%-2\377$"\r
-  "*1\377\36!(\377--'\377SSE\377RPF\377QPF\377GG>\377;;2\377:8-\377:8-\377:"\r
-  "8-\336:8-1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\336:8-\377:8-\377"\r
-  "76*\377TTM\377ZXO\377QNE\377QPF\377??2\377\35\37!\377&,8\377&-3\377&,4\377"\r
-  "&-6\377&-5\377&.3\377#+2\377%*4\377#*2\377$*2\377%*3\377%+4\377#)2\377#)"\r
-  "2\377#)2\377#*2\377#)2\377\")1\377!(0\377#)2\377#+3\377\"(1\377\")1\377\""\r
-  ")1\377#(0\377!'/\377\"(1\377#(1\377#(1\377%)1\377$*1\377\"(2\377$)4\377#"\r
-  "*2\377$*1\377\"*2\377\"*2\377$*4\377%,3\377\")1\377%*4\377%+3\377$*3\377"\r
-  "$)1\377!%,\377\"&.\377Zen\377\34\40+\377&,2\377&-2\377%+2\377%,2\377%+3\377"\r
-  "%,3\377$*2\377$*1\377$*1\377$)0\377%*1\377#*2\377$)1\377$*1\377$(4\377#)"\r
-  "2\377#*2\377%(0\377%*3\377$)1\377$(3\377$*2\377#*2\377$)0\377\")1\377\"*"\r
-  "2\377\"*2\377$)2\377%*1\377$(1\377$*1\377$*1\377#*2\377$*1\377$*2\377$*2"\r
-  "\377%*3\377%*2\377%,3\377%,2\377%+1\377$*1\377$+2\377$+3\377\40\"!\377HH"\r
-  "?\377RPF\377SOE\377LKA\377<;1\377:8.\377:8-\377:8-\356:8-1\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\356:8-\37798.\377::2\377"\r
-  "TPE\377SQF\377RNE\377UTK\377'&%\377!)2\377&-5\377$*4\377#*2\377$*2\377&+"\r
-  "5\377%*5\377$*2\377$*4\377$+2\377#*2\377$*1\377\"*1\377\"*1\377\"(1\377\""\r
-  "'1\377\"(2\377\"'1\377\")2\377#)1\377#(0\377\")1\377\"(2\377\"*2\377$*1\377"\r
-  "!'/\377#)1\377\")2\377#)1\377\"*2\377$*2\377#)2\377\"'1\377$)1\377$(0\377"\r
-  "\"'0\377\"'2\377#*3\377$*3\377#*3\377&*5\377%,4\377$*4\377#(2\377!'/\377"\r
-  "\"&.\377Zfo\377\36\",\377'-4\377%*2\377%+2\377&,3\377&,2\377%*1\377%+3\377"\r
-  "%,3\377%+2\377%+2\377&,2\377%,4\377%*1\377#*2\377$*3\377$*1\377#(1\377$*"\r
-  "2\377#)2\377$*1\377#)2\377$)1\377#(2\377%)1\377\"*2\377#*2\377$*2\377$*2"\r
-  "\377\")2\377$*1\377#(0\377#)1\377%*3\377$*1\377$*1\377$*1\377$*1\377$*1\377"\r
-  "#*2\377$,3\377%+2\377&-4\377&+5\377\37&.\377..#\377QPE\377POF\377ZXL\377"\r
-  "A@6\377:8-\377:8-\377:8-\343:8-7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-7:8-\343:8-\37755)\377ED;\377URI\377Q"\r
-  "OF\377OOF\377DD;\377\33\36'\377&,6\377!*1\377#)1\377%*2\377$*3\377\"*2\377"\r
-  "%+3\377$)0\377$*1\377$*3\377#)2\377!)1\377#(2\377\"(2\377\"(2\377$*1\377"\r
-  "#)0\377\"*2\377\"'/\377#)1\377\"'/\377\"(0\377!(1\377\"(0\377\")2\377$)1"\r
-  "\377%,3\377#)2\377#*2\377\"*2\377\"(1\377\"'/\377\")2\377\")2\377\")2\377"\r
-  "\"(2\377$)2\377%+3\377$+3\377#)3\377$*2\377$*2\377%*4\377#(/\377\"&.\377"\r
-  "Zfm\377\34!*\377',3\377&-4\377%-3\377%*1\377%,1\377%-4\377$+2\377%*1\377"\r
-  "%,3\377$*2\377$*1\377%+2\377%*2\377&*4\377%*2\377',4\377\"*2\377%-2\377%"\r
-  "*1\377#(0\377#)2\377#*1\377$)3\377%)1\377#(/\377#*2\377#*2\377#)1\377$+2"\r
-  "\377#(2\377$*1\377#*1\377$)2\377#*2\377%*1\377%*1\377$*1\377$*1\377%,2\377"\r
-  "&,5\377%+2\377%+2\377'-8\377\31!(\377?@5\377RPE\377PRH\377KLE\377:8.\377"\r
-  ":8-\377:8-\377:8-<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0nxx\246:8-\37787,\37767.\377OKB\377ROF"\r
-  "\377QPF\377HG=\377\40%&\377\"(0\377#)1\377#(2\377$*2\377\"*2\377\"(2\377"\r
-  "*/6\377&*1\377#*2\377#(2\377$)0\377\"(2\377\")2\377\"(0\377$*1\377\"'2\377"\r
-  "\"'0\377#*1\377\"(1\377\"'0\377\"'/\377\"'/\377\"'/\377\"&0\377\"'1\377\""\r
-  ")1\377$*2\377$*1\377\"(0\377\")2\377$)2\377$(0\377\"'/\377#*2\377#(2\377"\r
-  "#*2\377$*1\377#*2\377#*2\377#*2\377$+3\377%*4\377#*2\377$)0\377\"&.\377Z"\r
-  "gp\377\35\"-\377&,3\377%,1\377%+1\377&+3\377%,1\377#*2\377$+2\377&*1\377"\r
-  "&+3\377$*2\377#)1\377&+4\377&+2\377%+2\377$*1\377&+4\377#*2\377%-2\377$*"\r
-  "1\377%*1\377#(2\377$)1\377$)1\377#(1\377\"'0\377#*2\377#*1\377\"(1\377$*"\r
-  "1\377#*2\377%+3\377%)2\377&*4\377%+1\377$+3\377$*2\377$*1\377%*1\377%+3\377"\r
-  "'-5\377&*5\377#*2\377\"(0\377\36\"#\377OPA\377OOF\377NOG\377>=5\377:8-\377"\r
-  ":8-\377:8-\271:8-\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-\17:8-\27197,\37766,\377IH=\377VU"\r
-  "K\377QOE\377OMC\377$&\"\377\40&/\377$+2\377%+4\377%*1\377#)2\377#)2\377\""\r
-  "(1\377\"*1\377#)1\377#'0\377$+2\377#(1\377\"&0\377#'0\377\"(1\377#(2\377"\r
-  "#(1\377\"'1\377\"&/\377\"&/\377\"'0\377!(0\377#(0\377\"&0\377\"'0\377\"("\r
-  "1\377$)1\377\"(1\377\"'0\377\"(2\377#(2\377$)1\377#(1\377#)3\377\")1\377"\r
-  "$*1\377$*1\377%*1\377#*3\377#*2\377#*2\377%*3\377&,4\377%)2\377\"&.\377Z"\r
-  "el\377\34!)\377&-3\377&-2\377',3\377%*2\377#*2\377%+3\377%+1\377%*1\377$"\r
-  ",3\377%*3\377%+1\377%*2\377&*4\377%*2\377&+4\377%+2\377$*1\377%+1\377$+2"\r
-  "\377%*2\377$)3\377$)1\377$+3\377\")1\377$+4\377\"*1\377\"*2\377#*3\377#*"\r
-  "1\377$)1\377\")2\377#)2\377$*2\377%*3\377$*1\377#(2\377%*1\377$*1\377#*2"\r
-  "\377$)0\377$*0\377$*1\377\")0\377021\377RPC\377OOF\377KNE\377;:0\377:8-\377"\r
-  ":8-\366:8-^\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\214\220^CC:\36665)\377<=7\377"\r
-  "WYR\377ONF\377QOE\3770/)\377\37%+\377\"(1\377\")1\377\40&.\377#(1\377#)1"\r
-  "\377#(0\377#)1\377#(0\377\"'0\377#'0\377\"'0\377\"&1\377\"'/\377\"&1\377"\r
-  "\"'1\377\"&/\377\"'0\377$)1\377\"'1\377#)1\377\"'1\377\"'/\377\"&1\377\""\r
-  "&0\377\"'/\377\"'2\377\"(2\377$*2\377#)1\377!(1\377!'1\377\")2\377\"*2\377"\r
-  "\")1\377\")2\377#*2\377$*1\377%*2\377$*1\377%*1\377%+1\377%*4\377!%.\377"\r
-  "\"&.\377Ydi\377\34!&\377%,3\377',3\377%+1\377%*1\377#)2\377&+2\377&+2\377"\r
-  "#)2\377%+1\377$*1\377$-0\377#*2\377#)2\377#(2\377'-5\377&,4\377%*1\377%*"\r
-  "1\377$*1\377%*1\377$*2\377$(1\377#)1\377#)1\377$*3\377\40'0\377!(/\377$)"\r
-  "1\377$)1\377#(1\377$+2\377%*1\377$)0\377$*1\377%*1\377%*1\377%*1\377$*1\377"\r
-  "\")2\377$+3\377$+2\377$*3\377\40$,\37712.\377QPE\377OOF\377AA9\37798.\377"\r
-  ":8-\377:8-\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0^eb\326:8-"\r
-  "\37777.\377UUQ\377NNF\377QNE\377;;.\377\34\")\377\"'0\377\")2\377!(0\377"\r
-  "\"'0\377\")1\377\"*2\377#(0\377#(0\377#*1\377#(/\377\")2\377\"'1\377#)1\377"\r
-  "\"'0\377\"'1\377!&.\377!%.\377#)2\377\"(1\377\"(1\377\")2\377#(2\377\"&/"\r
-  "\377\"&2\377\"(0\377\")1\377\"'/\377\")1\377\"'0\377!&/\377#)2\377\"(2\377"\r
-  "$*2\377\"(1\377#(2\377%*2\377$*2\377%*1\377$*2\377$*1\377%+1\377#*2\377\40"\r
-  "&-\377\"&.\377Zek\377\34\40'\377&-3\377&+2\377%*2\377%+1\377$*1\377$*2\377"\r
-  "%*2\377#*2\377%*1\377%+2\377$*1\377%+1\377%*1\377$*1\377$)1\377%+4\377&,"\r
-  "5\377&-3\377#(0\377%*1\377%*1\377$*1\377%*1\377\")2\377#)2\377$'0\377$)1"\r
-  "\377%+1\377$)1\377#*2\377%*1\377#(2\377#(1\377#)1\377%*1\377$*1\377%,1\377"\r
-  "%*1\377#*2\377&,3\377%*3\377%*3\377\"&/\377<<3\377RQE\377NMD\377DE<\377>"\r
-  "=3\377:8-\377:8-=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r}\177\246"\r
-  ":8-\37798-\377EEA\377OOF\377PNE\377A@3\377\35\"(\377!&0\377#)1\377#)1\377"\r
-  "\"&/\377\40&/\377\"(0\377\")2\377\"(0\377#'/\377\"&/\377$)1\377\40(/\377"\r
-  "\"&/\377\"(0\377!'0\377\")1\377\"(2\377\"'/\377#(0\377#'/\377!'/\377\"(2"\r
-  "\377\"&/\377\"'0\377\"(2\377#)1\377\37&.\377!%/\377\"(0\377\"(0\377#(0\377"\r
-  "%*1\377$*1\377#)2\377\"(2\377\")2\377#)1\377$+2\377%+2\377$*3\377$*4\377"\r
-  "#)2\377#'/\377\"&.\377Zdj\377\35!(\377%+1\377%+2\377%*2\377%-3\377#*2\377"\r
-  "%*2\377%*2\377#*2\377$*1\377$)1\377\"*2\377#+2\377%*2\377%*2\377%*1\377$"\r
-  "*1\377%)1\377&+2\377$)0\377$(0\377$*1\377$)1\377$)1\377$*1\377$*1\377#)2"\r
-  "\377#*2\377#*2\377\"(1\377$)0\377%*1\377$*1\377$)1\377\"(1\377$)1\377#(0"\r
-  "\377#)2\377$)1\377#)2\377&,2\377&,4\377$*1\377\"(/\377A?6\377RRF\377LL@\377"\r
-  "==4\377:9.\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "nyy3QTO\37797-\377@A<\377PQF\377ONF\377GE;\377\30\40'\377\40&.\377\"(2\377"\r
-  "$)1\377\"(1\377\"(1\377\"(1\377#(1\377#(0\377#)0\377\"&.\377\")1\377!'/\377"\r
-  "\"'0\377\"'0\377\"&.\377#'/\377\"'/\377\"&.\377#'0\377\"&/\377\"&/\377\""\r
-  "'1\377\"'/\377\"(0\377#(1\377!(0\377!)1\377\"'0\377#'/\377$*1\377\"'/\377"\r
-  "$)1\377\"'2\377!'1\377!'1\377\")2\377\"(2\377#(3\377$*2\377\"*2\377#*2\377"\r
-  "%+2\377!'/\377\"&.\377Ydi\377\34\37'\377%*1\377%+1\377%*1\377&,2\377$*3\377"\r
-  "%-2\377#(3\377$*1\377$+3\377$)0\377$*1\377%)2\377%*3\377#*2\377$(1\377%+"\r
-  "4\377$*1\377%*2\377%+3\377%*1\377$+2\377$+2\377%*1\377\"(1\377#'1\377$*1"\r
-  "\377#(0\377\")1\377$*1\377%,2\377$)2\377$)0\377$)1\377$*1\377$)0\377\"'1"\r
-  "\377#)2\377#(0\377%*1\377\"(0\377$)1\377#(3\377\37&1\377CC;\377RRF\377JJ"\r
-  "?\377891\37787-\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\213\234\2433^da\377:8-\377BB7\377NPF\377PNE\377KJ@\377\37$*\377#)"\r
-  "0\377#(1\377\40&.\377\")1\377#(0\377\"&/\377\"(0\377\")0\377\"&/\377\"&/"\r
-  "\377\")1\377\"'1\377#)1\377#(0\377#'/\377\"(0\377\"'/\377\"&/\377\"(0\377"\r
-  "\"&.\377\"&1\377#'/\377#(0\377!&0\377#(0\377\"&.\377$)0\377\")1\377\"(0\377"\r
-  "!'/\377!&/\377\"&0\377\"&/\377\"*1\377\"*2\377#(2\377$+2\377\"(2\377\"(2"\r
-  "\377#*2\377$*1\377#*2\377#)1\377\"&.\377Ydi\377\36\40(\377&+5\377&-4\377"\r
-  "%*1\377%*1\377%*1\377$+2\377#*3\377%*2\377&+3\377$+2\377$*3\377#)1\377%*"\r
-  "1\377$*1\377%+1\377$*1\377$*1\377%*1\377$,2\377$*1\377$+2\377%*1\377$*2\377"\r
-  "\"(0\377#)1\377%*1\377%*1\377$)1\377#*1\377%*1\377#)2\377$)0\377#'1\377#"\r
-  "*2\377$*1\377$)1\377$)1\377$+1\377$)0\377$(0\377%*1\377$+2\377\34\".\377"\r
-  "=>7\377RRE\377JJ?\37799/\37787+\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377BB:\377PPF\377NNF\377HH"\r
-  "<\377\32\"+\377\37&-\377\"&/\377!&0\377\"'/\377$)0\377\")2\377#)0\377!'/"\r
-  "\377\"'0\377#'/\377\"'/\377\"'1\377#'0\377\"'/\377\"(0\377\"'1\377\"'2\377"\r
-  "\"&/\377\"&.\377\"&0\377\"&/\377#)1\377\"'/\377!'/\377\"&/\377\"'1\377\""\r
-  "'1\377\"'/\377$(0\377\"'/\377!'0\377\"'/\377\"(0\377\"(2\377\"'0\377\"(0"\r
-  "\377\"'1\377\"(2\377\"'2\377\"'/\377$*1\377$*1\377\40$.\377\"&.\377Zdj\377"\r
-  "\35!(\377&+4\377$+2\377'+5\377&+3\377%*1\377%+3\377$+2\377$*2\377$+2\377"\r
-  "%+1\377%*2\377%+4\377%-3\377#*3\377$)1\377%*1\377%*1\377%*1\377%*1\377%*"\r
-  "2\377&+3\377$)0\377$+2\377$(0\377#)1\377'-3\377%+2\377%*1\377$*1\377#)2\377"\r
-  "%)3\377$)0\377#)2\377#)1\377$)1\377%*2\377\"'1\377#'0\377%+1\377%*2\377%"\r
-  "*1\377#)2\377!(2\377=>9\377RPE\377LK?\377=<3\377:8-\377:8-\377:8-3\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377DE>"\r
-  "\377PQH\377PNF\377FF9\377\27\37&\377\35#*\377\")1\377\40&0\377\32\35(\377"\r
-  "\36%.\377#*2\377#(0\377#'0\377&)1\377$)0\377\40&0\377#(2\377\"&.\377\37&"\r
-  "-\377\"'0\377#+3\377\"&/\377!&0\377\"(0\377!&.\377\"&1\377\"&/\377\"(0\377"\r
-  "#'/\377#'0\377!'.\377#'/\377\"&/\377\"'/\377!&/\377\"(0\377#)1\377\"(0\377"\r
-  "\")2\377#(1\377#+2\377#*2\377\"&0\377\"&1\377\"'1\377\")2\377#)1\377$)0\377"\r
-  "\"&.\377Ydi\377\35!'\377%+1\377%*2\377%+4\377&+2\377%*1\377#*3\377$,2\377"\r
-  "%*3\377$+2\377%,2\377%*1\377$+2\377$+2\377#*2\377#)1\377%*1\377$)1\377%*"\r
-  "1\377$*2\377\"'0\377$)2\377$)1\377%*1\377#*2\377#*2\377$+2\377%*1\377$(0"\r
-  "\377$)0\377#(0\377\"(0\377\40(/\377!'/\377\"'1\377#(0\377#(1\377#(1\377#"\r
-  "'0\377$(1\377%+2\377%*1\377$)2\377#*2\377EC>\377RRC\377LL@\377::1\37797,"\r
-  "\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243"\r
-  "3^da\377:8-\377BB<\377OOF\377ROE\377EC8\377\32!)\377!'-\377\26\33!\377\23"\r
-  "\24\25\377\30\27\27\377\22\24\24\377\27\32\"\377#(0\377!&/\377&,2\377#*0"\r
-  "\377!(0\377!&/\377\"&.\377!&0\377\37&.\377\"'/\377\"'/\377!'/\377%*2\377"\r
-  "\"&1\377\"&2\377\"&/\377\40&.\377\"&.\377$(0\377!'.\377\"'/\377\40&/\377"\r
-  "\"'/\377\37'.\377\"'/\377\"'.\377#'/\377\"'/\377\"&.\377\36%-\377\"'1\377"\r
-  "#)1\377\"'0\377!&/\377\")1\377\"&0\377!&.\377\"&.\377Ydi\377\32\35%\377#"\r
-  "*2\377%*1\377%,3\377%*1\377$*1\377#)1\377%)1\377$*0\377%*1\377%*2\377$)1"\r
-  "\377$)0\377#*1\377$*1\377#)0\377$+2\377$*2\377%*1\377'-3\377$*2\377#)2\377"\r
-  "%)2\377#)1\377#*2\377$*3\377#)2\377$*1\377$)0\377$)0\377#(1\377$*1\377#)"\r
-  "0\377$*1\377\"'/\377$)0\377#(0\377#(1\377#(0\377$+2\377#(0\377#)1\377#*2"\r
-  "\377\37(0\377)-.\377RRC\377NNC\377<<3\37722%\377:8-\377:8-3\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200^da\37798-\377DD<\377N"\r
-  "NF\377QPE\377142\377\35$,\377\31\40(\377-.&\377KL?\266MB)\206KG8\330-+&\377"\r
-  "\37%+\377$*3\377\"&/\377!&/\377\40'.\377!'0\377!(0\377!'0\377\"&.\377\"("\r
-  "0\377\"(0\377#)1\377\"'/\377\"&/\377\"&0\377!&.\377\37&-\377!&/\377!&.\377"\r
-  "\37&-\377!&.\377\37&.\377\"%-\377!&.\377\40&/\377!&.\377\40&.\377\37%,\377"\r
-  "\40&-\377!&.\377!&.\377!'/\377\"'/\377\"'/\377\"(2\377\40'/\377\34!)\377"\r
-  "\"&.\377Ydi\377\33\36&\377$*1\377%+2\377$*1\377$*1\377%*1\377%+2\377%+2\377"\r
-  "$)1\377$)1\377%+1\377#*2\377%*3\377%*1\377%,1\377$*1\377&*4\377%,2\377%+"\r
-  "1\377%*1\377%+2\377%+1\377%,4\377%,2\377$)2\377#)2\377%*1\377$*1\377#(2\377"\r
-  "$*1\377#*2\377#)1\377#)1\377$*1\377\")1\377#*1\377$*1\377$)1\377$*1\377$"\r
-  "*2\377\"(0\377$*1\377$*1\377#)1\377'*0\377RQC\377POF\377@@8\37787+\377:8"\r
-  "-\377:8-\272\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0{\210\214\326"\r
-  "@@6\377<:/\377LLH\377NNF\377SOB\377\"'/\377\40(2\377*-/\377LLA\314RNE\22"\r
-  "\0\0\0\0RNE&FC8\377\36\37\37\377\37&/\377\"'1\377\"&0\377\")1\377\"'1\377"\r
-  "!&.\377!&.\377\"&1\377\"&0\377\"&.\377#(0\377\"&/\377\"&/\377\"(0\377\"&"\r
-  "/\377!&0\377!&.\377!(0\377\40'0\377!&0\377\37&-\377\40&.\377\"(0\377\40&"\r
-  "/\377\"&.\377\40&-\377!&-\377!&.\377\37&.\377!&.\377\40&-\377!&.\377\"'/"\r
-  "\377!'/\377\"&1\377\37%-\377\"&.\377Ydi\377\35\40%\377%+1\377%,3\377%+1\377"\r
-  "$+2\377%+2\377%*1\377$+3\377$*3\377$*2\377%+3\377#*2\377&,3\377%*1\377%*"\r
-  "1\377#(0\377#)3\377%*2\377$*1\377$+2\377%+3\377%+1\377#)1\377#+1\377%+2\377"\r
-  "%+2\377$*1\377$*1\377\"(1\377$*1\377#(2\377\"'1\377\"&1\377#(0\377#)2\377"\r
-  "#)1\377\"(1\377$)0\377$*1\377#*2\377#)2\377'+4\377(-5\377#(0\377\24\34&\377"\r
-  "NL?\377TSH\377GG>\377>=3\377:8-\377:8-\354:8-B\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\213\234\243By\206\212\35497-\377<;0\377MNK\377PPE\377FD>\377\33$4"\r
-  "\377'-7\377687\377MMD\302\0\0\0\0\0\0\0\0RNE\12MJ@\377&'(\377\40&1\377\""\r
-  "&/\377\"(0\377\"(0\377\"&.\377#(0\377#(0\377\"&/\377\"&.\377\"&.\377!'/\377"\r
-  "#'/\377\"'1\377\"'1\377\"'0\377\"&0\377\"'/\377\"&0\377!'/\377!&/\377!&."\r
-  "\377\40'/\377\"&.\377\"'/\377\40&-\377\40&.\377\40&-\377\37&-\377!&.\377"\r
-  "\37&.\377\40&.\377!&/\377\40&-\377\37%,\377\"&.\377\37#*\377\"&.\377Ydi\377"\r
-  "\34\40'\377%+1\377%,1\377%*2\377#(2\377$*1\377%*2\377',4\377%*1\377%+1\377"\r
-  "%,2\377%,2\377$*2\377%*1\377%*1\377#*1\377#*2\377$*3\377%*2\377%*2\377%+"\r
-  "2\377%+1\377#)0\377(-5\377%*1\377%*1\377$*1\377$)0\377$)0\377$)0\377#'0\377"\r
-  "$*1\377\"(0\377#)1\377$)1\377$)0\377%)1\377#(0\377#)0\377$*1\377%*1\377\""\r
-  "'/\377\"'/\377$*1\377\37&0\377556\377VSF\377NKA\377>?5\377:8-\377:8-\377"\r
-  ":8-\233:8-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\7\213\234\243\233MOH\37797-\377"\r
-  "CC<\377MMF\377SPD\37736;\377#*6\377).9\3779BE\377NMC\370MMD\200OP?>OMB\257"\r
-  "NLF\377*3:\377#)2\377$)0\377\"'1\377\"'/\377\"&,\377\40&/\377\"&/\377\"&"\r
-  "0\377\"&0\377!&.\377!%0\377\"&/\377\40&/\377$(0\377\"'0\377\"(2\377\"&/\377"\r
-  "\"&.\377\"&/\377!%.\377!%-\377!&/\377!&.\377\"&/\377\40&-\377\40%.\377\37"\r
-  "&-\377!&.\377!&,\377\36&-\377\37&-\377\37%-\377\40%-\377\40&.\377\"'.\377"\r
-  "\"$*\377\"&.\377Ydi\377\33\40'\377#(1\377%*3\377%*3\377$*2\377$*1\377%*3"\r
-  "\377%*2\377%+1\377&-2\377%*3\377$*2\377$*1\377$*1\377$*1\377#(1\377$)1\377"\r
-  "#*2\377%*1\377$*2\377#+3\377#*2\377%*1\377%*2\377\"*2\377%*1\377$*1\377$"\r
-  ")0\377$)1\377\"&.\377\"&/\377#)2\377$)1\377#(2\377#*2\377$*1\377#)1\377\""\r
-  "(0\377\"(0\377$*1\377%*2\377#(2\377#(/\377#*1\377&,3\377\"*1\377QMB\377N"\r
-  "MC\377BB9\377:9/\377:8-\377:8-\377:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200"\r
-  "t\177\201\377?>5\37787-\377HH?\377NNE\377PMC\377\37)5\377%,4\377%*3\377\35"\r
-  "#4\377jnk\377_]O\377TQ@\377om^\377R_g\377\27\37)\377\")2\377#'0\377#'/\377"\r
-  "#(0\377$(0\377\"&.\377\"(0\377!&/\377\"'0\377#(1\377!%/\377\"&/\377\"(1\377"\r
-  "#'/\377\"'/\377\40&/\377!&/\377\"&.\377!&.\377!&.\377\37&-\377\"&/\377!&"\r
-  ".\377\40%,\377\40&-\377\40%-\377\36&-\377\36&-\377\40&-\377\40$-\377\40&"\r
-  "-\377\40%-\377\36%,\377\40&-\377\37&,\377\"&.\377\"&.\377Ydi\377\35\40'\377"\r
-  "&+5\377%,3\377%+2\377$*1\377%+1\377%+1\377$*2\377$*1\377$*2\377%+1\377%+"\r
-  "1\377%+1\377%*1\377#*2\377$*1\377$*1\377$*1\377#(0\377#)0\377#)1\377$*1\377"\r
-  "#)0\377#*0\377#(0\377%*1\377$)1\377$)0\377$(0\377#)1\377#(0\377\"*2\377$"\r
-  ")1\377#(0\377#*3\377#*2\377#*2\377$)1\377#*2\377#(0\377$*1\377%*1\377$)1"\r
-  "\377$)0\377#*2\377\37'1\3775:B\377UQC\377LJ@\377==3\377:8-\377:8-\377:8-"\r
-  "\314:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\213\234\243\37\200\216\223\324<;0\37798.\377BB;\377MME\377WTG"\r
-  "\377>DI\377\40(3\377&*5\377%+3\377\40&/\377!,:\377V[d\377gns\377HUc\377\31"\r
-  "\"*\377\"'-\377\"'1\377\"(1\377\"'0\377!(0\377\"&.\377\"&.\377\"'/\377#'"\r
-  "0\377\"(1\377\37&.\377\37$,\377\"'0\377\"&/\377\"'0\377\"&.\377!&.\377\37"\r
-  "'/\377\40'.\377\"&.\377\40&-\377\40'.\377\40%,\377\35%,\377\37&-\377\40&"\r
-  "-\377\40&-\377\"&/\377\40&-\377\36&-\377\37&-\377\40&-\377\36&-\377\37%-"\r
-  "\377!&/\377!&-\377\37#+\377\"&.\377Ydi\377\33\37%\377%*2\377$*2\377&+4\377"\r
-  "$*4\377$+1\377&-4\377&-3\377%,1\377$*1\377%*1\377#+2\377#*2\377%*1\377#*"\r
-  "2\377$*1\377$,2\377%*1\377$*1\377$*1\377$)1\377#*2\377#*2\377%+1\377#)1\377"\r
-  "#*1\377#)1\377$)0\377$*1\377$)0\377$*1\377\"*2\377\"'0\377$)1\377#*3\377"\r
-  "$+2\377$)1\377#(2\377#'2\377$)1\377$*1\377#(2\377$)1\377\")/\377$*1\377\""\r
-  ")1\377!,?\377KLO\377SNC\377EF<\377;:/\377:8-\377:8-\377:8-\312:8-\10\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\10\213\233"\r
-  "\242\312_fc\37787-\377<<4\377IKC\377POE\377URJ\377\35(7\377#)1\377%*2\377"\r
-  "#*2\377\"(0\377\40&.\377\26\36'\377\25\35)\377\33\40(\377\"(1\377$)2\377"\r
-  "$*1\377$)1\377#(1\377#(/\377\"&.\377\"'/\377#(1\377\")1\377#(0\377\40&0\377"\r
-  "\37&.\377\"'0\377\37&.\377\37'.\377!&.\377!&.\377!&.\377#'/\377\"&.\377!"\r
-  "&.\377\40'.\377\40%-\377\35$,\377\37&-\377\40&.\377!&.\377#(0\377\40$,\377"\r
-  "!&/\377\"&.\377\36$-\377\40&-\377!%-\377!&.\377\40&.\377\40$+\377\"&.\377"\r
-  "Ydi\377\34\40'\377&,4\377%+1\377&,3\377'-3\377&*4\377',3\377%*3\377&,2\377"\r
-  "%,2\377%*1\377$*2\377%*2\377$*1\377$*1\377%*3\377$*1\377%*1\377%*3\377%+"\r
-  "1\377$*1\377%+2\377#(2\377%)0\377#(0\377#*2\377$*1\377\"(1\377#(1\377$*1"\r
-  "\377\"(2\377#(0\377#(2\377$)1\377\"(2\377#)1\377$*2\377#)2\377$(1\377$(0"\r
-  "\377%+1\377%*1\377\"(1\377!&.\377\")0\377$)2\377$'.\377$;P\377URJ\377PME"\r
-  "\377FE<\377:90\377:8-\377:8-\377:8-\313:8-\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\213\234\243Y\212\232\241\313Y^Z\37797-\377:91\377HHB\377PND"\r
-  "\377UTJ\377+5A\377#'0\377$(2\377\")2\377#*1\377$)1\377\"(0\377#(1\377#)1"\r
-  "\377\40'/\377\40$+\377\"'0\377\"'2\377%*1\377#)1\377\"*2\377\"'2\377#(0\377"\r
-  "#(/\377\"&/\377\"&1\377!'/\377!'.\377#'0\377\"&.\377\"&.\377\"&1\377\"&2"\r
-  "\377#'1\377!&.\377\"'/\377\40'.\377\37&-\377#%.\377\"'/\377!&.\377\"'/\377"\r
-  "#'/\377!&/\377\40&.\377\37&-\377\36&-\377\40&-\377!&.\377!&.\377\40&.\377"\r
-  "!'/\377\"&-\377\"&.\377Ydi\377\35!'\377%+2\377%,2\377&,2\377&+2\377$*2\377"\r
-  "$+2\377#+2\377%*2\377&*4\377$)2\377%)1\377$*1\377%*2\377$*3\377%,3\377$*"\r
-  "1\377%*1\377%*1\377$*1\377\"(2\377$+2\377$)3\377%*0\377%)1\377%*1\377$*1"\r
-  "\377#)1\377%*1\377$*1\377$*1\377$*2\377#*2\377#*2\377\")2\377#)1\377#)2\377"\r
-  "$*2\377$*1\377%*1\377$*1\377$*1\377#)2\377%+2\377%*1\377#*1\377!)0\377\30"\r
-  "\40*\3779EZ\377[RF\377ONC\377@A8\377:8.\377:8-\377:8-\377=;1\316\177\215"\r
-  "\221uu\201\203\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\20\213\234\243ut\200\202\374PSM\377"\r
-  ":8-\377:8.\377CB<\377MLD\377]WK\3777@N\377\35%0\377\40$+\377#*2\377#)1\377"\r
-  "#*2\377#)1\377#(0\377#(1\377$)1\377#)1\377\"(0\377#)1\377\"(1\377#(0\377"\r
-  "#)1\377\"'1\377$(0\377#'0\377#'/\377!&.\377\"&/\377\"'/\377\37&.\377\37&"\r
-  "-\377\40&.\377\"&0\377!&/\377\40&.\377\"&/\377!&.\377\"&.\377\37%.\377!&"\r
-  ".\377\40&.\377\"&.\377!&.\377\40'.\377!&.\377!$-\377\37&-\377\40&.\377!&"\r
-  ".\377\40&.\377\40&.\377\40&.\377\"&/\377!&/\377\40&.\377\"&.\377Ydi\377\33"\r
-  "\40%\377$*1\377%*3\377&,3\377%*1\377&,3\377'-3\377$*1\377&,2\377%+1\377%"\r
-  "+2\377%*1\377&-2\377$)3\377$*1\377$)1\377$*1\377%+1\377$)1\377$*1\377%*1"\r
-  "\377%*3\377\")1\377$+2\377#)2\377#)1\377#)2\377$+2\377&,2\377#*1\377$(1\377"\r
-  "%)3\377%*1\377$)0\377\"(1\377$*1\377#*2\377#)2\377#)2\377%*1\377$)1\377$"\r
-  "*1\377#*2\377#)2\377#)1\377!(0\377#+2\377\"(0\377\35(2\377DLZ\377SNE\377"\r
-  "QQC\377FC9\377:9/\377:8-\377:8-\377:8-\377Z`\\\355ahfl\213\234\243W\0\0\0"\r
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243W\213\234\243l\202"\r
-  "\221\226\355irq\377;:/\37797-\377::1\377AA7\377LKB\377XUJ\3779G]\377\33'"\r
-  "2\377\"(/\377\"'1\377#(1\377!%0\377#'0\377$(1\377\")2\377#*2\377#)2\377\""\r
-  "'/\377$)0\377#*1\377#)1\377\"(1\377#'/\377\"(0\377#(0\377\"'0\377#(1\377"\r
-  "#'/\377!&.\377\"(0\377\"'1\377#(0\377!'/\377!'0\377\"&.\377!'/\377\"&/\377"\r
-  "#'/\377\"'/\377!&.\377!&.\377\40&-\377\"&/\377!&.\377\"&/\377\40%-\377\37"\r
-  "%.\377\40%.\377!'0\377!'.\377$(0\377$(0\377!&.\377!&.\377!&/\377#'0\377\""\r
-  "&.\377Ydi\377\34!'\377%*1\377%*1\377&*4\377&,3\377&,3\377&-3\377%*2\377%"\r
-  ",1\377$+2\377&+2\377%,3\377%*1\377%*2\377%*1\377#'/\377#)1\377$)2\377$*2"\r
-  "\377#)0\377%*2\377%+3\377%)3\377%*1\377$)0\377$)0\377#*2\377#)2\377#*2\377"\r
-  "#*1\377#'1\377#'0\377$)1\377$*1\377$)1\377#)0\377$+2\377%)1\377$*1\377%*"\r
-  "1\377\"(1\377$)0\377%*1\377#(0\377$*0\377$*0\377#)1\377#*2\377$)0\377\34"\r
-  "%5\3778EX\377[XK\377PNE\377GF>\377<:/\377:8.\377:8-\377:8-\377CC:\377IKC"\r
-  "\364`gd\306}\213\217\306}\213\217\306}\213\217\306}\213\217\306}\213\217"\r
-  "\306w\203\206\364LNG\377HIA\377:8-\37798-\377;;1\377FD;\377NLB\377]ZU\377"\r
-  ":G\\\377\35(8\377#)/\377#(0\377#*2\377$*2\377\")1\377#)1\377#(1\377#)2\377"\r
-  "#(0\377\"(0\377#)1\377\"'1\377$)1\377\"'1\377!)1\377\")1\377\"'1\377\"'/"\r
-  "\377\"'0\377\"&/\377\"'/\377!&.\377\"(0\377\"'/\377\"'/\377\"(0\377\"'/\377"\r
-  "\"&0\377$(0\377\"&0\377\"&0\377\"&0\377\"&0\377\40&.\377\"&.\377\"&.\377"\r
-  "\"&.\377\"(0\377!&.\377\"'1\377\40'0\377\"'/\377!'.\377\37&.\377\37$.\377"\r
-  "\40&.\377!(0\377\"'/\377\"&/\377\"&.\377Ydi\377\33\40%\377$*2\377%,1\377"\r
-  "&+3\377%+2\377#*2\377$+2\377%+1\377%,2\377&+4\377%,2\377%+1\377$+1\377$+"\r
-  "1\377%+1\377#)1\377$)1\377#)2\377%+3\377$*1\377#*2\377$+2\377%*2\377&+4\377"\r
-  "$*1\377$*1\377#(0\377$*2\377$)2\377%+1\377$*1\377%*1\377$*1\377#)2\377$)"\r
-  "1\377\"'1\377#)1\377$)1\377$)0\377$*1\377%*1\377$(0\377#(1\377\")2\377#("\r
-  "1\377$)1\377#'0\377$*3\377$*1\377\"'1\377\36&2\377>L[\377TYY\377POD\377J"\r
-  "J?\377BB8\377:90\37776,\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-"\r
-  "\377:8-\377:8-\37787-\377:9.\377;;1\377??5\377II>\377SPD\377^b_\377;GY\377"\r
-  "\33#-\377\40'.\377#)2\377\"'1\377$+2\377$*1\377\"'0\377\")0\377\"(0\377\""\r
-  "(1\377#)1\377!)1\377#)2\377\")1\377\"(0\377!'0\377#(0\377\"(1\377\"'1\377"\r
-  "!'1\377\"'1\377!(0\377#)2\377\"&0\377\"&.\377#(0\377\"(1\377!)1\377\"'0\377"\r
-  "\"'0\377\"'/\377\40'/\377\"'0\377\"(0\377\"'.\377#'/\377!(/\377\"'0\377!"\r
-  "&.\377\40'/\377!&.\377\"&0\377\"&1\377!%/\377\"'/\377\"&1\377!&0\377#(0\377"\r
-  "!'/\377#(1\377!&.\377\"&.\377Ydi\377\34\37&\377%+3\377&-3\377&,2\377&,3\377"\r
-  "%*3\377$*2\377%,3\377$*1\377%*4\377%,2\377%+1\377$+2\377$*1\377$)0\377$*"\r
-  "1\377%+1\377%+1\377%*1\377%*1\377$*1\377$+2\377#(0\377%*2\377#*2\377#*2\377"\r
-  "%)2\377$)2\377$*4\377%,2\377%*3\377%*1\377$*1\377$*2\377#*2\377\")2\377#"\r
-  "(1\377$*3\377$*1\377$)1\377#(0\377#*2\377%*1\377%*1\377#*2\377#*2\377#)1"\r
-  "\377#'/\377#)1\377%*2\377#)0\377\36#+\377*7G\377W^d\377[XO\377USI\377LK?"\r
-  "\377EE:\377=>4\377:90\377<:/\377;9/\377::0\377::1\37798/\377:8/\377;9/\377"\r
-  "=<2\377CC9\377IH=\377TRG\377_`U\377]ci\377/:G\377\34#+\377$)1\377\"*2\377"\r
-  "\")2\377\")2\377\40'/\377!(1\377\"&2\377#(1\377#(1\377#)2\377#(0\377\")0"\r
-  "\377\"&/\377\"'/\377#)1\377#)1\377\")1\377\"&1\377\"&1\377!&/\377\"(0\377"\r
-  "\"'/\377#'0\377$(0\377\"&.\377\"&.\377\"&/\377!'0\377\"(1\377!&.\377!&.\377"\r
-  "!&.\377\"&/\377\"&.\377\"'0\377\"&.\377\")0\377#'/\377\"&/\377\"'/\377#'"\r
-  "/\377\"&/\377#(0\377#'/\377\"&/\377\"(1\377#(0\377#'0\377\"'0\377#'0\377"\r
-  "\"&0\377\"&.\377Ydi\377\34\40%\377%+1\377&,3\377&-2\377&,4\377&+3\377%*2"\r
-  "\377%*3\377%,2\377%*1\377%+1\377%+1\377%*2\377%)1\377$(1\377#*2\377%+1\377"\r
-  "%+1\377$)1\377%*1\377#)2\377%+2\377%*1\377&+3\377$*2\377$)1\377$)1\377&+"\r
-  "3\377$*2\377\"*2\377#*2\377%+1\377%*1\377#(1\377#*2\377$*3\377#(2\377#)2"\r
-  "\377$*1\377#)2\377#)1\377%*1\377#*2\377#(0\377#)2\377$*2\377$)1\377$)0\377"\r
-  "$(0\377\"'0\377#*1\377!'/\377\40%,\377\37(/\377>HT\377ell\377da\\\377YVK"\r
-  "\377PPD\377KI?\377IF=\377GG>\377HF:\377IH=\377KH?\377JF;\377II=\377NK?\377"\r
-  "YWL\377mok\377dpq\377@PY\377\35%/\377\35$,\377\"'.\377%*1\377%+2\377#)0\377"\r
-  "#)1\377%*1\377\"*2\377\"'2\377#'1\377#'0\377#'2\377#(2\377#'/\377\"&.\377"\r
-  "$(2\377$)1\377$(0\377#)1\377\"'2\377!(2\377!'2\377!'0\377#'1\377\"(0\377"\r
-  "\"(0\377#(0\377!(0\377!'/\377!'2\377\"(1\377\"&0\377\"&/\377\"&1\377\"&/"\r
-  "\377$(0\377!'0\377\"&1\377\"'/\377!(/\377\40'1\377\")1\377\"&.\377#(0\377"\r
-  "#)1\377#'0\377$(1\377\")1\377\")1\377$)0\377\"&0\377#'1\377$)2\377\"&.\377"\r
-  "Ydi\377\33!%\377%+2\377&.5\377&.4\377&-4\377&*3\377$(3\377%*2\377&*4\377"\r
-  "&,3\377&+3\377#*2\377$)0\377%+1\377$(2\377\"*2\377$*1\377$*3\377%,4\377#"\r
-  "*2\377#(2\377#)2\377#)2\377%*1\377&+2\377$)0\377$*1\377&(1\377%+3\377$*2"\r
-  "\377$*1\377$*1\377$*1\377%*2\377$*1\377!*1\377#*1\377$)1\377$*1\377\")1\377"\r
-  "#)1\377#(1\377\")2\377\")1\377\")2\377#*2\377#(/\377$*1\377#'/\377!(/\377"\r
-  "$*1\377#*1\377$*1\377#)1\377\36#)\377\33\40*\377*5F\377DPa\377bcd\377YZX"\r
-  "\377Z[T\377WXO\377ZWL\377\\WL\377Z[R\377\\\\Y\377_^W\377U_d\377CP`\377(2"\r
-  "B\377\31\37)\377\35\"(\377#(1\377%*1\377#)1\377#(0\377\40&.\377$(0\377\""\r
-  ")1\377$(1\377$*1\377\")2\377\"(0\377$)0\377$*1\377#(2\377\")2\377\"'0\377"\r
-  "\")2\377\"*1\377$)1\377$*1\377#)1\377\"'/\377#&/\377\"&0\377\"&1\377$)0\377"\r
-  "#'1\377#(1\377$(1\377\"(0\377\"&0\377!'/\377#'2\377\"'0\377\"(1\377\"&/\377"\r
-  "\"'2\377\"'0\377\")2\377%*1\377\"(0\377\"(2\377\"(0\377\"(0\377#(3\377#("\r
-  "2\377$*1\377%*2\377%*2\377%*4\377$*2\377#'0\377$)1\377$)0\377\"&.\377Ydi"\r
-  "\377\35!'\377&,4\377&,6\377&-6\377&-3\377%*2\377%+3\377&+4\377%*3\377%*3"\r
-  "\377$*1\377%,2\377%*1\377%+2\377$+2\377#*2\377%*3\377#(/\377#(0\377#*2\377"\r
-  "%*1\377#)2\377$)1\377%*3\377$*1\377%,3\377$*1\377&,3\377%*1\377%*2\377%*"\r
-  "3\377%,2\377$*2\377%+2\377$*1\377\"*2\377#*1\377#(1\377\"*2\377\")1\377%"\r
-  "*1\377#(2\377#*2\377#)1\377\"(0\377#)1\377\"(0\377#*2\377$)0\377#*2\377$"\r
-  "*1\377#(/\377$(0\377%+2\377\"'0\377\")1\377#(0\377\34#,\377\36$-\377$/>\377"\r
-  ".9I\3773<J\377:BN\377:BM\3773@M\377*6E\377&.8\377!)2\377\33\37%\377!&/\377"\r
-  "#)1\377\"(0\377#(1\377#)1\377#'/\377\"(0\377#)2\377#)1\377\")1\377#)2\377"\r
-  "#)1\377#(0\377#(0\377#(1\377\"*2\377#*2\377#*2\377\"(0\377\"(1\377!)1\377"\r
-  "\"(1\377#(1\377!'0\377$*1\377$)1\377\"&/\377\"&.\377#(1\377#'1\377\"(2\377"\r
-  "\"&0\377#(1\377\"'/\377\"(1\377\"'2\377\"&0\377\"'0\377\"'0\377\"(0\377\""\r
-  "(1\377\"(1\377$(1\377#(2\377\")1\377$+1\377$)0\377&,5\377$+3\377#+2\377#"\r
-  "*3\377$+2\377&+4\377&+6\377%)4\377$)0\377$)2\377\"&.\377Ydi\377\35!'\377"\r
-  "&-4\377&-6\377&-3\377',3\377&-2\377(.5\377%+2\377%+1\377%*1\377%+1\377%*"\r
-  "1\377%,2\377%)1\377$*2\377$*1\377$*1\377#)1\377#*2\377%*2\377$*2\377#*2\377"\r
-  "\"'/\377#*1\377#)1\377\"(1\377$*2\377$*2\377$)2\377%*1\377#*2\377&*2\377"\r
-  "$+2\377$+1\377$)0\377#)1\377%*1\377#)2\377#)2\377\"(0\377\"'1\377#)1\377"\r
-  "#)2\377%*1\377$)1\377$*1\377#)2\377#)1\377%)1\377\"&/\377#(1\377#*1\377#"\r
-  "(.\377#)0\377%*1\377$(1\377%*1\377$*1\377$)1\377$*2\377',4\377$(0\377%*2"\r
-  "\377&-6\377%,2\377\40)/\377$,3\377%*3\377#*2\377\"*2\377#)1\377\"(1\377#"\r
-  "(2\377#(0\377\"(0\377#(0\377\"&1\377#)1\377\")2\377\")1\377$*1\377\"*2\377"\r
-  "#(0\377#*2\377$)1\377\"(1\377#(0\377#(0\377$)1\377#'/\377#'0\377#'1\377#"\r
-  "(1\377\")1\377\"'/\377\")2\377$(0\377#)0\377#'0\377#(1\377\"'0\377\"(1\377"\r
-  "\")1\377\"*1\377\"'/\377#)1\377\"'0\377\")1\377\"(0\377!)1\377$)1\377$)1"\r
-  "\377$)0\377#*2\377$*1\377#*2\377$*2\377$,2\377&*5\377$*3\377$+3\377%*3\377"\r
-  "%+3\377&-4\377&-2\377#*2\377\"&.\377Ydi\377\33\40%\377&,5\377(,8\377&,6\377"\r
-  "&-5\377'.5\377$+4\377%+2\377$+2\377',3\377%-2\377%+1\377&,2\377$)0\377%*"\r
-  "1\377$*1\377$*1\377#+2\377$*1\377%*2\377$)2\377%+2\377\")2\377%+1\377$*1"\r
-  "\377$*1\377$)2\377#*2\377#(0\377$*1\377\"(0\377#)2\377$*1\377#)1\377#)0\377"\r
-  "\")0\377%*1\377$)1\377#)1\377\")0\377\"'1\377$*1\377#)2\377$)1\377$*3\377"\r
-  "#*2\377#(2\377\"'/\377#(1\377\")2\377#*2\377#)2\377#*2\377#*2\377%*1\377"\r
-  "\"*1\377$*1\377%*1\377$*1\377%+1\377&+4\377%*4\377%*2\377&.3\377%+2\377%"\r
-  "*1\377$*1\377$*1\377$*1\377$*1\377!(0\377\"'/\377#)2\377$)1\377#(0\377\""\r
-  "'/\377\"&.\377$)1\377#)2\377!)1\377#*2\377\"'2\377\"(0\377\"*2\377#)1\377"\r
-  "\"'0\377\"'/\377\"'/\377!'/\377\"'/\377\")1\377\"(1\377#(1\377#(0\377\"&"\r
-  "/\377\"'/\377$(0\377#'0\377\")1\377!(0\377\40(/\377\"(/\377\40'/\377\"(0"\r
-  "\377\"'1\377#)1\377\")1\377\")1\377$)1\377#*1\377#*1\377\"&1\377!&/\377#"\r
-  "*2\377$*2\377%*2\377$*2\377$,3\377&,4\377&,4\377&,5\377&-6\377%-5\377%,2"\r
-  "\377%,4\377%,4\377\"&.\377Ydi\377\36!'\377',4\377(.6\377&,6\377-29\377'+"\r
-  "6\377%+2\377%,2\377&+4\377%*1\377%+3\377$)2\377%*3\377$)1\377\"'2\377#)2"\r
-  "\377#*2\377%,4\377$*1\377#)1\377%+1\377%,1\377#)2\377$(0\377#(0\377$)1\377"\r
-  "!'0\377#*1\377%*1\377$*1\377$*1\377$)1\377%*2\377$*1\377$)1\377$)2\377$)"\r
-  "1\377$)0\377\"'/\377\"(0\377#*2\377\"*2\377#)2\377$*1\377$)1\377$(1\377\""\r
-  "'1\377\")1\377\"(0\377#)1\377%*1\377$)1\377%*1\377#(2\377$)1\377%*2\377&"\r
-  "-2\377%+1\377$*1\377#*2\377%+2\377%*1\377&*4\377$+0\377$*1\377%*1\377#*1"\r
-  "\377$)1\377$+2\377#*2\377%*1\377$*1\377#)1\377#(1\377!'.\377#)1\377\"(1\377"\r
-  "\"&/\377\"'0\377#'0\377\"'2\377#*2\377#'/\377\"'/\377\"'1\377\"(0\377\")"\r
-  "1\377\"(2\377!'/\377!)1\377#)1\377#)2\377#)2\377\"(1\377#)1\377#(1\377#("\r
-  "1\377$(0\377#(0\377\"&/\377!&.\377!'1\377\"'0\377\"(0\377#'/\377\"'0\377"\r
-  "$*1\377\"'2\377!*1\377#(1\377%*1\377%)1\377$*1\377$*3\377&*4\377&,4\377%"\r
-  ",2\377%*1\377&+5\377%-4\377&-7\377&+7\377&+6\377&-6\377&+6\377&,4\377\"&"\r
-  ".\377Ydi\377\35!'\377&,5\377',5\377)-6\377-18\377&-6\377%-2\377%,2\377&-"\r
-  "4\377%+2\377%+1\377$)2\377%*1\377%*1\377$*1\377#)2\377%*1\377%*2\377%*1\377"\r
-  "#)1\377$*1\377$*1\377$)1\377#*2\377$*1\377\"(2\377$*1\377$*1\377$*1\377$"\r
-  "*1\377%*1\377$)1\377%+2\377$*1\377$)1\377$*2\377$*1\377\"'0\377#(0\377#("\r
-  "0\377#(0\377\"(2\377\"*2\377#(0\377$)1\377$)1\377#)1\377#*2\377$)1\377$("\r
-  "1\377#)1\377$)1\377#*2\377$*2\377$)1\377%*2\377%+1\377#*2\377$*1\377$*1\377"\r
-  "%+2\377&-2\377%+2\377$)0\377%*1\377%*1\377%*1\377#)2\377#*2\377$)1\377#)"\r
-  "1\377$)0\377$)1\377#)2\377\"(1\377$)1\377#(0\377#)1\377\"*2\377#*2\377\""\r
-  ")2\377#'1\377\"&0\377#(0\377#)1\377\40&/\377\"'/\377\"(2\377\")1\377\"'0"\r
-  "\377\"&0\377\"'/\377#'0\377#(0\377$*1\377\"&/\377\"&/\377$(0\377\"'/\377"\r
-  "#)0\377\")1\377\"*2\377\")1\377\"(2\377\"'1\377\")1\377$(0\377#'1\377#*1"\r
-  "\377#+2\377$)3\377#(2\377\"*2\377$)2\377%*4\377%*3\377#(3\377&,5\377&-6\377"\r
-  "'-5\377&+3\377&+5\377%+5\377&.6\377'.6\377$*2\377\"&.\377Ydi\377\37#'\377"\r
-  "*.6\377)-6\377'-5\377&.6\377&-4\377&,5\377%,3\377%+1\377',3\377#)2\377%*"\r
-  "4\377%,3\377#*2\377#(0\377#*2\377%*1\377$(1\377#)2\377$)0\377%*1\377$)0\377"\r
-  "\"*2\377$*1\377$)1\377%+1\377$*1\377#*2\377$*1\377$*1\377%*1\377#)2\377#"\r
-  "'2\377%+2\377$*2\377#(1\377$)0\377#)0\377$*1\377%*1\377#)1\377#(/\377#'/"\r
-  "\377\")0\377$*3\377\"(1\377$)1\377$*2\377#*1\377#*2\377$(0\377$*1\377$+2"\r
-  "\377$*1\377$*1\377$*1\377#+1\377#*2\377%+1\377$*1\377$+1\377%+1\377$)1\377"\r
-  "%*3\377$*1\377\"*2\377$*1\377$*1\377#*2\377#)0\377#'1\377#)1\377#)2\377$"\r
-  "*1\377#)2\377\"'/\377#(0\377#(0\377#(2\377%*1\377\"*1\377#)3\377$)1\377\""\r
-  "(1\377\")1\377#)2\377#'/\377#'0\377\"'/\377\"'0\377#(1\377\"(0\377\"&/\377"\r
-  "!'0\377\"'/\377#)1\377\"'/\377\"(0\377\"(0\377\"&/\377#*1\377!)1\377\"(0"\r
-  "\377#(2\377\"(2\377\"(0\377\"(1\377\"*2\377#)2\377\")2\377#)1\377$*2\377"\r
-  "%*4\377%+4\377$)3\377%)5\377%*4\377&,6\377).8\377'-7\377'.7\377&.6\377'."\r
-  "6\377(.6\377&.6\377&,4\377\"&.\377Ydi\377\36\")\377'-5\377&+3\377&,4\377"\r
-  "&-3\377&-4\377&+4\377%+4\377%+2\377%+3\377$*1\377%+1\377$*2\377#*2\377#("\r
-  "0\377$*1\377$(1\377#*2\377$*1\377$*1\377$)1\377$)0\377$*1\377%,2\377$*1\377"\r
-  "#)2\377%*1\377$*2\377$*3\377#)1\377$)1\377#*2\377$*1\377$)3\377%*4\377#("\r
-  "0\377$(1\377\"(2\377#(2\377#)1\377#*2\377$*1\377#*1\377$)1\377$*2\377\"("\r
-  "2\377\40*1\377\"'/\377\"'1\377#*2\377#(1\377%*1\377#)2\377#*2\377#*2\377"\r
-  "$,2\377\37'.\377#*1\377$+2\377%*1\377%*1\377!(/\377$*1\377#'1\377\"'/\377"\r
-  "$)1\377#(1\377\")1\377$*1\377!(/\377!'/\377#*1\377#)2\377$)1\377$*1\377\""\r
-  ")1\377$*1\377#'1\377\"&/\377#)1\377#'0\377\")2\377\"(/\377!'/\377\")1\377"\r
-  "$)1\377\"&/\377\"(1\377\"(0\377\"&/\377!'/\377\"'/\377\"&/\377$)1\377#'/"\r
-  "\377\"'0\377!'.\377#(1\377\40(0\377\"'/\377#(2\377#(0\377\40'0\377\")2\377"\r
-  "\"(1\377\")1\377#)0\377#(0\377#)3\377#)2\377#)2\377$*1\377$(1\377#*2\377"\r
-  "%,4\377$+4\377%*5\377&+6\377&,4\377&.6\377&.6\377&,6\377(.6\377'.6\377'."\r
-  "6\377%*3\377\"&.\377Ydi\377\36!'\377&,2\377'-3\377&,4\377&,2\377&-2\377%"\r
-  "+1\377&-5\377&-4\377&,2\377%*1\377%+2\377$*2\377%*2\377$*2\377$)1\377$)1"\r
-  "\377#)1\377$*1\377$*2\377%*2\377%,2\377$*1\377#*2\377&,2\377$)1\377%+1\377"\r
-  "#*2\377$)1\377%+1\377$)2\377$*1\377$*1\377#)0\377$*1\377#*2\377#)2\377#'"\r
-  "2\377#(1\377\"(2\377#*2\377\"*2\377\")1\377#*2\377#)1\377#)2\377\")1\377"\r
-  "\")2\377\")2\377#)2\377#(0\377#*2\377$)0\377#*2\377\"'1\377$+2\377%*1\377"\r
-  "#*1\377!&0\377#)1\377#)0\377\34#+\377\24\32#\377\26\31#\377\30\36'\377#'"\r
-  "/\377$)0\377\"'/\377\"(0\377$)1\377$)1\377\"'/\377\"'1\377\"'2\377$(0\377"\r
-  "\"(2\377#)1\377\"'2\377\"'1\377#(0\377\"'1\377\"&/\377#)1\377#)2\377\")2"\r
-  "\377#(0\377!'.\377#)1\377#(3\377#'2\377#)2\377\"(0\377\"&0\377#)2\377#(2"\r
-  "\377#(0\377#(0\377$(1\377#)1\377\"'.\377\"(0\377$)1\377\")1\377\"&1\377\""\r
-  ")2\377\"'1\377$*1\377#)0\377\"*2\377$*3\377$*3\377%+1\377$)2\377%*4\377$"\r
-  "*2\377%*3\377$*3\377',5\377&,6\377&-6\377&,5\377&.6\377'-7\377'/6\377&+6"\r
-  "\377\")1\377\"&.\377Ydi\377\32\37%\377%*1\377%,2\377%*1\377$)1\377$*1\377"\r
-  "#*2\377%*2\377$*1\377%,2\377%*1\377&,2\377%+2\377%*1\377%*1\377%*1\377#*"\r
-  "2\377#*1\377%*1\377%*1\377%+1\377%*1\377$*1\377%*2\377$)1\377%)3\377%*1\377"\r
-  "#(0\377$*1\377%,2\377#*2\377#*2\377$*1\377$*1\377#+2\377$*1\377\")2\377#"\r
-  "(0\377#(/\377%*1\377$*3\377%,2\377#(1\377%)2\377$*3\377#)1\377$(0\377\"("\r
-  "0\377\"(0\377\"*2\377$)1\377#)2\377#)1\377$*1\377%*1\377$*2\377%,2\377$)"\r
-  "1\377$)1\377\35\")\377\24\26\33\377%&%\377210\377532\377)))\377\25\30\31"\r
-  "\377\33\36%\377#(1\377\"(0\377\")2\377\")1\377$)0\377\")2\377\"(2\377\"("\r
-  "2\377\")2\377\"'0\377\"&/\377\40'/\377#)1\377\")1\377!(0\377!(/\377\"(/\377"\r
-  "\")2\377\"*2\377\40)1\377\"'1\377#(0\377\"(0\377\"(1\377\"*2\377$)1\377\""\r
-  "'/\377\"(/\377#'0\377#)1\377#'/\377\"'0\377\")1\377#'1\377$)1\377\")1\377"\r
-  "\"'1\377!)1\377\"'1\377!(0\377#*2\377#*2\377$*2\377#(0\377%+2\377#)2\377"\r
-  "%*3\377%+4\377$*3\377$*3\377&,5\377$*4\377&+6\377&,6\377(,6\377&,4\377&-"\r
-  "5\377&+4\377\"(1\377\"&.\377Yej\377\33\37%\377&(0\377$)1\377$*1\377$*3\377"\r
-  "$*1\377$*1\377$)1\377%*1\377#*2\377$)0\377$*1\377$*1\377$*1\377$)3\377%+"\r
-  "1\377%+1\377$*1\377%+2\377%*3\377#'0\377$)0\377\"*2\377$*3\377%*1\377$)1"\r
-  "\377#*2\377$*1\377$*1\377$*1\377$*1\377$)1\377\"(0\377#*2\377%+2\377#*2\377"\r
-  "\"(2\377#(0\377$(0\377$*1\377$+2\377#*2\377#*2\377#*2\377$)1\377#(1\377$"\r
-  ")1\377$*1\377$)0\377!)2\377\"(1\377#(0\377\"(0\377#)2\377&-3\377%*1\377\""\r
-  ")2\377$)4\377\34\40&\377\35\37\37\377EE:\377YVH\377ZVH\377XUG\377YUG\377"\r
-  "TPA\377*)%\377\23\27\35\377#*2\377#(0\377!'.\377$(0\377#(1\377#(1\377$*1"\r
-  "\377\")0\377#)1\377\"'1\377\"(2\377#'0\377!'0\377#(0\377!(1\377!&.\377\""\r
-  "'1\377\"'1\377\"'2\377\"(1\377#(2\377\"(0\377\"(1\377\"*2\377#)1\377!(/\377"\r
-  "!&.\377\"'2\377\"(1\377#)2\377#(1\377\"'0\377\"&/\377$(1\377#)1\377$(0\377"\r
-  "#(1\377#)1\377\"'1\377(,5\377,06\377$*1\377#*2\377#)2\377$*1\377%+3\377#"\r
-  "*2\377$*3\377&*5\377%+4\377&*5\377&*5\377&-6\377&+6\377&*4\377%*2\377%*4"\r
-  "\377$)1\377\"&.\377Ydi\377\34\37&\377#'/\377%*1\377%+2\377$(2\377$*1\377"\r
-  "#)2\377#*2\377$*1\377$(1\377$*1\377%+1\377$*1\377%+2\377%*2\377#*2\377$+"\r
-  "2\377$*1\377#(2\377#(2\377#)2\377$)2\377$)1\377$)1\377$*1\377$*1\377#*2\377"\r
-  "$*2\377$*2\377%*1\377$(1\377#)1\377%+3\377$(0\377#(2\377\")2\377$*1\377#"\r
-  "*1\377#'/\377#)1\377$*1\377$)1\377#'1\377#*1\377$)0\377#(0\377$+2\377\"*"\r
-  "2\377#(0\377$)1\377#(0\377#*1\377#*1\377%*1\377\40'/\377#)0\377#(2\377\40"\r
-  "$.\377#\"\36\377SPB\377QOD\377MMC\377MME\377MME\377MME\377PNE\377RQD\377"\r
-  "01)\377\31\36%\377\")1\377\"'2\377#(0\377#'/\377#'1\377#)1\377\"(1\377!'"\r
-  "/\377#)2\377\")2\377\")2\377\"&0\377\"'0\377#(1\377\40'/\377\")1\377\"'/"\r
-  "\377#)1\377\"'1\377\"'0\377#(0\377\"'/\377!'/\377\"'/\377\"'0\377\"(2\377"\r
-  "\"'/\377!'0\377\"&0\377\"(1\377#'0\377#(0\377!'/\377#)2\377#)2\377\"'0\377"\r
-  "$)1\377#(2\377#)2\377$(1\377\"(0\377\")1\377#*3\377\"(2\377$*1\377$*2\377"\r
-  "%*4\377%+3\377$+3\377#*2\377$*4\377$*4\377%*5\377%+2\377&-5\377%*4\377%+"\r
-  "2\377\"&.\377Ydi\377\33\37%\377%(/\377%*1\377&+4\377$(1\377#)1\377\"'1\377"\r
-  "$)1\377$*1\377%*1\377%*1\377#'/\377$*1\377#)2\377\"(1\377$*1\377&+2\377$"\r
-  "*1\377$,2\377%+1\377%,1\377%*2\377%*2\377#*2\377$*1\377#*2\377$*1\377%,2"\r
-  "\377$*2\377%*1\377$*1\377#)1\377$*1\377%)2\377#*1\377#)2\377\"*2\377#*2\377"\r
-  "$*1\377$*1\377#)1\377$(0\377$*1\377#(2\377#)0\377$*1\377%+1\377#*2\377$*"\r
-  "1\377\")2\377#(0\377$)1\377$*1\377#*2\377#*1\377$*1\377$*3\377$'-\377FG;"\r
-  "\377LMC\377JKB\377KLB\377KLB\377KLB\377KLB\377JKB\377KKC\377RO@\377#\40\37"\r
-  "\377\40$-\377$(3\377\")1\377#(1\377\"(1\377!(0\377\"*1\377$*1\377#(2\377"\r
-  "$*1\377#(0\377#)2\377!)1\377#)0\377#(0\377#(2\377#)1\377\")2\377\40'/\377"\r
-  "#)0\377#+3\377#*2\377\"(0\377#(0\377\"&1\377\"'1\377!(0\377\37)/\377!&.\377"\r
-  "\"&0\377#)3\377\"&1\377\"'2\377\"'2\377\40)1\377\"'1\377#(1\377\")2\377$"\r
-  ")1\377#)0\377#)2\377#'/\377#*3\377\"*2\377\")2\377\"*2\377#*2\377$*3\377"\r
-  "#*2\377#*2\377$*1\377$*2\377%*3\377$*3\377&*5\377&*3\377#)0\377\"&.\377Y"\r
-  "di\377\32\36$\377%*1\377$*1\377%*1\377#'0\377$(1\377%*1\377#(0\377%*1\377"\r
-  "$*1\377#(1\377#)1\377$)1\377$*2\377%*2\377$*2\377\"*2\377$+2\377$*1\377%"\r
-  "+1\377$)0\377&+3\377%*4\377$*1\377#)1\377#*2\377$)1\377$)1\377#'/\377%(0"\r
-  "\377%*1\377$)1\377%,2\377%*1\377#*2\377#)2\377$*1\377\")1\377$*2\377%,2\377"\r
-  "#)1\377\")1\377#)1\377#(1\377\"'/\377#(0\377#'/\377\"'/\377\"(0\377#)2\377"\r
-  "\"(1\377$(1\377$*1\377#)0\377&,2\377%+2\377\32\40(\377450\377NNA\377KLB\377"\r
-  "KLB\377LMD\377LMD\377LMD\377LMD\377KLB\377KLB\377MNA\377<<5\377\35\"*\377"\r
-  "!&-\377$*1\377%+2\377%*1\377\"(1\377\")1\377\"'1\377\")1\377#*2\377$)1\377"\r
-  "#)2\377#(1\377$*1\377#)0\377\"(0\377!'1\377\"&/\377#(0\377#)1\377\"'0\377"\r
-  "#'/\377#(/\377\"(1\377#'/\377\"(0\377\"&.\377\"&.\377\"'/\377\"(0\377$)1"\r
-  "\377!)0\377\"&0\377\40&0\377\"&2\377\"'0\377\")1\377!)2\377$*1\377#*2\377"\r
-  "$)1\377#)2\377#'2\377\"(2\377#)2\377\"*2\377\"'1\377\")1\377%+3\377$+2\377"\r
-  "\"(2\377&+3\377#)2\377\")1\377#*2\377\"(/\377#'1\377\"&.\377Ydi\377\34\37"\r
-  "&\377%*1\377$*1\377$)0\377%*1\377#)1\377%*1\377$*1\377$*1\377\"(2\377\"'"\r
-  "1\377#)1\377#)1\377$(0\377%*1\377#(3\377$*2\377$+2\377$*1\377%+1\377%*1\377"\r
-  "%*1\377%*1\377#*2\377\")1\377$*2\377&,3\377%,4\377%+2\377$)1\377$)1\377#"\r
-  ")2\377%*1\377$*1\377\"*2\377#*1\377#*2\377#(1\377$*1\377#*2\377#)1\377\""\r
-  ")1\377#(0\377%*1\377#*2\377$)1\377$)3\377\"(0\377\"'1\377#*2\377$)3\377%"\r
-  "+3\377#(0\377\")1\377\40%,\377#(/\377\40',\377CD:\377LLC\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377GG>\377!&,\377\"'1\377\40"\r
-  "(0\377\40'/\377#*2\377#)2\377\")1\377!&/\377\"&0\377\"'1\377#)1\377\40'/"\r
-  "\377\"'.\377#)1\377\")1\377#)1\377\40)1\377\"'1\377\")1\377\")1\377#)2\377"\r
-  "#)2\377$)0\377\"'/\377#&1\377\"'0\377\"(1\377\"&1\377#'2\377\40&/\377#)1"\r
-  "\377$+1\377#'0\377\"(2\377\")2\377\"'/\377\"(2\377\")0\377!)1\377!(0\377"\r
-  "\"(1\377\"'1\377#*2\377#*2\377\"(2\377\"*2\377\")1\377\")1\377#+2\377%*1"\r
-  "\377#*2\377#+2\377#)2\377#*2\377#*2\377#(.\377\40$,\377\"&.\377Ydi\377\35"\r
-  "!&\377&+1\377#*2\377%*1\377$)1\377#'/\377\"&.\377\"&.\377$)0\377%*1\377\""\r
-  "&/\377#)1\377#)1\377\")2\377\"(1\377#)1\377$*1\377$*1\377#'1\377#)2\377%"\r
-  "*1\377%*3\377#(1\377#)0\377\"*2\377\"*2\377#)1\377#)1\377$*1\377$*1\377\""\r
-  "(0\377#*2\377%*1\377#*2\377#*2\377#*2\377#*2\377$*1\377$*1\377$*1\377#)2"\r
-  "\377#)1\377#*2\377$*1\377$*1\377$,2\377\"(0\377$)1\377\"(0\377#'1\377#)1"\r
-  "\377#(/\377#(1\377$)1\377#*2\377$*1\377$+1\377GF>\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ<\377\"'-\377#*1\377#"\r
-  ")1\377#'0\377$)1\377!(1\377!'0\377#(1\377\"'0\377\"(0\377$*1\377\"'1\377"\r
-  "\"'/\377$*1\377\"'/\377$(1\377#(1\377$*1\377#*1\377!)1\377\"'/\377#)2\377"\r
-  "\"(2\377\"'0\377\"'0\377!'1\377\")0\377#'/\377\"&1\377\"'0\377!'/\377\"("\r
-  "0\377!'1\377!&0\377\"(2\377\")1\377\"'0\377\"&0\377\"&0\377\"'1\377$)0\377"\r
-  "\"'/\377#'1\377!&0\377#'0\377#'1\377#'0\377\"&0\377!'1\377\"(2\377\"'2\377"\r
-  "$(1\377%*1\377#)1\377#'0\377#'.\377\")1\377\"&.\377Ydi\377\33\37$\377&+1"\r
-  "\377#(2\377%*1\377$)1\377#(/\377#(/\377\"&.\377#(/\377#'/\377#'/\377$)1\377"\r
-  "\"'0\377#(0\377\40&.\377\"'/\377\"'/\377\"'0\377#(1\377#(2\377$+2\377&-3"\r
-  "\377%*1\377#)1\377\"*2\377\"(2\377#'0\377#)2\377$)1\377%*1\377$*1\377\"*"\r
-  "2\377$*1\377%*1\377#(0\377$)2\377#*1\377#)1\377$)1\377$)3\377#)1\377$)1\377"\r
-  "#*2\377$)1\377$)0\377\")1\377#)1\377\"(0\377\"(1\377#)1\377!(/\377$)0\377"\r
-  "#(0\377#(2\377\")2\377$)1\377\34#,\377BB<\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ?\377&+0\377#*1\377\")1\377#"\r
-  "'1\377#(1\377!&0\377!&.\377#(/\377\40)0\377!)0\377\40)1\377\"(1\377#)0\377"\r
-  "#*1\377#(/\377\"&1\377\"&2\377\")2\377\"'1\377\40%0\377\"'1\377#)2\377\""\r
-  ")2\377#(0\377!'1\377\37'/\377\"&/\377#'/\377#)1\377\")1\377\40&.\377\37&"\r
-  ".\377!(0\377#(/\377#(0\377!(0\377#)1\377#'0\377\"'0\377\"*2\377$)0\377#("\r
-  "0\377$(0\377!&.\377\"(0\377#'/\377\")1\377#(1\377!'2\377#*2\377$)1\377\""\r
-  ")2\377#'0\377\")1\377#(2\377!&/\377!&/\377\"&.\377Ydi\377\35\37&\377%+1\377"\r
-  "%*1\377#'/\377\"'/\377#(/\377#'0\377\"&/\377\"&.\377\"&.\377#'/\377#'/\377"\r
-  "#(/\377!&.\377!&.\377#(0\377#(0\377%*1\377'+3\377&,2\377&,4\377%+2\377$)"\r
-  "1\377#*2\377#)2\377\"*2\377#(0\377$)0\377$)0\377%+1\377#*2\377$*1\377$*1"\r
-  "\377$*0\377$*1\377#)1\377$(0\377$(0\377#)1\377#(1\377#)0\377%*1\377$(0\377"\r
-  "#(/\377#(0\377$(1\377$*1\377#(/\377\")1\377\"'1\377$)0\377$(0\377%*2\377"\r
-  "&+2\377#(/\377\")0\377\"+1\377DD>\377KLB\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377LLC\377GH=\377#(,\377#*1\377!'/\377\40&-\377"\r
-  "!(0\377\"(0\377\")1\377\"&.\377!&/\377\"&.\377!)0\377\"'2\377\"&/\377\"'"\r
-  "/\377\"*1\377\")2\377#(1\377#(2\377$(0\377#(1\377!(0\377#(1\377#*2\377#)"\r
-  "2\377\"&1\377\"&2\377#'0\377%'/\377$)0\377#(0\377#)0\377\"(1\377!(1\377\""\r
-  "&/\377\"&1\377\"'0\377$)1\377#)1\377\"(0\377\")1\377#'0\377\"&0\377#'0\377"\r
-  "\"&/\377#(0\377#'0\377#'/\377\"'0\377\"'2\377#(2\377#'1\377#'/\377\"&1\377"\r
-  "#*2\377#*2\377\"'/\377\37&/\377\"&.\377Ydi\377\32\37%\377$+2\377%*1\377#"\r
-  "*1\377#(1\377#'/\377#'/\377#'/\377$)0\377\"'/\377!&/\377\"(0\377$)0\377%"\r
-  "(0\377#&.\377#(/\377$)0\377%*1\377%*2\377%*1\377$)0\377$)0\377\"(1\377$)"\r
-  "0\377#*2\377$*1\377%)2\377$)1\377#(0\377%*1\377$*1\377#*2\377$*1\377$*1\377"\r
-  "#*2\377$*1\377$)0\377#)1\377#*2\377#(0\377#*2\377#(0\377#)1\377#(0\377$*"\r
-  "1\377%*1\377$*1\377#)1\377#)1\377%+2\377#(0\377$(1\377#(0\377$*1\377$)1\377"\r
-  "$)2\377#(1\377@A:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL"\r
-  "B\377KLB\377KLB\377KK>\377$*.\377\"(1\377\")0\377\"(1\377\"'2\377\"(1\377"\r
-  "#)0\377\"&0\377\"'0\377\")1\377\"(1\377\"&1\377#)1\377$)1\377#'2\377#)2\377"\r
-  "$*1\377$)1\377#(1\377\"(0\377\"&/\377\"(0\377$)1\377#(1\377$(1\377\"'0\377"\r
-  "$)1\377#)1\377#(0\377\"'/\377#'0\377\"&.\377\"'.\377!(/\377#'0\377\"(1\377"\r
-  "#'/\377\"(1\377\"'/\377\"'/\377\"'/\377#(0\377\"(0\377\"&0\377\"'/\377\""\r
-  "'/\377\"&/\377\")1\377\")1\377%)1\377#'1\377#)1\377#)1\377#)0\377\"*2\377"\r
-  "\"'.\377\36#+\377\"&.\377Ydi\377\33\40%\377&.3\377$*2\377#*2\377#*1\377#"\r
-  "'/\377\"&.\377\"&.\377#'/\377\"(/\377#'/\377!&.\377!&0\377%*1\377$)0\377"\r
-  "$+1\377$*1\377#(0\377$(1\377$)0\377%*1\377#*2\377$)0\377$*1\377#(2\377\""\r
-  "(1\377$)1\377$)1\377#)2\377$*1\377#)0\377$*1\377%*1\377$)1\377$)1\377#(1"\r
-  "\377$(0\377#)0\377\")1\377#)1\377#)2\377\")1\377$*1\377#*2\377\")2\377#*"\r
-  "2\377#'1\377$*1\377#*2\377$*1\377#'0\377%*1\377#*1\377$)1\377#)1\377$*2\377"\r
-  "\31\40)\377?@7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377GH<\377!&*\377\36#-\377&-3\377$+4\377$)1\377\"(0\377#(0\377"\r
-  "$(1\377\"'.\377\"(/\377\"&/\377\"'0\377#(1\377%*1\377#*2\377$)0\377#)0\377"\r
-  "\"'1\377#)0\377#(0\377#'1\377$)0\377$)0\377\"'/\377#(1\377#(0\377#(0\377"\r
-  "\"'/\377\"'/\377$)1\377#(2\377#'/\377#(1\377#(0\377&,3\377\"'0\377$)1\377"\r
-  "#(1\377#(1\377#(0\377\"'/\377\"'/\377#'0\377\"&/\377$*1\377#(0\377!&0\377"\r
-  "\"(0\377\"(0\377\"'/\377%)2\377\"'1\377#)2\377#*2\377#)2\377!%,\377!'.\377"\r
-  "\"&.\377Ydi\377\32\37%\377&+3\377#(1\377\")0\377\"'.\377\"&.\377#(0\377\40"\r
-  "&/\377\"&.\377\"'/\377#'/\377#(/\377$)1\377$)0\377#)1\377\"'/\377#(/\377"\r
-  "%)0\377%)1\377%*1\377%+1\377%+1\377#(2\377$*1\377\"&1\377#(1\377$)1\377$"\r
-  ")0\377\")0\377$)1\377$*1\377$*1\377%*1\377#*2\377#*1\377$)1\377#(/\377#("\r
-  "0\377#)1\377#*2\377!*1\377$)0\377$*1\377$*1\377#)2\377#)1\377#*2\377$)0\377"\r
-  "#)1\377#'1\377#)1\377#)2\377$)1\377$)1\377!'0\377$)0\377\37$,\377B@9\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH"\r
-  "=\377&-/\377#(/\377$*1\377#)1\377$)0\377#'1\377$)1\377#(0\377#'0\377#*1\377"\r
-  "\")1\377\")1\377\"'/\377$)0\377\40'.\377\"(1\377\"(0\377\"'1\377!&0\377\""\r
-  "'1\377\"'2\377#(/\377#'/\377%*1\377\"&0\377\"(1\377$)1\377#'1\377\"'0\377"\r
-  "\40'/\377!'/\377!'/\377!'/\377#(0\377\"'/\377#(/\377#(/\377\"'/\377#)0\377"\r
-  "\"&/\377#'/\377#)0\377!)0\377$)1\377'-3\377#'/\377\"&0\377\"(0\377!'/\377"\r
-  "#(0\377%)1\377#(0\377#(0\377\"(2\377#(2\377\40&-\377\")0\377\"&.\377Ydi\377"\r
-  "\35\40'\377'-4\377%*1\377$*1\377\"&.\377!&.\377\"'1\377!'0\377\"&.\377$("\r
-  "1\377$*2\377#(1\377$)0\377\"'.\377\"(/\377\"'1\377\"(2\377#*2\377#)2\377"\r
-  "#*2\377#)2\377$)1\377&+3\377#(0\377\"(0\377#(1\377\"(0\377$)0\377$)0\377"\r
-  "$)1\377$*1\377$*1\377#*2\377\")1\377$*1\377$*1\377%*1\377$(1\377\"(1\377"\r
-  "$)0\377#)1\377#'/\377$)1\377$*1\377#(0\377#)0\377\")2\377#(0\377\"'0\377"\r
-  "$(1\377$)1\377#*2\377#)1\377#)1\377!'.\377#(.\377\35%+\377>?7\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377II?\377(."\r
-  "2\377$)0\377!(/\377\"'0\377$(0\377#(2\377\"(0\377#'1\377!&/\377\"(/\377\""\r
-  "*2\377#)1\377$)1\377#(0\377#)0\377#*1\377$)0\377#)1\377!(0\377#)1\377\"("\r
-  "0\377\"&/\377\"&/\377#(/\377\40&/\377!&0\377\"(/\377!'0\377\"(1\377\"*2\377"\r
-  "#)1\377\"'1\377\"'/\377\"&1\377!&0\377#)1\377#(1\377\"(0\377\"'/\377\"&1"\r
-  "\377#'/\377!&/\377!'.\377\"(0\377#'0\377!&/\377#'0\377\"'/\377\40(/\377\""\r
-  "&1\377#'/\377#'0\377#)2\377#(2\377%+1\377\"(.\377#(0\377\"&.\377Zek\377\30"\r
-  "\36&\377)39\377&,3\377%*1\377#*1\377#)1\377#*2\377!(/\377#)1\377%(0\377%"\r
-  ")1\377#'/\377\"(0\377#)1\377#'/\377$(1\377#)2\377#)1\377#)1\377$*1\377#("\r
-  "1\377$(0\377#)1\377\"'0\377$*1\377\")1\377\"(0\377#*2\377$*1\377#*2\377$"\r
-  "*1\377%*1\377%+1\377%*2\377$*1\377$*1\377$*1\377#)2\377$)1\377$*1\377#*2"\r
-  "\377\")1\377#)0\377$)1\377!'.\377!(/\377\"(2\377$)0\377#)1\377$)0\377#(0"\r
-  "\377#(/\377\"'0\377$)1\377$+1\377\")1\377\35$-\377>?8\377MOD\377KLB\377K"\r
-  "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377\36%'\377\""\r
-  "*2\377$*1\377#'2\377#)1\377\"&/\377&-5\377$+3\377\"(1\377#(0\377#)1\377\""\r
-  "&1\377!'0\377#)0\377$(0\377#)1\377#'2\377#'1\377\"(2\377\"&.\377#'/\377\""\r
-  "'0\377\"&/\377\")2\377\")1\377!&0\377\"'/\377#)1\377$)1\377#(0\377\"(0\377"\r
-  "\"'/\377#)2\377\"'1\377\"'/\377#'/\377#'/\377\"'/\377#)0\377!&.\377\"&.\377"\r
-  "\"&/\377#)0\377#(0\377!&/\377\"'/\377#(0\377#'0\377\"'0\377\40&0\377!'0\377"\r
-  "!(0\377#(2\377#)1\377#)1\377!%-\377\"(0\377\"&.\377Zfk\377\31\35%\377%-4"\r
-  "\377%*1\377$)0\377%*1\377#(/\377#)1\377$)0\377#(0\377#(0\377#'/\377#(1\377"\r
-  "$)1\377#'2\377#)1\377#'/\377$(0\377$)2\377#)2\377%*1\377#(2\377$)1\377$'"\r
-  "/\377#(1\377#'/\377\"(0\377\"(2\377$*1\377\"*2\377$*1\377%*1\377$*0\377$"\r
-  "+2\377$*2\377#*2\377#*2\377%*1\377%)1\377\")1\377$*1\377$*1\377#'2\377$*"\r
-  "1\377$*1\377#)1\377#(0\377\"(0\377\"&.\377#'/\377#)0\377\"(0\377$)2\377$"\r
-  ")2\377#(0\377#(1\377#(/\377\35%*\377>?7\377NPE\377MPE\377LNC\377KLB\377K"\r
-  "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH=\377\40',\377\36%.\377$)1\377"\r
-  "#(2\377#)2\377#'2\377\"*2\377#+2\377!&1\377!'/\377\")0\377\"(0\377\"'0\377"\r
-  "$)1\377#(1\377#'0\377#'2\377#)1\377#)0\377\"(0\377#'/\377\"'/\377\"(0\377"\r
-  "\")1\377#)0\377\")1\377\")1\377\"(0\377\"'0\377#(2\377!)2\377\"'1\377#'0"\r
-  "\377#(/\377\"&0\377#'0\377\"'/\377\"'1\377\"'/\377\"&.\377\"&.\377\"'/\377"\r
-  "\"&0\377\"'/\377\"'1\377\"(/\377!'0\377#(0\377#(/\377#'0\377#*1\377\"(0\377"\r
-  "\"(0\377#)1\377\"*2\377!(/\377#)0\377\"&.\377Ydi\377\33\36&\377%+1\377%-"\r
-  "1\377$)0\377%*1\377#(0\377$)1\377\"'2\377$)0\377$)0\377#'/\377#(0\377#(0"\r
-  "\377#(0\377$(1\377\"&1\377#'0\377#'/\377#(0\377$)2\377%*1\377#*2\377$)0\377"\r
-  "$*1\377$*1\377#*2\377$*1\377%*1\377$)1\377%*1\377%*1\377#*2\377#(0\377$)"\r
-  "1\377#*2\377#*2\377$*1\377$*1\377#*2\377\"*2\377%*1\377$*1\377%*1\377$*1"\r
-  "\377#)2\377#)1\377$)1\377\"'0\377\")2\377#*2\377#*1\377#'/\377\"(1\377#*"\r
-  "2\377\37%-\377\"*0\377\40$+\377HE;\377KLB\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377#(-\377#'/\377\"(/\377\37'0\377"\r
-  "\"'2\377!&/\377#(/\377#)2\377\")2\377\"*2\377\"(1\377\"'1\377$*1\377\"'/"\r
-  "\377!&.\377\"'/\377\"'0\377\"&/\377\"&/\377\"(0\377\"&.\377!(0\377\"'/\377"\r
-  "\"'1\377!&.\377\"'/\377\"'2\377\"'0\377!&/\377$)0\377\"'/\377#(/\377\"'/"\r
-  "\377\"&.\377#)1\377\")1\377#(/\377\"'/\377!(/\377#)3\377\"(0\377#'/\377\""\r
-  "'/\377#(1\377\"&/\377\"&0\377#(1\377\"(1\377\"(2\377#*3\377#*3\377\"&/\377"\r
-  "\40'/\377#)2\377\"*2\377\"(0\377\40'.\377\"&.\377Ydi\377\32\37$\377%*1\377"\r
-  "%+1\377%*1\377#*2\377%*1\377%)1\377#)2\377%*1\377%*1\377$)0\377#'/\377%)"\r
-  "1\377$*1\377$(0\377\")2\377$*1\377%)1\377$(0\377#'/\377$)0\377\"'/\377%+"\r
-  "1\377$*1\377$*1\377#*2\377$)0\377#(/\377$(0\377#'/\377#)1\377#'2\377#)2\377"\r
-  "#)2\377#*2\377$)1\377%*1\377\"*2\377\"*2\377\"(2\377%*1\377#*2\377$*1\377"\r
-  "#*2\377#)2\377%*1\377%*1\377%+2\377#)2\377#)0\377$)0\377#'/\377\")1\377$"\r
-  ")0\377$)2\377#)2\377\32\40%\3779:3\377KLB\377KLB\377LKB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377EF:\377!)*\377%)1\377\40&.\377\"'/\377"\r
-  "\")1\377#'/\377#(1\377\"'1\377\"(1\377#)1\377\")0\377#(/\377\"'/\377\"'/"\r
-  "\377\"'0\377#(0\377$)0\377\"'2\377\"'1\377\"&.\377#(0\377\"(0\377\"&/\377"\r
-  "\"&0\377!&0\377#)1\377!'/\377\"'/\377\"&0\377#'0\377!)1\377\"&.\377\"(0\377"\r
-  "#(0\377#)1\377\"(0\377#'1\377\"'/\377#'/\377\"'0\377\"'2\377#'0\377#'/\377"\r
-  "#)1\377#(/\377\"&.\377!'.\377\"'/\377\"(0\377#'/\377#)1\377\"(1\377\"'1\377"\r
-  "#)0\377$*1\377#)1\377$*1\377\"&.\377Ydi\377\33\40%\377&.3\377$+2\377$*1\377"\r
-  "$*1\377%+3\377%+3\377$)0\377#+2\377%+1\377%+2\377$*1\377$*1\377%+1\377#)"\r
-  "2\377\")1\377$*1\377$+2\377$)1\377$)1\377$*1\377\")1\377\"'/\377#)0\377!"\r
-  "'0\377\")1\377#*2\377$)0\377\"&/\377%*1\377#)2\377$(1\377$)1\377#*2\377$"\r
-  ")0\377$*1\377$)0\377#*2\377$)1\377\")2\377%)1\377#(0\377$(1\377$)0\377$)"\r
-  "0\377#*2\377$*1\377#(1\377$(0\377#(/\377\"'.\377%*1\377$*1\377#)0\377#'0"\r
-  "\377%)0\377\40%,\377>?7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB"\r
-  "\377KLB\377KLB\377KLB\377HI;\377\37%*\377\37$,\377%*1\377#'1\377#(0\377!"\r
-  "&1\377#(0\377#(0\377$(1\377#*1\377\"(0\377#(1\377\"'1\377\")1\377\"&.\377"\r
-  "\"(0\377\"&/\377#)1\377$(1\377\"'2\377\"'1\377#)2\377',3\377!(/\377\"'0\377"\r
-  "\"(1\377!'.\377!&.\377\"&0\377\")1\377$*1\377\"(2\377\"'/\377$)0\377\"'1"\r
-  "\377\"&/\377\"(0\377\"'0\377\"(0\377#)1\377\"&1\377#)0\377!&1\377\"'1\377"\r
-  "#(0\377\"(0\377\"&0\377\"(1\377#'0\377%)2\377\"(/\377#)1\377#*2\377#(0\377"\r
-  "#*2\377\")0\377!&.\377\"&.\377Ydi\377\32\36%\377&.2\377$+2\377%*1\377%*1"\r
-  "\377%*1\377#*3\377$+3\377$)3\377%*2\377$+2\377%*1\377$*2\377%+1\377%+2\377"\r
-  "$)1\377#*2\377%*1\377$)1\377$)1\377%*1\377$*1\377\"(1\377#*1\377\40)1\377"\r
-  "\"(1\377\"(1\377&,3\377#*1\377%*1\377#)2\377#(0\377\")1\377$*/\377\")0\377"\r
-  "#*2\377$)1\377%*1\377#*2\377\"(0\377%*1\377$)0\377\"&0\377#'/\377$*1\377"\r
-  "\"*2\377\")1\377#)1\377%+1\377#*1\377\")1\377$*3\377$*2\377$(1\377\"&-\377"\r
-  "$(0\377\35\"*\377=>6\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377GF;\377\40(+\377\"(/\377$)0\377#)2\377#(1\377\"'/\377"\r
-  "$(2\377#(0\377\"(1\377\"(0\377!&.\377\"(1\377\")1\377\"*2\377\")1\377\"("\r
-  "1\377\"&1\377\"(1\377#)1\377\")2\377\"'/\377\"(0\377,/6\377\"(0\377\"&0\377"\r
-  "\"(0\377\"'/\377\"'0\377#(0\377\")1\377\"'/\377\"(0\377\"'/\377\"'1\377\""\r
-  "&/\377\")1\377#(0\377\"&.\377\"&0\377\"(0\377\"&/\377\"'0\377\"'/\377!)1"\r
-  "\377\"'/\377\"'/\377\"(1\377!)1\377#)1\377#*1\377\"(2\377\"'/\377\")1\377"\r
-  "#'2\377#)2\377!'/\377\37$-\377\"&.\377Zdj\377\36!(\377%+1\377%*1\377%+1\377"\r
-  "&,3\377&-2\377%,2\377%+2\377%+3\377',3\377%+2\377%*2\377&,3\377%,1\377#*"\r
-  "2\377$(1\377$)1\377$)2\377%)1\377$)1\377$*1\377#*2\377#'0\377$)1\377\"'0"\r
-  "\377#)1\377\"(1\377#(0\377#(1\377#)1\377#)1\377\"(2\377\")2\377$*1\377$*"\r
-  "1\377#*2\377%*1\377$*1\377#*2\377$*1\377#)2\377#)2\377#)2\377$*1\377#(1\377"\r
-  "#(2\377\")2\377%*1\377$*1\377#(0\377\"(2\377\"'/\377#(0\377$)0\377$)0\377"\r
-  "$)1\377\36\"*\377;;5\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377HI;\377#(+\377$)0\377#)0\377$(1\377\"'0\377\"&.\377"\r
-  "\"(1\377\"(0\377\"'/\377$)1\377$)0\377$)0\377$(1\377\"(0\377\"(/\377\"'1"\r
-  "\377\"&0\377\"(0\377\40'.\377!(/\377#)0\377#(0\377#'/\377\"'/\377$)1\377"\r
-  "\"'/\377\"'0\377#'0\377#(2\377\"&1\377\"'1\377\"(2\377!'/\377!&0\377\"&/"\r
-  "\377\"'/\377\"&.\377#(/\377$)1\377!)0\377\"'/\377!'/\377\"&/\377!'/\377#"\r
-  "(/\377#)1\377$(0\377$(0\377#)1\377\"'/\377#(0\377#'1\377#(/\377#(1\377#*"\r
-  "2\377!(0\377\37$+\377\"&.\377Ydi\377\36!'\377%*3\377%+1\377%,3\377&-4\377"\r
-  "%+1\377&-5\377&+5\377&-3\377'.5\377',3\377%+2\377&,3\377$*2\377%*2\377$*"\r
-  "1\377$+2\377#*2\377%*1\377%+2\377$)1\377$)1\377$)1\377#*2\377$*1\377&+4\377"\r
-  "%*3\377$)1\377$)0\377$+2\377$*1\377$*1\377#)1\377%*1\377$*1\377$)1\377$*"\r
-  "1\377$*1\377#)1\377#)1\377$*1\377$*1\377%*1\377$)1\377$)1\377$*1\377#*2\377"\r
-  "$)1\377\")1\377#(0\377#*1\377\"(0\377$*1\377#*1\377$*0\377%+1\377\35!*\377"\r
-  "994\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL"\r
-  "B\377GF<\377\"',\377\"'1\377$)1\377$(0\377\"(1\377\"&.\377\"'1\377\"'/\377"\r
-  "\"'/\377#)1\377#(0\377#(2\377\"'2\377\"'/\377#'1\377!'/\377\"'0\377\"&0\377"\r
-  "\"&.\377\")1\377#)1\377#)1\377$)1\377!(0\377#(2\377\")1\377\"&.\377$(0\377"\r
-  "\"(2\377\")1\377\"(2\377\"'/\377!'.\377#(1\377\"&0\377\"(1\377\40&.\377\""\r
-  "&.\377\"&1\377\"'2\377\"'0\377\"'0\377#(0\377\"(1\377!'.\377#(1\377#)1\377"\r
-  "#(0\377\"(2\377\"(1\377$(1\377\"(2\377#(1\377\"(2\377\"(2\377\"(0\377!&."\r
-  "\377\"&.\377Zej\377\34!(\377%*2\377%+2\377&,5\377&-4\377%*2\377%+3\377&+"\r
-  "5\377&-5\377(.4\377&-3\377&-4\377%+2\377%*3\377%*3\377%*2\377%+4\377$*1\377"\r
-  "$*1\377$*1\377$)0\377%*3\377$)0\377$+2\377%+1\377#*2\377$*1\377#*2\377#)"\r
-  "2\377#)2\377#*2\377$*1\377%+2\377$*1\377$)0\377#)0\377#(0\377#)1\377#'0\377"\r
-  "%*1\377%+1\377$*1\377%*1\377$(0\377$(1\377$*2\377#)2\377#)2\377$*1\377$)"\r
-  "1\377%+1\377#)1\377#*1\377$+2\377\36$+\377\")1\377\37$+\377>?7\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FE;\377\""\r
-  "&*\377\40'/\377#)0\377#(/\377#(/\377#'/\377#(1\377\")1\377\"(0\377\"(/\377"\r
-  "#(2\377\")2\377#(0\377#(0\377#*2\377#*1\377#(/\377\")1\377\"'1\377#(1\377"\r
-  "#(1\377\"'0\377#'/\377$(1\377%)1\377$(0\377#'/\377#(0\377\"'1\377#(0\377"\r
-  "#)2\377#(0\377\")0\377\"(1\377#(1\377\"&.\377\"'0\377\"&0\377#(0\377!'/\377"\r
-  "\"(1\377#'1\377$*3\377$(1\377\"(0\377$*1\377\"'/\377\"(0\377\"'0\377#)1\377"\r
-  "\")1\377!)1\377&,4\377\"'0\377\"(1\377#(0\377!%-\377\"&.\377Ydi\377\36!'"\r
-  "\377&,4\377&,4\377',3\377(.6\377'-6\377(-5\377&-5\377'-6\377&-5\377&.3\377"\r
-  "&.5\377&,3\377&-5\377%+3\377$+3\377(.5\377&,2\377%,2\377$(3\377%*1\377$)"\r
-  "0\377#(2\377%,3\377#*2\377#*2\377#*2\377#*2\377$*1\377%*1\377%+3\377%*1\377"\r
-  "#)0\377%+1\377%*1\377#(1\377$)1\377#*2\377$(0\377$)0\377#)0\377#*2\377%*"\r
-  "1\377$*1\377$*1\377#)1\377\")1\377$+2\377#*2\377#(2\377%*1\377%*1\377#(/"\r
-  "\377$)0\377$)0\377$*1\377\37$*\377::4\377KLB\377KLB\377KLB\377KLB\377KLB"\r
-  "\377KLB\377KLB\377LKB\377KLB\377KLB\377EE;\377\"'*\377$+2\377$)1\377\"(0"\r
-  "\377\"'/\377#(0\377$)1\377\"(0\377\"(1\377#(1\377$)1\377#*2\377\"(0\377\""\r
-  "'/\377#*1\377\")1\377\"'0\377\")1\377\40)0\377\"'/\377#(0\377%*3\377\"'/"\r
-  "\377\"&/\377\"'/\377#'/\377\"'/\377\")1\377\"&0\377#(0\377\"'1\377\")2\377"\r
-  "\"'0\377\"'0\377\"'1\377\"&/\377!'0\377\"'0\377\"(0\377\"'1\377#'1\377$)"\r
-  "1\377\"(0\377\"'1\377\"&/\377$)1\377#)0\377\")1\377\"&/\377\"'1\377#*2\377"\r
-  "\"(2\377#(2\377#)1\377#)1\377#(0\377#'/\377\"&.\377Ydi\377\36!'\377&-3\377"\r
-  "%*2\377%+1\377'-5\377'-5\377(.6\377'.6\377&.5\377(.5\377'-5\377%,3\377%-"\r
-  "4\377&+5\377&+5\377%+2\377%,4\377%+2\377&+2\377&+3\377&+2\377%+1\377$+1\377"\r
-  "#)1\377$)1\377%*3\377$*1\377#*1\377#)1\377$)1\377$+2\377%*2\377%*4\377%*"\r
-  "3\377%*1\377#*2\377#(2\377$)1\377#)1\377#*2\377#)2\377#*2\377$*1\377\"*2"\r
-  "\377#)1\377#*1\377#*2\377#)2\377$(0\377#)2\377$*1\377%*1\377%+1\377%+1\377"\r
-  "$+3\377$)1\377\35\"+\377<<6\377LLB\377KLB\377KLB\377KLB\377KLB\377LLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377GF=\377\37'*\377\36&.\377#)2\377\")1\377#)0\377"\r
-  "#)2\377\")0\377$)0\377\"(0\377!(0\377#(1\377\"(2\377#*2\377#*1\377\"'/\377"\r
-  "\")1\377\"(0\377#(0\377#(0\377\")1\377\"(1\377#(2\377$)1\377#'1\377\"'/\377"\r
-  "#)2\377#'0\377\"(0\377$)1\377\"'0\377#)1\377#*2\377\"(1\377#'/\377#'/\377"\r
-  "#'/\377#(0\377#'/\377\")1\377\"&/\377\"&0\377\"&1\377\")1\377#(0\377#'/\377"\r
-  "\"(1\377\"(1\377#(1\377\"(1\377#'/\377#(0\377#)2\377\"(0\377#'1\377#)2\377"\r
-  "#)0\377#(/\377\"&.\377Ydi\377\35!&\377&.4\377&.2\377&-3\377%,3\377&-3\377"\r
-  "&.4\377&.3\377&.4\377&+6\377&-6\377&-6\377'-4\377&-3\377&-3\377&,4\377%,"\r
-  "4\377$)0\377%*2\377%,3\377%*1\377%,3\377%*1\377%*1\377\"*2\377$*1\377%*1"\r
-  "\377$)1\377#)2\377%,4\377#*2\377$*1\377$)1\377%)1\377%+1\377\")1\377$*1\377"\r
-  "%+1\377%-3\377%,3\377%*1\377$*1\377$+2\377%+2\377#*2\377#*2\377#*2\377%+"\r
-  "1\377#+2\377%*1\377#)1\377$)2\377$)1\377$)0\377#*3\377%*2\377$(.\377@@8\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377HG"\r
-  ":\377\"')\377\40'/\377%*2\377\"(1\377#(1\377\")1\377#)0\377\"*2\377\"'1\377"\r
-  "\"&0\377$)1\377#'2\377\40'0\377!&.\377\"'/\377!(/\377!'/\377\"*2\377\"(0"\r
-  "\377\"'0\377\"'1\377\"&.\377#(1\377#)1\377\"'/\377\40*1\377#)1\377#(0\377"\r
-  "\"'0\377\40'0\377\"(2\377\"'0\377\")2\377#(0\377\"'0\377\"&.\377#'/\377\""\r
-  "'1\377\"&/\377\"&0\377!&0\377\")1\377\"'1\377\"(0\377$)1\377#)0\377\"(0\377"\r
-  "\"(1\377\40(/\377\"'0\377\"(0\377\"&/\377\"'/\377#*1\377!*1\377\"(/\377\40"\r
-  "&.\377\"&.\377Ydi\377\35!&\377%+2\377&,4\377&.5\377'+6\377%*2\377(/4\377"\r
-  "&,4\377'-6\377'-6\377&.5\377&.4\377'.6\377'.4\377'.3\377&-4\377%+2\377&+"\r
-  "4\377&-3\377%+1\377$*1\377$*1\377#*2\377$*1\377#)1\377$*2\377%*3\377$(1\377"\r
-  "%*1\377$*2\377$+2\377#(0\377#)0\377$)1\377#)2\377$)1\377#(/\377$*0\377%*"\r
-  "1\377%+2\377%*1\377%*1\377%+2\377%+4\377\"*2\377#(0\377$*1\377$*1\377#(2"\r
-  "\377#)2\377#(0\377$*1\377&,5\377%+1\377#*2\377%,3\377!$.\377==7\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FF=\377#("\r
-  ",\377$*3\377$*3\377\"(1\377\"&0\377#)1\377\"'/\377!'/\377#(1\377$)2\377#"\r
-  "'/\377#(2\377!&1\377\40'.\377#)0\377\"'1\377\"(1\377\")1\377\"'0\377\"'2"\r
-  "\377\"(0\377\"&.\377\")0\377%*2\377!(0\377!'/\377%*1\377#'1\377#'1\377\""\r
-  "'1\377#(1\377#(0\377!'/\377$)1\377\"'2\377\"(0\377#'/\377\"'/\377#'0\377"\r
-  "\"'.\377!)1\377#*2\377\"'/\377\"&.\377#(0\377\"(0\377#'/\377\"'/\377!'.\377"\r
-  "\"(0\377\40'/\377!&.\377\40'/\377#)0\377$*2\377%)2\377\"&0\377\"&.\377Ze"\r
-  "m\377\34!)\377&-3\377%+2\377',4\377(-5\377&+3\377&-2\377&.3\377',6\377'."\r
-  "6\377&.5\377',5\377%-5\377&,5\377&-6\377&-2\377&,3\377%+3\377%*1\377$*1\377"\r
-  "%+2\377$*2\377$)2\377%*1\377%,1\377%*1\377$)1\377%+1\377%)1\377%+1\377#*"\r
-  "2\377%,1\377%+1\377#)1\377#)1\377#'0\377$*1\377$)0\377$*1\377%*1\377%*1\377"\r
-  "#*2\377#)2\377#(2\377%*1\377$*1\377$*1\377%*1\377%*1\377%*4\377$*2\377$*"\r
-  "2\377#)2\377$*2\377$*1\377%+2\377#&/\377??8\377NLC\377KLB\377KLB\377KLB\377"\r
-  "LKB\377KLB\377KLB\377KLB\377KLB\377KLB\377EF;\377\36%(\377$)3\377%*1\377"\r
-  "#)1\377#'/\377\"'/\377#)1\377#)1\377#)2\377#)2\377\")1\377#*2\377\"'1\377"\r
-  "\"&0\377#(0\377\40(0\377$)1\377\"(0\377\"&.\377\"'/\377\"'0\377!'0\377\""\r
-  "&/\377\"&0\377$)0\377\40&.\377\"(1\377\"&0\377\")2\377#)1\377#'0\377!'0\377"\r
-  "\"'/\377#&0\377\")1\377$)0\377\"(1\377!'/\377\"&.\377\"'0\377\"&.\377#'0"\r
-  "\377$+1\377\"'/\377#(0\377\"'/\377\"'0\377\"(2\377\"'0\377!%.\377\"&0\377"\r
-  "\40&/\377#'1\377#)1\377\"(1\377\"'1\377#%.\377\"&.\377Yej\377\35!(\377%*"\r
-  "3\377&*4\377&+6\377'.6\377(,6\377&+5\377&.6\377&.6\377&,6\377'.5\377'.6\377"\r
-  "'-5\377&+3\377(-6\377&,4\377&-3\377%*1\377%*1\377%-2\377$+3\377$*2\377%+"\r
-  "1\377#*2\377$+2\377%+1\377$*1\377%*1\377$(0\377%*1\377%*1\377$*1\377$)1\377"\r
-  "$)1\377%*1\377%*1\377$*1\377$)1\377#*1\377$*1\377%*1\377$*1\377$)1\377#*"\r
-  "2\377%*1\377#+3\377#+3\377$+2\377$+1\377$)1\377$*2\377$*2\377%*1\377$+2\377"\r
-  "#*2\377$+1\377\33\40%\377<=4\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"\r
-  "KLB\377KLB\377KLB\377KLB\377JG=\377\"&(\377\34\"+\377#)2\377#'1\377$)0\377"\r
-  "\"(1\377$)1\377\"&0\377!&/\377\"'1\377#)1\377#*2\377$)1\377\"'/\377!(/\377"\r
-  "\"(1\377$)1\377#'/\377$)0\377$)1\377$*1\377$)1\377\"'0\377\"&1\377#'0\377"\r
-  "\"&0\377#(0\377\"&1\377\"'0\377#'1\377$)3\377\"'/\377#(/\377#'/\377\"'1\377"\r
-  "#'/\377\"&1\377\40&.\377\"(0\377\"'/\377!'.\377%)1\377\"(/\377\")1\377!("\r
-  "1\377!(/\377\"&0\377\"&0\377\"'/\377!'/\377\"&1\377\"&0\377#'/\377#(1\377"\r
-  "\"'/\377#*1\377\40$-\377\"&.\377Ydi\377\35!&\377&,3\377&,4\377'-6\377'.4"\r
-  "\377'-5\377(.6\377(.6\377&,5\377&+4\377&-5\377&,6\377&.5\377&*5\377%+2\377"\r
-  "%*3\377%,2\377%*2\377%*1\377$+3\377%,2\377%+2\377#)2\377#)2\377%*2\377#*"\r
-  "1\377$)0\377#(0\377$*1\377#(0\377#(2\377%*1\377$)0\377$*3\377#*2\377#)3\377"\r
-  "%*3\377$*1\377$*1\377#*2\377$*1\377$*1\377%+1\377%*1\377$*1\377#*2\377$*"\r
-  "1\377%)1\377$*1\377%+1\377$,3\377$*1\377$*1\377%*1\377#*1\377$*1\377!(/\377"\r
-  "AC:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377LKB\377KLB\377KLB\377LJ"\r
-  "B\377ROB\377(.1\377\")1\377$(2\377\"'/\377\")1\377\")1\377#(2\377$*2\377"\r
-  "\"(1\377$,4\377#'0\377#(1\377\"&0\377\"&2\377\"(1\377#(0\377\"&/\377\"(0"\r
-  "\377\"'/\377\"(0\377\"(2\377\"(1\377\"(0\377#(1\377\"&/\377\"&0\377\"'0\377"\r
-  "\"'0\377\"'1\377!&.\377\"'/\377$)1\377\"'0\377#*2\377#'1\377\"'/\377\"&/"\r
-  "\377!&.\377#(1\377\")1\377\"&/\377#'/\377\"'0\377$)1\377!'0\377\40&/\377"\r
-  "!'/\377\"&1\377!&.\377\"'0\377$)0\377\"'1\377\"&0\377!'/\377\"(/\377#(/\377"\r
-  "#(0\377\"&.\377Ydi\377\35!'\377&-4\377&+5\377',4\377'.4\377'-5\377'.5\377"\r
-  ").5\377',7\377(-5\377&-5\377&+5\377&.6\377&-6\377&,4\377%+4\377%+2\377%*"\r
-  "2\377$*2\377%*2\377%*1\377$,3\377$+2\377$*1\377%*1\377$,1\377%-2\377%*1\377"\r
-  "$*1\377$*1\377$*1\377#(0\377$*1\377$*3\377$*2\377$)2\377%*2\377%*1\377#*"\r
-  "2\377#*2\377$*1\377%*1\377%*1\377#*2\377$*3\377%,2\377%+1\377#)0\377$)0\377"\r
-  "$+2\377%*1\377%+1\377$*1\377%,2\377\"'.\377$)0\377!(1\377BA:\377LLB\377K"\r
-  "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KKB\377GD;\377#(."\r
-  "\377$*3\377\")1\377\40&/\377#)1\377\"'0\377#)1\377$(0\377\")1\377#*1\377"\r
-  "#)0\377#)1\377$)0\377\"(1\377\"*2\377\"(0\377\"(/\377\"'/\377\"'/\377\"*"\r
-  "1\377\"(0\377\"(1\377\"(0\377\"(0\377\"(1\377#(/\377\"&/\377\"(1\377#)1\377"\r
-  "!'/\377\"&/\377!(/\377\"'/\377\"'/\377$(0\377\"'/\377\"&0\377!&/\377\40'"\r
-  "/\377\"(2\377\"&0\377$)0\377#(1\377\"'/\377\"&/\377\"&/\377#(0\377#)2\377"\r
-  "#)0\377\"&1\377\40&.\377\40&/\377\"&.\377\"'/\377\40&.\377\"'/\377\"&0\377"\r
-  "\"&.\377Ydi\377\35!'\377&,3\377&+4\377&,6\377&-6\377&+4\377&-6\377&-6\377"\r
-  "',4\377'.6\377%-4\377%+2\377&-4\377&*3\377&+3\377%,3\377$+2\377%*3\377%+"\r
-  "1\377%+1\377%+2\377$+2\377%*1\377%*1\377#(/\377$)1\377$*3\377%*2\377%*4\377"\r
-  "$*1\377#)1\377#)1\377$*1\377#*2\377$*1\377%*1\377#(1\377#)1\377$+2\377$)"\r
-  "2\377\")1\377#*1\377$+1\377#)0\377#)2\377#*2\377#)2\377$)1\377\")1\377#*"\r
-  "2\377$*1\377#*2\377#*2\377&+2\377$)0\377#*2\377\37'1\377.6;\377SOB\377KL"\r
-  "B\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377NLA\377=?>\377\36'"\r
-  "0\377$)0\377\"&.\377\")1\377#(0\377#(0\377\40&.\377!&.\377\"&/\377\"&.\377"\r
-  "\"&.\377\"&.\377#(1\377#(1\377#(0\377\"(0\377!&.\377#(0\377\"(0\377#'0\377"\r
-  "!(0\377\"'/\377!)0\377!&0\377\"'0\377\"&0\377\"'2\377\"'/\377\"&/\377!&."\r
-  "\377\"(0\377!(0\377\40&-\377\")1\377#'0\377#(2\377\")0\377\40'.\377!&.\377"\r
-  "#(1\377\"&.\377\"'1\377\"(2\377\"'2\377\"'/\377\40&.\377\"'0\377\"(0\377"\r
-  "!'0\377\"&1\377\"'2\377\"&/\377\"&/\377#'/\377#'/\377!&.\377\"%-\377\"&."\r
-  "\377Ydi\377\36!&\377%*2\377&+5\377'-4\377&.5\377&-5\377%+3\377&+5\377&-6"\r
-  "\377&+5\377&,2\377%+3\377&,5\377$*2\377$*2\377%*2\377%*1\377$*2\377%*3\377"\r
-  "#*2\377$*2\377#*2\377%*3\377#*2\377$*1\377#*2\377#)2\377#*2\377$)2\377$*"\r
-  "2\377#*1\377#)1\377$)1\377#*2\377\"*2\377#*2\377#)2\377#*1\377#)0\377%,3"\r
-  "\377\")1\377$)1\377%*1\377#)1\377#(2\377#'1\377%)1\377$)0\377$)1\377%+1\377"\r
-  "#)2\377\"'1\377#*1\377#*1\377\")1\377$)4\377$*1\377\40+9\377GKP\377NMC\377"\r
-  "KLB\377KLB\377KLB\377KLB\377KLB\377JKC\377HID\377OQQ\377#-:\377\"'0\377\""\r
-  "&0\377$(0\377!&1\377\"'1\377!&.\377\37&-\377!&.\377\"&/\377\"&0\377\"&.\377"\r
-  "\"(0\377\"(0\377#(0\377!&.\377\"'1\377\"'1\377\"'1\377\40(0\377\"'0\377\""\r
-  "'/\377\"'0\377!&/\377#(0\377\")1\377\"&0\377\40(0\377\"&.\377\"&/\377\"&"\r
-  "0\377\"&.\377!&0\377\"&/\377$)0\377#'/\377\"&/\377\"&0\377\"(0\377\40'.\377"\r
-  "#)0\377\"'/\377#)1\377\"'0\377\"&/\377\"&.\377!&0\377\"(/\377\"&/\377\40"\r
-  "&/\377!&.\377!'/\377\40&.\377\40&.\377\40'.\377!%-\377\40#+\377\36#+\377"\r
-  "\"&.\377Ydi\377\34\40&\377%*1\377%*1\377%*2\377%,2\377&+5\377%+3\377%*3\377"\r
-  "&-4\377&+2\377'+4\377&,5\377%+2\377%)1\377$)1\377#*2\377%*1\377$*1\377%*"\r
-  "1\377$*1\377$*1\377%+2\377$*1\377#)0\377%*1\377%*1\377$)1\377%*1\377$*1\377"\r
-  "%*1\377#)2\377#)2\377#(2\377$*3\377\")2\377$*1\377%)2\377#(0\377%*1\377%"\r
-  "*1\377\"(0\377\"(1\377$)0\377#)1\377$'0\377#'0\377#'0\377\"&.\377\"&.\377"\r
-  "#'/\377#(1\377#(1\377!(0\377$(0\377!)0\377\"*2\377\")1\377#'/\377-7C\377"\r
-  "[aa\377SQD\377JJ@\377KLB\377KLB\377LKA\377QPC\377ggc\3774?O\377\36$,\377"\r
-  "\"'0\377!&.\377!'.\377\40&.\377\40&-\377\40&-\377!&.\377\40&-\377\40'/\377"\r
-  "!&.\377#'/\377#(/\377\"&/\377\"&.\377!&/\377\"'1\377\"'/\377!(0\377\"(1\377"\r
-  "!'0\377!(0\377#'0\377#(1\377\"'/\377!(1\377!'.\377!'/\377#'0\377#'/\377\""\r
-  "&/\377!&.\377!&.\377!&.\377\"&.\377\"&1\377\"&.\377\"&.\377\"&.\377\"&.\377"\r
-  "!'0\377!&.\377\")0\377\"&.\377#'/\377!'.\377\40&-\377\"%-\377\"&.\377!&."\r
-  "\377!&.\377\"'/\377\"&.\377\"&.\377\37%-\377\40$,\377\37#*\377\36\")\377"\r
-  "\"&.\377Ydi\377\32\36$\377%*1\377%*1\377%+1\377%+1\377%*2\377%+2\377%+2\377"\r
-  "$*2\377%*1\377%,2\377#*2\377%*1\377#)1\377#(1\377#)1\377\"'/\377%*1\377$"\r
-  ")1\377#(1\377$)1\377$*1\377$(0\377#(0\377$)1\377$)1\377#*1\377!'.\377#(/"\r
-  "\377$(0\377\"(0\377\"(0\377\")1\377\"&.\377#(0\377#(0\377$)0\377\"'/\377"\r
-  "\"&.\377#(/\377!&.\377!&0\377!&.\377\"&0\377\"&/\377\"(/\377!&.\377!(0\377"\r
-  "!&.\377\40&.\377!&.\377#'/\377\"&.\377#(/\377!'.\377!'.\377!(0\377\"&.\377"\r
-  "\34!(\377%0=\377Qan\377jkk\377fbV\377db\\\377hf^\377UZ_\377.5?\377\32\36"\r
-  "(\377\40'/\377\40&.\377\37&-\377!&.\377!&/\377!%.\377\40&-\377\36$,\377\36"\r
-  "%-\377\36&-\377!'.\377\"'.\377\"'.\377\40&/\377\37&.\377\40&-\377\37%-\377"\r
-  "\40%-\377!&.\377!&.\377\"(/\377\"&.\377\")0\377!'.\377\37&.\377\40%.\377"\r
-  "!&.\377\"&0\377\"&.\377\"&.\377!&.\377\37&-\377\37&-\377\36&-\377\"&/\377"\r
-  "!&.\377\40&.\377!&.\377!&.\377\"'/\377#)0\377\"'.\377\40&.\377\40&.\377\""\r
-  "&.\377!'.\377!$-\377\"%-\377\40&.\377\40&-\377!&-\377\37&-\377!$,\377\40"\r
-  "$,\377\40'.\377\"&0\377\40$-\377!%-\377\"&.\377Ydi\377\32\35&\377$*1\377"\r
-  "%-2\377%+2\377%+1\377$+1\377%+1\377%+1\377$)0\377$(0\377\"(0\377!(/\377#"\r
-  "(/\377\"'/\377\40&-\377!&.\377!&.\377!(/\377\"&.\377\"&-\377!&.\377!'.\377"\r
-  "\"&/\377!&.\377\"&.\377!&/\377!&.\377!&,\377\40&.\377\40&-\377\"'/\377\""\r
-  "'/\377!'/\377\40&-\377\37'/\377!&0\377\"&.\377\"&.\377\40%-\377\37%-\377"\r
-  "\36&-\377\37%-\377\37&,\377\40%,\377\37%,\377!&+\377\40&.\377\37&-\377\36"\r
-  "$,\377\35#+\377\34$,\377!(/\377\40&.\377\40(-\377\40&.\377!&.\377\37%,\377"\r
-  "\40%-\377\36%,\377\35$+\377\26\33#\377\35&5\377*08\377',5\377\36%/\377\21"\r
-  "\32&\377\31\40(\377\35$+\377\36$,\377\37%,\377\40$,\377\40&-\377\37$,\377"\r
-  "\36$-\377\37#*\377\34#+\377\22\33#\377\33\",\377!&.\377\36$+\377\37%-\377"\r
-  "\37%,\377\36#+\377\36#+\377\37$,\377\37$,\377\37&-\377\37&-\377\37&-\377"\r
-  "!&.\377\37&-\377\37&-\377!%.\377!$-\377\40%-\377!%-\377!%-\377!&.\377\37"\r
-  "&-\377!&.\377\37&-\377\37&-\377!&/\377\40&.\377\40&-\377\40&.\377\40&-\377"\r
-  "\40&.\377\"&.\377\"'/\377!&.\377!&.\377\"&.\377#'-\377\37&-\377\37$,\377"\r
-  "\36&-\377\36&-\377!%,\377\36&-\377\40$+\377\36#+\377%,1\377!'.\377\37#,\377"\r
-  "\40$.\377\"&.\377NW[\317\21\27\37\377#)1\377&+3\377%+3\377%*2\377%+2\377"\r
-  "#(0\377\"'/\377\"'/\377!&.\377!&.\377!%-\377!%-\377\36&-\377\40%.\377\40"\r
-  "&-\377\36%,\377\37%-\377\37%,\377\37%,\377\40%-\377!%-\377\40%+\377\40%-"\r
-  "\377\37%,\377\37%-\377!%.\377\40$*\377\35#+\377\36$,\377\36\"*\377\35#*\377"\r
-  "\36#+\377\37\"+\377!$-\377\37%-\377\35$+\377\36$+\377\34$,\377\33!)\377\34"\r
-  "!)\377\35!)\377\35!(\377\35\")\377\36#*\377\36\")\377\34\40(\377\24\33\""\r
-  "\377\14\23\33\377'()\377\36\37#\377\21\26\37\377\31\36'\377\34\"(\377\32"\r
-  "\40)\377\36$,\377\34!)\377\35#*\377\33\40(\377\35\"+\377\35#+\377\31\40)"\r
-  "\377\33\"+\377\30\37)\377\32\37'\377\31\37(\377\33\40(\377\30\36'\377\32"\r
-  "\37(\377\31\37'\377\33\40)\377\33\"*\377\32\40*\377\30\35&\377\21\27\37\377"\r
-  "\23\24\26\377)*-\325\20\21\25\371\23\30\36\377\24\36$\377\30\37&\377\30\37"\r
-  "&\377\30\34%\377\27\34\"\377\30\34$\377\30\34#\377\32\35!\377\32\34!\377"\r
-  "\27\33\40\377\26\33\40\377\27\35\40\377\30\33!\377\27\33\40\377\30\35#\377"\r
-  "\30\35$\377\32\36#\377\30\33\"\377\27\36#\377\30\34#\377\27\33\"\377\30\34"\r
-  "\"\377\30\34#\377\27\35#\377\31\34\"\377\30\35#\377\30\35#\377\27\33\"\377"\r
-  "\31\34!\377\30\34#\377\30\33!\377\30\33\"\377\30\35\"\377\27\32!\377\30\33"\r
-  "\"\377\26\33\40\377\26\33\40\377\26\35!\377\26\32\37\377\26\33\40\377\26"\r
-  "\33\40\377\26\33\40\377\27\33\40\377\26\32\40\377\25\32\37\377\15\21\26\377"\r
-  "\4\10\15\377\24\27\33\317\1\1\1\40\2\5\7\321\23\26\34\377\"&/\377!&/\377"\r
-  "!%-\377\40$-\377\37$,\377\36#+\377\37$,\377\36#+\377\36#+\377\36\"*\377\36"\r
-  "#+\377\36#+\377\36#+\377\36#+\377\36\"*\377\36#*\377\36\"*\377\36\"*\377"\r
-  "\36\"+\377\36\"*\377\36\"*\377\36\"*\377\35\"*\377\36\"*\377\36\"*\377\36"\r
-  "\"*\377\35!)\377\36\"*\377\36\"*\377\35!)\377\36\"*\377\36\"*\377\36\"*\377"\r
-  "\35\"*\377\35\"*\377\22\25\31\377\11\14\17\377\12\13\16\377\11\13\16\377"\r
-  "\12\14\16\377\12\14\17\377\13\14\16\377\13\14\17\377\13\14\16\377\11\12\15"\r
-  "\377\3\7\12\377>>?\362{}{ZPNNu\21\21\26\377\5\7\12\377\10\11\13\377\10\12"\r
-  "\15\377\11\14\17\377\11\13\17\377\12\13\16\377\10\12\15\377\10\12\16\377"\r
-  "\12\14\17\377\11\14\20\377\11\14\21\377\11\14\20\377\11\13\16\377\10\12\15"\r
-  "\377\10\12\15\377\6\11\14\377\7\12\15\377\6\11\14\377\10\12\15\377\10\12"\r
-  "\15\377\6\11\14\377\4\6\12\377\1\3\4\377(((u\376\376\372(\27\30\32\201\1"\r
-  "\1\1\377\2\5\6\377\4\5\10\377\5\6\10\377\4\3\7\377\3\5\6\377\4\3\6\377\4"\r
-  "\2\4\377\3\3\1\377\3\2\1\377\3\1\1\377\2\1\1\377\3\3\1\377\1\1\1\377\1\1"\r
-  "\1\377\1\1\1\377\1\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1"\r
-  "\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377"\r
-  "\2\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1"\r
-  "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1"\r
-  "\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\4\321\1\1\1\40"\r
-};\r
+/* GIMP RGBA C-Source image dump (fd-img-128x128.c) */
+
+uint8 floppyDiskImg[] = {
+//     128 / 256, 128 % 256,   // width (HI byte, LO byte)
+//     128 / 256, 128 % 256,   // height (HI byte, LO byte)
+       "\000\200\000\200"              // Same thing as above, just in octal... :-P
+  "\213\234\243\40`lq\321[ej\377\\fj\377\\fk\377[ej\377]fk\377[ej\377\\gl\377"
+  "[fk\377Zej\377Zej\377\\fk\377Zek\377^hj\377\\ej\377^jp\377^io\377^jp\377"
+  "`kp\377bmr\377ams\377[gl\377[fk\377[fk\377Zek\377Zfj\377[hm\377Zfk\377[g"
+  "l\377Zej\377Zej\377[ej\377]hm\377Zek\377\\fl\377^im\377[fk\377Zej\377Zek"
+  "\377[fl\377]hl\377\\in\377[fk\377Zfj\377[fk\377[fk\377Zej\377[fm\377[fm\377"
+  "[go\377[hp\377[fk\377]ip\377\\ho\377Zfm\377Zfl\377[fm\377[fm\377[fl\377["
+  "fl\377[fo\377[fm\377[ho\377[fn\377[fo\377\\hq\377[gp\377[fp\377\\jt\377["
+  "hr\377\\jq\377[js\377\\js\377\\jt\377^is\377\\jr\377`mt\377]go\377[hp\377"
+  "[io\377]iq\377]ir\377[go\377[hp\377]jq\377\\is\377[iq\377[iq\377\\kt\377"
+  "\\kt\377amt\377^ls\377_ls\377`mt\377]lt\377]kr\377]js\377`nx\377\\ku\377"
+  "]mv\377]mv\377^oy\377cqy\377bqz\377bpx\377`py\377ar~\377ar~\377`p{\377_p"
+  "{\377aq}\377_oz\377_p{\377ar~\377ar~\377`q|\377`p|\377`q|\377ar}\377bq{\377"
+  "br}\377ft}\377dt~\377hw~\377es|\377]ip\321&.6\40`lq\317\17\26\36\377\16\25"
+  "\37\377\16\27#\377\20\30#\377\16\26\"\377\20\27#\377\11\20\31\377\5\15\27"
+  "\377\3\12\25\377\2\12\24\377\4\14\26\377\3\10\20\377\2\7\22\377\5\10\20\377"
+  "\3\5\17\377\5\12\23\377\5\12\22\377\5\11\23\377\7\11\23\377\11\16\25\377"
+  "\13\21\30\377\3\11\17\377\2\3\13\377\2\3\14\377\3\6\13\377\2\7\16\377\3\12"
+  "\20\377\2\10\16\377\5\14\23\377\2\11\22\377\2\10\21\377\4\13\24\377\12\21"
+  "\31\377\5\14\26\377\4\10\21\377\4\14\25\377\3\10\17\377\2\7\15\377\2\10\20"
+  "\377\2\5\20\377\6\12\23\377\5\11\21\377\2\6\21\377\2\11\23\377\2\12\24\377"
+  "\2\10\22\377\2\3\21\377\2\7\22\377\3\7\20\377\5\16\32\377\5\16\30\377\2\11"
+  "\24\377\4\14\30\377\3\13\27\377\2\7\23\377\2\3\16\377\2\4\17\377\2\4\17\377"
+  "\2\3\15\377\2\6\15\377\2\3\16\377\2\5\16\377\2\7\21\377\2\4\20\377\2\4\17"
+  "\377\3\5\17\377\3\4\16\377\2\4\17\377\3\7\21\377\2\5\20\377\3\7\22\377\3"
+  "\7\21\377\3\11\24\377\3\10\21\377\5\10\17\377\4\12\22\377\6\11\21\377\4\7"
+  "\20\377\2\5\17\377\2\6\17\377\4\6\23\377\4\6\23\377\2\4\17\377\2\5\22\377"
+  "\4\7\23\377\3\6\23\377\2\10\24\377\3\13\24\377\3\10\22\377\3\10\25\377\7"
+  "\11\22\377\5\10\21\377\6\11\23\377\6\11\27\377\4\11\30\377\4\10\23\377\4"
+  "\7\23\377\6\13\25\377\3\7\22\377\4\10\21\377\4\10\20\377\5\11\21\377\11\14"
+  "\25\377\10\14\24\377\10\13\23\377\6\12\17\377\10\14\25\377\10\14\25\377\6"
+  "\12\22\377\6\12\22\377\6\13\22\377\5\12\20\377\6\12\20\377\7\14\23\377\7"
+  "\14\22\377\6\13\20\377\6\12\21\377\6\14\25\377\10\17\33\377\14\26\"\377\21"
+  "\34+\377\31#0\377\31&1\377\40+3\377#+5\377\30\",\377$*2\317Zhq\377\36$/\377"
+  "'/7\377%,5\377',7\377\36%0\377\21\26\36\377\12\17\24\377\3\11\21\377\2\10"
+  "\17\377\2\7\17\377\2\3\12\377\2\3\11\377\2\5\14\377\2\3\13\377\2\2\7\377"
+  "\2\2\10\377\2\2\10\377\2\2\5\377\2\2\5\377\2\2\4\377\1\1\1\377\1\1\1\377"
+  "\1\1\1\377\1\1\1\377\1\1\1\377\1\1\3\377\1\1\1\377\1\1\1\377\1\1\1\377\1"
+  "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\1"
+  "\2\377\4\2\3\377\11\12\12\377\12\13\13\377\27\26\21\377\17\17\13\377\10\11"
+  "\11\377\15\15\13\377\16\17\16\377\23\23\16\377\22\22\20\377\31\27\25\377"
+  "\32\33\27\377#!\32\377!\40\32\377\25\24\20\377\24\22\16\377\24\24\16\377"
+  "\25\25\20\377\34\34\27\377\37\37\32\377''!\377*&\36\377&#\33\377%\"\35\377"
+  "+(\"\377((#\377-*#\377//,\37740&\37720.\377211\37732/\37773)\37751'\3776"
+  "41\37720.\37796/\377888\377666\377<::\377:99\377?>?\377ECA\377D?<\377EA>"
+  "\377BBB\377???\377@>=\377FF=\377B?9\377>;9\377AA6\377CA:\377CD=\377HK=\377"
+  "JLD\377NKH\377RMG\377KLK\377ILB\377NPA\377b_S\377`[Q\377]YP\377YVR\377ZU"
+  "L\377^ZS\377`f^\377ihh\377jii\377ji`\377ji_\377jjc\377jif\377jhj\377jhj\377"
+  "jhj\377jii\377jhj\377jii\377jig\377c^T\377420\377\7\12\25\377\34\"*\377&"
+  "+4\377'.7\377+2:\377&0:\377#)1\377Zhp\377\40'0\377*08\377'.6\377\"(3\377"
+  "\20\23\27\377AC@\377\232\227\223\377\257\252\244\377\257\256\257\377\277"
+  "\277\270\377\303\302\262\377\303\301\275\377\300\274\253\377\303\277\301"
+  "\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303"
+  "\300\303\377\303\300\303\377\303\300\303\377\303\300\303\377\303\300\303"
+  "\377\303\300\303\377\303\300\303\377\303\301\270\377\303\300\303\377\303"
+  "\300\303\377\303\300\303\377\303\301\303\377\303\301\303\377\303\301\303"
+  "\377\303\301\303\377\303\301\303\377\303\301\303\377\303\301\303\377\304"
+  "\301\303\377\305\301\304\377\310\305\310\377\310\305\307\377\314\310\270"
+  "\377\313\311\307\377\307\305\307\377\312\307\310\377\313\310\312\377\316"
+  "\313\312\377\315\312\311\377\321\315\316\377\322\317\317\377\326\322\321"
+  "\377\325\322\321\377\317\313\312\377\316\311\312\377\316\313\312\377\317"
+  "\315\276\377\323\320\317\377\324\324\315\377\331\326\323\377\332\325\322"
+  "\377\330\324\321\377\330\324\311\377\333\330\317\377\331\326\326\377\334"
+  "\332\313\377\335\335\324\377\340\335\317\377\336\335\314\377\337\336\331"
+  "\377\336\333\312\377\337\332\303\377\340\333\327\377\341\335\336\377\337"
+  "\333\334\377\343\340\333\377\342\340\341\377\341\336\341\377\344\341\343"
+  "\377\343\340\342\377\346\343\345\377\351\346\346\377\351\344\344\377\351"
+  "\345\345\377\350\345\347\377\346\343\345\377\346\343\345\377\352\347\345"
+  "\377\350\343\343\377\346\341\342\377\347\344\341\377\350\344\343\377\350"
+  "\346\345\377\353\352\345\377\354\352\351\377\356\352\352\377\361\354\351"
+  "\377\355\352\355\377\354\352\350\377\356\355\347\377\371\365\361\377\371"
+  "\363\360\377\367\361\357\377\365\360\361\377\365\357\355\377\370\362\361"
+  "\377\371\371\367\377\376\372\375\377\376\372\376\377\376\373\371\377\376"
+  "\373\370\377\376\373\372\377\376\372\374\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\373\375\377\376"
+  "\373\374\377\372\365\362\377\337\333\334\377sof\377\16\21\31\377\"*2\377"
+  "*/8\377,08\377&,7\377#)1\377Zen\377%&-\377).7\377%*3\377\12\14\21\377\213"
+  "\211\212\377\376\373\375\377\376\372\376\377\376\372\376\377\376\374\374"
+  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375\377\376"
+  "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376"
+  "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"
+  "\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"
+  "\375\373\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\362\377\376\375\373\377\376\374\374\377\376"
+  "\374\374\377\376\374\373\377\376\376\366\377\376\374\373\377\376\375\373"
+  "\377\376\376\361\377\376\376\371\377\376\375\373\377\376\375\373\377\376"
+  "\376\370\377\376\376\371\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"
+  "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"
+  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"
+  "\375\373\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"
+  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"
+  "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374"
+  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"
+  "\374\374\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\362\355\355\377FC?\377"
+  "\31\37&\377&-5\377$)3\377&.6\377#)1\377Zgq\377$(/\377',4\377\35#+\377PON"
+  "\377\362\356\361\377\376\372\376\377\376\374\374\377\376\375\373\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\375\373\377\376\375\373\377\376\376\372\377\376\376\372\377\376"
+  "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\375\373\377\376\375\373\377\376\375\373\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"
+  "\375\373\377\376\375\373\377\372\371\363\377\375\372\372\377\376\372\376"
+  "\377\230\224\224\377\17\23\27\377',5\377$)2\377%,5\377#)1\377Zeo\377\"%."
+  "\377'+3\377\14\21\33\377\206\203\205\377\376\372\376\377\376\372\376\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\375\373\377\376\375\373\377\376\373\375\377\372\372"
+  "\366\377\375\373\373\377\376\372\376\377\312\304\277\377\11\16\25\377$*5"
+  "\377%*1\377\40(4\377#)1\377Zen\377\37#.\377#)0\377\12\14\20\377\213\210\206"
+  "\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\373\375\377\376\374\374\377\376\373\375\377\376\372\376"
+  "\377\333\327\314\377\6\13\22\377\"*3\377%+1\377\40'0\377#)1\377Zem\377\37"
+  "%-\377%+3\377\14\15\20\377\217\214\211\377\376\372\376\377\376\374\374\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\375"
+  "\373\377\376\373\375\377\376\372\376\377\340\336\327\377\5\13\21\377#*3\377"
+  "$'/\377!)3\377#)1\377[is\377\37%/\377$*2\377\13\14\17\377\213\210\206\377"
+  "\376\373\370\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375"
+  "\373\377\376\375\373\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\340\336\317\377\5\13\21\377$+3\377%)/\377!'0\377#)1\377[js\377\37'1\377"
+  "$*2\377\13\14\16\377\213\210\206\377\376\375\366\377\376\375\373\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\340\336\316\377\3\10\17\377!*2\377#"
+  "(0\377\"(2\377#)1\377[is\377\37%.\377$*1\377\12\14\21\377\213\210\206\377"
+  "\376\372\376\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\375"
+  "\373\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377"
+  "\336\332\312\377\6\14\23\377#)3\377&,3\377\")1\377#)1\377[go\377\35#+\377"
+  "#(0\377\13\14\20\377\216\212\210\377\376\372\376\377\376\372\376\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\333\324\304\377\10\15\24\377%+4\377"
+  "$*2\377\37%.\377#)1\377Zgo\377\33\40(\377'-3\377\13\15\20\377\211\207\205"
+  "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376"
+  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\336\333\316\377\7\14\23\377%*3\377%+3\377!&/\377#)1\377Zgo\377\36$+"
+  "\377&+4\377\11\12\15\377\207\204\205\377\376\372\376\377\376\372\376\377"
+  "\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377"
+  "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\333\326\315\377\12\17\25\377&+4"
+  "\377&+3\377#*2\377#)1\377Zeo\377\37#-\377'.5\377\13\14\16\377\211\207\205"
+  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\374\374\377\376\372\376\377\376\373\375\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376\372\376"
+  "\377\324\316\303\377\11\16\25\377#+5\377',7\377\"'2\377#)1\377Zfp\377\37"
+  "%/\377,07\377\17\20\22\377\221\216\214\377\376\372\376\377\376\372\376\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\374\374\377\376\375\373\377\376\374\374\377"
+  "\376\373\375\377\376\372\376\377\376\373\375\377\376\373\375\377\376\373"
+  "\375\377\376\373\375\377\376\372\376\377\321\311\300\377\12\17\25\377#)4"
+  "\377&-4\377\")2\377#)1\377Zgq\377\35$,\377(/6\377\11\13\14\377\207\205\205"
+  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\375\373\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\375\373\377\376\374\374\377\376\372\376"
+  "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376"
+  "\373\375\377\376\373\375\377\376\373\375\377\375\374\375\377\376\372\376"
+  "\377\327\321\310\377\10\15\23\377#*3\377'-5\377\40&.\377#)1\377Ydj\377\33"
+  "\40%\377&.4\377\13\14\15\377\213\211\207\377\376\372\376\377\376\372\376"
+  "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\373\375\377\376\375\373\377\376\375\373\377\376\373\375\377\376"
+  "\373\375\377\374\374\376\377\376\372\376\377\330\321\304\377\5\13\21\377"
+  "&-6\377)/6\377\40%,\377#)1\377Zel\377\34\40(\377%-4\377\12\13\20\377\210"
+  "\206\210\377\376\372\376\377\376\372\376\377\376\373\375\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\374\374"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374"
+  "\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\375\373"
+  "\377\376\373\375\377\376\373\375\377\376\375\373\377\376\373\375\377\376"
+  "\372\376\377\327\317\302\377\7\15\23\377\"*3\377$+3\377\37$)\377#)1\377Y"
+  "di\377\33!%\377(-6\377\13\14\16\377\214\211\207\377\376\372\376\377\376\372"
+  "\376\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\314\306\270\377\7\15\24"
+  "\377!)1\377&-2\377\37#(\377#)1\377Ydi\377\33\37&\377(/7\377\14\15\21\377"
+  "\214\211\207\377\376\372\376\377\376\372\376\377\376\375\373\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373"
+  "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\314\305\270\377\11\14\22\377!)1\377&-4\377\40&-\377#)1\377"
+  "Ydi\377\33\36$\377)-6\377\13\14\22\377\212\205\205\377\376\372\376\377\376"
+  "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\327\320\302\377\11\16"
+  "\24\377%+4\377&-3\377\36&.\377#)1\377Ydi\377\34\36%\377&,6\377\15\15\16\377"
+  "\222\215\207\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374"
+  "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\374\374\377\376\374\374\377\376\372\376\377"
+  "\376\372\376\377\322\313\302\377\7\15\23\377%*4\377&+4\377\37&.\377#)1\377"
+  "Ydi\377\27\36$\377&,3\377\15\15\15\377\224\216\207\377\376\372\376\377\376"
+  "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\374\374\377\376\372\376\377\376\372\376"
+  "\377\376\375\373\377\376\373\375\377\376\373\375\377\376\372\376\377\376"
+  "\372\376\377\376\374\374\377\376\373\374\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\333\325\311\377\5\13"
+  "\21\377$*2\377%+1\377\")/\377#)1\377Ydi\377\34\40&\377&,5\377\16\16\15\377"
+  "\225\217\211\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374"
+  "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373"
+  "\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\330\320\300\377\5\13\21\377$(1\377%+2\377\35\"(\377#)1\377"
+  "Ydi\377\34!'\377%+1\377\17\17\17\377\233\225\223\377\376\372\376\377\376"
+  "\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376"
+  "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\374\374\377\376\374\374\377\376\374\374\377\376\373\375"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\315\304\271\377\7\14"
+  "\23\377!(2\377%*1\377\40%,\377#)1\377Ydi\377\36\"'\377&-5\377\17\17\17\377"
+  "\230\223\214\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\373\375\377\376\373\375\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\375\373\377\376\374"
+  "\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\320\311\300\377\7\14\22\377\32\",\377\36#+\377\22\31\40"
+  "\377!&-\377Ydi\377\37#(\377&+5\377\16\16\15\377\225\221\212\377\376\372\376"
+  "\377\376\372\376\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374"
+  "\377\376\373\375\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\272\271\247"
+  "\377\5\7\15\377\6\13\25\377\1\2\4\377\4\4\4\377\32\34\"\377Ydi\377\36$'\377"
+  "(-6\377\21\21\21\377\235\232\224\377\376\372\376\377\376\372\376\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\374\374\377\376\373\375\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\375\373\377\376\374\374\377\376\372\376\377\376\372\376\377\376"
+  "\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\310\303\267\377\1\1\2\377\4\4\7<\1\1"
+  "\1\27\6\6\6\27\35\40%\27Ydi\377\37\")\377'-5\377\21\22\22\377\237\234\230"
+  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\374\374\377\376\372\376\377\376\375\373\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\374\374\377\376\373\375\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\310\301\267\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\35\40"
+  "'\377'.6\377\21\22\21\377\236\233\226\377\376\372\376\377\376\372\376\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376\372\376\377"
+  "\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\373"
+  "\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\274\266\260\377\1\1\1\377\1\1\1"
+  ")\0\0\0\0\0\0\0\0\0\0\0\0Ydi\377\37#)\377'/7\377\24\24\22\377\251\242\233"
+  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\375\373"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376"
+  "\375\373\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\373\375\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\274\270\266\377\1\1\1\377\1\1\1)\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#"
+  "+\377%*4\377\27\26\25\377\263\254\244\377\376\372\376\377\376\372\376\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\375\373\377\376\374\374\377\376\375\373\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376"
+  "\372\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\374\374\377\376\376\372\377\376\376"
+  "\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377"
+  "\376\376\372\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\272\260\250\377\1\1\1\377\1\1\1"
+  ")\0\0\0\0\0\0\0\0\0\0\0\0Zdj\377\37#)\377',4\377\31\31\30\377\272\263\253"
+  "\377\376\372\376\377\376\372\376\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376"
+  "\373\375\377\376\374\374\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\373\375\377\376"
+  "\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\375\373\377\376\373\375\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\374\374\377\376\374\374"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376\372\376"
+  "\377\263\251\245\377\1\1\1\377\36\36\37<\207\206\205\27\207\206\205\27\207"
+  "\206\205\27Zej\377\37$*\377*/7\377\30\27\25\377\257\250\237\377\376\372\376"
+  "\377\376\372\376\377\376\375\373\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\374\374"
+  "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\373\375\377\376\374\374\377\376\374\374"
+  "\377\376\375\373\377\376\376\372\377\376\374\374\377\376\374\374\377\376"
+  "\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374"
+  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\374\374"
+  "\377\376\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\227\224\224"
+  "\377\6\10\12\3778;@\377X[^\377X[^\377Y[^\377Yej\377\40$*\377,08\377\21\22"
+  "\23\377\235\231\225\377\376\372\376\377\376\372\376\377\376\373\375\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\376\372\377\376\376\372"
+  "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376"
+  "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373"
+  "\377\376\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376"
+  "\375\373\377\376\375\373\377\376\375\373\377\376\375\373\377\376\373\375"
+  "\377\376\373\375\377\376\373\375\377\376\374\374\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373\375"
+  "\377\376\375\373\377\376\372\376\377\376\372\376\377\376\373\375\377\376"
+  "\372\376\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\375\373\377\376\373\375\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377oi`\377\21\25\32\377&.6\377#)4\377\40&.\377\"&.\377Z"
+  "fl\377\37$+\377+19\377\22\30\40\377\202qj\377\375\366\370\377\376\372\376"
+  "\377\376\372\376\377\376\373\375\377\376\375\373\377\376\376\372\377\376"
+  "\376\372\377\376\376\372\377\376\376\372\377\376\374\374\377\376\374\374"
+  "\377\376\374\374\377\376\374\374\377\376\374\374\377\376\374\374\377\376"
+  "\374\374\377\376\374\374\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\373\375\377\376\374\374\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\375\372\372\377\376\372\375"
+  "\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\373\375\377\376\373\375"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\373\375\377\376\372\376\377\376\372\376\377\376"
+  "\373\375\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376"
+  "\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376"
+  "\372\376\377\376\372\376\377\342\335\334\377/.-\377\35$,\377*.6\377'.6\377"
+  "%)4\377\"&.\377Zek\377\40%,\377*08\377$)3\377\27\24\27\377\300\274\275\377"
+  "\373\367\371\377\376\372\376\377\376\372\376\377\376\372\376\377\376\373"
+  "\375\377\376\373\375\377\376\373\375\377\376\373\375\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\375\377"
+  "\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372"
+  "\376\377\376\372\376\377\376\372\376\377\376\372\376\377\376\372\376\377"
+  "\376\373\374\377\376\373\372\377\376\372\374\377\375\370\366\377\374\367"
+  "\364\377\374\367\364\377\373\366\364\377\376\372\373\377\373\367\367\377"
+  "\375\371\372\377\376\372\376\377\376\373\366\377\374\370\362\377\374\367"
+  "\370\377\375\371\367\377\372\365\363\377\374\370\366\377\371\363\363\377"
+  "\370\363\362\377\370\363\362\377\371\364\364\377\370\363\362\377\370\363"
+  "\362\377\366\360\357\377\366\360\357\377\366\361\360\377\370\363\364\377"
+  "\370\363\364\377\371\364\364\377\365\360\357\377\366\361\362\377\367\362"
+  "\363\377\371\364\364\377\371\364\364\377\373\366\364\377\372\366\370\377"
+  "\373\365\364\377\375\370\370\377\376\372\375\377\375\370\371\377\375\372"
+  "\372\377\364\356\356\377\317\313\314\377PMC\377\26\32!\377&,5\377&-4\377"
+  "%+3\377%+3\377\"&.\377[hp\377!'/\377*.7\377*/7\377\36#(\377\33\32\32\377"
+  "mhd\377\261\255\252\377\271\264\260\377\272\266\261\377\272\266\264\377\271"
+  "\263\255\377\271\265\263\377\272\266\267\377\262\260\260\377\263\261\263"
+  "\377\264\262\265\377\262\257\260\377\255\246\234\377\242\233\227\377\221"
+  "\214\206\377\217\216\212\377\217\215\211\377\216\213\206\377\211\206{\377"
+  "\211\203\200\377\203\177|\377\203\177y\377\201\177~\377yvr\377zws\377}yq"
+  "\377}wq\377qmo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377"
+  "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377onm\377omn\377om"
+  "o\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377"
+  "omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377omo\377om"
+  "o\377omo\377omo\377omo\377omo\377ooj\377ooh\377onk\377li^\377kg[\377jf[\377"
+  "hd[\377nnh\377ifa\377mjf\377omo\377onm\377lh_\377jgb\377lka\377gcX\377ki"
+  "^\377d_X\377c_V\377c_V\377eaZ\377c_V\377c_W\377_ZP\377_YP\377_ZS\377c_Z\377"
+  "b^Z\377e`Z\377\\XP\377^[W\377`]Y\377e`Z\377eaZ\377ie[\377fdb\377hc[\377l"
+  "jb\377onm\377ljd\377nmg\377ZVO\377\26\26\27\377\20\26\36\377!'0\377'-4\377"
+  "'-7\377'-5\377&+3\377\"&.\377Zej\377\37#)\377*.6\377*.8\377).8\377\"'/\377"
+  "\23\26\33\377\24\26\27\377\25\27\27\377\26\27\31\377\25\27\30\377\26\26\27"
+  "\377\24\26\27\377\25\27\31\377\24\25\27\377\24\25\30\377\24\26\30\377\24"
+  "\26\30\377\23\24\25\377\21\23\24\377\17\22\21\377\17\21\23\377\20\22\24\377"
+  "\17\21\22\377\17\21\21\377\20\21\23\377\16\20\21\377\16\20\20\377\16\20\21"
+  "\377\16\17\23\377\16\20\26\377\17\20\25\377\16\20\26\377\14\17\31\377\14"
+  "\17\27\377\14\17\25\377\14\16\23\377\14\16\30\377\15\20\32\377\14\17\33\377"
+  "\14\17\37\377\14\17\33\377\14\24\40\377\15\22\34\377\15\17\33\377\14\17\32"
+  "\377\15\20\32\377\14\16\30\377\14\17\27\377\14\17\31\377\15\17\34\377\13"
+  "\16\36\377\14\22\35\377\14\22\33\377\14\17\31\377\15\24\33\377\15\21\33\377"
+  "\14\17\30\377\14\16\25\377\15\24\36\377\15\21\31\377\14\23\34\377\14\22\33"
+  "\377\13\22\36\377\14\23\33\377\14\24\34\377\14\21\31\377\14\22\33\377\13"
+  "\23\35\377\16\27\40\377\14\24\35\377\13\23\36\377\17\26\36\377\15\25\37\377"
+  "\14\25\40\377\13\24\40\377\20\30!\377\21\31\"\377\20\31\"\377\21\34%\377"
+  "\23\33'\377\26\36*\377\24\35(\377\23\35&\377\27\37+\377\25\35)\377\24\35"
+  ")\377\21\33%\377\22\34%\377\23\34(\377\26\36*\377\24\36(\377\22\34&\377\23"
+  "\34'\377\22\34'\377\27\37+\377\30\40+\377\25\37*\377\27\40+\377\30\40+\377"
+  "\26\36*\377\32!*\377\30!+\377\27\37*\377\27\35'\377\25\36)\377\26\35&\377"
+  "\25\35*\377\26\35&\377\25\36)\377\26\35&\377\26\35&\377\23\33%\377\23\33"
+  "%\377\24\33#\377\20\31#\377\22\27\40\377\20\30!\377\21\32%\377\30\40*\377"
+  "\35$,\377\")1\377%*1\377%*1\377%+2\377%+4\377$*3\377\"&.\377Zdj\377\37#+"
+  "\377'.6\377',6\377(/6\377'.6\377(/7\377'-5\377&-3\377)-8\377&,5\377&,4\377"
+  "&,3\377&-5\377%,4\377'+4\377&-4\377'-5\377',5\377',6\377(.4\377&+5\377)."
+  "7\377&+5\377(.6\377'/7\377&.6\377)/6\377)/7\377*.7\377(/7\377).7\377).7\377"
+  ").6\377)/7\377(16\377)08\377)/8\377(/7\377*08\377).8\377).8\377(/7\377)-"
+  "7\377*.6\377(.7\377)/7\377(-5\377'-6\377'-5\377).7\377&-5\377'-4\377(-4\377"
+  "&.3\377&-5\377'+6\377',6\377(-5\377&-4\377'-5\377&-5\377%*1\377$)1\377&-"
+  "2\377&,5\377&,3\377%+3\377%*3\377%,4\377$)2\377%*4\377&,2\377)/6\377(.6\377"
+  "&+4\377&+6\377(-6\377%-5\377&/6\377)-6\377*08\377)/7\377)/6\377(.6\377*."
+  "7\377*/8\377&-3\377).6\377'.7\377).7\377)/7\377'.6\377'.7\377).7\377)-9\377"
+  ")/7\377).7\377(.7\377(,6\377).6\377(.6\377).6\377&-4\377'-5\377&-5\377%+"
+  "3\377&*6\377%,5\377&,5\377'-6\377'-6\377%,4\377%+2\377%*3\377$*2\377$+2\377"
+  "$+1\377%,2\377$)1\377$*1\377$*1\377$*1\377%+2\377#*2\377&+4\377\"'1\377\""
+  "&.\377Zel\377\36\")\377&-4\377(-5\377(.5\377(-5\377&-5\377(.6\377'.6\377"
+  "&+5\377(.5\377'.5\377'.4\377)/6\377'.6\377(.6\377'-6\377'.6\377',6\377)-"
+  "8\377&.6\377(-5\377&-6\377&-6\377'.6\377'.7\377'-7\377'.6\377).8\377).7\377"
+  ").8\377*/7\377*.8\377).8\377).8\377).8\377)/6\377*.7\377*07\377*.6\377)."
+  "6\377'.7\377).8\377).8\377*06\377)/7\377(.6\377'-6\377).6\377(.6\377&/5\377"
+  "(-5\377'.6\377'.6\377'-4\377%,4\377%*3\377%+1\377%*3\377%,2\377%+1\377$*"
+  "1\377$*2\377%,2\377%-2\377#(2\377$+2\377%,3\377$*1\377&,2\377%*3\377$*2\377"
+  "%-3\377&.4\377&-5\377&+4\377(.5\377',3\377).6\377).6\377'/6\377&,6\377&."
+  "6\377'-6\377)/7\377*/9\377).6\377).6\377&-6\377&.6\377&+6\377(,6\377',6\377"
+  "&-6\377).6\377*.6\377'/6\377&,6\377)/6\377'-6\377'.6\377&-5\377(,6\377(-"
+  "6\377',6\377).5\377',6\377%+4\377%+2\377%+3\377$+2\377%,3\377$)1\377$)1\377"
+  "$*1\377%*2\377%*1\377$)1\377$)1\377#*1\377\"*2\377%-2\377$+2\377#)3\377%"
+  "*2\377&*4\377%)3\377\"&.\377Ydi\377\34!'\377&-5\377&-4\377(+5\377&,4\377"
+  "'-5\377'.5\377&,2\377%*3\377$+3\377&.4\377(-5\377&.6\377&,5\377(.5\377&,"
+  "5\377&-5\377',6\377'-6\377).6\377&-5\377(-6\377'-6\377',6\377'.4\377)-6\377"
+  ").6\377).6\377*.7\377).6\377(/6\377(.7\377'.6\377(.7\377'.7\377)/6\377*."
+  "6\377*.6\377(.6\377'.6\377(.8\377)07\377'-7\377)-6\377'+7\377'-4\377&+5\377"
+  "(.6\377',4\377&.4\377&-4\377(-6\377',6\377(-6\377$+3\377&+4\377&,3\377$*"
+  "1\377%+1\377%-2\377%*3\377&,2\377&*2\377%+3\377%,4\377$*1\377%*2\377$*1\377"
+  "%*1\377$)0\377%*3\377&-3\377%+4\377&*5\377&,4\377&-5\377&,5\377'-4\377(-"
+  "6\377)/6\377&.6\377&.5\377'-6\377)/7\377'/7\377'.6\377'.6\377(-6\377).6\377"
+  "'-6\377&,4\377)-7\377(-6\377'.5\377).7\377'.6\377&-6\377&-5\377&-5\377&-"
+  "4\377&-5\377%,4\377&-6\377'.4\377',5\377$*4\377%,4\377%+2\377'+6\377%+2\377"
+  "$*1\377$*3\377&,4\377&+3\377%+2\377%*1\377$)3\377\")2\377\"(2\377#*1\377"
+  "#+2\377#)2\377$*2\377%,2\377%*3\377!'1\377\"&.\377Ydi\377\35!%\377%+2\377"
+  "$+2\377',6\377&+4\377$*3\377&-3\377&,3\377&+5\377%*2\377&*4\377',4\377&,"
+  "5\377&,5\377',5\377&-5\377&-6\377&+4\377&-4\377&-5\377'-6\377&,4\377,06\377"
+  "&,3\377&-3\377&-5\377'.6\377',6\377)-6\377',3\377(.5\377(.8\377).6\377)."
+  "6\377*.6\377(.7\377&.6\377&.6\377'-7\377'/7\377'.6\377(.6\377).6\377'.6\377"
+  "'.6\377'.4\377'-5\377)/5\377',5\377&-5\377&.5\377&-5\377%*2\377\"'.\377$"
+  "+3\377$,4\377&-4\377&,3\377%,3\377$)0\377\36!+\377\30\34&\377\30\32\"\377"
+  "\33\37$\377\31\36%\377\31\37&\377\34%0\377\")1\377#*3\377$)0\377$*1\377%"
+  "+1\377\"&/\377$)0\377&+3\377&+2\377&,3\377&-4\377&+6\377(07\377(.5\377'-"
+  "6\377(06\377)/7\377&.6\377&-6\377(.6\377(.6\377'.6\377&.5\377&-6\377&,6\377"
+  "(-6\377%,4\377(.6\377'-5\377&+5\377&-5\377&,6\377',4\377&-6\377&-5\377%,"
+  "4\377%,3\377&+3\377%*2\377$*1\377#*2\377$+2\377#(2\377#*2\377%*4\377%*2\377"
+  "$)0\377%*2\377$)3\377#)2\377$)1\377%+1\377$*1\377#)2\377$)1\377$*1\377$*"
+  "2\377$)3\377\"(1\377\"&.\377Ydi\377\35!%\377&-4\377%+3\377&,4\377$,3\377"
+  "&-6\377%+2\377$*2\377',3\377&-4\377%+3\377%+2\377&-6\377&+5\377'-5\377%,"
+  "4\377%+3\377&-4\377%-4\377$+2\377&+2\377$+2\377&+5\377&-6\377(.6\377&.6\377"
+  "&.6\377(.6\377'-6\377',6\377'.6\377&.6\377'.4\377',6\377'.6\377&-6\377&."
+  "6\377&.6\377).6\377'/6\377&.6\377'.6\377(.6\377'-4\377&-6\377&.5\377&.6\377"
+  "&.5\377&.4\377&+5\377'.5\377&-5\377$+3\377$,3\377%+2\377#)1\377!&.\377\26"
+  "\31#\377\21\23\24\377\24\25\30\377\40\"#\377,..\377.4,\377/4+\377.4-\377"
+  "'(\"\377\26\32\35\377\21\23\24\377\20\25\34\377\34\"*\377%)0\377%+1\377%"
+  "+1\377%*1\377%*1\377(/6\377'.6\377(.6\377&-6\377&.6\377'.6\377'.6\377&.6"
+  "\377(/6\377(.6\377&.6\377'.6\377&.6\377'.6\377'.5\377&.6\377&-6\377&+6\377"
+  "&.6\377&,6\377&.4\377&-5\377&.5\377&-4\377'-6\377$+3\377&,3\377%+2\377%+"
+  "4\377%+1\377&-5\377%*3\377%+3\377$,2\377$*1\377$*1\377\"*2\377#*2\377%+1"
+  "\377%+1\377%*1\377#*3\377#*3\377#(2\377#)2\377\"*2\377!)0\377$)1\377$*1\377"
+  "$*1\377!%/\377\"&.\377Ydi\377\36!'\377&-3\377',4\377&,4\377&,4\377&-4\377"
+  "%*3\377$*1\377&+5\377%*2\377%+2\377%*1\377&,4\377%*2\377&*4\377$+2\377%+"
+  "3\377%,4\377$*2\377%+2\377$,2\377&,3\377%+2\377&-4\377&,4\377&-5\377'-6\377"
+  "&.6\377(-6\377(,5\377',6\377'-6\377'.6\377&,6\377&-4\377'.5\377(.6\377(-"
+  "6\377'.6\377(.6\377&.6\377(.6\377(-5\377',4\377&,6\377).6\377)/6\377&,5\377"
+  "&-6\377&-4\377#(0\377%*3\377&+4\377&+4\377\31\35#\377\21\20\26\377\37#\37"
+  "\377::3\377PTG\377[XP\377\\XM\377]XJ\377ZWK\377^XJ\377YWK\377]XJ\377ZXN\377"
+  "VTH\377CC;\377**(\377\25\26\31\377\24\27\33\377$*2\377$,3\377%,2\377#(/\377"
+  "#)0\377(,4\377',4\377'.5\377).6\377',6\377'-4\377'.6\377&.6\377'-6\377&-"
+  "6\377&-6\377'-6\377(-6\377(.6\377&-4\377'.6\377'-6\377$+3\377%,2\377%+3\377"
+  "&-6\377&+6\377'-5\377(.5\377'-6\377&+4\377&-4\377%*2\377%*3\377#+2\377%*"
+  "3\377%*3\377%*1\377$*1\377#*2\377$*3\377$*4\377$+2\377$)1\377$+2\377#*3\377"
+  "#)2\377#(2\377#)2\377$(0\377$)1\377$*2\377%-2\377\"(1\377\"&.\377Zek\377"
+  "\35\"(\377&-3\377&-4\377&+5\377%+3\377%,3\377%+2\377%-4\377&,4\377%*2\377"
+  "&,3\377&*5\377&+4\377$*3\377&*5\377$*2\377$*1\377%+2\377#*2\377$*2\377&-"
+  "4\377&.4\377%*3\377&,5\377&-5\377&+6\377%,4\377&,5\377&-4\377&-3\377&-6\377"
+  ").6\377',6\377'.6\377'.6\377(.6\377&.6\377&-6\377&,5\377&,5\377&,6\377&."
+  "6\377(.6\377'-4\377&+6\377&,4\377&.6\377&-4\377(.6\377*/7\377'+4\377&,3\377"
+  "\35$,\377\20\25\31\377()'\377KJB\377TUG\377URF\377RQG\377ROE\377QOE\377Q"
+  "NE\377RNE\377RNE\377QNE\377QNE\377OOF\377QOF\377RQH\377XTH\377RQI\377:90"
+  "\377\23\25\30\377\33\40%\377%*3\377&+2\377&.4\377&,5\377&-5\377).6\377(-"
+  "6\377',6\377'.6\377*/6\377&.6\377(-6\377&.6\377&.6\377'.6\377&.6\377&-6\377"
+  "&-6\377(-7\377&-6\377'-6\377',3\377&-6\377%*4\377&,5\377&*4\377&,4\377$+"
+  "3\377%+2\377%+1\377%*2\377%*2\377#*2\377$*2\377$*2\377$(0\377%*1\377#)3\377"
+  "$)3\377#*2\377$)2\377%*1\377%*2\377\")2\377#)3\377$+3\377#)1\377#'/\377\""
+  "'1\377#(0\377$+2\377!(0\377\"&.\377Yej\377\36\")\377&+3\377&+5\377%+3\377"
+  "%+2\377$*3\377&,4\377%,2\377%*3\377&*4\377%*1\377%*2\377&+3\377%*3\377%*"
+  "2\377%+3\377%,2\377%,3\377%*4\377$+4\377%+4\377&-3\377%*4\377&*4\377%-5\377"
+  "%,4\377%+5\377%,3\377%*4\377'-4\377$,4\377&-6\377',6\377'-6\377'-4\377'."
+  "5\377'.5\377&,4\377%*5\377%-5\377'-6\377(.6\377'-7\377&,6\377&,6\377'-6\377"
+  "&,6\377%+3\377&-3\377&-5\377&,4\377\30\34\"\377\34\40\37\377AE9\377WVI\377"
+  "SQF\377ROE\377ROE\377POF\377RPF\377SPG\377RSI\377QPG\377QPG\377RQH\377SP"
+  "G\377QOE\377ONE\377ONF\377RNE\377OOF\377XVI\377SRD\377++%\377\15\26\35\377"
+  "%*4\377(.6\377%,5\377$,4\377'+4\377&-6\377).6\377(-7\377(.6\377&.6\377&."
+  "6\377&.6\377&.5\377'.6\377&.5\377&-6\377&,4\377&,4\377&+4\377%+5\377%*4\377"
+  "%*5\377%*5\377&*6\377&+6\377&*6\377',4\377%+3\377$+2\377\"*2\377#)3\377#"
+  "*2\377$*2\377\"*2\377$*1\377$+2\377%+3\377&,5\377$*3\377$*1\377$*3\377$*"
+  "2\377#*2\377\")1\377%+1\377$)0\377%*3\377$*3\377%*2\377&,3\377\35#,\377\""
+  "&.\377Zek\377\34\")\377&-2\377%+2\377%,2\377$+2\377%+3\377&-6\377%+3\377"
+  "%,2\377%+1\377%*1\377%*1\377%+2\377%,3\377#*2\377#)2\377#*2\377$+2\377%*"
+  "2\377%,2\377%+4\377#*2\377%,2\377$*1\377$+2\377%+2\377%+2\377%+2\377$*2\377"
+  "&,4\377%*4\377&+4\377(-5\377'-5\377&-5\377&,5\377&.4\377%+3\377&-6\377&+"
+  "6\377&,4\377&+6\377&+6\377&+6\377(,6\377&.4\377&+5\377%-3\377&-4\377\")1"
+  "\377\27\32\37\377'+%\377WUG\377WWI\377ROE\377ROE\377ROE\377SPF\377YUM\377"
+  "TTF\377LLA\377FG@\377DD:\377CC:\377IIA\377LLI\377VTI\377a\\M\377YXO\377R"
+  "QI\377QME\377ONF\377RPF\377VTF\377>?4\377\27\31\31\377\37'.\377%+5\377&,"
+  "6\377(-6\377&.6\377&-6\377',6\377'.6\377&.6\377&.6\377&,5\377&-4\377%,4\377"
+  "&-6\377&-6\377%*3\377&,5\377&,5\377&+5\377%+4\377&,5\377$*2\377&*3\377%*"
+  "4\377%*2\377%*3\377&+4\377&+5\377%,2\377$*2\377$*3\377#*2\377$*1\377#)2\377"
+  "#+2\377\")1\377\"*2\377\")2\377#(0\377%*2\377$*2\377$*3\377\")1\377$*1\377"
+  "$)0\377#)2\377$*1\377%,2\377\"*2\377\"'/\377\"&.\377Zek\377\34\")\377%+1"
+  "\377',3\377',3\377&,2\377%*1\377&-5\377$*2\377%+2\377%*1\377#)2\377#*2\377"
+  "#*2\377#*2\377#*2\377#'1\377%*2\377$+2\377$*2\377$*1\377&-4\377%+3\377$*"
+  "3\377%*3\377%+3\377%*2\377%-5\377&-3\377&,5\377&+4\377%)5\377&+3\377%+2\377"
+  "$*1\377&-4\377'-5\377&,3\377%*3\377'.4\377&-4\377'-6\377&+6\377&-6\377&+"
+  "5\377',5\377&-6\377&+5\377%+4\377&-4\377\20\24\31\37711+\377WVH\377ROF\377"
+  "QOF\377RQF\377PPF\377KK@\377FE;\377BB8\377;>4\377;;2\377::0\377::0\377;:"
+  "0\377=<2\377>>6\377BA8\377FE=\377SQL\377]YT\377ZXR\377ONE\377POF\377QOF\377"
+  "USG\377EE;\377\25\27\27\377&*3\377'-7\377&,6\377$*4\377'/6\377&.6\377&-6"
+  "\377&.6\377&-6\377&,4\377&,5\377%*5\377&*4\377&-5\377&,5\377&+4\377'.4\377"
+  "'+4\377$+3\377#*2\377#*3\377&*2\377%*4\377$)1\377\")2\377$*1\377$*3\377$"
+  ")3\377$)1\377$*2\377\"*2\377#*2\377#)1\377\")1\377!(0\377\"*1\377#)1\377"
+  "#(2\377$+3\377#)2\377#*2\377$*1\377#*2\377$*1\377%*3\377%*3\377\"*2\377\""
+  "(2\377\36$-\377\"&.\377Zek\377\34\")\377&+3\377&,2\377%*1\377&+3\377&,4\377"
+  "$+2\377&,3\377%*2\377$*1\377%)3\377%*2\377$*3\377%,2\377%,2\377%*3\377$*"
+  "1\377%*1\377%*1\377$)0\377#)0\377%,3\377%,4\377$*2\377$*2\377%)3\377$*2\377"
+  "%+3\377%+3\377%*2\377%,4\377#+3\377%-4\377%*1\377&-2\377%,3\377&+3\377&,"
+  "4\377&,4\377&-5\377&.6\377'-5\377&-4\377&+5\377)-6\377'.6\377'-5\377&.7\377"
+  "\30\32\40\37797+\377VTF\377QOF\377RQF\377QPE\377II@\377CC:\377;<2\377;;1"
+  "\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8.\377:9.\377:8-\377"
+  "::0\377880\377KJ@\377\\ZT\377WXO\377NOF\377OOF\377SSG\377II>\377\30\31\30"
+  "\377%*3\377'-6\377'-6\377&-5\377&,5\377&-6\377'.7\377'.7\377%-5\377&-5\377"
+  "&+4\377&-4\377&,3\377$+3\377&-6\377$+4\377%*3\377%,4\377$*3\377$+4\377#*"
+  "2\377\"*2\377#)3\377#*3\377#*2\377$*2\377#*2\377#(2\377#+1\377$*1\377\"*"
+  "2\377$*1\377$(1\377#)1\377$+2\377$)1\377#*1\377#)1\377#*2\377%*2\377\"*2"
+  "\377#*2\377$*1\377%*4\377#'1\377\")1\377#)2\377\"&.\377\"&.\377Zeo\377\35"
+  "\"+\377$*1\377%*1\377$*1\377$+3\377%,3\377%+2\377%+2\377%*2\377#(2\377#)"
+  "2\377%+1\377%+1\377%*2\377%*2\377$(1\377%*1\377$*1\377%*2\377$*3\377$*1\377"
+  "$+1\377$*2\377$,2\377&*4\377%+4\377%)3\377%+2\377%*1\377%*2\377$)2\377&+"
+  "4\377%+2\377&,4\377$,3\377%-4\377%,3\377%,4\377&,4\377&-5\377&-4\377&,5\377"
+  "&-3\377',4\377#(1\377&-5\377&,5\377\31!)\377,+%\377SQG\377QPF\377RPF\377"
+  "PPD\377EF;\377==3\377<;0\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8"
+  "-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\37798.\37788/\377<=3\377XXR\377"
+  "[ZS\377PND\377QOE\377WTJ\377EB3\377\24\31\33\377'-8\377&-6\377&+6\377(-6"
+  "\377'-6\377'.5\377&,5\377%+5\377&-5\377',4\377%*5\377&+6\377&,5\377%+5\377"
+  "#*3\377#*3\377$*3\377$*4\377$,3\377%+3\377$*1\377$)4\377\"*2\377\"(0\377"
+  "#)2\377$*2\377$*2\377\")1\377\"'2\377\")0\377#*2\377$*1\377#)2\377$+3\377"
+  "\"(2\377$*1\377%)2\377%*2\377%,2\377$*1\377#*2\377\")2\377#)3\377$*3\377"
+  "!(0\377$*1\377$(/\377\"&.\377Zel\377\35!)\377$+1\377%,4\377&-4\377$,2\377"
+  "%+2\377$+3\377$,4\377&,3\377%+1\377%*1\377#(0\377%+2\377$+3\377%,5\377%)"
+  "2\377$)0\377$+2\377\"*2\377#(0\377#*1\377$*0\377$)0\377$*1\377#*2\377$)4"
+  "\377&+4\377#+2\377&-2\377%*1\377#(2\377%*2\377&*4\377%*1\377%*4\377&-3\377"
+  "&-4\377&+6\377%*3\377$*2\377$+2\377&+4\377&-5\377%,3\377%+2\377%+3\377\40"
+  "%.\377%%\40\377RQD\377OOF\377QPF\377PPD\377CC9\377;;2\377:8-\377:8-\377:"
+  "8-\377:8-\274:8-\247:8-\35:8-\3:8-\3:8-\3:8-\3:8-\3:8-K:8-\247:8-\247:8-"
+  "\364:8-\377:8-\377:8-\37777.\377KK?\377`]X\377PQG\377POF\377XWH\37700&\377"
+  "\33\40(\377*/9\377).7\377'+7\377%,5\377&.6\377&,6\377%,5\377$*3\377&,5\377"
+  "&-3\377$)0\377%+3\377%*3\377%*3\377#(3\377$*1\377%,3\377$+3\377#*2\377#'"
+  "0\377$*1\377\"*2\377#)2\377\"*2\377\")2\377\"(2\377#)2\377\")1\377\"(1\377"
+  "#(1\377$*1\377#*2\377\"'2\377$)3\377$+3\377$*4\377%*2\377#*2\377$*2\377$"
+  "*2\377$)4\377'+4\377%+1\377&*3\377%*2\377!&-\377\"&.\377Zem\377\35\37*\377"
+  "%+1\377%*2\377%*3\377%+2\377&-4\377%+3\377%(1\377$*2\377&,2\377&+3\377$,"
+  "2\377#+3\377#)0\377%*1\377$*2\377\")1\377#)1\377#*2\377#)2\377%+2\377&-4"
+  "\377$)1\377#*1\377#*2\377#)3\377%+5\377$+2\377%+1\377%,4\377$*4\377%,2\377"
+  "$*1\377#*2\377#)2\377$*1\377%*2\377%*3\377&+3\377#)2\377$*3\377&,4\377%*"
+  "3\377%+3\377$+2\377$*3\377\27\31\40\377LM?\377PPF\377PPF\377QQG\377DD:\377"
+  ";<2\377:8.\377:8-\377:8-\366:8-\260:8-\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-D:8-\260:8-\366:8-\377"
+  "98.\37799.\377QOE\377^]X\377PPF\377PPF\377OPB\377\34\35\31\377\37%,\377'"
+  ",6\377%*4\377$*3\377&,6\377&,6\377$*3\377%*2\377$*2\377%+4\377%*3\377#*2"
+  "\377$*2\377$*3\377$)1\377$*1\377#*2\377#)2\377#(2\377#(1\377\")2\377\"'2"
+  "\377\"&/\377\40'2\377#)2\377\"(0\377!(0\377$)1\377#)2\377$(2\377$*2\377\""
+  "(2\377\")2\377\"(2\377#)1\377$*2\377$*1\377#*2\377%*3\377&+5\377\"*2\377"
+  "$)2\377%+1\377%*2\377%*2\377#)0\377\"&.\377Zen\377\34\40+\377%+1\377&,3\377"
+  "%,3\377&,2\377',3\377%*1\377$*1\377$)1\377%,2\377'+3\377$*1\377\")1\377#"
+  "*2\377%-2\377#)2\377$*1\377#*2\377#*2\377$+1\377#*1\377#)1\377$,2\377$*1"
+  "\377%*3\377$)2\377#*2\377$,2\377%+3\377&,4\377%+2\377$+1\377$)2\377$+3\377"
+  "#*2\377$*2\377$,2\377#*2\377&*4\377%*3\377#*3\377%,3\377\")1\377%-2\377$"
+  "*1\377\36!(\377--'\377SSE\377RPF\377QPF\377GG>\377;;2\377:8-\377:8-\377:"
+  "8-\336:8-1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\336:8-\377:8-\377"
+  "76*\377TTM\377ZXO\377QNE\377QPF\377??2\377\35\37!\377&,8\377&-3\377&,4\377"
+  "&-6\377&-5\377&.3\377#+2\377%*4\377#*2\377$*2\377%*3\377%+4\377#)2\377#)"
+  "2\377#)2\377#*2\377#)2\377\")1\377!(0\377#)2\377#+3\377\"(1\377\")1\377\""
+  ")1\377#(0\377!'/\377\"(1\377#(1\377#(1\377%)1\377$*1\377\"(2\377$)4\377#"
+  "*2\377$*1\377\"*2\377\"*2\377$*4\377%,3\377\")1\377%*4\377%+3\377$*3\377"
+  "$)1\377!%,\377\"&.\377Zen\377\34\40+\377&,2\377&-2\377%+2\377%,2\377%+3\377"
+  "%,3\377$*2\377$*1\377$*1\377$)0\377%*1\377#*2\377$)1\377$*1\377$(4\377#)"
+  "2\377#*2\377%(0\377%*3\377$)1\377$(3\377$*2\377#*2\377$)0\377\")1\377\"*"
+  "2\377\"*2\377$)2\377%*1\377$(1\377$*1\377$*1\377#*2\377$*1\377$*2\377$*2"
+  "\377%*3\377%*2\377%,3\377%,2\377%+1\377$*1\377$+2\377$+3\377\40\"!\377HH"
+  "?\377RPF\377SOE\377LKA\377<;1\377:8.\377:8-\377:8-\356:8-1\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-1:8-\356:8-\37798.\377::2\377"
+  "TPE\377SQF\377RNE\377UTK\377'&%\377!)2\377&-5\377$*4\377#*2\377$*2\377&+"
+  "5\377%*5\377$*2\377$*4\377$+2\377#*2\377$*1\377\"*1\377\"*1\377\"(1\377\""
+  "'1\377\"(2\377\"'1\377\")2\377#)1\377#(0\377\")1\377\"(2\377\"*2\377$*1\377"
+  "!'/\377#)1\377\")2\377#)1\377\"*2\377$*2\377#)2\377\"'1\377$)1\377$(0\377"
+  "\"'0\377\"'2\377#*3\377$*3\377#*3\377&*5\377%,4\377$*4\377#(2\377!'/\377"
+  "\"&.\377Zfo\377\36\",\377'-4\377%*2\377%+2\377&,3\377&,2\377%*1\377%+3\377"
+  "%,3\377%+2\377%+2\377&,2\377%,4\377%*1\377#*2\377$*3\377$*1\377#(1\377$*"
+  "2\377#)2\377$*1\377#)2\377$)1\377#(2\377%)1\377\"*2\377#*2\377$*2\377$*2"
+  "\377\")2\377$*1\377#(0\377#)1\377%*3\377$*1\377$*1\377$*1\377$*1\377$*1\377"
+  "#*2\377$,3\377%+2\377&-4\377&+5\377\37&.\377..#\377QPE\377POF\377ZXL\377"
+  "A@6\377:8-\377:8-\377:8-\343:8-7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-7:8-\343:8-\37755)\377ED;\377URI\377Q"
+  "OF\377OOF\377DD;\377\33\36'\377&,6\377!*1\377#)1\377%*2\377$*3\377\"*2\377"
+  "%+3\377$)0\377$*1\377$*3\377#)2\377!)1\377#(2\377\"(2\377\"(2\377$*1\377"
+  "#)0\377\"*2\377\"'/\377#)1\377\"'/\377\"(0\377!(1\377\"(0\377\")2\377$)1"
+  "\377%,3\377#)2\377#*2\377\"*2\377\"(1\377\"'/\377\")2\377\")2\377\")2\377"
+  "\"(2\377$)2\377%+3\377$+3\377#)3\377$*2\377$*2\377%*4\377#(/\377\"&.\377"
+  "Zfm\377\34!*\377',3\377&-4\377%-3\377%*1\377%,1\377%-4\377$+2\377%*1\377"
+  "%,3\377$*2\377$*1\377%+2\377%*2\377&*4\377%*2\377',4\377\"*2\377%-2\377%"
+  "*1\377#(0\377#)2\377#*1\377$)3\377%)1\377#(/\377#*2\377#*2\377#)1\377$+2"
+  "\377#(2\377$*1\377#*1\377$)2\377#*2\377%*1\377%*1\377$*1\377$*1\377%,2\377"
+  "&,5\377%+2\377%+2\377'-8\377\31!(\377?@5\377RPE\377PRH\377KLE\377:8.\377"
+  ":8-\377:8-\377:8-<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0nxx\246:8-\37787,\37767.\377OKB\377ROF"
+  "\377QPF\377HG=\377\40%&\377\"(0\377#)1\377#(2\377$*2\377\"*2\377\"(2\377"
+  "*/6\377&*1\377#*2\377#(2\377$)0\377\"(2\377\")2\377\"(0\377$*1\377\"'2\377"
+  "\"'0\377#*1\377\"(1\377\"'0\377\"'/\377\"'/\377\"'/\377\"&0\377\"'1\377\""
+  ")1\377$*2\377$*1\377\"(0\377\")2\377$)2\377$(0\377\"'/\377#*2\377#(2\377"
+  "#*2\377$*1\377#*2\377#*2\377#*2\377$+3\377%*4\377#*2\377$)0\377\"&.\377Z"
+  "gp\377\35\"-\377&,3\377%,1\377%+1\377&+3\377%,1\377#*2\377$+2\377&*1\377"
+  "&+3\377$*2\377#)1\377&+4\377&+2\377%+2\377$*1\377&+4\377#*2\377%-2\377$*"
+  "1\377%*1\377#(2\377$)1\377$)1\377#(1\377\"'0\377#*2\377#*1\377\"(1\377$*"
+  "1\377#*2\377%+3\377%)2\377&*4\377%+1\377$+3\377$*2\377$*1\377%*1\377%+3\377"
+  "'-5\377&*5\377#*2\377\"(0\377\36\"#\377OPA\377OOF\377NOG\377>=5\377:8-\377"
+  ":8-\377:8-\271:8-\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:8-\17:8-\27197,\37766,\377IH=\377VU"
+  "K\377QOE\377OMC\377$&\"\377\40&/\377$+2\377%+4\377%*1\377#)2\377#)2\377\""
+  "(1\377\"*1\377#)1\377#'0\377$+2\377#(1\377\"&0\377#'0\377\"(1\377#(2\377"
+  "#(1\377\"'1\377\"&/\377\"&/\377\"'0\377!(0\377#(0\377\"&0\377\"'0\377\"("
+  "1\377$)1\377\"(1\377\"'0\377\"(2\377#(2\377$)1\377#(1\377#)3\377\")1\377"
+  "$*1\377$*1\377%*1\377#*3\377#*2\377#*2\377%*3\377&,4\377%)2\377\"&.\377Z"
+  "el\377\34!)\377&-3\377&-2\377',3\377%*2\377#*2\377%+3\377%+1\377%*1\377$"
+  ",3\377%*3\377%+1\377%*2\377&*4\377%*2\377&+4\377%+2\377$*1\377%+1\377$+2"
+  "\377%*2\377$)3\377$)1\377$+3\377\")1\377$+4\377\"*1\377\"*2\377#*3\377#*"
+  "1\377$)1\377\")2\377#)2\377$*2\377%*3\377$*1\377#(2\377%*1\377$*1\377#*2"
+  "\377$)0\377$*0\377$*1\377\")0\377021\377RPC\377OOF\377KNE\377;:0\377:8-\377"
+  ":8-\366:8-^\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\214\220^CC:\36665)\377<=7\377"
+  "WYR\377ONF\377QOE\3770/)\377\37%+\377\"(1\377\")1\377\40&.\377#(1\377#)1"
+  "\377#(0\377#)1\377#(0\377\"'0\377#'0\377\"'0\377\"&1\377\"'/\377\"&1\377"
+  "\"'1\377\"&/\377\"'0\377$)1\377\"'1\377#)1\377\"'1\377\"'/\377\"&1\377\""
+  "&0\377\"'/\377\"'2\377\"(2\377$*2\377#)1\377!(1\377!'1\377\")2\377\"*2\377"
+  "\")1\377\")2\377#*2\377$*1\377%*2\377$*1\377%*1\377%+1\377%*4\377!%.\377"
+  "\"&.\377Ydi\377\34!&\377%,3\377',3\377%+1\377%*1\377#)2\377&+2\377&+2\377"
+  "#)2\377%+1\377$*1\377$-0\377#*2\377#)2\377#(2\377'-5\377&,4\377%*1\377%*"
+  "1\377$*1\377%*1\377$*2\377$(1\377#)1\377#)1\377$*3\377\40'0\377!(/\377$)"
+  "1\377$)1\377#(1\377$+2\377%*1\377$)0\377$*1\377%*1\377%*1\377%*1\377$*1\377"
+  "\")2\377$+3\377$+2\377$*3\377\40$,\37712.\377QPE\377OOF\377AA9\37798.\377"
+  ":8-\377:8-\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0^eb\326:8-"
+  "\37777.\377UUQ\377NNF\377QNE\377;;.\377\34\")\377\"'0\377\")2\377!(0\377"
+  "\"'0\377\")1\377\"*2\377#(0\377#(0\377#*1\377#(/\377\")2\377\"'1\377#)1\377"
+  "\"'0\377\"'1\377!&.\377!%.\377#)2\377\"(1\377\"(1\377\")2\377#(2\377\"&/"
+  "\377\"&2\377\"(0\377\")1\377\"'/\377\")1\377\"'0\377!&/\377#)2\377\"(2\377"
+  "$*2\377\"(1\377#(2\377%*2\377$*2\377%*1\377$*2\377$*1\377%+1\377#*2\377\40"
+  "&-\377\"&.\377Zek\377\34\40'\377&-3\377&+2\377%*2\377%+1\377$*1\377$*2\377"
+  "%*2\377#*2\377%*1\377%+2\377$*1\377%+1\377%*1\377$*1\377$)1\377%+4\377&,"
+  "5\377&-3\377#(0\377%*1\377%*1\377$*1\377%*1\377\")2\377#)2\377$'0\377$)1"
+  "\377%+1\377$)1\377#*2\377%*1\377#(2\377#(1\377#)1\377%*1\377$*1\377%,1\377"
+  "%*1\377#*2\377&,3\377%*3\377%*3\377\"&/\377<<3\377RQE\377NMD\377DE<\377>"
+  "=3\377:8-\377:8-=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r}\177\246"
+  ":8-\37798-\377EEA\377OOF\377PNE\377A@3\377\35\"(\377!&0\377#)1\377#)1\377"
+  "\"&/\377\40&/\377\"(0\377\")2\377\"(0\377#'/\377\"&/\377$)1\377\40(/\377"
+  "\"&/\377\"(0\377!'0\377\")1\377\"(2\377\"'/\377#(0\377#'/\377!'/\377\"(2"
+  "\377\"&/\377\"'0\377\"(2\377#)1\377\37&.\377!%/\377\"(0\377\"(0\377#(0\377"
+  "%*1\377$*1\377#)2\377\"(2\377\")2\377#)1\377$+2\377%+2\377$*3\377$*4\377"
+  "#)2\377#'/\377\"&.\377Zdj\377\35!(\377%+1\377%+2\377%*2\377%-3\377#*2\377"
+  "%*2\377%*2\377#*2\377$*1\377$)1\377\"*2\377#+2\377%*2\377%*2\377%*1\377$"
+  "*1\377%)1\377&+2\377$)0\377$(0\377$*1\377$)1\377$)1\377$*1\377$*1\377#)2"
+  "\377#*2\377#*2\377\"(1\377$)0\377%*1\377$*1\377$)1\377\"(1\377$)1\377#(0"
+  "\377#)2\377$)1\377#)2\377&,2\377&,4\377$*1\377\"(/\377A?6\377RRF\377LL@\377"
+  "==4\377:9.\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "nyy3QTO\37797-\377@A<\377PQF\377ONF\377GE;\377\30\40'\377\40&.\377\"(2\377"
+  "$)1\377\"(1\377\"(1\377\"(1\377#(1\377#(0\377#)0\377\"&.\377\")1\377!'/\377"
+  "\"'0\377\"'0\377\"&.\377#'/\377\"'/\377\"&.\377#'0\377\"&/\377\"&/\377\""
+  "'1\377\"'/\377\"(0\377#(1\377!(0\377!)1\377\"'0\377#'/\377$*1\377\"'/\377"
+  "$)1\377\"'2\377!'1\377!'1\377\")2\377\"(2\377#(3\377$*2\377\"*2\377#*2\377"
+  "%+2\377!'/\377\"&.\377Ydi\377\34\37'\377%*1\377%+1\377%*1\377&,2\377$*3\377"
+  "%-2\377#(3\377$*1\377$+3\377$)0\377$*1\377%)2\377%*3\377#*2\377$(1\377%+"
+  "4\377$*1\377%*2\377%+3\377%*1\377$+2\377$+2\377%*1\377\"(1\377#'1\377$*1"
+  "\377#(0\377\")1\377$*1\377%,2\377$)2\377$)0\377$)1\377$*1\377$)0\377\"'1"
+  "\377#)2\377#(0\377%*1\377\"(0\377$)1\377#(3\377\37&1\377CC;\377RRF\377JJ"
+  "?\377891\37787-\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\213\234\2433^da\377:8-\377BB7\377NPF\377PNE\377KJ@\377\37$*\377#)"
+  "0\377#(1\377\40&.\377\")1\377#(0\377\"&/\377\"(0\377\")0\377\"&/\377\"&/"
+  "\377\")1\377\"'1\377#)1\377#(0\377#'/\377\"(0\377\"'/\377\"&/\377\"(0\377"
+  "\"&.\377\"&1\377#'/\377#(0\377!&0\377#(0\377\"&.\377$)0\377\")1\377\"(0\377"
+  "!'/\377!&/\377\"&0\377\"&/\377\"*1\377\"*2\377#(2\377$+2\377\"(2\377\"(2"
+  "\377#*2\377$*1\377#*2\377#)1\377\"&.\377Ydi\377\36\40(\377&+5\377&-4\377"
+  "%*1\377%*1\377%*1\377$+2\377#*3\377%*2\377&+3\377$+2\377$*3\377#)1\377%*"
+  "1\377$*1\377%+1\377$*1\377$*1\377%*1\377$,2\377$*1\377$+2\377%*1\377$*2\377"
+  "\"(0\377#)1\377%*1\377%*1\377$)1\377#*1\377%*1\377#)2\377$)0\377#'1\377#"
+  "*2\377$*1\377$)1\377$)1\377$+1\377$)0\377$(0\377%*1\377$+2\377\34\".\377"
+  "=>7\377RRE\377JJ?\37799/\37787+\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377BB:\377PPF\377NNF\377HH"
+  "<\377\32\"+\377\37&-\377\"&/\377!&0\377\"'/\377$)0\377\")2\377#)0\377!'/"
+  "\377\"'0\377#'/\377\"'/\377\"'1\377#'0\377\"'/\377\"(0\377\"'1\377\"'2\377"
+  "\"&/\377\"&.\377\"&0\377\"&/\377#)1\377\"'/\377!'/\377\"&/\377\"'1\377\""
+  "'1\377\"'/\377$(0\377\"'/\377!'0\377\"'/\377\"(0\377\"(2\377\"'0\377\"(0"
+  "\377\"'1\377\"(2\377\"'2\377\"'/\377$*1\377$*1\377\40$.\377\"&.\377Zdj\377"
+  "\35!(\377&+4\377$+2\377'+5\377&+3\377%*1\377%+3\377$+2\377$*2\377$+2\377"
+  "%+1\377%*2\377%+4\377%-3\377#*3\377$)1\377%*1\377%*1\377%*1\377%*1\377%*"
+  "2\377&+3\377$)0\377$+2\377$(0\377#)1\377'-3\377%+2\377%*1\377$*1\377#)2\377"
+  "%)3\377$)0\377#)2\377#)1\377$)1\377%*2\377\"'1\377#'0\377%+1\377%*2\377%"
+  "*1\377#)2\377!(2\377=>9\377RPE\377LK?\377=<3\377:8-\377:8-\377:8-3\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\2433^da\377:8-\377DE>"
+  "\377PQH\377PNF\377FF9\377\27\37&\377\35#*\377\")1\377\40&0\377\32\35(\377"
+  "\36%.\377#*2\377#(0\377#'0\377&)1\377$)0\377\40&0\377#(2\377\"&.\377\37&"
+  "-\377\"'0\377#+3\377\"&/\377!&0\377\"(0\377!&.\377\"&1\377\"&/\377\"(0\377"
+  "#'/\377#'0\377!'.\377#'/\377\"&/\377\"'/\377!&/\377\"(0\377#)1\377\"(0\377"
+  "\")2\377#(1\377#+2\377#*2\377\"&0\377\"&1\377\"'1\377\")2\377#)1\377$)0\377"
+  "\"&.\377Ydi\377\35!'\377%+1\377%*2\377%+4\377&+2\377%*1\377#*3\377$,2\377"
+  "%*3\377$+2\377%,2\377%*1\377$+2\377$+2\377#*2\377#)1\377%*1\377$)1\377%*"
+  "1\377$*2\377\"'0\377$)2\377$)1\377%*1\377#*2\377#*2\377$+2\377%*1\377$(0"
+  "\377$)0\377#(0\377\"(0\377\40(/\377!'/\377\"'1\377#(0\377#(1\377#(1\377#"
+  "'0\377$(1\377%+2\377%*1\377$)2\377#*2\377EC>\377RRC\377LL@\377::1\37797,"
+  "\377:8-\377:8-3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243"
+  "3^da\377:8-\377BB<\377OOF\377ROE\377EC8\377\32!)\377!'-\377\26\33!\377\23"
+  "\24\25\377\30\27\27\377\22\24\24\377\27\32\"\377#(0\377!&/\377&,2\377#*0"
+  "\377!(0\377!&/\377\"&.\377!&0\377\37&.\377\"'/\377\"'/\377!'/\377%*2\377"
+  "\"&1\377\"&2\377\"&/\377\40&.\377\"&.\377$(0\377!'.\377\"'/\377\40&/\377"
+  "\"'/\377\37'.\377\"'/\377\"'.\377#'/\377\"'/\377\"&.\377\36%-\377\"'1\377"
+  "#)1\377\"'0\377!&/\377\")1\377\"&0\377!&.\377\"&.\377Ydi\377\32\35%\377#"
+  "*2\377%*1\377%,3\377%*1\377$*1\377#)1\377%)1\377$*0\377%*1\377%*2\377$)1"
+  "\377$)0\377#*1\377$*1\377#)0\377$+2\377$*2\377%*1\377'-3\377$*2\377#)2\377"
+  "%)2\377#)1\377#*2\377$*3\377#)2\377$*1\377$)0\377$)0\377#(1\377$*1\377#)"
+  "0\377$*1\377\"'/\377$)0\377#(0\377#(1\377#(0\377$+2\377#(0\377#)1\377#*2"
+  "\377\37(0\377)-.\377RRC\377NNC\377<<3\37722%\377:8-\377:8-3\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200^da\37798-\377DD<\377N"
+  "NF\377QPE\377142\377\35$,\377\31\40(\377-.&\377KL?\266MB)\206KG8\330-+&\377"
+  "\37%+\377$*3\377\"&/\377!&/\377\40'.\377!'0\377!(0\377!'0\377\"&.\377\"("
+  "0\377\"(0\377#)1\377\"'/\377\"&/\377\"&0\377!&.\377\37&-\377!&/\377!&.\377"
+  "\37&-\377!&.\377\37&.\377\"%-\377!&.\377\40&/\377!&.\377\40&.\377\37%,\377"
+  "\40&-\377!&.\377!&.\377!'/\377\"'/\377\"'/\377\"(2\377\40'/\377\34!)\377"
+  "\"&.\377Ydi\377\33\36&\377$*1\377%+2\377$*1\377$*1\377%*1\377%+2\377%+2\377"
+  "$)1\377$)1\377%+1\377#*2\377%*3\377%*1\377%,1\377$*1\377&*4\377%,2\377%+"
+  "1\377%*1\377%+2\377%+1\377%,4\377%,2\377$)2\377#)2\377%*1\377$*1\377#(2\377"
+  "$*1\377#*2\377#)1\377#)1\377$*1\377\")1\377#*1\377$*1\377$)1\377$*1\377$"
+  "*2\377\"(0\377$*1\377$*1\377#)1\377'*0\377RQC\377POF\377@@8\37787+\377:8"
+  "-\377:8-\272\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0{\210\214\326"
+  "@@6\377<:/\377LLH\377NNF\377SOB\377\"'/\377\40(2\377*-/\377LLA\314RNE\22"
+  "\0\0\0\0RNE&FC8\377\36\37\37\377\37&/\377\"'1\377\"&0\377\")1\377\"'1\377"
+  "!&.\377!&.\377\"&1\377\"&0\377\"&.\377#(0\377\"&/\377\"&/\377\"(0\377\"&"
+  "/\377!&0\377!&.\377!(0\377\40'0\377!&0\377\37&-\377\40&.\377\"(0\377\40&"
+  "/\377\"&.\377\40&-\377!&-\377!&.\377\37&.\377!&.\377\40&-\377!&.\377\"'/"
+  "\377!'/\377\"&1\377\37%-\377\"&.\377Ydi\377\35\40%\377%+1\377%,3\377%+1\377"
+  "$+2\377%+2\377%*1\377$+3\377$*3\377$*2\377%+3\377#*2\377&,3\377%*1\377%*"
+  "1\377#(0\377#)3\377%*2\377$*1\377$+2\377%+3\377%+1\377#)1\377#+1\377%+2\377"
+  "%+2\377$*1\377$*1\377\"(1\377$*1\377#(2\377\"'1\377\"&1\377#(0\377#)2\377"
+  "#)1\377\"(1\377$)0\377$*1\377#*2\377#)2\377'+4\377(-5\377#(0\377\24\34&\377"
+  "NL?\377TSH\377GG>\377>=3\377:8-\377:8-\354:8-B\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\213\234\243By\206\212\35497-\377<;0\377MNK\377PPE\377FD>\377\33$4"
+  "\377'-7\377687\377MMD\302\0\0\0\0\0\0\0\0RNE\12MJ@\377&'(\377\40&1\377\""
+  "&/\377\"(0\377\"(0\377\"&.\377#(0\377#(0\377\"&/\377\"&.\377\"&.\377!'/\377"
+  "#'/\377\"'1\377\"'1\377\"'0\377\"&0\377\"'/\377\"&0\377!'/\377!&/\377!&."
+  "\377\40'/\377\"&.\377\"'/\377\40&-\377\40&.\377\40&-\377\37&-\377!&.\377"
+  "\37&.\377\40&.\377!&/\377\40&-\377\37%,\377\"&.\377\37#*\377\"&.\377Ydi\377"
+  "\34\40'\377%+1\377%,1\377%*2\377#(2\377$*1\377%*2\377',4\377%*1\377%+1\377"
+  "%,2\377%,2\377$*2\377%*1\377%*1\377#*1\377#*2\377$*3\377%*2\377%*2\377%+"
+  "2\377%+1\377#)0\377(-5\377%*1\377%*1\377$*1\377$)0\377$)0\377$)0\377#'0\377"
+  "$*1\377\"(0\377#)1\377$)1\377$)0\377%)1\377#(0\377#)0\377$*1\377%*1\377\""
+  "'/\377\"'/\377$*1\377\37&0\377556\377VSF\377NKA\377>?5\377:8-\377:8-\377"
+  ":8-\233:8-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\7\213\234\243\233MOH\37797-\377"
+  "CC<\377MMF\377SPD\37736;\377#*6\377).9\3779BE\377NMC\370MMD\200OP?>OMB\257"
+  "NLF\377*3:\377#)2\377$)0\377\"'1\377\"'/\377\"&,\377\40&/\377\"&/\377\"&"
+  "0\377\"&0\377!&.\377!%0\377\"&/\377\40&/\377$(0\377\"'0\377\"(2\377\"&/\377"
+  "\"&.\377\"&/\377!%.\377!%-\377!&/\377!&.\377\"&/\377\40&-\377\40%.\377\37"
+  "&-\377!&.\377!&,\377\36&-\377\37&-\377\37%-\377\40%-\377\40&.\377\"'.\377"
+  "\"$*\377\"&.\377Ydi\377\33\40'\377#(1\377%*3\377%*3\377$*2\377$*1\377%*3"
+  "\377%*2\377%+1\377&-2\377%*3\377$*2\377$*1\377$*1\377$*1\377#(1\377$)1\377"
+  "#*2\377%*1\377$*2\377#+3\377#*2\377%*1\377%*2\377\"*2\377%*1\377$*1\377$"
+  ")0\377$)1\377\"&.\377\"&/\377#)2\377$)1\377#(2\377#*2\377$*1\377#)1\377\""
+  "(0\377\"(0\377$*1\377%*2\377#(2\377#(/\377#*1\377&,3\377\"*1\377QMB\377N"
+  "MC\377BB9\377:9/\377:8-\377:8-\377:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\200"
+  "t\177\201\377?>5\37787-\377HH?\377NNE\377PMC\377\37)5\377%,4\377%*3\377\35"
+  "#4\377jnk\377_]O\377TQ@\377om^\377R_g\377\27\37)\377\")2\377#'0\377#'/\377"
+  "#(0\377$(0\377\"&.\377\"(0\377!&/\377\"'0\377#(1\377!%/\377\"&/\377\"(1\377"
+  "#'/\377\"'/\377\40&/\377!&/\377\"&.\377!&.\377!&.\377\37&-\377\"&/\377!&"
+  ".\377\40%,\377\40&-\377\40%-\377\36&-\377\36&-\377\40&-\377\40$-\377\40&"
+  "-\377\40%-\377\36%,\377\40&-\377\37&,\377\"&.\377\"&.\377Ydi\377\35\40'\377"
+  "&+5\377%,3\377%+2\377$*1\377%+1\377%+1\377$*2\377$*1\377$*2\377%+1\377%+"
+  "1\377%+1\377%*1\377#*2\377$*1\377$*1\377$*1\377#(0\377#)0\377#)1\377$*1\377"
+  "#)0\377#*0\377#(0\377%*1\377$)1\377$)0\377$(0\377#)1\377#(0\377\"*2\377$"
+  ")1\377#(0\377#*3\377#*2\377#*2\377$)1\377#*2\377#(0\377$*1\377%*1\377$)1"
+  "\377$)0\377#*2\377\37'1\3775:B\377UQC\377LJ@\377==3\377:8-\377:8-\377:8-"
+  "\314:8-\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\213\234\243\37\200\216\223\324<;0\37798.\377BB;\377MME\377WTG"
+  "\377>DI\377\40(3\377&*5\377%+3\377\40&/\377!,:\377V[d\377gns\377HUc\377\31"
+  "\"*\377\"'-\377\"'1\377\"(1\377\"'0\377!(0\377\"&.\377\"&.\377\"'/\377#'"
+  "0\377\"(1\377\37&.\377\37$,\377\"'0\377\"&/\377\"'0\377\"&.\377!&.\377\37"
+  "'/\377\40'.\377\"&.\377\40&-\377\40'.\377\40%,\377\35%,\377\37&-\377\40&"
+  "-\377\40&-\377\"&/\377\40&-\377\36&-\377\37&-\377\40&-\377\36&-\377\37%-"
+  "\377!&/\377!&-\377\37#+\377\"&.\377Ydi\377\33\37%\377%*2\377$*2\377&+4\377"
+  "$*4\377$+1\377&-4\377&-3\377%,1\377$*1\377%*1\377#+2\377#*2\377%*1\377#*"
+  "2\377$*1\377$,2\377%*1\377$*1\377$*1\377$)1\377#*2\377#*2\377%+1\377#)1\377"
+  "#*1\377#)1\377$)0\377$*1\377$)0\377$*1\377\"*2\377\"'0\377$)1\377#*3\377"
+  "$+2\377$)1\377#(2\377#'2\377$)1\377$*1\377#(2\377$)1\377\")/\377$*1\377\""
+  ")1\377!,?\377KLO\377SNC\377EF<\377;:/\377:8-\377:8-\377:8-\312:8-\10\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\10\213\233"
+  "\242\312_fc\37787-\377<<4\377IKC\377POE\377URJ\377\35(7\377#)1\377%*2\377"
+  "#*2\377\"(0\377\40&.\377\26\36'\377\25\35)\377\33\40(\377\"(1\377$)2\377"
+  "$*1\377$)1\377#(1\377#(/\377\"&.\377\"'/\377#(1\377\")1\377#(0\377\40&0\377"
+  "\37&.\377\"'0\377\37&.\377\37'.\377!&.\377!&.\377!&.\377#'/\377\"&.\377!"
+  "&.\377\40'.\377\40%-\377\35$,\377\37&-\377\40&.\377!&.\377#(0\377\40$,\377"
+  "!&/\377\"&.\377\36$-\377\40&-\377!%-\377!&.\377\40&.\377\40$+\377\"&.\377"
+  "Ydi\377\34\40'\377&,4\377%+1\377&,3\377'-3\377&*4\377',3\377%*3\377&,2\377"
+  "%,2\377%*1\377$*2\377%*2\377$*1\377$*1\377%*3\377$*1\377%*1\377%*3\377%+"
+  "1\377$*1\377%+2\377#(2\377%)0\377#(0\377#*2\377$*1\377\"(1\377#(1\377$*1"
+  "\377\"(2\377#(0\377#(2\377$)1\377\"(2\377#)1\377$*2\377#)2\377$(1\377$(0"
+  "\377%+1\377%*1\377\"(1\377!&.\377\")0\377$)2\377$'.\377$;P\377URJ\377PME"
+  "\377FE<\377:90\377:8-\377:8-\377:8-\313:8-\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\213\234\243Y\212\232\241\313Y^Z\37797-\377:91\377HHB\377PND"
+  "\377UTJ\377+5A\377#'0\377$(2\377\")2\377#*1\377$)1\377\"(0\377#(1\377#)1"
+  "\377\40'/\377\40$+\377\"'0\377\"'2\377%*1\377#)1\377\"*2\377\"'2\377#(0\377"
+  "#(/\377\"&/\377\"&1\377!'/\377!'.\377#'0\377\"&.\377\"&.\377\"&1\377\"&2"
+  "\377#'1\377!&.\377\"'/\377\40'.\377\37&-\377#%.\377\"'/\377!&.\377\"'/\377"
+  "#'/\377!&/\377\40&.\377\37&-\377\36&-\377\40&-\377!&.\377!&.\377\40&.\377"
+  "!'/\377\"&-\377\"&.\377Ydi\377\35!'\377%+2\377%,2\377&,2\377&+2\377$*2\377"
+  "$+2\377#+2\377%*2\377&*4\377$)2\377%)1\377$*1\377%*2\377$*3\377%,3\377$*"
+  "1\377%*1\377%*1\377$*1\377\"(2\377$+2\377$)3\377%*0\377%)1\377%*1\377$*1"
+  "\377#)1\377%*1\377$*1\377$*1\377$*2\377#*2\377#*2\377\")2\377#)1\377#)2\377"
+  "$*2\377$*1\377%*1\377$*1\377$*1\377#)2\377%+2\377%*1\377#*1\377!)0\377\30"
+  "\40*\3779EZ\377[RF\377ONC\377@A8\377:8.\377:8-\377:8-\377=;1\316\177\215"
+  "\221uu\201\203\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243\20\213\234\243ut\200\202\374PSM\377"
+  ":8-\377:8.\377CB<\377MLD\377]WK\3777@N\377\35%0\377\40$+\377#*2\377#)1\377"
+  "#*2\377#)1\377#(0\377#(1\377$)1\377#)1\377\"(0\377#)1\377\"(1\377#(0\377"
+  "#)1\377\"'1\377$(0\377#'0\377#'/\377!&.\377\"&/\377\"'/\377\37&.\377\37&"
+  "-\377\40&.\377\"&0\377!&/\377\40&.\377\"&/\377!&.\377\"&.\377\37%.\377!&"
+  ".\377\40&.\377\"&.\377!&.\377\40'.\377!&.\377!$-\377\37&-\377\40&.\377!&"
+  ".\377\40&.\377\40&.\377\40&.\377\"&/\377!&/\377\40&.\377\"&.\377Ydi\377\33"
+  "\40%\377$*1\377%*3\377&,3\377%*1\377&,3\377'-3\377$*1\377&,2\377%+1\377%"
+  "+2\377%*1\377&-2\377$)3\377$*1\377$)1\377$*1\377%+1\377$)1\377$*1\377%*1"
+  "\377%*3\377\")1\377$+2\377#)2\377#)1\377#)2\377$+2\377&,2\377#*1\377$(1\377"
+  "%)3\377%*1\377$)0\377\"(1\377$*1\377#*2\377#)2\377#)2\377%*1\377$)1\377$"
+  "*1\377#*2\377#)2\377#)1\377!(0\377#+2\377\"(0\377\35(2\377DLZ\377SNE\377"
+  "QQC\377FC9\377:9/\377:8-\377:8-\377:8-\377Z`\\\355ahfl\213\234\243W\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\234\243W\213\234\243l\202"
+  "\221\226\355irq\377;:/\37797-\377::1\377AA7\377LKB\377XUJ\3779G]\377\33'"
+  "2\377\"(/\377\"'1\377#(1\377!%0\377#'0\377$(1\377\")2\377#*2\377#)2\377\""
+  "'/\377$)0\377#*1\377#)1\377\"(1\377#'/\377\"(0\377#(0\377\"'0\377#(1\377"
+  "#'/\377!&.\377\"(0\377\"'1\377#(0\377!'/\377!'0\377\"&.\377!'/\377\"&/\377"
+  "#'/\377\"'/\377!&.\377!&.\377\40&-\377\"&/\377!&.\377\"&/\377\40%-\377\37"
+  "%.\377\40%.\377!'0\377!'.\377$(0\377$(0\377!&.\377!&.\377!&/\377#'0\377\""
+  "&.\377Ydi\377\34!'\377%*1\377%*1\377&*4\377&,3\377&,3\377&-3\377%*2\377%"
+  ",1\377$+2\377&+2\377%,3\377%*1\377%*2\377%*1\377#'/\377#)1\377$)2\377$*2"
+  "\377#)0\377%*2\377%+3\377%)3\377%*1\377$)0\377$)0\377#*2\377#)2\377#*2\377"
+  "#*1\377#'1\377#'0\377$)1\377$*1\377$)1\377#)0\377$+2\377%)1\377$*1\377%*"
+  "1\377\"(1\377$)0\377%*1\377#(0\377$*0\377$*0\377#)1\377#*2\377$)0\377\34"
+  "%5\3778EX\377[XK\377PNE\377GF>\377<:/\377:8.\377:8-\377:8-\377CC:\377IKC"
+  "\364`gd\306}\213\217\306}\213\217\306}\213\217\306}\213\217\306}\213\217"
+  "\306w\203\206\364LNG\377HIA\377:8-\37798-\377;;1\377FD;\377NLB\377]ZU\377"
+  ":G\\\377\35(8\377#)/\377#(0\377#*2\377$*2\377\")1\377#)1\377#(1\377#)2\377"
+  "#(0\377\"(0\377#)1\377\"'1\377$)1\377\"'1\377!)1\377\")1\377\"'1\377\"'/"
+  "\377\"'0\377\"&/\377\"'/\377!&.\377\"(0\377\"'/\377\"'/\377\"(0\377\"'/\377"
+  "\"&0\377$(0\377\"&0\377\"&0\377\"&0\377\"&0\377\40&.\377\"&.\377\"&.\377"
+  "\"&.\377\"(0\377!&.\377\"'1\377\40'0\377\"'/\377!'.\377\37&.\377\37$.\377"
+  "\40&.\377!(0\377\"'/\377\"&/\377\"&.\377Ydi\377\33\40%\377$*2\377%,1\377"
+  "&+3\377%+2\377#*2\377$+2\377%+1\377%,2\377&+4\377%,2\377%+1\377$+1\377$+"
+  "1\377%+1\377#)1\377$)1\377#)2\377%+3\377$*1\377#*2\377$+2\377%*2\377&+4\377"
+  "$*1\377$*1\377#(0\377$*2\377$)2\377%+1\377$*1\377%*1\377$*1\377#)2\377$)"
+  "1\377\"'1\377#)1\377$)1\377$)0\377$*1\377%*1\377$(0\377#(1\377\")2\377#("
+  "1\377$)1\377#'0\377$*3\377$*1\377\"'1\377\36&2\377>L[\377TYY\377POD\377J"
+  "J?\377BB8\377:90\37776,\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-\377:8-"
+  "\377:8-\377:8-\37787-\377:9.\377;;1\377??5\377II>\377SPD\377^b_\377;GY\377"
+  "\33#-\377\40'.\377#)2\377\"'1\377$+2\377$*1\377\"'0\377\")0\377\"(0\377\""
+  "(1\377#)1\377!)1\377#)2\377\")1\377\"(0\377!'0\377#(0\377\"(1\377\"'1\377"
+  "!'1\377\"'1\377!(0\377#)2\377\"&0\377\"&.\377#(0\377\"(1\377!)1\377\"'0\377"
+  "\"'0\377\"'/\377\40'/\377\"'0\377\"(0\377\"'.\377#'/\377!(/\377\"'0\377!"
+  "&.\377\40'/\377!&.\377\"&0\377\"&1\377!%/\377\"'/\377\"&1\377!&0\377#(0\377"
+  "!'/\377#(1\377!&.\377\"&.\377Ydi\377\34\37&\377%+3\377&-3\377&,2\377&,3\377"
+  "%*3\377$*2\377%,3\377$*1\377%*4\377%,2\377%+1\377$+2\377$*1\377$)0\377$*"
+  "1\377%+1\377%+1\377%*1\377%*1\377$*1\377$+2\377#(0\377%*2\377#*2\377#*2\377"
+  "%)2\377$)2\377$*4\377%,2\377%*3\377%*1\377$*1\377$*2\377#*2\377\")2\377#"
+  "(1\377$*3\377$*1\377$)1\377#(0\377#*2\377%*1\377%*1\377#*2\377#*2\377#)1"
+  "\377#'/\377#)1\377%*2\377#)0\377\36#+\377*7G\377W^d\377[XO\377USI\377LK?"
+  "\377EE:\377=>4\377:90\377<:/\377;9/\377::0\377::1\37798/\377:8/\377;9/\377"
+  "=<2\377CC9\377IH=\377TRG\377_`U\377]ci\377/:G\377\34#+\377$)1\377\"*2\377"
+  "\")2\377\")2\377\40'/\377!(1\377\"&2\377#(1\377#(1\377#)2\377#(0\377\")0"
+  "\377\"&/\377\"'/\377#)1\377#)1\377\")1\377\"&1\377\"&1\377!&/\377\"(0\377"
+  "\"'/\377#'0\377$(0\377\"&.\377\"&.\377\"&/\377!'0\377\"(1\377!&.\377!&.\377"
+  "!&.\377\"&/\377\"&.\377\"'0\377\"&.\377\")0\377#'/\377\"&/\377\"'/\377#'"
+  "/\377\"&/\377#(0\377#'/\377\"&/\377\"(1\377#(0\377#'0\377\"'0\377#'0\377"
+  "\"&0\377\"&.\377Ydi\377\34\40%\377%+1\377&,3\377&-2\377&,4\377&+3\377%*2"
+  "\377%*3\377%,2\377%*1\377%+1\377%+1\377%*2\377%)1\377$(1\377#*2\377%+1\377"
+  "%+1\377$)1\377%*1\377#)2\377%+2\377%*1\377&+3\377$*2\377$)1\377$)1\377&+"
+  "3\377$*2\377\"*2\377#*2\377%+1\377%*1\377#(1\377#*2\377$*3\377#(2\377#)2"
+  "\377$*1\377#)2\377#)1\377%*1\377#*2\377#(0\377#)2\377$*2\377$)1\377$)0\377"
+  "$(0\377\"'0\377#*1\377!'/\377\40%,\377\37(/\377>HT\377ell\377da\\\377YVK"
+  "\377PPD\377KI?\377IF=\377GG>\377HF:\377IH=\377KH?\377JF;\377II=\377NK?\377"
+  "YWL\377mok\377dpq\377@PY\377\35%/\377\35$,\377\"'.\377%*1\377%+2\377#)0\377"
+  "#)1\377%*1\377\"*2\377\"'2\377#'1\377#'0\377#'2\377#(2\377#'/\377\"&.\377"
+  "$(2\377$)1\377$(0\377#)1\377\"'2\377!(2\377!'2\377!'0\377#'1\377\"(0\377"
+  "\"(0\377#(0\377!(0\377!'/\377!'2\377\"(1\377\"&0\377\"&/\377\"&1\377\"&/"
+  "\377$(0\377!'0\377\"&1\377\"'/\377!(/\377\40'1\377\")1\377\"&.\377#(0\377"
+  "#)1\377#'0\377$(1\377\")1\377\")1\377$)0\377\"&0\377#'1\377$)2\377\"&.\377"
+  "Ydi\377\33!%\377%+2\377&.5\377&.4\377&-4\377&*3\377$(3\377%*2\377&*4\377"
+  "&,3\377&+3\377#*2\377$)0\377%+1\377$(2\377\"*2\377$*1\377$*3\377%,4\377#"
+  "*2\377#(2\377#)2\377#)2\377%*1\377&+2\377$)0\377$*1\377&(1\377%+3\377$*2"
+  "\377$*1\377$*1\377$*1\377%*2\377$*1\377!*1\377#*1\377$)1\377$*1\377\")1\377"
+  "#)1\377#(1\377\")2\377\")1\377\")2\377#*2\377#(/\377$*1\377#'/\377!(/\377"
+  "$*1\377#*1\377$*1\377#)1\377\36#)\377\33\40*\377*5F\377DPa\377bcd\377YZX"
+  "\377Z[T\377WXO\377ZWL\377\\WL\377Z[R\377\\\\Y\377_^W\377U_d\377CP`\377(2"
+  "B\377\31\37)\377\35\"(\377#(1\377%*1\377#)1\377#(0\377\40&.\377$(0\377\""
+  ")1\377$(1\377$*1\377\")2\377\"(0\377$)0\377$*1\377#(2\377\")2\377\"'0\377"
+  "\")2\377\"*1\377$)1\377$*1\377#)1\377\"'/\377#&/\377\"&0\377\"&1\377$)0\377"
+  "#'1\377#(1\377$(1\377\"(0\377\"&0\377!'/\377#'2\377\"'0\377\"(1\377\"&/\377"
+  "\"'2\377\"'0\377\")2\377%*1\377\"(0\377\"(2\377\"(0\377\"(0\377#(3\377#("
+  "2\377$*1\377%*2\377%*2\377%*4\377$*2\377#'0\377$)1\377$)0\377\"&.\377Ydi"
+  "\377\35!'\377&,4\377&,6\377&-6\377&-3\377%*2\377%+3\377&+4\377%*3\377%*3"
+  "\377$*1\377%,2\377%*1\377%+2\377$+2\377#*2\377%*3\377#(/\377#(0\377#*2\377"
+  "%*1\377#)2\377$)1\377%*3\377$*1\377%,3\377$*1\377&,3\377%*1\377%*2\377%*"
+  "3\377%,2\377$*2\377%+2\377$*1\377\"*2\377#*1\377#(1\377\"*2\377\")1\377%"
+  "*1\377#(2\377#*2\377#)1\377\"(0\377#)1\377\"(0\377#*2\377$)0\377#*2\377$"
+  "*1\377#(/\377$(0\377%+2\377\"'0\377\")1\377#(0\377\34#,\377\36$-\377$/>\377"
+  ".9I\3773<J\377:BN\377:BM\3773@M\377*6E\377&.8\377!)2\377\33\37%\377!&/\377"
+  "#)1\377\"(0\377#(1\377#)1\377#'/\377\"(0\377#)2\377#)1\377\")1\377#)2\377"
+  "#)1\377#(0\377#(0\377#(1\377\"*2\377#*2\377#*2\377\"(0\377\"(1\377!)1\377"
+  "\"(1\377#(1\377!'0\377$*1\377$)1\377\"&/\377\"&.\377#(1\377#'1\377\"(2\377"
+  "\"&0\377#(1\377\"'/\377\"(1\377\"'2\377\"&0\377\"'0\377\"'0\377\"(0\377\""
+  "(1\377\"(1\377$(1\377#(2\377\")1\377$+1\377$)0\377&,5\377$+3\377#+2\377#"
+  "*3\377$+2\377&+4\377&+6\377%)4\377$)0\377$)2\377\"&.\377Ydi\377\35!'\377"
+  "&-4\377&-6\377&-3\377',3\377&-2\377(.5\377%+2\377%+1\377%*1\377%+1\377%*"
+  "1\377%,2\377%)1\377$*2\377$*1\377$*1\377#)1\377#*2\377%*2\377$*2\377#*2\377"
+  "\"'/\377#*1\377#)1\377\"(1\377$*2\377$*2\377$)2\377%*1\377#*2\377&*2\377"
+  "$+2\377$+1\377$)0\377#)1\377%*1\377#)2\377#)2\377\"(0\377\"'1\377#)1\377"
+  "#)2\377%*1\377$)1\377$*1\377#)2\377#)1\377%)1\377\"&/\377#(1\377#*1\377#"
+  "(.\377#)0\377%*1\377$(1\377%*1\377$*1\377$)1\377$*2\377',4\377$(0\377%*2"
+  "\377&-6\377%,2\377\40)/\377$,3\377%*3\377#*2\377\"*2\377#)1\377\"(1\377#"
+  "(2\377#(0\377\"(0\377#(0\377\"&1\377#)1\377\")2\377\")1\377$*1\377\"*2\377"
+  "#(0\377#*2\377$)1\377\"(1\377#(0\377#(0\377$)1\377#'/\377#'0\377#'1\377#"
+  "(1\377\")1\377\"'/\377\")2\377$(0\377#)0\377#'0\377#(1\377\"'0\377\"(1\377"
+  "\")1\377\"*1\377\"'/\377#)1\377\"'0\377\")1\377\"(0\377!)1\377$)1\377$)1"
+  "\377$)0\377#*2\377$*1\377#*2\377$*2\377$,2\377&*5\377$*3\377$+3\377%*3\377"
+  "%+3\377&-4\377&-2\377#*2\377\"&.\377Ydi\377\33\40%\377&,5\377(,8\377&,6\377"
+  "&-5\377'.5\377$+4\377%+2\377$+2\377',3\377%-2\377%+1\377&,2\377$)0\377%*"
+  "1\377$*1\377$*1\377#+2\377$*1\377%*2\377$)2\377%+2\377\")2\377%+1\377$*1"
+  "\377$*1\377$)2\377#*2\377#(0\377$*1\377\"(0\377#)2\377$*1\377#)1\377#)0\377"
+  "\")0\377%*1\377$)1\377#)1\377\")0\377\"'1\377$*1\377#)2\377$)1\377$*3\377"
+  "#*2\377#(2\377\"'/\377#(1\377\")2\377#*2\377#)2\377#*2\377#*2\377%*1\377"
+  "\"*1\377$*1\377%*1\377$*1\377%+1\377&+4\377%*4\377%*2\377&.3\377%+2\377%"
+  "*1\377$*1\377$*1\377$*1\377$*1\377!(0\377\"'/\377#)2\377$)1\377#(0\377\""
+  "'/\377\"&.\377$)1\377#)2\377!)1\377#*2\377\"'2\377\"(0\377\"*2\377#)1\377"
+  "\"'0\377\"'/\377\"'/\377!'/\377\"'/\377\")1\377\"(1\377#(1\377#(0\377\"&"
+  "/\377\"'/\377$(0\377#'0\377\")1\377!(0\377\40(/\377\"(/\377\40'/\377\"(0"
+  "\377\"'1\377#)1\377\")1\377\")1\377$)1\377#*1\377#*1\377\"&1\377!&/\377#"
+  "*2\377$*2\377%*2\377$*2\377$,3\377&,4\377&,4\377&,5\377&-6\377%-5\377%,2"
+  "\377%,4\377%,4\377\"&.\377Ydi\377\36!'\377',4\377(.6\377&,6\377-29\377'+"
+  "6\377%+2\377%,2\377&+4\377%*1\377%+3\377$)2\377%*3\377$)1\377\"'2\377#)2"
+  "\377#*2\377%,4\377$*1\377#)1\377%+1\377%,1\377#)2\377$(0\377#(0\377$)1\377"
+  "!'0\377#*1\377%*1\377$*1\377$*1\377$)1\377%*2\377$*1\377$)1\377$)2\377$)"
+  "1\377$)0\377\"'/\377\"(0\377#*2\377\"*2\377#)2\377$*1\377$)1\377$(1\377\""
+  "'1\377\")1\377\"(0\377#)1\377%*1\377$)1\377%*1\377#(2\377$)1\377%*2\377&"
+  "-2\377%+1\377$*1\377#*2\377%+2\377%*1\377&*4\377$+0\377$*1\377%*1\377#*1"
+  "\377$)1\377$+2\377#*2\377%*1\377$*1\377#)1\377#(1\377!'.\377#)1\377\"(1\377"
+  "\"&/\377\"'0\377#'0\377\"'2\377#*2\377#'/\377\"'/\377\"'1\377\"(0\377\")"
+  "1\377\"(2\377!'/\377!)1\377#)1\377#)2\377#)2\377\"(1\377#)1\377#(1\377#("
+  "1\377$(0\377#(0\377\"&/\377!&.\377!'1\377\"'0\377\"(0\377#'/\377\"'0\377"
+  "$*1\377\"'2\377!*1\377#(1\377%*1\377%)1\377$*1\377$*3\377&*4\377&,4\377%"
+  ",2\377%*1\377&+5\377%-4\377&-7\377&+7\377&+6\377&-6\377&+6\377&,4\377\"&"
+  ".\377Ydi\377\35!'\377&,5\377',5\377)-6\377-18\377&-6\377%-2\377%,2\377&-"
+  "4\377%+2\377%+1\377$)2\377%*1\377%*1\377$*1\377#)2\377%*1\377%*2\377%*1\377"
+  "#)1\377$*1\377$*1\377$)1\377#*2\377$*1\377\"(2\377$*1\377$*1\377$*1\377$"
+  "*1\377%*1\377$)1\377%+2\377$*1\377$)1\377$*2\377$*1\377\"'0\377#(0\377#("
+  "0\377#(0\377\"(2\377\"*2\377#(0\377$)1\377$)1\377#)1\377#*2\377$)1\377$("
+  "1\377#)1\377$)1\377#*2\377$*2\377$)1\377%*2\377%+1\377#*2\377$*1\377$*1\377"
+  "%+2\377&-2\377%+2\377$)0\377%*1\377%*1\377%*1\377#)2\377#*2\377$)1\377#)"
+  "1\377$)0\377$)1\377#)2\377\"(1\377$)1\377#(0\377#)1\377\"*2\377#*2\377\""
+  ")2\377#'1\377\"&0\377#(0\377#)1\377\40&/\377\"'/\377\"(2\377\")1\377\"'0"
+  "\377\"&0\377\"'/\377#'0\377#(0\377$*1\377\"&/\377\"&/\377$(0\377\"'/\377"
+  "#)0\377\")1\377\"*2\377\")1\377\"(2\377\"'1\377\")1\377$(0\377#'1\377#*1"
+  "\377#+2\377$)3\377#(2\377\"*2\377$)2\377%*4\377%*3\377#(3\377&,5\377&-6\377"
+  "'-5\377&+3\377&+5\377%+5\377&.6\377'.6\377$*2\377\"&.\377Ydi\377\37#'\377"
+  "*.6\377)-6\377'-5\377&.6\377&-4\377&,5\377%,3\377%+1\377',3\377#)2\377%*"
+  "4\377%,3\377#*2\377#(0\377#*2\377%*1\377$(1\377#)2\377$)0\377%*1\377$)0\377"
+  "\"*2\377$*1\377$)1\377%+1\377$*1\377#*2\377$*1\377$*1\377%*1\377#)2\377#"
+  "'2\377%+2\377$*2\377#(1\377$)0\377#)0\377$*1\377%*1\377#)1\377#(/\377#'/"
+  "\377\")0\377$*3\377\"(1\377$)1\377$*2\377#*1\377#*2\377$(0\377$*1\377$+2"
+  "\377$*1\377$*1\377$*1\377#+1\377#*2\377%+1\377$*1\377$+1\377%+1\377$)1\377"
+  "%*3\377$*1\377\"*2\377$*1\377$*1\377#*2\377#)0\377#'1\377#)1\377#)2\377$"
+  "*1\377#)2\377\"'/\377#(0\377#(0\377#(2\377%*1\377\"*1\377#)3\377$)1\377\""
+  "(1\377\")1\377#)2\377#'/\377#'0\377\"'/\377\"'0\377#(1\377\"(0\377\"&/\377"
+  "!'0\377\"'/\377#)1\377\"'/\377\"(0\377\"(0\377\"&/\377#*1\377!)1\377\"(0"
+  "\377#(2\377\"(2\377\"(0\377\"(1\377\"*2\377#)2\377\")2\377#)1\377$*2\377"
+  "%*4\377%+4\377$)3\377%)5\377%*4\377&,6\377).8\377'-7\377'.7\377&.6\377'."
+  "6\377(.6\377&.6\377&,4\377\"&.\377Ydi\377\36\")\377'-5\377&+3\377&,4\377"
+  "&-3\377&-4\377&+4\377%+4\377%+2\377%+3\377$*1\377%+1\377$*2\377#*2\377#("
+  "0\377$*1\377$(1\377#*2\377$*1\377$*1\377$)1\377$)0\377$*1\377%,2\377$*1\377"
+  "#)2\377%*1\377$*2\377$*3\377#)1\377$)1\377#*2\377$*1\377$)3\377%*4\377#("
+  "0\377$(1\377\"(2\377#(2\377#)1\377#*2\377$*1\377#*1\377$)1\377$*2\377\"("
+  "2\377\40*1\377\"'/\377\"'1\377#*2\377#(1\377%*1\377#)2\377#*2\377#*2\377"
+  "$,2\377\37'.\377#*1\377$+2\377%*1\377%*1\377!(/\377$*1\377#'1\377\"'/\377"
+  "$)1\377#(1\377\")1\377$*1\377!(/\377!'/\377#*1\377#)2\377$)1\377$*1\377\""
+  ")1\377$*1\377#'1\377\"&/\377#)1\377#'0\377\")2\377\"(/\377!'/\377\")1\377"
+  "$)1\377\"&/\377\"(1\377\"(0\377\"&/\377!'/\377\"'/\377\"&/\377$)1\377#'/"
+  "\377\"'0\377!'.\377#(1\377\40(0\377\"'/\377#(2\377#(0\377\40'0\377\")2\377"
+  "\"(1\377\")1\377#)0\377#(0\377#)3\377#)2\377#)2\377$*1\377$(1\377#*2\377"
+  "%,4\377$+4\377%*5\377&+6\377&,4\377&.6\377&.6\377&,6\377(.6\377'.6\377'."
+  "6\377%*3\377\"&.\377Ydi\377\36!'\377&,2\377'-3\377&,4\377&,2\377&-2\377%"
+  "+1\377&-5\377&-4\377&,2\377%*1\377%+2\377$*2\377%*2\377$*2\377$)1\377$)1"
+  "\377#)1\377$*1\377$*2\377%*2\377%,2\377$*1\377#*2\377&,2\377$)1\377%+1\377"
+  "#*2\377$)1\377%+1\377$)2\377$*1\377$*1\377#)0\377$*1\377#*2\377#)2\377#'"
+  "2\377#(1\377\"(2\377#*2\377\"*2\377\")1\377#*2\377#)1\377#)2\377\")1\377"
+  "\")2\377\")2\377#)2\377#(0\377#*2\377$)0\377#*2\377\"'1\377$+2\377%*1\377"
+  "#*1\377!&0\377#)1\377#)0\377\34#+\377\24\32#\377\26\31#\377\30\36'\377#'"
+  "/\377$)0\377\"'/\377\"(0\377$)1\377$)1\377\"'/\377\"'1\377\"'2\377$(0\377"
+  "\"(2\377#)1\377\"'2\377\"'1\377#(0\377\"'1\377\"&/\377#)1\377#)2\377\")2"
+  "\377#(0\377!'.\377#)1\377#(3\377#'2\377#)2\377\"(0\377\"&0\377#)2\377#(2"
+  "\377#(0\377#(0\377$(1\377#)1\377\"'.\377\"(0\377$)1\377\")1\377\"&1\377\""
+  ")2\377\"'1\377$*1\377#)0\377\"*2\377$*3\377$*3\377%+1\377$)2\377%*4\377$"
+  "*2\377%*3\377$*3\377',5\377&,6\377&-6\377&,5\377&.6\377'-7\377'/6\377&+6"
+  "\377\")1\377\"&.\377Ydi\377\32\37%\377%*1\377%,2\377%*1\377$)1\377$*1\377"
+  "#*2\377%*2\377$*1\377%,2\377%*1\377&,2\377%+2\377%*1\377%*1\377%*1\377#*"
+  "2\377#*1\377%*1\377%*1\377%+1\377%*1\377$*1\377%*2\377$)1\377%)3\377%*1\377"
+  "#(0\377$*1\377%,2\377#*2\377#*2\377$*1\377$*1\377#+2\377$*1\377\")2\377#"
+  "(0\377#(/\377%*1\377$*3\377%,2\377#(1\377%)2\377$*3\377#)1\377$(0\377\"("
+  "0\377\"(0\377\"*2\377$)1\377#)2\377#)1\377$*1\377%*1\377$*2\377%,2\377$)"
+  "1\377$)1\377\35\")\377\24\26\33\377%&%\377210\377532\377)))\377\25\30\31"
+  "\377\33\36%\377#(1\377\"(0\377\")2\377\")1\377$)0\377\")2\377\"(2\377\"("
+  "2\377\")2\377\"'0\377\"&/\377\40'/\377#)1\377\")1\377!(0\377!(/\377\"(/\377"
+  "\")2\377\"*2\377\40)1\377\"'1\377#(0\377\"(0\377\"(1\377\"*2\377$)1\377\""
+  "'/\377\"(/\377#'0\377#)1\377#'/\377\"'0\377\")1\377#'1\377$)1\377\")1\377"
+  "\"'1\377!)1\377\"'1\377!(0\377#*2\377#*2\377$*2\377#(0\377%+2\377#)2\377"
+  "%*3\377%+4\377$*3\377$*3\377&,5\377$*4\377&+6\377&,6\377(,6\377&,4\377&-"
+  "5\377&+4\377\"(1\377\"&.\377Yej\377\33\37%\377&(0\377$)1\377$*1\377$*3\377"
+  "$*1\377$*1\377$)1\377%*1\377#*2\377$)0\377$*1\377$*1\377$*1\377$)3\377%+"
+  "1\377%+1\377$*1\377%+2\377%*3\377#'0\377$)0\377\"*2\377$*3\377%*1\377$)1"
+  "\377#*2\377$*1\377$*1\377$*1\377$*1\377$)1\377\"(0\377#*2\377%+2\377#*2\377"
+  "\"(2\377#(0\377$(0\377$*1\377$+2\377#*2\377#*2\377#*2\377$)1\377#(1\377$"
+  ")1\377$*1\377$)0\377!)2\377\"(1\377#(0\377\"(0\377#)2\377&-3\377%*1\377\""
+  ")2\377$)4\377\34\40&\377\35\37\37\377EE:\377YVH\377ZVH\377XUG\377YUG\377"
+  "TPA\377*)%\377\23\27\35\377#*2\377#(0\377!'.\377$(0\377#(1\377#(1\377$*1"
+  "\377\")0\377#)1\377\"'1\377\"(2\377#'0\377!'0\377#(0\377!(1\377!&.\377\""
+  "'1\377\"'1\377\"'2\377\"(1\377#(2\377\"(0\377\"(1\377\"*2\377#)1\377!(/\377"
+  "!&.\377\"'2\377\"(1\377#)2\377#(1\377\"'0\377\"&/\377$(1\377#)1\377$(0\377"
+  "#(1\377#)1\377\"'1\377(,5\377,06\377$*1\377#*2\377#)2\377$*1\377%+3\377#"
+  "*2\377$*3\377&*5\377%+4\377&*5\377&*5\377&-6\377&+6\377&*4\377%*2\377%*4"
+  "\377$)1\377\"&.\377Ydi\377\34\37&\377#'/\377%*1\377%+2\377$(2\377$*1\377"
+  "#)2\377#*2\377$*1\377$(1\377$*1\377%+1\377$*1\377%+2\377%*2\377#*2\377$+"
+  "2\377$*1\377#(2\377#(2\377#)2\377$)2\377$)1\377$)1\377$*1\377$*1\377#*2\377"
+  "$*2\377$*2\377%*1\377$(1\377#)1\377%+3\377$(0\377#(2\377\")2\377$*1\377#"
+  "*1\377#'/\377#)1\377$*1\377$)1\377#'1\377#*1\377$)0\377#(0\377$+2\377\"*"
+  "2\377#(0\377$)1\377#(0\377#*1\377#*1\377%*1\377\40'/\377#)0\377#(2\377\40"
+  "$.\377#\"\36\377SPB\377QOD\377MMC\377MME\377MME\377MME\377PNE\377RQD\377"
+  "01)\377\31\36%\377\")1\377\"'2\377#(0\377#'/\377#'1\377#)1\377\"(1\377!'"
+  "/\377#)2\377\")2\377\")2\377\"&0\377\"'0\377#(1\377\40'/\377\")1\377\"'/"
+  "\377#)1\377\"'1\377\"'0\377#(0\377\"'/\377!'/\377\"'/\377\"'0\377\"(2\377"
+  "\"'/\377!'0\377\"&0\377\"(1\377#'0\377#(0\377!'/\377#)2\377#)2\377\"'0\377"
+  "$)1\377#(2\377#)2\377$(1\377\"(0\377\")1\377#*3\377\"(2\377$*1\377$*2\377"
+  "%*4\377%+3\377$+3\377#*2\377$*4\377$*4\377%*5\377%+2\377&-5\377%*4\377%+"
+  "2\377\"&.\377Ydi\377\33\37%\377%(/\377%*1\377&+4\377$(1\377#)1\377\"'1\377"
+  "$)1\377$*1\377%*1\377%*1\377#'/\377$*1\377#)2\377\"(1\377$*1\377&+2\377$"
+  "*1\377$,2\377%+1\377%,1\377%*2\377%*2\377#*2\377$*1\377#*2\377$*1\377%,2"
+  "\377$*2\377%*1\377$*1\377#)1\377$*1\377%)2\377#*1\377#)2\377\"*2\377#*2\377"
+  "$*1\377$*1\377#)1\377$(0\377$*1\377#(2\377#)0\377$*1\377%+1\377#*2\377$*"
+  "1\377\")2\377#(0\377$)1\377$*1\377#*2\377#*1\377$*1\377$*3\377$'-\377FG;"
+  "\377LMC\377JKB\377KLB\377KLB\377KLB\377KLB\377JKB\377KKC\377RO@\377#\40\37"
+  "\377\40$-\377$(3\377\")1\377#(1\377\"(1\377!(0\377\"*1\377$*1\377#(2\377"
+  "$*1\377#(0\377#)2\377!)1\377#)0\377#(0\377#(2\377#)1\377\")2\377\40'/\377"
+  "#)0\377#+3\377#*2\377\"(0\377#(0\377\"&1\377\"'1\377!(0\377\37)/\377!&.\377"
+  "\"&0\377#)3\377\"&1\377\"'2\377\"'2\377\40)1\377\"'1\377#(1\377\")2\377$"
+  ")1\377#)0\377#)2\377#'/\377#*3\377\"*2\377\")2\377\"*2\377#*2\377$*3\377"
+  "#*2\377#*2\377$*1\377$*2\377%*3\377$*3\377&*5\377&*3\377#)0\377\"&.\377Y"
+  "di\377\32\36$\377%*1\377$*1\377%*1\377#'0\377$(1\377%*1\377#(0\377%*1\377"
+  "$*1\377#(1\377#)1\377$)1\377$*2\377%*2\377$*2\377\"*2\377$+2\377$*1\377%"
+  "+1\377$)0\377&+3\377%*4\377$*1\377#)1\377#*2\377$)1\377$)1\377#'/\377%(0"
+  "\377%*1\377$)1\377%,2\377%*1\377#*2\377#)2\377$*1\377\")1\377$*2\377%,2\377"
+  "#)1\377\")1\377#)1\377#(1\377\"'/\377#(0\377#'/\377\"'/\377\"(0\377#)2\377"
+  "\"(1\377$(1\377$*1\377#)0\377&,2\377%+2\377\32\40(\377450\377NNA\377KLB\377"
+  "KLB\377LMD\377LMD\377LMD\377LMD\377KLB\377KLB\377MNA\377<<5\377\35\"*\377"
+  "!&-\377$*1\377%+2\377%*1\377\"(1\377\")1\377\"'1\377\")1\377#*2\377$)1\377"
+  "#)2\377#(1\377$*1\377#)0\377\"(0\377!'1\377\"&/\377#(0\377#)1\377\"'0\377"
+  "#'/\377#(/\377\"(1\377#'/\377\"(0\377\"&.\377\"&.\377\"'/\377\"(0\377$)1"
+  "\377!)0\377\"&0\377\40&0\377\"&2\377\"'0\377\")1\377!)2\377$*1\377#*2\377"
+  "$)1\377#)2\377#'2\377\"(2\377#)2\377\"*2\377\"'1\377\")1\377%+3\377$+2\377"
+  "\"(2\377&+3\377#)2\377\")1\377#*2\377\"(/\377#'1\377\"&.\377Ydi\377\34\37"
+  "&\377%*1\377$*1\377$)0\377%*1\377#)1\377%*1\377$*1\377$*1\377\"(2\377\"'"
+  "1\377#)1\377#)1\377$(0\377%*1\377#(3\377$*2\377$+2\377$*1\377%+1\377%*1\377"
+  "%*1\377%*1\377#*2\377\")1\377$*2\377&,3\377%,4\377%+2\377$)1\377$)1\377#"
+  ")2\377%*1\377$*1\377\"*2\377#*1\377#*2\377#(1\377$*1\377#*2\377#)1\377\""
+  ")1\377#(0\377%*1\377#*2\377$)1\377$)3\377\"(0\377\"'1\377#*2\377$)3\377%"
+  "+3\377#(0\377\")1\377\40%,\377#(/\377\40',\377CD:\377LLC\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377GG>\377!&,\377\"'1\377\40"
+  "(0\377\40'/\377#*2\377#)2\377\")1\377!&/\377\"&0\377\"'1\377#)1\377\40'/"
+  "\377\"'.\377#)1\377\")1\377#)1\377\40)1\377\"'1\377\")1\377\")1\377#)2\377"
+  "#)2\377$)0\377\"'/\377#&1\377\"'0\377\"(1\377\"&1\377#'2\377\40&/\377#)1"
+  "\377$+1\377#'0\377\"(2\377\")2\377\"'/\377\"(2\377\")0\377!)1\377!(0\377"
+  "\"(1\377\"'1\377#*2\377#*2\377\"(2\377\"*2\377\")1\377\")1\377#+2\377%*1"
+  "\377#*2\377#+2\377#)2\377#*2\377#*2\377#(.\377\40$,\377\"&.\377Ydi\377\35"
+  "!&\377&+1\377#*2\377%*1\377$)1\377#'/\377\"&.\377\"&.\377$)0\377%*1\377\""
+  "&/\377#)1\377#)1\377\")2\377\"(1\377#)1\377$*1\377$*1\377#'1\377#)2\377%"
+  "*1\377%*3\377#(1\377#)0\377\"*2\377\"*2\377#)1\377#)1\377$*1\377$*1\377\""
+  "(0\377#*2\377%*1\377#*2\377#*2\377#*2\377#*2\377$*1\377$*1\377$*1\377#)2"
+  "\377#)1\377#*2\377$*1\377$*1\377$,2\377\"(0\377$)1\377\"(0\377#'1\377#)1"
+  "\377#(/\377#(1\377$)1\377#*2\377$*1\377$+1\377GF>\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ<\377\"'-\377#*1\377#"
+  ")1\377#'0\377$)1\377!(1\377!'0\377#(1\377\"'0\377\"(0\377$*1\377\"'1\377"
+  "\"'/\377$*1\377\"'/\377$(1\377#(1\377$*1\377#*1\377!)1\377\"'/\377#)2\377"
+  "\"(2\377\"'0\377\"'0\377!'1\377\")0\377#'/\377\"&1\377\"'0\377!'/\377\"("
+  "0\377!'1\377!&0\377\"(2\377\")1\377\"'0\377\"&0\377\"&0\377\"'1\377$)0\377"
+  "\"'/\377#'1\377!&0\377#'0\377#'1\377#'0\377\"&0\377!'1\377\"(2\377\"'2\377"
+  "$(1\377%*1\377#)1\377#'0\377#'.\377\")1\377\"&.\377Ydi\377\33\37$\377&+1"
+  "\377#(2\377%*1\377$)1\377#(/\377#(/\377\"&.\377#(/\377#'/\377#'/\377$)1\377"
+  "\"'0\377#(0\377\40&.\377\"'/\377\"'/\377\"'0\377#(1\377#(2\377$+2\377&-3"
+  "\377%*1\377#)1\377\"*2\377\"(2\377#'0\377#)2\377$)1\377%*1\377$*1\377\"*"
+  "2\377$*1\377%*1\377#(0\377$)2\377#*1\377#)1\377$)1\377$)3\377#)1\377$)1\377"
+  "#*2\377$)1\377$)0\377\")1\377#)1\377\"(0\377\"(1\377#)1\377!(/\377$)0\377"
+  "#(0\377#(2\377\")2\377$)1\377\34#,\377BB<\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377IJ?\377&+0\377#*1\377\")1\377#"
+  "'1\377#(1\377!&0\377!&.\377#(/\377\40)0\377!)0\377\40)1\377\"(1\377#)0\377"
+  "#*1\377#(/\377\"&1\377\"&2\377\")2\377\"'1\377\40%0\377\"'1\377#)2\377\""
+  ")2\377#(0\377!'1\377\37'/\377\"&/\377#'/\377#)1\377\")1\377\40&.\377\37&"
+  ".\377!(0\377#(/\377#(0\377!(0\377#)1\377#'0\377\"'0\377\"*2\377$)0\377#("
+  "0\377$(0\377!&.\377\"(0\377#'/\377\")1\377#(1\377!'2\377#*2\377$)1\377\""
+  ")2\377#'0\377\")1\377#(2\377!&/\377!&/\377\"&.\377Ydi\377\35\37&\377%+1\377"
+  "%*1\377#'/\377\"'/\377#(/\377#'0\377\"&/\377\"&.\377\"&.\377#'/\377#'/\377"
+  "#(/\377!&.\377!&.\377#(0\377#(0\377%*1\377'+3\377&,2\377&,4\377%+2\377$)"
+  "1\377#*2\377#)2\377\"*2\377#(0\377$)0\377$)0\377%+1\377#*2\377$*1\377$*1"
+  "\377$*0\377$*1\377#)1\377$(0\377$(0\377#)1\377#(1\377#)0\377%*1\377$(0\377"
+  "#(/\377#(0\377$(1\377$*1\377#(/\377\")1\377\"'1\377$)0\377$(0\377%*2\377"
+  "&+2\377#(/\377\")0\377\"+1\377DD>\377KLB\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377LLC\377GH=\377#(,\377#*1\377!'/\377\40&-\377"
+  "!(0\377\"(0\377\")1\377\"&.\377!&/\377\"&.\377!)0\377\"'2\377\"&/\377\"'"
+  "/\377\"*1\377\")2\377#(1\377#(2\377$(0\377#(1\377!(0\377#(1\377#*2\377#)"
+  "2\377\"&1\377\"&2\377#'0\377%'/\377$)0\377#(0\377#)0\377\"(1\377!(1\377\""
+  "&/\377\"&1\377\"'0\377$)1\377#)1\377\"(0\377\")1\377#'0\377\"&0\377#'0\377"
+  "\"&/\377#(0\377#'0\377#'/\377\"'0\377\"'2\377#(2\377#'1\377#'/\377\"&1\377"
+  "#*2\377#*2\377\"'/\377\37&/\377\"&.\377Ydi\377\32\37%\377$+2\377%*1\377#"
+  "*1\377#(1\377#'/\377#'/\377#'/\377$)0\377\"'/\377!&/\377\"(0\377$)0\377%"
+  "(0\377#&.\377#(/\377$)0\377%*1\377%*2\377%*1\377$)0\377$)0\377\"(1\377$)"
+  "0\377#*2\377$*1\377%)2\377$)1\377#(0\377%*1\377$*1\377#*2\377$*1\377$*1\377"
+  "#*2\377$*1\377$)0\377#)1\377#*2\377#(0\377#*2\377#(0\377#)1\377#(0\377$*"
+  "1\377%*1\377$*1\377#)1\377#)1\377%+2\377#(0\377$(1\377#(0\377$*1\377$)1\377"
+  "$)2\377#(1\377@A:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL"
+  "B\377KLB\377KLB\377KK>\377$*.\377\"(1\377\")0\377\"(1\377\"'2\377\"(1\377"
+  "#)0\377\"&0\377\"'0\377\")1\377\"(1\377\"&1\377#)1\377$)1\377#'2\377#)2\377"
+  "$*1\377$)1\377#(1\377\"(0\377\"&/\377\"(0\377$)1\377#(1\377$(1\377\"'0\377"
+  "$)1\377#)1\377#(0\377\"'/\377#'0\377\"&.\377\"'.\377!(/\377#'0\377\"(1\377"
+  "#'/\377\"(1\377\"'/\377\"'/\377\"'/\377#(0\377\"(0\377\"&0\377\"'/\377\""
+  "'/\377\"&/\377\")1\377\")1\377%)1\377#'1\377#)1\377#)1\377#)0\377\"*2\377"
+  "\"'.\377\36#+\377\"&.\377Ydi\377\33\40%\377&.3\377$*2\377#*2\377#*1\377#"
+  "'/\377\"&.\377\"&.\377#'/\377\"(/\377#'/\377!&.\377!&0\377%*1\377$)0\377"
+  "$+1\377$*1\377#(0\377$(1\377$)0\377%*1\377#*2\377$)0\377$*1\377#(2\377\""
+  "(1\377$)1\377$)1\377#)2\377$*1\377#)0\377$*1\377%*1\377$)1\377$)1\377#(1"
+  "\377$(0\377#)0\377\")1\377#)1\377#)2\377\")1\377$*1\377#*2\377\")2\377#*"
+  "2\377#'1\377$*1\377#*2\377$*1\377#'0\377%*1\377#*1\377$)1\377#)1\377$*2\377"
+  "\31\40)\377?@7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377GH<\377!&*\377\36#-\377&-3\377$+4\377$)1\377\"(0\377#(0\377"
+  "$(1\377\"'.\377\"(/\377\"&/\377\"'0\377#(1\377%*1\377#*2\377$)0\377#)0\377"
+  "\"'1\377#)0\377#(0\377#'1\377$)0\377$)0\377\"'/\377#(1\377#(0\377#(0\377"
+  "\"'/\377\"'/\377$)1\377#(2\377#'/\377#(1\377#(0\377&,3\377\"'0\377$)1\377"
+  "#(1\377#(1\377#(0\377\"'/\377\"'/\377#'0\377\"&/\377$*1\377#(0\377!&0\377"
+  "\"(0\377\"(0\377\"'/\377%)2\377\"'1\377#)2\377#*2\377#)2\377!%,\377!'.\377"
+  "\"&.\377Ydi\377\32\37%\377&+3\377#(1\377\")0\377\"'.\377\"&.\377#(0\377\40"
+  "&/\377\"&.\377\"'/\377#'/\377#(/\377$)1\377$)0\377#)1\377\"'/\377#(/\377"
+  "%)0\377%)1\377%*1\377%+1\377%+1\377#(2\377$*1\377\"&1\377#(1\377$)1\377$"
+  ")0\377\")0\377$)1\377$*1\377$*1\377%*1\377#*2\377#*1\377$)1\377#(/\377#("
+  "0\377#)1\377#*2\377!*1\377$)0\377$*1\377$*1\377#)2\377#)1\377#*2\377$)0\377"
+  "#)1\377#'1\377#)1\377#)2\377$)1\377$)1\377!'0\377$)0\377\37$,\377B@9\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH"
+  "=\377&-/\377#(/\377$*1\377#)1\377$)0\377#'1\377$)1\377#(0\377#'0\377#*1\377"
+  "\")1\377\")1\377\"'/\377$)0\377\40'.\377\"(1\377\"(0\377\"'1\377!&0\377\""
+  "'1\377\"'2\377#(/\377#'/\377%*1\377\"&0\377\"(1\377$)1\377#'1\377\"'0\377"
+  "\40'/\377!'/\377!'/\377!'/\377#(0\377\"'/\377#(/\377#(/\377\"'/\377#)0\377"
+  "\"&/\377#'/\377#)0\377!)0\377$)1\377'-3\377#'/\377\"&0\377\"(0\377!'/\377"
+  "#(0\377%)1\377#(0\377#(0\377\"(2\377#(2\377\40&-\377\")0\377\"&.\377Ydi\377"
+  "\35\40'\377'-4\377%*1\377$*1\377\"&.\377!&.\377\"'1\377!'0\377\"&.\377$("
+  "1\377$*2\377#(1\377$)0\377\"'.\377\"(/\377\"'1\377\"(2\377#*2\377#)2\377"
+  "#*2\377#)2\377$)1\377&+3\377#(0\377\"(0\377#(1\377\"(0\377$)0\377$)0\377"
+  "$)1\377$*1\377$*1\377#*2\377\")1\377$*1\377$*1\377%*1\377$(1\377\"(1\377"
+  "$)0\377#)1\377#'/\377$)1\377$*1\377#(0\377#)0\377\")2\377#(0\377\"'0\377"
+  "$(1\377$)1\377#*2\377#)1\377#)1\377!'.\377#(.\377\35%+\377>?7\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377II?\377(."
+  "2\377$)0\377!(/\377\"'0\377$(0\377#(2\377\"(0\377#'1\377!&/\377\"(/\377\""
+  "*2\377#)1\377$)1\377#(0\377#)0\377#*1\377$)0\377#)1\377!(0\377#)1\377\"("
+  "0\377\"&/\377\"&/\377#(/\377\40&/\377!&0\377\"(/\377!'0\377\"(1\377\"*2\377"
+  "#)1\377\"'1\377\"'/\377\"&1\377!&0\377#)1\377#(1\377\"(0\377\"'/\377\"&1"
+  "\377#'/\377!&/\377!'.\377\"(0\377#'0\377!&/\377#'0\377\"'/\377\40(/\377\""
+  "&1\377#'/\377#'0\377#)2\377#(2\377%+1\377\"(.\377#(0\377\"&.\377Zek\377\30"
+  "\36&\377)39\377&,3\377%*1\377#*1\377#)1\377#*2\377!(/\377#)1\377%(0\377%"
+  ")1\377#'/\377\"(0\377#)1\377#'/\377$(1\377#)2\377#)1\377#)1\377$*1\377#("
+  "1\377$(0\377#)1\377\"'0\377$*1\377\")1\377\"(0\377#*2\377$*1\377#*2\377$"
+  "*1\377%*1\377%+1\377%*2\377$*1\377$*1\377$*1\377#)2\377$)1\377$*1\377#*2"
+  "\377\")1\377#)0\377$)1\377!'.\377!(/\377\"(2\377$)0\377#)1\377$)0\377#(0"
+  "\377#(/\377\"'0\377$)1\377$+1\377\")1\377\35$-\377>?8\377MOD\377KLB\377K"
+  "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377\36%'\377\""
+  "*2\377$*1\377#'2\377#)1\377\"&/\377&-5\377$+3\377\"(1\377#(0\377#)1\377\""
+  "&1\377!'0\377#)0\377$(0\377#)1\377#'2\377#'1\377\"(2\377\"&.\377#'/\377\""
+  "'0\377\"&/\377\")2\377\")1\377!&0\377\"'/\377#)1\377$)1\377#(0\377\"(0\377"
+  "\"'/\377#)2\377\"'1\377\"'/\377#'/\377#'/\377\"'/\377#)0\377!&.\377\"&.\377"
+  "\"&/\377#)0\377#(0\377!&/\377\"'/\377#(0\377#'0\377\"'0\377\40&0\377!'0\377"
+  "!(0\377#(2\377#)1\377#)1\377!%-\377\"(0\377\"&.\377Zfk\377\31\35%\377%-4"
+  "\377%*1\377$)0\377%*1\377#(/\377#)1\377$)0\377#(0\377#(0\377#'/\377#(1\377"
+  "$)1\377#'2\377#)1\377#'/\377$(0\377$)2\377#)2\377%*1\377#(2\377$)1\377$'"
+  "/\377#(1\377#'/\377\"(0\377\"(2\377$*1\377\"*2\377$*1\377%*1\377$*0\377$"
+  "+2\377$*2\377#*2\377#*2\377%*1\377%)1\377\")1\377$*1\377$*1\377#'2\377$*"
+  "1\377$*1\377#)1\377#(0\377\"(0\377\"&.\377#'/\377#)0\377\"(0\377$)2\377$"
+  ")2\377#(0\377#(1\377#(/\377\35%*\377>?7\377NPE\377MPE\377LNC\377KLB\377K"
+  "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377GH=\377\40',\377\36%.\377$)1\377"
+  "#(2\377#)2\377#'2\377\"*2\377#+2\377!&1\377!'/\377\")0\377\"(0\377\"'0\377"
+  "$)1\377#(1\377#'0\377#'2\377#)1\377#)0\377\"(0\377#'/\377\"'/\377\"(0\377"
+  "\")1\377#)0\377\")1\377\")1\377\"(0\377\"'0\377#(2\377!)2\377\"'1\377#'0"
+  "\377#(/\377\"&0\377#'0\377\"'/\377\"'1\377\"'/\377\"&.\377\"&.\377\"'/\377"
+  "\"&0\377\"'/\377\"'1\377\"(/\377!'0\377#(0\377#(/\377#'0\377#*1\377\"(0\377"
+  "\"(0\377#)1\377\"*2\377!(/\377#)0\377\"&.\377Ydi\377\33\36&\377%+1\377%-"
+  "1\377$)0\377%*1\377#(0\377$)1\377\"'2\377$)0\377$)0\377#'/\377#(0\377#(0"
+  "\377#(0\377$(1\377\"&1\377#'0\377#'/\377#(0\377$)2\377%*1\377#*2\377$)0\377"
+  "$*1\377$*1\377#*2\377$*1\377%*1\377$)1\377%*1\377%*1\377#*2\377#(0\377$)"
+  "1\377#*2\377#*2\377$*1\377$*1\377#*2\377\"*2\377%*1\377$*1\377%*1\377$*1"
+  "\377#)2\377#)1\377$)1\377\"'0\377\")2\377#*2\377#*1\377#'/\377\"(1\377#*"
+  "2\377\37%-\377\"*0\377\40$+\377HE;\377KLB\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377FG<\377#(-\377#'/\377\"(/\377\37'0\377"
+  "\"'2\377!&/\377#(/\377#)2\377\")2\377\"*2\377\"(1\377\"'1\377$*1\377\"'/"
+  "\377!&.\377\"'/\377\"'0\377\"&/\377\"&/\377\"(0\377\"&.\377!(0\377\"'/\377"
+  "\"'1\377!&.\377\"'/\377\"'2\377\"'0\377!&/\377$)0\377\"'/\377#(/\377\"'/"
+  "\377\"&.\377#)1\377\")1\377#(/\377\"'/\377!(/\377#)3\377\"(0\377#'/\377\""
+  "'/\377#(1\377\"&/\377\"&0\377#(1\377\"(1\377\"(2\377#*3\377#*3\377\"&/\377"
+  "\40'/\377#)2\377\"*2\377\"(0\377\40'.\377\"&.\377Ydi\377\32\37$\377%*1\377"
+  "%+1\377%*1\377#*2\377%*1\377%)1\377#)2\377%*1\377%*1\377$)0\377#'/\377%)"
+  "1\377$*1\377$(0\377\")2\377$*1\377%)1\377$(0\377#'/\377$)0\377\"'/\377%+"
+  "1\377$*1\377$*1\377#*2\377$)0\377#(/\377$(0\377#'/\377#)1\377#'2\377#)2\377"
+  "#)2\377#*2\377$)1\377%*1\377\"*2\377\"*2\377\"(2\377%*1\377#*2\377$*1\377"
+  "#*2\377#)2\377%*1\377%*1\377%+2\377#)2\377#)0\377$)0\377#'/\377\")1\377$"
+  ")0\377$)2\377#)2\377\32\40%\3779:3\377KLB\377KLB\377LKB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377EF:\377!)*\377%)1\377\40&.\377\"'/\377"
+  "\")1\377#'/\377#(1\377\"'1\377\"(1\377#)1\377\")0\377#(/\377\"'/\377\"'/"
+  "\377\"'0\377#(0\377$)0\377\"'2\377\"'1\377\"&.\377#(0\377\"(0\377\"&/\377"
+  "\"&0\377!&0\377#)1\377!'/\377\"'/\377\"&0\377#'0\377!)1\377\"&.\377\"(0\377"
+  "#(0\377#)1\377\"(0\377#'1\377\"'/\377#'/\377\"'0\377\"'2\377#'0\377#'/\377"
+  "#)1\377#(/\377\"&.\377!'.\377\"'/\377\"(0\377#'/\377#)1\377\"(1\377\"'1\377"
+  "#)0\377$*1\377#)1\377$*1\377\"&.\377Ydi\377\33\40%\377&.3\377$+2\377$*1\377"
+  "$*1\377%+3\377%+3\377$)0\377#+2\377%+1\377%+2\377$*1\377$*1\377%+1\377#)"
+  "2\377\")1\377$*1\377$+2\377$)1\377$)1\377$*1\377\")1\377\"'/\377#)0\377!"
+  "'0\377\")1\377#*2\377$)0\377\"&/\377%*1\377#)2\377$(1\377$)1\377#*2\377$"
+  ")0\377$*1\377$)0\377#*2\377$)1\377\")2\377%)1\377#(0\377$(1\377$)0\377$)"
+  "0\377#*2\377$*1\377#(1\377$(0\377#(/\377\"'.\377%*1\377$*1\377#)0\377#'0"
+  "\377%)0\377\40%,\377>?7\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB"
+  "\377KLB\377KLB\377KLB\377HI;\377\37%*\377\37$,\377%*1\377#'1\377#(0\377!"
+  "&1\377#(0\377#(0\377$(1\377#*1\377\"(0\377#(1\377\"'1\377\")1\377\"&.\377"
+  "\"(0\377\"&/\377#)1\377$(1\377\"'2\377\"'1\377#)2\377',3\377!(/\377\"'0\377"
+  "\"(1\377!'.\377!&.\377\"&0\377\")1\377$*1\377\"(2\377\"'/\377$)0\377\"'1"
+  "\377\"&/\377\"(0\377\"'0\377\"(0\377#)1\377\"&1\377#)0\377!&1\377\"'1\377"
+  "#(0\377\"(0\377\"&0\377\"(1\377#'0\377%)2\377\"(/\377#)1\377#*2\377#(0\377"
+  "#*2\377\")0\377!&.\377\"&.\377Ydi\377\32\36%\377&.2\377$+2\377%*1\377%*1"
+  "\377%*1\377#*3\377$+3\377$)3\377%*2\377$+2\377%*1\377$*2\377%+1\377%+2\377"
+  "$)1\377#*2\377%*1\377$)1\377$)1\377%*1\377$*1\377\"(1\377#*1\377\40)1\377"
+  "\"(1\377\"(1\377&,3\377#*1\377%*1\377#)2\377#(0\377\")1\377$*/\377\")0\377"
+  "#*2\377$)1\377%*1\377#*2\377\"(0\377%*1\377$)0\377\"&0\377#'/\377$*1\377"
+  "\"*2\377\")1\377#)1\377%+1\377#*1\377\")1\377$*3\377$*2\377$(1\377\"&-\377"
+  "$(0\377\35\"*\377=>6\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377GF;\377\40(+\377\"(/\377$)0\377#)2\377#(1\377\"'/\377"
+  "$(2\377#(0\377\"(1\377\"(0\377!&.\377\"(1\377\")1\377\"*2\377\")1\377\"("
+  "1\377\"&1\377\"(1\377#)1\377\")2\377\"'/\377\"(0\377,/6\377\"(0\377\"&0\377"
+  "\"(0\377\"'/\377\"'0\377#(0\377\")1\377\"'/\377\"(0\377\"'/\377\"'1\377\""
+  "&/\377\")1\377#(0\377\"&.\377\"&0\377\"(0\377\"&/\377\"'0\377\"'/\377!)1"
+  "\377\"'/\377\"'/\377\"(1\377!)1\377#)1\377#*1\377\"(2\377\"'/\377\")1\377"
+  "#'2\377#)2\377!'/\377\37$-\377\"&.\377Zdj\377\36!(\377%+1\377%*1\377%+1\377"
+  "&,3\377&-2\377%,2\377%+2\377%+3\377',3\377%+2\377%*2\377&,3\377%,1\377#*"
+  "2\377$(1\377$)1\377$)2\377%)1\377$)1\377$*1\377#*2\377#'0\377$)1\377\"'0"
+  "\377#)1\377\"(1\377#(0\377#(1\377#)1\377#)1\377\"(2\377\")2\377$*1\377$*"
+  "1\377#*2\377%*1\377$*1\377#*2\377$*1\377#)2\377#)2\377#)2\377$*1\377#(1\377"
+  "#(2\377\")2\377%*1\377$*1\377#(0\377\"(2\377\"'/\377#(0\377$)0\377$)0\377"
+  "$)1\377\36\"*\377;;5\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377HI;\377#(+\377$)0\377#)0\377$(1\377\"'0\377\"&.\377"
+  "\"(1\377\"(0\377\"'/\377$)1\377$)0\377$)0\377$(1\377\"(0\377\"(/\377\"'1"
+  "\377\"&0\377\"(0\377\40'.\377!(/\377#)0\377#(0\377#'/\377\"'/\377$)1\377"
+  "\"'/\377\"'0\377#'0\377#(2\377\"&1\377\"'1\377\"(2\377!'/\377!&0\377\"&/"
+  "\377\"'/\377\"&.\377#(/\377$)1\377!)0\377\"'/\377!'/\377\"&/\377!'/\377#"
+  "(/\377#)1\377$(0\377$(0\377#)1\377\"'/\377#(0\377#'1\377#(/\377#(1\377#*"
+  "2\377!(0\377\37$+\377\"&.\377Ydi\377\36!'\377%*3\377%+1\377%,3\377&-4\377"
+  "%+1\377&-5\377&+5\377&-3\377'.5\377',3\377%+2\377&,3\377$*2\377%*2\377$*"
+  "1\377$+2\377#*2\377%*1\377%+2\377$)1\377$)1\377$)1\377#*2\377$*1\377&+4\377"
+  "%*3\377$)1\377$)0\377$+2\377$*1\377$*1\377#)1\377%*1\377$*1\377$)1\377$*"
+  "1\377$*1\377#)1\377#)1\377$*1\377$*1\377%*1\377$)1\377$)1\377$*1\377#*2\377"
+  "$)1\377\")1\377#(0\377#*1\377\"(0\377$*1\377#*1\377$*0\377%+1\377\35!*\377"
+  "994\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KL"
+  "B\377GF<\377\"',\377\"'1\377$)1\377$(0\377\"(1\377\"&.\377\"'1\377\"'/\377"
+  "\"'/\377#)1\377#(0\377#(2\377\"'2\377\"'/\377#'1\377!'/\377\"'0\377\"&0\377"
+  "\"&.\377\")1\377#)1\377#)1\377$)1\377!(0\377#(2\377\")1\377\"&.\377$(0\377"
+  "\"(2\377\")1\377\"(2\377\"'/\377!'.\377#(1\377\"&0\377\"(1\377\40&.\377\""
+  "&.\377\"&1\377\"'2\377\"'0\377\"'0\377#(0\377\"(1\377!'.\377#(1\377#)1\377"
+  "#(0\377\"(2\377\"(1\377$(1\377\"(2\377#(1\377\"(2\377\"(2\377\"(0\377!&."
+  "\377\"&.\377Zej\377\34!(\377%*2\377%+2\377&,5\377&-4\377%*2\377%+3\377&+"
+  "5\377&-5\377(.4\377&-3\377&-4\377%+2\377%*3\377%*3\377%*2\377%+4\377$*1\377"
+  "$*1\377$*1\377$)0\377%*3\377$)0\377$+2\377%+1\377#*2\377$*1\377#*2\377#)"
+  "2\377#)2\377#*2\377$*1\377%+2\377$*1\377$)0\377#)0\377#(0\377#)1\377#'0\377"
+  "%*1\377%+1\377$*1\377%*1\377$(0\377$(1\377$*2\377#)2\377#)2\377$*1\377$)"
+  "1\377%+1\377#)1\377#*1\377$+2\377\36$+\377\")1\377\37$+\377>?7\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FE;\377\""
+  "&*\377\40'/\377#)0\377#(/\377#(/\377#'/\377#(1\377\")1\377\"(0\377\"(/\377"
+  "#(2\377\")2\377#(0\377#(0\377#*2\377#*1\377#(/\377\")1\377\"'1\377#(1\377"
+  "#(1\377\"'0\377#'/\377$(1\377%)1\377$(0\377#'/\377#(0\377\"'1\377#(0\377"
+  "#)2\377#(0\377\")0\377\"(1\377#(1\377\"&.\377\"'0\377\"&0\377#(0\377!'/\377"
+  "\"(1\377#'1\377$*3\377$(1\377\"(0\377$*1\377\"'/\377\"(0\377\"'0\377#)1\377"
+  "\")1\377!)1\377&,4\377\"'0\377\"(1\377#(0\377!%-\377\"&.\377Ydi\377\36!'"
+  "\377&,4\377&,4\377',3\377(.6\377'-6\377(-5\377&-5\377'-6\377&-5\377&.3\377"
+  "&.5\377&,3\377&-5\377%+3\377$+3\377(.5\377&,2\377%,2\377$(3\377%*1\377$)"
+  "0\377#(2\377%,3\377#*2\377#*2\377#*2\377#*2\377$*1\377%*1\377%+3\377%*1\377"
+  "#)0\377%+1\377%*1\377#(1\377$)1\377#*2\377$(0\377$)0\377#)0\377#*2\377%*"
+  "1\377$*1\377$*1\377#)1\377\")1\377$+2\377#*2\377#(2\377%*1\377%*1\377#(/"
+  "\377$)0\377$)0\377$*1\377\37$*\377::4\377KLB\377KLB\377KLB\377KLB\377KLB"
+  "\377KLB\377KLB\377LKB\377KLB\377KLB\377EE;\377\"'*\377$+2\377$)1\377\"(0"
+  "\377\"'/\377#(0\377$)1\377\"(0\377\"(1\377#(1\377$)1\377#*2\377\"(0\377\""
+  "'/\377#*1\377\")1\377\"'0\377\")1\377\40)0\377\"'/\377#(0\377%*3\377\"'/"
+  "\377\"&/\377\"'/\377#'/\377\"'/\377\")1\377\"&0\377#(0\377\"'1\377\")2\377"
+  "\"'0\377\"'0\377\"'1\377\"&/\377!'0\377\"'0\377\"(0\377\"'1\377#'1\377$)"
+  "1\377\"(0\377\"'1\377\"&/\377$)1\377#)0\377\")1\377\"&/\377\"'1\377#*2\377"
+  "\"(2\377#(2\377#)1\377#)1\377#(0\377#'/\377\"&.\377Ydi\377\36!'\377&-3\377"
+  "%*2\377%+1\377'-5\377'-5\377(.6\377'.6\377&.5\377(.5\377'-5\377%,3\377%-"
+  "4\377&+5\377&+5\377%+2\377%,4\377%+2\377&+2\377&+3\377&+2\377%+1\377$+1\377"
+  "#)1\377$)1\377%*3\377$*1\377#*1\377#)1\377$)1\377$+2\377%*2\377%*4\377%*"
+  "3\377%*1\377#*2\377#(2\377$)1\377#)1\377#*2\377#)2\377#*2\377$*1\377\"*2"
+  "\377#)1\377#*1\377#*2\377#)2\377$(0\377#)2\377$*1\377%*1\377%+1\377%+1\377"
+  "$+3\377$)1\377\35\"+\377<<6\377LLB\377KLB\377KLB\377KLB\377KLB\377LLB\377"
+  "KLB\377KLB\377KLB\377KLB\377GF=\377\37'*\377\36&.\377#)2\377\")1\377#)0\377"
+  "#)2\377\")0\377$)0\377\"(0\377!(0\377#(1\377\"(2\377#*2\377#*1\377\"'/\377"
+  "\")1\377\"(0\377#(0\377#(0\377\")1\377\"(1\377#(2\377$)1\377#'1\377\"'/\377"
+  "#)2\377#'0\377\"(0\377$)1\377\"'0\377#)1\377#*2\377\"(1\377#'/\377#'/\377"
+  "#'/\377#(0\377#'/\377\")1\377\"&/\377\"&0\377\"&1\377\")1\377#(0\377#'/\377"
+  "\"(1\377\"(1\377#(1\377\"(1\377#'/\377#(0\377#)2\377\"(0\377#'1\377#)2\377"
+  "#)0\377#(/\377\"&.\377Ydi\377\35!&\377&.4\377&.2\377&-3\377%,3\377&-3\377"
+  "&.4\377&.3\377&.4\377&+6\377&-6\377&-6\377'-4\377&-3\377&-3\377&,4\377%,"
+  "4\377$)0\377%*2\377%,3\377%*1\377%,3\377%*1\377%*1\377\"*2\377$*1\377%*1"
+  "\377$)1\377#)2\377%,4\377#*2\377$*1\377$)1\377%)1\377%+1\377\")1\377$*1\377"
+  "%+1\377%-3\377%,3\377%*1\377$*1\377$+2\377%+2\377#*2\377#*2\377#*2\377%+"
+  "1\377#+2\377%*1\377#)1\377$)2\377$)1\377$)0\377#*3\377%*2\377$(.\377@@8\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377HG"
+  ":\377\"')\377\40'/\377%*2\377\"(1\377#(1\377\")1\377#)0\377\"*2\377\"'1\377"
+  "\"&0\377$)1\377#'2\377\40'0\377!&.\377\"'/\377!(/\377!'/\377\"*2\377\"(0"
+  "\377\"'0\377\"'1\377\"&.\377#(1\377#)1\377\"'/\377\40*1\377#)1\377#(0\377"
+  "\"'0\377\40'0\377\"(2\377\"'0\377\")2\377#(0\377\"'0\377\"&.\377#'/\377\""
+  "'1\377\"&/\377\"&0\377!&0\377\")1\377\"'1\377\"(0\377$)1\377#)0\377\"(0\377"
+  "\"(1\377\40(/\377\"'0\377\"(0\377\"&/\377\"'/\377#*1\377!*1\377\"(/\377\40"
+  "&.\377\"&.\377Ydi\377\35!&\377%+2\377&,4\377&.5\377'+6\377%*2\377(/4\377"
+  "&,4\377'-6\377'-6\377&.5\377&.4\377'.6\377'.4\377'.3\377&-4\377%+2\377&+"
+  "4\377&-3\377%+1\377$*1\377$*1\377#*2\377$*1\377#)1\377$*2\377%*3\377$(1\377"
+  "%*1\377$*2\377$+2\377#(0\377#)0\377$)1\377#)2\377$)1\377#(/\377$*0\377%*"
+  "1\377%+2\377%*1\377%*1\377%+2\377%+4\377\"*2\377#(0\377$*1\377$*1\377#(2"
+  "\377#)2\377#(0\377$*1\377&,5\377%+1\377#*2\377%,3\377!$.\377==7\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377FF=\377#("
+  ",\377$*3\377$*3\377\"(1\377\"&0\377#)1\377\"'/\377!'/\377#(1\377$)2\377#"
+  "'/\377#(2\377!&1\377\40'.\377#)0\377\"'1\377\"(1\377\")1\377\"'0\377\"'2"
+  "\377\"(0\377\"&.\377\")0\377%*2\377!(0\377!'/\377%*1\377#'1\377#'1\377\""
+  "'1\377#(1\377#(0\377!'/\377$)1\377\"'2\377\"(0\377#'/\377\"'/\377#'0\377"
+  "\"'.\377!)1\377#*2\377\"'/\377\"&.\377#(0\377\"(0\377#'/\377\"'/\377!'.\377"
+  "\"(0\377\40'/\377!&.\377\40'/\377#)0\377$*2\377%)2\377\"&0\377\"&.\377Ze"
+  "m\377\34!)\377&-3\377%+2\377',4\377(-5\377&+3\377&-2\377&.3\377',6\377'."
+  "6\377&.5\377',5\377%-5\377&,5\377&-6\377&-2\377&,3\377%+3\377%*1\377$*1\377"
+  "%+2\377$*2\377$)2\377%*1\377%,1\377%*1\377$)1\377%+1\377%)1\377%+1\377#*"
+  "2\377%,1\377%+1\377#)1\377#)1\377#'0\377$*1\377$)0\377$*1\377%*1\377%*1\377"
+  "#*2\377#)2\377#(2\377%*1\377$*1\377$*1\377%*1\377%*1\377%*4\377$*2\377$*"
+  "2\377#)2\377$*2\377$*1\377%+2\377#&/\377??8\377NLC\377KLB\377KLB\377KLB\377"
+  "LKB\377KLB\377KLB\377KLB\377KLB\377KLB\377EF;\377\36%(\377$)3\377%*1\377"
+  "#)1\377#'/\377\"'/\377#)1\377#)1\377#)2\377#)2\377\")1\377#*2\377\"'1\377"
+  "\"&0\377#(0\377\40(0\377$)1\377\"(0\377\"&.\377\"'/\377\"'0\377!'0\377\""
+  "&/\377\"&0\377$)0\377\40&.\377\"(1\377\"&0\377\")2\377#)1\377#'0\377!'0\377"
+  "\"'/\377#&0\377\")1\377$)0\377\"(1\377!'/\377\"&.\377\"'0\377\"&.\377#'0"
+  "\377$+1\377\"'/\377#(0\377\"'/\377\"'0\377\"(2\377\"'0\377!%.\377\"&0\377"
+  "\40&/\377#'1\377#)1\377\"(1\377\"'1\377#%.\377\"&.\377Yej\377\35!(\377%*"
+  "3\377&*4\377&+6\377'.6\377(,6\377&+5\377&.6\377&.6\377&,6\377'.5\377'.6\377"
+  "'-5\377&+3\377(-6\377&,4\377&-3\377%*1\377%*1\377%-2\377$+3\377$*2\377%+"
+  "1\377#*2\377$+2\377%+1\377$*1\377%*1\377$(0\377%*1\377%*1\377$*1\377$)1\377"
+  "$)1\377%*1\377%*1\377$*1\377$)1\377#*1\377$*1\377%*1\377$*1\377$)1\377#*"
+  "2\377%*1\377#+3\377#+3\377$+2\377$+1\377$)1\377$*2\377$*2\377%*1\377$+2\377"
+  "#*2\377$+1\377\33\40%\377<=4\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377"
+  "KLB\377KLB\377KLB\377KLB\377JG=\377\"&(\377\34\"+\377#)2\377#'1\377$)0\377"
+  "\"(1\377$)1\377\"&0\377!&/\377\"'1\377#)1\377#*2\377$)1\377\"'/\377!(/\377"
+  "\"(1\377$)1\377#'/\377$)0\377$)1\377$*1\377$)1\377\"'0\377\"&1\377#'0\377"
+  "\"&0\377#(0\377\"&1\377\"'0\377#'1\377$)3\377\"'/\377#(/\377#'/\377\"'1\377"
+  "#'/\377\"&1\377\40&.\377\"(0\377\"'/\377!'.\377%)1\377\"(/\377\")1\377!("
+  "1\377!(/\377\"&0\377\"&0\377\"'/\377!'/\377\"&1\377\"&0\377#'/\377#(1\377"
+  "\"'/\377#*1\377\40$-\377\"&.\377Ydi\377\35!&\377&,3\377&,4\377'-6\377'.4"
+  "\377'-5\377(.6\377(.6\377&,5\377&+4\377&-5\377&,6\377&.5\377&*5\377%+2\377"
+  "%*3\377%,2\377%*2\377%*1\377$+3\377%,2\377%+2\377#)2\377#)2\377%*2\377#*"
+  "1\377$)0\377#(0\377$*1\377#(0\377#(2\377%*1\377$)0\377$*3\377#*2\377#)3\377"
+  "%*3\377$*1\377$*1\377#*2\377$*1\377$*1\377%+1\377%*1\377$*1\377#*2\377$*"
+  "1\377%)1\377$*1\377%+1\377$,3\377$*1\377$*1\377%*1\377#*1\377$*1\377!(/\377"
+  "AC:\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377LKB\377KLB\377KLB\377LJ"
+  "B\377ROB\377(.1\377\")1\377$(2\377\"'/\377\")1\377\")1\377#(2\377$*2\377"
+  "\"(1\377$,4\377#'0\377#(1\377\"&0\377\"&2\377\"(1\377#(0\377\"&/\377\"(0"
+  "\377\"'/\377\"(0\377\"(2\377\"(1\377\"(0\377#(1\377\"&/\377\"&0\377\"'0\377"
+  "\"'0\377\"'1\377!&.\377\"'/\377$)1\377\"'0\377#*2\377#'1\377\"'/\377\"&/"
+  "\377!&.\377#(1\377\")1\377\"&/\377#'/\377\"'0\377$)1\377!'0\377\40&/\377"
+  "!'/\377\"&1\377!&.\377\"'0\377$)0\377\"'1\377\"&0\377!'/\377\"(/\377#(/\377"
+  "#(0\377\"&.\377Ydi\377\35!'\377&-4\377&+5\377',4\377'.4\377'-5\377'.5\377"
+  ").5\377',7\377(-5\377&-5\377&+5\377&.6\377&-6\377&,4\377%+4\377%+2\377%*"
+  "2\377$*2\377%*2\377%*1\377$,3\377$+2\377$*1\377%*1\377$,1\377%-2\377%*1\377"
+  "$*1\377$*1\377$*1\377#(0\377$*1\377$*3\377$*2\377$)2\377%*2\377%*1\377#*"
+  "2\377#*2\377$*1\377%*1\377%*1\377#*2\377$*3\377%,2\377%+1\377#)0\377$)0\377"
+  "$+2\377%*1\377%+1\377$*1\377%,2\377\"'.\377$)0\377!(1\377BA:\377LLB\377K"
+  "LB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KKB\377GD;\377#(."
+  "\377$*3\377\")1\377\40&/\377#)1\377\"'0\377#)1\377$(0\377\")1\377#*1\377"
+  "#)0\377#)1\377$)0\377\"(1\377\"*2\377\"(0\377\"(/\377\"'/\377\"'/\377\"*"
+  "1\377\"(0\377\"(1\377\"(0\377\"(0\377\"(1\377#(/\377\"&/\377\"(1\377#)1\377"
+  "!'/\377\"&/\377!(/\377\"'/\377\"'/\377$(0\377\"'/\377\"&0\377!&/\377\40'"
+  "/\377\"(2\377\"&0\377$)0\377#(1\377\"'/\377\"&/\377\"&/\377#(0\377#)2\377"
+  "#)0\377\"&1\377\40&.\377\40&/\377\"&.\377\"'/\377\40&.\377\"'/\377\"&0\377"
+  "\"&.\377Ydi\377\35!'\377&,3\377&+4\377&,6\377&-6\377&+4\377&-6\377&-6\377"
+  "',4\377'.6\377%-4\377%+2\377&-4\377&*3\377&+3\377%,3\377$+2\377%*3\377%+"
+  "1\377%+1\377%+2\377$+2\377%*1\377%*1\377#(/\377$)1\377$*3\377%*2\377%*4\377"
+  "$*1\377#)1\377#)1\377$*1\377#*2\377$*1\377%*1\377#(1\377#)1\377$+2\377$)"
+  "2\377\")1\377#*1\377$+1\377#)0\377#)2\377#*2\377#)2\377$)1\377\")1\377#*"
+  "2\377$*1\377#*2\377#*2\377&+2\377$)0\377#*2\377\37'1\377.6;\377SOB\377KL"
+  "B\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377KLB\377NLA\377=?>\377\36'"
+  "0\377$)0\377\"&.\377\")1\377#(0\377#(0\377\40&.\377!&.\377\"&/\377\"&.\377"
+  "\"&.\377\"&.\377#(1\377#(1\377#(0\377\"(0\377!&.\377#(0\377\"(0\377#'0\377"
+  "!(0\377\"'/\377!)0\377!&0\377\"'0\377\"&0\377\"'2\377\"'/\377\"&/\377!&."
+  "\377\"(0\377!(0\377\40&-\377\")1\377#'0\377#(2\377\")0\377\40'.\377!&.\377"
+  "#(1\377\"&.\377\"'1\377\"(2\377\"'2\377\"'/\377\40&.\377\"'0\377\"(0\377"
+  "!'0\377\"&1\377\"'2\377\"&/\377\"&/\377#'/\377#'/\377!&.\377\"%-\377\"&."
+  "\377Ydi\377\36!&\377%*2\377&+5\377'-4\377&.5\377&-5\377%+3\377&+5\377&-6"
+  "\377&+5\377&,2\377%+3\377&,5\377$*2\377$*2\377%*2\377%*1\377$*2\377%*3\377"
+  "#*2\377$*2\377#*2\377%*3\377#*2\377$*1\377#*2\377#)2\377#*2\377$)2\377$*"
+  "2\377#*1\377#)1\377$)1\377#*2\377\"*2\377#*2\377#)2\377#*1\377#)0\377%,3"
+  "\377\")1\377$)1\377%*1\377#)1\377#(2\377#'1\377%)1\377$)0\377$)1\377%+1\377"
+  "#)2\377\"'1\377#*1\377#*1\377\")1\377$)4\377$*1\377\40+9\377GKP\377NMC\377"
+  "KLB\377KLB\377KLB\377KLB\377KLB\377JKC\377HID\377OQQ\377#-:\377\"'0\377\""
+  "&0\377$(0\377!&1\377\"'1\377!&.\377\37&-\377!&.\377\"&/\377\"&0\377\"&.\377"
+  "\"(0\377\"(0\377#(0\377!&.\377\"'1\377\"'1\377\"'1\377\40(0\377\"'0\377\""
+  "'/\377\"'0\377!&/\377#(0\377\")1\377\"&0\377\40(0\377\"&.\377\"&/\377\"&"
+  "0\377\"&.\377!&0\377\"&/\377$)0\377#'/\377\"&/\377\"&0\377\"(0\377\40'.\377"
+  "#)0\377\"'/\377#)1\377\"'0\377\"&/\377\"&.\377!&0\377\"(/\377\"&/\377\40"
+  "&/\377!&.\377!'/\377\40&.\377\40&.\377\40'.\377!%-\377\40#+\377\36#+\377"
+  "\"&.\377Ydi\377\34\40&\377%*1\377%*1\377%*2\377%,2\377&+5\377%+3\377%*3\377"
+  "&-4\377&+2\377'+4\377&,5\377%+2\377%)1\377$)1\377#*2\377%*1\377$*1\377%*"
+  "1\377$*1\377$*1\377%+2\377$*1\377#)0\377%*1\377%*1\377$)1\377%*1\377$*1\377"
+  "%*1\377#)2\377#)2\377#(2\377$*3\377\")2\377$*1\377%)2\377#(0\377%*1\377%"
+  "*1\377\"(0\377\"(1\377$)0\377#)1\377$'0\377#'0\377#'0\377\"&.\377\"&.\377"
+  "#'/\377#(1\377#(1\377!(0\377$(0\377!)0\377\"*2\377\")1\377#'/\377-7C\377"
+  "[aa\377SQD\377JJ@\377KLB\377KLB\377LKA\377QPC\377ggc\3774?O\377\36$,\377"
+  "\"'0\377!&.\377!'.\377\40&.\377\40&-\377\40&-\377!&.\377\40&-\377\40'/\377"
+  "!&.\377#'/\377#(/\377\"&/\377\"&.\377!&/\377\"'1\377\"'/\377!(0\377\"(1\377"
+  "!'0\377!(0\377#'0\377#(1\377\"'/\377!(1\377!'.\377!'/\377#'0\377#'/\377\""
+  "&/\377!&.\377!&.\377!&.\377\"&.\377\"&1\377\"&.\377\"&.\377\"&.\377\"&.\377"
+  "!'0\377!&.\377\")0\377\"&.\377#'/\377!'.\377\40&-\377\"%-\377\"&.\377!&."
+  "\377!&.\377\"'/\377\"&.\377\"&.\377\37%-\377\40$,\377\37#*\377\36\")\377"
+  "\"&.\377Ydi\377\32\36$\377%*1\377%*1\377%+1\377%+1\377%*2\377%+2\377%+2\377"
+  "$*2\377%*1\377%,2\377#*2\377%*1\377#)1\377#(1\377#)1\377\"'/\377%*1\377$"
+  ")1\377#(1\377$)1\377$*1\377$(0\377#(0\377$)1\377$)1\377#*1\377!'.\377#(/"
+  "\377$(0\377\"(0\377\"(0\377\")1\377\"&.\377#(0\377#(0\377$)0\377\"'/\377"
+  "\"&.\377#(/\377!&.\377!&0\377!&.\377\"&0\377\"&/\377\"(/\377!&.\377!(0\377"
+  "!&.\377\40&.\377!&.\377#'/\377\"&.\377#(/\377!'.\377!'.\377!(0\377\"&.\377"
+  "\34!(\377%0=\377Qan\377jkk\377fbV\377db\\\377hf^\377UZ_\377.5?\377\32\36"
+  "(\377\40'/\377\40&.\377\37&-\377!&.\377!&/\377!%.\377\40&-\377\36$,\377\36"
+  "%-\377\36&-\377!'.\377\"'.\377\"'.\377\40&/\377\37&.\377\40&-\377\37%-\377"
+  "\40%-\377!&.\377!&.\377\"(/\377\"&.\377\")0\377!'.\377\37&.\377\40%.\377"
+  "!&.\377\"&0\377\"&.\377\"&.\377!&.\377\37&-\377\37&-\377\36&-\377\"&/\377"
+  "!&.\377\40&.\377!&.\377!&.\377\"'/\377#)0\377\"'.\377\40&.\377\40&.\377\""
+  "&.\377!'.\377!$-\377\"%-\377\40&.\377\40&-\377!&-\377\37&-\377!$,\377\40"
+  "$,\377\40'.\377\"&0\377\40$-\377!%-\377\"&.\377Ydi\377\32\35&\377$*1\377"
+  "%-2\377%+2\377%+1\377$+1\377%+1\377%+1\377$)0\377$(0\377\"(0\377!(/\377#"
+  "(/\377\"'/\377\40&-\377!&.\377!&.\377!(/\377\"&.\377\"&-\377!&.\377!'.\377"
+  "\"&/\377!&.\377\"&.\377!&/\377!&.\377!&,\377\40&.\377\40&-\377\"'/\377\""
+  "'/\377!'/\377\40&-\377\37'/\377!&0\377\"&.\377\"&.\377\40%-\377\37%-\377"
+  "\36&-\377\37%-\377\37&,\377\40%,\377\37%,\377!&+\377\40&.\377\37&-\377\36"
+  "$,\377\35#+\377\34$,\377!(/\377\40&.\377\40(-\377\40&.\377!&.\377\37%,\377"
+  "\40%-\377\36%,\377\35$+\377\26\33#\377\35&5\377*08\377',5\377\36%/\377\21"
+  "\32&\377\31\40(\377\35$+\377\36$,\377\37%,\377\40$,\377\40&-\377\37$,\377"
+  "\36$-\377\37#*\377\34#+\377\22\33#\377\33\",\377!&.\377\36$+\377\37%-\377"
+  "\37%,\377\36#+\377\36#+\377\37$,\377\37$,\377\37&-\377\37&-\377\37&-\377"
+  "!&.\377\37&-\377\37&-\377!%.\377!$-\377\40%-\377!%-\377!%-\377!&.\377\37"
+  "&-\377!&.\377\37&-\377\37&-\377!&/\377\40&.\377\40&-\377\40&.\377\40&-\377"
+  "\40&.\377\"&.\377\"'/\377!&.\377!&.\377\"&.\377#'-\377\37&-\377\37$,\377"
+  "\36&-\377\36&-\377!%,\377\36&-\377\40$+\377\36#+\377%,1\377!'.\377\37#,\377"
+  "\40$.\377\"&.\377NW[\317\21\27\37\377#)1\377&+3\377%+3\377%*2\377%+2\377"
+  "#(0\377\"'/\377\"'/\377!&.\377!&.\377!%-\377!%-\377\36&-\377\40%.\377\40"
+  "&-\377\36%,\377\37%-\377\37%,\377\37%,\377\40%-\377!%-\377\40%+\377\40%-"
+  "\377\37%,\377\37%-\377!%.\377\40$*\377\35#+\377\36$,\377\36\"*\377\35#*\377"
+  "\36#+\377\37\"+\377!$-\377\37%-\377\35$+\377\36$+\377\34$,\377\33!)\377\34"
+  "!)\377\35!)\377\35!(\377\35\")\377\36#*\377\36\")\377\34\40(\377\24\33\""
+  "\377\14\23\33\377'()\377\36\37#\377\21\26\37\377\31\36'\377\34\"(\377\32"
+  "\40)\377\36$,\377\34!)\377\35#*\377\33\40(\377\35\"+\377\35#+\377\31\40)"
+  "\377\33\"+\377\30\37)\377\32\37'\377\31\37(\377\33\40(\377\30\36'\377\32"
+  "\37(\377\31\37'\377\33\40)\377\33\"*\377\32\40*\377\30\35&\377\21\27\37\377"
+  "\23\24\26\377)*-\325\20\21\25\371\23\30\36\377\24\36$\377\30\37&\377\30\37"
+  "&\377\30\34%\377\27\34\"\377\30\34$\377\30\34#\377\32\35!\377\32\34!\377"
+  "\27\33\40\377\26\33\40\377\27\35\40\377\30\33!\377\27\33\40\377\30\35#\377"
+  "\30\35$\377\32\36#\377\30\33\"\377\27\36#\377\30\34#\377\27\33\"\377\30\34"
+  "\"\377\30\34#\377\27\35#\377\31\34\"\377\30\35#\377\30\35#\377\27\33\"\377"
+  "\31\34!\377\30\34#\377\30\33!\377\30\33\"\377\30\35\"\377\27\32!\377\30\33"
+  "\"\377\26\33\40\377\26\33\40\377\26\35!\377\26\32\37\377\26\33\40\377\26"
+  "\33\40\377\26\33\40\377\27\33\40\377\26\32\40\377\25\32\37\377\15\21\26\377"
+  "\4\10\15\377\24\27\33\317\1\1\1\40\2\5\7\321\23\26\34\377\"&/\377!&/\377"
+  "!%-\377\40$-\377\37$,\377\36#+\377\37$,\377\36#+\377\36#+\377\36\"*\377\36"
+  "#+\377\36#+\377\36#+\377\36#+\377\36\"*\377\36#*\377\36\"*\377\36\"*\377"
+  "\36\"+\377\36\"*\377\36\"*\377\36\"*\377\35\"*\377\36\"*\377\36\"*\377\36"
+  "\"*\377\35!)\377\36\"*\377\36\"*\377\35!)\377\36\"*\377\36\"*\377\36\"*\377"
+  "\35\"*\377\35\"*\377\22\25\31\377\11\14\17\377\12\13\16\377\11\13\16\377"
+  "\12\14\16\377\12\14\17\377\13\14\16\377\13\14\17\377\13\14\16\377\11\12\15"
+  "\377\3\7\12\377>>?\362{}{ZPNNu\21\21\26\377\5\7\12\377\10\11\13\377\10\12"
+  "\15\377\11\14\17\377\11\13\17\377\12\13\16\377\10\12\15\377\10\12\16\377"
+  "\12\14\17\377\11\14\20\377\11\14\21\377\11\14\20\377\11\13\16\377\10\12\15"
+  "\377\10\12\15\377\6\11\14\377\7\12\15\377\6\11\14\377\10\12\15\377\10\12"
+  "\15\377\6\11\14\377\4\6\12\377\1\3\4\377(((u\376\376\372(\27\30\32\201\1"
+  "\1\1\377\2\5\6\377\4\5\10\377\5\6\10\377\4\3\7\377\3\5\6\377\4\3\6\377\4"
+  "\2\4\377\3\3\1\377\3\2\1\377\3\1\1\377\2\1\1\377\3\3\1\377\1\1\1\377\1\1"
+  "\1\377\1\1\1\377\1\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1"
+  "\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\1\377\1\1\1\377\1\1\1\377\1\1\1\377"
+  "\2\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1"
+  "\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1\1\377\1\1"
+  "\1\377\1\1\1\377\1\1\1\377\1\1\1\377\2\2\4\321\1\1\1\40"
+};
index db3e19683740eea3a68939686889314b99159c9f..d27fcc8e49c1eb17850406e29ca028d2364bf9f5 100755 (executable)
-//\r
-// This file was automagically generated by bin2c (by James L. Hammons)\r
-//\r
-\r
-char diskROM[0x100] = {                // Loads at $C600 (slot 6)\r
-       0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C,\r
-       0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10,\r
-       0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD,\r
-       0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0,\r
-       0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88,\r
-       0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C,\r
-       0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3,\r
-       0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0,\r
-       0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD,\r
-       0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40,\r
-       0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59,\r
-       0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10,\r
-       0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB,\r
-       0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00,\r
-       0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5,\r
-       0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-char hdROM[0x100] = {          // Loads at $C700 (slot 7)\r
-       0xA9, 0x20, 0xA9, 0x00, 0xA9, 0x03, 0xA9, 0x3C, 0xA9, 0x00, 0x8D, 0xF2, 0xC0, 0xA9, 0x70, 0x8D,\r
-       0xF3, 0xC0, 0xAD, 0xF0, 0xC0, 0x48, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68,\r
-       0x90, 0x03, 0x4C, 0x00, 0xC6, 0xA9, 0x70, 0x85, 0x43, 0xA9, 0x00, 0x85, 0x44, 0x85, 0x46, 0x85,\r
-       0x47, 0xA9, 0x08, 0x85, 0x45, 0xA9, 0x01, 0x85, 0x42, 0x20, 0x46, 0xC7, 0x90, 0x03, 0x4C, 0x00,\r
-       0xC6, 0xA2, 0x70, 0x4C, 0x01, 0x08, 0x18, 0xA5, 0x42, 0x8D, 0xF2, 0xC0, 0xA5, 0x43, 0x8D, 0xF3,\r
-       0xC0, 0xA5, 0x44, 0x8D, 0xF4, 0xC0, 0xA5, 0x45, 0x8D, 0xF5, 0xC0, 0xA5, 0x46, 0x8D, 0xF6, 0xC0,\r
-       0xA5, 0x47, 0x8D, 0xF7, 0xC0, 0xAd, 0xF0, 0xC0, 0x48, 0xA5, 0x42, 0xC9, 0x01, 0xD0, 0x03, 0x20,\r
-       0x7D, 0xC7, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x98, 0x48, 0xA0,\r
-       0x00, 0xAD, 0xF8, 0xC0, 0x91, 0x44, 0xC8, 0xD0, 0xF8, 0xE6, 0x45, 0xA0, 0x00, 0xAD, 0xF8, 0xC0,\r
-       0x91, 0x44, 0xC8, 0xD0, 0xF8, 0x68, 0xA8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xD7, 0x46\r
-};\r
-\r
-// Various firmware from the IIe ROM file...\r
-\r
-//Not sure what the heck this is...\r
-char slot2e[0x100] = {\r
-       0x2C, 0x58, 0xFF, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x8E, 0x94, 0x97, \r
-       0x9A, 0x85, 0x27, 0x86, 0x35, 0x8A, 0x48, 0x98, 0x48, 0x08, 0x78, 0x8D, 0xFF, 0xCF, 0x20, 0x58, \r
-       0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x26, 0xA8, \r
-       0x28, 0x50, 0x29, 0x1E, 0x38, 0x05, 0x5E, 0x38, 0x05, 0xB9, 0x8A, 0xC0, 0x29, 0x1F, 0xD0, 0x05, \r
-       0xA9, 0xEF, 0x20, 0x05, 0xC8, 0xE4, 0x37, 0xD0, 0x0B, 0xA9, 0x07, 0xC5, 0x36, 0xF0, 0x05, 0x85, \r
-       0x36, 0x18, 0x90, 0x08, 0xE4, 0x39, 0xD0, 0xF9, 0xA9, 0x05, 0x85, 0x38, 0xBD, 0x38, 0x07, 0x29, \r
-       0x02, 0x08, 0x90, 0x03, 0x4C, 0xBF, 0xC8, 0xBD, 0xB8, 0x04, 0x48, 0x0A, 0x10, 0x0E, 0xA6, 0x35, \r
-       0xA5, 0x27, 0x09, 0x20, 0x9D, 0x00, 0x02, 0x85, 0x27, 0xAE, 0xF8, 0x07, 0x68, 0x29, 0xBF, 0x9D, \r
-       0xB8, 0x04, 0x28, 0xF0, 0x06, 0x20, 0x63, 0xCB, 0x4C, 0xB5, 0xC8, 0x4C, 0xFC, 0xC8, 0x20, 0x00, \r
-       0xC8, 0xA2, 0x00, 0x60, 0x4C, 0x9B, 0xC8, 0x4C, 0xAA, 0xC9, 0x4A, 0x20, 0x9B, 0xC9, 0xB0, 0x08, \r
-       0x20, 0xF5, 0xCA, 0xF0, 0x06, 0x18, 0x90, 0x03, 0x20, 0xD2, 0xCA, 0xBD, 0xB8, 0x05, 0xAA, 0x60, \r
-       0xA2, 0x03, 0xB5, 0x36, 0x48, 0xCA, 0x10, 0xFA, 0xAE, 0xF8, 0x07, 0xBD, 0x38, 0x06, 0x85, 0x36, \r
-       0xBD, 0xB8, 0x04, 0x29, 0x38, 0x4A, 0x4A, 0x4A, 0x09, 0xC0, 0x85, 0x37, 0x8A, 0x48, 0xA5, 0x27, \r
-       0x48, 0x09, 0x80, 0x20, 0xED, 0xFD, 0x68, 0x85, 0x27, 0x68, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, \r
-       0x0A, 0x0A, 0x85, 0x26, 0x8D, 0xFF, 0xCF, 0xA5, 0x36, 0x9D, 0x38, 0x06, 0xA2, 0x00, 0x68, 0x95, \r
-       0x36, 0xE8, 0xE0, 0x04, 0x90, 0xF8, 0xAE, 0xF8, 0x07, 0x60, 0xC1, 0xD0, 0xD0, 0xCC, 0xC5, 0x08\r
-};\r
-\r
-//This looks identical to diskROM\r
-char slot6e[0x100] = {\r
-       0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, \r
-       0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, \r
-       0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD, \r
-       0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0, \r
-       0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88, \r
-       0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C, \r
-       0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, \r
-       0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0, \r
-       0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, \r
-       0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40, \r
-       0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, \r
-       0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, \r
-       0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, \r
-       0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, \r
-       0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, \r
-       0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-// Various firmware from the IIc\r
-\r
-char slot1[0x100] = {\r
-       0x2C, 0x89, 0xC1, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x9E, 0xA8, 0xB4, \r
-       0xBB, 0xDA, 0xA2, 0xC1, 0x4C, 0x1C, 0xC2, 0x90, 0x03, 0x4C, 0xE5, 0xC7, 0x0A, 0x7A, 0x5A, 0xBD, \r
-       0xB8, 0x04, 0xF0, 0x42, 0xA5, 0x24, 0xB0, 0x1C, 0xDD, 0xB8, 0x04, 0x90, 0x03, 0xBD, 0x38, 0x07, \r
-       0xDD, 0x38, 0x07, 0xB0, 0x0B, 0xC9, 0x11, 0xB0, 0x11, 0x09, 0xF0, 0x3D, 0x38, 0x07, 0x65, 0x24, \r
-       0x85, 0x24, 0x80, 0x06, 0xC5, 0x21, 0x90, 0x02, 0x64, 0x24, 0x7A, 0x5A, 0xBD, 0x38, 0x07, 0xDD, \r
-       0xB8, 0x04, 0xB0, 0x08, 0xC5, 0x24, 0xB0, 0x0E, 0xA9, 0x40, 0x80, 0x02, 0xA9, 0x1A, 0xC0, 0x80, \r
-       0x6A, 0x20, 0x9B, 0xC1, 0x80, 0xE4, 0x98, 0x20, 0x8A, 0xC1, 0xBD, 0xB8, 0x04, 0xF0, 0x17, 0x3C, \r
-       0xB8, 0x06, 0x30, 0x12, 0xBD, 0x38, 0x07, 0xFD, 0xB8, 0x04, 0xC9, 0xF8, 0x90, 0x04, 0x18, 0x65, \r
-       0x21, 0xAC, 0xA9, 0x00, 0x85, 0x24, 0x68, 0x7A, 0xFA, 0x60, 0x20, 0xA9, 0xC7, 0x90, 0xFA, 0x3C, \r
-       0xB8, 0x06, 0x10, 0x07, 0xC9, 0x91, 0xF0, 0x03, 0x20, 0xF0, 0xFD, 0x4C, 0xCD, 0xC7, 0x5A, 0x48, \r
-       0x20, 0xB6, 0xC2, 0x9E, 0xB8, 0x06, 0x80, 0x07, 0x5A, 0x20, 0xD9, 0xC7, 0x90, 0xFA, 0x90, 0x68, \r
-       0x7A, 0xA2, 0x00, 0x60, 0x5A, 0x48, 0x20, 0x8A, 0xC1, 0x80, 0xF4, 0x5A, 0x48, 0x4A, 0xD0, 0x15, \r
-       0x08, 0x20, 0xD3, 0xC7, 0x28, 0x90, 0x05, 0x29, 0x28, 0x0A, 0x80, 0x02, 0x29, 0x30, 0xC9, 0x10, \r
-       0xF0, 0xDD, 0x18, 0x80, 0xDA, 0xA2, 0x40, 0x68, 0x7A, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-char slot2[0x100] = {\r
-       0x2C, 0x89, 0xC1, 0x70, 0x14, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x0E, 0x01, 0x31, 0x11, 0x13, 0x15, \r
-       0x17, 0x80, 0x8B, 0x80, 0x93, 0x80, 0x9D, 0x80, 0xA2, 0xDA, 0xA2, 0xC2, 0x5A, 0x48, 0x8E, 0xF8, \r
-       0x07, 0x50, 0x22, 0xA5, 0x36, 0x45, 0x38, 0xF0, 0x06, 0xA5, 0x37, 0xC5, 0x39, 0xF0, 0x03, 0x20, \r
-       0xB6, 0xC2, 0x8A, 0x45, 0x39, 0x05, 0x38, 0xD0, 0x07, 0xA9, 0x05, 0x85, 0x38, 0x38, 0x80, 0x05, \r
-       0xA9, 0x07, 0x85, 0x36, 0x18, 0xBD, 0xB8, 0x06, 0x89, 0x01, 0xD0, 0x03, 0x4C, 0x17, 0xC1, 0x90, \r
-       0xFB, 0x68, 0x80, 0x28, 0x3C, 0xB8, 0x03, 0x50, 0x1C, 0x20, 0x8F, 0xC1, 0x80, 0x1E, 0x68, 0x20, \r
-       0x70, 0xCC, 0x10, 0x1B, 0x20, 0xA9, 0xC7, 0xB0, 0xEB, 0x29, 0x5F, 0xC9, 0x51, 0xF0, 0x04, 0xC9, \r
-       0x52, 0xD0, 0x09, 0xA9, 0x98, 0x7A, 0xFA, 0x60, 0x18, 0x20, 0xA3, 0xC7, 0x20, 0x4C, 0xCC, 0x48, \r
-       0x20, 0xD9, 0xC7, 0xB0, 0x09, 0xBD, 0xB8, 0x06, 0x29, 0x10, 0xF0, 0xD2, 0x80, 0xF2, 0xA8, 0x68, \r
-       0x5A, 0x20, 0xB8, 0xC3, 0x68, 0xBC, 0x38, 0x06, 0xF0, 0x12, 0x09, 0x80, 0xC9, 0x91, 0xF0, 0xDC, \r
-       0xC9, 0xFF, 0xF0, 0xD8, 0xC9, 0x92, 0xF0, 0xD0, 0xC9, 0x94, 0xF0, 0xCD, 0x3C, 0xB8, 0x03, 0x50, \r
-       0xC4, 0x20, 0xED, 0xFD, 0x80, 0xC6, 0x20, 0x9A, 0xCF, 0xBC, 0x29, 0xC2, 0x20, 0x7C, 0xC3, 0x48, \r
-       0x88, 0x30, 0x04, 0xC0, 0x03, 0xD0, 0xF5, 0x20, 0x9A, 0xCF, 0x68, 0xBC, 0x2B, 0xC2, 0x99, 0xFB, \r
-       0xBF, 0x68, 0x99, 0xFA, 0xBF, 0x68, 0x9D, 0xB8, 0x06, 0x29, 0x01, 0xD0, 0x02, 0xA9, 0x09, 0x9D, \r
-       0x38, 0x06, 0x68, 0x9D, 0xB8, 0x04, 0x9E, 0xB8, 0x03, 0x60, 0x03, 0x07, 0xA0, 0xB0, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-char slot3[0x100] = {\r
-       0x48, 0xDA, 0x5A, 0x80, 0x12, 0x38, 0x90, 0x18, 0x80, 0x1A, 0xEA, 0x01, 0x88, 0x2C, 0x2F, 0x32, \r
-       0x35, 0x4C, 0xAF, 0xC7, 0x4C, 0xB5, 0xC7, 0x20, 0x20, 0xCE, 0x20, 0xBE, 0xCD, 0x20, 0x58, 0xFC, \r
-       0x7A, 0xFA, 0x68, 0x18, 0xB0, 0x03, 0x4C, 0xF6, 0xFD, 0x4C, 0x1B, 0xFD, 0x4C, 0x41, 0xCF, 0x4C, \r
-       0x35, 0xCF, 0x4C, 0xC2, 0xCE, 0x4C, 0xB1, 0xCE, 0xA9, 0x06, 0xCD, 0xB3, 0xFB, 0xF0, 0x3C, 0x20, \r
-       0x60, 0xC3, 0xA9, 0xF8, 0x85, 0x37, 0x64, 0x36, 0xB2, 0x36, 0x92, 0x36, 0xE6, 0x36, 0xD0, 0xF8, \r
-       0xE6, 0x37, 0xD0, 0xF4, 0xDA, 0xAE, 0x78, 0x04, 0x3C, 0x81, 0xC0, 0x3C, 0x81, 0xC0, 0xFA, 0x60, \r
-       0xDA, 0xA2, 0x00, 0x2C, 0x11, 0xC0, 0x30, 0x02, 0xA2, 0x08, 0x2C, 0x12, 0xC0, 0x10, 0x02, 0xE8, \r
-       0xE8, 0x2C, 0x81, 0xC0, 0x2C, 0x81, 0xC0, 0x8E, 0x78, 0x04, 0xFA, 0x60, 0xAD, 0x13, 0xC0, 0x0A, \r
-       0xAD, 0x18, 0xC0, 0x08, 0x8D, 0x00, 0xC0, 0x8D, 0x03, 0xC0, 0xB9, 0x78, 0x04, 0x28, 0xB0, 0x03, \r
-       0x8D, 0x02, 0xC0, 0x10, 0x03, 0x8D, 0x01, 0xC0, 0x60, 0x09, 0x80, 0xC9, 0xFB, 0xB0, 0x06, 0xC9, \r
-       0xE1, 0x90, 0x02, 0x29, 0xDF, 0x60, 0x48, 0xA9, 0x08, 0x1C, 0xFB, 0x04, 0x68, 0x20, 0xED, 0xFD, \r
-       0x4C, 0x44, 0xFD, 0x20, 0x9D, 0xCC, 0x80, 0x09, 0x20, 0x9D, 0xCC, 0x24, 0x32, 0x30, 0x02, 0x29, \r
-       0x7F, 0x5A, 0x09, 0x00, 0x30, 0x15, 0x48, 0xAD, 0xFB, 0x04, 0x6A, 0x68, 0x90, 0x0D, 0x2C, 0x1E, \r
-       0xC0, 0x10, 0x08, 0x49, 0x40, 0x89, 0x60, 0xF0, 0x02, 0x49, 0x40, 0x2C, 0x1F, 0xC0, 0x10, 0x19, \r
-       0x48, 0x8D, 0x01, 0xC0, 0x98, 0x45, 0x20, 0x4A, 0xB0, 0x04, 0xAD, 0x55, 0xC0, 0xC8, 0x98, 0x4A, \r
-       0xA8, 0x68, 0x91, 0x28, 0x2C, 0x54, 0xC0, 0x7A, 0x60, 0x91, 0x28, 0x7A, 0x60, 0x00, 0x00, 0x00\r
-};\r
-\r
-char slot4[0x100] = {\r
-       0x80, 0x05, 0xA2, 0x03, 0x60, 0x38, 0x90, 0x18, 0x4C, 0xCF, 0xC5, 0x01, 0x20, 0x02, 0x02, 0x02, \r
-       0x02, 0x00, 0x3B, 0xDC, 0x93, 0x82, 0x69, 0xBD, 0x6B, 0x1A, 0x9C, 0x7C, 0x07, 0xA2, 0x80, 0xA0, \r
-       0x01, 0x9E, 0x7D, 0x04, 0x9E, 0x7D, 0x05, 0xA9, 0xFF, 0x9D, 0x7D, 0x06, 0xA9, 0x03, 0x9D, 0x7D, \r
-       0x07, 0xA2, 0x00, 0x88, 0x10, 0xEB, 0x20, 0x6B, 0xC4, 0xA9, 0x00, 0xAA, 0x20, 0x9A, 0xCF, 0x8A, \r
-       0x8D, 0x78, 0x04, 0x4A, 0x0D, 0x78, 0x04, 0xC9, 0x10, 0xB0, 0x1F, 0x29, 0x05, 0xF0, 0x01, 0x58, \r
-       0x69, 0x55, 0x08, 0x78, 0x8E, 0xFC, 0x07, 0x8D, 0x79, 0xC0, 0xA2, 0x08, 0xCA, 0x0A, 0x90, 0x03, \r
-       0x9D, 0x58, 0xC0, 0xD0, 0xF7, 0x8D, 0x78, 0xC0, 0x28, 0x18, 0x60, 0xA2, 0x80, 0x80, 0x02, 0xA2, \r
-       0x00, 0xBD, 0x7D, 0x04, 0x9D, 0x7C, 0x04, 0xBD, 0x7D, 0x05, 0x9D, 0x7C, 0x05, 0xCA, 0x10, 0xEF, \r
-       0x80, 0x0C, 0x9C, 0x7C, 0x04, 0x9C, 0x7C, 0x05, 0x9C, 0xFC, 0x04, 0x9C, 0xFC, 0x05, 0x9C, 0x7C, \r
-       0x06, 0x18, 0x60, 0xA9, 0x20, 0x1C, 0x7C, 0x07, 0x2D, 0x7C, 0x06, 0x1C, 0x7C, 0x06, 0x2C, 0xFC, \r
-       0x07, 0x30, 0x13, 0x2C, 0x63, 0xC0, 0x30, 0x02, 0x09, 0x80, 0x2C, 0x7C, 0x07, 0x10, 0x02, 0x09, \r
-       0x40, 0x8D, 0x7C, 0x07, 0x18, 0x60, 0x0D, 0x7C, 0x07, 0x29, 0xE0, 0x80, 0xF4, 0x6A, 0x6A, 0x29, \r
-       0x80, 0xAA, 0xAD, 0x78, 0x04, 0x9D, 0x7D, 0x04, 0xAD, 0x78, 0x05, 0x9D, 0x7D, 0x05, 0xAD, 0xF8, \r
-       0x04, 0x9D, 0x7D, 0x06, 0xAD, 0xF8, 0x05, 0x9D, 0x7D, 0x07, 0x18, 0x60, 0x48, 0x18, 0xA9, 0x0E, \r
-       0x2D, 0x7C, 0x07, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \r
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-char slot5[0x100] = {\r
-       0xA2, 0x20, 0xA2, 0x00, 0xA2, 0x03, 0xC9, 0x00, 0xB0, 0x17, 0x38, 0xB0, 0x01, 0x18, 0xA2, 0x05, \r
-       0x7E, 0x73, 0x04, 0x18, 0xA2, 0xC5, 0x8E, 0xF8, 0x07, 0xA2, 0x05, 0xAD, 0xFF, 0xCF, 0x4C, 0x97, \r
-       0xC7, 0xA2, 0x05, 0x86, 0x58, 0xA9, 0xC5, 0x8D, 0xF8, 0x07, 0x20, 0x76, 0xC5, 0xA0, 0x05, 0xB9, \r
-       0x70, 0xC5, 0x99, 0x42, 0x00, 0x88, 0x10, 0xF7, 0x20, 0x0A, 0xC5, 0xB0, 0x15, 0xAE, 0x00, 0x08, \r
-       0xCA, 0xD0, 0x0F, 0xAE, 0x01, 0x08, 0xF0, 0x0A, 0xA5, 0x58, 0x0A, 0x0A, 0x0A, 0x0A, 0xAA, 0x4C, \r
-       0x01, 0x08, 0xA2, 0x10, 0xBD, 0x5F, 0xC5, 0x9D, 0xDB, 0x07, 0xCA, 0x10, 0xF7, 0x80, 0xFE, 0xC3, \r
-       0xE8, 0xE5, 0xE3, 0xEB, 0xA0, 0xC4, 0xE9, 0xF3, 0xEB, 0xA0, 0xC4, 0xF2, 0xE9, 0xF6, 0xE5, 0xAE, \r
-       0x01, 0x50, 0x00, 0x08, 0x00, 0x00, 0xA2, 0x08, 0xBD, 0x83, 0xC5, 0x95, 0x00, 0xCA, 0x10, 0xF8, \r
-       0x4C, 0x00, 0x00, 0x20, 0x0D, 0xC5, 0x05, 0x07, 0x00, 0x60, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x03, \r
-       0xA0, 0x00, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, 0x49, 0xFF, 0x29, 0x7E, \r
-       0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, 0xE5, 0xA9, 0x08, 0x85, \r
-       0x27, 0xA0, 0x7F, 0x60, 0xB9, 0x00, 0x02, 0xC8, 0x4C, 0x99, 0xC3, 0xC1, 0xF0, 0xF0, 0xEC, 0xE5, \r
-       0xA0, 0xAF, 0xAF, 0xE3, 0x20, 0xD0, 0xF8, 0x20, 0x53, 0xF9, 0x85, 0x3A, 0x84, 0x3B, 0x60, 0x5A, \r
-       0xB0, 0x1C, 0xA0, 0xC4, 0xC4, 0x39, 0xD0, 0x04, 0xA4, 0x38, 0xF0, 0x12, 0xDA, 0x48, 0x29, 0x7F, \r
-       0xC9, 0x02, 0xB0, 0x06, 0x20, 0x3B, 0xC4, 0x20, 0x6B, 0xC4, 0x68, 0xFA, 0x7A, 0x60, 0x4C, 0x9D, \r
-       0xC7, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x52, 0xC5, 0x4C, 0x76, 0xC5, 0x00, 0x00, 0x00, 0xBF, 0x0A\r
-};\r
-\r
-char slot6[0x100] = {\r
-       0xA2, 0x20, 0xA0, 0x00, 0x64, 0x03, 0x64, 0x3C, 0xA9, 0x60, 0xAA, 0x86, 0x2B, 0x85, 0x4F, 0x5A, \r
-       0xBD, 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0x7A, 0xB9, 0xEA, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, \r
-       0x80, 0xC0, 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, \r
-       0xFC, 0x88, 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0x20, 0x8E, 0xC5, 0x64, 0x03, 0x18, \r
-       0x08, 0x28, 0xA6, 0x2B, 0xC6, 0x03, 0xD0, 0x0E, 0xBD, 0x88, 0xC0, 0xA5, 0x01, 0xC9, 0xC6, 0xD0, \r
-       0xA4, 0x4C, 0x00, 0xC5, 0x00, 0x00, 0x08, 0x88, 0xD0, 0x04, 0xF0, 0xE5, 0x80, 0xDF, 0xBD, 0x8C, \r
-       0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF0, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, \r
-       0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xC2, 0x49, 0xAD, 0xF0, \r
-       0x25, 0xD0, 0xBC, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, \r
-       0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xA1, 0xA5, 0x40, \r
-       0xC5, 0x41, 0xD0, 0x9B, 0xB0, 0x9C, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, \r
-       0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, \r
-       0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, \r
-       0x59, 0xD6, 0x02, 0xD0, 0xCD, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, \r
-       0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, \r
-       0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x4F, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
-\r
-char slot7[0x100] = {\r
-       0x2C, 0x03, 0xC7, 0x70, 0x1B, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x15, 0x01, 0x9B, 0x1C, 0x1C, 0x1C, \r
-       0x1C, 0x88, 0x18, 0x80, 0x2A, 0x38, 0x78, 0xA2, 0xFF, 0x9A, 0x80, 0x26, 0x38, 0xA2, 0x03, 0x60, \r
-       0x8D, 0x78, 0x04, 0xA9, 0xC7, 0x8D, 0xF8, 0x07, 0x08, 0xC5, 0x39, 0xF0, 0xE8, 0x28, 0x4D, 0x7F, \r
-       0x04, 0xD0, 0x1A, 0xAD, 0xFF, 0x07, 0x48, 0xAD, 0x7F, 0x07, 0x48, 0xAD, 0x78, 0x04, 0x60, 0x8D, \r
-       0xF8, 0x07, 0x20, 0xD3, 0xC7, 0x70, 0x01, 0x60, 0xB0, 0x03, 0x6C, 0xCB, 0x00, 0xAD, 0x81, 0xC0, \r
-       0xAD, 0x81, 0xC0, 0x20, 0x84, 0xFE, 0x20, 0x2F, 0xFB, 0x20, 0x58, 0xFC, 0x20, 0x93, 0xFE, 0x20, \r
-       0x89, 0xFE, 0xA0, 0x10, 0xB9, 0x6F, 0xC7, 0x99, 0xDB, 0x07, 0x88, 0x10, 0xF7, 0x80, 0xFE, 0xC1, \r
-       0xF0, 0xF0, 0xEC, 0xE5, 0xD4, 0xE1, 0xEC, 0xEB, 0xA0, 0xCF, 0xE6, 0xE6, 0xEC, 0xE9, 0xEE, 0xE5, \r
-       0x8D, 0x28, 0xC0, 0x40, 0x8D, 0x28, 0xC0, 0x60, 0x8D, 0x28, 0xC0, 0x4C, 0x62, 0xFA, 0x8D, 0x28, \r
-       0xC0, 0x2C, 0x87, 0xC7, 0x4C, 0x04, 0xC8, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, \r
-       0x4C, 0xF6, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0x06, 0xC8, 0x8D, \r
-       0x28, 0xC0, 0x4C, 0x4E, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x97, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x00, \r
-       0xC1, 0x8D, 0x28, 0xC0, 0x4C, 0xA9, 0xD4, 0x8D, 0x28, 0xC0, 0x4C, 0x80, 0xC5, 0x8D, 0x28, 0xC0, \r
-       0x4C, 0x4F, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xAC, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xC3, 0xC2, 0x8D, \r
-       0x28, 0xC0, 0x4C, 0xF7, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xE0, 0xD4, 0x8D, 0x28, 0xC0, 0x6C, 0xED, \r
-       0x03, 0x20, 0x23, 0xCE, 0x80, 0x8E, 0x20, 0x4D, 0xCE, 0x80, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00\r
-};\r
+//
+// This file was automagically generated by bin2c (by James L. Hammons)
+//
+
+char diskROM[0x100] = {                // Loads at $C600 (slot 6)
+       0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C,
+       0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10,
+       0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD,
+       0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0,
+       0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88,
+       0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C,
+       0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3,
+       0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0,
+       0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD,
+       0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40,
+       0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59,
+       0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10,
+       0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB,
+       0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00,
+       0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5,
+       0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+char hdROM[0x100] = {          // Loads at $C700 (slot 7)
+       0xA9, 0x20, 0xA9, 0x00, 0xA9, 0x03, 0xA9, 0x3C, 0xA9, 0x00, 0x8D, 0xF2, 0xC0, 0xA9, 0x70, 0x8D,
+       0xF3, 0xC0, 0xAD, 0xF0, 0xC0, 0x48, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68,
+       0x90, 0x03, 0x4C, 0x00, 0xC6, 0xA9, 0x70, 0x85, 0x43, 0xA9, 0x00, 0x85, 0x44, 0x85, 0x46, 0x85,
+       0x47, 0xA9, 0x08, 0x85, 0x45, 0xA9, 0x01, 0x85, 0x42, 0x20, 0x46, 0xC7, 0x90, 0x03, 0x4C, 0x00,
+       0xC6, 0xA2, 0x70, 0x4C, 0x01, 0x08, 0x18, 0xA5, 0x42, 0x8D, 0xF2, 0xC0, 0xA5, 0x43, 0x8D, 0xF3,
+       0xC0, 0xA5, 0x44, 0x8D, 0xF4, 0xC0, 0xA5, 0x45, 0x8D, 0xF5, 0xC0, 0xA5, 0x46, 0x8D, 0xF6, 0xC0,
+       0xA5, 0x47, 0x8D, 0xF7, 0xC0, 0xAd, 0xF0, 0xC0, 0x48, 0xA5, 0x42, 0xC9, 0x01, 0xD0, 0x03, 0x20,
+       0x7D, 0xC7, 0xAD, 0xF1, 0xC0, 0x18, 0xC9, 0x01, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x98, 0x48, 0xA0,
+       0x00, 0xAD, 0xF8, 0xC0, 0x91, 0x44, 0xC8, 0xD0, 0xF8, 0xE6, 0x45, 0xA0, 0x00, 0xAD, 0xF8, 0xC0,
+       0x91, 0x44, 0xC8, 0xD0, 0xF8, 0x68, 0xA8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0xD7, 0x46
+};
+
+// Various firmware from the IIe ROM file...
+
+//Not sure what the heck this is...
+char slot2e[0x100] = {
+       0x2C, 0x58, 0xFF, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x8E, 0x94, 0x97, 
+       0x9A, 0x85, 0x27, 0x86, 0x35, 0x8A, 0x48, 0x98, 0x48, 0x08, 0x78, 0x8D, 0xFF, 0xCF, 0x20, 0x58, 
+       0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x26, 0xA8, 
+       0x28, 0x50, 0x29, 0x1E, 0x38, 0x05, 0x5E, 0x38, 0x05, 0xB9, 0x8A, 0xC0, 0x29, 0x1F, 0xD0, 0x05, 
+       0xA9, 0xEF, 0x20, 0x05, 0xC8, 0xE4, 0x37, 0xD0, 0x0B, 0xA9, 0x07, 0xC5, 0x36, 0xF0, 0x05, 0x85, 
+       0x36, 0x18, 0x90, 0x08, 0xE4, 0x39, 0xD0, 0xF9, 0xA9, 0x05, 0x85, 0x38, 0xBD, 0x38, 0x07, 0x29, 
+       0x02, 0x08, 0x90, 0x03, 0x4C, 0xBF, 0xC8, 0xBD, 0xB8, 0x04, 0x48, 0x0A, 0x10, 0x0E, 0xA6, 0x35, 
+       0xA5, 0x27, 0x09, 0x20, 0x9D, 0x00, 0x02, 0x85, 0x27, 0xAE, 0xF8, 0x07, 0x68, 0x29, 0xBF, 0x9D, 
+       0xB8, 0x04, 0x28, 0xF0, 0x06, 0x20, 0x63, 0xCB, 0x4C, 0xB5, 0xC8, 0x4C, 0xFC, 0xC8, 0x20, 0x00, 
+       0xC8, 0xA2, 0x00, 0x60, 0x4C, 0x9B, 0xC8, 0x4C, 0xAA, 0xC9, 0x4A, 0x20, 0x9B, 0xC9, 0xB0, 0x08, 
+       0x20, 0xF5, 0xCA, 0xF0, 0x06, 0x18, 0x90, 0x03, 0x20, 0xD2, 0xCA, 0xBD, 0xB8, 0x05, 0xAA, 0x60, 
+       0xA2, 0x03, 0xB5, 0x36, 0x48, 0xCA, 0x10, 0xFA, 0xAE, 0xF8, 0x07, 0xBD, 0x38, 0x06, 0x85, 0x36, 
+       0xBD, 0xB8, 0x04, 0x29, 0x38, 0x4A, 0x4A, 0x4A, 0x09, 0xC0, 0x85, 0x37, 0x8A, 0x48, 0xA5, 0x27, 
+       0x48, 0x09, 0x80, 0x20, 0xED, 0xFD, 0x68, 0x85, 0x27, 0x68, 0x8D, 0xF8, 0x07, 0xAA, 0x0A, 0x0A, 
+       0x0A, 0x0A, 0x85, 0x26, 0x8D, 0xFF, 0xCF, 0xA5, 0x36, 0x9D, 0x38, 0x06, 0xA2, 0x00, 0x68, 0x95, 
+       0x36, 0xE8, 0xE0, 0x04, 0x90, 0xF8, 0xAE, 0xF8, 0x07, 0x60, 0xC1, 0xD0, 0xD0, 0xCC, 0xC5, 0x08
+};
+
+//This looks identical to diskROM
+char slot6e[0x100] = {
+       0xA2, 0x20, 0xA0, 0x00, 0xA2, 0x03, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, 
+       0x49, 0xFF, 0x29, 0x7E, 0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, 
+       0xE5, 0x20, 0x58, 0xFF, 0xBA, 0xBD, 0x00, 0x01, 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0x2B, 0xAA, 0xBD, 
+       0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0xBD, 0x8A, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 0x80, 0xC0, 
+       0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 0xFC, 0x88, 
+       0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0xA9, 0x08, 0x85, 0x27, 0x18, 0x08, 0xBD, 0x8C, 
+       0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF7, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, 
+       0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xDF, 0x49, 0xAD, 0xF0, 
+       0x25, 0xD0, 0xD9, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, 
+       0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xBE, 0xA5, 0x40, 
+       0xC5, 0x41, 0xD0, 0xB8, 0xB0, 0xB7, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, 
+       0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 
+       0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 
+       0x59, 0xD6, 0x02, 0xD0, 0x87, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, 
+       0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, 
+       0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x2B, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+// Various firmware from the IIc
+
+char slot1[0x100] = {
+       0x2C, 0x89, 0xC1, 0x70, 0x0C, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x06, 0x01, 0x31, 0x9E, 0xA8, 0xB4, 
+       0xBB, 0xDA, 0xA2, 0xC1, 0x4C, 0x1C, 0xC2, 0x90, 0x03, 0x4C, 0xE5, 0xC7, 0x0A, 0x7A, 0x5A, 0xBD, 
+       0xB8, 0x04, 0xF0, 0x42, 0xA5, 0x24, 0xB0, 0x1C, 0xDD, 0xB8, 0x04, 0x90, 0x03, 0xBD, 0x38, 0x07, 
+       0xDD, 0x38, 0x07, 0xB0, 0x0B, 0xC9, 0x11, 0xB0, 0x11, 0x09, 0xF0, 0x3D, 0x38, 0x07, 0x65, 0x24, 
+       0x85, 0x24, 0x80, 0x06, 0xC5, 0x21, 0x90, 0x02, 0x64, 0x24, 0x7A, 0x5A, 0xBD, 0x38, 0x07, 0xDD, 
+       0xB8, 0x04, 0xB0, 0x08, 0xC5, 0x24, 0xB0, 0x0E, 0xA9, 0x40, 0x80, 0x02, 0xA9, 0x1A, 0xC0, 0x80, 
+       0x6A, 0x20, 0x9B, 0xC1, 0x80, 0xE4, 0x98, 0x20, 0x8A, 0xC1, 0xBD, 0xB8, 0x04, 0xF0, 0x17, 0x3C, 
+       0xB8, 0x06, 0x30, 0x12, 0xBD, 0x38, 0x07, 0xFD, 0xB8, 0x04, 0xC9, 0xF8, 0x90, 0x04, 0x18, 0x65, 
+       0x21, 0xAC, 0xA9, 0x00, 0x85, 0x24, 0x68, 0x7A, 0xFA, 0x60, 0x20, 0xA9, 0xC7, 0x90, 0xFA, 0x3C, 
+       0xB8, 0x06, 0x10, 0x07, 0xC9, 0x91, 0xF0, 0x03, 0x20, 0xF0, 0xFD, 0x4C, 0xCD, 0xC7, 0x5A, 0x48, 
+       0x20, 0xB6, 0xC2, 0x9E, 0xB8, 0x06, 0x80, 0x07, 0x5A, 0x20, 0xD9, 0xC7, 0x90, 0xFA, 0x90, 0x68, 
+       0x7A, 0xA2, 0x00, 0x60, 0x5A, 0x48, 0x20, 0x8A, 0xC1, 0x80, 0xF4, 0x5A, 0x48, 0x4A, 0xD0, 0x15, 
+       0x08, 0x20, 0xD3, 0xC7, 0x28, 0x90, 0x05, 0x29, 0x28, 0x0A, 0x80, 0x02, 0x29, 0x30, 0xC9, 0x10, 
+       0xF0, 0xDD, 0x18, 0x80, 0xDA, 0xA2, 0x40, 0x68, 0x7A, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+char slot2[0x100] = {
+       0x2C, 0x89, 0xC1, 0x70, 0x14, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x0E, 0x01, 0x31, 0x11, 0x13, 0x15, 
+       0x17, 0x80, 0x8B, 0x80, 0x93, 0x80, 0x9D, 0x80, 0xA2, 0xDA, 0xA2, 0xC2, 0x5A, 0x48, 0x8E, 0xF8, 
+       0x07, 0x50, 0x22, 0xA5, 0x36, 0x45, 0x38, 0xF0, 0x06, 0xA5, 0x37, 0xC5, 0x39, 0xF0, 0x03, 0x20, 
+       0xB6, 0xC2, 0x8A, 0x45, 0x39, 0x05, 0x38, 0xD0, 0x07, 0xA9, 0x05, 0x85, 0x38, 0x38, 0x80, 0x05, 
+       0xA9, 0x07, 0x85, 0x36, 0x18, 0xBD, 0xB8, 0x06, 0x89, 0x01, 0xD0, 0x03, 0x4C, 0x17, 0xC1, 0x90, 
+       0xFB, 0x68, 0x80, 0x28, 0x3C, 0xB8, 0x03, 0x50, 0x1C, 0x20, 0x8F, 0xC1, 0x80, 0x1E, 0x68, 0x20, 
+       0x70, 0xCC, 0x10, 0x1B, 0x20, 0xA9, 0xC7, 0xB0, 0xEB, 0x29, 0x5F, 0xC9, 0x51, 0xF0, 0x04, 0xC9, 
+       0x52, 0xD0, 0x09, 0xA9, 0x98, 0x7A, 0xFA, 0x60, 0x18, 0x20, 0xA3, 0xC7, 0x20, 0x4C, 0xCC, 0x48, 
+       0x20, 0xD9, 0xC7, 0xB0, 0x09, 0xBD, 0xB8, 0x06, 0x29, 0x10, 0xF0, 0xD2, 0x80, 0xF2, 0xA8, 0x68, 
+       0x5A, 0x20, 0xB8, 0xC3, 0x68, 0xBC, 0x38, 0x06, 0xF0, 0x12, 0x09, 0x80, 0xC9, 0x91, 0xF0, 0xDC, 
+       0xC9, 0xFF, 0xF0, 0xD8, 0xC9, 0x92, 0xF0, 0xD0, 0xC9, 0x94, 0xF0, 0xCD, 0x3C, 0xB8, 0x03, 0x50, 
+       0xC4, 0x20, 0xED, 0xFD, 0x80, 0xC6, 0x20, 0x9A, 0xCF, 0xBC, 0x29, 0xC2, 0x20, 0x7C, 0xC3, 0x48, 
+       0x88, 0x30, 0x04, 0xC0, 0x03, 0xD0, 0xF5, 0x20, 0x9A, 0xCF, 0x68, 0xBC, 0x2B, 0xC2, 0x99, 0xFB, 
+       0xBF, 0x68, 0x99, 0xFA, 0xBF, 0x68, 0x9D, 0xB8, 0x06, 0x29, 0x01, 0xD0, 0x02, 0xA9, 0x09, 0x9D, 
+       0x38, 0x06, 0x68, 0x9D, 0xB8, 0x04, 0x9E, 0xB8, 0x03, 0x60, 0x03, 0x07, 0xA0, 0xB0, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+char slot3[0x100] = {
+       0x48, 0xDA, 0x5A, 0x80, 0x12, 0x38, 0x90, 0x18, 0x80, 0x1A, 0xEA, 0x01, 0x88, 0x2C, 0x2F, 0x32, 
+       0x35, 0x4C, 0xAF, 0xC7, 0x4C, 0xB5, 0xC7, 0x20, 0x20, 0xCE, 0x20, 0xBE, 0xCD, 0x20, 0x58, 0xFC, 
+       0x7A, 0xFA, 0x68, 0x18, 0xB0, 0x03, 0x4C, 0xF6, 0xFD, 0x4C, 0x1B, 0xFD, 0x4C, 0x41, 0xCF, 0x4C, 
+       0x35, 0xCF, 0x4C, 0xC2, 0xCE, 0x4C, 0xB1, 0xCE, 0xA9, 0x06, 0xCD, 0xB3, 0xFB, 0xF0, 0x3C, 0x20, 
+       0x60, 0xC3, 0xA9, 0xF8, 0x85, 0x37, 0x64, 0x36, 0xB2, 0x36, 0x92, 0x36, 0xE6, 0x36, 0xD0, 0xF8, 
+       0xE6, 0x37, 0xD0, 0xF4, 0xDA, 0xAE, 0x78, 0x04, 0x3C, 0x81, 0xC0, 0x3C, 0x81, 0xC0, 0xFA, 0x60, 
+       0xDA, 0xA2, 0x00, 0x2C, 0x11, 0xC0, 0x30, 0x02, 0xA2, 0x08, 0x2C, 0x12, 0xC0, 0x10, 0x02, 0xE8, 
+       0xE8, 0x2C, 0x81, 0xC0, 0x2C, 0x81, 0xC0, 0x8E, 0x78, 0x04, 0xFA, 0x60, 0xAD, 0x13, 0xC0, 0x0A, 
+       0xAD, 0x18, 0xC0, 0x08, 0x8D, 0x00, 0xC0, 0x8D, 0x03, 0xC0, 0xB9, 0x78, 0x04, 0x28, 0xB0, 0x03, 
+       0x8D, 0x02, 0xC0, 0x10, 0x03, 0x8D, 0x01, 0xC0, 0x60, 0x09, 0x80, 0xC9, 0xFB, 0xB0, 0x06, 0xC9, 
+       0xE1, 0x90, 0x02, 0x29, 0xDF, 0x60, 0x48, 0xA9, 0x08, 0x1C, 0xFB, 0x04, 0x68, 0x20, 0xED, 0xFD, 
+       0x4C, 0x44, 0xFD, 0x20, 0x9D, 0xCC, 0x80, 0x09, 0x20, 0x9D, 0xCC, 0x24, 0x32, 0x30, 0x02, 0x29, 
+       0x7F, 0x5A, 0x09, 0x00, 0x30, 0x15, 0x48, 0xAD, 0xFB, 0x04, 0x6A, 0x68, 0x90, 0x0D, 0x2C, 0x1E, 
+       0xC0, 0x10, 0x08, 0x49, 0x40, 0x89, 0x60, 0xF0, 0x02, 0x49, 0x40, 0x2C, 0x1F, 0xC0, 0x10, 0x19, 
+       0x48, 0x8D, 0x01, 0xC0, 0x98, 0x45, 0x20, 0x4A, 0xB0, 0x04, 0xAD, 0x55, 0xC0, 0xC8, 0x98, 0x4A, 
+       0xA8, 0x68, 0x91, 0x28, 0x2C, 0x54, 0xC0, 0x7A, 0x60, 0x91, 0x28, 0x7A, 0x60, 0x00, 0x00, 0x00
+};
+
+char slot4[0x100] = {
+       0x80, 0x05, 0xA2, 0x03, 0x60, 0x38, 0x90, 0x18, 0x4C, 0xCF, 0xC5, 0x01, 0x20, 0x02, 0x02, 0x02, 
+       0x02, 0x00, 0x3B, 0xDC, 0x93, 0x82, 0x69, 0xBD, 0x6B, 0x1A, 0x9C, 0x7C, 0x07, 0xA2, 0x80, 0xA0, 
+       0x01, 0x9E, 0x7D, 0x04, 0x9E, 0x7D, 0x05, 0xA9, 0xFF, 0x9D, 0x7D, 0x06, 0xA9, 0x03, 0x9D, 0x7D, 
+       0x07, 0xA2, 0x00, 0x88, 0x10, 0xEB, 0x20, 0x6B, 0xC4, 0xA9, 0x00, 0xAA, 0x20, 0x9A, 0xCF, 0x8A, 
+       0x8D, 0x78, 0x04, 0x4A, 0x0D, 0x78, 0x04, 0xC9, 0x10, 0xB0, 0x1F, 0x29, 0x05, 0xF0, 0x01, 0x58, 
+       0x69, 0x55, 0x08, 0x78, 0x8E, 0xFC, 0x07, 0x8D, 0x79, 0xC0, 0xA2, 0x08, 0xCA, 0x0A, 0x90, 0x03, 
+       0x9D, 0x58, 0xC0, 0xD0, 0xF7, 0x8D, 0x78, 0xC0, 0x28, 0x18, 0x60, 0xA2, 0x80, 0x80, 0x02, 0xA2, 
+       0x00, 0xBD, 0x7D, 0x04, 0x9D, 0x7C, 0x04, 0xBD, 0x7D, 0x05, 0x9D, 0x7C, 0x05, 0xCA, 0x10, 0xEF, 
+       0x80, 0x0C, 0x9C, 0x7C, 0x04, 0x9C, 0x7C, 0x05, 0x9C, 0xFC, 0x04, 0x9C, 0xFC, 0x05, 0x9C, 0x7C, 
+       0x06, 0x18, 0x60, 0xA9, 0x20, 0x1C, 0x7C, 0x07, 0x2D, 0x7C, 0x06, 0x1C, 0x7C, 0x06, 0x2C, 0xFC, 
+       0x07, 0x30, 0x13, 0x2C, 0x63, 0xC0, 0x30, 0x02, 0x09, 0x80, 0x2C, 0x7C, 0x07, 0x10, 0x02, 0x09, 
+       0x40, 0x8D, 0x7C, 0x07, 0x18, 0x60, 0x0D, 0x7C, 0x07, 0x29, 0xE0, 0x80, 0xF4, 0x6A, 0x6A, 0x29, 
+       0x80, 0xAA, 0xAD, 0x78, 0x04, 0x9D, 0x7D, 0x04, 0xAD, 0x78, 0x05, 0x9D, 0x7D, 0x05, 0xAD, 0xF8, 
+       0x04, 0x9D, 0x7D, 0x06, 0xAD, 0xF8, 0x05, 0x9D, 0x7D, 0x07, 0x18, 0x60, 0x48, 0x18, 0xA9, 0x0E, 
+       0x2D, 0x7C, 0x07, 0xD0, 0x01, 0x38, 0x68, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x00
+};
+
+char slot5[0x100] = {
+       0xA2, 0x20, 0xA2, 0x00, 0xA2, 0x03, 0xC9, 0x00, 0xB0, 0x17, 0x38, 0xB0, 0x01, 0x18, 0xA2, 0x05, 
+       0x7E, 0x73, 0x04, 0x18, 0xA2, 0xC5, 0x8E, 0xF8, 0x07, 0xA2, 0x05, 0xAD, 0xFF, 0xCF, 0x4C, 0x97, 
+       0xC7, 0xA2, 0x05, 0x86, 0x58, 0xA9, 0xC5, 0x8D, 0xF8, 0x07, 0x20, 0x76, 0xC5, 0xA0, 0x05, 0xB9, 
+       0x70, 0xC5, 0x99, 0x42, 0x00, 0x88, 0x10, 0xF7, 0x20, 0x0A, 0xC5, 0xB0, 0x15, 0xAE, 0x00, 0x08, 
+       0xCA, 0xD0, 0x0F, 0xAE, 0x01, 0x08, 0xF0, 0x0A, 0xA5, 0x58, 0x0A, 0x0A, 0x0A, 0x0A, 0xAA, 0x4C, 
+       0x01, 0x08, 0xA2, 0x10, 0xBD, 0x5F, 0xC5, 0x9D, 0xDB, 0x07, 0xCA, 0x10, 0xF7, 0x80, 0xFE, 0xC3, 
+       0xE8, 0xE5, 0xE3, 0xEB, 0xA0, 0xC4, 0xE9, 0xF3, 0xEB, 0xA0, 0xC4, 0xF2, 0xE9, 0xF6, 0xE5, 0xAE, 
+       0x01, 0x50, 0x00, 0x08, 0x00, 0x00, 0xA2, 0x08, 0xBD, 0x83, 0xC5, 0x95, 0x00, 0xCA, 0x10, 0xF8, 
+       0x4C, 0x00, 0x00, 0x20, 0x0D, 0xC5, 0x05, 0x07, 0x00, 0x60, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x03, 
+       0xA0, 0x00, 0x86, 0x3C, 0x8A, 0x0A, 0x24, 0x3C, 0xF0, 0x10, 0x05, 0x3C, 0x49, 0xFF, 0x29, 0x7E, 
+       0xB0, 0x08, 0x4A, 0xD0, 0xFB, 0x98, 0x9D, 0x56, 0x03, 0xC8, 0xE8, 0x10, 0xE5, 0xA9, 0x08, 0x85, 
+       0x27, 0xA0, 0x7F, 0x60, 0xB9, 0x00, 0x02, 0xC8, 0x4C, 0x99, 0xC3, 0xC1, 0xF0, 0xF0, 0xEC, 0xE5, 
+       0xA0, 0xAF, 0xAF, 0xE3, 0x20, 0xD0, 0xF8, 0x20, 0x53, 0xF9, 0x85, 0x3A, 0x84, 0x3B, 0x60, 0x5A, 
+       0xB0, 0x1C, 0xA0, 0xC4, 0xC4, 0x39, 0xD0, 0x04, 0xA4, 0x38, 0xF0, 0x12, 0xDA, 0x48, 0x29, 0x7F, 
+       0xC9, 0x02, 0xB0, 0x06, 0x20, 0x3B, 0xC4, 0x20, 0x6B, 0xC4, 0x68, 0xFA, 0x7A, 0x60, 0x4C, 0x9D, 
+       0xC7, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x52, 0xC5, 0x4C, 0x76, 0xC5, 0x00, 0x00, 0x00, 0xBF, 0x0A
+};
+
+char slot6[0x100] = {
+       0xA2, 0x20, 0xA0, 0x00, 0x64, 0x03, 0x64, 0x3C, 0xA9, 0x60, 0xAA, 0x86, 0x2B, 0x85, 0x4F, 0x5A, 
+       0xBD, 0x8E, 0xC0, 0xBD, 0x8C, 0xC0, 0x7A, 0xB9, 0xEA, 0xC0, 0xBD, 0x89, 0xC0, 0xA0, 0x50, 0xBD, 
+       0x80, 0xC0, 0x98, 0x29, 0x03, 0x0A, 0x05, 0x2B, 0xAA, 0xBD, 0x81, 0xC0, 0xA9, 0x56, 0x20, 0xA8, 
+       0xFC, 0x88, 0x10, 0xEB, 0x85, 0x26, 0x85, 0x3D, 0x85, 0x41, 0x20, 0x8E, 0xC5, 0x64, 0x03, 0x18, 
+       0x08, 0x28, 0xA6, 0x2B, 0xC6, 0x03, 0xD0, 0x0E, 0xBD, 0x88, 0xC0, 0xA5, 0x01, 0xC9, 0xC6, 0xD0, 
+       0xA4, 0x4C, 0x00, 0xC5, 0x00, 0x00, 0x08, 0x88, 0xD0, 0x04, 0xF0, 0xE5, 0x80, 0xDF, 0xBD, 0x8C, 
+       0xC0, 0x10, 0xFB, 0x49, 0xD5, 0xD0, 0xF0, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0xAA, 0xD0, 0xF3, 
+       0xEA, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0xC9, 0x96, 0xF0, 0x09, 0x28, 0x90, 0xC2, 0x49, 0xAD, 0xF0, 
+       0x25, 0xD0, 0xBC, 0xA0, 0x03, 0x85, 0x40, 0xBD, 0x8C, 0xC0, 0x10, 0xFB, 0x2A, 0x85, 0x3C, 0xBD, 
+       0x8C, 0xC0, 0x10, 0xFB, 0x25, 0x3C, 0x88, 0xD0, 0xEC, 0x28, 0xC5, 0x3D, 0xD0, 0xA1, 0xA5, 0x40, 
+       0xC5, 0x41, 0xD0, 0x9B, 0xB0, 0x9C, 0xA0, 0x56, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 0x59, 
+       0xD6, 0x02, 0xA4, 0x3C, 0x88, 0x99, 0x00, 0x03, 0xD0, 0xEE, 0x84, 0x3C, 0xBC, 0x8C, 0xC0, 0x10, 
+       0xFB, 0x59, 0xD6, 0x02, 0xA4, 0x3C, 0x91, 0x26, 0xC8, 0xD0, 0xEF, 0xBC, 0x8C, 0xC0, 0x10, 0xFB, 
+       0x59, 0xD6, 0x02, 0xD0, 0xCD, 0xA0, 0x00, 0xA2, 0x56, 0xCA, 0x30, 0xFB, 0xB1, 0x26, 0x5E, 0x00, 
+       0x03, 0x2A, 0x5E, 0x00, 0x03, 0x2A, 0x91, 0x26, 0xC8, 0xD0, 0xEE, 0xE6, 0x27, 0xE6, 0x3D, 0xA5, 
+       0x3D, 0xCD, 0x00, 0x08, 0xA6, 0x4F, 0x90, 0xDB, 0x4C, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+char slot7[0x100] = {
+       0x2C, 0x03, 0xC7, 0x70, 0x1B, 0x38, 0x90, 0x18, 0xB8, 0x50, 0x15, 0x01, 0x9B, 0x1C, 0x1C, 0x1C, 
+       0x1C, 0x88, 0x18, 0x80, 0x2A, 0x38, 0x78, 0xA2, 0xFF, 0x9A, 0x80, 0x26, 0x38, 0xA2, 0x03, 0x60, 
+       0x8D, 0x78, 0x04, 0xA9, 0xC7, 0x8D, 0xF8, 0x07, 0x08, 0xC5, 0x39, 0xF0, 0xE8, 0x28, 0x4D, 0x7F, 
+       0x04, 0xD0, 0x1A, 0xAD, 0xFF, 0x07, 0x48, 0xAD, 0x7F, 0x07, 0x48, 0xAD, 0x78, 0x04, 0x60, 0x8D, 
+       0xF8, 0x07, 0x20, 0xD3, 0xC7, 0x70, 0x01, 0x60, 0xB0, 0x03, 0x6C, 0xCB, 0x00, 0xAD, 0x81, 0xC0, 
+       0xAD, 0x81, 0xC0, 0x20, 0x84, 0xFE, 0x20, 0x2F, 0xFB, 0x20, 0x58, 0xFC, 0x20, 0x93, 0xFE, 0x20, 
+       0x89, 0xFE, 0xA0, 0x10, 0xB9, 0x6F, 0xC7, 0x99, 0xDB, 0x07, 0x88, 0x10, 0xF7, 0x80, 0xFE, 0xC1, 
+       0xF0, 0xF0, 0xEC, 0xE5, 0xD4, 0xE1, 0xEC, 0xEB, 0xA0, 0xCF, 0xE6, 0xE6, 0xEC, 0xE9, 0xEE, 0xE5, 
+       0x8D, 0x28, 0xC0, 0x40, 0x8D, 0x28, 0xC0, 0x60, 0x8D, 0x28, 0xC0, 0x4C, 0x62, 0xFA, 0x8D, 0x28, 
+       0xC0, 0x2C, 0x87, 0xC7, 0x4C, 0x04, 0xC8, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, 
+       0x4C, 0xF6, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0xF1, 0xC7, 0x8D, 0x28, 0xC0, 0x4C, 0x06, 0xC8, 0x8D, 
+       0x28, 0xC0, 0x4C, 0x4E, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x97, 0xC3, 0x8D, 0x28, 0xC0, 0x4C, 0x00, 
+       0xC1, 0x8D, 0x28, 0xC0, 0x4C, 0xA9, 0xD4, 0x8D, 0x28, 0xC0, 0x4C, 0x80, 0xC5, 0x8D, 0x28, 0xC0, 
+       0x4C, 0x4F, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xAC, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xC3, 0xC2, 0x8D, 
+       0x28, 0xC0, 0x4C, 0xF7, 0xC2, 0x8D, 0x28, 0xC0, 0x4C, 0xE0, 0xD4, 0x8D, 0x28, 0xC0, 0x6C, 0xED, 
+       0x03, 0x20, 0x23, 0xCE, 0x80, 0x8E, 0x20, 0x4D, 0xCE, 0x80, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00
+};
index 9c0165c4d0d86a203b247c474c9da7bddd0d4707..e811bb0f53d67d58ef17aa7b222e6ce4ef7361e2 100755 (executable)
-//\r
-// Apple 2 floppy disk support\r
-//\r
-// by James L. Hammons\r
-// (c) 2005 Underground Software\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  12/03/2005  Created this file\r
-// JLH  12/15/2005  Fixed nybblization functions to work properly\r
-// JLH  12/27/2005  Added blank disk creation, fixed saving to work properly\r
-//\r
-\r
-#include "floppy.h"\r
-\r
-#include <stdio.h>\r
-#include <string>\r
-#include "apple2.h"\r
-#include "log.h"\r
-#include "applevideo.h"                                        // For message spawning... Though there's probably a better approach than this!\r
-\r
-using namespace std;\r
-\r
-// Useful enums\r
-\r
-enum { IO_MODE_READ, IO_MODE_WRITE };\r
-\r
-// FloppyDrive class variable initialization\r
-\r
-uint8 FloppyDrive::header[21] = {\r
-       0xD5, 0xAA, 0x96, 0xFF, 0xFE, 0x00, 0x00, 0x00,\r
-       0x00, 0x00, 0x00, 0xDE, 0xAA, 0xFF,     0xFF, 0xFF,\r
-       0xFF, 0xFF, 0xD5, 0xAA, 0xAD };\r
-uint8 FloppyDrive::doSector[16] = {\r
-       0x0, 0x7, 0xE, 0x6, 0xD, 0x5, 0xC, 0x4, 0xB, 0x3, 0xA, 0x2, 0x9, 0x1, 0x8, 0xF };\r
-uint8 FloppyDrive::poSector[16] = {\r
-       0x0, 0x8, 0x1, 0x9, 0x2, 0xA, 0x3, 0xB, 0x4, 0xC, 0x5, 0xD, 0x6, 0xE, 0x7, 0xF };\r
-\r
-// FloppyDrive class implementation...\r
-\r
-FloppyDrive::FloppyDrive(): motorOn(0), activeDrive(0), ioMode(IO_MODE_READ), phase(0), track(0)\r
-{\r
-       disk[0] = disk[1] = NULL;\r
-       diskSize[0] = diskSize[1] = 0;\r
-       diskType[0] = diskType[1] = DT_UNKNOWN;\r
-       imageDirty[0] = imageDirty[1] = false;\r
-       imageName[0][0] = imageName[1][0] = 0;                  // Zero out filenames\r
-}\r
-\r
-FloppyDrive::~FloppyDrive()\r
-{\r
-       if (disk[0])\r
-               delete[] disk[0];\r
-\r
-       if (disk[1])\r
-               delete[] disk[1];\r
-}\r
-\r
-bool FloppyDrive::LoadImage(const char * filename, uint8 driveNum/*= 0*/)\r
-{\r
-       if (driveNum > 1)\r
-       {\r
-               WriteLog("FLOPPY: Attempted to load image to drive #%u!\n", driveNum);\r
-               return false;\r
-       }\r
-\r
-       imageName[driveNum][0] = 0;                                     // Zero out filename, in case it doesn't load\r
-\r
-       FILE * fp = fopen(filename, "rb");\r
-\r
-       if (fp == NULL)\r
-       {\r
-               WriteLog("FLOPPY: Failed to open image file '%s' for reading...\n", filename);\r
-               return false;\r
-       }\r
-\r
-       if (disk[driveNum])\r
-               delete[] disk[driveNum];\r
-\r
-       fseek(fp, 0, SEEK_END);\r
-       diskSize[driveNum] = ftell(fp);\r
-       fseek(fp, 0, SEEK_SET);\r
-       disk[driveNum] =  new uint8[diskSize[driveNum]];\r
-       fread(disk[driveNum], 1, diskSize[driveNum], fp);\r
-\r
-       fclose(fp);\r
-//printf("Read disk image: %u bytes.\n", diskSize);\r
-       DetectImageType(filename, driveNum);\r
-       strcpy(imageName[driveNum], filename);\r
-\r
-       return true;\r
-}\r
-\r
-bool FloppyDrive::SaveImage(uint8 driveNum/*= 0*/)\r
-{\r
-       if (driveNum > 1)\r
-       {\r
-               WriteLog("FLOPPY: Attempted to save image to drive #%u!\n", driveNum);\r
-               return false;\r
-       }\r
-\r
-       if (!imageDirty[driveNum])\r
-       {\r
-               WriteLog("FLOPPY: No need to save unchanged image...\n");\r
-               return false;\r
-       }\r
-\r
-       if (imageName[driveNum][0] == 0)\r
-       {\r
-               WriteLog("FLOPPY: Attempted to save non-existant image!\n");\r
-               return false;\r
-       }\r
-\r
-       if (diskType[driveNum] == DT_NYBBLE)\r
-               memcpy(disk[driveNum], nybblizedImage[driveNum], 232960);\r
-       else\r
-               DenybblizeImage(driveNum);\r
-\r
-       FILE * fp = fopen(imageName[driveNum], "wb");\r
-\r
-       if (fp == NULL)\r
-       {\r
-               WriteLog("FLOPPY: Failed to open image file '%s' for writing...\n", imageName[driveNum]);\r
-               return false;\r
-       }\r
-\r
-       fwrite(disk[driveNum], 1, diskSize[driveNum], fp);\r
-       fclose(fp);\r
-\r
-       return true;\r
-}\r
-\r
-bool FloppyDrive::SaveImageAs(const char * filename, uint8 driveNum/*= 0*/)\r
-{\r
-//WARNING: Buffer overflow possibility\r
-       strcpy(imageName[driveNum], filename);\r
-       return SaveImage(driveNum);\r
-}\r
-\r
-void FloppyDrive::CreateBlankImage(uint8 driveNum/*= 0*/)\r
-{\r
-       if (disk[driveNum] != NULL)\r
-               delete disk[driveNum];\r
-\r
-       disk[driveNum] = new uint8[143360];\r
-       diskSize[driveNum] = 143360;\r
-       memset(disk[driveNum], 0x00, 143360);\r
-       memset(nybblizedImage[driveNum], 0x00, 232960); // Set it to 0 instead of $FF for proper formatting...\r
-       diskType[driveNum] = DT_DOS33;\r
-       strcpy(imageName[driveNum], "newblank.dsk");\r
-SpawnMessage("New blank image inserted in drive %u...", driveNum);\r
-}\r
-\r
-void FloppyDrive::SwapImages(void)\r
-{\r
-       uint8 nybblizedImageTmp[232960];\r
-       char imageNameTmp[MAX_PATH];\r
-\r
-       memcpy(nybblizedImageTmp, nybblizedImage[0], 232960);\r
-       memcpy(nybblizedImage[0], nybblizedImage[1], 232960);\r
-       memcpy(nybblizedImage[1], nybblizedImageTmp, 232960);\r
-\r
-       memcpy(imageNameTmp, imageName[0], MAX_PATH);\r
-       memcpy(imageName[0], imageName[1], MAX_PATH);\r
-       memcpy(imageName[1], imageNameTmp, MAX_PATH);\r
-\r
-       uint8 * diskTmp = disk[0];\r
-       disk[0] = disk[1];\r
-       disk[1] = diskTmp;\r
-\r
-       uint32 diskSizeTmp = diskSize[0];\r
-       diskSize[0] = diskSize[1];\r
-       diskSize[1] = diskSizeTmp;\r
-\r
-       uint8 diskTypeTmp = diskType[0];\r
-       diskType[0] = diskType[1];\r
-       diskType[1] = diskTypeTmp;\r
-\r
-       uint8 imageDirtyTmp = imageDirty[0];\r
-       imageDirty[0] = imageDirty[1];\r
-       imageDirty[1] = imageDirtyTmp;\r
-SpawnMessage("Drive 0: %s...", imageName[0]);\r
-}\r
-\r
-void FloppyDrive::DetectImageType(const char * filename, uint8 driveNum)\r
-{\r
-       diskType[driveNum] = DT_UNKNOWN;\r
-\r
-       if (diskSize[driveNum] == 232960)\r
-       {\r
-               diskType[driveNum] = DT_NYBBLE;\r
-               memcpy(nybblizedImage[driveNum], disk[driveNum], 232960);\r
-       }\r
-       else if (diskSize[driveNum] == 143360)\r
-       {\r
-               const char * ext = strrchr(filename, '.');\r
-\r
-               if (ext == NULL)\r
-                       return;\r
-WriteLog("FLOPPY: Found extension [%s]...\n", ext);\r
-\r
-//Apparently .dsk can house either DOS order OR PRODOS order... !!! FIX !!!\r
-//[DONE, see below why we don't need it]\r
-               if (strcasecmp(ext, ".po") == 0)\r
-                       diskType[driveNum] = DT_PRODOS;\r
-               else if ((strcasecmp(ext, ".do") == 0) || (strcasecmp(ext, ".dsk") == 0))\r
-               {\r
-                       diskType[driveNum] = DT_DOS33;\r
-//WriteLog("Detected DOS 3.3 disk!\n");\r
-/*\r
-This doesn't seem to be accurate... Maybe it's just a ProDOS disk in a DOS33 order...\r
-That would seem to be the case--just because it's a ProDOS disk doesn't mean anything\r
-WRT to the disk image itself.\r
-                       // This could really be a ProDOS order disk with a .dsk extension, so let's see...\r
-                       char fingerprint[3][4] = {\r
-                               { 0x04, 0x00, 0x00, 0x00 },             // @ $500\r
-                               { 0x03, 0x00, 0x05, 0x00 },             // @ $700\r
-                               { 0x02, 0x00, 0x04, 0x00 } };   // @ $900\r
-\r
-                       if ((strcmp((char *)(disk[driveNum] + 0x500), fingerprint[0]) == 0)\r
-                               && (strcmp((char *)(disk[driveNum] + 0x700), fingerprint[1]) == 0)\r
-                               && (strcmp((char *)(disk[driveNum] + 0x900), fingerprint[2]) == 0))\r
-                               diskType[driveNum] = DT_PRODOS;\r
-//*/\r
-               }\r
-\r
-               NybblizeImage(driveNum);\r
-       }\r
-WriteLog("FLOPPY: Detected image type %s...\n", (diskType[driveNum] == DT_NYBBLE ?\r
-       "Nybble image" : (diskType[driveNum] == DT_DOS33 ?\r
-       "DOS 3.3 image" : (diskType[driveNum] == DT_PRODOS ? "ProDOS image" : "unknown"))));\r
-}\r
-\r
-void FloppyDrive::NybblizeImage(uint8 driveNum)\r
-{\r
-       // Format of a sector is header (23) + nybbles (343) + footer (30) = 396\r
-       // (short by 20 bytes of 416 [413 if 48 byte header is one time only])\r
-// Hmph. Who'da thunk that AppleWin's nybblization routines would be wrong?\r
-// This is now correct, BTW\r
-       // hdr (21) + nybbles (343) + footer (48) = 412 bytes per sector\r
-       // (not incl. 64 byte track marker)\r
-\r
-       uint8 footer[48] = {\r
-               0xDE, 0xAA, 0xEB, 0xFF, 0xEB, 0xFF, 0xFF, 0xFF,\r
-               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\r
-               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };\r
-\r
-       uint8 diskbyte[0x40] = {\r
-               0x96, 0x97, 0x9A, 0x9B, 0x9D, 0x9E, 0x9F, 0xA6,\r
-               0xA7, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB2, 0xB3,\r
-               0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBB, 0xBC,\r
-               0xBD, 0xBE, 0xBF, 0xCB, 0xCD, 0xCE, 0xCF, 0xD3,\r
-               0xD6, 0xD7, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE,\r
-               0xDF, 0xE5, 0xE6, 0xE7, 0xE9, 0xEA, 0xEB, 0xEC,\r
-               0xED, 0xEE, 0xEF, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,\r
-               0xF7, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF };\r
-\r
-       uint8 * img = nybblizedImage[driveNum];\r
-       memset(img, 0xFF, 232960);                                      // Doesn't matter if 00s or FFs...\r
-\r
-       for(uint8 trk=0; trk<35; trk++)\r
-       {\r
-               memset(img, 0xFF, 64);                                  // Write gap 1, 64 bytes (self-sync)\r
-               img += 64;\r
-\r
-               for(uint8 sector=0; sector<16; sector++)\r
-               {\r
-                       memcpy(img, header, 21);                        // Set up the sector header\r
-\r
-                       img[5] = ((trk >> 1) & 0x55) | 0xAA;\r
-                       img[6] =  (trk       & 0x55) | 0xAA;\r
-                       img[7] = ((sector >> 1) & 0x55) | 0xAA;\r
-                       img[8] =  (sector       & 0x55) | 0xAA;\r
-                       img[9] = (((trk ^ sector ^ 0xFE) >> 1) & 0x55) | 0xAA;\r
-                       img[10] = ((trk ^ sector ^ 0xFE)       & 0x55) | 0xAA;\r
-\r
-                       img += 21;\r
-                       uint8 * bytes = disk[driveNum];\r
-\r
-                       if (diskType[driveNum] == DT_DOS33)\r
-                               bytes += (doSector[sector] * 256) + (trk * 256 * 16);\r
-                       else if (diskType[driveNum] == DT_PRODOS)\r
-                               bytes += (poSector[sector] * 256) + (trk * 256 * 16);\r
-                       else\r
-                               bytes += (sector * 256) + (trk * 256 * 16);\r
-\r
-                       // Convert the 256 8-bit bytes into 342 6-bit bytes.\r
-\r
-                       for(uint16 i=0; i<0x56; i++)\r
-                       {\r
-                               img[i] = ((bytes[(i + 0xAC) & 0xFF] & 0x01) << 7)\r
-                                       | ((bytes[(i + 0xAC) & 0xFF] & 0x02) << 5)\r
-                                       | ((bytes[(i + 0x56) & 0xFF] & 0x01) << 5)\r
-                                       | ((bytes[(i + 0x56) & 0xFF] & 0x02) << 3)\r
-                                       | ((bytes[(i + 0x00) & 0xFF] & 0x01) << 3)\r
-                                       | ((bytes[(i + 0x00) & 0xFF] & 0x02) << 1);\r
-                       }\r
-\r
-                       img[0x54] &= 0x3F;\r
-                       img[0x55] &= 0x3F;\r
-                       memcpy(img + 0x56, bytes, 256);\r
-\r
-                       // XOR the data block with itself, offset by one byte,\r
-                       // creating a 343rd byte which is used as a cheksum.\r
-\r
-                       img[342] = 0x00;\r
-\r
-                       for(uint16 i=342; i>0; i--)\r
-                               img[i] = img[i] ^ img[i - 1];\r
-\r
-                       // Using a lookup table, convert the 6-bit bytes into disk bytes.\r
-\r
-                       for(uint16 i=0; i<343; i++)\r
-                               img[i] = diskbyte[img[i] >> 2];\r
-\r
-                       img += 343;\r
-\r
-                       // Done with the nybblization, now for the epilogue...\r
-\r
-                       memcpy(img, footer, 48);\r
-                       img += 48;\r
-               }\r
-       }\r
-}\r
-\r
-void FloppyDrive::DenybblizeImage(uint8 driveNum)\r
-{\r
-       uint8 decodeNybble[0x80] = {\r
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,\r
-               0x00, 0x00, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18,\r
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20,\r
-               0x00, 0x00, 0x00, 0x24, 0x28, 0x2C, 0x30, 0x34,\r
-               0x00, 0x00, 0x38, 0x3C, 0x40, 0x44, 0x48, 0x4C,\r
-               0x00, 0x50, 0x54, 0x58, 0x5C, 0x60, 0x64, 0x68,\r
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
-               0x00, 0x00, 0x00, 0x6C, 0x00, 0x70, 0x74, 0x78,\r
-               0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x80, 0x84,\r
-               0x00, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9C, 0xA0,\r
-               0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA8, 0xAC,\r
-               0x00, 0xB0, 0xB4, 0xB8, 0xBC, 0xC0, 0xC4, 0xC8,\r
-               0x00, 0x00, 0xCC, 0xD0, 0xD4, 0xD8, 0xDC, 0xE0,\r
-               0x00, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC };\r
-\r
-       // Sanity checks...\r
-       if (disk[driveNum] == NULL || diskSize[driveNum] < 143360)\r
-       {\r
-               WriteLog("FLOPPY: Source disk image invalid! [drive=%u, disk=%08X, diskSize=%u]\n",\r
-                       driveNum, disk[driveNum], diskSize[driveNum]);\r
-               return;\r
-       }\r
-\r
-       uint8 * srcImg = nybblizedImage[driveNum];\r
-       uint8 * dstImg = disk[driveNum];\r
-       uint8 buffer[345];                                                      // 2 extra bytes for the unpack routine below...\r
-\r
-       for(uint8 trk=0; trk<35; trk++)\r
-       {\r
-               uint8 * trackBase = srcImg + (trk * 6656);\r
-\r
-               for(uint8 sector=0; sector<16; sector++)\r
-               {\r
-                       uint16 sectorStart = (uint16)-1;\r
-\r
-                       for(uint16 i=0; i<6656; i++)\r
-                       {\r
-                               if (trackBase[i] == header[0]\r
-                                       && trackBase[(i + 1) % 6656] == header[1]\r
-                                       && trackBase[(i + 2) % 6656] == header[2]\r
-                                       && trackBase[(i + 3) % 6656] == header[3]\r
-                                       && trackBase[(i + 4) % 6656] == header[4])\r
-                               {\r
-//Could also check the track # at +5,6...\r
-                                       uint8 foundSector = ((trackBase[(i + 7) % 6656] & 0x55) << 1)\r
-                                               | (trackBase[(i + 8) % 6656] & 0x55);\r
-\r
-                                       if (foundSector == sector)\r
-                                       {\r
-                                               sectorStart = (i + 21) % 6656;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                       }\r
-\r
-                       // Sanity check...\r
-                       if (sectorStart == (uint16)-1)\r
-                       {\r
-                               WriteLog("FLOPPY: Failed to find sector %u (track %u) in nybble image!\n",\r
-                                       sector, trk);\r
-                               return;\r
-                       }\r
-\r
-                       // Using a lookup table, convert the disk bytes into 6-bit bytes.\r
-\r
-                       for(uint16 i=0; i<343; i++)\r
-                               buffer[i] = decodeNybble[trackBase[(sectorStart + i) % 6656] & 0x7F];\r
-\r
-                       // XOR the data block with itself, offset by one byte.\r
-\r
-                       for(uint16 i=1; i<342; i++)\r
-                               buffer[i] = buffer[i] ^ buffer[i - 1];\r
-\r
-                       // Convert the 342 6-bit bytes into 256 8-bit bytes (at buffer + $56).\r
-\r
-                       for(uint16 i=0; i<0x56; i++)\r
-                       {\r
-                               buffer[0x056 + i] |= ((buffer[i] >> 3) & 0x01) | ((buffer[i] >> 1) & 0x02);\r
-                               buffer[0x0AC + i] |= ((buffer[i] >> 5) & 0x01) | ((buffer[i] >> 3) & 0x02);\r
-                               buffer[0x102 + i] |= ((buffer[i] >> 7) & 0x01) | ((buffer[i] >> 5) & 0x02);\r
-                       }\r
-\r
-                       uint8 * bytes = dstImg;\r
-\r
-                       if (diskType[driveNum] == DT_DOS33)\r
-                               bytes += (doSector[sector] * 256) + (trk * 256 * 16);\r
-                       else if (diskType[driveNum] == DT_PRODOS)\r
-                               bytes += (poSector[sector] * 256) + (trk * 256 * 16);\r
-                       else\r
-                               bytes += (sector * 256) + (trk * 256 * 16);//*/\r
-\r
-                       memcpy(bytes, buffer + 0x56, 256);\r
-               }\r
-       }\r
-}\r
-\r
-// Memory mapped I/O functions\r
-\r
-/*\r
-The DSK format is a byte-for-byte image of a 16-sector Apple II floppy disk: 35 tracks of 16\r
-sectors of 256 bytes each, making 143,360 bytes in total. The PO format is exactly the same\r
-size as DSK and is also organized as 35 sequential tracks, but the sectors within each track\r
-are in a different sequence. The NIB format is a nybblized format: a more direct representation\r
-of the disk's data as encoded by the Apple II floppy drive hardware. NIB contains 35 tracks of\r
-6656 bytes each, for a total size of 232,960 bytes. Although this format is much larger, it is\r
-also more versatile and can represent the older 13-sector disks, many copy-protected disks, and\r
-other unusual encodings.\r
-*/\r
-\r
-void FloppyDrive::ControlStepper(uint8 addr)\r
-{\r
-       // $C0E0 - 7\r
-/*\r
-What I can gather here:\r
-bits 1-2 are the "phase" of the track (which is 1/4 of a full track (?))\r
-bit 0 is the "do something" bit.\r
-*/\r
-       if (addr & 0x01)\r
-       {\r
-               uint8 newPhase = (addr >> 1) & 0x03;\r
-//WriteLog("*** Stepper change [%u]: track = %u, phase = %u, newPhase = %u\n", addr, track, phase, newPhase);\r
-\r
-               if (((phase + 1) & 0x03) == newPhase)\r
-                       phase += (phase < 79 ? 1 : 0);\r
-\r
-               if (((phase - 1) & 0x03) == newPhase)\r
-                       phase -= (phase > 0 ? 1 : 0);\r
-\r
-               if (!(phase & 0x01))\r
-               {\r
-                       track = ((phase >> 1) < 35 ? phase >> 1 : 34);\r
-                       currentPos = 0;\r
-               }\r
-//WriteLog("                        track = %u, phase = %u, newPhase = %u\n", track, phase, newPhase);\r
-SpawnMessage("Stepping to track %u...", track);\r
-       }\r
-\r
-//     return something if read mode...        \r
-}\r
-\r
-void FloppyDrive::ControlMotor(uint8 addr)\r
-{\r
-       // $C0E8 - 9\r
-       motorOn = addr;\r
-}\r
-\r
-void FloppyDrive::DriveEnable(uint8 addr)\r
-{\r
-       // $C0EA - B\r
-       activeDrive = addr;\r
-}\r
-\r
-uint8 FloppyDrive::ReadWrite(void)\r
-{\r
-SpawnMessage("%sing %s track %u, sector %u...", (ioMode == IO_MODE_READ ? "Read" : "Write"),\r
-       (ioMode == IO_MODE_READ ? "from" : "to"), track, currentPos / 396);\r
-       // $C0EC\r
-/*\r
-I think what happens here is that once a track is read its nybblized form\r
-is fed through here, one byte at a time--which means for DO disks, we have\r
-to convert the actual 256 byte sector to a 416 byte nybblized data "sector".\r
-Which we now do. :-)\r
-*/\r
-       if (ioMode == IO_MODE_WRITE && (latchValue & 0x80))\r
-       {\r
-               nybblizedImage[activeDrive][(track * 6656) + currentPos] = latchValue;\r
-               imageDirty[activeDrive] = true;\r
-       }\r
-\r
-       uint8 diskByte = nybblizedImage[activeDrive][(track * 6656) + currentPos];\r
-       currentPos = (currentPos + 1) % 6656;\r
-\r
-       return diskByte;\r
-}\r
-\r
-uint8 FloppyDrive::GetLatchValue(void)\r
-{\r
-       // $C0ED\r
-       return latchValue;\r
-}\r
-\r
-void FloppyDrive::SetLatchValue(uint8 value)\r
-{\r
-       // $C0ED\r
-       latchValue = value;\r
-}\r
-\r
-void FloppyDrive::SetReadMode(void)\r
-{\r
-       // $C0EE\r
-       ioMode = IO_MODE_READ;\r
-}\r
-\r
-void FloppyDrive::SetWriteMode(void)\r
-{\r
-       // $C0EF\r
-       ioMode = IO_MODE_WRITE;\r
-}\r
+//
+// Apple 2 floppy disk support
+//
+// by James L. Hammons
+// (c) 2005 Underground Software
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  12/03/2005  Created this file
+// JLH  12/15/2005  Fixed nybblization functions to work properly
+// JLH  12/27/2005  Added blank disk creation, fixed saving to work properly
+//
+
+#include "floppy.h"
+
+#include <stdio.h>
+#include <string>
+#include "apple2.h"
+#include "log.h"
+#include "applevideo.h"                                        // For message spawning... Though there's probably a better approach than this!
+
+using namespace std;
+
+// Useful enums
+
+enum { IO_MODE_READ, IO_MODE_WRITE };
+
+// FloppyDrive class variable initialization
+
+uint8 FloppyDrive::header[21] = {
+       0xD5, 0xAA, 0x96, 0xFF, 0xFE, 0x00, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0xDE, 0xAA, 0xFF,     0xFF, 0xFF,
+       0xFF, 0xFF, 0xD5, 0xAA, 0xAD };
+uint8 FloppyDrive::doSector[16] = {
+       0x0, 0x7, 0xE, 0x6, 0xD, 0x5, 0xC, 0x4, 0xB, 0x3, 0xA, 0x2, 0x9, 0x1, 0x8, 0xF };
+uint8 FloppyDrive::poSector[16] = {
+       0x0, 0x8, 0x1, 0x9, 0x2, 0xA, 0x3, 0xB, 0x4, 0xC, 0x5, 0xD, 0x6, 0xE, 0x7, 0xF };
+
+// FloppyDrive class implementation...
+
+FloppyDrive::FloppyDrive(): motorOn(0), activeDrive(0), ioMode(IO_MODE_READ), phase(0), track(0)
+{
+       disk[0] = disk[1] = NULL;
+       diskSize[0] = diskSize[1] = 0;
+       diskType[0] = diskType[1] = DT_UNKNOWN;
+       imageDirty[0] = imageDirty[1] = false;
+       imageName[0][0] = imageName[1][0] = 0;                  // Zero out filenames
+}
+
+FloppyDrive::~FloppyDrive()
+{
+       if (disk[0])
+               delete[] disk[0];
+
+       if (disk[1])
+               delete[] disk[1];
+}
+
+bool FloppyDrive::LoadImage(const char * filename, uint8 driveNum/*= 0*/)
+{
+       if (driveNum > 1)
+       {
+               WriteLog("FLOPPY: Attempted to load image to drive #%u!\n", driveNum);
+               return false;
+       }
+
+       imageName[driveNum][0] = 0;                                     // Zero out filename, in case it doesn't load
+
+       FILE * fp = fopen(filename, "rb");
+
+       if (fp == NULL)
+       {
+               WriteLog("FLOPPY: Failed to open image file '%s' for reading...\n", filename);
+               return false;
+       }
+
+       if (disk[driveNum])
+               delete[] disk[driveNum];
+
+       fseek(fp, 0, SEEK_END);
+       diskSize[driveNum] = ftell(fp);
+       fseek(fp, 0, SEEK_SET);
+       disk[driveNum] =  new uint8[diskSize[driveNum]];
+       fread(disk[driveNum], 1, diskSize[driveNum], fp);
+
+       fclose(fp);
+//printf("Read disk image: %u bytes.\n", diskSize);
+       DetectImageType(filename, driveNum);
+       strcpy(imageName[driveNum], filename);
+
+       return true;
+}
+
+bool FloppyDrive::SaveImage(uint8 driveNum/*= 0*/)
+{
+       if (driveNum > 1)
+       {
+               WriteLog("FLOPPY: Attempted to save image to drive #%u!\n", driveNum);
+               return false;
+       }
+
+       if (!imageDirty[driveNum])
+       {
+               WriteLog("FLOPPY: No need to save unchanged image...\n");
+               return false;
+       }
+
+       if (imageName[driveNum][0] == 0)
+       {
+               WriteLog("FLOPPY: Attempted to save non-existant image!\n");
+               return false;
+       }
+
+       if (diskType[driveNum] == DT_NYBBLE)
+               memcpy(disk[driveNum], nybblizedImage[driveNum], 232960);
+       else
+               DenybblizeImage(driveNum);
+
+       FILE * fp = fopen(imageName[driveNum], "wb");
+
+       if (fp == NULL)
+       {
+               WriteLog("FLOPPY: Failed to open image file '%s' for writing...\n", imageName[driveNum]);
+               return false;
+       }
+
+       fwrite(disk[driveNum], 1, diskSize[driveNum], fp);
+       fclose(fp);
+
+       return true;
+}
+
+bool FloppyDrive::SaveImageAs(const char * filename, uint8 driveNum/*= 0*/)
+{
+//WARNING: Buffer overflow possibility
+       strcpy(imageName[driveNum], filename);
+       return SaveImage(driveNum);
+}
+
+void FloppyDrive::CreateBlankImage(uint8 driveNum/*= 0*/)
+{
+       if (disk[driveNum] != NULL)
+               delete disk[driveNum];
+
+       disk[driveNum] = new uint8[143360];
+       diskSize[driveNum] = 143360;
+       memset(disk[driveNum], 0x00, 143360);
+       memset(nybblizedImage[driveNum], 0x00, 232960); // Set it to 0 instead of $FF for proper formatting...
+       diskType[driveNum] = DT_DOS33;
+       strcpy(imageName[driveNum], "newblank.dsk");
+SpawnMessage("New blank image inserted in drive %u...", driveNum);
+}
+
+void FloppyDrive::SwapImages(void)
+{
+       uint8 nybblizedImageTmp[232960];
+       char imageNameTmp[MAX_PATH];
+
+       memcpy(nybblizedImageTmp, nybblizedImage[0], 232960);
+       memcpy(nybblizedImage[0], nybblizedImage[1], 232960);
+       memcpy(nybblizedImage[1], nybblizedImageTmp, 232960);
+
+       memcpy(imageNameTmp, imageName[0], MAX_PATH);
+       memcpy(imageName[0], imageName[1], MAX_PATH);
+       memcpy(imageName[1], imageNameTmp, MAX_PATH);
+
+       uint8 * diskTmp = disk[0];
+       disk[0] = disk[1];
+       disk[1] = diskTmp;
+
+       uint32 diskSizeTmp = diskSize[0];
+       diskSize[0] = diskSize[1];
+       diskSize[1] = diskSizeTmp;
+
+       uint8 diskTypeTmp = diskType[0];
+       diskType[0] = diskType[1];
+       diskType[1] = diskTypeTmp;
+
+       uint8 imageDirtyTmp = imageDirty[0];
+       imageDirty[0] = imageDirty[1];
+       imageDirty[1] = imageDirtyTmp;
+SpawnMessage("Drive 0: %s...", imageName[0]);
+}
+
+void FloppyDrive::DetectImageType(const char * filename, uint8 driveNum)
+{
+       diskType[driveNum] = DT_UNKNOWN;
+
+       if (diskSize[driveNum] == 232960)
+       {
+               diskType[driveNum] = DT_NYBBLE;
+               memcpy(nybblizedImage[driveNum], disk[driveNum], 232960);
+       }
+       else if (diskSize[driveNum] == 143360)
+       {
+               const char * ext = strrchr(filename, '.');
+
+               if (ext == NULL)
+                       return;
+WriteLog("FLOPPY: Found extension [%s]...\n", ext);
+
+//Apparently .dsk can house either DOS order OR PRODOS order... !!! FIX !!!
+//[DONE, see below why we don't need it]
+               if (strcasecmp(ext, ".po") == 0)
+                       diskType[driveNum] = DT_PRODOS;
+               else if ((strcasecmp(ext, ".do") == 0) || (strcasecmp(ext, ".dsk") == 0))
+               {
+                       diskType[driveNum] = DT_DOS33;
+//WriteLog("Detected DOS 3.3 disk!\n");
+/*
+This doesn't seem to be accurate... Maybe it's just a ProDOS disk in a DOS33 order...
+That would seem to be the case--just because it's a ProDOS disk doesn't mean anything
+WRT to the disk image itself.
+                       // This could really be a ProDOS order disk with a .dsk extension, so let's see...
+                       char fingerprint[3][4] = {
+                               { 0x04, 0x00, 0x00, 0x00 },             // @ $500
+                               { 0x03, 0x00, 0x05, 0x00 },             // @ $700
+                               { 0x02, 0x00, 0x04, 0x00 } };   // @ $900
+
+                       if ((strcmp((char *)(disk[driveNum] + 0x500), fingerprint[0]) == 0)
+                               && (strcmp((char *)(disk[driveNum] + 0x700), fingerprint[1]) == 0)
+                               && (strcmp((char *)(disk[driveNum] + 0x900), fingerprint[2]) == 0))
+                               diskType[driveNum] = DT_PRODOS;
+//*/
+               }
+
+               NybblizeImage(driveNum);
+       }
+WriteLog("FLOPPY: Detected image type %s...\n", (diskType[driveNum] == DT_NYBBLE ?
+       "Nybble image" : (diskType[driveNum] == DT_DOS33 ?
+       "DOS 3.3 image" : (diskType[driveNum] == DT_PRODOS ? "ProDOS image" : "unknown"))));
+}
+
+void FloppyDrive::NybblizeImage(uint8 driveNum)
+{
+       // Format of a sector is header (23) + nybbles (343) + footer (30) = 396
+       // (short by 20 bytes of 416 [413 if 48 byte header is one time only])
+// Hmph. Who'da thunk that AppleWin's nybblization routines would be wrong?
+// This is now correct, BTW
+       // hdr (21) + nybbles (343) + footer (48) = 412 bytes per sector
+       // (not incl. 64 byte track marker)
+
+       uint8 footer[48] = {
+               0xDE, 0xAA, 0xEB, 0xFF, 0xEB, 0xFF, 0xFF, 0xFF,
+               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+               0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
+
+       uint8 diskbyte[0x40] = {
+               0x96, 0x97, 0x9A, 0x9B, 0x9D, 0x9E, 0x9F, 0xA6,
+               0xA7, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB2, 0xB3,
+               0xB4, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, 0xBB, 0xBC,
+               0xBD, 0xBE, 0xBF, 0xCB, 0xCD, 0xCE, 0xCF, 0xD3,
+               0xD6, 0xD7, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE,
+               0xDF, 0xE5, 0xE6, 0xE7, 0xE9, 0xEA, 0xEB, 0xEC,
+               0xED, 0xEE, 0xEF, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,
+               0xF7, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF };
+
+       uint8 * img = nybblizedImage[driveNum];
+       memset(img, 0xFF, 232960);                                      // Doesn't matter if 00s or FFs...
+
+       for(uint8 trk=0; trk<35; trk++)
+       {
+               memset(img, 0xFF, 64);                                  // Write gap 1, 64 bytes (self-sync)
+               img += 64;
+
+               for(uint8 sector=0; sector<16; sector++)
+               {
+                       memcpy(img, header, 21);                        // Set up the sector header
+
+                       img[5] = ((trk >> 1) & 0x55) | 0xAA;
+                       img[6] =  (trk       & 0x55) | 0xAA;
+                       img[7] = ((sector >> 1) & 0x55) | 0xAA;
+                       img[8] =  (sector       & 0x55) | 0xAA;
+                       img[9] = (((trk ^ sector ^ 0xFE) >> 1) & 0x55) | 0xAA;
+                       img[10] = ((trk ^ sector ^ 0xFE)       & 0x55) | 0xAA;
+
+                       img += 21;
+                       uint8 * bytes = disk[driveNum];
+
+                       if (diskType[driveNum] == DT_DOS33)
+                               bytes += (doSector[sector] * 256) + (trk * 256 * 16);
+                       else if (diskType[driveNum] == DT_PRODOS)
+                               bytes += (poSector[sector] * 256) + (trk * 256 * 16);
+                       else
+                               bytes += (sector * 256) + (trk * 256 * 16);
+
+                       // Convert the 256 8-bit bytes into 342 6-bit bytes.
+
+                       for(uint16 i=0; i<0x56; i++)
+                       {
+                               img[i] = ((bytes[(i + 0xAC) & 0xFF] & 0x01) << 7)
+                                       | ((bytes[(i + 0xAC) & 0xFF] & 0x02) << 5)
+                                       | ((bytes[(i + 0x56) & 0xFF] & 0x01) << 5)
+                                       | ((bytes[(i + 0x56) & 0xFF] & 0x02) << 3)
+                                       | ((bytes[(i + 0x00) & 0xFF] & 0x01) << 3)
+                                       | ((bytes[(i + 0x00) & 0xFF] & 0x02) << 1);
+                       }
+
+                       img[0x54] &= 0x3F;
+                       img[0x55] &= 0x3F;
+                       memcpy(img + 0x56, bytes, 256);
+
+                       // XOR the data block with itself, offset by one byte,
+                       // creating a 343rd byte which is used as a cheksum.
+
+                       img[342] = 0x00;
+
+                       for(uint16 i=342; i>0; i--)
+                               img[i] = img[i] ^ img[i - 1];
+
+                       // Using a lookup table, convert the 6-bit bytes into disk bytes.
+
+                       for(uint16 i=0; i<343; i++)
+                               img[i] = diskbyte[img[i] >> 2];
+
+                       img += 343;
+
+                       // Done with the nybblization, now for the epilogue...
+
+                       memcpy(img, footer, 48);
+                       img += 48;
+               }
+       }
+}
+
+void FloppyDrive::DenybblizeImage(uint8 driveNum)
+{
+       uint8 decodeNybble[0x80] = {
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+               0x00, 0x00, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20,
+               0x00, 0x00, 0x00, 0x24, 0x28, 0x2C, 0x30, 0x34,
+               0x00, 0x00, 0x38, 0x3C, 0x40, 0x44, 0x48, 0x4C,
+               0x00, 0x50, 0x54, 0x58, 0x5C, 0x60, 0x64, 0x68,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x6C, 0x00, 0x70, 0x74, 0x78,
+               0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x80, 0x84,
+               0x00, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9C, 0xA0,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA8, 0xAC,
+               0x00, 0xB0, 0xB4, 0xB8, 0xBC, 0xC0, 0xC4, 0xC8,
+               0x00, 0x00, 0xCC, 0xD0, 0xD4, 0xD8, 0xDC, 0xE0,
+               0x00, 0xE4, 0xE8, 0xEC, 0xF0, 0xF4, 0xF8, 0xFC };
+
+       // Sanity checks...
+       if (disk[driveNum] == NULL || diskSize[driveNum] < 143360)
+       {
+               WriteLog("FLOPPY: Source disk image invalid! [drive=%u, disk=%08X, diskSize=%u]\n",
+                       driveNum, disk[driveNum], diskSize[driveNum]);
+               return;
+       }
+
+       uint8 * srcImg = nybblizedImage[driveNum];
+       uint8 * dstImg = disk[driveNum];
+       uint8 buffer[345];                                                      // 2 extra bytes for the unpack routine below...
+
+       for(uint8 trk=0; trk<35; trk++)
+       {
+               uint8 * trackBase = srcImg + (trk * 6656);
+
+               for(uint8 sector=0; sector<16; sector++)
+               {
+                       uint16 sectorStart = (uint16)-1;
+
+                       for(uint16 i=0; i<6656; i++)
+                       {
+                               if (trackBase[i] == header[0]
+                                       && trackBase[(i + 1) % 6656] == header[1]
+                                       && trackBase[(i + 2) % 6656] == header[2]
+                                       && trackBase[(i + 3) % 6656] == header[3]
+                                       && trackBase[(i + 4) % 6656] == header[4])
+                               {
+//Could also check the track # at +5,6...
+                                       uint8 foundSector = ((trackBase[(i + 7) % 6656] & 0x55) << 1)
+                                               | (trackBase[(i + 8) % 6656] & 0x55);
+
+                                       if (foundSector == sector)
+                                       {
+                                               sectorStart = (i + 21) % 6656;
+                                               break;
+                                       }
+                               }
+                       }
+
+                       // Sanity check...
+                       if (sectorStart == (uint16)-1)
+                       {
+                               WriteLog("FLOPPY: Failed to find sector %u (track %u) in nybble image!\n",
+                                       sector, trk);
+                               return;
+                       }
+
+                       // Using a lookup table, convert the disk bytes into 6-bit bytes.
+
+                       for(uint16 i=0; i<343; i++)
+                               buffer[i] = decodeNybble[trackBase[(sectorStart + i) % 6656] & 0x7F];
+
+                       // XOR the data block with itself, offset by one byte.
+
+                       for(uint16 i=1; i<342; i++)
+                               buffer[i] = buffer[i] ^ buffer[i - 1];
+
+                       // Convert the 342 6-bit bytes into 256 8-bit bytes (at buffer + $56).
+
+                       for(uint16 i=0; i<0x56; i++)
+                       {
+                               buffer[0x056 + i] |= ((buffer[i] >> 3) & 0x01) | ((buffer[i] >> 1) & 0x02);
+                               buffer[0x0AC + i] |= ((buffer[i] >> 5) & 0x01) | ((buffer[i] >> 3) & 0x02);
+                               buffer[0x102 + i] |= ((buffer[i] >> 7) & 0x01) | ((buffer[i] >> 5) & 0x02);
+                       }
+
+                       uint8 * bytes = dstImg;
+
+                       if (diskType[driveNum] == DT_DOS33)
+                               bytes += (doSector[sector] * 256) + (trk * 256 * 16);
+                       else if (diskType[driveNum] == DT_PRODOS)
+                               bytes += (poSector[sector] * 256) + (trk * 256 * 16);
+                       else
+                               bytes += (sector * 256) + (trk * 256 * 16);//*/
+
+                       memcpy(bytes, buffer + 0x56, 256);
+               }
+       }
+}
+
+// Memory mapped I/O functions
+
+/*
+The DSK format is a byte-for-byte image of a 16-sector Apple II floppy disk: 35 tracks of 16
+sectors of 256 bytes each, making 143,360 bytes in total. The PO format is exactly the same
+size as DSK and is also organized as 35 sequential tracks, but the sectors within each track
+are in a different sequence. The NIB format is a nybblized format: a more direct representation
+of the disk's data as encoded by the Apple II floppy drive hardware. NIB contains 35 tracks of
+6656 bytes each, for a total size of 232,960 bytes. Although this format is much larger, it is
+also more versatile and can represent the older 13-sector disks, many copy-protected disks, and
+other unusual encodings.
+*/
+
+void FloppyDrive::ControlStepper(uint8 addr)
+{
+       // $C0E0 - 7
+/*
+What I can gather here:
+bits 1-2 are the "phase" of the track (which is 1/4 of a full track (?))
+bit 0 is the "do something" bit.
+*/
+       if (addr & 0x01)
+       {
+               uint8 newPhase = (addr >> 1) & 0x03;
+//WriteLog("*** Stepper change [%u]: track = %u, phase = %u, newPhase = %u\n", addr, track, phase, newPhase);
+
+               if (((phase + 1) & 0x03) == newPhase)
+                       phase += (phase < 79 ? 1 : 0);
+
+               if (((phase - 1) & 0x03) == newPhase)
+                       phase -= (phase > 0 ? 1 : 0);
+
+               if (!(phase & 0x01))
+               {
+                       track = ((phase >> 1) < 35 ? phase >> 1 : 34);
+                       currentPos = 0;
+               }
+//WriteLog("                        track = %u, phase = %u, newPhase = %u\n", track, phase, newPhase);
+SpawnMessage("Stepping to track %u...", track);
+       }
+
+//     return something if read mode...        
+}
+
+void FloppyDrive::ControlMotor(uint8 addr)
+{
+       // $C0E8 - 9
+       motorOn = addr;
+}
+
+void FloppyDrive::DriveEnable(uint8 addr)
+{
+       // $C0EA - B
+       activeDrive = addr;
+}
+
+uint8 FloppyDrive::ReadWrite(void)
+{
+SpawnMessage("%sing %s track %u, sector %u...", (ioMode == IO_MODE_READ ? "Read" : "Write"),
+       (ioMode == IO_MODE_READ ? "from" : "to"), track, currentPos / 396);
+       // $C0EC
+/*
+I think what happens here is that once a track is read its nybblized form
+is fed through here, one byte at a time--which means for DO disks, we have
+to convert the actual 256 byte sector to a 416 byte nybblized data "sector".
+Which we now do. :-)
+*/
+       if (ioMode == IO_MODE_WRITE && (latchValue & 0x80))
+       {
+               nybblizedImage[activeDrive][(track * 6656) + currentPos] = latchValue;
+               imageDirty[activeDrive] = true;
+       }
+
+       uint8 diskByte = nybblizedImage[activeDrive][(track * 6656) + currentPos];
+       currentPos = (currentPos + 1) % 6656;
+
+       return diskByte;
+}
+
+uint8 FloppyDrive::GetLatchValue(void)
+{
+       // $C0ED
+       return latchValue;
+}
+
+void FloppyDrive::SetLatchValue(uint8 value)
+{
+       // $C0ED
+       latchValue = value;
+}
+
+void FloppyDrive::SetReadMode(void)
+{
+       // $C0EE
+       ioMode = IO_MODE_READ;
+}
+
+void FloppyDrive::SetWriteMode(void)
+{
+       // $C0EF
+       ioMode = IO_MODE_WRITE;
+}
index 45e8ce41000530afb21edefac27f3748b92afd03..d0207ca8fb3d26ee66ad7a26418b8215bb361182 100755 (executable)
@@ -1,69 +1,69 @@
-//\r
-// Apple 2 floppy disk support\r
-//\r
-\r
-#ifndef __FLOPPY_H__\r
-#define __FLOPPY_H__\r
-\r
-// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...\r
-#ifdef __GCCUNIX__\r
-#include <limits.h>\r
-#define MAX_PATH               _POSIX_PATH_MAX\r
-#else\r
-#include <stdlib.h>                                                            // for MAX_PATH on MinGW/Darwin\r
-#endif\r
-#include "types.h"\r
-\r
-enum { DT_UNKNOWN, DT_DOS33, DT_PRODOS, DT_NYBBLE };\r
-\r
-class FloppyDrive\r
-{\r
-       public:\r
-               FloppyDrive();\r
-               ~FloppyDrive();\r
-\r
-               bool LoadImage(const char * filename, uint8 driveNum = 0);\r
-               bool SaveImage(uint8 driveNum = 0);\r
-               bool SaveImageAs(const char * filename, uint8 driveNum = 0);\r
-               void CreateBlankImage(uint8 driveNum = 0);\r
-               void SwapImages(void);\r
-\r
-               // I/O functions ($C0Ex accesses)\r
-\r
-               void ControlStepper(uint8 addr);\r
-               void ControlMotor(uint8 addr);\r
-               void DriveEnable(uint8 addr);\r
-               uint8 ReadWrite(void);\r
-               uint8 GetLatchValue(void);\r
-               void SetLatchValue(uint8 value);\r
-               void SetReadMode(void);\r
-               void SetWriteMode(void);\r
-\r
-       protected:\r
-               void DetectImageType(const char * filename, uint8 driveNum);\r
-               void NybblizeImage(uint8 driveNum);\r
-               void DenybblizeImage(uint8 driveNum);\r
-\r
-       private:\r
-               char imageName[2][MAX_PATH];\r
-               uint8 * disk[2];\r
-               uint32 diskSize[2];\r
-               uint8 diskType[2];\r
-               bool imageDirty[2];\r
-               uint8 motorOn;\r
-               uint8 activeDrive;\r
-               uint8 ioMode;\r
-               uint8 latchValue;\r
-               uint8 phase;\r
-               uint8 track;\r
-\r
-               uint8 nybblizedImage[2][232960];\r
-               uint32 currentPos;\r
-\r
-               // And here are some private class variables (to reduce function redundancy):\r
-               static uint8 header[21];\r
-               static uint8 doSector[16];\r
-               static uint8 poSector[16];\r
-};\r
-\r
-#endif // __FLOPPY_H__\r
+//
+// Apple 2 floppy disk support
+//
+
+#ifndef __FLOPPY_H__
+#define __FLOPPY_H__
+
+// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...
+#ifdef __GCCUNIX__
+#include <limits.h>
+#define MAX_PATH               _POSIX_PATH_MAX
+#else
+#include <stdlib.h>                                                            // for MAX_PATH on MinGW/Darwin
+#endif
+#include "types.h"
+
+enum { DT_UNKNOWN, DT_DOS33, DT_PRODOS, DT_NYBBLE };
+
+class FloppyDrive
+{
+       public:
+               FloppyDrive();
+               ~FloppyDrive();
+
+               bool LoadImage(const char * filename, uint8 driveNum = 0);
+               bool SaveImage(uint8 driveNum = 0);
+               bool SaveImageAs(const char * filename, uint8 driveNum = 0);
+               void CreateBlankImage(uint8 driveNum = 0);
+               void SwapImages(void);
+
+               // I/O functions ($C0Ex accesses)
+
+               void ControlStepper(uint8 addr);
+               void ControlMotor(uint8 addr);
+               void DriveEnable(uint8 addr);
+               uint8 ReadWrite(void);
+               uint8 GetLatchValue(void);
+               void SetLatchValue(uint8 value);
+               void SetReadMode(void);
+               void SetWriteMode(void);
+
+       protected:
+               void DetectImageType(const char * filename, uint8 driveNum);
+               void NybblizeImage(uint8 driveNum);
+               void DenybblizeImage(uint8 driveNum);
+
+       private:
+               char imageName[2][MAX_PATH];
+               uint8 * disk[2];
+               uint32 diskSize[2];
+               uint8 diskType[2];
+               bool imageDirty[2];
+               uint8 motorOn;
+               uint8 activeDrive;
+               uint8 ioMode;
+               uint8 latchValue;
+               uint8 phase;
+               uint8 track;
+
+               uint8 nybblizedImage[2][232960];
+               uint32 currentPos;
+
+               // And here are some private class variables (to reduce function redundancy):
+               static uint8 header[21];
+               static uint8 doSector[16];
+               static uint8 poSector[16];
+};
+
+#endif // __FLOPPY_H__
index e2c669334226489452be8117069c90a8986082cd..c91e6191517532886fe929377c6d27df4894149d 100755 (executable)
@@ -1,38 +1,38 @@
-//\r
-// This file was automagically generated by raw2c (by James L. Hammons)\r
-//\r
-\r
-char icon[0x1000] = {\r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  \r
-};\r
+//
+// This file was automagically generated by raw2c (by James L. Hammons)
+//
+
+char icon[0x1000] = {
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0xFF, 0xFF, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0xFF, 0x99, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0xFF, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x80, 0x00, 0x80, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0xFF, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x00, 0x00, 0x00, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+       0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x86, 0x86, 0x86, 0xFF,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,  
+};
index 98c6658d0835cab46464f7f3369ac7dcd2ee7395..76055665f247cea49ba1d1a78891f9d699f5727e 100755 (executable)
@@ -1,65 +1,65 @@
-//\r
-// Log handler\r
-//\r
-// by James L. Hammons\r
-// (C) 2006 Underground Software\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  01/03/2006  Moved includes out of header file for faster compilation\r
-//\r
-\r
-#include "log.h"\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <stdarg.h>\r
-#include "types.h"\r
-\r
-#define MAX_LOG_SIZE           10000000                                // Maximum size of log file (10 MB)\r
-\r
-static FILE * log_stream = NULL;\r
-static uint32 logSize = 0;\r
-\r
-bool InitLog(char * path)\r
-{\r
-       log_stream = fopen(path, "wrt");\r
-\r
-       if (log_stream == NULL)\r
-               return false;\r
-\r
-       return true;\r
-}\r
-\r
-void LogDone(void)\r
-{\r
-       if (log_stream)\r
-               fclose(log_stream);\r
-}\r
-\r
-//\r
-// This logger is used mainly to ensure that text gets written to the log file\r
-// even if the program crashes. The performance hit is acceptable in this case!\r
-//\r
-void WriteLog(const char * text, ...)\r
-{\r
-       if (!log_stream)\r
-               return;\r
-\r
-       va_list arg;\r
-\r
-       va_start(arg, text);\r
-       logSize += vfprintf(log_stream, text, arg);\r
-\r
-       if (logSize > MAX_LOG_SIZE)\r
-       {\r
-               fflush(log_stream);\r
-               fclose(log_stream);\r
-               exit(1);\r
-       }//*/\r
-\r
-       va_end(arg);\r
-       fflush(log_stream);                                     // Make sure that text is written!\r
-}\r
+//
+// Log handler
+//
+// by James L. Hammons
+// (C) 2006 Underground Software
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  01/03/2006  Moved includes out of header file for faster compilation
+//
+
+#include "log.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include "types.h"
+
+#define MAX_LOG_SIZE           10000000                                // Maximum size of log file (10 MB)
+
+static FILE * log_stream = NULL;
+static uint32 logSize = 0;
+
+bool InitLog(char * path)
+{
+       log_stream = fopen(path, "wrt");
+
+       if (log_stream == NULL)
+               return false;
+
+       return true;
+}
+
+void LogDone(void)
+{
+       if (log_stream)
+               fclose(log_stream);
+}
+
+//
+// This logger is used mainly to ensure that text gets written to the log file
+// even if the program crashes. The performance hit is acceptable in this case!
+//
+void WriteLog(const char * text, ...)
+{
+       if (!log_stream)
+               return;
+
+       va_list arg;
+
+       va_start(arg, text);
+       logSize += vfprintf(log_stream, text, arg);
+
+       if (logSize > MAX_LOG_SIZE)
+       {
+               fflush(log_stream);
+               fclose(log_stream);
+               exit(1);
+       }//*/
+
+       va_end(arg);
+       fflush(log_stream);                                     // Make sure that text is written!
+}
index 8c12fcbd3f3a260e90a90f956e02b8f309120167..7e9396e2df0230bd889377cb751283a3ec2eea18 100755 (executable)
--- a/src/log.h
+++ b/src/log.h
@@ -1,22 +1,22 @@
-//\r
-// LOG.H\r
-//\r
-\r
-#ifndef __LOG_H__\r
-#define __LOG_H__\r
-\r
-// Make this header work with either C or C++\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-bool InitLog(char *);\r
-void LogDone(void);\r
-void WriteLog(const char * text, ...);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif // __LOG_H__\r
+//
+// LOG.H
+//
+
+#ifndef __LOG_H__
+#define __LOG_H__
+
+// Make this header work with either C or C++
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+bool InitLog(char *);
+void LogDone(void);
+void WriteLog(const char * text, ...);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __LOG_H__
index 8dfbcb3c5370ee841fafc85a36ca24b6c4040e82..ab7802b8adb4ba9d84518ab3cca2d4db28af3881 100755 (executable)
-//\r
-// Sound Interface\r
-//\r
-// by James L. Hammons\r
-// (C) 2005 Underground Software\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  12/02/2005  Fixed a problem with sound callback thread signaling the\r
-//                  main thread\r
-// JLH  12/03/2005  Fixed sound callback dropping samples when the sample buffer\r
-//                  is shorter than the callback sample buffer\r
-//\r
-\r
-// STILL TO DO:\r
-//\r
-// - Figure out why it's losing samples (Bard's Tale) [DONE]\r
-//\r
-\r
-#include "sound.h"\r
-\r
-#include <string.h>                                                            // For memset, memcpy\r
-#include <SDL.h>\r
-#include "log.h"\r
-\r
-using namespace std;\r
-\r
-// Global variables\r
-\r
-\r
-// Local variables\r
-\r
-static SDL_AudioSpec desired;\r
-static bool soundInitialized = false;\r
-static uint8 amplitude = 0x88;                                 // $78 - $88 seems to be plenty loud!\r
-//static uint8 lastValue;\r
-\r
-static bool speakerState;\r
-static uint8 soundBuffer[4096];\r
-static uint32 soundBufferPos;\r
-static uint32 sampleBase;\r
-static SDL_cond * conditional = NULL;\r
-static SDL_mutex * mutex = NULL;\r
-\r
-// Private function prototypes\r
-\r
-static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length);\r
-\r
-//\r
-// Initialize the SDL sound system\r
-//\r
-void SoundInit(void)\r
-{\r
-// To weed out problems for now...\r
-#if 0\r
-return;\r
-#endif\r
-\r
-       desired.freq = 44100;                                           // SDL will do conversion on the fly, if it can't get the exact rate. Nice!\r
-       desired.format = AUDIO_U8;                                      // This uses the native endian (for portability)...\r
-       desired.channels = 1;\r
-//     desired.samples = 4096;                                         // Let's try a 4K buffer (can always go lower)\r
-       desired.samples = 2048;                                         // Let's try a 2K buffer (can always go lower)\r
-       desired.callback = SDLSoundCallback;\r
-\r
-       if (SDL_OpenAudio(&desired, NULL) < 0)          // NULL means SDL guarantees what we want\r
-       {\r
-               WriteLog("Sound: Failed to initialize SDL sound.\n");\r
-//             exit(1);\r
-               return;\r
-       }\r
-\r
-       conditional = SDL_CreateCond();\r
-       mutex = SDL_CreateMutex();\r
-       SDL_mutexP(mutex);                                                      // Must lock the mutex for the cond to work properly...\r
-//     lastValue = (speakerState ? amplitude : 0xFF - amplitude);\r
-       soundBufferPos = 0;\r
-       sampleBase = 0;\r
-\r
-       SDL_PauseAudio(false);                                          // Start playback!\r
-       soundInitialized = true;\r
-       WriteLog("Sound: Successfully initialized.\n");\r
-}\r
-\r
-//\r
-// Close down the SDL sound subsystem\r
-//\r
-void SoundDone(void)\r
-{\r
-       if (soundInitialized)\r
-       {\r
-               SDL_PauseAudio(true);\r
-               SDL_CloseAudio();\r
-               SDL_DestroyCond(conditional);\r
-               SDL_DestroyMutex(mutex);\r
-               WriteLog("Sound: Done.\n");\r
-       }\r
-}\r
-\r
-//\r
-// Sound card callback handler\r
-//\r
-static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length)\r
-{\r
-       // The sound buffer should only starve when starting which will cause it to\r
-       // lag behind the emulation at most by around 1 frame...\r
-\r
-       if (soundBufferPos < (uint32)length)            // The sound buffer is starved...\r
-       {\r
-//printf("Sound buffer starved!\n");\r
-//fflush(stdout);\r
-               for(uint32 i=0; i<soundBufferPos; i++)\r
-                       buffer[i] = soundBuffer[i];\r
-               // Fill buffer with last value\r
-               uint8 lastValue = (speakerState ? amplitude : 0xFF - amplitude);\r
-//             uint8 lastValue = (speakerState ? amplitude : amplitude ^ 0xFF);\r
-//             memset(buffer, lastValue, length);              // Fill buffer with last value\r
-               memset(buffer + soundBufferPos, lastValue, length - soundBufferPos);\r
-               soundBufferPos = 0;                                             // Reset soundBufferPos to start of buffer...\r
-               sampleBase = 0;                                                 // & sampleBase...\r
-//Ick. This should never happen!\r
-SDL_CondSignal(conditional);                           // Wake up any threads waiting for the buffer to drain...\r
-               return;                                                                 // & bail!\r
-       }\r
-\r
-       memcpy(buffer, soundBuffer, length);            // Fill sound buffer with frame buffered sound\r
-       soundBufferPos -= length;\r
-       sampleBase -= length;\r
-\r
-//     if (soundBufferPos > 0)\r
-//             memcpy(soundBuffer, soundBuffer + length, soundBufferPos);      // Move current buffer down to start\r
-//     memcpy(soundBuffer, soundBuffer + length, length);\r
-       // Move current buffer down to start\r
-       for(uint32 i=0; i<soundBufferPos; i++)\r
-               soundBuffer[i] = soundBuffer[length + i];\r
-\r
-//     lastValue = buffer[length - 1];\r
-       SDL_CondSignal(conditional);                            // Wake up any threads waiting for the buffer to drain...\r
-}\r
-\r
-// Need some interface functions here to take care of flipping the\r
-// waveform at the correct time in the sound stream...\r
-\r
-/*\r
-Maybe set up a buffer 1 frame long (44100 / 60 = 735 bytes per frame)\r
-\r
-Hmm. That's smaller than the sound buffer 2048 bytes... (About 2.75 frames needed to fill)\r
-\r
-So... I guess what we could do is this:\r
-\r
--- Execute V65C02 for one frame. The read/writes at I/O address $C030 fill up the buffer\r
-   to the current time position.\r
--- The sound callback function copies the pertinent area out of the buffer, resets\r
-   the time position back (or copies data down from what it took out)\r
-*/\r
-\r
-void ToggleSpeaker(uint32 time)\r
-{\r
-       if (!soundInitialized)\r
-               return;\r
-\r
-#if 0\r
-if (time > 95085)//(time & 0x80000000)\r
-{\r
-       WriteLog("ToggleSpeaker() given bad time value: %08X (%u)!\n", time, time);\r
-//     fflush(stdout);\r
-}\r
-#endif\r
-\r
-// 1.024 MHz / 60 = 17066.6... cycles (23.2199 cycles per sample)\r
-// Need the last frame position in order to calculate correctly...\r
-\r
-       SDL_LockAudio();\r
-       uint8 sample = (speakerState ? amplitude : 0xFF - amplitude);\r
-//     uint8 sample = (speakerState ? amplitude : amplitude ^ 0xFF);\r
-       uint32 currentPos = sampleBase + (uint32)((double)time / 23.2199);\r
-\r
-       if (currentPos > 4095)\r
-       {\r
-#if 0\r
-WriteLog("ToggleSpeaker() about to go into spinlock at time: %08X (%u) (sampleBase=%u)!\n", time, time, sampleBase);\r
-#endif\r
-// Still hanging on this spinlock...\r
-// That could be because the "time" value is too high and so the buffer will NEVER be\r
-// empty enough...\r
-// Now that we're using a conditional, it seems to be working OK--though not perfectly...\r
-/*\r
-ToggleSpeaker() about to go into spinlock at time: 00004011 (16401) (sampleBase=3504)!\r
-16401 -> 706 samples, 3504 + 706 = 4210\r
-\r
-And it still thrashed the sound even though it didn't run into a spinlock...\r
-\r
-Seems like it's OK now that I've fixed the buffer-less-than-length bug...\r
-*/\r
-               SDL_UnlockAudio();\r
-               SDL_CondWait(conditional, mutex);\r
-\r
-//             while (currentPos > 4095)                               // Spin until buffer empties a bit...\r
-               currentPos = sampleBase + (uint32)((double)time / 23.2199);\r
-               SDL_LockAudio();\r
-#if 0\r
-WriteLog("--> after spinlock (sampleBase=%u)...\n", sampleBase);\r
-#endif\r
-       }\r
-\r
-       while (soundBufferPos < currentPos)\r
-               soundBuffer[soundBufferPos++] = sample;\r
-\r
-       speakerState = !speakerState;\r
-       SDL_UnlockAudio();\r
-}\r
-\r
-void HandleSoundAtFrameEdge(void)\r
-{\r
-       if (!soundInitialized)\r
-               return;\r
-\r
-       SDL_LockAudio();\r
-       sampleBase += 735;\r
-       SDL_UnlockAudio();\r
-/*     uint8 sample = (speakerState ? amplitude : 0xFF - amplitude);\r
-\r
-//This shouldn't happen (buffer overflow), but it seems like it *is* happening...\r
-       if (sampleBase >= 4096)\r
-//             sampleBase = 4095;\r
-//Kludge, for now... Until I can figure out why it's still stomping on the buffer...\r
-               sampleBase = 0;\r
-\r
-       while (soundBufferPos < sampleBase)\r
-               soundBuffer[soundBufferPos++] = sample;//*/\r
-}\r
+//
+// Sound Interface
+//
+// by James L. Hammons
+// (C) 2005 Underground Software
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  12/02/2005  Fixed a problem with sound callback thread signaling the
+//                  main thread
+// JLH  12/03/2005  Fixed sound callback dropping samples when the sample buffer
+//                  is shorter than the callback sample buffer
+//
+
+// STILL TO DO:
+//
+// - Figure out why it's losing samples (Bard's Tale) [DONE]
+//
+
+#include "sound.h"
+
+#include <string.h>                                                            // For memset, memcpy
+#include <SDL.h>
+#include "log.h"
+
+using namespace std;
+
+// Global variables
+
+
+// Local variables
+
+static SDL_AudioSpec desired;
+static bool soundInitialized = false;
+static uint8 amplitude = 0x88;                                 // $78 - $88 seems to be plenty loud!
+//static uint8 lastValue;
+
+static bool speakerState;
+static uint8 soundBuffer[4096];
+static uint32 soundBufferPos;
+static uint32 sampleBase;
+static SDL_cond * conditional = NULL;
+static SDL_mutex * mutex = NULL;
+
+// Private function prototypes
+
+static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length);
+
+//
+// Initialize the SDL sound system
+//
+void SoundInit(void)
+{
+// To weed out problems for now...
+#if 0
+return;
+#endif
+
+       desired.freq = 44100;                                           // SDL will do conversion on the fly, if it can't get the exact rate. Nice!
+       desired.format = AUDIO_U8;                                      // This uses the native endian (for portability)...
+       desired.channels = 1;
+//     desired.samples = 4096;                                         // Let's try a 4K buffer (can always go lower)
+       desired.samples = 2048;                                         // Let's try a 2K buffer (can always go lower)
+       desired.callback = SDLSoundCallback;
+
+       if (SDL_OpenAudio(&desired, NULL) < 0)          // NULL means SDL guarantees what we want
+       {
+               WriteLog("Sound: Failed to initialize SDL sound.\n");
+//             exit(1);
+               return;
+       }
+
+       conditional = SDL_CreateCond();
+       mutex = SDL_CreateMutex();
+       SDL_mutexP(mutex);                                                      // Must lock the mutex for the cond to work properly...
+//     lastValue = (speakerState ? amplitude : 0xFF - amplitude);
+       soundBufferPos = 0;
+       sampleBase = 0;
+
+       SDL_PauseAudio(false);                                          // Start playback!
+       soundInitialized = true;
+       WriteLog("Sound: Successfully initialized.\n");
+}
+
+//
+// Close down the SDL sound subsystem
+//
+void SoundDone(void)
+{
+       if (soundInitialized)
+       {
+               SDL_PauseAudio(true);
+               SDL_CloseAudio();
+               SDL_DestroyCond(conditional);
+               SDL_DestroyMutex(mutex);
+               WriteLog("Sound: Done.\n");
+       }
+}
+
+//
+// Sound card callback handler
+//
+static void SDLSoundCallback(void * userdata, Uint8 * buffer, int length)
+{
+       // The sound buffer should only starve when starting which will cause it to
+       // lag behind the emulation at most by around 1 frame...
+
+       if (soundBufferPos < (uint32)length)            // The sound buffer is starved...
+       {
+//printf("Sound buffer starved!\n");
+//fflush(stdout);
+               for(uint32 i=0; i<soundBufferPos; i++)
+                       buffer[i] = soundBuffer[i];
+               // Fill buffer with last value
+               uint8 lastValue = (speakerState ? amplitude : 0xFF - amplitude);
+//             uint8 lastValue = (speakerState ? amplitude : amplitude ^ 0xFF);
+//             memset(buffer, lastValue, length);              // Fill buffer with last value
+               memset(buffer + soundBufferPos, lastValue, length - soundBufferPos);
+               soundBufferPos = 0;                                             // Reset soundBufferPos to start of buffer...
+               sampleBase = 0;                                                 // & sampleBase...
+//Ick. This should never happen!
+SDL_CondSignal(conditional);                           // Wake up any threads waiting for the buffer to drain...
+               return;                                                                 // & bail!
+       }
+
+       memcpy(buffer, soundBuffer, length);            // Fill sound buffer with frame buffered sound
+       soundBufferPos -= length;
+       sampleBase -= length;
+
+//     if (soundBufferPos > 0)
+//             memcpy(soundBuffer, soundBuffer + length, soundBufferPos);      // Move current buffer down to start
+//     memcpy(soundBuffer, soundBuffer + length, length);
+       // Move current buffer down to start
+       for(uint32 i=0; i<soundBufferPos; i++)
+               soundBuffer[i] = soundBuffer[length + i];
+
+//     lastValue = buffer[length - 1];
+       SDL_CondSignal(conditional);                            // Wake up any threads waiting for the buffer to drain...
+}
+
+// Need some interface functions here to take care of flipping the
+// waveform at the correct time in the sound stream...
+
+/*
+Maybe set up a buffer 1 frame long (44100 / 60 = 735 bytes per frame)
+
+Hmm. That's smaller than the sound buffer 2048 bytes... (About 2.75 frames needed to fill)
+
+So... I guess what we could do is this:
+
+-- Execute V65C02 for one frame. The read/writes at I/O address $C030 fill up the buffer
+   to the current time position.
+-- The sound callback function copies the pertinent area out of the buffer, resets
+   the time position back (or copies data down from what it took out)
+*/
+
+void ToggleSpeaker(uint32 time)
+{
+       if (!soundInitialized)
+               return;
+
+#if 0
+if (time > 95085)//(time & 0x80000000)
+{
+       WriteLog("ToggleSpeaker() given bad time value: %08X (%u)!\n", time, time);
+//     fflush(stdout);
+}
+#endif
+
+// 1.024 MHz / 60 = 17066.6... cycles (23.2199 cycles per sample)
+// Need the last frame position in order to calculate correctly...
+
+       SDL_LockAudio();
+       uint8 sample = (speakerState ? amplitude : 0xFF - amplitude);
+//     uint8 sample = (speakerState ? amplitude : amplitude ^ 0xFF);
+       uint32 currentPos = sampleBase + (uint32)((double)time / 23.2199);
+
+       if (currentPos > 4095)
+       {
+#if 0
+WriteLog("ToggleSpeaker() about to go into spinlock at time: %08X (%u) (sampleBase=%u)!\n", time, time, sampleBase);
+#endif
+// Still hanging on this spinlock...
+// That could be because the "time" value is too high and so the buffer will NEVER be
+// empty enough...
+// Now that we're using a conditional, it seems to be working OK--though not perfectly...
+/*
+ToggleSpeaker() about to go into spinlock at time: 00004011 (16401) (sampleBase=3504)!
+16401 -> 706 samples, 3504 + 706 = 4210
+
+And it still thrashed the sound even though it didn't run into a spinlock...
+
+Seems like it's OK now that I've fixed the buffer-less-than-length bug...
+*/
+               SDL_UnlockAudio();
+               SDL_CondWait(conditional, mutex);
+
+//             while (currentPos > 4095)                               // Spin until buffer empties a bit...
+               currentPos = sampleBase + (uint32)((double)time / 23.2199);
+               SDL_LockAudio();
+#if 0
+WriteLog("--> after spinlock (sampleBase=%u)...\n", sampleBase);
+#endif
+       }
+
+       while (soundBufferPos < currentPos)
+               soundBuffer[soundBufferPos++] = sample;
+
+       speakerState = !speakerState;
+       SDL_UnlockAudio();
+}
+
+void HandleSoundAtFrameEdge(void)
+{
+       if (!soundInitialized)
+               return;
+
+       SDL_LockAudio();
+       sampleBase += 735;
+       SDL_UnlockAudio();
+/*     uint8 sample = (speakerState ? amplitude : 0xFF - amplitude);
+
+//This shouldn't happen (buffer overflow), but it seems like it *is* happening...
+       if (sampleBase >= 4096)
+//             sampleBase = 4095;
+//Kludge, for now... Until I can figure out why it's still stomping on the buffer...
+               sampleBase = 0;
+
+       while (soundBufferPos < sampleBase)
+               soundBuffer[soundBufferPos++] = sample;//*/
+}
index 85dcf4d8ab62eb8f44ec0eaa31faa266e9d01322..979b615b00cb4f0f50c849716d5dc98d2349b572 100755 (executable)
@@ -1,23 +1,23 @@
-//\r
-// SOUND.H\r
-//\r
-// by James L. Hammons\r
-// (C) 2004 Underground Software\r
-//\r
-\r
-#ifndef __SOUND_H__\r
-#define __SOUND_H__\r
-\r
-#include "types.h"\r
-\r
-// Global variables (exported)\r
-\r
-\r
-// Functions\r
-\r
-void SoundInit(void);\r
-void SoundDone(void);\r
-void ToggleSpeaker(uint32 time);\r
-void HandleSoundAtFrameEdge(void);\r
-\r
-#endif // __SOUND_H__\r
+//
+// SOUND.H
+//
+// by James L. Hammons
+// (C) 2004 Underground Software
+//
+
+#ifndef __SOUND_H__
+#define __SOUND_H__
+
+#include "types.h"
+
+// Global variables (exported)
+
+
+// Functions
+
+void SoundInit(void);
+void SoundDone(void);
+void ToggleSpeaker(uint32 time);
+void HandleSoundAtFrameEdge(void);
+
+#endif // __SOUND_H__
index 1538f5321195ce145837247205f744d10d618731..a98c16f7b677dc3e9692384b491967c40bce6d8e 100755 (executable)
-//\r
-// Virtual 65C02 Emulator v1.0\r
-//\r
-// by James L. Hammons\r
-// (c) 2005 Underground Software\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  01/04/2006  Added changelog ;-)\r
-//\r
-\r
-//OK, the wraparound bug exists in both the Apple and Atari versions of Ultima II.\r
-//However, the Atari version *does* occassionally pick strength while the Apple\r
-//versions do not--which would seem to indicate a bug either in the RNG algorithm,\r
-//the 65C02 core, or the Apple hardware. Need to investigate all three!\r
-\r
-#define __DEBUG__\r
-//#define __DEBUGMON__\r
-\r
-#include "v65c02.h"\r
-\r
-#ifdef __DEBUG__\r
-#include "dis65c02.h"\r
-#include "log.h"\r
-#endif\r
-\r
-// Various macros\r
-\r
-#define CLR_Z                          (regs.cc &= ~FLAG_Z)\r
-#define CLR_ZN                         (regs.cc &= ~(FLAG_Z | FLAG_N))\r
-#define CLR_ZNC                                (regs.cc &= ~(FLAG_Z | FLAG_N | FLAG_C))\r
-#define CLR_V                          (regs.cc &= ~FLAG_V)\r
-#define CLR_N                          (regs.cc &= ~FLAG_N)\r
-#define SET_Z(r)                       (regs.cc = ((r) == 0 ? regs.cc | FLAG_Z : regs.cc & ~FLAG_Z))\r
-#define SET_N(r)                       (regs.cc = ((r) & 0x80 ? regs.cc | FLAG_N : regs.cc & ~FLAG_N))\r
-\r
-//Not sure that this code is computing the carry correctly... Investigate! [Seems to be]\r
-#define SET_C_ADD(a,b)         (regs.cc = ((uint8)(b) > (uint8)(~(a)) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))\r
-//#define SET_C_SUB(a,b)               (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))\r
-#define SET_C_CMP(a,b)         (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))\r
-#define SET_ZN(r)                      SET_N(r); SET_Z(r)\r
-#define SET_ZNC_ADD(a,b,r)     SET_N(r); SET_Z(r); SET_C_ADD(a,b)\r
-//#define SET_ZNC_SUB(a,b,r)   SET_N(r); SET_Z(r); SET_C_SUB(a,b)\r
-#define SET_ZNC_CMP(a,b,r)     SET_N(r); SET_Z(r); SET_C_CMP(a,b)\r
-\r
-//Small problem with the EA_ macros: ABS macros don't increment the PC!!! !!! FIX !!!\r
-#define EA_IMM                         regs.pc++\r
-#define EA_ZP                          regs.RdMem(regs.pc++)\r
-#define EA_ZP_X                                (regs.RdMem(regs.pc++) + regs.x) & 0xFF\r
-#define EA_ZP_Y                                (regs.RdMem(regs.pc++) + regs.y) & 0xFF\r
-#define EA_ABS                         RdMemW(regs.pc)\r
-#define EA_ABS_X                       RdMemW(regs.pc) + regs.x\r
-#define EA_ABS_Y                       RdMemW(regs.pc) + regs.y\r
-#define EA_IND_ZP_X                    RdMemW((regs.RdMem(regs.pc++) + regs.x) & 0xFF)\r
-#define EA_IND_ZP_Y                    RdMemW(regs.RdMem(regs.pc++)) + regs.y\r
-#define EA_IND_ZP                      RdMemW(regs.RdMem(regs.pc++))\r
-\r
-#define READ_IMM                       regs.RdMem(EA_IMM)\r
-#define READ_ZP                                regs.RdMem(EA_ZP)\r
-#define READ_ZP_X                      regs.RdMem(EA_ZP_X)\r
-#define READ_ZP_Y                      regs.RdMem(EA_ZP_Y)\r
-#define READ_ABS                       regs.RdMem(EA_ABS);     regs.pc += 2\r
-#define READ_ABS_X                     regs.RdMem(EA_ABS_X);   regs.pc += 2\r
-#define READ_ABS_Y                     regs.RdMem(EA_ABS_Y);   regs.pc += 2\r
-#define READ_IND_ZP_X          regs.RdMem(EA_IND_ZP_X)\r
-#define READ_IND_ZP_Y          regs.RdMem(EA_IND_ZP_Y)\r
-#define READ_IND_ZP                    regs.RdMem(EA_IND_ZP)\r
-\r
-#define READ_IMM_WB(v)         uint16 addr = EA_IMM;      v = regs.RdMem(addr)\r
-#define READ_ZP_WB(v)          uint16 addr = EA_ZP;       v = regs.RdMem(addr)\r
-#define READ_ZP_X_WB(v)                uint16 addr = EA_ZP_X;     v = regs.RdMem(addr)\r
-#define READ_ABS_WB(v)         uint16 addr = EA_ABS;      v = regs.RdMem(addr); regs.pc += 2\r
-#define READ_ABS_X_WB(v)       uint16 addr = EA_ABS_X;    v = regs.RdMem(addr); regs.pc += 2\r
-#define READ_ABS_Y_WB(v)       uint16 addr = EA_ABS_Y;    v = regs.RdMem(addr); regs.pc += 2\r
-#define READ_IND_ZP_X_WB(v)    uint16 addr = EA_IND_ZP_X; v = regs.RdMem(addr)\r
-#define READ_IND_ZP_Y_WB(v)    uint16 addr = EA_IND_ZP_Y; v = regs.RdMem(addr)\r
-#define READ_IND_ZP_WB(v)      uint16 addr = EA_IND_ZP;   v = regs.RdMem(addr)\r
-\r
-#define WRITE_BACK(d)          regs.WrMem(addr, (d))\r
-\r
-// Private global variables\r
-\r
-static V65C02REGS regs;\r
-\r
-//This is probably incorrect, at least WRT to the $x7 and $xF opcodes... !!! FIX !!!\r
-//Also this doesn't take into account the extra cycle it takes when an indirect fetch\r
-//(ABS, ABS X/Y, ZP) crosses a page boundary, or extra cycle for BCD add/subtract...\r
-#warning Cycle counts are not accurate--!!! FIX !!!\r
-static uint8 CPUCycles[256] = {\r
-       7, 6, 1, 1, 5, 3, 5, 1, 3, 2, 2, 1, 6, 4, 6, 1,\r
-       2, 5, 5, 1, 5, 4, 6, 1, 2, 4, 2, 1, 6, 4, 6, 1,\r
-       6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 4, 4, 6, 1,\r
-       2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 2, 1, 4, 4, 6, 1,\r
-       6, 6, 1, 1, 1, 3, 5, 1, 3, 2, 2, 1, 3, 4, 6, 1,\r
-       2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1,\r
-       6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 6, 4, 6, 1,\r
-       2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 4, 1, 6, 4, 6, 1,\r
-       2, 6, 1, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1,\r
-       2, 6, 5, 1, 4, 4, 4, 1, 2, 5, 2, 1, 4, 5, 5, 1,\r
-       2, 6, 2, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1,\r
-       2, 5, 5, 1, 4, 4, 4, 1, 2, 4, 2, 1, 4, 4, 4, 1,\r
-       2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1,\r
-       2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1,\r
-       2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1,\r
-       2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 4, 1, 1, 4, 6, 1 };\r
-\r
-// Private function prototypes\r
-\r
-static uint16 RdMemW(uint16);\r
-\r
-//\r
-// Read a uint16 out of 65C02 memory (big endian format)\r
-//\r
-static uint16 RdMemW(uint16 address)\r
-{\r
-       return (uint16)(regs.RdMem(address + 1) << 8) | regs.RdMem(address + 0);\r
-}\r
-\r
-\r
-//\r
-// 65C02 OPCODE IMPLEMENTATION\r
-//\r
-// NOTE: Lots of macros are used here to save a LOT of typing. Also\r
-//       helps speed the debugging process. :-) Because of this, combining\r
-//       certain lines may look like a good idea but would end in disaster.\r
-//       You have been warned! ;-)\r
-//\r
-\r
-/*\r
-Mnemonic       Addressing mode Form            Opcode  Size    Timing\r
-\r
-ADC                    Immediate               ADC #Oper       69              2               2\r
-                       Zero Page               ADC Zpg         65              2               3\r
-                       Zero Page,X             ADC Zpg,X       75              2               4\r
-                       Absolute                ADC Abs         6D              3               4\r
-                       Absolute,X              ADC Abs,X       7D              3               4\r
-                       Absolute,Y              ADC Abs,Y       79              3               4\r
-                       (Zero Page,X)   ADC (Zpg,X)     61              2               6\r
-                       (Zero Page),Y   ADC (Zpg),Y     71              2               5\r
-                       (Zero Page)             ADC (Zpg)       72              2               5\r
-*/\r
-\r
-// ADC opcodes\r
-\r
-//This is non-optimal, but it works--optimize later. :-)\r
-#define OP_ADC_HANDLER(m) \\r
-       uint16 sum = (uint16)regs.a + (m) + (uint16)(regs.cc & FLAG_C); \\r
-\\r
-       if (regs.cc & FLAG_D) \\r
-       { \\r
-               if ((sum & 0x0F) > 0x09) \\r
-                       sum += 0x06; \\r
-\\r
-               if ((sum & 0xF0) > 0x90) \\r
-                       sum += 0x60; \\r
-       } \\r
-\\r
-       regs.cc = (regs.cc & ~FLAG_C) | (sum >> 8); \\r
-       regs.cc = (~(regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \\r
-       regs.a = sum & 0xFF; \\r
-       SET_ZN(regs.a)\r
-\r
-//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V);\r
-\r
-static void Op69(void)                                                 // ADC #\r
-{\r
-       uint16 m = READ_IMM;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op65(void)                                                 // ADC ZP\r
-{\r
-       uint16 m = READ_ZP;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op75(void)                                                 // ADC ZP, X\r
-{\r
-       uint16 m = READ_ZP_X;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op6D(void)                                                 // ADC ABS\r
-{\r
-       uint16 m = READ_ABS;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op7D(void)                                                 // ADC ABS, X\r
-{\r
-       uint16 m = READ_ABS_X;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op79(void)                                                 // ADC ABS, Y\r
-{\r
-       uint16 m = READ_ABS_Y;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op61(void)                                                 // ADC (ZP, X)\r
-{\r
-       uint16 m = READ_IND_ZP_X;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op71(void)                                                 // ADC (ZP), Y\r
-{\r
-       uint16 m = READ_IND_ZP_Y;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-static void Op72(void)                                                 // ADC (ZP)\r
-{\r
-       uint16 m = READ_IND_ZP;\r
-       OP_ADC_HANDLER(m);\r
-}\r
-\r
-/*\r
-AND    Immediate       AND #Oper       29      2       2\r
-Zero Page              AND Zpg         25      2       3\r
-Zero Page,X            AND Zpg,X       35      2       4\r
-Absolute               AND Abs         2D      3       4\r
-Absolute,X             AND Abs,X       3D      3       4\r
-Absolute,Y             AND Abs,Y       39      3       4\r
-(Zero Page,X)  AND (Zpg,X)     21      2       6\r
-(Zero Page),Y  AND (Zpg),Y     31      2       5\r
-(Zero Page)            AND (Zpg)       32      2       5\r
-*/\r
-\r
-// AND opcodes\r
-\r
-#define OP_AND_HANDLER(m) \\r
-       regs.a &= m; \\r
-       SET_ZN(regs.a)\r
-\r
-static void Op29(void)                                                 // AND #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op25(void)                                                 // AND ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op35(void)                                                 // AND ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op2D(void)                                                 // AND ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op3D(void)                                                 // AND ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op39(void)                                                 // AND ABS, Y\r
-{\r
-       uint8 m = READ_ABS_Y;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op21(void)                                                 // AND (ZP, X)\r
-{\r
-       uint8 m = READ_IND_ZP_X;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op31(void)                                                 // AND (ZP), Y\r
-{\r
-       uint8 m = READ_IND_ZP_Y;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-static void Op32(void)                                                 // AND (ZP)\r
-{\r
-       uint8 m = READ_IND_ZP;\r
-       OP_AND_HANDLER(m);\r
-}\r
-\r
-/*\r
-ASL    Accumulator     ASL A           0A      1       2\r
-Zero Page              ASL Zpg         06      2       5\r
-Zero Page,X            ASL Zpg,X       16      2       6\r
-Absolute               ASL Abs         0E      3       6\r
-Absolute,X             ASL Abs,X       1E      3       7\r
-*/\r
-\r
-/*static void Op78(void)  // LSL ABS\r
-{\r
-       uint8 tmp;  uint16 addr;\r
-       addr = FetchW();\r
-       tmp = regs.RdMem(addr);\r
-       (tmp&0x80 ? regs.cc |= 0x01 : regs.cc &= 0xFE);  // Shift hi bit into Carry\r
-       tmp <<= 1;\r
-       regs.WrMem(addr, tmp);\r
-       (tmp == 0 ? regs.cc |= 0x04 : regs.cc &= 0xFB);  // Adjust Zero flag\r
-       (tmp&0x80 ? regs.cc |= 0x08 : regs.cc &= 0xF7);  // Adjust Negative flag\r
-}*/\r
-\r
-// ASL opcodes\r
-\r
-#define OP_ASL_HANDLER(m) \\r
-       regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \\r
-       (m) <<= 1; \\r
-       SET_ZN((m))\r
-\r
-static void Op0A(void)                                                 // ASL A\r
-{\r
-       OP_ASL_HANDLER(regs.a);\r
-}\r
-\r
-static void Op06(void)                                                 // ASL ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_ASL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op16(void)                                                 // ASL ZP, X\r
-{\r
-       uint8 m;\r
-       READ_ZP_X_WB(m);\r
-       OP_ASL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op0E(void)                                                 // ASL ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_ASL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op1E(void)                                                 // ASL ABS, X\r
-{\r
-       uint8 m;\r
-       READ_ABS_X_WB(m);\r
-       OP_ASL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-BBR0   Relative        BBR0 Oper       0F      2       2\r
-BBR1   Relative        BBR1 Oper       1F      2       2\r
-BBR2   Relative        BBR2 Oper       2F      2       2\r
-BBR3   Relative        BBR3 Oper       3F      2       2\r
-BBR4   Relative        BBR4 Oper       4F      2       2\r
-BBR5   Relative        BBR5 Oper       5F      2       2\r
-BBR6   Relative        BBR6 Oper       6F      2       2\r
-BBR7   Relative        BBR7 Oper       7F      2       2\r
-BBS0   Relative        BBS0 Oper       8F      2       2\r
-BBS1   Relative        BBS1 Oper       9F      2       2\r
-BBS2   Relative        BBS2 Oper       AF      2       2\r
-BBS3   Relative        BBS3 Oper       BF      2       2\r
-BBS4   Relative        BBS4 Oper       CF      2       2\r
-BBS5   Relative        BBS5 Oper       DF      2       2\r
-BBS6   Relative        BBS6 Oper       EF      2       2\r
-BBS7   Relative        BBS7 Oper       FF      2       2\r
-*/\r
-\r
-// BBR/Sn opcodes\r
-\r
-static void Op0F(void)                                                 // BBR0\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x01))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op1F(void)                                                 // BBR1\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x02))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op2F(void)                                                 // BBR2\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x04))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op3F(void)                                                 // BBR3\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x08))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op4F(void)                                                 // BBR4\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x10))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op5F(void)                                                 // BBR5\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x20))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op6F(void)                                                 // BBR6\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x40))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op7F(void)                                                 // BBR7\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.a & 0x80))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op8F(void)                                                 // BBS0\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x01)\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op9F(void)                                                 // BBS1\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x02)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpAF(void)                                                 // BBS2\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x04)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpBF(void)                                                 // BBS3\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x08)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpCF(void)                                                 // BBS4\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x10)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpDF(void)                                                 // BBS5\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x20)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpEF(void)                                                 // BBS6\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x40)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpFF(void)                                                 // BBS7\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.a & 0x80)\r
-               regs.pc += m;\r
-}\r
-\r
-/*\r
-BCC    Relative        BCC Oper        90      2       2\r
-BCS    Relative        BCS Oper        B0      2       2\r
-BEQ    Relative        BEQ Oper        F0      2       2\r
-*/\r
-\r
-// Branch opcodes\r
-\r
-static void Op90(void)                                                 // BCC\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.cc & FLAG_C))\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpB0(void)                                                 // BCS\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.cc & FLAG_C)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpF0(void)                                                 // BEQ\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.cc & FLAG_Z)\r
-               regs.pc += m;\r
-}\r
-\r
-/*\r
-BIT    Immediate       BIT #Oper       89      2       2\r
-Zero Page              BIT Zpg         24      2       3\r
-Zero Page,X            BIT Zpg,X       34      2       4\r
-Absolute               BIT Abs         2C      3       4\r
-Absolute,X             BIT Abs,X       3C      3       4\r
-*/\r
-\r
-// BIT opcodes\r
-\r
-/* 1. The BIT instruction copies bit 6 to the V flag, and bit 7 to the N flag (except in immediate\r
-      addressing mode where V & N are untouched.) The accumulator and the operand are ANDed and the\r
-      Z flag is set appropriately. */\r
-\r
-#define OP_BIT_HANDLER(m) \\r
-       int8 result = regs.a & (m); \\r
-       regs.cc &= ~(FLAG_N | FLAG_V); \\r
-       regs.cc |= ((m) & 0xC0); \\r
-       SET_Z(result)\r
-\r
-static void Op89(void)                                                 // BIT #\r
-{\r
-       int8 m = READ_IMM;\r
-       int8 result = regs.a & m;\r
-       SET_Z(result);\r
-}\r
-\r
-static void Op24(void)                                                 // BIT ZP\r
-{\r
-       int8 m = READ_ZP;\r
-       OP_BIT_HANDLER(m);\r
-}\r
-\r
-static void Op34(void)                                                 // BIT ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_BIT_HANDLER(m);\r
-}\r
-\r
-static void Op2C(void)                                                 // BIT ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_BIT_HANDLER(m);\r
-}\r
-\r
-static void Op3C(void)                                                 // BIT ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_BIT_HANDLER(m);\r
-}\r
-\r
-/*\r
-BMI    Relative        BMI Oper        30      2       2\r
-BNE    Relative        BNE Oper        D0      2       2\r
-BPL    Relative        BPL Oper        10      2       2\r
-BRA    Relative        BRA Oper        80      2       3\r
-*/\r
-\r
-// More branch opcodes\r
-\r
-static void Op30(void)                                                 // BMI\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.cc & FLAG_N)\r
-               regs.pc += m;\r
-}\r
-\r
-static void OpD0(void)                                                 // BNE\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.cc & FLAG_Z))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op10(void)                                                 // BPL\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.cc & FLAG_N))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op80(void)                                                 // BRA\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-       regs.pc += m;\r
-}\r
-\r
-/*\r
-BRK    Implied         BRK                     00      1       7\r
-*/\r
-\r
-static void Op00(void)                                                 // BRK\r
-{\r
-       regs.cc |= FLAG_B;                                                      // Set B\r
-       regs.pc++;                                                                      // RTI comes back to the instruction one byte after the BRK\r
-       regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);   // Save PC and CC\r
-       regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);\r
-       regs.WrMem(0x0100 + regs.sp--, regs.cc);\r
-       regs.cc |= FLAG_I;                                                      // Set I\r
-       regs.cc &= ~FLAG_D;                                                     // & clear D\r
-       regs.pc = RdMemW(0xFFFE);                                       // Grab the IRQ vector & go...\r
-}\r
-\r
-/*\r
-BVC    Relative        BVC Oper        50      2       2\r
-BVS    Relative        BVS Oper        70      2       2\r
-*/\r
-\r
-// Even more branch opcodes\r
-\r
-static void Op50(void)                                                 // BVC\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (!(regs.cc & FLAG_V))\r
-               regs.pc += m;\r
-}\r
-\r
-static void Op70(void)                                                 // BVS\r
-{\r
-       int16 m = (int16)(int8)READ_IMM;\r
-\r
-       if (regs.cc & FLAG_V)\r
-               regs.pc += m;\r
-}\r
-\r
-/*\r
-CLC    Implied         CLC                     18      1       2\r
-*/\r
-\r
-static void Op18(void)                                                 // CLC\r
-{\r
-       regs.cc &= ~FLAG_C;\r
-}\r
-\r
-/*\r
-CLD    Implied         CLD                     D8      1       2\r
-*/\r
-\r
-static void OpD8(void)                                                 // CLD\r
-{\r
-       regs.cc &= ~FLAG_D;\r
-}\r
-\r
-/*\r
-CLI    Implied         CLI                     58      1       2\r
-*/\r
-\r
-static void Op58(void)                                                 // CLI\r
-{\r
-       regs.cc &= ~FLAG_I;\r
-}\r
-\r
-/*\r
-CLV    Implied         CLV                     B8      1       2\r
-*/\r
-\r
-static void OpB8(void)                                                 // CLV\r
-{\r
-       regs.cc &= ~FLAG_V;\r
-}\r
-\r
-/*\r
-CMP    Immediate       CMP #Oper       C9      2       2\r
-Zero Page              CMP Zpg         C5      2       3\r
-Zero Page,X            CMP Zpg         D5      2       4\r
-Absolute               CMP Abs         CD      3       4\r
-Absolute,X             CMP Abs,X       DD      3       4\r
-Absolute,Y             CMP Abs,Y       D9      3       4\r
-(Zero Page,X)  CMP (Zpg,X)     C1      2       6\r
-(Zero Page),Y  CMP (Zpg),Y     D1      2       5\r
-(Zero Page)            CMP (Zpg)       D2      2       5\r
-*/\r
-\r
-// CMP opcodes\r
-\r
-/*\r
-Here's the latest: The CMP is NOT generating the Z flag when A=$C0!\r
-\r
-FABA: A0 07          LDY   #$07                [PC=FABC, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07]\r
-FABC: C6 01          DEC   $01                 [PC=FABE, SP=01FF, CC=N--B-I--, A=00, X=00, Y=07]\r
-FABE: A5 01          LDA   $01                 [PC=FAC0, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]\r
-FAC0: C9 C0          CMP   #$C0                [PC=FAC2, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]\r
-FAC2: F0 D7          BEQ   $FA9B               [PC=FAC4, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]\r
-FAC4: 8D F8 07       STA   $07F8               [PC=FAC7, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]\r
-FAC7: B1 00          LDA   ($00),Y\r
-*** Read at I/O address C007\r
-               [PC=FAC9, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07]\r
-FAC9: D9 01 FB       CMP   $FB01,Y             [PC=FACC, SP=01FF, CC=---B-I--, A=00, X=00, Y=07]\r
-FACC: D0 EC          BNE   $FABA               [PC=FABA, SP=01FF, CC=---B-I--, A=00, X=00, Y=07]\r
-\r
-Should be fixed now... (was adding instead of subtracting!)\r
-\r
-Small problem here... First two should set the carry while the last one should clear it. !!! FIX !!! [DONE]\r
-\r
-FDF0: C9 A0          CMP   #$A0                [PC=FDF2, SP=01F1, CC=---B-IZ-, A=A0, X=02, Y=03]\r
-FD7E: C9 E0          CMP   #$E0                [PC=FD80, SP=01F4, CC=N--B-I--, A=A0, X=02, Y=03]\r
-FD38: C9 9B          CMP   #$9B                [PC=FD3A, SP=01F2, CC=---B-I-C, A=A0, X=02, Y=03]\r
-\r
-Compare sets flags as if a subtraction had been carried out. If the value in the accumulator is equal or greater than the compared value, the Carry will be set. The equal (Z) and sign (S) flags will be set based on equality or lack thereof and the sign (i.e. A>=$80) of the accumulator.\r
-*/\r
-\r
-#define OP_CMP_HANDLER(m) \\r
-       uint8 result = regs.a - (m); \\r
-       SET_ZNC_CMP(m, regs.a, result)\r
-\r
-static void OpC9(void)                                                 // CMP #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpC5(void)                                                 // CMP ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpD5(void)                                                 // CMP ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpCD(void)                                                 // CMP ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpDD(void)                                                 // CMP ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpD9(void)                                                 // CMP ABS, Y\r
-{\r
-       uint8 m = READ_ABS_Y;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpC1(void)                                                 // CMP (ZP, X)\r
-{\r
-       uint8 m = READ_IND_ZP_X;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpD1(void)                                                 // CMP (ZP), Y\r
-{\r
-       uint8 m = READ_IND_ZP_Y;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-static void OpD2(void)                                                 // CMP (ZP)\r
-{\r
-       uint8 m = READ_IND_ZP;\r
-       OP_CMP_HANDLER(m);\r
-}\r
-\r
-/*\r
-CPX    Immediate       CPX #Oper       E0      2       2\r
-Zero Page              CPX Zpg         E4      2       3\r
-Absolute               CPX Abs         EC      3       4\r
-*/\r
-\r
-// CPX opcodes\r
-\r
-#define OP_CPX_HANDLER(m) \\r
-       uint8 result = regs.x - (m); \\r
-       SET_ZNC_CMP(m, regs.x, result)\r
-\r
-static void OpE0(void)                                                 // CPX #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_CPX_HANDLER(m);\r
-}\r
-\r
-static void OpE4(void)                                                 // CPX ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_CPX_HANDLER(m);\r
-}\r
-\r
-static void OpEC(void)                                                 // CPX ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_CPX_HANDLER(m);\r
-}\r
-\r
-/*\r
-CPY    Immediate       CPY #Oper       C0      2       2\r
-Zero Page              CPY Zpg         C4      2       3\r
-Absolute               CPY Abs         CC      3       4\r
-*/\r
-\r
-// CPY opcodes\r
-\r
-#define OP_CPY_HANDLER(m) \\r
-       uint8 result = regs.y - (m); \\r
-       SET_ZNC_CMP(m, regs.y, result)\r
-\r
-static void OpC0(void)                                                 // CPY #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_CPY_HANDLER(m);\r
-}\r
-\r
-static void OpC4(void)                                                 // CPY ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_CPY_HANDLER(m);\r
-}\r
-\r
-static void OpCC(void)                                                 // CPY ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_CPY_HANDLER(m);\r
-}\r
-\r
-/*\r
-DEA    Accumulator     DEA                     3A      1       2\r
-*/\r
-\r
-static void Op3A(void)                                                 // DEA\r
-{\r
-       regs.a--;\r
-       SET_ZN(regs.a);\r
-}\r
-\r
-/*\r
-DEC    Zero Page       DEC Zpg         C6      2       5\r
-Zero Page,X            DEC Zpg,X       D6      2       6\r
-Absolute               DEC Abs         CE      3       6\r
-Absolute,X             DEC Abs,X       DE      3       7\r
-*/\r
-\r
-// DEC opcodes\r
-\r
-#define OP_DEC_HANDLER(m) \\r
-       m--; \\r
-       SET_ZN(m)\r
-\r
-static void OpC6(void)                                                 // DEC ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_DEC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpD6(void)                                                 // DEC ZP, X\r
-{\r
-       uint8 m;\r
-       READ_ZP_X_WB(m);\r
-       OP_DEC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpCE(void)                                                 // DEC ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_DEC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpDE(void)                                                 // DEC ABS, X\r
-{\r
-       uint8 m;\r
-       READ_ABS_X_WB(m);\r
-       OP_DEC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-Here's one problem: DEX is setting the N flag!\r
-\r
-D3EE: A2 09          LDX   #$09                [PC=D3F0, SP=01F7, CC=---B-I-C, A=01, X=09, Y=08]\r
-D3F0: 98             TYA               [PC=D3F1, SP=01F7, CC=N--B-I-C, A=08, X=09, Y=08]\r
-D3F1: 48             PHA               [PC=D3F2, SP=01F6, CC=N--B-I-C, A=08, X=09, Y=08]\r
-D3F2: B5 93          LDA   $93,X               [PC=D3F4, SP=01F6, CC=---B-IZC, A=00, X=09, Y=08]\r
-D3F4: CA             DEX               [PC=D3F5, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08]\r
-D3F5: 10 FA          BPL   $D3F1               [PC=D3F7, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08]\r
-D3F7: 20 84 E4       JSR   $E484               [PC=E484, SP=01F4, CC=N--B-I-C, A=00, X=08, Y=08]\r
-\r
-should be fixed now...\r
-*/\r
-\r
-/*\r
-DEX    Implied         DEX                     CA      1       2\r
-*/\r
-\r
-static void OpCA(void)                                                 // DEX\r
-{\r
-       regs.x--;\r
-       SET_ZN(regs.x);\r
-}\r
-\r
-/*\r
-DEY    Implied         DEY                     88      1       2\r
-*/\r
-\r
-static void Op88(void)                                                 // DEY\r
-{\r
-       regs.y--;\r
-       SET_ZN(regs.y);\r
-}\r
-\r
-/*\r
-EOR    Immediate       EOR #Oper       49      2       2\r
-Zero Page              EOR Zpg         45      2       3\r
-Zero Page,X            EOR Zpg,X       55      2       4\r
-Absolute               EOR Abs         4D      3       4\r
-Absolute,X             EOR Abs,X       5D      3       4\r
-Absolute,Y             EOR Abs,Y       59      3       4\r
-(Zero Page,X)  EOR (Zpg,X)     41      2       6\r
-(Zero Page),Y  EOR (Zpg),Y     51      2       5\r
-(Zero Page)            EOR (Zpg)       52      2       5\r
-*/\r
-\r
-// EOR opcodes\r
-\r
-#define OP_EOR_HANDLER(m) \\r
-       regs.a ^= m; \\r
-       SET_ZN(regs.a)\r
-\r
-static void Op49(void)                                                 // EOR #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op45(void)                                                 // EOR ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op55(void)                                                 // EOR ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op4D(void)                                                 // EOR ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op5D(void)                                                 // EOR ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op59(void)                                                 // EOR ABS, Y\r
-{\r
-       uint8 m = READ_ABS_Y;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op41(void)                                                 // EOR (ZP, X)\r
-{\r
-       uint8 m = READ_IND_ZP_X;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op51(void)                                                 // EOR (ZP), Y\r
-{\r
-       uint8 m = READ_IND_ZP_Y;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-static void Op52(void)                                                 // EOR (ZP)\r
-{\r
-       uint8 m = READ_IND_ZP;\r
-       OP_EOR_HANDLER(m);\r
-}\r
-\r
-/*\r
-INA    Accumulator     INA                     1A      1       2\r
-*/\r
-\r
-static void Op1A(void)                                                 // INA\r
-{\r
-       regs.a++;\r
-       SET_ZN(regs.a);\r
-}\r
-\r
-/*\r
-INC    Zero Page       INC Zpg         E6      2       5\r
-Zero Page,X            INC Zpg,X       F6      2       6\r
-Absolute               INC Abs         EE      3       6\r
-Absolute,X             INC Abs,X       FE      3       7\r
-*/\r
-\r
-// INC opcodes\r
-\r
-#define OP_INC_HANDLER(m) \\r
-       m++; \\r
-       SET_ZN(m)\r
-\r
-static void OpE6(void)                                                 // INC ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_INC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpF6(void)                                                 // INC ZP, X\r
-{\r
-       uint8 m;\r
-       READ_ZP_X_WB(m);\r
-       OP_INC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpEE(void)                                                 // INC ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_INC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpFE(void)                                                 // INC ABS, X\r
-{\r
-       uint8 m;\r
-       READ_ABS_X_WB(m);\r
-       OP_INC_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-INX    Implied         INX                     E8      1       2\r
-*/\r
-\r
-static void OpE8(void)                                                 // INX\r
-{\r
-       regs.x++;\r
-       SET_ZN(regs.x);\r
-}\r
-\r
-/*\r
-INY    Implied         INY                     C8      1       2\r
-*/\r
-\r
-static void OpC8(void)                                                 // INY\r
-{\r
-       regs.y++;\r
-       SET_ZN(regs.y);\r
-}\r
-\r
-/*\r
-JMP    Absolute        JMP Abs         4C      3       3\r
-(Absolute)             JMP (Abs)       6C      3       5\r
-(Absolute,X)   JMP (Abs,X)     7C      3       6\r
-*/\r
-\r
-// JMP opcodes\r
-\r
-static void Op4C(void)                                                 // JMP ABS\r
-{\r
-       regs.pc = RdMemW(regs.pc);\r
-}\r
-\r
-static void Op6C(void)                                                 // JMP (ABS)\r
-{\r
-//     uint16 addr = RdMemW(regs.pc);\r
-//#ifdef __DEBUG__\r
-//WriteLog("\n[JMP ABS]: addr fetched = %04X, bytes at %04X = %02X %02X (RdMemw=%04X)\n",\r
-//     addr, addr, regs.RdMem(addr), regs.RdMem(addr+1), RdMemW(addr));\r
-//#endif\r
-//     addr = RdMemW(addr);\r
-       regs.pc = RdMemW(RdMemW(regs.pc));\r
-}\r
-\r
-static void Op7C(void)                                                 // JMP (ABS, X)\r
-{\r
-       regs.pc = RdMemW(RdMemW(regs.pc) + regs.x);\r
-}\r
-\r
-/*\r
-JSR    Absolute        JSR Abs         20      3       6\r
-*/\r
-\r
-//This is not jumping to the correct address... !!! FIX !!! [DONE]\r
-static void Op20(void)                                                 // JSR\r
-{\r
-       uint16 addr = RdMemW(regs.pc);\r
-       regs.pc++;                                                                      // Since it pushes return address - 1...\r
-       regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);\r
-       regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);\r
-       regs.pc = addr;\r
-}\r
-\r
-/*\r
-LDA    Immediate       LDA #Oper       A9      2       2\r
-Zero Page              LDA Zpg         A5      2       3\r
-Zero Page,X            LDA Zpg,X       B5      2       4\r
-Absolute               LDA Abs         AD      3       4\r
-Absolute,X             LDA Abs,X       BD      3       4\r
-Absolute,Y             LDA Abs,Y       B9      3       4\r
-(Zero Page,X)  LDA (Zpg,X)     A1      2       6\r
-(Zero Page),Y  LDA (Zpg),Y     B1      2       5\r
-(Zero Page)            LDA (Zpg)       B2      2       5\r
-*/\r
-\r
-// LDA opcodes\r
-\r
-#define OP_LDA_HANDLER(m) \\r
-       regs.a = m; \\r
-       SET_ZN(regs.a)\r
-\r
-static void OpA9(void)                                                 // LDA #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpA5(void)                                                 // LDA ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpB5(void)                                                 // LDA ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpAD(void)                                                 // LDA ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpBD(void)                                                 // LDA ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpB9(void)                                                 // LDA ABS, Y\r
-{\r
-       uint8 m = READ_ABS_Y;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpA1(void)                                                 // LDA (ZP, X)\r
-{\r
-       uint8 m = READ_IND_ZP_X;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpB1(void)                                                 // LDA (ZP), Y\r
-{\r
-       uint8 m = READ_IND_ZP_Y;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-static void OpB2(void)                                                 // LDA (ZP)\r
-{\r
-       uint8 m = READ_IND_ZP;\r
-       OP_LDA_HANDLER(m);\r
-}\r
-\r
-/*\r
-LDX    Immediate       LDX #Oper       A2      2       2\r
-Zero Page              LDX Zpg         A6      2       3\r
-Zero Page,Y            LDX Zpg,Y       B6      2       4\r
-Absolute               LDX Abs         AE      3       4\r
-Absolute,Y             LDX Abs,Y       BE      3       4\r
-*/\r
-\r
-// LDX opcodes\r
-\r
-#define OP_LDX_HANDLER(m) \\r
-       regs.x = m; \\r
-       SET_ZN(regs.x)\r
-\r
-static void OpA2(void)                                                 // LDX #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_LDX_HANDLER(m);\r
-}\r
-\r
-static void OpA6(void)                                                 // LDX ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_LDX_HANDLER(m);\r
-}\r
-\r
-static void OpB6(void)                                                 // LDX ZP, Y\r
-{\r
-       uint8 m = READ_ZP_Y;\r
-       OP_LDX_HANDLER(m);\r
-}\r
-\r
-static void OpAE(void)                                                 // LDX ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_LDX_HANDLER(m);\r
-}\r
-\r
-static void OpBE(void)                                                 // LDX ABS, Y\r
-{\r
-       uint8 m = READ_ABS_Y;\r
-       OP_LDX_HANDLER(m);\r
-}\r
-\r
-/*\r
-LDY    Immediate       LDY #Oper       A0      2       2\r
-Zero Page              LDY Zpg         A4      2       3\r
-Zero Page,Y            LDY Zpg,X       B4      2       4\r
-Absolute               LDY Abs         AC      3       4\r
-Absolute,Y             LDY Abs,X       BC      3       4\r
-*/\r
-\r
-// LDY opcodes\r
-\r
-#define OP_LDY_HANDLER(m) \\r
-       regs.y = m; \\r
-       SET_ZN(regs.y)\r
-\r
-static void OpA0(void)                                                 // LDY #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_LDY_HANDLER(m);\r
-}\r
-\r
-static void OpA4(void)                                                 // LDY ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_LDY_HANDLER(m);\r
-}\r
-\r
-static void OpB4(void)                                                 // LDY ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_LDY_HANDLER(m);\r
-}\r
-\r
-static void OpAC(void)                                                 // LDY ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_LDY_HANDLER(m);\r
-}\r
-\r
-static void OpBC(void)                                                 // LDY ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_LDY_HANDLER(m);\r
-}\r
-\r
-/*\r
-LSR    Accumulator     LSR A           4A      1       2\r
-Zero Page              LSR Zpg         46      2       5\r
-Zero Page,X            LSR Zpg,X       56      2       6\r
-Absolute               LSR Abs         4E      3       6\r
-Absolute,X             LSR Abs,X       5E      3       7\r
-*/\r
-\r
-// LSR opcodes\r
-\r
-#define OP_LSR_HANDLER(m) \\r
-       regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \\r
-       (m) >>= 1; \\r
-       CLR_N; SET_Z((m))\r
-\r
-static void Op4A(void)                                                 // LSR A\r
-{\r
-       OP_LSR_HANDLER(regs.a);\r
-}\r
-\r
-static void Op46(void)                                                 // LSR ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_LSR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op56(void)                                                 // LSR ZP, X\r
-{\r
-       uint8 m;\r
-       READ_ZP_X_WB(m);\r
-       OP_LSR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op4E(void)                                                 // LSR ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_LSR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op5E(void)                                                 // LSR ABS, X\r
-{\r
-       uint8 m;\r
-       READ_ABS_X_WB(m);\r
-       OP_LSR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-NOP    Implied         NOP                     EA      1       2\r
-*/\r
-\r
-static void OpEA(void)                                                 // NOP\r
-{\r
-}\r
-\r
-/*\r
-ORA    Immediate       ORA #Oper       09      2       2\r
-Zero Page              ORA Zpg         05      2       3\r
-Zero Page,X            ORA Zpg,X       15      2       4\r
-Absolute               ORA Abs         0D      3       4\r
-Absolute,X             ORA Abs,X       1D      3       4\r
-Absolute,Y             ORA Abs,Y       19      3       4\r
-(Zero Page,X)  ORA (Zpg,X)     01      2       6\r
-(Zero Page),Y  ORA (Zpg),Y     11      2       5\r
-(Zero Page)            ORA (Zpg)       12      2       5\r
-*/\r
-\r
-// ORA opcodes\r
-\r
-#define OP_ORA_HANDLER(m) \\r
-       regs.a |= m; \\r
-       SET_ZN(regs.a)\r
-\r
-static void Op09(void)                                                 // ORA #\r
-{\r
-       uint8 m = READ_IMM;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op05(void)                                                 // ORA ZP\r
-{\r
-       uint8 m = READ_ZP;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op15(void)                                                 // ORA ZP, X\r
-{\r
-       uint8 m = READ_ZP_X;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op0D(void)                                                 // ORA ABS\r
-{\r
-       uint8 m = READ_ABS;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op1D(void)                                                 // ORA ABS, X\r
-{\r
-       uint8 m = READ_ABS_X;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op19(void)                                                 // ORA ABS, Y\r
-{\r
-       uint8 m = READ_ABS_Y;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op01(void)                                                 // ORA (ZP, X)\r
-{\r
-       uint8 m = READ_IND_ZP_X;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op11(void)                                                 // ORA (ZP), Y\r
-{\r
-       uint8 m = READ_IND_ZP_Y;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-static void Op12(void)                                                 // ORA (ZP)\r
-{\r
-       uint8 m = READ_IND_ZP;\r
-       OP_ORA_HANDLER(m);\r
-}\r
-\r
-/*\r
-PHA    Implied         PHA                     48      1       3\r
-*/\r
-\r
-static void Op48(void)                                                 // PHA\r
-{\r
-       regs.WrMem(0x0100 + regs.sp--, regs.a);\r
-}\r
-\r
-static void Op08(void)                                                 // PHP\r
-{\r
-       regs.cc |= FLAG_UNK;                                            // Make sure that the unused bit is always set\r
-       regs.WrMem(0x0100 + regs.sp--, regs.cc);\r
-}\r
-\r
-/*\r
-PHX    Implied         PHX                     DA      1       3\r
-*/\r
-\r
-static void OpDA(void)                                                 // PHX\r
-{\r
-       regs.WrMem(0x0100 + regs.sp--, regs.x);\r
-}\r
-\r
-/*\r
-PHY    Implied         PHY                     5A      1       3\r
-*/\r
-\r
-static void Op5A(void)                                                 // PHY\r
-{\r
-       regs.WrMem(0x0100 + regs.sp--, regs.y);\r
-}\r
-\r
-/*\r
-PLA    Implied         PLA                     68      1       4\r
-*/\r
-\r
-static void Op68(void)                                                 // PLA\r
-{\r
-       regs.a = regs.RdMem(0x0100 + ++regs.sp);\r
-       SET_ZN(regs.a);\r
-}\r
-\r
-static void Op28(void)                                                 // PLP\r
-{\r
-       regs.cc = regs.RdMem(0x0100 + ++regs.sp);\r
-}\r
-\r
-/*\r
-PLX    Implied         PLX                     FA      1       4\r
-*/\r
-\r
-static void OpFA(void)                                                 // PLX\r
-{\r
-       regs.x = regs.RdMem(0x0100 + ++regs.sp);\r
-       SET_ZN(regs.x);\r
-}\r
-\r
-/*\r
-PLY    Implied         PLY                     7A      1       4\r
-*/\r
-\r
-static void Op7A(void)                                                 // PLY\r
-{\r
-       regs.y = regs.RdMem(0x0100 + ++regs.sp);\r
-       SET_ZN(regs.y);\r
-}\r
-\r
-/*\r
-The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. \r
-   RMB0  RMB1  RMB2  RMB3  RMB4  RMB5  RMB6  RMB7\r
-  zp  07  17  27  37  47  57  67  77\r
-     SMB0  SMB1  SMB2  SMB3  SMB4  SMB5  SMB6  SMB7\r
-  zp  87  97  A7  B7  C7  D7  E7  F7\r
-*/\r
-\r
-// RMB opcodes\r
-\r
-static void Op07(void)                                                 // RMB0 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xFE;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op17(void)                                                 // RMB1 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xFD;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op27(void)                                                 // RMB2 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xFB;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op37(void)                                                 // RMB3 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xF7;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op47(void)                                                 // RMB4 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xEF;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op57(void)                                                 // RMB5 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xDF;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op67(void)                                                 // RMB6 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0xBF;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op77(void)                                                 // RMB7 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m &= 0x7F;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-ROL    Accumulator     ROL A           2A      1       2\r
-Zero Page              ROL Zpg         26      2       5\r
-Zero Page,X            ROL Zpg,X       36      2       6\r
-Absolute               ROL Abs         2E      3       6\r
-Absolute,X             ROL Abs,X       3E      3       7\r
-*/\r
-\r
-// ROL opcodes\r
-\r
-#define OP_ROL_HANDLER(m) \\r
-       uint8 tmp = regs.cc & 0x01; \\r
-       regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \\r
-       (m) = ((m) << 1) | tmp; \\r
-       SET_ZN((m))\r
-\r
-static void Op2A(void)                                                 // ROL A\r
-{\r
-       OP_ROL_HANDLER(regs.a);\r
-}\r
-\r
-static void Op26(void)                                                 // ROL ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_ROL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op36(void)                                                 // ROL ZP, X\r
-{\r
-       uint8 m;\r
-       READ_ZP_X_WB(m);\r
-       OP_ROL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op2E(void)                                                 // ROL ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_ROL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op3E(void)                                                 // ROL ABS, X\r
-{\r
-       uint8 m;\r
-       READ_ABS_X_WB(m);\r
-       OP_ROL_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-ROR    Accumulator     ROR A           6A      1       2\r
-Zero Page              ROR Zpg         66      2       5\r
-Zero Page,X            ROR Zpg,X       76      2       6\r
-Absolute               ROR Abs         6E      3       6\r
-Absolute,X             ROR Abs,X       7E      3       7\r
-*/\r
-\r
-// ROR opcodes\r
-\r
-#define OP_ROR_HANDLER(m) \\r
-       uint8 tmp = (regs.cc & 0x01) << 7; \\r
-       regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \\r
-       (m) = ((m) >> 1) | tmp; \\r
-       SET_ZN((m))\r
-\r
-static void Op6A(void)                                                 // ROR A\r
-{\r
-       OP_ROR_HANDLER(regs.a);\r
-}\r
-\r
-static void Op66(void)                                                 // ROR ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_ROR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op76(void)                                                 // ROR ZP, X\r
-{\r
-       uint8 m;\r
-       READ_ZP_X_WB(m);\r
-       OP_ROR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op6E(void)                                                 // ROR ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_ROR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op7E(void)                                                 // ROR ABS, X\r
-{\r
-       uint8 m;\r
-       READ_ABS_X_WB(m);\r
-       OP_ROR_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-RTI    Implied         RTI                     40      1       6\r
-*/\r
-\r
-static void Op40(void)                                                 // RTI\r
-{\r
-       regs.cc = regs.RdMem(0x0100 + ++regs.sp);\r
-       regs.pc = regs.RdMem(0x0100 + ++regs.sp);\r
-       regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8;\r
-}\r
-\r
-/*\r
-RTS    Implied         RTS                     60      1       6\r
-*/\r
-\r
-static void Op60(void)                                                 // RTS\r
-{\r
-       regs.pc = regs.RdMem(0x0100 + ++regs.sp);\r
-       regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8;\r
-       regs.pc++;                                                                      // Since it pushes return address - 1...\r
-//printf("*** RTS: PC = $%04X, SP= $1%02X\n", regs.pc, regs.sp);\r
-//fflush(stdout);\r
-}\r
-\r
-/*\r
-SBC    Immediate       SBC #Oper       E9      2       2\r
-Zero Page              SBC Zpg         E5      2       3\r
-Zero Page,X            SBC Zpg,X       F5      2       4\r
-Absolute               SBC Abs         ED      3       4\r
-Absolute,X             SBC Abs,X       FD      3       4\r
-Absolute,Y             SBC Abs,Y       F9      3       4\r
-(Zero Page,X)  SBC (Zpg,X)     E1      2       6\r
-(Zero Page),Y  SBC (Zpg),Y     F1      2       5\r
-(Zero Page)            SBC (Zpg)       F2      2       5\r
-*/\r
-\r
-// SBC opcodes\r
-\r
-//This is non-optimal, but it works--optimize later. :-)\r
-//This is correct except for the BCD handling... !!! FIX !!! [Possibly DONE]\r
-#define OP_SBC_HANDLER(m) \\r
-       uint16 sum = (uint16)regs.a - (m) - (uint16)((regs.cc & FLAG_C) ^ 0x01); \\r
-\\r
-       if (regs.cc & FLAG_D) \\r
-       { \\r
-               if ((sum & 0x0F) > 0x09) \\r
-                       sum -= 0x06; \\r
-\\r
-               if ((sum & 0xF0) > 0x90) \\r
-                       sum -= 0x60; \\r
-       } \\r
-\\r
-       regs.cc = (regs.cc & ~FLAG_C) | (((sum >> 8) ^ 0x01) & FLAG_C); \\r
-       regs.cc = ((regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \\r
-       regs.a = sum & 0xFF; \\r
-       SET_ZN(regs.a)\r
-\r
-/*\r
-D5AF: 38             SEC               [PC=D5B0, SP=01F6, CC=---B-I-C, A=4C, X=00, Y=06]\r
-\r
-*** HERE'S where it sets the D flag on a subtract... Arg!\r
-\r
-D5B0: F1 9D          SBC   ($9D),Y     [PC=D5B2, SP=01F6, CC=N--BDI--, A=FE, X=00, Y=06]\r
-\r
-Fixed. :-)\r
-*/\r
-\r
-//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V);\r
-\r
-static void OpE9(void)                                                 // SBC #\r
-{\r
-       uint16 m = READ_IMM;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpE5(void)                                                 // SBC ZP\r
-{\r
-       uint16 m = READ_ZP;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpF5(void)                                                 // SBC ZP, X\r
-{\r
-       uint16 m = READ_ZP_X;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpED(void)                                                 // SBC ABS\r
-{\r
-       uint16 m = READ_ABS;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpFD(void)                                                 // SBC ABS, X\r
-{\r
-       uint16 m = READ_ABS_X;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpF9(void)                                                 // SBC ABS, Y\r
-{\r
-       uint16 m = READ_ABS_Y;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpE1(void)                                                 // SBC (ZP, X)\r
-{\r
-       uint16 m = READ_IND_ZP_X;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpF1(void)                                                 // SBC (ZP), Y\r
-{\r
-       uint16 m = READ_IND_ZP_Y;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-static void OpF2(void)                                                 // SBC (ZP)\r
-{\r
-       uint16 m = READ_IND_ZP;\r
-       OP_SBC_HANDLER(m);\r
-}\r
-\r
-/*\r
-SEC    Implied         SEC                     38      1       2\r
-*/\r
-\r
-static void Op38(void)                                                 // SEC\r
-{\r
-       regs.cc |= FLAG_C;\r
-}\r
-\r
-/*\r
-SED    Implied         SED                     F8      1       2\r
-*/\r
-\r
-static void OpF8(void)                                                 // SED\r
-{\r
-       regs.cc |= FLAG_D;\r
-}\r
-\r
-/*\r
-SEI    Implied         SEI                     78      1       2\r
-*/\r
-\r
-static void Op78(void)                                                 // SEI\r
-{\r
-       regs.cc |= FLAG_I;\r
-}\r
-\r
-/*\r
-The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. \r
-   RMB0  RMB1  RMB2  RMB3  RMB4  RMB5  RMB6  RMB7\r
-  zp  07  17  27  37  47  57  67  77\r
-     SMB0  SMB1  SMB2  SMB3  SMB4  SMB5  SMB6  SMB7\r
-  zp  87  97  A7  B7  C7  D7  E7  F7\r
-*/\r
-\r
-// SMB opcodes\r
-\r
-static void Op87(void)                                                 // SMB0 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x01;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op97(void)                                                 // SMB1 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x02;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpA7(void)                                                 // SMB2 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x04;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpB7(void)                                                 // SMB3 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x08;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpC7(void)                                                 // SMB4 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x10;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpD7(void)                                                 // SMB5 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x20;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpE7(void)                                                 // SMB6 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x40;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void OpF7(void)                                                 // SMB7 ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       m |= 0x80;\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-STA    Zero Page       STA Zpg         85      2       3\r
-Zero Page,X            STA Zpg,X       95      2       4\r
-Absolute               STA Abs         8D      3       4\r
-Absolute,X             STA Abs,X       9D      3       5\r
-Absolute,Y             STA Abs,Y       99      3       5\r
-(Zero Page,X)  STA (Zpg,X)     81      2       6\r
-(Zero Page),Y  STA (Zpg),Y     91      2       6\r
-(Zero Page)            STA (Zpg)       92      2       5\r
-*/\r
-\r
-// STA opcodes\r
-\r
-static void Op85(void)\r
-{\r
-       regs.WrMem(EA_ZP, regs.a);\r
-}\r
-\r
-static void Op95(void)\r
-{\r
-       regs.WrMem(EA_ZP_X, regs.a);\r
-}\r
-\r
-static void Op8D(void)\r
-{\r
-       regs.WrMem(EA_ABS, regs.a);\r
-       regs.pc += 2;\r
-}\r
-\r
-static void Op9D(void)\r
-{\r
-       regs.WrMem(EA_ABS_X, regs.a);\r
-       regs.pc += 2;\r
-}\r
-\r
-static void Op99(void)\r
-{\r
-       regs.WrMem(EA_ABS_Y, regs.a);\r
-       regs.pc += 2;\r
-}\r
-\r
-static void Op81(void)\r
-{\r
-       regs.WrMem(EA_IND_ZP_X, regs.a);\r
-}\r
-\r
-static void Op91(void)\r
-{\r
-       regs.WrMem(EA_IND_ZP_Y, regs.a);\r
-}\r
-\r
-static void Op92(void)\r
-{\r
-       regs.WrMem(EA_IND_ZP, regs.a);\r
-}\r
-\r
-/*\r
-STX    Zero Page       STX Zpg         86      2       3\r
-Zero Page,Y            STX Zpg,Y       96      2       4\r
-Absolute               STX Abs         8E      3       4\r
-*/\r
-\r
-// STX opcodes\r
-\r
-static void Op86(void)\r
-{\r
-       regs.WrMem(EA_ZP, regs.x);\r
-}\r
-\r
-static void Op96(void)\r
-{\r
-       regs.WrMem(EA_ZP_X, regs.x);\r
-}\r
-\r
-static void Op8E(void)\r
-{\r
-       regs.WrMem(EA_ABS, regs.x);\r
-       regs.pc += 2;\r
-}\r
-\r
-/*\r
-STY    Zero Page       STY Zpg         84      2       3\r
-Zero Page,X            STY Zpg,X       94      2       4\r
-Absolute               STY Abs         8C      3       4\r
-*/\r
-\r
-// STY opcodes\r
-\r
-static void Op84(void)\r
-{\r
-       regs.WrMem(EA_ZP, regs.y);\r
-}\r
-\r
-static void Op94(void)\r
-{\r
-       regs.WrMem(EA_ZP_X, regs.y);\r
-}\r
-\r
-static void Op8C(void)\r
-{\r
-       regs.WrMem(EA_ABS, regs.y);\r
-       regs.pc += 2;\r
-}\r
-\r
-/*\r
-STZ    Zero Page       STZ Zpg         64      2       3\r
-Zero Page,X            STZ Zpg,X       74      2       4\r
-Absolute               STZ Abs         9C      3       4\r
-Absolute,X             STZ Abs,X       9E      3       5\r
-*/\r
-\r
-// STZ opcodes\r
-\r
-static void Op64(void)\r
-{\r
-       regs.WrMem(EA_ZP, 0x00);\r
-}\r
-\r
-static void Op74(void)\r
-{\r
-       regs.WrMem(EA_ZP_X, 0x00);\r
-}\r
-\r
-static void Op9C(void)\r
-{\r
-       regs.WrMem(EA_ABS, 0x00);\r
-       regs.pc += 2;\r
-}\r
-\r
-static void Op9E(void)\r
-{\r
-       regs.WrMem(EA_ABS_X, 0x00);\r
-       regs.pc += 2;\r
-}\r
-\r
-/*\r
-TAX    Implied         TAX                     AA      1       2\r
-*/\r
-\r
-static void OpAA(void)                                                 // TAX\r
-{\r
-       regs.x = regs.a;\r
-       SET_ZN(regs.x);\r
-}\r
-\r
-/*\r
-TAY    Implied         TAY                     A8      1       2\r
-*/\r
-\r
-static void OpA8(void)                                                 // TAY\r
-{\r
-       regs.y = regs.a;\r
-       SET_ZN(regs.y);\r
-}\r
-\r
-/*\r
-TRB    Zero Page       TRB Zpg         14      2       5\r
-Absolute               TRB Abs         1C      3       6\r
-*/\r
-\r
-// TRB opcodes\r
-\r
-#define OP_TRB_HANDLER(m) \\r
-       SET_Z(m & regs.a); \\r
-       m &= ~regs.a\r
-\r
-static void Op14(void)                                                 // TRB ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_TRB_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op1C(void)                                                 // TRB ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_TRB_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-TSB    Zero Page       TSB Zpg         04      2       5\r
-Absolute               TSB Abs         0C      3       6\r
-*/\r
-\r
-// TSB opcodes\r
-\r
-#define OP_TSB_HANDLER(m) \\r
-       SET_Z(m & regs.a); \\r
-       m |= regs.a\r
-\r
-static void Op04(void)                                                 // TSB ZP\r
-{\r
-       uint8 m;\r
-       READ_ZP_WB(m);\r
-       OP_TSB_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-static void Op0C(void)                                                 // TSB ABS\r
-{\r
-       uint8 m;\r
-       READ_ABS_WB(m);\r
-       OP_TSB_HANDLER(m);\r
-       WRITE_BACK(m);\r
-}\r
-\r
-/*\r
-TSX    Implied         TSX                     BA      1       2\r
-*/\r
-\r
-static void OpBA(void)                                                 // TSX\r
-{\r
-       regs.x = regs.sp;\r
-       SET_ZN(regs.x);\r
-}\r
-\r
-/*\r
-TXA    Implied         TXA                     8A      1       2\r
-*/\r
-\r
-static void Op8A(void)                                                 // TXA\r
-{\r
-       regs.a = regs.x;\r
-       SET_ZN(regs.a);\r
-}\r
-\r
-/*\r
-TXS    Implied         TXS                     9A      1       2\r
-*/\r
-\r
-static void Op9A(void)                                                 // TXS\r
-{\r
-       regs.sp = regs.x;\r
-}\r
-\r
-/*\r
-TYA    Implied         TYA                     98      1       2\r
-*/\r
-static void Op98(void)                                                 // TYA\r
-{\r
-       regs.a = regs.y;\r
-       SET_ZN(regs.a);\r
-}\r
-\r
-static void Op__(void)\r
-{\r
-       regs.cpuFlags |= V65C02_STATE_ILLEGAL_INST;\r
-}\r
-\r
-\r
-//\r
-// Ok, the exec_op[] array is globally defined here basically to save\r
-// a LOT of unnecessary typing.  Sure it's ugly, but hey, it works!\r
-//\r
-void (* exec_op[256])() = {\r
-       Op00, Op01, Op__, Op__, Op04, Op05, Op06, Op07, Op08, Op09, Op0A, Op__, Op0C, Op0D, Op0E, Op0F,\r
-       Op10, Op11, Op12, Op__, Op14, Op15, Op16, Op17, Op18, Op19, Op1A, Op__, Op1C, Op1D, Op1E, Op1F,\r
-       Op20, Op21, Op__, Op__, Op24, Op25, Op26, Op27, Op28, Op29, Op2A, Op__, Op2C, Op2D, Op2E, Op2F,\r
-       Op30, Op31, Op32, Op__, Op34, Op35, Op36, Op37, Op38, Op39, Op3A, Op__, Op3C, Op3D, Op3E, Op3F,\r
-       Op40, Op41, Op__, Op__, Op__, Op45, Op46, Op47, Op48, Op49, Op4A, Op__, Op4C, Op4D, Op4E, Op4F,\r
-       Op50, Op51, Op52, Op__, Op__, Op55, Op56, Op57, Op58, Op59, Op5A, Op__, Op__, Op5D, Op5E, Op5F,\r
-       Op60, Op61, Op__, Op__, Op64, Op65, Op66, Op67, Op68, Op69, Op6A, Op__, Op6C, Op6D, Op6E, Op6F,\r
-       Op70, Op71, Op72, Op__, Op74, Op75, Op76, Op77, Op78, Op79, Op7A, Op__, Op7C, Op7D, Op7E, Op7F,\r
-       Op80, Op81, Op__, Op__, Op84, Op85, Op86, Op87, Op88, Op89, Op8A, Op__, Op8C, Op8D, Op8E, Op8F,\r
-       Op90, Op91, Op92, Op__, Op94, Op95, Op96, Op97, Op98, Op99, Op9A, Op__, Op9C, Op9D, Op9E, Op9F,\r
-       OpA0, OpA1, OpA2, Op__, OpA4, OpA5, OpA6, OpA7, OpA8, OpA9, OpAA, Op__, OpAC, OpAD, OpAE, OpAF,\r
-       OpB0, OpB1, OpB2, Op__, OpB4, OpB5, OpB6, OpB7, OpB8, OpB9, OpBA, Op__, OpBC, OpBD, OpBE, OpBF,\r
-       OpC0, OpC1, Op__, Op__, OpC4, OpC5, OpC6, OpC7, OpC8, OpC9, OpCA, Op__, OpCC, OpCD, OpCE, OpCF,\r
-       OpD0, OpD1, OpD2, Op__, Op__, OpD5, OpD6, OpD7, OpD8, OpD9, OpDA, Op__, Op__, OpDD, OpDE, OpDF,\r
-       OpE0, OpE1, Op__, Op__, OpE4, OpE5, OpE6, OpE7, OpE8, OpE9, OpEA, Op__, OpEC, OpED, OpEE, OpEF,\r
-       OpF0, OpF1, OpF2, Op__, Op__, OpF5, OpF6, OpF7, OpF8, OpF9, OpFA, Op__, Op__, OpFD, OpFE, OpFF\r
-};\r
-\r
-//\r
-// Internal "memcpy" (so we don't have to link with any external libraries!)\r
-//\r
-static void myMemcpy(void * dst, void * src, uint32 size)\r
-{\r
-       uint8 * d = (uint8 *)dst, * s = (uint8 *)src;\r
-\r
-       for(uint32 i=0; i<size; i++)\r
-               d[i] = s[i];\r
-}\r
-\r
-/*\r
-FCA8: 38        698  WAIT     SEC\r
-FCA9: 48        699  WAIT2    PHA\r
-FCAA: E9 01     700  WAIT3    SBC   #$01\r
-FCAC: D0 FC     701           BNE   WAIT3      ;1.0204 USEC\r
-FCAE: 68        702           PLA              ;(13+27/2*A+5/2*A*A)\r
-FCAF: E9 01     703           SBC   #$01\r
-FCB1: D0 F6     704           BNE   WAIT2\r
-FCB3: 60        705           RTS\r
-\r
-FBD9: C9 87     592  BELL1    CMP   #$87       ;BELL CHAR? (CNTRL-G)\r
-FBDB: D0 12     593           BNE   RTS2B      ;  NO, RETURN\r
-FBDD: A9 40     594           LDA   #$40       ;DELAY .01 SECONDS\r
-FBDF: 20 A8 FC  595           JSR   WAIT\r
-FBE2: A0 C0     596           LDY   #$C0\r
-FBE4: A9 0C     597  BELL2    LDA   #$0C       ;TOGGLE SPEAKER AT\r
-FBE6: 20 A8 FC  598           JSR   WAIT       ;  1 KHZ FOR .1 SEC.\r
-FBE9: AD 30 C0  599           LDA   SPKR\r
-FBEC: 88        600           DEY\r
-FBED: D0 F5     601           BNE   BELL2\r
-FBEF: 60        602  RTS2B    RTS\r
-*/\r
-//int instCount[256];\r
-#ifdef __DEBUG__\r
-bool dumpDis = false;\r
-#endif\r
-//\r
-// Function to execute 6808 for "cycles" cycles\r
-//\r
-void Execute65C02(V65C02REGS * context, uint32 cycles)\r
-{\r
-       myMemcpy(&regs, context, sizeof(V65C02REGS));\r
-\r
-       // Execute here...\r
-       while (regs.clock < cycles)\r
-       {\r
-#if 0\r
-/*if (regs.pc == 0x4007)\r
-{\r
-       dumpDis = true;\r
-}//*/\r
-if (regs.pc == 0x444B)\r
-{\r
-       WriteLog("\n*** End of wait...\n\n");\r
-       dumpDis = true;\r
-}//*/\r
-if (regs.pc == 0x444E)\r
-{\r
-       WriteLog("\n*** Start of wait...\n\n");\r
-       dumpDis = false;\r
-}//*/\r
-#endif\r
-\r
-#ifdef __DEBUGMON__\r
-//WAIT is commented out here because it's called by BELL1...\r
-if (regs.pc == 0xFCA8)\r
-{\r
-       WriteLog("\n*** WAIT subroutine...\n\n");\r
-       dumpDis = false;\r
-}//*/\r
-if (regs.pc == 0xFBD9)\r
-{\r
-       WriteLog("\n*** BELL1 subroutine...\n\n");\r
-//     dumpDis = false;\r
-}//*/\r
-if (regs.pc == 0xFC58)\r
-{\r
-       WriteLog("\n*** HOME subroutine...\n\n");\r
-//     dumpDis = false;\r
-}//*/\r
-if (regs.pc == 0xFDED)\r
-{\r
-       WriteLog("\n*** COUT subroutine...\n\n");\r
-       dumpDis = false;\r
-}\r
-#endif\r
-\r
-#ifdef __DEBUG__\r
-if (dumpDis)\r
-       Decode65C02(regs.pc);\r
-#endif\r
-               uint8 opcode = regs.RdMem(regs.pc++);\r
-\r
-//if (!(regs.cpuFlags & V65C02_STATE_ILLEGAL_INST))\r
-//instCount[opcode]++;\r
-\r
-               exec_op[opcode]();                                                              // Execute that opcode...\r
-               regs.clock += CPUCycles[opcode];\r
-#ifdef __DEBUG__\r
-if (dumpDis)\r
-       WriteLog(" [PC=%04X, SP=%04X, CC=%s%s-%s%s%s%s%s, A=%02X, X=%02X, Y=%02X]\n",\r
-               regs.pc, 0x0100 + regs.sp,\r
-               (regs.cc & FLAG_N ? "N" : "-"), (regs.cc & FLAG_V ? "V" : "-"),\r
-               (regs.cc & FLAG_B ? "B" : "-"), (regs.cc & FLAG_D ? "D" : "-"),\r
-               (regs.cc & FLAG_I ? "I" : "-"), (regs.cc & FLAG_Z ? "Z" : "-"),\r
-               (regs.cc & FLAG_C ? "C" : "-"), regs.a, regs.x, regs.y);\r
-#endif\r
-\r
-#ifdef __DEBUGMON__\r
-if (regs.pc == 0xFCB3) // WAIT exit point\r
-{\r
-       dumpDis = true;\r
-}//*/\r
-/*if (regs.pc == 0xFBEF)       // BELL1 exit point\r
-{\r
-       dumpDis = true;\r
-}//*/\r
-/*if (regs.pc == 0xFC22)       // HOME exit point\r
-{\r
-       dumpDis = true;\r
-}//*/\r
-if (regs.pc == 0xFDFF) // COUT exit point\r
-{\r
-       dumpDis = true;\r
-}\r
-if (regs.pc == 0xFBD8)\r
-{\r
-       WriteLog("\n*** BASCALC set BASL/H = $%04X\n\n", RdMemW(0x0028));\r
-}//*/\r
-#endif\r
-\r
-//These should be correct now...\r
-               if (regs.cpuFlags & V65C02_ASSERT_LINE_RESET)\r
-               {\r
-#ifdef __DEBUG__\r
-WriteLog("\n*** RESET ***\n\n");\r
-#endif\r
-                       // Not sure about this...\r
-                       regs.sp = 0xFF;\r
-                       regs.cc = FLAG_B | FLAG_I;                                      // Reset the CC register\r
-                       regs.pc = RdMemW(0xFFFC);                                       // And load PC with the RESET vector\r
-\r
-                       context->cpuFlags &= ~V65C02_ASSERT_LINE_RESET;\r
-                       regs.cpuFlags &= ~V65C02_ASSERT_LINE_RESET;\r
-               }\r
-               else if (regs.cpuFlags & V65C02_ASSERT_LINE_NMI)\r
-               {\r
-#ifdef __DEBUG__\r
-WriteLog("\n*** NMI ***\n\n");\r
-#endif\r
-                       regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);   // Save PC and CC\r
-                       regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);\r
-                       regs.WrMem(0x0100 + regs.sp--, regs.cc);\r
-                       regs.cc |= FLAG_I;                                                      // Set I\r
-                       regs.cc &= ~FLAG_D;                                                     // & clear D\r
-                       regs.pc = RdMemW(0xFFFA);                                       // And do it!\r
-\r
-                       regs.clock += 7;\r
-                       context->cpuFlags &= ~V65C02_ASSERT_LINE_NMI;// Reset the asserted line (NMI)...\r
-                       regs.cpuFlags &= ~V65C02_ASSERT_LINE_NMI;       // Reset the asserted line (NMI)...\r
-               }\r
-               else if (regs.cpuFlags & V65C02_ASSERT_LINE_IRQ)\r
-               {\r
-                       if (!(regs.cc & FLAG_I))                                        // Process an interrupt (I=0)?\r
-                       {\r
-#ifdef __DEBUG__\r
-WriteLog("\n*** IRQ ***\n\n");\r
-#endif\r
-                               regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);   // Save PC and CC\r
-                               regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);\r
-                               regs.WrMem(0x0100 + regs.sp--, regs.cc);\r
-                               regs.cc |= FLAG_I;                                              // Set I\r
-                               regs.cc &= ~FLAG_D;                                             // & clear D\r
-                               regs.pc = RdMemW(0xFFFE);                               // And do it!\r
-\r
-                               regs.clock += 7;\r
-                               context->cpuFlags &= ~V65C02_ASSERT_LINE_IRQ;   // Reset the asserted line (IRQ)...\r
-                               regs.cpuFlags &= ~V65C02_ASSERT_LINE_IRQ;       // Reset the asserted line (IRQ)...\r
-                       }\r
-               }\r
-       }\r
-\r
-       myMemcpy(context, &regs, sizeof(V65C02REGS));\r
-}\r
-\r
-//\r
-// Get the clock of the currently executing CPU\r
-//\r
-uint32 GetCurrentV65C02Clock(void)\r
-{\r
-       return regs.clock;\r
-}\r
+//
+// Virtual 65C02 Emulator v1.0
+//
+// by James L. Hammons
+// (c) 2005 Underground Software
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  01/04/2006  Added changelog ;-)
+//
+
+//OK, the wraparound bug exists in both the Apple and Atari versions of Ultima II.
+//However, the Atari version *does* occassionally pick strength while the Apple
+//versions do not--which would seem to indicate a bug either in the RNG algorithm,
+//the 65C02 core, or the Apple hardware. Need to investigate all three!
+
+#define __DEBUG__
+//#define __DEBUGMON__
+
+#include "v65c02.h"
+
+#ifdef __DEBUG__
+#include "dis65c02.h"
+#include "log.h"
+#endif
+
+// Various macros
+
+#define CLR_Z                          (regs.cc &= ~FLAG_Z)
+#define CLR_ZN                         (regs.cc &= ~(FLAG_Z | FLAG_N))
+#define CLR_ZNC                                (regs.cc &= ~(FLAG_Z | FLAG_N | FLAG_C))
+#define CLR_V                          (regs.cc &= ~FLAG_V)
+#define CLR_N                          (regs.cc &= ~FLAG_N)
+#define SET_Z(r)                       (regs.cc = ((r) == 0 ? regs.cc | FLAG_Z : regs.cc & ~FLAG_Z))
+#define SET_N(r)                       (regs.cc = ((r) & 0x80 ? regs.cc | FLAG_N : regs.cc & ~FLAG_N))
+
+//Not sure that this code is computing the carry correctly... Investigate! [Seems to be]
+#define SET_C_ADD(a,b)         (regs.cc = ((uint8)(b) > (uint8)(~(a)) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))
+//#define SET_C_SUB(a,b)               (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))
+#define SET_C_CMP(a,b)         (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))
+#define SET_ZN(r)                      SET_N(r); SET_Z(r)
+#define SET_ZNC_ADD(a,b,r)     SET_N(r); SET_Z(r); SET_C_ADD(a,b)
+//#define SET_ZNC_SUB(a,b,r)   SET_N(r); SET_Z(r); SET_C_SUB(a,b)
+#define SET_ZNC_CMP(a,b,r)     SET_N(r); SET_Z(r); SET_C_CMP(a,b)
+
+//Small problem with the EA_ macros: ABS macros don't increment the PC!!! !!! FIX !!!
+#define EA_IMM                         regs.pc++
+#define EA_ZP                          regs.RdMem(regs.pc++)
+#define EA_ZP_X                                (regs.RdMem(regs.pc++) + regs.x) & 0xFF
+#define EA_ZP_Y                                (regs.RdMem(regs.pc++) + regs.y) & 0xFF
+#define EA_ABS                         RdMemW(regs.pc)
+#define EA_ABS_X                       RdMemW(regs.pc) + regs.x
+#define EA_ABS_Y                       RdMemW(regs.pc) + regs.y
+#define EA_IND_ZP_X                    RdMemW((regs.RdMem(regs.pc++) + regs.x) & 0xFF)
+#define EA_IND_ZP_Y                    RdMemW(regs.RdMem(regs.pc++)) + regs.y
+#define EA_IND_ZP                      RdMemW(regs.RdMem(regs.pc++))
+
+#define READ_IMM                       regs.RdMem(EA_IMM)
+#define READ_ZP                                regs.RdMem(EA_ZP)
+#define READ_ZP_X                      regs.RdMem(EA_ZP_X)
+#define READ_ZP_Y                      regs.RdMem(EA_ZP_Y)
+#define READ_ABS                       regs.RdMem(EA_ABS);     regs.pc += 2
+#define READ_ABS_X                     regs.RdMem(EA_ABS_X);   regs.pc += 2
+#define READ_ABS_Y                     regs.RdMem(EA_ABS_Y);   regs.pc += 2
+#define READ_IND_ZP_X          regs.RdMem(EA_IND_ZP_X)
+#define READ_IND_ZP_Y          regs.RdMem(EA_IND_ZP_Y)
+#define READ_IND_ZP                    regs.RdMem(EA_IND_ZP)
+
+#define READ_IMM_WB(v)         uint16 addr = EA_IMM;      v = regs.RdMem(addr)
+#define READ_ZP_WB(v)          uint16 addr = EA_ZP;       v = regs.RdMem(addr)
+#define READ_ZP_X_WB(v)                uint16 addr = EA_ZP_X;     v = regs.RdMem(addr)
+#define READ_ABS_WB(v)         uint16 addr = EA_ABS;      v = regs.RdMem(addr); regs.pc += 2
+#define READ_ABS_X_WB(v)       uint16 addr = EA_ABS_X;    v = regs.RdMem(addr); regs.pc += 2
+#define READ_ABS_Y_WB(v)       uint16 addr = EA_ABS_Y;    v = regs.RdMem(addr); regs.pc += 2
+#define READ_IND_ZP_X_WB(v)    uint16 addr = EA_IND_ZP_X; v = regs.RdMem(addr)
+#define READ_IND_ZP_Y_WB(v)    uint16 addr = EA_IND_ZP_Y; v = regs.RdMem(addr)
+#define READ_IND_ZP_WB(v)      uint16 addr = EA_IND_ZP;   v = regs.RdMem(addr)
+
+#define WRITE_BACK(d)          regs.WrMem(addr, (d))
+
+// Private global variables
+
+static V65C02REGS regs;
+
+//This is probably incorrect, at least WRT to the $x7 and $xF opcodes... !!! FIX !!!
+//Also this doesn't take into account the extra cycle it takes when an indirect fetch
+//(ABS, ABS X/Y, ZP) crosses a page boundary, or extra cycle for BCD add/subtract...
+#warning Cycle counts are not accurate--!!! FIX !!!
+static uint8 CPUCycles[256] = {
+       7, 6, 1, 1, 5, 3, 5, 1, 3, 2, 2, 1, 6, 4, 6, 1,
+       2, 5, 5, 1, 5, 4, 6, 1, 2, 4, 2, 1, 6, 4, 6, 1,
+       6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 4, 4, 6, 1,
+       2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 2, 1, 4, 4, 6, 1,
+       6, 6, 1, 1, 1, 3, 5, 1, 3, 2, 2, 1, 3, 4, 6, 1,
+       2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1,
+       6, 6, 1, 1, 3, 3, 5, 1, 4, 2, 2, 1, 6, 4, 6, 1,
+       2, 5, 5, 1, 4, 4, 6, 1, 2, 4, 4, 1, 6, 4, 6, 1,
+       2, 6, 1, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1,
+       2, 6, 5, 1, 4, 4, 4, 1, 2, 5, 2, 1, 4, 5, 5, 1,
+       2, 6, 2, 1, 3, 3, 3, 1, 2, 2, 2, 1, 4, 4, 4, 1,
+       2, 5, 5, 1, 4, 4, 4, 1, 2, 4, 2, 1, 4, 4, 4, 1,
+       2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1,
+       2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 3, 1, 1, 4, 6, 1,
+       2, 6, 1, 1, 3, 3, 5, 1, 2, 2, 2, 1, 4, 4, 6, 1,
+       2, 5, 5, 1, 1, 4, 6, 1, 2, 4, 4, 1, 1, 4, 6, 1 };
+
+// Private function prototypes
+
+static uint16 RdMemW(uint16);
+
+//
+// Read a uint16 out of 65C02 memory (big endian format)
+//
+static uint16 RdMemW(uint16 address)
+{
+       return (uint16)(regs.RdMem(address + 1) << 8) | regs.RdMem(address + 0);
+}
+
+
+//
+// 65C02 OPCODE IMPLEMENTATION
+//
+// NOTE: Lots of macros are used here to save a LOT of typing. Also
+//       helps speed the debugging process. :-) Because of this, combining
+//       certain lines may look like a good idea but would end in disaster.
+//       You have been warned! ;-)
+//
+
+/*
+Mnemonic       Addressing mode Form            Opcode  Size    Timing
+
+ADC                    Immediate               ADC #Oper       69              2               2
+                       Zero Page               ADC Zpg         65              2               3
+                       Zero Page,X             ADC Zpg,X       75              2               4
+                       Absolute                ADC Abs         6D              3               4
+                       Absolute,X              ADC Abs,X       7D              3               4
+                       Absolute,Y              ADC Abs,Y       79              3               4
+                       (Zero Page,X)   ADC (Zpg,X)     61              2               6
+                       (Zero Page),Y   ADC (Zpg),Y     71              2               5
+                       (Zero Page)             ADC (Zpg)       72              2               5
+*/
+
+// ADC opcodes
+
+//This is non-optimal, but it works--optimize later. :-)
+#define OP_ADC_HANDLER(m) \
+       uint16 sum = (uint16)regs.a + (m) + (uint16)(regs.cc & FLAG_C); \
+\
+       if (regs.cc & FLAG_D) \
+       { \
+               if ((sum & 0x0F) > 0x09) \
+                       sum += 0x06; \
+\
+               if ((sum & 0xF0) > 0x90) \
+                       sum += 0x60; \
+       } \
+\
+       regs.cc = (regs.cc & ~FLAG_C) | (sum >> 8); \
+       regs.cc = (~(regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \
+       regs.a = sum & 0xFF; \
+       SET_ZN(regs.a)
+
+//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V);
+
+static void Op69(void)                                                 // ADC #
+{
+       uint16 m = READ_IMM;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op65(void)                                                 // ADC ZP
+{
+       uint16 m = READ_ZP;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op75(void)                                                 // ADC ZP, X
+{
+       uint16 m = READ_ZP_X;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op6D(void)                                                 // ADC ABS
+{
+       uint16 m = READ_ABS;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op7D(void)                                                 // ADC ABS, X
+{
+       uint16 m = READ_ABS_X;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op79(void)                                                 // ADC ABS, Y
+{
+       uint16 m = READ_ABS_Y;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op61(void)                                                 // ADC (ZP, X)
+{
+       uint16 m = READ_IND_ZP_X;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op71(void)                                                 // ADC (ZP), Y
+{
+       uint16 m = READ_IND_ZP_Y;
+       OP_ADC_HANDLER(m);
+}
+
+static void Op72(void)                                                 // ADC (ZP)
+{
+       uint16 m = READ_IND_ZP;
+       OP_ADC_HANDLER(m);
+}
+
+/*
+AND    Immediate       AND #Oper       29      2       2
+Zero Page              AND Zpg         25      2       3
+Zero Page,X            AND Zpg,X       35      2       4
+Absolute               AND Abs         2D      3       4
+Absolute,X             AND Abs,X       3D      3       4
+Absolute,Y             AND Abs,Y       39      3       4
+(Zero Page,X)  AND (Zpg,X)     21      2       6
+(Zero Page),Y  AND (Zpg),Y     31      2       5
+(Zero Page)            AND (Zpg)       32      2       5
+*/
+
+// AND opcodes
+
+#define OP_AND_HANDLER(m) \
+       regs.a &= m; \
+       SET_ZN(regs.a)
+
+static void Op29(void)                                                 // AND #
+{
+       uint8 m = READ_IMM;
+       OP_AND_HANDLER(m);
+}
+
+static void Op25(void)                                                 // AND ZP
+{
+       uint8 m = READ_ZP;
+       OP_AND_HANDLER(m);
+}
+
+static void Op35(void)                                                 // AND ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_AND_HANDLER(m);
+}
+
+static void Op2D(void)                                                 // AND ABS
+{
+       uint8 m = READ_ABS;
+       OP_AND_HANDLER(m);
+}
+
+static void Op3D(void)                                                 // AND ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_AND_HANDLER(m);
+}
+
+static void Op39(void)                                                 // AND ABS, Y
+{
+       uint8 m = READ_ABS_Y;
+       OP_AND_HANDLER(m);
+}
+
+static void Op21(void)                                                 // AND (ZP, X)
+{
+       uint8 m = READ_IND_ZP_X;
+       OP_AND_HANDLER(m);
+}
+
+static void Op31(void)                                                 // AND (ZP), Y
+{
+       uint8 m = READ_IND_ZP_Y;
+       OP_AND_HANDLER(m);
+}
+
+static void Op32(void)                                                 // AND (ZP)
+{
+       uint8 m = READ_IND_ZP;
+       OP_AND_HANDLER(m);
+}
+
+/*
+ASL    Accumulator     ASL A           0A      1       2
+Zero Page              ASL Zpg         06      2       5
+Zero Page,X            ASL Zpg,X       16      2       6
+Absolute               ASL Abs         0E      3       6
+Absolute,X             ASL Abs,X       1E      3       7
+*/
+
+/*static void Op78(void)  // LSL ABS
+{
+       uint8 tmp;  uint16 addr;
+       addr = FetchW();
+       tmp = regs.RdMem(addr);
+       (tmp&0x80 ? regs.cc |= 0x01 : regs.cc &= 0xFE);  // Shift hi bit into Carry
+       tmp <<= 1;
+       regs.WrMem(addr, tmp);
+       (tmp == 0 ? regs.cc |= 0x04 : regs.cc &= 0xFB);  // Adjust Zero flag
+       (tmp&0x80 ? regs.cc |= 0x08 : regs.cc &= 0xF7);  // Adjust Negative flag
+}*/
+
+// ASL opcodes
+
+#define OP_ASL_HANDLER(m) \
+       regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \
+       (m) <<= 1; \
+       SET_ZN((m))
+
+static void Op0A(void)                                                 // ASL A
+{
+       OP_ASL_HANDLER(regs.a);
+}
+
+static void Op06(void)                                                 // ASL ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_ASL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op16(void)                                                 // ASL ZP, X
+{
+       uint8 m;
+       READ_ZP_X_WB(m);
+       OP_ASL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op0E(void)                                                 // ASL ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_ASL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op1E(void)                                                 // ASL ABS, X
+{
+       uint8 m;
+       READ_ABS_X_WB(m);
+       OP_ASL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+BBR0   Relative        BBR0 Oper       0F      2       2
+BBR1   Relative        BBR1 Oper       1F      2       2
+BBR2   Relative        BBR2 Oper       2F      2       2
+BBR3   Relative        BBR3 Oper       3F      2       2
+BBR4   Relative        BBR4 Oper       4F      2       2
+BBR5   Relative        BBR5 Oper       5F      2       2
+BBR6   Relative        BBR6 Oper       6F      2       2
+BBR7   Relative        BBR7 Oper       7F      2       2
+BBS0   Relative        BBS0 Oper       8F      2       2
+BBS1   Relative        BBS1 Oper       9F      2       2
+BBS2   Relative        BBS2 Oper       AF      2       2
+BBS3   Relative        BBS3 Oper       BF      2       2
+BBS4   Relative        BBS4 Oper       CF      2       2
+BBS5   Relative        BBS5 Oper       DF      2       2
+BBS6   Relative        BBS6 Oper       EF      2       2
+BBS7   Relative        BBS7 Oper       FF      2       2
+*/
+
+// BBR/Sn opcodes
+
+static void Op0F(void)                                                 // BBR0
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x01))
+               regs.pc += m;
+}
+
+static void Op1F(void)                                                 // BBR1
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x02))
+               regs.pc += m;
+}
+
+static void Op2F(void)                                                 // BBR2
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x04))
+               regs.pc += m;
+}
+
+static void Op3F(void)                                                 // BBR3
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x08))
+               regs.pc += m;
+}
+
+static void Op4F(void)                                                 // BBR4
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x10))
+               regs.pc += m;
+}
+
+static void Op5F(void)                                                 // BBR5
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x20))
+               regs.pc += m;
+}
+
+static void Op6F(void)                                                 // BBR6
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x40))
+               regs.pc += m;
+}
+
+static void Op7F(void)                                                 // BBR7
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.a & 0x80))
+               regs.pc += m;
+}
+
+static void Op8F(void)                                                 // BBS0
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x01)
+               regs.pc += m;
+}
+
+static void Op9F(void)                                                 // BBS1
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x02)
+               regs.pc += m;
+}
+
+static void OpAF(void)                                                 // BBS2
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x04)
+               regs.pc += m;
+}
+
+static void OpBF(void)                                                 // BBS3
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x08)
+               regs.pc += m;
+}
+
+static void OpCF(void)                                                 // BBS4
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x10)
+               regs.pc += m;
+}
+
+static void OpDF(void)                                                 // BBS5
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x20)
+               regs.pc += m;
+}
+
+static void OpEF(void)                                                 // BBS6
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x40)
+               regs.pc += m;
+}
+
+static void OpFF(void)                                                 // BBS7
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.a & 0x80)
+               regs.pc += m;
+}
+
+/*
+BCC    Relative        BCC Oper        90      2       2
+BCS    Relative        BCS Oper        B0      2       2
+BEQ    Relative        BEQ Oper        F0      2       2
+*/
+
+// Branch opcodes
+
+static void Op90(void)                                                 // BCC
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.cc & FLAG_C))
+               regs.pc += m;
+}
+
+static void OpB0(void)                                                 // BCS
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.cc & FLAG_C)
+               regs.pc += m;
+}
+
+static void OpF0(void)                                                 // BEQ
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.cc & FLAG_Z)
+               regs.pc += m;
+}
+
+/*
+BIT    Immediate       BIT #Oper       89      2       2
+Zero Page              BIT Zpg         24      2       3
+Zero Page,X            BIT Zpg,X       34      2       4
+Absolute               BIT Abs         2C      3       4
+Absolute,X             BIT Abs,X       3C      3       4
+*/
+
+// BIT opcodes
+
+/* 1. The BIT instruction copies bit 6 to the V flag, and bit 7 to the N flag (except in immediate
+      addressing mode where V & N are untouched.) The accumulator and the operand are ANDed and the
+      Z flag is set appropriately. */
+
+#define OP_BIT_HANDLER(m) \
+       int8 result = regs.a & (m); \
+       regs.cc &= ~(FLAG_N | FLAG_V); \
+       regs.cc |= ((m) & 0xC0); \
+       SET_Z(result)
+
+static void Op89(void)                                                 // BIT #
+{
+       int8 m = READ_IMM;
+       int8 result = regs.a & m;
+       SET_Z(result);
+}
+
+static void Op24(void)                                                 // BIT ZP
+{
+       int8 m = READ_ZP;
+       OP_BIT_HANDLER(m);
+}
+
+static void Op34(void)                                                 // BIT ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_BIT_HANDLER(m);
+}
+
+static void Op2C(void)                                                 // BIT ABS
+{
+       uint8 m = READ_ABS;
+       OP_BIT_HANDLER(m);
+}
+
+static void Op3C(void)                                                 // BIT ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_BIT_HANDLER(m);
+}
+
+/*
+BMI    Relative        BMI Oper        30      2       2
+BNE    Relative        BNE Oper        D0      2       2
+BPL    Relative        BPL Oper        10      2       2
+BRA    Relative        BRA Oper        80      2       3
+*/
+
+// More branch opcodes
+
+static void Op30(void)                                                 // BMI
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.cc & FLAG_N)
+               regs.pc += m;
+}
+
+static void OpD0(void)                                                 // BNE
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.cc & FLAG_Z))
+               regs.pc += m;
+}
+
+static void Op10(void)                                                 // BPL
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.cc & FLAG_N))
+               regs.pc += m;
+}
+
+static void Op80(void)                                                 // BRA
+{
+       int16 m = (int16)(int8)READ_IMM;
+       regs.pc += m;
+}
+
+/*
+BRK    Implied         BRK                     00      1       7
+*/
+
+static void Op00(void)                                                 // BRK
+{
+       regs.cc |= FLAG_B;                                                      // Set B
+       regs.pc++;                                                                      // RTI comes back to the instruction one byte after the BRK
+       regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);   // Save PC and CC
+       regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);
+       regs.WrMem(0x0100 + regs.sp--, regs.cc);
+       regs.cc |= FLAG_I;                                                      // Set I
+       regs.cc &= ~FLAG_D;                                                     // & clear D
+       regs.pc = RdMemW(0xFFFE);                                       // Grab the IRQ vector & go...
+}
+
+/*
+BVC    Relative        BVC Oper        50      2       2
+BVS    Relative        BVS Oper        70      2       2
+*/
+
+// Even more branch opcodes
+
+static void Op50(void)                                                 // BVC
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (!(regs.cc & FLAG_V))
+               regs.pc += m;
+}
+
+static void Op70(void)                                                 // BVS
+{
+       int16 m = (int16)(int8)READ_IMM;
+
+       if (regs.cc & FLAG_V)
+               regs.pc += m;
+}
+
+/*
+CLC    Implied         CLC                     18      1       2
+*/
+
+static void Op18(void)                                                 // CLC
+{
+       regs.cc &= ~FLAG_C;
+}
+
+/*
+CLD    Implied         CLD                     D8      1       2
+*/
+
+static void OpD8(void)                                                 // CLD
+{
+       regs.cc &= ~FLAG_D;
+}
+
+/*
+CLI    Implied         CLI                     58      1       2
+*/
+
+static void Op58(void)                                                 // CLI
+{
+       regs.cc &= ~FLAG_I;
+}
+
+/*
+CLV    Implied         CLV                     B8      1       2
+*/
+
+static void OpB8(void)                                                 // CLV
+{
+       regs.cc &= ~FLAG_V;
+}
+
+/*
+CMP    Immediate       CMP #Oper       C9      2       2
+Zero Page              CMP Zpg         C5      2       3
+Zero Page,X            CMP Zpg         D5      2       4
+Absolute               CMP Abs         CD      3       4
+Absolute,X             CMP Abs,X       DD      3       4
+Absolute,Y             CMP Abs,Y       D9      3       4
+(Zero Page,X)  CMP (Zpg,X)     C1      2       6
+(Zero Page),Y  CMP (Zpg),Y     D1      2       5
+(Zero Page)            CMP (Zpg)       D2      2       5
+*/
+
+// CMP opcodes
+
+/*
+Here's the latest: The CMP is NOT generating the Z flag when A=$C0!
+
+FABA: A0 07          LDY   #$07                [PC=FABC, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07]
+FABC: C6 01          DEC   $01                 [PC=FABE, SP=01FF, CC=N--B-I--, A=00, X=00, Y=07]
+FABE: A5 01          LDA   $01                 [PC=FAC0, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]
+FAC0: C9 C0          CMP   #$C0                [PC=FAC2, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]
+FAC2: F0 D7          BEQ   $FA9B               [PC=FAC4, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]
+FAC4: 8D F8 07       STA   $07F8               [PC=FAC7, SP=01FF, CC=N--B-I--, A=C0, X=00, Y=07]
+FAC7: B1 00          LDA   ($00),Y
+*** Read at I/O address C007
+               [PC=FAC9, SP=01FF, CC=---B-IZ-, A=00, X=00, Y=07]
+FAC9: D9 01 FB       CMP   $FB01,Y             [PC=FACC, SP=01FF, CC=---B-I--, A=00, X=00, Y=07]
+FACC: D0 EC          BNE   $FABA               [PC=FABA, SP=01FF, CC=---B-I--, A=00, X=00, Y=07]
+
+Should be fixed now... (was adding instead of subtracting!)
+
+Small problem here... First two should set the carry while the last one should clear it. !!! FIX !!! [DONE]
+
+FDF0: C9 A0          CMP   #$A0                [PC=FDF2, SP=01F1, CC=---B-IZ-, A=A0, X=02, Y=03]
+FD7E: C9 E0          CMP   #$E0                [PC=FD80, SP=01F4, CC=N--B-I--, A=A0, X=02, Y=03]
+FD38: C9 9B          CMP   #$9B                [PC=FD3A, SP=01F2, CC=---B-I-C, A=A0, X=02, Y=03]
+
+Compare sets flags as if a subtraction had been carried out. If the value in the accumulator is equal or greater than the compared value, the Carry will be set. The equal (Z) and sign (S) flags will be set based on equality or lack thereof and the sign (i.e. A>=$80) of the accumulator.
+*/
+
+#define OP_CMP_HANDLER(m) \
+       uint8 result = regs.a - (m); \
+       SET_ZNC_CMP(m, regs.a, result)
+
+static void OpC9(void)                                                 // CMP #
+{
+       uint8 m = READ_IMM;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpC5(void)                                                 // CMP ZP
+{
+       uint8 m = READ_ZP;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpD5(void)                                                 // CMP ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpCD(void)                                                 // CMP ABS
+{
+       uint8 m = READ_ABS;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpDD(void)                                                 // CMP ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpD9(void)                                                 // CMP ABS, Y
+{
+       uint8 m = READ_ABS_Y;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpC1(void)                                                 // CMP (ZP, X)
+{
+       uint8 m = READ_IND_ZP_X;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpD1(void)                                                 // CMP (ZP), Y
+{
+       uint8 m = READ_IND_ZP_Y;
+       OP_CMP_HANDLER(m);
+}
+
+static void OpD2(void)                                                 // CMP (ZP)
+{
+       uint8 m = READ_IND_ZP;
+       OP_CMP_HANDLER(m);
+}
+
+/*
+CPX    Immediate       CPX #Oper       E0      2       2
+Zero Page              CPX Zpg         E4      2       3
+Absolute               CPX Abs         EC      3       4
+*/
+
+// CPX opcodes
+
+#define OP_CPX_HANDLER(m) \
+       uint8 result = regs.x - (m); \
+       SET_ZNC_CMP(m, regs.x, result)
+
+static void OpE0(void)                                                 // CPX #
+{
+       uint8 m = READ_IMM;
+       OP_CPX_HANDLER(m);
+}
+
+static void OpE4(void)                                                 // CPX ZP
+{
+       uint8 m = READ_ZP;
+       OP_CPX_HANDLER(m);
+}
+
+static void OpEC(void)                                                 // CPX ABS
+{
+       uint8 m = READ_ABS;
+       OP_CPX_HANDLER(m);
+}
+
+/*
+CPY    Immediate       CPY #Oper       C0      2       2
+Zero Page              CPY Zpg         C4      2       3
+Absolute               CPY Abs         CC      3       4
+*/
+
+// CPY opcodes
+
+#define OP_CPY_HANDLER(m) \
+       uint8 result = regs.y - (m); \
+       SET_ZNC_CMP(m, regs.y, result)
+
+static void OpC0(void)                                                 // CPY #
+{
+       uint8 m = READ_IMM;
+       OP_CPY_HANDLER(m);
+}
+
+static void OpC4(void)                                                 // CPY ZP
+{
+       uint8 m = READ_ZP;
+       OP_CPY_HANDLER(m);
+}
+
+static void OpCC(void)                                                 // CPY ABS
+{
+       uint8 m = READ_ABS;
+       OP_CPY_HANDLER(m);
+}
+
+/*
+DEA    Accumulator     DEA                     3A      1       2
+*/
+
+static void Op3A(void)                                                 // DEA
+{
+       regs.a--;
+       SET_ZN(regs.a);
+}
+
+/*
+DEC    Zero Page       DEC Zpg         C6      2       5
+Zero Page,X            DEC Zpg,X       D6      2       6
+Absolute               DEC Abs         CE      3       6
+Absolute,X             DEC Abs,X       DE      3       7
+*/
+
+// DEC opcodes
+
+#define OP_DEC_HANDLER(m) \
+       m--; \
+       SET_ZN(m)
+
+static void OpC6(void)                                                 // DEC ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_DEC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void OpD6(void)                                                 // DEC ZP, X
+{
+       uint8 m;
+       READ_ZP_X_WB(m);
+       OP_DEC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void OpCE(void)                                                 // DEC ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_DEC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void OpDE(void)                                                 // DEC ABS, X
+{
+       uint8 m;
+       READ_ABS_X_WB(m);
+       OP_DEC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+Here's one problem: DEX is setting the N flag!
+
+D3EE: A2 09          LDX   #$09                [PC=D3F0, SP=01F7, CC=---B-I-C, A=01, X=09, Y=08]
+D3F0: 98             TYA               [PC=D3F1, SP=01F7, CC=N--B-I-C, A=08, X=09, Y=08]
+D3F1: 48             PHA               [PC=D3F2, SP=01F6, CC=N--B-I-C, A=08, X=09, Y=08]
+D3F2: B5 93          LDA   $93,X               [PC=D3F4, SP=01F6, CC=---B-IZC, A=00, X=09, Y=08]
+D3F4: CA             DEX               [PC=D3F5, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08]
+D3F5: 10 FA          BPL   $D3F1               [PC=D3F7, SP=01F6, CC=N--B-I-C, A=00, X=08, Y=08]
+D3F7: 20 84 E4       JSR   $E484               [PC=E484, SP=01F4, CC=N--B-I-C, A=00, X=08, Y=08]
+
+should be fixed now...
+*/
+
+/*
+DEX    Implied         DEX                     CA      1       2
+*/
+
+static void OpCA(void)                                                 // DEX
+{
+       regs.x--;
+       SET_ZN(regs.x);
+}
+
+/*
+DEY    Implied         DEY                     88      1       2
+*/
+
+static void Op88(void)                                                 // DEY
+{
+       regs.y--;
+       SET_ZN(regs.y);
+}
+
+/*
+EOR    Immediate       EOR #Oper       49      2       2
+Zero Page              EOR Zpg         45      2       3
+Zero Page,X            EOR Zpg,X       55      2       4
+Absolute               EOR Abs         4D      3       4
+Absolute,X             EOR Abs,X       5D      3       4
+Absolute,Y             EOR Abs,Y       59      3       4
+(Zero Page,X)  EOR (Zpg,X)     41      2       6
+(Zero Page),Y  EOR (Zpg),Y     51      2       5
+(Zero Page)            EOR (Zpg)       52      2       5
+*/
+
+// EOR opcodes
+
+#define OP_EOR_HANDLER(m) \
+       regs.a ^= m; \
+       SET_ZN(regs.a)
+
+static void Op49(void)                                                 // EOR #
+{
+       uint8 m = READ_IMM;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op45(void)                                                 // EOR ZP
+{
+       uint8 m = READ_ZP;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op55(void)                                                 // EOR ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op4D(void)                                                 // EOR ABS
+{
+       uint8 m = READ_ABS;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op5D(void)                                                 // EOR ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op59(void)                                                 // EOR ABS, Y
+{
+       uint8 m = READ_ABS_Y;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op41(void)                                                 // EOR (ZP, X)
+{
+       uint8 m = READ_IND_ZP_X;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op51(void)                                                 // EOR (ZP), Y
+{
+       uint8 m = READ_IND_ZP_Y;
+       OP_EOR_HANDLER(m);
+}
+
+static void Op52(void)                                                 // EOR (ZP)
+{
+       uint8 m = READ_IND_ZP;
+       OP_EOR_HANDLER(m);
+}
+
+/*
+INA    Accumulator     INA                     1A      1       2
+*/
+
+static void Op1A(void)                                                 // INA
+{
+       regs.a++;
+       SET_ZN(regs.a);
+}
+
+/*
+INC    Zero Page       INC Zpg         E6      2       5
+Zero Page,X            INC Zpg,X       F6      2       6
+Absolute               INC Abs         EE      3       6
+Absolute,X             INC Abs,X       FE      3       7
+*/
+
+// INC opcodes
+
+#define OP_INC_HANDLER(m) \
+       m++; \
+       SET_ZN(m)
+
+static void OpE6(void)                                                 // INC ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_INC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void OpF6(void)                                                 // INC ZP, X
+{
+       uint8 m;
+       READ_ZP_X_WB(m);
+       OP_INC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void OpEE(void)                                                 // INC ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_INC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void OpFE(void)                                                 // INC ABS, X
+{
+       uint8 m;
+       READ_ABS_X_WB(m);
+       OP_INC_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+INX    Implied         INX                     E8      1       2
+*/
+
+static void OpE8(void)                                                 // INX
+{
+       regs.x++;
+       SET_ZN(regs.x);
+}
+
+/*
+INY    Implied         INY                     C8      1       2
+*/
+
+static void OpC8(void)                                                 // INY
+{
+       regs.y++;
+       SET_ZN(regs.y);
+}
+
+/*
+JMP    Absolute        JMP Abs         4C      3       3
+(Absolute)             JMP (Abs)       6C      3       5
+(Absolute,X)   JMP (Abs,X)     7C      3       6
+*/
+
+// JMP opcodes
+
+static void Op4C(void)                                                 // JMP ABS
+{
+       regs.pc = RdMemW(regs.pc);
+}
+
+static void Op6C(void)                                                 // JMP (ABS)
+{
+//     uint16 addr = RdMemW(regs.pc);
+//#ifdef __DEBUG__
+//WriteLog("\n[JMP ABS]: addr fetched = %04X, bytes at %04X = %02X %02X (RdMemw=%04X)\n",
+//     addr, addr, regs.RdMem(addr), regs.RdMem(addr+1), RdMemW(addr));
+//#endif
+//     addr = RdMemW(addr);
+       regs.pc = RdMemW(RdMemW(regs.pc));
+}
+
+static void Op7C(void)                                                 // JMP (ABS, X)
+{
+       regs.pc = RdMemW(RdMemW(regs.pc) + regs.x);
+}
+
+/*
+JSR    Absolute        JSR Abs         20      3       6
+*/
+
+//This is not jumping to the correct address... !!! FIX !!! [DONE]
+static void Op20(void)                                                 // JSR
+{
+       uint16 addr = RdMemW(regs.pc);
+       regs.pc++;                                                                      // Since it pushes return address - 1...
+       regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);
+       regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);
+       regs.pc = addr;
+}
+
+/*
+LDA    Immediate       LDA #Oper       A9      2       2
+Zero Page              LDA Zpg         A5      2       3
+Zero Page,X            LDA Zpg,X       B5      2       4
+Absolute               LDA Abs         AD      3       4
+Absolute,X             LDA Abs,X       BD      3       4
+Absolute,Y             LDA Abs,Y       B9      3       4
+(Zero Page,X)  LDA (Zpg,X)     A1      2       6
+(Zero Page),Y  LDA (Zpg),Y     B1      2       5
+(Zero Page)            LDA (Zpg)       B2      2       5
+*/
+
+// LDA opcodes
+
+#define OP_LDA_HANDLER(m) \
+       regs.a = m; \
+       SET_ZN(regs.a)
+
+static void OpA9(void)                                                 // LDA #
+{
+       uint8 m = READ_IMM;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpA5(void)                                                 // LDA ZP
+{
+       uint8 m = READ_ZP;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpB5(void)                                                 // LDA ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpAD(void)                                                 // LDA ABS
+{
+       uint8 m = READ_ABS;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpBD(void)                                                 // LDA ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpB9(void)                                                 // LDA ABS, Y
+{
+       uint8 m = READ_ABS_Y;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpA1(void)                                                 // LDA (ZP, X)
+{
+       uint8 m = READ_IND_ZP_X;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpB1(void)                                                 // LDA (ZP), Y
+{
+       uint8 m = READ_IND_ZP_Y;
+       OP_LDA_HANDLER(m);
+}
+
+static void OpB2(void)                                                 // LDA (ZP)
+{
+       uint8 m = READ_IND_ZP;
+       OP_LDA_HANDLER(m);
+}
+
+/*
+LDX    Immediate       LDX #Oper       A2      2       2
+Zero Page              LDX Zpg         A6      2       3
+Zero Page,Y            LDX Zpg,Y       B6      2       4
+Absolute               LDX Abs         AE      3       4
+Absolute,Y             LDX Abs,Y       BE      3       4
+*/
+
+// LDX opcodes
+
+#define OP_LDX_HANDLER(m) \
+       regs.x = m; \
+       SET_ZN(regs.x)
+
+static void OpA2(void)                                                 // LDX #
+{
+       uint8 m = READ_IMM;
+       OP_LDX_HANDLER(m);
+}
+
+static void OpA6(void)                                                 // LDX ZP
+{
+       uint8 m = READ_ZP;
+       OP_LDX_HANDLER(m);
+}
+
+static void OpB6(void)                                                 // LDX ZP, Y
+{
+       uint8 m = READ_ZP_Y;
+       OP_LDX_HANDLER(m);
+}
+
+static void OpAE(void)                                                 // LDX ABS
+{
+       uint8 m = READ_ABS;
+       OP_LDX_HANDLER(m);
+}
+
+static void OpBE(void)                                                 // LDX ABS, Y
+{
+       uint8 m = READ_ABS_Y;
+       OP_LDX_HANDLER(m);
+}
+
+/*
+LDY    Immediate       LDY #Oper       A0      2       2
+Zero Page              LDY Zpg         A4      2       3
+Zero Page,Y            LDY Zpg,X       B4      2       4
+Absolute               LDY Abs         AC      3       4
+Absolute,Y             LDY Abs,X       BC      3       4
+*/
+
+// LDY opcodes
+
+#define OP_LDY_HANDLER(m) \
+       regs.y = m; \
+       SET_ZN(regs.y)
+
+static void OpA0(void)                                                 // LDY #
+{
+       uint8 m = READ_IMM;
+       OP_LDY_HANDLER(m);
+}
+
+static void OpA4(void)                                                 // LDY ZP
+{
+       uint8 m = READ_ZP;
+       OP_LDY_HANDLER(m);
+}
+
+static void OpB4(void)                                                 // LDY ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_LDY_HANDLER(m);
+}
+
+static void OpAC(void)                                                 // LDY ABS
+{
+       uint8 m = READ_ABS;
+       OP_LDY_HANDLER(m);
+}
+
+static void OpBC(void)                                                 // LDY ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_LDY_HANDLER(m);
+}
+
+/*
+LSR    Accumulator     LSR A           4A      1       2
+Zero Page              LSR Zpg         46      2       5
+Zero Page,X            LSR Zpg,X       56      2       6
+Absolute               LSR Abs         4E      3       6
+Absolute,X             LSR Abs,X       5E      3       7
+*/
+
+// LSR opcodes
+
+#define OP_LSR_HANDLER(m) \
+       regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \
+       (m) >>= 1; \
+       CLR_N; SET_Z((m))
+
+static void Op4A(void)                                                 // LSR A
+{
+       OP_LSR_HANDLER(regs.a);
+}
+
+static void Op46(void)                                                 // LSR ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_LSR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op56(void)                                                 // LSR ZP, X
+{
+       uint8 m;
+       READ_ZP_X_WB(m);
+       OP_LSR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op4E(void)                                                 // LSR ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_LSR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op5E(void)                                                 // LSR ABS, X
+{
+       uint8 m;
+       READ_ABS_X_WB(m);
+       OP_LSR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+NOP    Implied         NOP                     EA      1       2
+*/
+
+static void OpEA(void)                                                 // NOP
+{
+}
+
+/*
+ORA    Immediate       ORA #Oper       09      2       2
+Zero Page              ORA Zpg         05      2       3
+Zero Page,X            ORA Zpg,X       15      2       4
+Absolute               ORA Abs         0D      3       4
+Absolute,X             ORA Abs,X       1D      3       4
+Absolute,Y             ORA Abs,Y       19      3       4
+(Zero Page,X)  ORA (Zpg,X)     01      2       6
+(Zero Page),Y  ORA (Zpg),Y     11      2       5
+(Zero Page)            ORA (Zpg)       12      2       5
+*/
+
+// ORA opcodes
+
+#define OP_ORA_HANDLER(m) \
+       regs.a |= m; \
+       SET_ZN(regs.a)
+
+static void Op09(void)                                                 // ORA #
+{
+       uint8 m = READ_IMM;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op05(void)                                                 // ORA ZP
+{
+       uint8 m = READ_ZP;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op15(void)                                                 // ORA ZP, X
+{
+       uint8 m = READ_ZP_X;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op0D(void)                                                 // ORA ABS
+{
+       uint8 m = READ_ABS;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op1D(void)                                                 // ORA ABS, X
+{
+       uint8 m = READ_ABS_X;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op19(void)                                                 // ORA ABS, Y
+{
+       uint8 m = READ_ABS_Y;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op01(void)                                                 // ORA (ZP, X)
+{
+       uint8 m = READ_IND_ZP_X;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op11(void)                                                 // ORA (ZP), Y
+{
+       uint8 m = READ_IND_ZP_Y;
+       OP_ORA_HANDLER(m);
+}
+
+static void Op12(void)                                                 // ORA (ZP)
+{
+       uint8 m = READ_IND_ZP;
+       OP_ORA_HANDLER(m);
+}
+
+/*
+PHA    Implied         PHA                     48      1       3
+*/
+
+static void Op48(void)                                                 // PHA
+{
+       regs.WrMem(0x0100 + regs.sp--, regs.a);
+}
+
+static void Op08(void)                                                 // PHP
+{
+       regs.cc |= FLAG_UNK;                                            // Make sure that the unused bit is always set
+       regs.WrMem(0x0100 + regs.sp--, regs.cc);
+}
+
+/*
+PHX    Implied         PHX                     DA      1       3
+*/
+
+static void OpDA(void)                                                 // PHX
+{
+       regs.WrMem(0x0100 + regs.sp--, regs.x);
+}
+
+/*
+PHY    Implied         PHY                     5A      1       3
+*/
+
+static void Op5A(void)                                                 // PHY
+{
+       regs.WrMem(0x0100 + regs.sp--, regs.y);
+}
+
+/*
+PLA    Implied         PLA                     68      1       4
+*/
+
+static void Op68(void)                                                 // PLA
+{
+       regs.a = regs.RdMem(0x0100 + ++regs.sp);
+       SET_ZN(regs.a);
+}
+
+static void Op28(void)                                                 // PLP
+{
+       regs.cc = regs.RdMem(0x0100 + ++regs.sp);
+}
+
+/*
+PLX    Implied         PLX                     FA      1       4
+*/
+
+static void OpFA(void)                                                 // PLX
+{
+       regs.x = regs.RdMem(0x0100 + ++regs.sp);
+       SET_ZN(regs.x);
+}
+
+/*
+PLY    Implied         PLY                     7A      1       4
+*/
+
+static void Op7A(void)                                                 // PLY
+{
+       regs.y = regs.RdMem(0x0100 + ++regs.sp);
+       SET_ZN(regs.y);
+}
+
+/*
+The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. 
+   RMB0  RMB1  RMB2  RMB3  RMB4  RMB5  RMB6  RMB7
+  zp  07  17  27  37  47  57  67  77
+     SMB0  SMB1  SMB2  SMB3  SMB4  SMB5  SMB6  SMB7
+  zp  87  97  A7  B7  C7  D7  E7  F7
+*/
+
+// RMB opcodes
+
+static void Op07(void)                                                 // RMB0 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xFE;
+       WRITE_BACK(m);
+}
+
+static void Op17(void)                                                 // RMB1 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xFD;
+       WRITE_BACK(m);
+}
+
+static void Op27(void)                                                 // RMB2 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xFB;
+       WRITE_BACK(m);
+}
+
+static void Op37(void)                                                 // RMB3 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xF7;
+       WRITE_BACK(m);
+}
+
+static void Op47(void)                                                 // RMB4 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xEF;
+       WRITE_BACK(m);
+}
+
+static void Op57(void)                                                 // RMB5 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xDF;
+       WRITE_BACK(m);
+}
+
+static void Op67(void)                                                 // RMB6 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0xBF;
+       WRITE_BACK(m);
+}
+
+static void Op77(void)                                                 // RMB7 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m &= 0x7F;
+       WRITE_BACK(m);
+}
+
+/*
+ROL    Accumulator     ROL A           2A      1       2
+Zero Page              ROL Zpg         26      2       5
+Zero Page,X            ROL Zpg,X       36      2       6
+Absolute               ROL Abs         2E      3       6
+Absolute,X             ROL Abs,X       3E      3       7
+*/
+
+// ROL opcodes
+
+#define OP_ROL_HANDLER(m) \
+       uint8 tmp = regs.cc & 0x01; \
+       regs.cc = ((m) & 0x80 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \
+       (m) = ((m) << 1) | tmp; \
+       SET_ZN((m))
+
+static void Op2A(void)                                                 // ROL A
+{
+       OP_ROL_HANDLER(regs.a);
+}
+
+static void Op26(void)                                                 // ROL ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_ROL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op36(void)                                                 // ROL ZP, X
+{
+       uint8 m;
+       READ_ZP_X_WB(m);
+       OP_ROL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op2E(void)                                                 // ROL ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_ROL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op3E(void)                                                 // ROL ABS, X
+{
+       uint8 m;
+       READ_ABS_X_WB(m);
+       OP_ROL_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+ROR    Accumulator     ROR A           6A      1       2
+Zero Page              ROR Zpg         66      2       5
+Zero Page,X            ROR Zpg,X       76      2       6
+Absolute               ROR Abs         6E      3       6
+Absolute,X             ROR Abs,X       7E      3       7
+*/
+
+// ROR opcodes
+
+#define OP_ROR_HANDLER(m) \
+       uint8 tmp = (regs.cc & 0x01) << 7; \
+       regs.cc = ((m) & 0x01 ? regs.cc | FLAG_C : regs.cc & ~FLAG_C); \
+       (m) = ((m) >> 1) | tmp; \
+       SET_ZN((m))
+
+static void Op6A(void)                                                 // ROR A
+{
+       OP_ROR_HANDLER(regs.a);
+}
+
+static void Op66(void)                                                 // ROR ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_ROR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op76(void)                                                 // ROR ZP, X
+{
+       uint8 m;
+       READ_ZP_X_WB(m);
+       OP_ROR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op6E(void)                                                 // ROR ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_ROR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op7E(void)                                                 // ROR ABS, X
+{
+       uint8 m;
+       READ_ABS_X_WB(m);
+       OP_ROR_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+RTI    Implied         RTI                     40      1       6
+*/
+
+static void Op40(void)                                                 // RTI
+{
+       regs.cc = regs.RdMem(0x0100 + ++regs.sp);
+       regs.pc = regs.RdMem(0x0100 + ++regs.sp);
+       regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8;
+}
+
+/*
+RTS    Implied         RTS                     60      1       6
+*/
+
+static void Op60(void)                                                 // RTS
+{
+       regs.pc = regs.RdMem(0x0100 + ++regs.sp);
+       regs.pc |= (uint16)(regs.RdMem(0x0100 + ++regs.sp)) << 8;
+       regs.pc++;                                                                      // Since it pushes return address - 1...
+//printf("*** RTS: PC = $%04X, SP= $1%02X\n", regs.pc, regs.sp);
+//fflush(stdout);
+}
+
+/*
+SBC    Immediate       SBC #Oper       E9      2       2
+Zero Page              SBC Zpg         E5      2       3
+Zero Page,X            SBC Zpg,X       F5      2       4
+Absolute               SBC Abs         ED      3       4
+Absolute,X             SBC Abs,X       FD      3       4
+Absolute,Y             SBC Abs,Y       F9      3       4
+(Zero Page,X)  SBC (Zpg,X)     E1      2       6
+(Zero Page),Y  SBC (Zpg),Y     F1      2       5
+(Zero Page)            SBC (Zpg)       F2      2       5
+*/
+
+// SBC opcodes
+
+//This is non-optimal, but it works--optimize later. :-)
+//This is correct except for the BCD handling... !!! FIX !!! [Possibly DONE]
+#define OP_SBC_HANDLER(m) \
+       uint16 sum = (uint16)regs.a - (m) - (uint16)((regs.cc & FLAG_C) ^ 0x01); \
+\
+       if (regs.cc & FLAG_D) \
+       { \
+               if ((sum & 0x0F) > 0x09) \
+                       sum -= 0x06; \
+\
+               if ((sum & 0xF0) > 0x90) \
+                       sum -= 0x60; \
+       } \
+\
+       regs.cc = (regs.cc & ~FLAG_C) | (((sum >> 8) ^ 0x01) & FLAG_C); \
+       regs.cc = ((regs.a ^ (m)) & (regs.a ^ sum) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V); \
+       regs.a = sum & 0xFF; \
+       SET_ZN(regs.a)
+
+/*
+D5AF: 38             SEC               [PC=D5B0, SP=01F6, CC=---B-I-C, A=4C, X=00, Y=06]
+
+*** HERE'S where it sets the D flag on a subtract... Arg!
+
+D5B0: F1 9D          SBC   ($9D),Y     [PC=D5B2, SP=01F6, CC=N--BDI--, A=FE, X=00, Y=06]
+
+Fixed. :-)
+*/
+
+//OLD V detection: regs.cc = ((regs.a ^ (m) ^ sum ^ (regs.cc << 7)) & 0x80 ? regs.cc | FLAG_V : regs.cc & ~FLAG_V);
+
+static void OpE9(void)                                                 // SBC #
+{
+       uint16 m = READ_IMM;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpE5(void)                                                 // SBC ZP
+{
+       uint16 m = READ_ZP;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpF5(void)                                                 // SBC ZP, X
+{
+       uint16 m = READ_ZP_X;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpED(void)                                                 // SBC ABS
+{
+       uint16 m = READ_ABS;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpFD(void)                                                 // SBC ABS, X
+{
+       uint16 m = READ_ABS_X;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpF9(void)                                                 // SBC ABS, Y
+{
+       uint16 m = READ_ABS_Y;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpE1(void)                                                 // SBC (ZP, X)
+{
+       uint16 m = READ_IND_ZP_X;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpF1(void)                                                 // SBC (ZP), Y
+{
+       uint16 m = READ_IND_ZP_Y;
+       OP_SBC_HANDLER(m);
+}
+
+static void OpF2(void)                                                 // SBC (ZP)
+{
+       uint16 m = READ_IND_ZP;
+       OP_SBC_HANDLER(m);
+}
+
+/*
+SEC    Implied         SEC                     38      1       2
+*/
+
+static void Op38(void)                                                 // SEC
+{
+       regs.cc |= FLAG_C;
+}
+
+/*
+SED    Implied         SED                     F8      1       2
+*/
+
+static void OpF8(void)                                                 // SED
+{
+       regs.cc |= FLAG_D;
+}
+
+/*
+SEI    Implied         SEI                     78      1       2
+*/
+
+static void Op78(void)                                                 // SEI
+{
+       regs.cc |= FLAG_I;
+}
+
+/*
+The bit set and clear instructions have the form xyyy0111, where x is 0 to clear a bit or 1 to set it, and yyy is which bit at the memory location to set or clear. 
+   RMB0  RMB1  RMB2  RMB3  RMB4  RMB5  RMB6  RMB7
+  zp  07  17  27  37  47  57  67  77
+     SMB0  SMB1  SMB2  SMB3  SMB4  SMB5  SMB6  SMB7
+  zp  87  97  A7  B7  C7  D7  E7  F7
+*/
+
+// SMB opcodes
+
+static void Op87(void)                                                 // SMB0 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x01;
+       WRITE_BACK(m);
+}
+
+static void Op97(void)                                                 // SMB1 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x02;
+       WRITE_BACK(m);
+}
+
+static void OpA7(void)                                                 // SMB2 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x04;
+       WRITE_BACK(m);
+}
+
+static void OpB7(void)                                                 // SMB3 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x08;
+       WRITE_BACK(m);
+}
+
+static void OpC7(void)                                                 // SMB4 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x10;
+       WRITE_BACK(m);
+}
+
+static void OpD7(void)                                                 // SMB5 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x20;
+       WRITE_BACK(m);
+}
+
+static void OpE7(void)                                                 // SMB6 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x40;
+       WRITE_BACK(m);
+}
+
+static void OpF7(void)                                                 // SMB7 ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       m |= 0x80;
+       WRITE_BACK(m);
+}
+
+/*
+STA    Zero Page       STA Zpg         85      2       3
+Zero Page,X            STA Zpg,X       95      2       4
+Absolute               STA Abs         8D      3       4
+Absolute,X             STA Abs,X       9D      3       5
+Absolute,Y             STA Abs,Y       99      3       5
+(Zero Page,X)  STA (Zpg,X)     81      2       6
+(Zero Page),Y  STA (Zpg),Y     91      2       6
+(Zero Page)            STA (Zpg)       92      2       5
+*/
+
+// STA opcodes
+
+static void Op85(void)
+{
+       regs.WrMem(EA_ZP, regs.a);
+}
+
+static void Op95(void)
+{
+       regs.WrMem(EA_ZP_X, regs.a);
+}
+
+static void Op8D(void)
+{
+       regs.WrMem(EA_ABS, regs.a);
+       regs.pc += 2;
+}
+
+static void Op9D(void)
+{
+       regs.WrMem(EA_ABS_X, regs.a);
+       regs.pc += 2;
+}
+
+static void Op99(void)
+{
+       regs.WrMem(EA_ABS_Y, regs.a);
+       regs.pc += 2;
+}
+
+static void Op81(void)
+{
+       regs.WrMem(EA_IND_ZP_X, regs.a);
+}
+
+static void Op91(void)
+{
+       regs.WrMem(EA_IND_ZP_Y, regs.a);
+}
+
+static void Op92(void)
+{
+       regs.WrMem(EA_IND_ZP, regs.a);
+}
+
+/*
+STX    Zero Page       STX Zpg         86      2       3
+Zero Page,Y            STX Zpg,Y       96      2       4
+Absolute               STX Abs         8E      3       4
+*/
+
+// STX opcodes
+
+static void Op86(void)
+{
+       regs.WrMem(EA_ZP, regs.x);
+}
+
+static void Op96(void)
+{
+       regs.WrMem(EA_ZP_X, regs.x);
+}
+
+static void Op8E(void)
+{
+       regs.WrMem(EA_ABS, regs.x);
+       regs.pc += 2;
+}
+
+/*
+STY    Zero Page       STY Zpg         84      2       3
+Zero Page,X            STY Zpg,X       94      2       4
+Absolute               STY Abs         8C      3       4
+*/
+
+// STY opcodes
+
+static void Op84(void)
+{
+       regs.WrMem(EA_ZP, regs.y);
+}
+
+static void Op94(void)
+{
+       regs.WrMem(EA_ZP_X, regs.y);
+}
+
+static void Op8C(void)
+{
+       regs.WrMem(EA_ABS, regs.y);
+       regs.pc += 2;
+}
+
+/*
+STZ    Zero Page       STZ Zpg         64      2       3
+Zero Page,X            STZ Zpg,X       74      2       4
+Absolute               STZ Abs         9C      3       4
+Absolute,X             STZ Abs,X       9E      3       5
+*/
+
+// STZ opcodes
+
+static void Op64(void)
+{
+       regs.WrMem(EA_ZP, 0x00);
+}
+
+static void Op74(void)
+{
+       regs.WrMem(EA_ZP_X, 0x00);
+}
+
+static void Op9C(void)
+{
+       regs.WrMem(EA_ABS, 0x00);
+       regs.pc += 2;
+}
+
+static void Op9E(void)
+{
+       regs.WrMem(EA_ABS_X, 0x00);
+       regs.pc += 2;
+}
+
+/*
+TAX    Implied         TAX                     AA      1       2
+*/
+
+static void OpAA(void)                                                 // TAX
+{
+       regs.x = regs.a;
+       SET_ZN(regs.x);
+}
+
+/*
+TAY    Implied         TAY                     A8      1       2
+*/
+
+static void OpA8(void)                                                 // TAY
+{
+       regs.y = regs.a;
+       SET_ZN(regs.y);
+}
+
+/*
+TRB    Zero Page       TRB Zpg         14      2       5
+Absolute               TRB Abs         1C      3       6
+*/
+
+// TRB opcodes
+
+#define OP_TRB_HANDLER(m) \
+       SET_Z(m & regs.a); \
+       m &= ~regs.a
+
+static void Op14(void)                                                 // TRB ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_TRB_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op1C(void)                                                 // TRB ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_TRB_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+TSB    Zero Page       TSB Zpg         04      2       5
+Absolute               TSB Abs         0C      3       6
+*/
+
+// TSB opcodes
+
+#define OP_TSB_HANDLER(m) \
+       SET_Z(m & regs.a); \
+       m |= regs.a
+
+static void Op04(void)                                                 // TSB ZP
+{
+       uint8 m;
+       READ_ZP_WB(m);
+       OP_TSB_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+static void Op0C(void)                                                 // TSB ABS
+{
+       uint8 m;
+       READ_ABS_WB(m);
+       OP_TSB_HANDLER(m);
+       WRITE_BACK(m);
+}
+
+/*
+TSX    Implied         TSX                     BA      1       2
+*/
+
+static void OpBA(void)                                                 // TSX
+{
+       regs.x = regs.sp;
+       SET_ZN(regs.x);
+}
+
+/*
+TXA    Implied         TXA                     8A      1       2
+*/
+
+static void Op8A(void)                                                 // TXA
+{
+       regs.a = regs.x;
+       SET_ZN(regs.a);
+}
+
+/*
+TXS    Implied         TXS                     9A      1       2
+*/
+
+static void Op9A(void)                                                 // TXS
+{
+       regs.sp = regs.x;
+}
+
+/*
+TYA    Implied         TYA                     98      1       2
+*/
+static void Op98(void)                                                 // TYA
+{
+       regs.a = regs.y;
+       SET_ZN(regs.a);
+}
+
+static void Op__(void)
+{
+       regs.cpuFlags |= V65C02_STATE_ILLEGAL_INST;
+}
+
+
+//
+// Ok, the exec_op[] array is globally defined here basically to save
+// a LOT of unnecessary typing.  Sure it's ugly, but hey, it works!
+//
+void (* exec_op[256])() = {
+       Op00, Op01, Op__, Op__, Op04, Op05, Op06, Op07, Op08, Op09, Op0A, Op__, Op0C, Op0D, Op0E, Op0F,
+       Op10, Op11, Op12, Op__, Op14, Op15, Op16, Op17, Op18, Op19, Op1A, Op__, Op1C, Op1D, Op1E, Op1F,
+       Op20, Op21, Op__, Op__, Op24, Op25, Op26, Op27, Op28, Op29, Op2A, Op__, Op2C, Op2D, Op2E, Op2F,
+       Op30, Op31, Op32, Op__, Op34, Op35, Op36, Op37, Op38, Op39, Op3A, Op__, Op3C, Op3D, Op3E, Op3F,
+       Op40, Op41, Op__, Op__, Op__, Op45, Op46, Op47, Op48, Op49, Op4A, Op__, Op4C, Op4D, Op4E, Op4F,
+       Op50, Op51, Op52, Op__, Op__, Op55, Op56, Op57, Op58, Op59, Op5A, Op__, Op__, Op5D, Op5E, Op5F,
+       Op60, Op61, Op__, Op__, Op64, Op65, Op66, Op67, Op68, Op69, Op6A, Op__, Op6C, Op6D, Op6E, Op6F,
+       Op70, Op71, Op72, Op__, Op74, Op75, Op76, Op77, Op78, Op79, Op7A, Op__, Op7C, Op7D, Op7E, Op7F,
+       Op80, Op81, Op__, Op__, Op84, Op85, Op86, Op87, Op88, Op89, Op8A, Op__, Op8C, Op8D, Op8E, Op8F,
+       Op90, Op91, Op92, Op__, Op94, Op95, Op96, Op97, Op98, Op99, Op9A, Op__, Op9C, Op9D, Op9E, Op9F,
+       OpA0, OpA1, OpA2, Op__, OpA4, OpA5, OpA6, OpA7, OpA8, OpA9, OpAA, Op__, OpAC, OpAD, OpAE, OpAF,
+       OpB0, OpB1, OpB2, Op__, OpB4, OpB5, OpB6, OpB7, OpB8, OpB9, OpBA, Op__, OpBC, OpBD, OpBE, OpBF,
+       OpC0, OpC1, Op__, Op__, OpC4, OpC5, OpC6, OpC7, OpC8, OpC9, OpCA, Op__, OpCC, OpCD, OpCE, OpCF,
+       OpD0, OpD1, OpD2, Op__, Op__, OpD5, OpD6, OpD7, OpD8, OpD9, OpDA, Op__, Op__, OpDD, OpDE, OpDF,
+       OpE0, OpE1, Op__, Op__, OpE4, OpE5, OpE6, OpE7, OpE8, OpE9, OpEA, Op__, OpEC, OpED, OpEE, OpEF,
+       OpF0, OpF1, OpF2, Op__, Op__, OpF5, OpF6, OpF7, OpF8, OpF9, OpFA, Op__, Op__, OpFD, OpFE, OpFF
+};
+
+//
+// Internal "memcpy" (so we don't have to link with any external libraries!)
+//
+static void myMemcpy(void * dst, void * src, uint32 size)
+{
+       uint8 * d = (uint8 *)dst, * s = (uint8 *)src;
+
+       for(uint32 i=0; i<size; i++)
+               d[i] = s[i];
+}
+
+/*
+FCA8: 38        698  WAIT     SEC
+FCA9: 48        699  WAIT2    PHA
+FCAA: E9 01     700  WAIT3    SBC   #$01
+FCAC: D0 FC     701           BNE   WAIT3      ;1.0204 USEC
+FCAE: 68        702           PLA              ;(13+27/2*A+5/2*A*A)
+FCAF: E9 01     703           SBC   #$01
+FCB1: D0 F6     704           BNE   WAIT2
+FCB3: 60        705           RTS
+
+FBD9: C9 87     592  BELL1    CMP   #$87       ;BELL CHAR? (CNTRL-G)
+FBDB: D0 12     593           BNE   RTS2B      ;  NO, RETURN
+FBDD: A9 40     594           LDA   #$40       ;DELAY .01 SECONDS
+FBDF: 20 A8 FC  595           JSR   WAIT
+FBE2: A0 C0     596           LDY   #$C0
+FBE4: A9 0C     597  BELL2    LDA   #$0C       ;TOGGLE SPEAKER AT
+FBE6: 20 A8 FC  598           JSR   WAIT       ;  1 KHZ FOR .1 SEC.
+FBE9: AD 30 C0  599           LDA   SPKR
+FBEC: 88        600           DEY
+FBED: D0 F5     601           BNE   BELL2
+FBEF: 60        602  RTS2B    RTS
+*/
+//int instCount[256];
+#ifdef __DEBUG__
+bool dumpDis = false;
+#endif
+//
+// Function to execute 6808 for "cycles" cycles
+//
+void Execute65C02(V65C02REGS * context, uint32 cycles)
+{
+       myMemcpy(&regs, context, sizeof(V65C02REGS));
+
+       // Execute here...
+       while (regs.clock < cycles)
+       {
+#if 0
+/*if (regs.pc == 0x4007)
+{
+       dumpDis = true;
+}//*/
+if (regs.pc == 0x444B)
+{
+       WriteLog("\n*** End of wait...\n\n");
+       dumpDis = true;
+}//*/
+if (regs.pc == 0x444E)
+{
+       WriteLog("\n*** Start of wait...\n\n");
+       dumpDis = false;
+}//*/
+#endif
+
+#ifdef __DEBUGMON__
+//WAIT is commented out here because it's called by BELL1...
+if (regs.pc == 0xFCA8)
+{
+       WriteLog("\n*** WAIT subroutine...\n\n");
+       dumpDis = false;
+}//*/
+if (regs.pc == 0xFBD9)
+{
+       WriteLog("\n*** BELL1 subroutine...\n\n");
+//     dumpDis = false;
+}//*/
+if (regs.pc == 0xFC58)
+{
+       WriteLog("\n*** HOME subroutine...\n\n");
+//     dumpDis = false;
+}//*/
+if (regs.pc == 0xFDED)
+{
+       WriteLog("\n*** COUT subroutine...\n\n");
+       dumpDis = false;
+}
+#endif
+
+#ifdef __DEBUG__
+if (dumpDis)
+       Decode65C02(regs.pc);
+#endif
+               uint8 opcode = regs.RdMem(regs.pc++);
+
+//if (!(regs.cpuFlags & V65C02_STATE_ILLEGAL_INST))
+//instCount[opcode]++;
+
+               exec_op[opcode]();                                                              // Execute that opcode...
+               regs.clock += CPUCycles[opcode];
+#ifdef __DEBUG__
+if (dumpDis)
+       WriteLog(" [PC=%04X, SP=%04X, CC=%s%s-%s%s%s%s%s, A=%02X, X=%02X, Y=%02X]\n",
+               regs.pc, 0x0100 + regs.sp,
+               (regs.cc & FLAG_N ? "N" : "-"), (regs.cc & FLAG_V ? "V" : "-"),
+               (regs.cc & FLAG_B ? "B" : "-"), (regs.cc & FLAG_D ? "D" : "-"),
+               (regs.cc & FLAG_I ? "I" : "-"), (regs.cc & FLAG_Z ? "Z" : "-"),
+               (regs.cc & FLAG_C ? "C" : "-"), regs.a, regs.x, regs.y);
+#endif
+
+#ifdef __DEBUGMON__
+if (regs.pc == 0xFCB3) // WAIT exit point
+{
+       dumpDis = true;
+}//*/
+/*if (regs.pc == 0xFBEF)       // BELL1 exit point
+{
+       dumpDis = true;
+}//*/
+/*if (regs.pc == 0xFC22)       // HOME exit point
+{
+       dumpDis = true;
+}//*/
+if (regs.pc == 0xFDFF) // COUT exit point
+{
+       dumpDis = true;
+}
+if (regs.pc == 0xFBD8)
+{
+       WriteLog("\n*** BASCALC set BASL/H = $%04X\n\n", RdMemW(0x0028));
+}//*/
+#endif
+
+//These should be correct now...
+               if (regs.cpuFlags & V65C02_ASSERT_LINE_RESET)
+               {
+#ifdef __DEBUG__
+WriteLog("\n*** RESET ***\n\n");
+#endif
+                       // Not sure about this...
+                       regs.sp = 0xFF;
+                       regs.cc = FLAG_B | FLAG_I;                                      // Reset the CC register
+                       regs.pc = RdMemW(0xFFFC);                                       // And load PC with the RESET vector
+
+                       context->cpuFlags &= ~V65C02_ASSERT_LINE_RESET;
+                       regs.cpuFlags &= ~V65C02_ASSERT_LINE_RESET;
+               }
+               else if (regs.cpuFlags & V65C02_ASSERT_LINE_NMI)
+               {
+#ifdef __DEBUG__
+WriteLog("\n*** NMI ***\n\n");
+#endif
+                       regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);   // Save PC and CC
+                       regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);
+                       regs.WrMem(0x0100 + regs.sp--, regs.cc);
+                       regs.cc |= FLAG_I;                                                      // Set I
+                       regs.cc &= ~FLAG_D;                                                     // & clear D
+                       regs.pc = RdMemW(0xFFFA);                                       // And do it!
+
+                       regs.clock += 7;
+                       context->cpuFlags &= ~V65C02_ASSERT_LINE_NMI;// Reset the asserted line (NMI)...
+                       regs.cpuFlags &= ~V65C02_ASSERT_LINE_NMI;       // Reset the asserted line (NMI)...
+               }
+               else if (regs.cpuFlags & V65C02_ASSERT_LINE_IRQ)
+               {
+                       if (!(regs.cc & FLAG_I))                                        // Process an interrupt (I=0)?
+                       {
+#ifdef __DEBUG__
+WriteLog("\n*** IRQ ***\n\n");
+#endif
+                               regs.WrMem(0x0100 + regs.sp--, regs.pc >> 8);   // Save PC and CC
+                               regs.WrMem(0x0100 + regs.sp--, regs.pc & 0xFF);
+                               regs.WrMem(0x0100 + regs.sp--, regs.cc);
+                               regs.cc |= FLAG_I;                                              // Set I
+                               regs.cc &= ~FLAG_D;                                             // & clear D
+                               regs.pc = RdMemW(0xFFFE);                               // And do it!
+
+                               regs.clock += 7;
+                               context->cpuFlags &= ~V65C02_ASSERT_LINE_IRQ;   // Reset the asserted line (IRQ)...
+                               regs.cpuFlags &= ~V65C02_ASSERT_LINE_IRQ;       // Reset the asserted line (IRQ)...
+                       }
+               }
+       }
+
+       myMemcpy(context, &regs, sizeof(V65C02REGS));
+}
+
+//
+// Get the clock of the currently executing CPU
+//
+uint32 GetCurrentV65C02Clock(void)
+{
+       return regs.clock;
+}
index 401b9801ce44832a03c4a48add21aeb7cb58d4a5..96e62178289424f02493c87a02efd8ed241a4d58 100755 (executable)
@@ -1,55 +1,55 @@
-//\r
-// Virtual 65C02 Header file\r
-//\r
-// by James L. Hammons\r
-// (c) 2005 Underground Software\r
-//\r
-\r
-#ifndef __V65C02_H__\r
-#define __V65C02_H__\r
-\r
-#include "types.h"\r
-\r
-// Useful defines\r
-\r
-#define FLAG_N         0x80                    // Negative\r
-#define FLAG_V         0x40                    // oVerflow\r
-#define FLAG_UNK       0x20                    // ??? (always set when read?)\r
-#define FLAG_B         0x10                    // Break\r
-#define FLAG_D         0x08                    // Decimal\r
-#define FLAG_I         0x04                    // Interrupt\r
-#define FLAG_Z         0x02                    // Zero\r
-#define FLAG_C         0x01                    // Carry\r
-\r
-#define V65C02_ASSERT_LINE_RESET       0x0001          // v65C02 RESET line\r
-#define V65C02_ASSERT_LINE_IRQ         0x0002          // v65C02 IRQ line\r
-#define V65C02_ASSERT_LINE_NMI         0x0004          // v65C02 NMI line\r
-#define V65C02_STATE_ILLEGAL_INST      0x0008          // Illegal instruction executed flag\r
-//#define V65C02_START_DEBUG_LOG               0x0020          // Debug log go (temporary!)\r
-\r
-// Useful structs\r
-\r
-struct V65C02REGS\r
-{\r
-       uint16 pc;                                              // 65C02 PC register\r
-       uint8 cc;                                               // 65C02 Condition Code register\r
-       uint8 sp;                                               // 65C02 System stack pointer (bound to $01xx)\r
-       uint8 a;                                                // 65C02 A register\r
-       uint8 x;                                                // 65C02 X index register\r
-       uint8 y;                                                // 65C02 Y register\r
-       uint32 clock;                                   // 65C02 clock\r
-       uint8 (* RdMem)(uint16);                // Address of BYTE read routine\r
-       void (* WrMem)(uint16, uint8);  // Address of BYTE write routine\r
-       uint16 cpuFlags;                                // v65C02 IRQ/RESET flags\r
-};\r
-\r
-// Global variables (exported)\r
-\r
-extern bool dumpDis;\r
-\r
-// Function prototypes\r
-\r
-void Execute65C02(V65C02REGS *, uint32);       // Function to execute 65C02 instructions\r
-uint32 GetCurrentV65C02Clock(void);                            // Get the clock of the currently executing CPU\r
-\r
-#endif // __V65C02_H__\r
+//
+// Virtual 65C02 Header file
+//
+// by James L. Hammons
+// (c) 2005 Underground Software
+//
+
+#ifndef __V65C02_H__
+#define __V65C02_H__
+
+#include "types.h"
+
+// Useful defines
+
+#define FLAG_N         0x80                    // Negative
+#define FLAG_V         0x40                    // oVerflow
+#define FLAG_UNK       0x20                    // ??? (always set when read?)
+#define FLAG_B         0x10                    // Break
+#define FLAG_D         0x08                    // Decimal
+#define FLAG_I         0x04                    // Interrupt
+#define FLAG_Z         0x02                    // Zero
+#define FLAG_C         0x01                    // Carry
+
+#define V65C02_ASSERT_LINE_RESET       0x0001          // v65C02 RESET line
+#define V65C02_ASSERT_LINE_IRQ         0x0002          // v65C02 IRQ line
+#define V65C02_ASSERT_LINE_NMI         0x0004          // v65C02 NMI line
+#define V65C02_STATE_ILLEGAL_INST      0x0008          // Illegal instruction executed flag
+//#define V65C02_START_DEBUG_LOG               0x0020          // Debug log go (temporary!)
+
+// Useful structs
+
+struct V65C02REGS
+{
+       uint16 pc;                                              // 65C02 PC register
+       uint8 cc;                                               // 65C02 Condition Code register
+       uint8 sp;                                               // 65C02 System stack pointer (bound to $01xx)
+       uint8 a;                                                // 65C02 A register
+       uint8 x;                                                // 65C02 X index register
+       uint8 y;                                                // 65C02 Y register
+       uint32 clock;                                   // 65C02 clock
+       uint8 (* RdMem)(uint16);                // Address of BYTE read routine
+       void (* WrMem)(uint16, uint8);  // Address of BYTE write routine
+       uint16 cpuFlags;                                // v65C02 IRQ/RESET flags
+};
+
+// Global variables (exported)
+
+extern bool dumpDis;
+
+// Function prototypes
+
+void Execute65C02(V65C02REGS *, uint32);       // Function to execute 65C02 instructions
+uint32 GetCurrentV65C02Clock(void);                            // Get the clock of the currently executing CPU
+
+#endif // __V65C02_H__
index 082120eb0f1d9ff0b3896fcc6181db9f4d925af8..b30379606b3a6a9246fd306c1ff56f2180d70087 100755 (executable)
-//\r
-// VIDEO.CPP: SDL/local hardware specific video routines\r
-//\r
-// by James L. Hammons\r
-//\r
-// JLH = James L. Hammons <jlhamm@acm.org>\r
-//\r
-// WHO  WHEN        WHAT\r
-// ---  ----------  ------------------------------------------------------------\r
-// JLH  01/04/2006  Added changelog ;-)\r
-// JLH  01/20/2006  Cut out unnecessary buffering\r
-//\r
-\r
-#include "video.h"\r
-\r
-//#include <SDL.h>\r
-#include <string.h>    // Why??? (for memset, etc... Lazy!) Dunno why, but this just strikes me as wrong...\r
-#include <malloc.h>\r
-#include "sdlemu_opengl.h"\r
-#include "log.h"\r
-#include "settings.h"\r
-#include "icon.h"\r
-\r
-#if SDL_BYTEORDER == SDL_BIG_ENDIAN\r
-#define MASK_R 0xFF000000\r
-#define MASK_G 0x00FF0000\r
-#define MASK_B 0x0000FF00\r
-#define MASK_A 0x000000FF\r
-#else\r
-#define MASK_R 0x000000FF\r
-#define MASK_G 0x0000FF00\r
-#define MASK_B 0x00FF0000\r
-#define MASK_A 0xFF000000\r
-#endif\r
-\r
-//#define TEST_ALPHA_BLENDING\r
-\r
-// Exported global variables (actually, these are LOCAL global variables, EXPORTED...)\r
-\r
-SDL_Surface * surface, * mainSurface, * someAlphaSurface;\r
-Uint32 mainSurfaceFlags;\r
-//uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT];\r
-uint32 * scrBuffer = NULL;\r
-SDL_Joystick * joystick;\r
-\r
-//\r
-// Prime SDL and create surfaces\r
-//\r
-bool InitVideo(void)\r
-{\r
-       // Set up SDL library\r
-       if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE) < 0)\r
-       {\r
-               WriteLog("Video: Could not initialize the SDL library: %s\n", SDL_GetError());\r
-               return false;\r
-       }\r
-\r
-       //Set icon (mainly for Win32 target--though seems to work under KDE as well...!)\r
-       SDL_Surface * iconSurf = SDL_CreateRGBSurfaceFrom(icon, 32, 32, 32, 128, \r
-               MASK_R, MASK_G, MASK_B, MASK_A);\r
-       SDL_WM_SetIcon(iconSurf, NULL);\r
-       SDL_FreeSurface(iconSurf);\r
-\r
-       // Get proper info about the platform we're running on...\r
-       const SDL_VideoInfo * info = SDL_GetVideoInfo();\r
-\r
-       if (!info)\r
-       {\r
-               WriteLog("Video: SDL is unable to get the video info: %s\n", SDL_GetError());\r
-               return false;\r
-       }\r
-\r
-       if (settings.useOpenGL)\r
-       {\r
-               mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE | SDL_DOUBLEBUF | SDL_OPENGL;\r
-               SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);\r
-       }\r
-       else\r
-       {\r
-               mainSurfaceFlags = SDL_DOUBLEBUF;\r
-\r
-               if (info->hw_available)\r
-               {\r
-                       mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE;\r
-                       WriteLog("Video: Hardware available...\n");\r
-               }\r
-\r
-               if (info->blit_hw)\r
-               {\r
-                       mainSurfaceFlags |= SDL_HWACCEL;\r
-                       WriteLog("Video: Hardware blit available...\n");\r
-               }\r
-       }\r
-\r
-       if (settings.fullscreen)\r
-               mainSurfaceFlags |= SDL_FULLSCREEN;\r
-\r
-       // Create the primary SDL display (32 BPP)\r
-       if (!settings.useOpenGL)\r
-               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);\r
-       else\r
-//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);\r
-//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);\r
-               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);\r
-\r
-       if (mainSurface == NULL)\r
-       {\r
-               WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError());\r
-               return false;\r
-       }\r
-\r
-       SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL");\r
-\r
-       // Create the secondary SDL display (32 BPP) that we use directly\r
-       surface = SDL_CreateRGBSurface(SDL_SWSURFACE, VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32,\r
-               MASK_R, MASK_G, MASK_B, MASK_A);\r
-/*WriteLog("Video: Created secondary surface with attributes:\n\n");\r
-WriteLog("\tWidth, height: %u x %u\n", surface->w, surface->h);\r
-WriteLog("\t        Pitch: %u\n", surface->pitch);\r
-WriteLog("\t      Palette: %08X\n", surface->format->palette);\r
-WriteLog("\t          BPP: %u\n", surface->format->BitsPerPixel);\r
-WriteLog("\t      BytesPP: %u\n", surface->format->BytesPerPixel);\r
-WriteLog("\t        RMask: %08X\n", surface->format->Rmask);\r
-WriteLog("\t        GMask: %08X\n", surface->format->Gmask);\r
-WriteLog("\t        BMask: %08X\n", surface->format->Bmask);\r
-WriteLog("\t        AMask: %08X\n", surface->format->Amask);\r
-WriteLog("\n");//*/\r
-\r
-       if (surface == NULL)\r
-       {\r
-               WriteLog("Video: Could not create secondary SDL surface: %s\n", SDL_GetError());\r
-               return false;\r
-       }\r
-\r
-       if (settings.useOpenGL)\r
-               sdlemu_init_opengl(surface, mainSurface, 1 /*method*/, settings.glFilter /*texture type (linear, nearest)*/,\r
-               0 /* Automatic bpp selection based upon src */);\r
-\r
-       // Initialize Joystick support under SDL\r
-/*     if (settings.useJoystick)\r
-       {\r
-               if (SDL_NumJoysticks() <= 0)\r
-               {\r
-                       settings.useJoystick = false;\r
-                       WriteLog("Video: No joystick(s) or joypad(s) detected on your system. Using keyboard...\n");\r
-               }\r
-               else\r
-               {\r
-                       if ((joystick = SDL_JoystickOpen(settings.joyport)) == 0)\r
-                       {\r
-                               settings.useJoystick = false;\r
-                               WriteLog("Video: Unable to open a Joystick on port: %d\n", (int)settings.joyport);\r
-                       }\r
-                       else\r
-                               WriteLog("Video: Using: %s\n", SDL_JoystickName(settings.joyport));\r
-               }\r
-       }//*/\r
-\r
-       // Set up the scrBuffer\r
-       scrBuffer = (uint32 *)surface->pixels;  // Kludge--And shouldn't have to lock since it's a software surface...\r
-//needed? Dunno. Mebbe an SDL function instead?\r
-//     memset(scrBuffer, 0x00, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32));\r
-\r
-#ifdef TEST_ALPHA_BLENDING\r
-//Here's some code to test alpha blending...\r
-//Well whaddya know, it works. :-)\r
-       someAlphaSurface = SDL_CreateRGBSurface(SDL_SWSURFACE, 30, 30, 32,\r
-               MASK_R, MASK_G, MASK_B, MASK_A);\r
-\r
-       for(int i=0; i<30; i++)\r
-       {\r
-               for(int j=0; j<30; j++)\r
-               {\r
-                       uint32 color = (uint32)(((double)(i * j) / (29.0 * 29.0)) * 255.0);\r
-                       color = (color << 24) | 0x00FF00FF;\r
-                       ((uint32 *)someAlphaSurface->pixels)[(j * 30) + i] = color;\r
-               }\r
-       }\r
-//End test code\r
-#endif\r
-\r
-       WriteLog("Video: Successfully initialized.\n");\r
-       return true;\r
-}\r
-\r
-//\r
-// Free various SDL components\r
-//\r
-void VideoDone(void)\r
-{\r
-       if (settings.useOpenGL)\r
-               sdlemu_close_opengl();\r
-\r
-       SDL_JoystickClose(joystick);\r
-       SDL_FreeSurface(surface);\r
-       SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER);\r
-       SDL_Quit();\r
-}\r
-\r
-//\r
-// Render the screen buffer to the primary screen surface\r
-//\r
-//void RenderBackbuffer(void)\r
-void RenderScreenBuffer(void)\r
-{\r
-//WriteLog("Video: Blitting a %u x %u surface to the main surface...\n", surface->w, surface->h);\r
-//Don't need this crapola--why have a separate buffer just to copy it to THIS\r
-//buffer in order to copy it to the main screen? That's what *I* thought!\r
-/*     if (SDL_MUSTLOCK(surface))\r
-               while (SDL_LockSurface(surface) < 0)\r
-                       SDL_Delay(10);\r
-\r
-       memcpy(surface->pixels, scrBuffer, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32));\r
-\r
-       if (SDL_MUSTLOCK(surface))\r
-               SDL_UnlockSurface(surface);//*/\r
-#ifdef TEST_ALPHA_BLENDING\r
-SDL_Rect dstRect = { 100, 100, 30, 30 };\r
-SDL_BlitSurface(someAlphaSurface, NULL, surface, &dstRect);\r
-#endif\r
-\r
-       if (settings.useOpenGL)\r
-               sdlemu_draw_texture(mainSurface, surface, 1/*1=GL_QUADS*/);\r
-       else\r
-       {\r
-//             SDL_Rect rect = { 0, 0, surface->w, surface->h };\r
-//             SDL_BlitSurface(surface, &rect, mainSurface, &rect);\r
-               SDL_BlitSurface(surface, NULL, mainSurface, NULL);\r
-               SDL_Flip(mainSurface);\r
-    }\r
-}\r
-\r
-/*\r
-//\r
-// Resize the main SDL screen & scrBuffer\r
-//\r
-void ResizeScreen(uint32 width, uint32 height)\r
-{\r
-       char window_title[256];\r
-\r
-       SDL_FreeSurface(surface);\r
-       surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 16,\r
-               0x7C00, 0x03E0, 0x001F, 0);\r
-\r
-       if (surface == NULL)\r
-       {\r
-               WriteLog("Video: Could not create primary SDL surface: %s", SDL_GetError());\r
-               exit(1);\r
-       }\r
-\r
-       if (settings.useOpenGL)\r
-               // This seems to work well for resizing (i.e., changes in the pixel width)...\r
-               sdlemu_resize_texture(surface, mainSurface, settings.glFilter);\r
-       else\r
-       {\r
-               mainSurface = SDL_SetVideoMode(width, height, 16, mainSurfaceFlags);\r
-\r
-               if (mainSurface == NULL)\r
-               {\r
-                       WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError());\r
-                       exit(1);\r
-               }\r
-       }\r
-\r
-       sWriteLog(window_title, "Virtual Jaguar (%i x %i)", (int)width, (int)height);\r
-       SDL_WM_SetCaption(window_title, window_title);\r
-\r
-       // This seems to work well for resizing (i.e., changes in the pixel width)...\r
-//     if (settings.useOpenGL)\r
-//             sdlemu_resize_texture(surface, mainSurface);\r
-}*/\r
-\r
-/*\r
-//\r
-// Fullscreen <-> window switching\r
-//\r
-//NOTE: This does *NOT* work with OpenGL rendering! !!! FIX !!!\r
-void ToggleFullscreen(void)\r
-{\r
-       settings.fullscreen = !settings.fullscreen;\r
-       mainSurfaceFlags &= ~SDL_FULLSCREEN;\r
-\r
-       if (settings.fullscreen)\r
-               mainSurfaceFlags |= SDL_FULLSCREEN;\r
-\r
-       if (!settings.useOpenGL)\r
-               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);\r
-       else\r
-//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);\r
-//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);\r
-               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);\r
-//     mainSurface = SDL_SetVideoMode(tom_width, tom_height, 16, mainSurfaceFlags);\r
-\r
-       if (mainSurface == NULL)\r
-       {\r
-               WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError());\r
-               exit(1);\r
-       }\r
-\r
-       SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL");\r
-}\r
-//*/\r
+//
+// VIDEO.CPP: SDL/local hardware specific video routines
+//
+// by James L. Hammons
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// WHO  WHEN        WHAT
+// ---  ----------  ------------------------------------------------------------
+// JLH  01/04/2006  Added changelog ;-)
+// JLH  01/20/2006  Cut out unnecessary buffering
+//
+
+#include "video.h"
+
+//#include <SDL.h>
+#include <string.h>    // Why??? (for memset, etc... Lazy!) Dunno why, but this just strikes me as wrong...
+#include <malloc.h>
+#include "sdlemu_opengl.h"
+#include "log.h"
+#include "settings.h"
+#include "icon.h"
+
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+#define MASK_R 0xFF000000
+#define MASK_G 0x00FF0000
+#define MASK_B 0x0000FF00
+#define MASK_A 0x000000FF
+#else
+#define MASK_R 0x000000FF
+#define MASK_G 0x0000FF00
+#define MASK_B 0x00FF0000
+#define MASK_A 0xFF000000
+#endif
+
+//#define TEST_ALPHA_BLENDING
+
+// Exported global variables (actually, these are LOCAL global variables, EXPORTED...)
+
+SDL_Surface * surface, * mainSurface, * someAlphaSurface;
+Uint32 mainSurfaceFlags;
+//uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT];
+uint32 * scrBuffer = NULL;
+SDL_Joystick * joystick;
+
+//
+// Prime SDL and create surfaces
+//
+bool InitVideo(void)
+{
+       // Set up SDL library
+       if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE) < 0)
+       {
+               WriteLog("Video: Could not initialize the SDL library: %s\n", SDL_GetError());
+               return false;
+       }
+
+       //Set icon (mainly for Win32 target--though seems to work under KDE as well...!)
+       SDL_Surface * iconSurf = SDL_CreateRGBSurfaceFrom(icon, 32, 32, 32, 128, 
+               MASK_R, MASK_G, MASK_B, MASK_A);
+       SDL_WM_SetIcon(iconSurf, NULL);
+       SDL_FreeSurface(iconSurf);
+
+       // Get proper info about the platform we're running on...
+       const SDL_VideoInfo * info = SDL_GetVideoInfo();
+
+       if (!info)
+       {
+               WriteLog("Video: SDL is unable to get the video info: %s\n", SDL_GetError());
+               return false;
+       }
+
+       if (settings.useOpenGL)
+       {
+               mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE | SDL_DOUBLEBUF | SDL_OPENGL;
+               SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+       }
+       else
+       {
+               mainSurfaceFlags = SDL_DOUBLEBUF;
+
+               if (info->hw_available)
+               {
+                       mainSurfaceFlags = SDL_HWSURFACE | SDL_HWPALETTE;
+                       WriteLog("Video: Hardware available...\n");
+               }
+
+               if (info->blit_hw)
+               {
+                       mainSurfaceFlags |= SDL_HWACCEL;
+                       WriteLog("Video: Hardware blit available...\n");
+               }
+       }
+
+       if (settings.fullscreen)
+               mainSurfaceFlags |= SDL_FULLSCREEN;
+
+       // Create the primary SDL display (32 BPP)
+       if (!settings.useOpenGL)
+               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);
+       else
+//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);
+//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);
+               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);
+
+       if (mainSurface == NULL)
+       {
+               WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError());
+               return false;
+       }
+
+       SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL");
+
+       // Create the secondary SDL display (32 BPP) that we use directly
+       surface = SDL_CreateRGBSurface(SDL_SWSURFACE, VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32,
+               MASK_R, MASK_G, MASK_B, MASK_A);
+/*WriteLog("Video: Created secondary surface with attributes:\n\n");
+WriteLog("\tWidth, height: %u x %u\n", surface->w, surface->h);
+WriteLog("\t        Pitch: %u\n", surface->pitch);
+WriteLog("\t      Palette: %08X\n", surface->format->palette);
+WriteLog("\t          BPP: %u\n", surface->format->BitsPerPixel);
+WriteLog("\t      BytesPP: %u\n", surface->format->BytesPerPixel);
+WriteLog("\t        RMask: %08X\n", surface->format->Rmask);
+WriteLog("\t        GMask: %08X\n", surface->format->Gmask);
+WriteLog("\t        BMask: %08X\n", surface->format->Bmask);
+WriteLog("\t        AMask: %08X\n", surface->format->Amask);
+WriteLog("\n");//*/
+
+       if (surface == NULL)
+       {
+               WriteLog("Video: Could not create secondary SDL surface: %s\n", SDL_GetError());
+               return false;
+       }
+
+       if (settings.useOpenGL)
+               sdlemu_init_opengl(surface, mainSurface, 1 /*method*/, settings.glFilter /*texture type (linear, nearest)*/,
+               0 /* Automatic bpp selection based upon src */);
+
+       // Initialize Joystick support under SDL
+/*     if (settings.useJoystick)
+       {
+               if (SDL_NumJoysticks() <= 0)
+               {
+                       settings.useJoystick = false;
+                       WriteLog("Video: No joystick(s) or joypad(s) detected on your system. Using keyboard...\n");
+               }
+               else
+               {
+                       if ((joystick = SDL_JoystickOpen(settings.joyport)) == 0)
+                       {
+                               settings.useJoystick = false;
+                               WriteLog("Video: Unable to open a Joystick on port: %d\n", (int)settings.joyport);
+                       }
+                       else
+                               WriteLog("Video: Using: %s\n", SDL_JoystickName(settings.joyport));
+               }
+       }//*/
+
+       // Set up the scrBuffer
+       scrBuffer = (uint32 *)surface->pixels;  // Kludge--And shouldn't have to lock since it's a software surface...
+//needed? Dunno. Mebbe an SDL function instead?
+//     memset(scrBuffer, 0x00, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32));
+
+#ifdef TEST_ALPHA_BLENDING
+//Here's some code to test alpha blending...
+//Well whaddya know, it works. :-)
+       someAlphaSurface = SDL_CreateRGBSurface(SDL_SWSURFACE, 30, 30, 32,
+               MASK_R, MASK_G, MASK_B, MASK_A);
+
+       for(int i=0; i<30; i++)
+       {
+               for(int j=0; j<30; j++)
+               {
+                       uint32 color = (uint32)(((double)(i * j) / (29.0 * 29.0)) * 255.0);
+                       color = (color << 24) | 0x00FF00FF;
+                       ((uint32 *)someAlphaSurface->pixels)[(j * 30) + i] = color;
+               }
+       }
+//End test code
+#endif
+
+       WriteLog("Video: Successfully initialized.\n");
+       return true;
+}
+
+//
+// Free various SDL components
+//
+void VideoDone(void)
+{
+       if (settings.useOpenGL)
+               sdlemu_close_opengl();
+
+       SDL_JoystickClose(joystick);
+       SDL_FreeSurface(surface);
+       SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER);
+       SDL_Quit();
+}
+
+//
+// Render the screen buffer to the primary screen surface
+//
+//void RenderBackbuffer(void)
+void RenderScreenBuffer(void)
+{
+//WriteLog("Video: Blitting a %u x %u surface to the main surface...\n", surface->w, surface->h);
+//Don't need this crapola--why have a separate buffer just to copy it to THIS
+//buffer in order to copy it to the main screen? That's what *I* thought!
+/*     if (SDL_MUSTLOCK(surface))
+               while (SDL_LockSurface(surface) < 0)
+                       SDL_Delay(10);
+
+       memcpy(surface->pixels, scrBuffer, VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT * sizeof(uint32));
+
+       if (SDL_MUSTLOCK(surface))
+               SDL_UnlockSurface(surface);//*/
+#ifdef TEST_ALPHA_BLENDING
+SDL_Rect dstRect = { 100, 100, 30, 30 };
+SDL_BlitSurface(someAlphaSurface, NULL, surface, &dstRect);
+#endif
+
+       if (settings.useOpenGL)
+               sdlemu_draw_texture(mainSurface, surface, 1/*1=GL_QUADS*/);
+       else
+       {
+//             SDL_Rect rect = { 0, 0, surface->w, surface->h };
+//             SDL_BlitSurface(surface, &rect, mainSurface, &rect);
+               SDL_BlitSurface(surface, NULL, mainSurface, NULL);
+               SDL_Flip(mainSurface);
+    }
+}
+
+/*
+//
+// Resize the main SDL screen & scrBuffer
+//
+void ResizeScreen(uint32 width, uint32 height)
+{
+       char window_title[256];
+
+       SDL_FreeSurface(surface);
+       surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 16,
+               0x7C00, 0x03E0, 0x001F, 0);
+
+       if (surface == NULL)
+       {
+               WriteLog("Video: Could not create primary SDL surface: %s", SDL_GetError());
+               exit(1);
+       }
+
+       if (settings.useOpenGL)
+               // This seems to work well for resizing (i.e., changes in the pixel width)...
+               sdlemu_resize_texture(surface, mainSurface, settings.glFilter);
+       else
+       {
+               mainSurface = SDL_SetVideoMode(width, height, 16, mainSurfaceFlags);
+
+               if (mainSurface == NULL)
+               {
+                       WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError());
+                       exit(1);
+               }
+       }
+
+       sWriteLog(window_title, "Virtual Jaguar (%i x %i)", (int)width, (int)height);
+       SDL_WM_SetCaption(window_title, window_title);
+
+       // This seems to work well for resizing (i.e., changes in the pixel width)...
+//     if (settings.useOpenGL)
+//             sdlemu_resize_texture(surface, mainSurface);
+}*/
+
+/*
+//
+// Fullscreen <-> window switching
+//
+//NOTE: This does *NOT* work with OpenGL rendering! !!! FIX !!!
+void ToggleFullscreen(void)
+{
+       settings.fullscreen = !settings.fullscreen;
+       mainSurfaceFlags &= ~SDL_FULLSCREEN;
+
+       if (settings.fullscreen)
+               mainSurfaceFlags |= SDL_FULLSCREEN;
+
+       if (!settings.useOpenGL)
+               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);
+       else
+//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH * 2, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);
+//             mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT * 2, 32, mainSurfaceFlags);
+               mainSurface = SDL_SetVideoMode(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT, 32, mainSurfaceFlags);
+//     mainSurface = SDL_SetVideoMode(tom_width, tom_height, 16, mainSurfaceFlags);
+
+       if (mainSurface == NULL)
+       {
+               WriteLog("Video: SDL is unable to set the video mode: %s\n", SDL_GetError());
+               exit(1);
+       }
+
+       SDL_WM_SetCaption("Apple 2 SDL", "Apple 2 SDL");
+}
+//*/
index ca5fb1b8389259ce5837261b475cccf2b0839791..63716d42b74ab8dbffe2d90da1afc46ed2981a37 100755 (executable)
@@ -1,30 +1,30 @@
-//\r
-// VIDEO.H: Header file\r
-//\r
-\r
-#ifndef __VIDEO_H__\r
-#define __VIDEO_H__\r
-\r
-#include <SDL.h>                                                       // For SDL_Surface\r
-#include "types.h"                                                     // For uint32\r
-\r
-//#define VIRTUAL_SCREEN_WIDTH         280\r
-#define VIRTUAL_SCREEN_WIDTH           560\r
-//#define VIRTUAL_SCREEN_HEIGHT                192\r
-#define VIRTUAL_SCREEN_HEIGHT          384\r
-\r
-bool InitVideo(void);\r
-void VideoDone(void);\r
-//void RenderBackbuffer(void);\r
-void RenderScreenBuffer(void);\r
-//void ResizeScreen(uint32 width, uint32 height);\r
-//uint32 GetSDLScreenPitch(void);\r
-//void ToggleFullscreen(void);\r
-\r
-// Exported crap\r
-\r
-//extern uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT];\r
-extern uint32 * scrBuffer;\r
-extern SDL_Surface * surface;\r
-\r
-#endif // __VIDEO_H__\r
+//
+// VIDEO.H: Header file
+//
+
+#ifndef __VIDEO_H__
+#define __VIDEO_H__
+
+#include <SDL.h>                                                       // For SDL_Surface
+#include "types.h"                                                     // For uint32
+
+//#define VIRTUAL_SCREEN_WIDTH         280
+#define VIRTUAL_SCREEN_WIDTH           560
+//#define VIRTUAL_SCREEN_HEIGHT                192
+#define VIRTUAL_SCREEN_HEIGHT          384
+
+bool InitVideo(void);
+void VideoDone(void);
+//void RenderBackbuffer(void);
+void RenderScreenBuffer(void);
+//void ResizeScreen(uint32 width, uint32 height);
+//uint32 GetSDLScreenPitch(void);
+//void ToggleFullscreen(void);
+
+// Exported crap
+
+//extern uint32 scrBuffer[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT];
+extern uint32 * scrBuffer;
+extern SDL_Surface * surface;
+
+#endif // __VIDEO_H__